# OpenClaw Capability Backlog 本文件用于持续沉淀 OpenClaw 在 `llm-intelligence` 项目推进和自我优化过程中暴露出的能力缺口。 记录原则: - 只写真实 review 暴露的问题 - 每个问题都要说明影响 - 每个建议都要可执行、可验证 --- ## 当前未修复问题速查表(截至 2026-05-20 21:30) | # | 问题 | 优先级 | 首次暴露 | 修复状态 | 影响次数 | |---|------|--------|----------|----------|----------| | 1 | 验证器退出码设计 | P0 | 05-07 22:50 | ⚠️ 部分(`rg` 误报已消除,但三级状态仍未实现) | 11 次 | | 2 | session 历史工具/业务错误区分 | P1 | 05-07 22:50 | ❌ 未修复 | 12 次 | | 3 | cron 无主动状态报告机制 | P1 | 05-07 22:50 | ❌ 未修复 | 12 次 | | 4 | subagent spawn 未传递 workspace | P1 | 05-07 22:50 | ❌ 未修复 | 12 次 | | 5 | 验收脚本无法检测构建 | P1 | 05-08 09:05 | ❌ 未修复 | 11 次 | | 6 | 环境变量/API Key 缺失未自动检测 | P1 | 05-08 09:05 | ⚠️ 部分(脚本已有分类,但 review prompt 仍未强制把前置条件失败与代码失败分层叙述) | 12 次 | | 7 | 文件修改后未触发 commit 提示 | P2→P1 | 05-08 09:05 | ❌ 未修复 | 14 次 | | 8 | cron review 无 delta 时空转 | P1 | 05-08 09:12 | ❌ 未修复 | 13 次 | | 9 | 验证模式伪进展(artifact_present 局限) | P1 | 05-08 14:30 | ❌ 未修复 | 10 次 | | 10 | 项目提交停滞(commit stagnation) | P0 | 05-08 21:30 | ⚠️ 重新活跃(工作区变更量已增至 19 文件 +933 行,核心组件改动未入版本控制) | 21 次 | | 11 | review 报告未触发修复动作 | P2→P1 | 05-08 21:30 | ❌ 未修复 | 10 次 | | 12 | BACKLOG 文件膨胀导致 review 成本递增 | P1 | 05-09 09:30 | ⚠️ 部分(已分层归档,但 current 表仍持续膨胀) | 8 次 | | 13 | untracked 核心代码未入版本控制 | P0 | 05-10 21:30 | ⚠️ 重新活跃(CoreHub 相关未跟踪代码已缓解,但仍有长期未治理的非业务 untracked 项) | 13 次 | | 14 | Phase 6+ 范围未定义 | P1 | 05-10 21:30 | ❌ 未修复 | 6 次 | | 15 | review 误报传播 | P1 | 05-11 14:30 | ❌ 未修复 | 10 次 | | 16 | untracked 文件统计遗漏 | P1 | 05-11 14:30 | ⚠️ 部分(本轮已更精确核对 git status,但能力未固化) | 6 次 | | 17 | 验收脚本瞬时回归缺少稳定性标记 | P1 | 05-12 22:46 | ⚠️ 部分(已有 precondition / collector / unknown 分类,但 release 语义仍不足) | 6 次 | | 18 | 无 delta 场景缺少老化风险优先策略 | P2 | 05-12 22:46 | ❌ 未修复 | 7 次 | | 19 | 综合验收错误聚合误导根因判断 | P1 | 05-13 00:15 | ❌ 未修复 | 5 次 | | 20 | snapshot truth 与 current truth 漂移未被显式提示 | P1 | 05-14 09:31 | ❌ 未修复 | 6 次 | | 21 | Phase 6 稳定性门禁失败缺少样本窗口摘要 | P1 | 05-14 15:10 | ✅ 已修复(当前输出已含 window_size / success_rate / 样本明细) | 5 次 | | 22 | Phase 6 稳定性门禁未区分前置条件缺失 vs 真实采集失败 | P1 | 05-14 21:30 | ⚠️ 部分(脚本已输出分类,但 review 与 release 解释层仍不足) | 8 次 | | 23 | 脚本型 Go 仓库缺少可测试入口发现能力 | P1 | 05-15 15:11 | ⚠️ 部分(本轮已优先使用仓库声明入口,但仍依赖 reviewer 主动判断) | 4 次 | | 24 | 长命令部分回传时缺少保守结论模板 | P1 | 05-15 21:31 | ⚠️ 部分(本轮通过 process 拿到完整输出,但策略尚未固化) | 2 次 | | 25 | backlog current truth 老化未自动撤销 | P2 | 05-16 09:30 | ❌ 未修复 | 2 次 | | 26 | 外部 provider 失败与主链路失败聚合过粗 | P1 | 05-16 09:30 | ❌ 未修复 | 6 次 | | 27 | 稳定性窗口虽已分类但缺 release 级解释语义 | P1 | 05-16 09:30 | ❌ 未修复 | 7 次 | | 28 | 新增导入器缺少进入综合验收前的 smoke gate | P0 | 05-16 15:10 | ✅ 已缓解(仓库已存在 `verify_importer_smoke.sh`,且持续通过) | 4 次 | | 29 | 同日 review blocker 切换缺少自动老化提醒 | P1 | 05-16 15:10 | ❌ 未修复 | 2 次 | | 30 | 历史 precondition 样本持续老化拖低 release 成功率 | P1 | 05-17 09:31 | ❌ 未修复 | 6 次 | | 31 | 同日无主结论 delta 时缺少风险老化优先策略 | P2 | 05-17 15:10 | ❌ 未修复 | 3 次 | | 32 | 同日 blocker 切换后 backlog current truth 缺少 freshness 提示 | P1 | 05-17 21:30 | ❌ 未修复 | 2 次 | | 33 | 已证伪 blocker 缺少自动降级/撤销机制 | P1 | 05-18 09:30 | ❌ 未修复 | 2 次 | | 34 | 局部 smoke 已通过后缺少全局 blocker 切换提示 | P1 | 05-18 15:10 | ❌ 未修复 | 1 次 | | 35 | smoke gate 测试脚本老化未跟上 runtime truth | P1 | 05-19 09:32 | ❌ 未修复 | 5 次 | | 36 | 稳定性窗口持续回落(85.71% → 71.43%) | P1 | 05-20 21:06 | ⚠️ 已回升(本轮窗口从 71.43% 回到 85.71%,precondition_missing 从 2 降回 1) | 2 次 | --- ## Review 日志 ### 2026-05-20 21:30(第 37 次 review,night-review cron) > **前置说明**:距上一次 review(05-20 21:06)约 **24 分钟**。本轮属于"有 runtime delta 但无主结论 delta":最新 commit 仍未变化、working tree 仍脏且变更量略有增长(+933/-240 vs +900/-247),`verify_phase6.sh` 的 live blocker 继续是 Perplexity 外部文档签名校验超时。关键 delta:稳定性窗口从 `71.43%` 回升到 `85.71%`,precondition_missing 从 2 降回 1。 #### 本次新增发现 - **稳定性窗口回升**:本轮 `verify_phase6.sh` 输出 `success_count=6 failure_count=1 success_rate=85.71`,较 21:06 的 71.43% 有所改善。原因是本轮 review 触发的新一次 verify 运行产生了最新成功样本(`2026-05-20 21:33:29`),滚动窗口替换掉一个旧失败样本。 - **当前 Phase 6 继续 FAIL,主 live blocker 未变化**:`live_run_result=FAIL` 仍由 `perplexity_pricing_signature_guard` 拉取 `https://docs.perplexity.ai/docs/agent-api/models.md` 超时触发。 - **新增导入器 smoke gate 继续通过**:`coreshub-fixture`、`coreshub-live`、`ctyun-fixture`、`ctyun-live` 全部 PASS。 - **工作区变更量略有增长**:+933/-240 行 vs 上轮 +900/-247 行,19 文件仍未提交。 - **smoke gate 测试脚本老化仍未消除**:`importer_smoke_gate_test.sh` 仍断言 ctyun live smoke 应失败,与 runtime 冲突持续(同问题 35)。 #### 问题 36 状态更新:稳定性窗口回升 - **21:30 状态**:窗口从 71.43% 回到 85.71%,与 05-19 各轮一致。21:06 的 71.43% 是短期波动而非持续恶化趋势。 - **问题影响**:窗口门禁仍 FAIL(85.71% < 95%),但不再恶化;precondition_missing 样本回到 1 个。 - **优化建议**:继续观察下轮是否稳定在 85.71% 或继续波动;若持续低于 95%,需考虑窗口策略调整(如排除 precondition_missing 类样本单独报告)。 - **优先级**:P1 - **建议验证方法**:下轮 review 观察窗口成功率是否稳定或继续波动。 #### 问题 10 持续活跃:项目提交停滞 - **21:30 状态**:工作区变更量从 +900 行增长到 +933 行,19 文件仍未提交。 - **问题影响**:同 21:06 review;versioned truth 与 runtime truth 持续漂移,且漂移量在增大。 - **优化建议**:同 21:06 review;尽快按逻辑拆分为 2~3 个 commit。 - **优先级**:P0 - **建议验证方法**:提交后检查 `git log --oneline` 出现新提交,`git diff --stat HEAD` 大幅收缩。 ### 2026-05-20 21:06(第 36 次 review,morning-review cron) > **前置说明**:距上一次 review(05-19 21:30)约 **23.5 小时**。本轮有 runtime delta:稳定性窗口从 `85.71%` 回落到 `71.43%`,新增一次 precondition_missing 失败样本。工作区变更量显著增大(19 文件、+900 行),涉及 CoreHub 导入器全套实现、天翼云订阅库扩展、日报生成器改进、验证脚本增强等,但全部未提交收敛。 #### 本次新增发现 - **稳定性窗口进一步回落**:`verify_phase6.sh` 输出 `success_count=5 failure_count=2 success_rate=71.43 threshold=95 precondition_missing=2`,相比上轮(6/7=85.71%)新增一次 precondition_missing 失败(`2026-05-20 08:00:01` 严格真实模式下未提供 API Key)。 - **工作区变更量显著增大**:`git diff --stat HEAD` 显示 19 文件、+900/-247 行变更,涉及 CoreHub 导入器(`coreshub_pricing_lib.go` +81、`import_coreshub_pricing.go` +88、`import_coreshub_pricing_test.go` +64、`coreshub_pricing_sample.txt` +10)、天翼云订阅库(`ctyun_subscription_lib.go` +201)、日报生成器(`generate_daily_report.go` +78/-)、验证脚本(`verify_phase6.sh` +115/-)等核心组件。 - **当前 Phase 6 继续 FAIL,主 live blocker 未变化**:`live_run_result=FAIL` 仍由 `perplexity_pricing_signature_guard` 外部超时触发。 - **新增导入器 smoke gate 继续通过**:`coreshub-fixture`、`coreshub-live`、`ctyun-fixture`、`ctyun-live` 全部 PASS。 - **smoke gate 测试脚本老化仍未消除**:`importer_smoke_gate_test.sh` 仍断言 ctyun live smoke 应失败,与 runtime 冲突持续。 #### 问题 10 重新活跃:项目提交停滞(commit stagnation) - **21:06 状态**:工作区变更量已从"长期轻度漂移"升级为"19 文件 +900 行实质性核心改动未提交"。 - **问题影响**: - 大量核心组件改动(CoreHub 导入器、天翼云订阅库、日报生成器、验证脚本)未入版本控制,一旦工作区丢失则无法恢复 - versioned truth 与 runtime truth 严重漂移,review/backlog 失真风险加剧 - 新导入器代码已具备测试和 fixture,但不属于任何 commit,无法追溯 - **优化建议**: 1. 尽快按逻辑拆分为 2~3 个 commit(如 CoreHub 导入器、天翼云订阅库扩展、日报/验证改进) 2. 在 review prompt 中增加"工作区变更量超过阈值时自动提升 commit 停滞优先级"的规则 3. 考虑在 cron review 中增加自动 commit 提醒或辅助 commit 功能 - **优先级**:P0 - **建议验证方法**:提交后检查 `git log --oneline` 出现新提交,`git diff --stat HEAD` 大幅收缩。 #### 问题 30 / 36 持续活跃:历史 precondition 样本持续老化 + 窗口回落 - **21:06 状态**:precondition_missing 样本从 1 增至 2,窗口成功率从 85.71% 降至 71.43%。 - **问题影响**: - 窗口门禁持续 FAIL,且失败样本在增长 - 若继续叠加 precondition_missing 样本,窗口成功率会进一步下降 - 历史纪律问题持续拖累 release 结论 - **优化建议**: 1. 考虑为稳定性窗口增加"新鲜度"权重,降低历史 precondition 样本的影响 2. 或者在窗口计算中排除 precondition_missing 类样本,单独报告环境纪律问题 - **优先级**:P1 - **建议验证方法**:观察下轮 review 窗口成功率是否继续回落;若持续下降则需调整窗口策略。 ### 2026-05-19 21:30(第 35 次 review,night-review) > **前置说明**:距上一次 review(05-19 15:10)约 **6 小时 20 分钟**。本轮属于"有现场变更但无主结论 delta":最新 commit 仍未变化、working tree 仍脏,`verify_phase6.sh` 的 live blocker 继续是 Perplexity 外部文档签名校验超时,稳定性窗口也继续停在 `85.71% FAIL`。 #### 本次新增发现 - **当前 Phase 6 继续 FAIL,主 live blocker 未变化**:`verify_phase6.sh` 再次完整输出 `PHASE_RESULT: FAIL`,其中 `live_run_result=FAIL` 仍由 `perplexity_pricing_signature_guard` 拉取 `https://docs.perplexity.ai/docs/agent-api/models.md` 超时触发。 - **新增导入器 smoke gate 继续不是当前 blocker**:`coreshub-fixture`、`coreshub-live`、`ctyun-fixture`、`ctyun-live` 全部通过,`importer_smoke_gate_result=PASS`。 - **稳定性窗口继续 FAIL,但失败仍不是采集器运行时失败**:最近 7 次样本维持 `success_count=6 failure_count=1 success_rate=85.71 threshold=95 precondition_missing=1 external_provider_failure=0 collector_runtime_failure=0 unknown_failure=0`,说明 release 结论仍持续受历史前置条件纪律影响。 - **测试脚本与 runtime truth 冲突仍未消除**:`scripts/importer_smoke_gate_test.sh` 依然断言"当前 live ctyun smoke 应失败",与本轮 `ctyun-live` PASS 继续冲突。 - **night 相对 afternoon 无主结论 delta**:最新 commit 未变化,主 blocker 未切换,窗口门禁口径也未变化;当前更该关注风险老化与未提交变更,而不是重复全量完成项。 #### 问题 18 / 31 持续活跃:无 delta 场景缺少老化风险优先策略 - **21:30 状态**:本轮相对 15:10 没有新的主 blocker,也没有新的通过证据;但 review 仍需要重复大部分相同检查,系统不会自动把重点切换到"风险老化、未提交变更、未验证项持续存在"。 - **问题影响**: - 高频 review 容易机械重复完成项清单,降低信息密度 - 读者不容易一眼看到"night 相对 afternoon 其实无主结论 delta" - 会弱化 review 对长期未收敛风险的追踪能力 - **优化建议**: 1. 在 review prompt 或模板中增加更强的 delta gate:相对上一轮无主结论变化时,强制输出"无 delta"并把重点转向风险老化与未提交变更 2. 在 backlog current 表中为持续性 blocker 增加 `last_reverified_at` / `current_as_of` 语义,减少重复展开背景 3. 对同日多轮 review 默认生成"变化摘要"而不是重复全量完成项,除非 blocker 真正切换 - **优先级**:P2 - **建议验证方法**:构造同一天两次 review 现场与 runtime 结论基本一致的场景,检查新模板是否会自动突出"无 delta、重点看风险老化/工作区收敛"。 ### 2026-05-19 15:10(第 34 次 review,afternoon-review) > **前置说明**:距上一次 review(05-19 09:32)约 **5 小时 38 分钟**。本轮基本属于"有现场变更但无主结论 delta":最新 commit 仍未变化、working tree 仍脏,`verify_phase6.sh` 的 live blocker 继续是 Perplexity 外部文档签名校验超时,稳定性窗口也继续停在 `85.71% FAIL`。 #### 本次新增发现 - **当前 Phase 6 继续 FAIL,主 live blocker 未变化**:`verify_phase6.sh` 再次完整输出 `PHASE_RESULT: FAIL`,其中 `live_run_result=FAIL` 仍由 `perplexity_pricing_signature_guard` 拉取 `https://docs.perplexity.ai/docs/agent-api/models.md` 超时触发。 - **新增导入器 smoke gate 继续不是当前 blocker**:`coreshub-fixture`、`coreshub-live`、`ctyun-fixture`、`ctyun-live` 全部通过,`importer_smoke_gate_result=PASS`。 - **稳定性窗口继续 FAIL,但失败仍不是采集器运行时失败**:最近 7 次样本维持 `success_count=6 failure_count=1 success_rate=85.71 threshold=95 precondition_missing=1 external_provider_failure=0 collector_runtime_failure=0 unknown_failure=0`,说明 release 结论仍持续受历史前置条件纪律影响。 - **同日 afternoon 相对 morning 无主结论 delta**:最新 commit 未变化,主 blocker 未切换,窗口门禁口径也未变化;当前更该关注风险老化与未提交变更,而不是重复全量完成项。 #### 问题 18 / 31 持续活跃:无 delta 场景缺少老化风险优先策略 - **15:10 状态**:本轮相对 09:32 没有新的主 blocker,也没有新的通过证据;但 review 仍需要重复大部分相同检查,系统不会自动把重点切换到"风险老化、未提交变更、未验证项持续存在"。 - **问题影响**: - 高频 review 容易机械重复完成项清单,降低信息密度 - 读者不容易一眼看到"下午相对早上其实无主结论 delta" - 会弱化 review 对长期未收敛风险的追踪能力 - **优化建议**: 1. 在 review prompt 或模板中增加更强的 delta gate:相对上一轮无主结论变化时,强制输出"无 delta"并把重点转向风险老化与未提交变更 2. 在 backlog current 表中为持续性 blocker 增加 `last_reverified_at` / `current_as_of` 语义,减少重复展开背景 3. 对同日多轮 review 默认生成"变化摘要"而不是重复全量完成项,除非 blocker 真正切换 - **优先级**:P2 - **建议验证方法**:构造同一天两次 review 现场与 runtime 结论基本一致的场景,检查新模板是否会自动突出"无 delta、重点看风险老化/工作区收敛"。 ### 2026-05-19 09:32(第 33 次 review,morning-review) > **前置说明**:距上一次 review(05-18 21:32)约 **12 小时**。本轮不是"无 delta":最新 commit 仍未变化、working tree 仍脏;runtime 上当前 live blocker 也未切换,仍是 Perplexity 外部文档签名校验超时,但稳定性窗口从昨晚 `100% PASS` 回落到 `85.71% FAIL`,且唯一失败类型继续是 `precondition_missing_only`。 #### 本次新增发现 - **当前 Phase 6 继续 FAIL,主 live blocker 未变化**:`verify_phase6.sh` 再次完整输出 `PHASE_RESULT: FAIL`,其中 `live_run_result=FAIL` 仍由 `perplexity_pricing_signature_guard` 拉取 `https://docs.perplexity.ai/docs/agent-api/models.md` 超时触发。 - **新增导入器 smoke gate 已明确不是当前 blocker**:`coreshub-fixture`、`coreshub-live`、`ctyun-fixture`、`ctyun-live` 全部通过,`importer_smoke_gate_result=PASS`。 - **稳定性窗口再次回落,但失败仍不是采集器运行时失败**:最近 7 次样本为 `success_count=6 failure_count=1 success_rate=85.71 threshold=95 precondition_missing=1 external_provider_failure=0 collector_runtime_failure=0 unknown_failure=0`,说明 release 结论仍受历史前置条件纪律影响。 - **smoke gate 测试脚本已与当前 runtime truth 冲突**:`scripts/importer_smoke_gate_test.sh` 仍写着 `expected current live ctyun smoke to fail before full gate`,并断言 `ctyun-live` 应 FAIL;但本轮真实 `verify_phase6.sh` 中 `ctyun-live` 已 PASS。 #### 问题 35(P1):smoke gate 测试脚本老化未跟上 runtime truth - **09:32 状态**:`scripts/importer_smoke_gate_test.sh` 仍把"ctyun live smoke 应失败"当作当前预期,而本轮 runtime 已直接证实 `ctyun-live` PASS。 - **问题影响**: - 测试脚本会传播已失效 blocker,削弱 smoke gate 验证本身的可信度 - reviewer 容易把过时测试预期误当 current truth - 会让"导入器 smoke gate 已准入"与"测试仍宣称应失败"同时存在,制造文档/实现/验证三层冲突 - **优化建议**: 1. 立即更新 `importer_smoke_gate_test.sh` 断言,使其反映当前 smoke gate 真实行为 2. 为这类"当前预期"测试增加 `last_reverified_at` 或显式注释,避免历史临时预期长期固化 3. 在 review 模板中加入"测试脚本是否仍与当前 runtime truth 一致"的检查项 - **优先级**:P1 - **建议验证方法**:修正脚本后运行该测试与 `verify_phase6.sh`;确认脚本断言与当前 smoke gate 输出一致,不再要求 `ctyun-live` 失败。