Files
llm-intelligence/reports/openclaw/OPENCLAW_CAPABILITY_BACKLOG.md
phamnazage-jpg 42e75e733d docs(runtime): sync execution and backlog status
Update README, execution notes, runtime remediation plan, and OpenClaw backlog to reflect the current pipeline split, CI/Phase 5 status, and latest review findings.

Keep this separate from collector code so operational documentation history remains reviewable.
2026-05-15 22:43:21 +08:00

142 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# OpenClaw Capability Backlog
本文件用于持续沉淀 OpenClaw 在 `llm-intelligence` 项目推进和自我优化过程中暴露出的能力缺口。
记录原则:
- 只写真实 review 暴露的问题
- 每个问题都要说明影响
- 每个建议都要可执行、可验证
---
## 当前未修复问题速查表(截至 2026-05-15 21:31
| # | 问题 | 优先级 | 首次暴露 | 修复状态 | 影响次数 |
|---|------|--------|----------|----------|----------|
| 1 | 验证器 `rg` 依赖误报 | P0 | 05-07 22:50 | ✅ **已修复**05-10 14:30 确认 `grep` 替换完成) | 10 次 |
| 2 | 验证器退出码设计 | P0 | 05-07 22:50 | ⚠️ 部分(`rg` 误报消除,但三级状态仍未实现) | 10 次 |
| 3 | session 历史工具/业务错误区分 | P1 | 05-07 22:50 | ❌ 未修复 | 11 次 |
| 4 | cron 无主动状态报告机制 | P1 | 05-07 22:50 | ❌ 未修复 | 11 次 |
| 5 | subagent spawn 未传递 workspace | P1 | 05-07 22:50 | ❌ 未修复 | 11 次 |
| 6 | 验收脚本无法检测构建 | P1 | 05-08 09:05 | ❌ 未修复 | 10 次 |
| 7 | 环境变量/API Key 缺失未自动检测 | P1 | 05-08 09:05 | ⚠️ 部分(已写入 review 标准步骤,但未固化到 prompt | 11 次 |
| 8 | 文件修改后未触发 commit 提示 | P2→P1 | 05-08 09:05 | ❌ 未修复 | 12 次 |
| 9 | cron review 无 delta 时空转 | P1 | 05-08 09:12 | ❌ 未修复 | 12 次 |
| 10 | 验证模式伪进展artifact_present 局限) | P1 | 05-08 14:30 | ❌ 未修复 | 9 次 |
| 11 | **项目提交停滞commit stagnation** | **P0** | **05-08 21:30** | **❌ 未修复(虽有新 commit但工作区长期非干净问题仍在** | **14 次** |
| 12 | review 报告未触发修复动作 | P2→P1 | 05-08 21:30 | ❌ 未修复 | 9 次 |
| 13 | BACKLOG 文件膨胀导致 review 成本递增 | P1 | 05-09 09:30 | ⚠️ 部分(已实施分层归档,但主文件仍在增长) | 7 次 |
| 14 | **untracked 核心代码未入版本控制** | **P0** | **05-10 21:30** | **❌ 未修复(本轮仍有大量 untracked 文件)** | **10 次** |
| 15 | **CI 配置存在但未验证运行** | **P1** | **05-10 21:30** | **✅ 已修复05-14 16:23 已补齐 `.github/workflows/ci.yml``verify_phase5.sh` PASS** | **8 次** |
| 16 | **Phase 6+ 范围未定义** | **P1** | **05-10 21:30** | **❌ 未修复** | **5 次** |
| 17 | collection_stats vs collector_stats 表名不一致 | P2 | 05-11 09:30 | ✅ **已澄清为误报**05-11 14:30 确认 verify_phase2.sh 与 schema 一致) | 1 次 |
| 18 | **无 .gitignore 文件** | **P1** | **05-11 14:30** | **❌ 未修复** | **3 次** |
| 19 | **review 误报传播** | **P1** | **05-11 14:30** | **❌ 未修复** | **7 次** |
| 20 | **untracked 文件统计遗漏** | **P1** | **05-11 14:30** | **❌ 未修复** | **5 次** |
| 21 | **验收脚本瞬时回归缺少稳定性标记** | **P1** | **05-12 22:46** | **❌ 未修复(仍缺 transient / repeated / reproducible 标记)** | **5 次** |
| 22 | **无 delta 场景缺少老化风险优先策略** | **P2** | **05-12 22:46** | **❌ 未修复** | **3 次** |
| 23 | **日报归档路径门禁失配** | **P0** | **05-13 00:15** | **✅ 已复核05-14 16:23 再验证未复现,`verify_phase3.sh` PASS** | **1 次** |
| 24 | **综合验收错误聚合误导根因判断** | **P1** | **05-13 00:15** | **❌ 未修复** | **3 次** |
| 25 | **snapshot truth 与 current truth 漂移未被显式提示** | **P1** | **05-14 09:31** | **❌ 未修复** | **5 次** |
| 26 | **Phase 6 稳定性门禁失败缺少样本窗口摘要** | **P1** | **05-14 15:10** | **❌ 未修复** | **4 次** |
| 27 | **Phase 6 稳定性门禁未区分前置条件缺失 vs 真实采集失败** | **P1** | **05-14 21:30** | **❌ 未修复** | **3 次** |
| 28 | **脚本型 Go 仓库缺少可测试入口发现能力** | **P1** | **05-15 15:11** | **❌ 未修复** | **2 次** |
| 29 | **长命令部分回传时缺少保守结论模板** | **P1** | **05-15 21:31** | **❌ 未修复** | **1 次** |
---
## Review 日志
### 2026-05-15 21:31第 25 次 reviewnight-review
> **前置说明**:距上一次 review05-15 15:11约 **6 小时 18 分钟**。本轮没有拿到足够新证据去推翻 afternoon 的主判断Phase 1~5 当前仍 PASS但 Phase 6 不能在证据不足的情况下直接改写成 PASS。与此同时工作区持续堆积 tracked/untracked 变更而最新 commit 未前进,说明版本化收口继续老化。
#### 本次新增发现
- **Phase 1~5 当前继续 PASS**`verify_pre_phase6.sh` 本轮再次完整通过。
- **night 时点无证据证明主 blocker 已消失**`verify_phase6.sh` 本轮只回传到前半段 PASS未拿到完整结束输出因此不能把历史活跃 blocker 直接宣告解除。
- **工作区非干净风险继续老化**tracked 修改和 untracked 新文件仍然很多,但最近提交未前进。
- **仓库已明确给出推荐验证入口**`Makefile``README.md``scripts/verify_phase*.sh` 都提供了更可信入口,说明 agent 默认策略需要更主动地发现这些入口。
#### 问题 28P1再次确认脚本型 Go 仓库缺少可测试入口发现能力
- **21:31 状态**:本轮继续确认本仓库的可信入口是 `verify_pre_phase6` / `verify_phase6` / `run_daily.sh` 等项目脚本,而不是通用语言惯性命令。
- **问题影响**
- reviewer 或 agent 若先跑错误入口,会得到假阴性或低价值结果
- review 成本上升,因为需要再次回到仓库声明的真实入口
- 同类脚本型仓库会重复暴露相同问题
- **优化建议**
1. review/verification 默认先搜 `Makefile`、verify 脚本、README 中的“常用命令/门禁入口”
2. 若仓库显式声明入口,优先使用声明入口而不是语言通用命令
3. 将“入口不适配”与“测试失败”分开标注
- **优先级**P1
- **建议验证方法**:后续在脚本型 Go 仓库中,先读取 `Makefile`/README再检查 agent 是否直接选择仓库声明入口,而不是默认 `go test ./...`
#### 问题 29P1长命令部分回传时缺少保守结论模板
- **21:31 状态**:本轮 `verify_phase6.sh` 已回传多条 PASS但未在当前对话拿到完整结束输出如果没有明确模板review 很容易在“部分好消息”下过度乐观,或反过来因为等待完整输出而卡死。
- **问题影响**
- 容易把“部分通过”错误表述为“全部通过”
- 也可能因为追求完整输出导致 cron review 超时
- 对低频 review 任务尤其危险,因为一轮结论可能被后续长期复用
- **优化建议**
1. 当长命令只返回部分输出时,模板强制要求写明 `partial runtime evidence``old blocker not disproven`
2. 为 review 类 cron 任务增加“最小证据阈值”:超过阈值就允许先落保守结论,不必无限等待
3. 在 backlog / review 模板中增加“完整结束输出是否已获得”字段
- **优先级**P1
- **建议验证方法**:在长命令故意延迟或只部分回传的场景下,检查 agent 是否能稳定写出“部分通过、旧 blocker 未证伪”的保守结论,而不是误报 PASS 或无期限阻塞
### 2026-05-15 15:11第 24 次 reviewafternoon-review
> **前置说明**:距上一次 review05-15 09:30约 **5 小时 41 分钟**。本轮没有出现新的主 blocker但稳定性窗口比 morning 更差:最新 7 条 `collector_stats` 中仅 **4 条成功、3 条失败**,成功率约 **57.14%**。3 条失败全部是 **严格真实模式缺 API Key**,说明 Phase 6 仍在被前置条件缺失污染,而且问题在老化。
#### 本次新增发现
- **Phase 1~5 当前继续 PASS**`verify_pre_phase6.sh` 仍全绿,说明主链路与前置门禁未回退。
- **Phase 6 唯一 live blocker 仍是稳定性门禁**`verify_phase6.sh` 继续表现为 `pass=15 fail=1`
- **稳定性窗口较 morning 进一步恶化**:从 `5/7` 成功下降到 `4/7` 成功,不能再沿用上午窗口数字。
- **失败样本仍全部指向前置条件缺失**:最近 3 条失败都为 `严格真实模式下必须提供 API Key`
- **通用 `go test ./scripts/...` 在本仓库给出假阴性**:命令返回 `matched no packages` / `no packages to test`,但仓库声明的 `verify_phase*.sh` 却能提供有效验证结果。
#### 问题 25P1再次确认snapshot truth 与 current truth 漂移未被显式提示
- **15:11 状态**:同日两次 review 的主 blocker 没变,但严重度已变化;如果 afternoon 不 live 复验,仍会沿用 morning 的 `5/7` 窗口,低估风险老化。
- **问题影响**
- 同日数小时内窗口数字会变化,旧结论若不失效会直接误导风险判断
- backlog 和 follow-up 可能继续引用过时窗口,影响优先级排序
- **优化建议**
1. review 模板在涉及样本窗口时强制写“sample timestamp / sample size / sample freshness”
2. 若当前窗口与上一轮数值不同,必须显式写出 `window changed``old sample expired`
3. 对同日多次 review 的窗口漂移单独累计,而不是只记泛化的误报传播
- **优先级**P1
- **建议验证方法**:后续若同日两次 review 的窗口成功率变化,检查新报告是否显式指出窗口已变化,而不是继续复用上一轮数字
#### 问题 27P1再次确认Phase 6 稳定性门禁未区分前置条件缺失 vs 真实采集失败
- **15:11 状态**:最新 7 条样本中 3 条失败全部来自 `openrouter`,且错误一致为 `严格真实模式下必须提供 API Key`
- **问题影响**
- 稳定性统计继续把环境/调度问题混进 collector 运行失败
- review 读者可能误把 57.14% 成功率解读为采集器代码不稳定
- 修复资源会被错误投向代码层,而不是运行环境/统计口径
- **优化建议**
1.`verify_phase6.sh` 或其依赖查询中增加失败分类,至少区分 `precondition-missing``collector-runtime-failure``external-provider-failure`
2. 对缺 API Key / 缺 DB 权限这类前置条件失败单独统计并显式展示
3. 输出中附最近 N 条失败样本摘要,避免只给一个成功率数字
- **优先级**P1
- **建议验证方法**:制造一条缺 API Key 失败和一条真实采集失败,确认 Phase 6 输出能分别标记类别,并在 review 中直接映射到不同修复路径
#### 问题 28P1脚本型 Go 仓库缺少可测试入口发现能力
- **15:11 状态**:本轮尝试常见 Go 测试入口 `go test ./scripts/...`,结果为 `matched no packages` / `no packages to test`;但仓库真实可执行门禁位于 `Makefile``scripts/verify_phase*.sh`
- **问题影响**
- agent 若按通用语言惯性选命令,会得到假阴性,误判仓库“不可测试”或“测试失败”
- review 成本上升,因为需要人工再纠正到项目自定义验证入口
- 跨项目迁移时,这类误用会持续产生噪声
- **优化建议**
1. 在 OpenClaw review/verification 流程中优先发现并使用 `Makefile``package.json scripts`、仓库显式 verify 脚本,而不是默认语言通用命令
2. 若检测到 `go test ./...` 或其子路径返回 `no packages to test`,应把它标记为“入口不适配”而非“测试失败”
3. 在 review 模板中增加一条“验证入口发现结果”,明确当前仓库推荐的最小可信命令
- **优先级**P1
- **建议验证方法**:在至少一个脚本型 Go 仓库中复现 `no packages to test`,确认 agent 最终能回退到项目声明的 verify 脚本,并把错误类型归为入口不适配