Tighten real-ingestion success rules, separate scheduled reports from historical rebuilds, and persist source-level runtime audit across daily pipeline runs. Also add the Phase 5 CI workflow contract plus verification updates and supporting docs so the full uncommitted change set can be validated together.
171 lines
12 KiB
Markdown
171 lines
12 KiB
Markdown
# OpenClaw Capability Backlog
|
||
|
||
本文件用于持续沉淀 OpenClaw 在 `llm-intelligence` 项目推进和自我优化过程中暴露出的能力缺口。
|
||
|
||
记录原则:
|
||
|
||
- 只写真实 review 暴露的问题
|
||
- 每个问题都要说明影响
|
||
- 每个建议都要可执行、可验证
|
||
|
||
---
|
||
|
||
## 当前未修复问题速查表(截至 2026-05-14 15:10)
|
||
|
||
| # | 问题 | 优先级 | 首次暴露 | 修复状态 | 影响次数 |
|
||
|---|------|--------|----------|----------|----------|
|
||
| 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) | 10 次 |
|
||
| 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,但工作区长期非干净问题仍在)** | **13 次** |
|
||
| 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 文件)** | **8 次** |
|
||
| 15 | **CI 配置存在但未验证运行** | **P1** | **05-10 21:30** | **❌ 未修复(且当前已暴露出更前置的 CI 文件缺失)** | **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** | **❌ 未修复** | **5 次** |
|
||
| 20 | **untracked 文件统计遗漏** | **P1** | **05-11 14:30** | **❌ 未修复** | **4 次** |
|
||
| 21 | **验收脚本瞬时回归缺少稳定性标记** | **P1** | **05-12 22:46** | **❌ 未修复(仍缺 transient / repeated / reproducible 标记)** | **4 次** |
|
||
| 22 | **无 delta 场景缺少老化风险优先策略** | **P2** | **05-12 22:46** | **❌ 未修复** | **3 次** |
|
||
| 23 | **日报归档路径门禁失配** | **P0** | **05-13 00:15** | **⚠️ 待复核(05-14 上午与下午均未复现)** | **1 次** |
|
||
| 24 | **综合验收错误聚合误导根因判断** | **P1** | **05-13 00:15** | **❌ 未修复** | **2 次** |
|
||
| 25 | **snapshot truth 与 current truth 漂移未被显式提示** | **P1** | **05-14 09:31** | **❌ 未修复** | **2 次** |
|
||
| 26 | **Phase 6 稳定性门禁失败缺少样本窗口摘要** | **P1** | **05-14 15:10** | **❌ 未修复** | **1 次** |
|
||
|
||
---
|
||
|
||
## Review 日志
|
||
|
||
### 2026-05-14 15:10(第 20 次 review,afternoon-review)
|
||
|
||
> **前置说明**:距上一次 review(05-14 09:31)约 **5 小时 39 分钟**。本轮不是“无 delta”场景:上午 live 结论还是“唯一 blocker 为 CI 文件缺失”,但下午 `verify_phase6.sh` 新增暴露了第二个活跃 FAIL——**最近 7 次采集成功率未达到 95%**。这说明上午结论到下午已老化,必须显式更新 current truth,而不能机械复用旧短句。**
|
||
|
||
#### 本次新增发现
|
||
|
||
- **功能主链路仍可运行**:`verify_pre_phase6.sh` 中 Phase 1~4 继续 PASS,Go 测试、真实采集、API、前端测试入口仍正常。
|
||
- **生产级总门禁当前有两个真实 blocker**:不仅有 Phase 5 的 `.github/workflows/ci.yml` 缺失,还有 Phase 6 顶层新增的“最近 7 次采集成功率达到 95%” FAIL。
|
||
- **上午 review 结论到下午已过时**:如果继续沿用“只剩 CI 缺失”,会遗漏当前更接近生产稳定性的真实问题。
|
||
- **顶层稳定性门禁缺少失败样本摘要**:当前只能看见阈值未达标,不能直接从输出中看到 7 次样本窗口明细与失败分布。
|
||
|
||
#### 问题 26(P1):Phase 6 稳定性门禁失败缺少样本窗口摘要
|
||
|
||
- **15:10 状态**:`bash scripts/verify_phase6.sh` 当前 FAIL 于 `最近 7 次采集成功率达到 95%`,但顶层输出未直接打印 7 次样本 success/fail 明细,也未显示失败记录的时间点或原因。
|
||
- **问题影响**:
|
||
- review 能知道“没过线”,但不能立刻知道“为什么没过线”
|
||
- 人工需要额外补查数据库或脚本,增加定位成本
|
||
- 容易把稳定性问题简化成单次瞬时波动,或反过来把单次波动误判成结构性回归
|
||
- **优化建议**:
|
||
1. 在 `verify_phase6.sh` 的成功率门禁失败时,直接追加最近 7 次 `collector_stats` 的时间、success、source、error 摘要
|
||
2. 把输出拆成两层:`threshold failed` + `sample window details`
|
||
3. 若失败原因为单一 source 或单一时间窗口,输出聚合计数,方便区分系统性问题与单次异常
|
||
- **优先级**:P1
|
||
- **建议验证方法**:人为制造一条失败采集记录或在测试环境插入样本,确认 `verify_phase6.sh` 失败时能直接打印最近 7 次窗口详情,而不是只给阈值结论
|
||
|
||
#### 问题 25(P1,再次确认):snapshot truth 与 current truth 漂移未被显式提示
|
||
|
||
- **15:10 状态**:上午报告中的“直接阻塞只剩 CI 缺失”到下午已经不成立,因为 afternoon live verifier 新增了稳定性门禁 FAIL。
|
||
- **问题影响**:
|
||
- 若 review 系统不显式提醒“旧结论已老化”,读者容易把上午 snapshot 当成下午 current truth
|
||
- 会让 backlog 和日报式 review 低估动态门禁的时效性
|
||
- **优化建议**:
|
||
1. 在 review 模板中保留并强化“与上一次 review 的 delta”字段
|
||
2. 当 live verifier 结果与上一轮关键短句不一致时,要求显式写出“旧口径已失效”
|
||
3. backlog 中对这类问题持续单独计数,不与普通误报混写
|
||
- **优先级**:P1
|
||
- **建议验证方法**:后续若同日两次 review 间 verifier 结果变化,检查新报告是否明确标出“旧结论已失效/已老化”而非沿用旧摘要
|
||
|
||
#### 问题 24(P1,仍未修复):综合验收错误聚合误导根因判断
|
||
|
||
- **15:10 状态**:本轮再次证明顶层 `verify_phase6.sh` 只会聚合出 `Phase 1~5 总门禁通过` FAIL,仍需要继续手工下钻到 `verify_pre_phase6.sh` 才能定位具体失败落在 Phase 5。
|
||
- **问题影响**:
|
||
- 若 review 停在顶层,会把聚合 FAIL 当成根因
|
||
- 一旦叠加其他顶层 FAIL(本轮就是成功率门禁),读者更难区分“生产收口问题”与“运行稳定性问题”
|
||
- **优化建议**:
|
||
1. `verify_phase6.sh` 失败时直接回显 `verify_pre_phase6.sh` 的失败 phase 名称
|
||
2. 失败输出按 blocker 分类:`artifact missing`、`runtime instability`、`aggregated dependency fail`
|
||
- **优先级**:P1
|
||
- **建议验证方法**:人为保持一个子 phase 失败并再触发一个顶层附加 FAIL,确认输出能直接区分不同 blocker 类别
|
||
|
||
---
|
||
|
||
### 2026-05-13 09:30(第 18 次 review,morning-review)
|
||
|
||
> **前置说明**:距上一次 review(05-13 00:15)约 **9 小时 15 分钟**。本轮仓库状态的关键 delta 是:上一轮记录为 FAIL 的 `verify_phase6.sh`,本轮实际执行恢复为 **PASS**。这说明上一轮暴露的归档门禁问题当前未复现;与之相对,版本控制停滞与大量 untracked 仍无 delta,继续是最老化、最真实的系统性风险。**
|
||
|
||
#### 本次新增发现
|
||
|
||
- **综合验收当前恢复正常**:`bash scripts/verify_phase6.sh` 返回 `SUMMARY pass=14 fail=0 warn=0` 与 `PHASE_RESULT: PASS`,说明主链路当前可运行。
|
||
- **上一轮 FAIL 更像瞬时状态,不足以直接定性为结构性回归**:至少在本轮时间窗口内,Phase 3/Phase 6 未再失败。
|
||
- **review 的长期主风险未变**:最后 commit 仍停在 `ba054f0`(2026-05-08),大量 modified/untracked 仍存在,导致“功能已做出但无版本锚点”的风险继续累积。
|
||
- **CI 证据仍停留在 artifact-present**:`.github/` 虽存在,但仍未进入 git 历史,也没有本轮可引用的真实 workflow run 结果。
|
||
|
||
#### 问题 21(P1):验收脚本瞬时回归缺少稳定性标记(再次确认)
|
||
|
||
- **09:30 状态**:上一轮 review 记录 `verify_phase6.sh` FAIL,本轮同命令恢复 PASS。
|
||
- **影响**:
|
||
- 单次 FAIL 容易被 review 写成结构性故障
|
||
- backlog 会积累“本轮失败、下轮恢复”的噪声,降低长期可读性
|
||
- 团队可能误把短时波动当成实现回归,分散精力
|
||
- **优化建议**:
|
||
1. review prompt 中增加“单次 FAIL 先标记为 transient-suspect,连续复现或稳定复现后再升级为结构性问题”
|
||
2. Phase 验收脚本失败后,若成本允许,自动补跑一次最小复验命令,区分瞬时波动与稳定故障
|
||
3. backlog 条目增加“复现状态”字段,如 `single-hit / repeated / reproducible`
|
||
- **建议验证方法**:后续若再次出现单轮 FAIL,要求下一轮或同轮最小复验后再决定是否升级 backlog 严重度
|
||
|
||
#### 问题 23(P0→待复核):日报归档路径门禁失配
|
||
|
||
- **09:30 状态**:本轮未复现。`bash scripts/verify_phase6.sh` 已整体 PASS,说明上一轮的 Phase 3/归档门禁异常当前不是稳定故障。
|
||
- **影响**:
|
||
- 若未来复现,仍会级联拖累综合验收判断
|
||
- 但在本轮证据下,不应继续把它包装成“当前稳定存在的结构性 P0 故障”
|
||
- **优化建议**:
|
||
1. 保留条目,但状态降级为“待复核/瞬时问题”
|
||
2. 下次若再触发,必须同时保存失败时的期望路径与实际路径
|
||
3. 在 review 里区分“当前活跃故障”和“历史单次异常”
|
||
- **建议验证方法**:未来若再次出现 Phase 3 FAIL,立即单独执行 `bash scripts/verify_phase3.sh` 并采集路径证据;若连续两轮复现,再升回结构性问题
|
||
|
||
#### 问题 24(P1):综合验收错误聚合误导根因判断
|
||
|
||
- **09:30 状态**:本轮虽未触发 FAIL,但问题仍未修复,因为顶层脚本的失败聚合可读性并未被专门改进。
|
||
- **影响**:
|
||
- 下一次综合验收失败时,review 仍可能被顶层压缩输出误导
|
||
- 人工下钻成本高,容易产生二次误报
|
||
- **优化建议**:
|
||
1. `verify_phase6.sh` 在调用 `verify_pre_phase6.sh` 失败时直接输出失败 phase 名称
|
||
2. `verify_pre_phase6.sh` 增加失败 phase 列表摘要
|
||
3. review prompt 固化“综合门禁 FAIL 必须下钻子 phase”规则
|
||
- **建议验证方法**:人为制造单个子 phase 失败,确认顶层输出能直接定位到具体失败 phase 与失败项
|
||
|
||
---
|
||
|
||
## 已归档问题(修复后移入)
|
||
|
||
### 2026-05-10 14:30 — 问题 1 归档:验证器 `rg` 依赖误报
|
||
|
||
- **首次暴露**:2026-05-07 22:50
|
||
- **修复时间**:2026-05-10 14:30 前
|
||
- **修复方式**:`TASKS.md` 中 T-1.1 和 T-3.2 的验证命令从 `rg -n` 替换为 `grep -nE`
|
||
- **验证方法**:`go run scripts/verification_executor.go` 在无 `rg` 环境下返回 PASS
|
||
- **残余注意**:验证器本身仍未实现 toolchain readiness check 和三级状态
|
||
|
||
### 2026-05-11 14:30 — 问题 17 归档:collection_stats vs collector_stats 表名不一致
|
||
|
||
- **首次暴露**:2026-05-11 09:30(误报)
|
||
- **澄清时间**:2026-05-11 14:30
|
||
- **澄清方式**:二次验证 `grep -n "collector_stats" scripts/verify_phase2.sh` 确认脚本与 schema 一致
|
||
- **根因**:09:30 review 未实际验证即复制了错误结论
|
||
- **教训**:review 中的 "不一致" 声称必须二次验证,不能仅凭记忆或旧报告复制
|
||
|
||
---
|
||
|
||
*Backlog 最后更新:2026-05-14 15:10 Asia/Shanghai*
|