delivery-handoff-2026-06-02.md
7.7 KB
本次交付包追加更新(2026-06-02 15:40 UTC)
交付结论
当前最新里程碑已经从“reference index 完成”推进到 fixed real-path 200-ref rerun 已拿到首份显式 evaluate 指标:
- 远程基线当前为:
9371e94(更新前) - real-path
200-refindex 已完整完成 - 显式
evaluate.pysmoke 已完成 - 当前首份结果:
top1=0.8571,topk=1.0,num_queries=35 - 因此主线已从“索引能否跑通”进入“评测质量与 hard case 扩展”阶段
当前最新事实
evaluate smoke 路径
- 观测时间:
2026-06-02 15:40:30 UTC - 结果文件:
/tmp/fma_realpath_small_rerun_eval/eval_top50.json - 评测结果:
split=testnum_queries=35top1=0.8571topk=1.0-
by_type.clean:n=35,top1=0.8571,topk=1.0
- query 数来源说明:
- 200-ref catalog 与现有 external smoke test overlap =
235items - 其中非
referencequery =35 - 所以
--max-queries 50实际只评到35条
- 200-ref catalog 与现有 external smoke test overlap =
当前判断
- 当前已经拥有一条完整可复用的真实路径 smoke 证据链:
chromaprint complete -> reference complete -> evaluate complete - 下一阶段更值得做的是:
- 扩大评测 query 数与 reference 规模;
- 引入
confused/humming_like/ hard negative 评测。
本次交付包追加更新(2026-06-02 15:35 UTC)
交付结论
当前最新里程碑已经从“进入 reference 阶段”推进到 fixed real-path 200-ref rerun 已完整产出最终 embedding/reference index:
- 远程基线当前为:
41c4d7c(更新前) - chromaprint 已完整完成:
200/200 - reference 已完整完成:
200/200 - 最终产物
reference_embs.npy/reference_ids.npy已落盘 - 因此主问题已从“能否穿过建索引核心阶段”转向“后续 evaluate / identify 链如何衔接验证”
当前最新事实
fixed real-path rerun 路径
- 观测时间:
2026-06-02 15:35:19 UTC - 输出目录:
/tmp/fma_realpath_small_rerun_index2 -
chromaprint_progress.json:status=completerefs_done=200 / 200hashes=57577postings=187446skipped_refs=0
-
reference_progress.json:status=completerefs_done=200 / 200windows_done=2068elapsed_sec=410.046embedding_shape=[2068, 192]skipped_refs=0
- 当前已出现最终产物:
reference_embs.npyreference_ids.npy
当前判断
- 这条 fixed rerun 已经给出强证据:
flush=True与坏音频 skip tolerance 修复后,真实路径样本可以完整跑完两段核心建索引流程。 - 下一阶段应集中验证:
- 是否自动衔接到 evaluate / identify;
- 若没有,补一轮显式 evaluate smoke。
本次交付包追加更新(2026-06-02 15:29 UTC)
交付结论
当前最新里程碑不是新的失败,而是 fixed real-path 200-ref rerun 已明确跨入 reference/embedding 阶段:
- 远程基线当前为:
707449b - chromaprint 已完整完成:
200/200 - reference 阶段已写出首个 checkpoint:
25/200 - 已出现
reference_progress.json与 partial numpy 产物 - 因此下一 session 不应再把这条 rerun 当作“停在 chromaprint 无下游文件”的旧状态
当前最新事实
fixed real-path rerun 路径
- 前台 session:
19709 - 观测时间:
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=256elapsed_sec=52.567eta_sec=367.967skipped_refs=0
- 当前已出现:
reference_embs.partial.npyreference_ids.partial.npy
当前判断
-
flush=True与坏音频 skip tolerance 修复之后,真实路径 rerun 已穿过chromaprint -> reference阶段边界。 - 当前最高优先级不再是重复证明 chromaprint 完成,而是继续盯 reference 阶段是否:
- 完整落盘
reference_embs.npy/reference_ids.npy;或 - 暴露新的明确 traceback / failure evidence。
- 完整落盘
建议的新 session 接管顺序
- 先看 ./session-handoff.md 顶部新快照
- 读取前台
session 19709最新输出 - 检查
/tmp/fma_realpath_small_rerun_index2/是否已从 partial 转为 final 产物
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__