changelist-2026-06-02.md
3.65 KB
Changelist / 2026-06-02
本次补充交付(2026-06-02 15:09 UTC)
目标
把当前状态从“仍在稳定推进”升级为“已确认异常退出、需要排查”的交接包。
本次纳入交付的内容
| 类别 | 内容 |
|---|---|
| 证据 |
PID=431703 与 PID=424691 均已退出 |
| 状态 | observable 目录仍停在 chromaprint_progress.json + chromaprint.pkl
|
| 风险 | 没有 reference_*,没有 evaluate.py,没有明确 traceback |
| 文档 |
CHANGELOG、changelist、delivery handoff、session handoff、AGENT memory
|
文件级变更
| 文件 | 说明 |
|---|---|
| ./CHANGELOG.md | 补记 build-index 异常退出 checkpoint |
| ./delivery-handoff-2026-06-02.md | 顶部改写为异常排查接管包 |
| ./session-handoff.md | 顶部快照切到“进程已退出、无下游产物” |
| ../AGENT.md | 更新长期记忆,避免新 session 误判为仍在运行 |
当前最重要的 fresh evidence
- 观测时间:
2026-06-02 15:09:19 UTC -
ps -p 431703:无存活进程 -
ps -p 424691:无存活进程 -
pgrep -af 'run_demo.py build-index|evaluate.py ...':未发现接续进程 - observable 目录仅有:
chromaprint.pklchromaprint_progress.json
- 末次 progress:
status=buildingrefs_done=4420/8000
- 未出现:
reference_*evaluate.py
重要决策
- 当前已不应继续把它描述成“仅仅线性慢”。
- 下一轮工作应转向 build-index 异常退出排查。
- 新提交已经有意义,因为状态从“运行中”变成了“已退出且无下游产物”。
本次追加交付(2026-06-02 15:18 UTC)
新增代码修复
| 文件 | 变更 |
|---|---|
| ../acr-engine/run_demo.py |
build-index / demo 关键日志统一 flush=True
|
| ../acr-engine/src/engines/chromaprint_matcher.py | chromaprint 阶段 progress 日志 flush=True
|
| ../acr-engine/src/engines/ecapa_embedder.py | embedding/reference 阶段关键日志 flush=True
|
新增验证证据
- 极小样本复现:
/tmp/chroma_repro_tiny12 - 结果:
RC=1 - 现在日志已实时落盘,不再是
0 bytes:[build-index] starting chromaprint index ...[build-reference-index] start: refs=12 ...ValueError: No reference embeddings were produced ...
结论
- 当前已修复“失败时日志完全不可见”的可观测性问题。
- 下一轮 root cause 排查可以直接依赖实时日志,而不再需要盲等。
本次追加交付(2026-06-02 15:22 UTC)
新增代码修复
| 文件 | 变更 |
|---|---|
| ../acr-engine/src/engines/chromaprint_matcher.py | 坏音频/缺失音频跳过;progress 增加 skipped_refs
|
| ../acr-engine/src/engines/ecapa_embedder.py | 坏音频/缺失音频跳过;progress 增加 skipped_refs
|
新增验证证据
- 最小容错复现:
/tmp/chroma_skip_repro - 输入:
1 good mp3 + 1 bad mp3 - 结果:
RC=0 - 验证点:
- 日志可见
skip decode failure -
chromaprint_progress.json为status=complete -
reference_progress.json为status=complete - 两个 progress 文件都记录
skipped_refs=1 - 最终成功产出
reference_embs.npy/reference_ids.npy
- 日志可见
结论
- 当前已验证:单个坏 MP3 不再拖垮整轮
build-index。 - 下一轮应回到真实路径复现,确认主问题是否就是由坏 MP3 触发。