baa-conductor

git clone 

baa-conductor / plans
codex@macbookpro  ·  2026-04-01

STATUS_SUMMARY.md

  1# 全局状态汇总
  2
  3## 当前时间
  4
  5- `2026-04-01`
  6
  7## 当前代码基线
  8
  9- 当前主分支:`main@943b477`
 10- canonical local API:`http://100.71.210.78:4317`
 11- canonical public host:`https://conductor.makefile.so`
 12- 活跃任务文档和近期刚完成的任务文档保留在 `tasks/` 根目录;较早已完成任务归档到 [`../tasks/archive/README.md`](../tasks/archive/README.md)
 13
 14## 当前已经跑通的主链
 15
 16- Artifact 静态服务已经完成:
 17  - 本地 SQLite + D1 异步同步
 18  - `/artifact/` HTTP serve
 19  - recent sessions 入口
 20  - stagit 仓库浏览
 21- 插件诊断日志链路已经完成:
 22  - 插件 → WS → conductor → `logs/baa-plugin/YYYY-MM-DD.jsonl`
 23  - `browser.final_message` ingest → `logs/baa-ingest/YYYY-MM-DD.jsonl`
 24- Firefox 插件已经具备 page-context `browser/request` 代理能力
 25- ChatGPT / Claude / Gemini 都已经接入 `browser.final_message` raw relay
 26- ChatGPT 新对话 / 新回复的 stale final-message replay 已抑制
 27- ChatGPT SSE abort 修复和插件重载自动刷新页面已经合入 `main`
 28- conductor 已具备 BAA Phase 1:
 29  - `@conductor`
 30  - `@system`
 31  - `@browser.claude`
 32  - `@browser.chatgpt`
 33  - `@browser.gemini`
 34- delivery 当前已经是 proxy-first:
 35  - conductor 记录最近观察到的业务页 route
 36  - 优先派发 `browser.proxy_delivery`
 37  - DOM `inject / send` 仅作为 fallback
 38- 页面右下角控制浮层与页面级暂停控制已完成,任务 `T-S037` 已归档
 39- 定时任务 + 续命主线已经完成:
 40  - 存储层已覆盖本地对话、对话关联、续命任务和消息投影
 41  - 对话自动化状态已支持 `manual / auto / paused`
 42  - timed-jobs runtime 已具备独立调度和 JSONL 外部日志
 43  - renewal projector / dispatcher 和最小 `/v1/renewal/*` 运维读接口已合入主线
 44- 近期这条主线的收口项也已完成:
 45  - 插件启动期诊断事件会在 WS open 后缓冲补发
 46  - Gemini shell final-message 现在会过滤协议碎片并保留可读 assistant 文本
 47  - renewal link 扫描不再静默截断,route unavailable 会记录具体 skip 原因
 48  - `system_state.updated_at` 与 projector cursor 已统一为毫秒口径
 49  - conductor 执行链路已补统一超时保护
 50  - renewal dispatcher 已支持 inter-job jitter 和 retry jitter
 51  - BAA normalize / parse 现在按 block 做错误隔离,单个坏 block 不再中断整批合法指令
 52  - timed-jobs JSONL 日志现在已改为异步写入,减少 tick 周期内的同步 IO 阻塞
 53  - browser request 风控状态现在会持久化到 `artifact.db`,重启后会恢复限流/退避/熔断窗口,并回收遗留执行锁与 `running` renewal job
 54  - `proxy_delivery` 结果现在会异步补齐 Level 1 下游 HTTP 状态码;renewal dispatcher 仅在 `200` 时标记 `done`,`429/5xx` 改为 `retry`
 55  - ChatGPT send template 现在会持久化到插件本地缓存;controller 重载后会恢复最近模板,renewal dispatcher 对模板缺失改为 5s 起步短延迟 retry,并显式记录冷启动/预热完成日志
 56  - Gemini send template 现在会按 shell / conversation 持久化到插件本地缓存;controller 重载后会恢复最近模板,`browser.proxy_delivery` 与 `/v1/browser/request` 都会优先匹配 Gemini 专用 raw relay builder
 57
 58## 当前已纠正的文档/代码不一致
 59
 60- `T-S037` 之前仍作为 active task 留在根目录,但代码已经合入;现在已归档
 61- `BAA_INSTRUCTION_SYSTEM.md` 现在只保留当前正式合同;未来目标已拆到 `BAA_INSTRUCTION_ROADMAP.md`
 62- `BAA_PLUGIN_DELIVERY_HARDENING_REQUIREMENTS.md` 已移到 `archive/`,不再停留在根目录制造“仍是当前主线”的错觉
 63- `BUG-024` / `BUG-025` 已完成并归档,不再作为 open blocker 挂在 backlog
 64- `BUG-026` 已随 `98db481` 修复并归档,不再作为 open blocker 挂在 backlog
 65- `BUG-029` 已随 `625f808` 修复并归档,不再作为 open blocker 挂在 backlog
 66- `BUG-027`、`BUG-028`、`BUG-031`、`BUG-032`、`BUG-033`、`BUG-034`、`BUG-036` 已全部收口并归档,旧汇总中的 open 状态已改正
 67- `T-S048`、`T-S049` 已分别随 `7d8b4ce`、`57958a9` 合入 `main`,旧汇总仍把它们列为“下一波任务”;现统一改正
 68- `T-S055`~`T-S059` 已全部完成并合入 `main`,不再继续作为“下一波主线”
 69- `OPT-002`、`OPT-007` 已分别随 `889f746`、`b8d69c8` 合入 `main`,旧汇总中的 open 状态已改正
 70- `T-BUG-029` / `T-BUG-031` 的任务卡已完成,但旧汇总文档仍把它们写成 pending manual verification;现统一改为“建议补做浏览器复核”
 71- Artifact 静态服务已经完成,不再把它写成“下一阶段主线”
 72
 73## 当前最高优先级
 74
 75**当前下一波任务:**
 76
 771. `T-S065`:policy 配置化
 782. `OPT-004`:Claude final-message 更稳 fallback
 793. `OPT-009`:renewal 模块重复工具函数抽取
 80
 81**并行优化项:**
 82
 831. `T-S065`
 84   让 policy 白名单配置化,为后续 automation control 指令扩面铺路
 852. `OPT-004`
 86   为 Claude final-message 增加更稳的 SSE fallback
 873. `OPT-009`
 88   renewal 模块重复工具函数抽取,减少重复逻辑
 89
 90**已关闭的优化项:**
 91
 92- ~~`OPT-006` 给 execution persistence 表加自动清理~~ → 已关闭。新方案决定所有数据永不过期,不需要自动清理。
 93
 94说明:
 95
 96- 当前 open bug 见 [`../bugs/README.md`](../bugs/README.md)
 97- 当前没有 open `MISSING-*` blocker
 98- 其余 backlog 仍以 `OPT-*` 为主
 99
100## 当前活跃需求文档
101
102- [`./AUTOMATION_ARBITRATION_REQUIREMENTS.md`](./AUTOMATION_ARBITRATION_REQUIREMENTS.md)
103- [`./UNIFIED_OVERLAY_AUTOMATION_CONTROL.md`](./UNIFIED_OVERLAY_AUTOMATION_CONTROL.md)
104- [`./SYSTEM_LEVEL_PAUSE_REQUIREMENTS.md`](./SYSTEM_LEVEL_PAUSE_REQUIREMENTS.md)
105- [`./BAA_INSTRUCTION_SYSTEM.md`](./BAA_INSTRUCTION_SYSTEM.md)
106- [`./BAA_INSTRUCTION_ROADMAP.md`](./BAA_INSTRUCTION_ROADMAP.md)
107- [`./STATUS_SUMMARY.md`](./STATUS_SUMMARY.md)
108
109保留在根目录但不是当前主线目标的历史文档:
110
111- [`./NEXT_WAVE_REQUIREMENTS.md`](./NEXT_WAVE_REQUIREMENTS.md)(历史需求视图)
112- [`./TONIGHT_SPRINT.md`](./TONIGHT_SPRINT.md)(历史冲刺计划)
113- [`../HANDOFF.md`](../HANDOFF.md)(历史交接记录)
114- [`./BAA_ARTIFACT_DOWNLOAD_REQUIREMENTS.md`](./BAA_ARTIFACT_DOWNLOAD_REQUIREMENTS.md)
115- [`./ARTIFACT_STATIC_SERVICE.md`](./ARTIFACT_STATIC_SERVICE.md)(主线已完成,保留实现参考)
116
117## 当前主线判断
118
119Phase 1(浏览器主链)、Artifact 静态服务,以及 timed-jobs + 续命主线都已经完成。当前应把系统理解为:
120
121- 现有主链已经具备完整 artifact 持久化、静态访问和插件诊断能力
122- 已有本地对话/关联/续命任务、projector、dispatcher 和最小续命运维读接口
123- 当前主线已无 open bug blocker
124- `browser.chatgpt` / `browser.gemini` helper target 与 Gemini DOM delivery adapter 已在主线
125- 当前主要以 policy 配置化、Claude final-message fallback 和 renewal 代码卫生为主
126- 自动化仲裁、统一浮层控制、系统级暂停和重启后风控恢复都已完成
127
128之前的浏览器主链继续保持:
129
130- 入站:继续保留 `browser.final_message`
131- 真相源:由 conductor 记录 conversation / request / routing
132- 出站:优先走 browser request proxy
133- DOM `inject / send`:降为 fallback
134
135## 当前仍需关注
136
137- `Gemini` 已正式纳入 `/v1/browser/request` raw relay 支持面;如果后续需要把 `tab_open` / `tab_restore` 等 control-shell 合同也正式扩到 Gemini,建议另开独立任务
138- ChatGPT proxy send 虽已持久化最近模板并在冷启动时走短延迟 retry,但如果 controller 重载前本地没有任何可恢复模板,首批 job 仍需等待下一次真实 ChatGPT 发送完成预热
139- Claude 的 `organizationId` 当前仍依赖最近观测到的 org 上下文,不是完整的多页多 org 精确映射
140- `proxy_delivery` 当前已补齐 Level 1 HTTP 接受确认,但仍不是“下游 AI 已完整回复”;Level 3 仍依赖后续 final-message 链路
141- ChatGPT root message / mapping 结构如果后续变化,final-message 提取启发式仍需跟进
142- recent relay cache 是有限窗口;极老 replay 超出窗口后,仍会落回 conductor dedupe
143- `status-api` 继续保留为显式 opt-in 兼容层,不是当前删除重点
144- 以上几项风险现主要拆到 `T-S065`、`OPT-004`、`OPT-009` 跟踪;`T-S067`、`T-S068`、`T-S069` 已完成