baa-conductor


baa-conductor / bugs / archive
codex@macbookpro  ·  2026-03-30

FIX-BUG-030.md

 1# FIX-BUG-030: targetId 强信号优先于弱信号叠加
 2
 3## 执行状态
 4
 5- 已完成(2026-03-30,代码 + 自动化验证已落地)
 6
 7## 关联 Bug
 8
 9BUG-030-score-conversation-link-weak-signals-beat-strong.md
10
11## 实际修改文件
12
13- `apps/conductor-daemon/src/renewal/conversations.ts`
14- `apps/conductor-daemon/src/index.test.js`
15- `bugs/README.md`
16- `bugs/archive/README.md`
17
18## 实际修改
19
20-`resolveExistingConversationLink` 的候选比较从单个累计分数改为分层比较:
21  - 先看是否命中 `targetId`
22  - 只有在 `targetId` 同层时,才比较 `pageUrl`、`routePath`、`pageTitle` 的弱信号分数
23  - 若仍然持平,再用 `observedAt` 作为最终 tie-breaker
24- 保留原有弱信号权重,但它们不再能叠加压过 `targetId`
25- 新增回归测试,覆盖多 tab 场景下:
26  - 目标 tab 只命中 `targetId`
27  - 非目标 tab 命中 `pageUrl + routePath + pageTitle`
28  - 最终仍必须选中 `targetId` 对应的 link,并停用冲突 link
29
30## 验收标准
31
321. `targetId` 匹配在对话关联解析中具有绝对优先级
332. 多 tab 场景下不会因 `pageUrl` / `routePath` / `pageTitle` 叠加而选错 link
343. `pnpm -C /Users/george/code/baa-conductor/worktrees/bug-030-targetid-priority/apps/conductor-daemon test` 通过(`72/72`)