baa-conductor

git clone 

commit
64d122e
parent
b8d69c8
author
codex@macbookpro
date
2026-04-01 10:37:16 +0800 CST
docs: sync priorities after opt hardening
7 files changed,  +112, -70
M bugs/README.md
+3, -4
 1@@ -17,12 +17,10 @@ bugs/
 2 
 3 当前 open opt:
 4 
 5-- `OPT-002`:[`OPT-002-executor-timeout.md`](./OPT-002-executor-timeout.md)
 6-- `OPT-003`:[`OPT-003-policy-configurable.md`](./OPT-003-policy-configurable.md)
 7-- `OPT-004`:[`OPT-004-final-message-claude-sse-fallback.md`](./OPT-004-final-message-claude-sse-fallback.md)
 8 - `OPT-005`:[`OPT-005-normalize-parse-error-isolation.md`](./OPT-005-normalize-parse-error-isolation.md)
 9-- `OPT-007`:[`plans/OPT-007-DISPATCHER-JITTER.md`](../plans/OPT-007-DISPATCHER-JITTER.md) — renewal dispatcher 加入随机抖动避免限流
10 - `OPT-008`:[`OPT-008-timed-jobs-async-log-writes.md`](./OPT-008-timed-jobs-async-log-writes.md)
11+- `OPT-003`:[`OPT-003-policy-configurable.md`](./OPT-003-policy-configurable.md)
12+- `OPT-004`:[`OPT-004-final-message-claude-sse-fallback.md`](./OPT-004-final-message-claude-sse-fallback.md)
13 - `OPT-009`:[`OPT-009-renewal-duplicate-utility-functions.md`](./OPT-009-renewal-duplicate-utility-functions.md)
14 
15 ## 已归档(archive/)
16@@ -61,6 +59,7 @@ bugs/
17 | MISSING-001 | FIXED | 执行结果已经接到 AI 对话 delivery 主链 |
18 | MISSING-002 | FIXED | 插件侧 delivery plan 执行器已落地 |
19 | MISSING-003 | FIXED | Phase 1 已补齐 browser.claude target |
20+| OPT-002 | FIXED | conductor 执行链路现在已有统一超时保护 |
21 | OPT-001 | — | action_result 命名风格等代码质量建议 |
22 | OPT-006 | CLOSED | 已关闭:新方案(Artifact 静态服务)决定数据永不过期,不需要自动清理 |
23 
R bugs/OPT-002-executor-timeout.md => bugs/archive/OPT-002-executor-timeout.md
+7, -0
 1@@ -2,6 +2,7 @@
 2 
 3 > 提交者:Claude(代码审查)
 4 > 日期:2026-03-27
 5+> 状态:已完成,已合入 `main@889f746`
 6 
 7 ## 文件
 8 
 9@@ -14,3 +15,9 @@ executeBaaInstruction() 直接调 handleConductorHttpRequest 无超时。如果
10 ## 建议
11 
12 加 Promise.race 超时(默认 30s,exec 可配 60s)。或在 handleConductorHttpRequest 调用时传 AbortController。
13+
14+## 完成情况
15+
16+- 已为 conductor 执行链路补统一超时保护
17+- renewal dispatcher 和 browser proxy 相关执行路径已接入超时与明确错误传播
18+- 验证:`pnpm -C apps/conductor-daemon test`
M bugs/archive/README.md
+3, -2
 1@@ -2,8 +2,8 @@
 2 
 3 本目录保留 `已关闭` 或 `已修复` 的 `BUG-*`、`FIX-BUG-*`、`MISSING-*` 和 `OPT-*` 文档。
 4 
 5-- 归档时间:`2026-03-31`
 6-- 最近新增归档:`BUG-027`、`BUG-028`、`BUG-029`、`BUG-030`、`BUG-031`、`BUG-032`、`BUG-033`、`BUG-034`、`BUG-035`、`BUG-036`
 7+- 归档时间:`2026-04-01`
 8+- 最近新增归档:`BUG-027`、`BUG-028`、`BUG-029`、`BUG-030`、`BUG-031`、`BUG-032`、`BUG-033`、`BUG-034`、`BUG-035`、`BUG-036`、`OPT-002`
 9 
10 最近归档的问题:
11 
12@@ -26,3 +26,4 @@
13 - `BUG-034`:projector route unavailable 现在会记录具体 skip 原因
14 - `BUG-035`:`remote_conversation_id = NULL` 的 conversation link 现在按 route/page identity 收敛为唯一 canonical row
15 - `BUG-036`:projector cursor 和 `system_state.updated_at` 现在统一为毫秒口径,并兼容 legacy 秒值恢复
16+- `OPT-002`:conductor 执行链路现在已有统一超时保护
M plans/BAA_INSTRUCTION_ROADMAP.md
+22, -13
 1@@ -1,19 +1,21 @@
 2 # BAA 指令系统路线图
 3 
 4-日期:`2026-03-28`
 5+日期:`2026-04-01`
 6 
 7 > 这份文档只描述未来规划,不代表 `main` 当前正式合同。当前已生效的合同见 [`./BAA_INSTRUCTION_SYSTEM.md`](./BAA_INSTRUCTION_SYSTEM.md)。
 8 
 9 ## 状态
10 
11 - `路线图 / 未来规划`
12-- 当前基线:`main@3c85eaf`
13+- 当前基线:`main@b8d69c8`
14 
15 ## 关联文档
16 
17-- [`./ARTIFACT_STATIC_SERVICE.md`](./ARTIFACT_STATIC_SERVICE.md)(下一阶段主线)
18+- [`./ARTIFACT_STATIC_SERVICE.md`](./ARTIFACT_STATIC_SERVICE.md)(已完成主线,保留历史实现参考)
19 - [`./BAA_INSTRUCTION_SYSTEM.md`](./BAA_INSTRUCTION_SYSTEM.md)
20 - [`./AUTOMATION_ARBITRATION_REQUIREMENTS.md`](./AUTOMATION_ARBITRATION_REQUIREMENTS.md)
21+- [`./UNIFIED_OVERLAY_AUTOMATION_CONTROL.md`](./UNIFIED_OVERLAY_AUTOMATION_CONTROL.md)
22+- [`./SYSTEM_LEVEL_PAUSE_REQUIREMENTS.md`](./SYSTEM_LEVEL_PAUSE_REQUIREMENTS.md)
23 - [`./STATUS_SUMMARY.md`](./STATUS_SUMMARY.md)
24 - [`./archive/BAA_BROWSER_PROXY_DELIVERY_REQUIREMENTS.md`](./archive/BAA_BROWSER_PROXY_DELIVERY_REQUIREMENTS.md)
25 
26@@ -22,19 +24,28 @@
27 当前主线已经完成了:
28 
29 - `browser.final_message` ingress
30-- `@conductor` / `@system` / `@browser.claude`
31+- `@conductor` / `@system` / `@browser.claude` / `@browser.chatgpt` / `@browser.gemini`
32+- Artifact 静态服务
33+- timed-jobs + renewal 主线
34 - proxy-first delivery
35 
36-下一阶段主线是 **Artifact 静态服务**(详见 [`./ARTIFACT_STATIC_SERVICE.md`](./ARTIFACT_STATIC_SERVICE.md)):
37+当前近端方向改为两条:
38 
39-1. 所有消息和执行结果全量入库(本地 SQLite + D1 异步同步)
40-2. 生成 `.txt` + `.json` 静态文件,conductor HTTP serve `/artifact/`
41-3. 长结果截断摘要 + exact URL 回送
42-4. 跨会话接续(新 AI 可 fetch 历史 URL)
43+1. 继续收口剩余稳定性 / 维护性优化:
44+   - `OPT-005`
45+   - `OPT-008`
46+   - `OPT-003`
47+   - `OPT-004`
48+   - `OPT-009`
49+2. 把自动化控制面从需求文档推进到实现任务:
50+   - 自动化仲裁
51+   - 浮层统一控制
52+   - 系统级暂停
53+   - 自动熔断 / `pause_reason`
54 
55 之后的扩展顺序:
56 
57-1. 稳定性收尾(OPT-002 等)
58+1. 自动化控制面实现
59 2. 扩 target 面
60 3. 多节点 / 任务池 / 能力池
61 
62@@ -42,8 +53,6 @@
63 
64 未来计划支持但当前还未放开的 target:
65 
66-- `browser.chatgpt`
67-- `browser.gemini`
68 - `codex`
69 - `node.mini` / `node.mbp`
70 - `pool.*`
71@@ -51,7 +60,6 @@
72 
73 对应目标:
74 
75-- 把 `browser.chatgpt` / `browser.gemini` 做成正式 BAA target,而不只是 relay 来源
76 - 把 `codex` / `node.*` 从当前讨论状态升级成正式协议层
77 - 后续再引入 capability pool 和 role pool
78 
79@@ -63,6 +71,7 @@
80 - 让 proxy send 更少依赖最近观测到的真实发送模板
81 - 把成功语义从“请求已派发”推进到“下游 AI 已给出可观察回复”
82 - 完善多页、多 org、多会话的精确 route
83+- 让自动化仲裁、熔断和 pause/resume 控制接入同一套 routing / audit 面
84 
85 ## 4. 指令系统继续扩面
86 
M plans/BAA_INSTRUCTION_SYSTEM.md
+25, -11
 1@@ -1,13 +1,13 @@
 2 # BAA 指令系统(当前正式合同)
 3 
 4-日期:`2026-03-28`
 5+日期:`2026-04-01`
 6 
 7 > 这份文档只描述 `main` 当前已经成立的正式合同。未来目标、扩展 target 和远期编排,统一移到 [`./BAA_INSTRUCTION_ROADMAP.md`](./BAA_INSTRUCTION_ROADMAP.md)。
 8 
 9 ## 状态
10 
11 - `当前正式合同`
12-- 当前主分支:`main@8ef82d8`
13+- 当前主分支:`main@b8d69c8`
14 - canonical local API:`http://100.71.210.78:4317`
15 - canonical public host:`https://conductor.makefile.so`
16 
17@@ -81,9 +81,9 @@ git status
18 |---|---|---|
19 | `conductor` | 正式支持 | 本机 conductor API |
20 | `system` | 正式支持 | `conductor` 的别名视角 |
21-| `browser.claude` | 正式支持 | Phase 1 唯一已放开的 browser target |
22-| `browser.chatgpt` | 未放开 | 仍在路线图,不是当前正式 target |
23-| `browser.gemini` | 未放开 | 仍在路线图,不是当前正式 target |
24+| `browser.claude` | 正式支持 | 正式 browser target |
25+| `browser.chatgpt` | 正式支持 | 正式 browser target |
26+| `browser.gemini` | 正式支持 | 正式 browser target |
27 | `codex` / `node.*` / `pool.*` / `role.*` | 未放开 | 仍在路线图 |
28 
29 ## 4. 当前正式 tool 面
30@@ -102,9 +102,9 @@ git status
31 - `browser/status`
32 - `browser/actions`
33 
34-### 4.2 `@browser.claude`
35+### 4.2 `@browser.claude` / `@browser.chatgpt` / `@browser.gemini`
36 
37-当前 Phase 1 正式支持:
38+当前正式支持:
39 
40 - `send`
41 - `current`
42@@ -112,7 +112,10 @@ git status
43 说明:
44 
45 - `browser.request` 是浏览器桥接的底层正式能力
46-- 但对 AI 暴露成 BAA 指令时,当前只正式放开 `browser.claude`
47+- 但对 AI 暴露成 BAA 指令时,当前正式放开的 browser target 只有:
48+  - `browser.claude`
49+  - `browser.chatgpt`
50+  - `browser.gemini`
51 
52 ## 5. 当前 ingress / delivery 合同
53 
54@@ -124,7 +127,7 @@ git status
55 - `Claude`
56 - `Gemini`
57 
58-这表示它们都能把最终回复送进 conductor 的 ingest 主链;不表示它们都已经成为正式 BAA browser target。
59+这表示它们既能把最终回复送进 conductor 的 ingest 主链,也已经成为当前正式 BAA browser target。
60 
61 ### 5.2 delivery
62 
63@@ -150,7 +153,6 @@ git status
64 
65 下面这些不属于当前正式合同:
66 
67-- `browser.chatgpt` / `browser.gemini` 正式 BAA target
68 - upload / download / binary delivery
69 - artifact / manifest / upload receipt 方案
70 - 多客户端、多节点 orchestrator
71@@ -160,7 +162,7 @@ git status
72 
73 ## 7. 当前已知边界
74 
75-- `Gemini` 还不是 `/v1/browser/request` 的正式支持面
76+- `Gemini` 当前仍不是 `/v1/browser/request` 的正式 raw relay 支持面;`@browser.gemini` 走 helper / proxy mix
77 - ChatGPT proxy send 仍依赖最近捕获的真实发送模板;冷启动时可能退回 DOM fallback
78 - Claude 的 `organizationId` 仍依赖最近观测到的 org 上下文
79 - relay / dedupe / delivery 仍主要服务于单节点主线
80@@ -185,6 +187,18 @@ git status
81 @browser.claude::send::请总结上一轮执行结果
82 ```
83 
84+### ChatGPT browser target
85+
86+```baa
87+@browser.chatgpt::send::请总结上一轮执行结果
88+```
89+
90+### Gemini browser target
91+
92+```baa
93+@browser.gemini::send::请总结上一轮执行结果
94+```
95+
96 ## 9. 设计分层
97 
98 当前应按下面这组文档理解:
M plans/STATUS_SUMMARY.md
+27, -21
  1@@ -2,11 +2,11 @@
  2 
  3 ## 当前时间
  4 
  5-- `2026-03-31`
  6+- `2026-04-01`
  7 
  8 ## 当前代码基线
  9 
 10-- 当前主分支:`main@e89ee69`
 11+- 当前主分支:`main@b8d69c8`
 12 - canonical local API:`http://100.71.210.78:4317`
 13 - canonical public host:`https://conductor.makefile.so`
 14 - 活跃任务文档和近期刚完成的任务文档保留在 `tasks/` 根目录;较早已完成任务归档到 [`../tasks/archive/README.md`](../tasks/archive/README.md)
 15@@ -46,6 +46,8 @@
 16   - Gemini shell final-message 现在会过滤协议碎片并保留可读 assistant 文本
 17   - renewal link 扫描不再静默截断,route unavailable 会记录具体 skip 原因
 18   - `system_state.updated_at` 与 projector cursor 已统一为毫秒口径
 19+  - conductor 执行链路已补统一超时保护
 20+  - renewal dispatcher 已支持 inter-job jitter 和 retry jitter
 21 
 22 ## 当前已纠正的文档/代码不一致
 23 
 24@@ -58,6 +60,7 @@
 25 - `BUG-027`、`BUG-028`、`BUG-031`、`BUG-032`、`BUG-033`、`BUG-034`、`BUG-036` 已全部收口并归档,旧汇总中的 open 状态已改正
 26 - `T-S048`、`T-S049` 已分别随 `7d8b4ce`、`57958a9` 合入 `main`,旧汇总仍把它们列为“下一波任务”;现统一改正
 27 - `T-S055`~`T-S059` 已全部完成并合入 `main`,不再继续作为“下一波主线”
 28+- `OPT-002`、`OPT-007` 已分别随 `889f746`、`b8d69c8` 合入 `main`,旧汇总中的 open 状态已改正
 29 - `T-BUG-029` / `T-BUG-031` 的任务卡已完成,但旧汇总文档仍把它们写成 pending manual verification;现统一改为“建议补做浏览器复核”
 30 - Artifact 静态服务已经完成,不再把它写成“下一阶段主线”
 31 
 32@@ -65,30 +68,27 @@
 33 
 34 **当前下一波任务:**
 35 
 36-1. `OPT-002`:executor 超时保护
 37-2. `OPT-007`:renewal dispatcher 随机抖动
 38-3. `OPT-008`:timed-jobs 日志改异步写入
 39-4. `OPT-009`:renewal 模块重复工具函数抽取
 40+1. `OPT-005`:normalize / parse 错误隔离
 41+2. `OPT-008`:timed-jobs 日志改异步写入
 42+3. `OPT-003`:policy 配置化
 43+4. `OPT-004`:Claude final-message 更稳 fallback
 44+5. `OPT-009`:renewal 模块重复工具函数抽取
 45 
 46 并行需要持续关注:
 47 
 48-- `OPT-003`
 49+- 自动化仲裁 / 统一浮层控制 / 系统级暂停 这三份需求文档已定稿,但尚未拆成实现任务卡
 50 
 51 **并行优化项:**
 52 
 53-1. `OPT-002`
 54-   给 executor 加超时保护(与新方案不冲突,且新方案依赖 executor,加超时更安全)
 55-2. `OPT-003`
 56-   让 policy 白名单配置化
 57-3. `OPT-004`
 58-   为 Claude final-message 增加更稳的 SSE fallback
 59-4. `OPT-005`
 60+1. `OPT-005`
 61    让 normalize / parse 错误进一步隔离,不拖累整批指令
 62-5. `OPT-007`
 63-   renewal dispatcher 加入随机抖动避免限流([需求文档](./OPT-007-DISPATCHER-JITTER.md))
 64-6. `OPT-008`
 65+2. `OPT-008`
 66    timed-jobs 日志改异步写入,减少同步 IO 对事件循环的阻塞
 67-7. `OPT-009`
 68+3. `OPT-003`
 69+   让 policy 白名单配置化
 70+4. `OPT-004`
 71+   为 Claude final-message 增加更稳的 SSE fallback
 72+5. `OPT-009`
 73    renewal 模块重复工具函数抽取,减少重复逻辑
 74 
 75 **已关闭的优化项:**
 76@@ -103,14 +103,18 @@
 77 
 78 ## 当前活跃需求文档
 79 
 80-- [`./NEXT_WAVE_REQUIREMENTS.md`](./NEXT_WAVE_REQUIREMENTS.md)(当前下一波需求)
 81+- [`./AUTOMATION_ARBITRATION_REQUIREMENTS.md`](./AUTOMATION_ARBITRATION_REQUIREMENTS.md)
 82+- [`./UNIFIED_OVERLAY_AUTOMATION_CONTROL.md`](./UNIFIED_OVERLAY_AUTOMATION_CONTROL.md)
 83+- [`./SYSTEM_LEVEL_PAUSE_REQUIREMENTS.md`](./SYSTEM_LEVEL_PAUSE_REQUIREMENTS.md)
 84 - [`./BAA_INSTRUCTION_SYSTEM.md`](./BAA_INSTRUCTION_SYSTEM.md)
 85 - [`./BAA_INSTRUCTION_ROADMAP.md`](./BAA_INSTRUCTION_ROADMAP.md)
 86 - [`./STATUS_SUMMARY.md`](./STATUS_SUMMARY.md)
 87-- [`../HANDOFF.md`](../HANDOFF.md)
 88 
 89 保留在根目录但不是当前主线目标的历史文档:
 90 
 91+- [`./NEXT_WAVE_REQUIREMENTS.md`](./NEXT_WAVE_REQUIREMENTS.md)(历史需求视图)
 92+- [`./TONIGHT_SPRINT.md`](./TONIGHT_SPRINT.md)(历史冲刺计划)
 93+- [`../HANDOFF.md`](../HANDOFF.md)(历史交接记录)
 94 - [`./BAA_ARTIFACT_DOWNLOAD_REQUIREMENTS.md`](./BAA_ARTIFACT_DOWNLOAD_REQUIREMENTS.md)
 95 - [`./ARTIFACT_STATIC_SERVICE.md`](./ARTIFACT_STATIC_SERVICE.md)(主线已完成,保留实现参考)
 96 
 97@@ -122,7 +126,8 @@ Phase 1(浏览器主链)、Artifact 静态服务,以及 timed-jobs + 续
 98 - 已有本地对话/关联/续命任务、projector、dispatcher 和最小续命运维读接口
 99 - 当前主线已无 open bug blocker
100 - `browser.chatgpt` / `browser.gemini` helper target 与 Gemini DOM delivery adapter 已在主线
101-- 当前主要以 `OPT-*` 优化项和浏览器复核为主
102+- 当前主要以剩余 `OPT-*` 优化项为主
103+- 自动化仲裁、统一浮层控制、系统级暂停 这三条需求已完成文档定稿,但代码实现尚未拆 task
104 
105 之前的浏览器主链继续保持:
106 
107@@ -141,3 +146,4 @@ Phase 1(浏览器主链)、Artifact 静态服务,以及 timed-jobs + 续
108 - ChatGPT root message / mapping 结构如果后续变化,final-message 提取启发式仍需跟进
109 - recent relay cache 是有限窗口;极老 replay 超出窗口后,仍会落回 conductor dedupe
110 - `status-api` 继续保留为显式 opt-in 兼容层,不是当前删除重点
111+- 自动化仲裁、统一浮层控制、系统级暂停目前仍停留在需求文档阶段,尚未拆成实现任务卡
M tasks/TASK_OVERVIEW.md
+25, -19
  1@@ -2,8 +2,8 @@
  2 
  3 ## 当前基线
  4 
  5-- 日期:`2026-03-31`
  6-- 主分支基线:`main@e89ee69`
  7+- 日期:`2026-04-01`
  8+- 主分支基线:`main@b8d69c8`
  9 - canonical local API:`http://100.71.210.78:4317`
 10 - canonical public host:`https://conductor.makefile.so`
 11 - 当前活跃任务卡和近期刚完成的任务卡保留在本目录;较早已完成任务归档到 [`./archive/README.md`](./archive/README.md)
 12@@ -41,6 +41,8 @@
 13   - Gemini shell final-message 现在会过滤协议碎片并保留可读 assistant 文本
 14   - renewal link 扫描不再静默截断,route unavailable 会记录具体原因
 15   - `system_state.updated_at` 与 projector cursor 已统一为毫秒口径
 16+  - conductor 执行链路已补统一超时保护
 17+  - renewal dispatcher 已支持 inter-job jitter 和 retry jitter
 18 
 19 ## 当前已确认的不一致
 20 
 21@@ -55,6 +57,7 @@
 22 - `BUG-027`、`BUG-028`、`BUG-031`、`BUG-032`、`BUG-033`、`BUG-034`、`BUG-036` 已全部收口并归档,旧总览中的 open 状态已改正
 23 - `T-S048`、`T-S049` 已分别随 `7d8b4ce`、`57958a9` 合入 `main`,旧总览里仍写成 backlog;现统一改正
 24 - `T-S055`~`T-S059` 已全部完成并合入 `main`,旧总览中的 pending 状态已改正
 25+- `OPT-002`、`OPT-007` 已分别随 `889f746`、`b8d69c8` 合入 `main`,旧总览中的 open 状态已改正
 26 - `T-BUG-029`、`T-BUG-031` 的任务卡已是 `已完成`,但旧文档仍把它们写成 pending manual verification;现统一改为“建议补做浏览器复核”
 27 - Artifact 静态服务已经完成,不再把 `T-S039`~`T-S045` 写成“当前活跃主线”
 28 
 29@@ -74,10 +77,11 @@
 30 
 31 | 项目 | 标题 | 类型 | 状态 | 说明 |
 32 |---|---|---|---|---|
 33-| [`../bugs/OPT-002-executor-timeout.md`](../bugs/OPT-002-executor-timeout.md) | executor 超时保护 | opt | open | 仍建议优先收口,避免执行链路无限阻塞 |
 34-| [`../plans/OPT-007-DISPATCHER-JITTER.md`](../plans/OPT-007-DISPATCHER-JITTER.md) | renewal dispatcher 随机抖动 | opt | open | 限流缓冲与节奏分散 |
 35-| [`../bugs/OPT-008-timed-jobs-async-log-writes.md`](../bugs/OPT-008-timed-jobs-async-log-writes.md) | timed-jobs 异步日志写入 | opt | open | 低优先级性能卫生 |
 36-| [`../bugs/OPT-009-renewal-duplicate-utility-functions.md`](../bugs/OPT-009-renewal-duplicate-utility-functions.md) | renewal 工具函数去重 | opt | open | 低优先级代码卫生 |
 37+| [`../bugs/OPT-005-normalize-parse-error-isolation.md`](../bugs/OPT-005-normalize-parse-error-isolation.md) | normalize / parse 错误隔离 | opt | open | 避免单个坏 block 中断整批 BAA 指令 |
 38+| [`../bugs/OPT-008-timed-jobs-async-log-writes.md`](../bugs/OPT-008-timed-jobs-async-log-writes.md) | timed-jobs 异步日志写入 | opt | open | 减少同步日志 IO 对事件循环的阻塞 |
 39+| [`../bugs/OPT-003-policy-configurable.md`](../bugs/OPT-003-policy-configurable.md) | policy 配置化 | opt | open | 为后续 target / tool 扩面和自动化控制面铺路 |
 40+| [`../bugs/OPT-004-final-message-claude-sse-fallback.md`](../bugs/OPT-004-final-message-claude-sse-fallback.md) | Claude final-message SSE fallback | opt | open | 降低上游 SSE 协议变化的脆弱性 |
 41+| [`../bugs/OPT-009-renewal-duplicate-utility-functions.md`](../bugs/OPT-009-renewal-duplicate-utility-functions.md) | renewal 工具函数去重 | opt | open | 收口重复逻辑,属于低风险代码卫生 |
 42 
 43 ### 已完成但保留作参考
 44 
 45@@ -125,15 +129,13 @@
 46 
 47 ### P1(并行优化)
 48 
 49-- [`../bugs/OPT-002-executor-timeout.md`](../bugs/OPT-002-executor-timeout.md)
 50-- [`../plans/OPT-007-DISPATCHER-JITTER.md`](../plans/OPT-007-DISPATCHER-JITTER.md)
 51+- [`../bugs/OPT-005-normalize-parse-error-isolation.md`](../bugs/OPT-005-normalize-parse-error-isolation.md)
 52+- [`../bugs/OPT-008-timed-jobs-async-log-writes.md`](../bugs/OPT-008-timed-jobs-async-log-writes.md)
 53 
 54 ### P2(次级优化)
 55 
 56 - [`../bugs/OPT-003-policy-configurable.md`](../bugs/OPT-003-policy-configurable.md)
 57 - [`../bugs/OPT-004-final-message-claude-sse-fallback.md`](../bugs/OPT-004-final-message-claude-sse-fallback.md)
 58-- [`../bugs/OPT-005-normalize-parse-error-isolation.md`](../bugs/OPT-005-normalize-parse-error-isolation.md)
 59-- [`../bugs/OPT-008-timed-jobs-async-log-writes.md`](../bugs/OPT-008-timed-jobs-async-log-writes.md)
 60 - [`../bugs/OPT-009-renewal-duplicate-utility-functions.md`](../bugs/OPT-009-renewal-duplicate-utility-functions.md)
 61 
 62 ### 已关闭
 63@@ -145,26 +147,28 @@
 64 - open bug:
 65   - 当前没有 open bug
 66 - open opt:
 67-  - `OPT-002`
 68-  - `OPT-003`
 69-  - `OPT-004`
 70   - `OPT-005`
 71-  - `OPT-007`
 72   - `OPT-008`
 73+  - `OPT-003`
 74+  - `OPT-004`
 75   - `OPT-009`
 76 
 77 完整索引见 [`../bugs/README.md`](../bugs/README.md)。
 78 
 79 ## 当前活跃需求文档
 80 
 81-- [`../plans/NEXT_WAVE_REQUIREMENTS.md`](../plans/NEXT_WAVE_REQUIREMENTS.md)(当前下一波需求来源)
 82+- [`../plans/AUTOMATION_ARBITRATION_REQUIREMENTS.md`](../plans/AUTOMATION_ARBITRATION_REQUIREMENTS.md)
 83+- [`../plans/UNIFIED_OVERLAY_AUTOMATION_CONTROL.md`](../plans/UNIFIED_OVERLAY_AUTOMATION_CONTROL.md)
 84+- [`../plans/SYSTEM_LEVEL_PAUSE_REQUIREMENTS.md`](../plans/SYSTEM_LEVEL_PAUSE_REQUIREMENTS.md)
 85 - [`../plans/BAA_INSTRUCTION_SYSTEM.md`](../plans/BAA_INSTRUCTION_SYSTEM.md)
 86 - [`../plans/BAA_INSTRUCTION_ROADMAP.md`](../plans/BAA_INSTRUCTION_ROADMAP.md)
 87 - [`../plans/STATUS_SUMMARY.md`](../plans/STATUS_SUMMARY.md)
 88-- [`../HANDOFF.md`](../HANDOFF.md)
 89 
 90 保留在根目录但不再作为当前主线目标的历史文档:
 91 
 92+- [`../plans/NEXT_WAVE_REQUIREMENTS.md`](../plans/NEXT_WAVE_REQUIREMENTS.md):历史需求视图
 93+- [`../HANDOFF.md`](../HANDOFF.md):历史交接记录
 94+- [`../plans/TONIGHT_SPRINT.md`](../plans/TONIGHT_SPRINT.md):历史冲刺计划
 95 - [`../plans/BAA_ARTIFACT_DOWNLOAD_REQUIREMENTS.md`](../plans/BAA_ARTIFACT_DOWNLOAD_REQUIREMENTS.md):已废弃,保留历史决策说明
 96 - [`../plans/ARTIFACT_STATIC_SERVICE.md`](../plans/ARTIFACT_STATIC_SERVICE.md):主线已完成,保留实现与验收参考
 97 
 98@@ -172,9 +176,11 @@
 99 
100 Phase 1(浏览器主链)、Artifact 静态服务,以及 timed-jobs + 续命主线都已完成收口。当前主线已经没有 open bug blocker,下一步是:
101 
102-- 优先收口 `OPT-002`
103-- 并行推进 `OPT-007`
104-- 视情况收口 `OPT-008`、`OPT-009`
105+- 优先收口 `OPT-005`
106+- 并行推进 `OPT-008`
107+- 再处理 `OPT-003`、`OPT-004`
108+- 最后做 `OPT-009`
109+- 自动化仲裁 / 统一浮层控制 / 系统级暂停 需求已经定稿,下一步应拆成独立实现任务卡
110 
111 ## 现在该读什么
112