codex@macbookpro
·
2026-04-01
README.md
1# bugs
2
3当前目录主要保留 open bug、open missing、open opt 和模板。已关闭或已完成的问题文档归档在 `archive/` 子目录。
4
5## 目录结构
6
7```
8bugs/
9 README.md ← 本文件
10 BUG-TEMPLATE.md ← 新 bug 模板
11 archive/ ← 已关闭或已完成的 BUG-*.md、FIX-*.md、MISSING-*.md、OPT-*.md
12```
13
14## 待跟进
15
16当前没有 open bug。
17
18当前没有 open opt。
19
20本轮已完成并归档:
21
22- `OPT-003`:[`archive/OPT-003-policy-configurable.md`](./archive/OPT-003-policy-configurable.md)
23- `OPT-004`:[`archive/OPT-004-final-message-claude-sse-fallback.md`](./archive/OPT-004-final-message-claude-sse-fallback.md)
24- `OPT-005`:[`archive/OPT-005-normalize-parse-error-isolation.md`](./archive/OPT-005-normalize-parse-error-isolation.md)
25- `OPT-008`:[`archive/OPT-008-timed-jobs-async-log-writes.md`](./archive/OPT-008-timed-jobs-async-log-writes.md)
26- `OPT-009`:[`archive/OPT-009-renewal-duplicate-utility-functions.md`](./archive/OPT-009-renewal-duplicate-utility-functions.md)
27
28## 已归档(archive/)
29
30| ID | 状态 | 一句话 |
31|---|---|---|
32| BUG-008 | FIXED | codexd 第二个 session turn 超时 |
33| BUG-009 | FIXED | 测试遗留 HTTP listener 挂起 |
34| BUG-010 | FIXED | codexd turn 状态卡在 inProgress |
35| BUG-011 | FIXED | writeHttpResponse drain handler 永久挂起 |
36| BUG-012 | FIXED | browser-request-policy waiter 死锁 |
37| BUG-013 | FIXED | stream session timer 未清除 |
38| BUG-014 | FIXED | ws_reconnect 过早报 completed |
39| BUG-015 | CLOSED | SSE 实现已存在,误报 |
40| BUG-016 | CLOSED | headers 透传已存在,误报 |
41| BUG-017 | FIXED | buffered SSE 返回原始文本 |
42| BUG-018 | FIXED | preflight denied 不再拖死整批合法指令 |
43| BUG-019 | FIXED | 未闭合 baa block 不再让整条消息失败 |
44| BUG-020 | FIXED | in-memory deduper 已增加上限与淘汰 |
45| BUG-021 | FIXED | buffered SSE full_text 只保留文本 |
46| BUG-022 | FIXED | Claude final-message relay 已补齐 |
47| BUG-023 | FIXED | Claude live tab 的 final-message 捕获与重注入已恢复 |
48| BUG-024 | FIXED | ChatGPT stale final-message replay 已被抑制 |
49| BUG-025 | FIXED | delivery 已优先路由到业务页,不再默认落到 shell 页 |
50| BUG-026 | FIXED | repo 根路径现在会正确 fallback 到默认 `log.html` |
51| BUG-027 | FIXED | 插件启动期诊断事件现在会在 WS open 后缓冲补发 |
52| BUG-028 | FIXED | Gemini shell final-message 现在会过滤协议碎片并保留可读 assistant 文本 |
53| BUG-029 | FIXED | 已停用 conversation link 不会再被远端对话查询命中 |
54| BUG-030 | FIXED | `targetId` 匹配现在绝对优先于弱信号叠加 |
55| BUG-031 | FIXED | renewal link 扫描不再静默截断,超限会显式告警并改用更稳的选择路径 |
56| BUG-032 | FIXED | dispatcher 成功后现在会回写 cooldownUntil,避免同一对话连续续命 |
57| BUG-033 | FIXED | renewal 相关 UPSERT 现在会保留原始 created_at |
58| BUG-034 | FIXED | projector route unavailable 现在会记录具体 skip 原因 |
59| BUG-035 | FIXED | `remote_conversation_id = NULL` 的 link 现在会按 route/page identity 收敛为唯一 canonical row |
60| BUG-036 | FIXED | projector cursor 和 `system_state.updated_at` 现在统一为毫秒口径,并兼容 legacy 秒值恢复 |
61| OPT-003 | FIXED | BAA instruction policy 现在已支持默认配置与自定义 allowlist |
62| OPT-004 | FIXED | Claude final-message 现在已补更稳的 SSE fallback |
63| OPT-005 | FIXED | BAA normalize / parse 现在按 block 做错误隔离 |
64| OPT-008 | FIXED | timed-jobs JSONL 日志现在已改为异步写入 |
65| OPT-009 | FIXED | renewal 公共 helper 已收口到统一 `utils` |
66| MISSING-001 | FIXED | 执行结果已经接到 AI 对话 delivery 主链 |
67| MISSING-002 | FIXED | 插件侧 delivery plan 执行器已落地 |
68| MISSING-003 | FIXED | Phase 1 已补齐 browser.claude target |
69| OPT-002 | FIXED | conductor 执行链路现在已有统一超时保护 |
70| OPT-001 | — | action_result 命名风格等代码质量建议 |
71| OPT-006 | CLOSED | 已关闭:新方案(Artifact 静态服务)决定数据永不过期,不需要自动清理 |
72
73详细的代码核对结论和剩余风险说明见 `archive/` 下的 `BUG-*`、`FIX-BUG-*`、`MISSING-*` 和 `OPT-*` 文档。
74
75## 编号规则
76
77- BUG-XXX:bug 报告
78- FIX-BUG-XXX:对应修复任务卡
79- MISSING-XXX:当时代码缺口记录
80- OPT-XXX:优化建议(非紧急)
81- 编号按发现顺序递增,不复用