changelist-2026-06-02.md
4.76 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 触发。
本次追加交付(2026-06-02 15:29 UTC)
新增运行证据
| 类别 | 内容 |
|---|---|
| rerun | fixed real-path 200-ref rerun 仍在前台运行:session 19709
|
| chromaprint |
200/200 完成,skipped_refs=0
|
| reference | 已进入 embedding/reference 阶段,并完成 25/200 checkpoint |
| 产物 | 已落盘 reference_progress.json、reference_embs.partial.npy、reference_ids.partial.npy
|
当前最重要的 fresh evidence
- 观测时间:
2026-06-02 15:29:17 UTC - 输出目录:
/tmp/fma_realpath_small_rerun_index2 -
chromaprint_progress.json:status=completerefs_done=200/200hashes=57577postings=187446skipped_refs=0
-
reference_progress.json:status=buildingrefs_done=25/200windows_done=256skipped_refs=0
- 已出现:
reference_embs.partial.npyreference_ids.partial.npy
结论
- 这次 fixed rerun 已经证明:修复后的真实路径样本不再卡死在 chromaprint 阶段。
- 当前最有价值的下一步,变为继续盯
reference_*完成或捕获新的明确失败证据。