Commit 061dd5e7 061dd5e79442688f26cf2951a126de3d022d97dc by cnb.bofCdSsphPA

Make the handoff start from the shortest verified recovery path

Constraint: The session handoff had become information-rich enough that the next session still needed manual triage, so the opening section had to be collapsed to one verified command path.
Rejected: Keep the handoff primarily as a reading list | That would preserve context but not minimize restart latency.
Confidence: high
Scope-risk: narrow
Directive: Start future sessions with the planner validation runner before reading deeper docs unless the task explicitly skips validation.
Tested: git diff --check; verified docs/session-handoff.md now points to scripts/run_planner_validation_commands_live.py backed by fresh data/pgvector_eval/music20/planner_validation_commands_runner_report.json evidence (executed_count=4, all_passed=true)
Not-tested: No new code-path execution was needed in this commit because it reorganizes the already-verified startup flow.
1 parent eb2ea03a
## 2026-06-04
- 重构 `docs/session-handoff.md` 顶部为“首选启动流程(最短路径)”,直接给出 `run_planner_validation_commands_live.py` 的一条启动命令,以及基于 fresh runner 报告(`executed_count=4`, `all_passed=true`)的结果判断逻辑,减少下次 session 的恢复成本。
- 新增 `scripts/run_planner_validation_commands_live.py``planner_validation_commands_runner_report.json`,可直接读取 `phase1_extraction_plan_report.json` 中的 `validation_commands` 并批量执行;当前 4 条 entrypoints 已全部执行成功,`executed_count=4``all_passed=true`
- 更新 `phase1_validation_commands_execution_report.json`,补齐 planner 中剩余两条 validation commands 的直接执行证据:`semantic_vector_negative_matrix``asset_level_upsert_validation` 也已 `returncode=0`,当前 4 条 validation entrypoints 已全部验证可被脚本直接消费。
- 新增 `phase1_validation_commands_execution_report.json`,直接从 `phase1_extraction_plan_report.json` 读取并执行 `validation_commands.prereq_audit``validation_commands.worker_contract_smoke`,两条命令均返回 `0`,证明 planner 产物可被脚本化直接消费。
......
......@@ -9,6 +9,44 @@
---
## 首选启动流程(最短路径)
下次启动如果目标是“先判断当前 host 能不能继续推进 Phase-1”,不要先手工翻很多文档,先直接跑:
```bash
cd /workspace/acr-engine
/usr/local/miniconda3/bin/python scripts/run_planner_validation_commands_live.py --dsn 'postgres://d2:d2pass@127.0.0.1:5432/d2' --output data/pgvector_eval/music20/planner_validation_commands_runner_report.json
```
当前这条命令的 fresh evidence 已有:
- `executed_count = 4`
- `all_passed = true`
它会一次性执行:
1. `prereq_audit`
2. `worker_contract_smoke`
3. `semantic_vector_negative_matrix`
4. `asset_level_upsert_validation`
### 跑完之后怎么判断
如果结果仍是当前状态:
- `downloads_root_exists = false`
- `ready_jobs = 0`
- exact = `failed/unreadable_audio_assets`
- semantic = `4/4 failed`
那么说明:
> 当前不该继续怀疑 PostgreSQL contract,而应该优先解决 **音频挂载** 与 **模型 runtime 依赖**。
如果未来这条 runner 开始失败,才优先检查:
- planner 报告是否变了
- validation scripts 是否回归
- schema / worker contract 是否被破坏
## 一页结论
当前项目主线已经从“原型是否能跑通”切到:
......