diff --git a/OPENCLAW_EXECUTION.md b/OPENCLAW_EXECUTION.md index 875d29c..2f7ee80 100644 --- a/OPENCLAW_EXECUTION.md +++ b/OPENCLAW_EXECUTION.md @@ -74,7 +74,7 @@ **下一步优先**: 1. 继续收口 review / cron / verifier 的真实性与降噪质量,避免历史 blocker 已消失但 board 仍滞后 -2. 观察 Cloudflare / Perplexity / Vertex 等外部文档源的稳定性,把瞬时网络抖动与真实结构漂移区分开 +2. 继续观察 Cloudflare / Perplexity / Vertex 等外部文档源的稳定性;当前 Cloudflare 已补上“代理传输失败 → 直连 fallback”兜底,但仍需区分瞬时网络抖动与真实结构漂移 3. 维持正式日报、历史重建与手工真实复跑三条运行语义边界,防止后续优化重新串线 ### 当前运行真相 @@ -87,6 +87,7 @@ - `bash scripts/run_real_pipeline.sh` 已于 `2026-05-24 18:15` 真实复跑成功,Cloudflare / Perplexity / Vertex 等外部官方价格链路本轮均通过 - `bash scripts/verify_phase6.sh` 已于 `2026-05-24 18:17` 通过:`SUMMARY pass=17 fail=0 warn=0` - 最近 7 次采集窗口已恢复到 `success_rate=100.00%`,`precondition_missing=0` +- Cloudflare 官方文档抓取链路已新增“proxy transport error → direct retry”兜底;坏代理环境下的 targeted Go test 与 live signature guard 均已通过,当前更符合“瞬时外部链路恢复 + 传输层加固已落地”,而非“parser 仍损坏” - `bash scripts/verify_importer_smoke.sh`、`bash scripts/importer_smoke_gate_test.sh`、`bash scripts/pipeline_runtime_alignment_test.sh` 已通过;Baichuan / 01.AI / SenseNova / 讯飞 4 个官方 importer 已接入 runtime + smoke + docs 闭环并完成三远端推送 - 正式日报、历史重建和手工真实复跑已分流到不同运行语义 - `fetchLatestReport` 默认只展示正式日报,不会把历史重建当成最新正式产出 diff --git a/README.md b/README.md index 5af500a..b4daf20 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,14 @@ - 历史补跑使用 `scripts/rebuild_historical_report.sh YYYY-MM-DD` - HTTP API 当前未内建认证、授权和限流;公网暴露前必须在网关层补齐 +## 先读这些(当前真相入口) + +- [OPENCLAW_EXECUTION.md](OPENCLAW_EXECUTION.md):当前运行真相、执行顺序、验证协议、最新 gate 口径 +- [reports/openclaw/OPENCLAW_CAPABILITY_BACKLOG.md](reports/openclaw/OPENCLAW_CAPABILITY_BACKLOG.md):OpenClaw 能力缺口当前台账与最新 review 增量 +- [docs/README.md](docs/README.md):文档树入口,区分 current truth / 运行文档 / 历史材料 +- [TASKS.md](TASKS.md):任务状态真相来源 +- [GOALS.md](GOALS.md):目标范围真相来源 + ## 目录概览 ```text diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..47dd93c --- /dev/null +++ b/docs/README.md @@ -0,0 +1,40 @@ +# Docs Landing + +> 先从这里进入文档树,避免直接打开历史 review 报告后误把旧结论当成当前真相。 + +## 当前真相 / Active Boards + +1. [../OPENCLAW_EXECUTION.md](../OPENCLAW_EXECUTION.md) + - 当前运行真相、执行顺序、验证协议、门禁口径 +2. [../reports/openclaw/OPENCLAW_CAPABILITY_BACKLOG.md](../reports/openclaw/OPENCLAW_CAPABILITY_BACKLOG.md) + - OpenClaw 能力缺口当前台账与最新 review 增量 +3. [../TASKS.md](../TASKS.md) + - 项目任务真相来源 +4. [../GOALS.md](../GOALS.md) + - 项目目标范围真相来源 + +## 运行 / 发布 / 配置 + +- [CONFIGURATION.md](CONFIGURATION.md):环境变量、运行语义、配置约束 +- [PRODUCTION_CHECKLIST.md](PRODUCTION_CHECKLIST.md):发布前检查、发布与回滚流程 +- [API_REFERENCE.md](API_REFERENCE.md):API 入口、返回体与排障说明 +- [PERFORMANCE_TEST.md](PERFORMANCE_TEST.md):性能基线 + +## Importer / Coverage / Priority + +- [PLAN_CATALOG_COVERAGE_MATRIX.md](PLAN_CATALOG_COVERAGE_MATRIX.md):平台覆盖矩阵与 importer/runtime truth +- [PLAN_CATALOG_INVENTORY.md](PLAN_CATALOG_INVENTORY.md):平台目录基线与 importerKey 清单 +- [NEXT_IMPORTER_RUNTIME_PRIORITY.md](NEXT_IMPORTER_RUNTIME_PRIORITY.md):下一批 importer/runtime 挂载优先级 + +## 规划与参考 + +- [plans/](plans/):实施计划、收口计划、设计草案 +- [references/](references/):特定 provider/importer 的上游真相与限制说明 +- [../TECHNICAL_DESIGN.md](../TECHNICAL_DESIGN.md):详细技术设计与数据模型背景 +- [../RUNBOOK.md](../RUNBOOK.md):运维巡检、故障排查、备份恢复 +- [../DEPLOYMENT.md](../DEPLOYMENT.md):部署步骤与快速启动 + +## 历史材料说明 + +- `reports/openclaw/` 下大量带日期的 `*-review.md`、`*-checklist.md`、`*-task-board.md` 属于历史快照。 +- 这些文件可用于追溯当时现场,但**不能替代** `OPENCLAW_EXECUTION.md`、`OPENCLAW_CAPABILITY_BACKLOG.md`、`TASKS.md`、`GOALS.md` 作为当前真相入口。 diff --git a/reports/openclaw/OPENCLAW_CAPABILITY_BACKLOG.md b/reports/openclaw/OPENCLAW_CAPABILITY_BACKLOG.md index 593bc6e..652a034 100644 --- a/reports/openclaw/OPENCLAW_CAPABILITY_BACKLOG.md +++ b/reports/openclaw/OPENCLAW_CAPABILITY_BACKLOG.md @@ -10,7 +10,7 @@ --- -## 当前未修复问题速查表(截至 2026-05-24 18:18) +## 当前未修复问题速查表(截至 2026-05-24 19:05) | # | 问题 | 优先级 | 首次暴露 | 修复状态 | 影响次数 | |---|------|--------|----------|----------|----------| @@ -30,7 +30,7 @@ | 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 次 | +| 17 | 验收脚本瞬时回归缺少稳定性标记 | P1 | 05-12 22:46 | ⚠️ 部分(已补充 recovered-external-incident 叙事与 Cloudflare 传输层 fallback,但 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 次 | @@ -39,8 +39,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 次 | +| 26 | 外部 provider 失败与主链路失败聚合过粗 | P1 | 05-16 09:30 | ⚠️ 部分(Cloudflare 已加 transport fallback,但其他外部源仍缺统一分层) | 6 次 | +| 27 | 稳定性窗口虽已分类但缺 release 级解释语义 | P1 | 05-16 09:30 | ⚠️ 部分(本轮已把 Cloudflare EOF 定性为 recovered external incident,不再按持续 parser blocker 叙述) | 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 次 | @@ -81,6 +81,27 @@ - 历史 blocker 已消失后,board / backlog / execution truth 的自动老化与撤销机制仍不足(问题 20 / 25 / 33 / 34 继续成立)。 - 外部文档源仍存在瞬时网络抖动风险,后续应继续区分“网络瞬断”与“真实结构漂移”。 +### 2026-05-24 19:05(main 文档真相同步) + +> **前置说明**:18:18 复核后继续下钻 Cloudflare `EOF` 现场,目标不是重复宣布“已恢复”,而是确认是否需要把它继续当作 active blocker 写在板子上。 + +#### 本次新增发现 + +- **Cloudflare 更接近代理传输层瞬时失败,不是稳定 parser 回归**:同一路径在代理开启、关闭、以及禁用 HTTP/2 场景下均无法稳定复现旧 `EOF`。 +- **已落地最小加固**:抓取公共逻辑新增“proxy transport error → direct retry”兜底,提交为 `2a64160 fix(pricing): fallback to direct fetch after proxy transport errors`。 +- **加固已被真实验证覆盖**:`TestFetchRawPricingPageFallsBackWithoutProxyOnRetriableProxyFailure` 通过;坏代理环境下 live `cloudflare_pricing_signature_guard` 也通过。 +- **release truth 应同步降噪**:Cloudflare 不应继续在 current board/backlog 中被表述为“parser 仍损坏”的活跃 blocker,更准确的表述是“外部链路瞬时失败已恢复,且传输层兜底已补齐”。 + +#### 问题 26 / 27 状态更新:从“纯未修复”调整为“已有局部收敛” + +- **19:05 状态**:Cloudflare 这一路径已具备 recovered-external-incident 的事实基础,并已加 transport fallback;但 Perplexity / Vertex 等其他外部源还没有统一的 retry / release 叙事模板。 +- **结论**:问题 26、27 不再适合保持“完全未修复”表述,更新为“⚠️ 部分”。 + +#### 后续仍需跟踪 + +- 把 recovered-external-incident / active-code-regression 的 release 文案模板系统化,而不是只在 Cloudflare 个案里人工判断。 +- 继续观察其他外部文档源是否也需要同类 transport fallback 或更明确的分层统计。 + ### 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。