delivery-handoff-2026-06-02.md
3.29 KB
Delivery Handoff / 2026-06-02
本次交付包(2026-06-02 15:09 UTC)
交付结论
这次新增的关键交付,不再是单纯的进度观察,而是一个新的异常状态检查点:
- 远程基线已推进到:
cdf33bb - observable chromaprint smoke 与 legacy 全量 FMA
build-index进程都已退出 - 但两者都没有进入
reference_*/evaluate.py - 因此下一 session 的首要任务,已从“盯进度”切换为“排查
build-index异常退出”
当前最新事实
observable 路径
- 原进程:
PID=431703 - 最后观测时间:
2026-06-02 15:09:19 UTC - 当前
ps -p 431703:无存活进程 - 当前目录仅有:
chromaprint.pklchromaprint_progress.json
- 最后 progress 状态:
status=buildingrefs_done=4420 / 8000elapsed_sec=3964.861hashes=357373postings=3774363
- 当前仍未出现:
reference_progress.jsonreference_embs.partial.npyreference_ids.partial.npyreference_embs.npyreference_ids.npyevaluate.py
legacy 全量 FMA 路径
- 原进程:
PID=424691 - 当前
ps -p 424691:无存活进程 - 当前目录仍只有:
/tmp/fma_real_smoke_stopcheck/fma_index_smoke
- 仍未看到 index artifact 或
evaluate.py
当前判断
- 这不再是“CPU-only 长时间构建但仍在推进”的状态。
- 现在更像是:
build-index在 chromaprint 阶段中途退出,但没有留下显式下游产物。
已完成的低风险修复
- 已把
run_demo.py、chromaprint_matcher.py、ecapa_embedder.py的关键日志改为flush=True。 - 极小样本
/tmp/chroma_repro_tiny12已验证:失败时日志与 traceback 可实时落盘,不再保持0 bytes。 - 这意味着下一 session 继续排查时,日志可作为一手证据,而不是黑箱。
已完成的坏音频容错修复
- 已为 chromaprint/reference 两个建索引阶段增加单文件容错:坏 MP3 / 缺失音频会被记录并跳过。
- 最小复现
/tmp/chroma_skip_repro已验证:RC=0-
skip decode failure日志可见 -
reference_embs.npy/reference_ids.npy成功产出 - progress 中记录
skipped_refs=1
- 这说明:单个坏 MP3 不再拖垮整轮
build-index。
新 session 接管顺序
- 先看 ./session-handoff.md
- 再看 ./changelist-2026-06-02.md
- 然后优先做 3 件事:
- 复盘
run_demo.py build-index的退出路径与异常处理 - 检查是否存在未捕获 OOM / shell termination / silent failure
- 在更小样本上复现“chromaprint 中途退出但无后续文件”的行为
- 复盘
当前卡点
- 关键进程已经退出,但没有明确 traceback 留存。
- observable 与 legacy 两条路径都停在“没有
reference_*/ 没有evaluate.py”的中间态。 - 工作树仍有大量数据噪音,提交时必须只显式暂存文档/代码文件。
本次交付包含的关键文档
本次明确不提交
acr-engine/data/raw/*acr-engine/data/external_smoke/*/tmp/*- checkpoint / index artifacts
__pycache__