- commit
- a027dc2
- parent
- ffda03b
- author
- codex@macbookpro
- date
- 2026-04-01 19:40:43 +0800 CST
docs: sync status after backlog closeout
13 files changed,
+49,
-41
+13,
-9
1@@ -1,6 +1,6 @@
2 # bugs
3
4-当前目录只保留 open bug、open missing、open opt 和模板。已关闭或已完成的问题文档归档在 `archive/` 子目录。
5+当前目录主要保留 open bug、open missing、open opt 和模板。已关闭或已完成的问题文档归档在 `archive/` 子目录。
6
7 ## 目录结构
8
9@@ -15,16 +15,15 @@ bugs/
10
11 当前没有 open bug。
12
13-当前 open opt:
14+当前没有 open opt。
15
16-- `OPT-004`:[`OPT-004-final-message-claude-sse-fallback.md`](./OPT-004-final-message-claude-sse-fallback.md)
17-- `OPT-009`:[`OPT-009-renewal-duplicate-utility-functions.md`](./OPT-009-renewal-duplicate-utility-functions.md)
18+本轮已完成并归档:
19
20-已转任务卡跟踪:
21-
22-- `OPT-005` → [`../tasks/T-S063.md`](../tasks/T-S063.md)
23-- `OPT-008` → [`../tasks/T-S064.md`](../tasks/T-S064.md)
24-- `OPT-003` → [`../tasks/T-S065.md`](../tasks/T-S065.md)
25+- `OPT-003`:[`archive/OPT-003-policy-configurable.md`](./archive/OPT-003-policy-configurable.md)
26+- `OPT-004`:[`archive/OPT-004-final-message-claude-sse-fallback.md`](./archive/OPT-004-final-message-claude-sse-fallback.md)
27+- `OPT-005`:[`archive/OPT-005-normalize-parse-error-isolation.md`](./archive/OPT-005-normalize-parse-error-isolation.md)
28+- `OPT-008`:[`archive/OPT-008-timed-jobs-async-log-writes.md`](./archive/OPT-008-timed-jobs-async-log-writes.md)
29+- `OPT-009`:[`archive/OPT-009-renewal-duplicate-utility-functions.md`](./archive/OPT-009-renewal-duplicate-utility-functions.md)
30
31 ## 已归档(archive/)
32
33@@ -59,6 +58,11 @@ bugs/
34 | BUG-034 | FIXED | projector route unavailable 现在会记录具体 skip 原因 |
35 | BUG-035 | FIXED | `remote_conversation_id = NULL` 的 link 现在会按 route/page identity 收敛为唯一 canonical row |
36 | BUG-036 | FIXED | projector cursor 和 `system_state.updated_at` 现在统一为毫秒口径,并兼容 legacy 秒值恢复 |
37+| OPT-003 | FIXED | BAA instruction policy 现在已支持默认配置与自定义 allowlist |
38+| OPT-004 | FIXED | Claude final-message 现在已补更稳的 SSE fallback |
39+| OPT-005 | FIXED | BAA normalize / parse 现在按 block 做错误隔离 |
40+| OPT-008 | FIXED | timed-jobs JSONL 日志现在已改为异步写入 |
41+| OPT-009 | FIXED | renewal 公共 helper 已收口到统一 `utils` |
42 | MISSING-001 | FIXED | 执行结果已经接到 AI 对话 delivery 主链 |
43 | MISSING-002 | FIXED | 插件侧 delivery plan 执行器已落地 |
44 | MISSING-003 | FIXED | Phase 1 已补齐 browser.claude target |
R bugs/OPT-003-policy-configurable.md =>
bugs/archive/OPT-003-policy-configurable.md
+0,
-0
R bugs/OPT-004-final-message-claude-sse-fallback.md =>
bugs/archive/OPT-004-final-message-claude-sse-fallback.md
+0,
-0
R bugs/OPT-005-normalize-parse-error-isolation.md =>
bugs/archive/OPT-005-normalize-parse-error-isolation.md
+0,
-0
R bugs/OPT-008-timed-jobs-async-log-writes.md =>
bugs/archive/OPT-008-timed-jobs-async-log-writes.md
+0,
-0
R bugs/OPT-009-renewal-duplicate-utility-functions.md =>
bugs/archive/OPT-009-renewal-duplicate-utility-functions.md
+0,
-0
+6,
-1
1@@ -3,7 +3,7 @@
2 本目录保留 `已关闭` 或 `已修复` 的 `BUG-*`、`FIX-BUG-*`、`MISSING-*` 和 `OPT-*` 文档。
3
4 - 归档时间:`2026-04-01`
5-- 最近新增归档:`BUG-027`、`BUG-028`、`BUG-029`、`BUG-030`、`BUG-031`、`BUG-032`、`BUG-033`、`BUG-034`、`BUG-035`、`BUG-036`、`OPT-002`
6+- 最近新增归档:`BUG-027`、`BUG-028`、`BUG-029`、`BUG-030`、`BUG-031`、`BUG-032`、`BUG-033`、`BUG-034`、`BUG-035`、`BUG-036`、`OPT-002`、`OPT-003`、`OPT-004`、`OPT-005`、`OPT-008`、`OPT-009`
7
8 最近归档的问题:
9
10@@ -27,3 +27,8 @@
11 - `BUG-035`:`remote_conversation_id = NULL` 的 conversation link 现在按 route/page identity 收敛为唯一 canonical row
12 - `BUG-036`:projector cursor 和 `system_state.updated_at` 现在统一为毫秒口径,并兼容 legacy 秒值恢复
13 - `OPT-002`:conductor 执行链路现在已有统一超时保护
14+- `OPT-003`:BAA instruction policy 现在已支持默认配置与自定义 allowlist
15+- `OPT-004`:Claude final-message 现在已补更稳的 SSE fallback
16+- `OPT-005`:BAA normalize / parse 现在按 block 做错误隔离
17+- `OPT-008`:timed-jobs JSONL 日志现在已改为异步写入
18+- `OPT-009`:renewal 公共 helper 已收口到统一 `utils`
+11,
-13
1@@ -6,7 +6,7 @@
2
3 ## 当前代码基线
4
5-- 当前主分支:`main@943b477`
6+- 当前主分支:`main@ffda03b`
7 - canonical local API:`http://100.71.210.78:4317`
8 - canonical public host:`https://conductor.makefile.so`
9 - 活跃任务文档和近期刚完成的任务文档保留在 `tasks/` 根目录;较早已完成任务归档到 [`../tasks/archive/README.md`](../tasks/archive/README.md)
10@@ -54,6 +54,9 @@
11 - `proxy_delivery` 结果现在会异步补齐 Level 1 下游 HTTP 状态码;renewal dispatcher 仅在 `200` 时标记 `done`,`429/5xx` 改为 `retry`
12 - ChatGPT send template 现在会持久化到插件本地缓存;controller 重载后会恢复最近模板,renewal dispatcher 对模板缺失改为 5s 起步短延迟 retry,并显式记录冷启动/预热完成日志
13 - Gemini send template 现在会按 shell / conversation 持久化到插件本地缓存;controller 重载后会恢复最近模板,`browser.proxy_delivery` 与 `/v1/browser/request` 都会优先匹配 Gemini 专用 raw relay builder
14+ - BAA instruction policy 现在已支持默认配置与自定义 allowlist,后续 automation control 指令扩面不再依赖硬编码集合
15+ - Claude final-message 现在已补更稳的 SSE fallback,主路径字段漂移时仍能回退到稳定提取
16+ - renewal 模块公共 helper 已收口到统一 `utils`,projector / dispatcher / automation 不再重复维护同类逻辑
17
18 ## 当前已纠正的文档/代码不一致
19
20@@ -74,18 +77,13 @@
21
22 **当前下一波任务:**
23
24-1. `T-S065`:policy 配置化
25-2. `OPT-004`:Claude final-message 更稳 fallback
26-3. `OPT-009`:renewal 模块重复工具函数抽取
27+当前没有待开始任务卡,也没有 open bug / open opt。
28+
29+如继续推进,建议先基于新需求、代码审查结果或低优先级看门狗重写方案重新拆任务。
30
31 **并行优化项:**
32
33-1. `T-S065`
34- 让 policy 白名单配置化,为后续 automation control 指令扩面铺路
35-2. `OPT-004`
36- 为 Claude final-message 增加更稳的 SSE fallback
37-3. `OPT-009`
38- renewal 模块重复工具函数抽取,减少重复逻辑
39+- 当前没有并行优化项
40
41 **已关闭的优化项:**
42
43@@ -122,8 +120,7 @@ Phase 1(浏览器主链)、Artifact 静态服务,以及 timed-jobs + 续
44 - 已有本地对话/关联/续命任务、projector、dispatcher 和最小续命运维读接口
45 - 当前主线已无 open bug blocker
46 - `browser.chatgpt` / `browser.gemini` helper target 与 Gemini DOM delivery adapter 已在主线
47-- 当前主要以 policy 配置化、Claude final-message fallback 和 renewal 代码卫生为主
48-- 自动化仲裁、统一浮层控制、系统级暂停和重启后风控恢复都已完成
49+- 当前这轮 backlog 已全部收口;自动化仲裁、统一浮层控制、系统级暂停、重启后风控恢复、delivery 可靠性增强和 policy 配置化均已完成
50
51 之前的浏览器主链继续保持:
52
53@@ -141,4 +138,5 @@ Phase 1(浏览器主链)、Artifact 静态服务,以及 timed-jobs + 续
54 - ChatGPT root message / mapping 结构如果后续变化,final-message 提取启发式仍需跟进
55 - recent relay cache 是有限窗口;极老 replay 超出窗口后,仍会落回 conductor dedupe
56 - `status-api` 继续保留为显式 opt-in 兼容层,不是当前删除重点
57-- 以上几项风险现主要拆到 `T-S065`、`OPT-004`、`OPT-009` 跟踪;`T-S067`、`T-S068`、`T-S069` 已完成
58+- 如果远端 Cloudflare D1 仍停留在旧 schema,需要先应用 [`../packages/d1-client/src/d1-setup.sql`](../packages/d1-client/src/d1-setup.sql) 的更新,才能完整镜像 `browser_request_policy_state` 和新增列
59+- `origin/feat/watchdog-logging` 仍是历史分支;如需继续看门狗方向,不应直接合并,而应从最新 `main` 重新实现
1@@ -9,7 +9,7 @@
2 - 关联文档:
3 - `bugs/BUG-034-projector-route-unavailable-missing-detail.md`
4 - `bugs/BUG-036-projector-cursor-updated-at-unit-mismatch.md`
5- - `bugs/OPT-009-renewal-duplicate-utility-functions.md`
6+ - `bugs/archive/OPT-009-renewal-duplicate-utility-functions.md`
7
8 ## 涉及文件
9
+1,
-1
1@@ -13,7 +13,7 @@
2
3 如需补背景,再读:
4
5-- `/Users/george/code/baa-conductor/bugs/OPT-005-normalize-parse-error-isolation.md`
6+- `/Users/george/code/baa-conductor/bugs/archive/OPT-005-normalize-parse-error-isolation.md`
7 - `/Users/george/code/baa-conductor/plans/STATUS_SUMMARY.md`
8
9 ## 当前基线
+1,
-1
1@@ -13,7 +13,7 @@
2
3 如需补背景,再读:
4
5-- `/Users/george/code/baa-conductor/bugs/OPT-008-timed-jobs-async-log-writes.md`
6+- `/Users/george/code/baa-conductor/bugs/archive/OPT-008-timed-jobs-async-log-writes.md`
7 - `/Users/george/code/baa-conductor/tasks/T-S057.md`
8
9 ## 当前基线
+1,
-1
1@@ -13,7 +13,7 @@
2
3 如需补背景,再读:
4
5-- `/Users/george/code/baa-conductor/bugs/OPT-003-policy-configurable.md`
6+- `/Users/george/code/baa-conductor/bugs/archive/OPT-003-policy-configurable.md`
7 - `/Users/george/code/baa-conductor/plans/BAA_INSTRUCTION_SYSTEM.md`
8 - `/Users/george/code/baa-conductor/plans/BAA_INSTRUCTION_ROADMAP.md`
9
+15,
-14
1@@ -3,7 +3,7 @@
2 ## 当前基线
3
4 - 日期:`2026-04-01`
5-- 主分支基线:`main@943b477`
6+- 主分支基线:`main@ffda03b`
7 - canonical local API:`http://100.71.210.78:4317`
8 - canonical public host:`https://conductor.makefile.so`
9 - 当前活跃任务卡和近期刚完成的任务卡保留在本目录;较早已完成任务归档到 [`./archive/README.md`](./archive/README.md)
10@@ -52,6 +52,9 @@
11 - `proxy_delivery` 结果现在会异步补齐 Level 1 下游 HTTP 状态码;renewal dispatcher 仅在 `200` 时标记 `done`,`429/5xx` 改为 `retry`
12 - ChatGPT send template 现在会持久化到插件本地缓存;controller 重载后会恢复最近模板,renewal dispatcher 对模板缺失改为 5s 起步短延迟 retry,并显式记录冷启动/预热完成日志
13 - Gemini send template 现在会按 shell / conversation 持久化到插件本地缓存;controller 重载后会恢复最近模板,`browser.proxy_delivery` 与 `/v1/browser/request` 都会优先匹配 Gemini 专用 raw relay builder
14+ - BAA instruction policy 现在已支持默认配置与自定义 allowlist,后续 automation control 指令扩面不再依赖硬编码集合
15+ - Claude final-message 现在已补更稳的 SSE fallback,主路径字段漂移时仍能回退到稳定提取
16+ - renewal 模块的公共 helper 已收口到统一 `utils`,projector / dispatcher / automation 不再重复维护同类逻辑
17
18 ## 当前已确认的不一致
19
20@@ -90,14 +93,13 @@
21 | [`T-S067`](./T-S067.md) | Gemini 正式接入 raw relay 支持面 | M | 无 | Codex | 已完成 |
22 | [`T-S068`](./T-S068.md) | ChatGPT proxy send 冷启动降级保护 | S | 无 | Codex | 已完成 |
23 | [`T-S069`](./T-S069.md) | proxy_delivery 成功语义增强 | L | T-S060 | Codex | 已完成 |
24+| [`T-S065`](./T-S065.md) | policy 配置化 | M | 无 | Codex | 已完成 |
25
26 ### 当前下一波任务
27
28-| 项目 | 标题 | 类型 | 状态 | 说明 |
29-|---|---|---|---|---|
30-| [`T-S065`](./T-S065.md) | policy 配置化 | task | 待开始 | 为自动化控制指令和后续扩面提供策略入口 |
31-| [`../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 协议变化的脆弱性 |
32-| [`../bugs/OPT-009-renewal-duplicate-utility-functions.md`](../bugs/OPT-009-renewal-duplicate-utility-functions.md) | renewal 工具函数去重 | opt | open | 收口重复逻辑,属于低风险代码卫生 |
33+当前没有待开始任务卡,也没有 open bug / open opt。
34+
35+如继续推进,建议先基于新的需求或 review 结果重新拆任务;`origin/feat/watchdog-logging` 仍是历史分支,不建议直接合并,应从最新 `main` 重新实现。
36
37 ### 已完成但保留作参考
38
39@@ -145,9 +147,7 @@
40
41 ### P1(并行优化)
42
43-- [`T-S065`](./T-S065.md)
44-- [`../bugs/OPT-004-final-message-claude-sse-fallback.md`](../bugs/OPT-004-final-message-claude-sse-fallback.md)
45-- [`../bugs/OPT-009-renewal-duplicate-utility-functions.md`](../bugs/OPT-009-renewal-duplicate-utility-functions.md)
46+- 当前没有 P1 backlog
47
48 ### 已关闭
49
50@@ -158,8 +158,7 @@
51 - open bug:
52 - 当前没有 open bug
53 - open opt:
54- - `OPT-004`
55- - `OPT-009`
56+ - 当前没有 open opt
57
58 完整索引见 [`../bugs/README.md`](../bugs/README.md)。
59
60@@ -182,10 +181,12 @@
61
62 ## 当前主线判断
63
64-Phase 1(浏览器主链)、Artifact 静态服务,以及 timed-jobs + 续命主线都已完成收口。`T-S060`、`T-S061`、`T-S062`、`T-S063`、`T-S064`、`T-S066`、`T-S067`、`T-S068`、`T-S069` 已经落地。当前主线已经没有 open bug blocker,下一步是:
65+Phase 1(浏览器主链)、Artifact 静态服务,以及 timed-jobs + 续命主线都已完成收口。`T-S060`、`T-S061`、`T-S062`、`T-S063`、`T-S064`、`T-S065`、`T-S066`、`T-S067`、`T-S068`、`T-S069` 已全部落地,当前主线已经没有 open bug blocker,也没有 open opt。
66+
67+如果继续推进,建议:
68
69-- 先做 `T-S065`
70-- `OPT-004`、`OPT-009` 继续保留为 open opt
71+- 先确认远端 Cloudflare D1 是否已应用 [`packages/d1-client/src/d1-setup.sql`](../packages/d1-client/src/d1-setup.sql) 的最新 schema,确保 `browser_request_policy_state` 和新增列能完整镜像
72+- 再根据新的产品需求、代码审查结论或 `origin/feat/watchdog-logging` 的重写意图重新拆任务
73
74 ## 现在该读什么
75