Commit 41c4d7cc 41c4d7ccc802c1beaf6c2fbaca8eadcf42eac2be by cnb.bofCdSsphPA

capture the first real-path post-fix reference checkpoint\n\nConstraint: Handoff…

… must reflect fresh observable evidence before restart and avoid staging data artifacts\nRejected: Wait for full reference completion | User asked for immediate delivery package and current checkpoint is already a meaningful stage transition\nConfidence: high\nScope-risk: narrow\nDirective: Treat session 19709 and /tmp/fma_realpath_small_rerun_index2 as the primary continuation path until final reference artifacts or a new traceback appear\nTested: Verified chromaprint 200/200 complete, reference_progress.json 25/200 checkpoint, partial reference numpy artifacts, and updated handoff/changelog files\nNot-tested: Full reference completion and downstream evaluate stage on the active rerun
1 parent 707449b8
......@@ -74,26 +74,33 @@
## 5.5 最新真实 FMA / chromaprint 运行态(2026-06-02)
### 当前最新快照(15:09 UTC)
- 远程同步基线:`cdf33bb`
- 当前已不是“进程仍在运行”的阶段,而是:
- observable `PID=431703` 已退出
- legacy `PID=424691` 已退出
- observable 当前只留下:
- `/tmp/chroma_index_observable_smoke/chromaprint.pkl`
- `/tmp/chroma_index_observable_smoke/chromaprint_progress.json`
- 最后进度停在:
### 当前最新快照(15:29 UTC)
- 远程同步基线:`707449b`
- 当前最重要的新证据,不再是旧 observable 异常退出,而是:**fixed real-path 200-ref rerun 已进入 reference 阶段**
- 前台运行 session:`19709`
- 输出目录:`/tmp/fma_realpath_small_rerun_index2`
- chromaprint 已完成:
- `status=complete`
- `refs_done=200/200`
- `skipped_refs=0`
- `hashes=57577`
- `postings=187446`
- reference 已开始并完成首个 checkpoint:
- `status=building`
- `refs_done=4420/8000`
- 当前仍未出现 `reference_*``evaluate.py`
- 因此下一轮工作重心必须切到:**排查 build-index 异常退出**,而不是继续把它当作纯线性慢任务。
- 已完成一个低风险修复:关键 `print()` 已加 `flush=True`,并已用极小样本 `RC=1` 失败复现验证日志/traceback 可实时落盘,不再出现 `0 bytes` 日志黑箱。
- 已完成一个高价值容错修复:坏 MP3 / 缺失音频会在 chromaprint/reference 阶段被跳过,并已用 `1 good + 1 bad` 最小复现验证 `RC=0``reference_*` 成功产出。
- `refs_done=25/200`
- `windows_done=256`
- `skipped_refs=0`
- 当前已出现:
- `reference_progress.json`
- `reference_embs.partial.npy`
- `reference_ids.partial.npy`
- 这说明:`flush=True` + 坏音频 skip tolerance 修复后,真实路径 rerun 已跨过 `chromaprint -> reference` 边界。
- 下一次值得提交的事件:
1. 找到明确失败证据/退出原因
2. 成功小样本复现并补日志
3. 修复后重新跑到 `reference_*``evaluate.py`
1. `reference_embs.npy` / `reference_ids.npy` 完整产出
2. `evaluate.py` 启动或完整评测开始
3. 或出现新的明确 traceback / failure evidence
## 6. 高风险注意事项
......
## 2026-06-02 15:29 UTC / real-path 200-ref rerun crossed into reference stage
- 基于已修复代码继续跟进真实路径 200 reference rerun:`/tmp/fma_realpath_small_rerun_index2`
- fresh evidence(`2026-06-02 15:29:17 UTC`):
- `chromaprint_progress.json` => `status=complete`, `refs_done=200/200`, `skipped_refs=0`
- 已落盘 `chromaprint.pkl``2266212 bytes`
- `reference_progress.json` 已出现,当前为 `status=building`
- reference 阶段已完成首个 checkpoint:`refs_done=25/200`, `windows_done=256`, `skipped_refs=0`
- partial 产物已出现:
- `reference_embs.partial.npy`
- `reference_ids.partial.npy`
- 结论:当前主流程已经明确跨过 `chromaprint -> reference` 边界,之前“只停在 chromaprint 无下游产物”的状态不再适用于这条 fixed rerun
- 下一关键里程碑:
1. `reference_embs.npy` / `reference_ids.npy` 完整产出
2. 或捕获新的明确 traceback / failure evidence
## 2026-06-02 15:22 UTC / bad-mp3 skip tolerance verified
-`chromaprint_matcher.py``ecapa_embedder.py` 的 reference 建索引循环增加单文件容错:
......
......@@ -94,3 +94,38 @@
- 当前已验证:单个坏 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=complete`
- `refs_done=200/200`
- `hashes=57577`
- `postings=187446`
- `skipped_refs=0`
- `reference_progress.json`
- `status=building`
- `refs_done=25/200`
- `windows_done=256`
- `skipped_refs=0`
- 已出现:
- `reference_embs.partial.npy`
- `reference_ids.partial.npy`
### 结论
- 这次 fixed rerun 已经证明:修复后的真实路径样本不再卡死在 chromaprint 阶段。
- 当前最有价值的下一步,变为继续盯 `reference_*` 完成或捕获新的明确失败证据。
......
## 本次交付包追加更新(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=complete`
- `refs_done=200 / 200`
- `hashes=57577`
- `postings=187446`
- `skipped_refs=0`
- `reference_progress.json`
- `status=building`
- `refs_done=25 / 200`
- `windows_done=256`
- `elapsed_sec=52.567`
- `eta_sec=367.967`
- `skipped_refs=0`
- 当前已出现:
- `reference_embs.partial.npy`
- `reference_ids.partial.npy`
### 当前判断
- `flush=True` 与坏音频 skip tolerance 修复之后,真实路径 rerun 已穿过 `chromaprint -> reference` 阶段边界。
- 当前最高优先级不再是重复证明 chromaprint 完成,而是继续盯 reference 阶段是否:
1. 完整落盘 `reference_embs.npy` / `reference_ids.npy`;或
2. 暴露新的明确 traceback / failure evidence。
### 建议的新 session 接管顺序
1. 先看 [./session-handoff.md](./session-handoff.md) 顶部新快照
2. 读取前台 `session 19709` 最新输出
3. 检查 `/tmp/fma_realpath_small_rerun_index2/` 是否已从 partial 转为 final 产物
---
# Delivery Handoff / 2026-06-02
## 本次交付包(2026-06-02 15:09 UTC)
......
......@@ -5,31 +5,31 @@
## 一页结论
### 最新交付快照(2026-06-02 15:09 UTC)
- 当前远程同步基线:`cdf33bb`
- 当前最重要的新事实:**两个 `build-index` 进程都已退出**,且没有进入 `reference_*` / `evaluate.py`
- observable 路径:
- 原 PID:`431703`
- 当前 `ps -p 431703`:无存活进程
- 当前目录仅有:`chromaprint.pkl``chromaprint_progress.json`
- 最后状态:`status=building`, `refs_done=4420/8000`
- legacy 全量 FMA 路径:
- 原 PID:`424691`
- 当前 `ps -p 424691`:无存活进程
- 当前目录仍只有 `/tmp/fma_real_smoke_stopcheck/fma_index_smoke`
- 当前尚未出现:
- `reference_progress.json`
### 最新交付快照(2026-06-02 15:29 UTC)
- 当前远程同步基线:`707449b`
- 当前最重要的新事实:**fixed real-path 200-ref rerun 已明确进入 reference/embedding 阶段**
- 前台 session:`19709`
- 输出目录:`/tmp/fma_realpath_small_rerun_index2`
- chromaprint 阶段:
- `status=complete`
- `refs_done=200/200`
- `skipped_refs=0`
- `chromaprint.pkl=2266212 bytes`
- reference 阶段:
- `reference_progress.json` 已出现
- `status=building`
- `refs_done=25/200`
- `windows_done=256`
- `skipped_refs=0`
- 当前已出现:
- `reference_embs.partial.npy`
- `reference_ids.partial.npy`
- `reference_embs.npy`
- `reference_ids.npy`
- `evaluate.py`
- 结论:当前阶段已经从“继续观察运行中进度”切换为“排查 `build-index` 异常退出原因”。
- 结论:修复后的真实路径 rerun 已跨过 `chromaprint -> reference` 边界;下一关键里程碑是 final `reference_*` 产物或新的明确失败证据。
- 新 session 第一优先级:
1. 复盘 `run_demo.py build-index` 的退出路径
2. 查 silent failure / OOM / shell termination 证据
3. 用小样本复现异常并补日志
1. 继续读取 `session 19709` 最新输出
2. 检查 partial 是否转成 `reference_embs.npy` / `reference_ids.npy`
3. 如失败,记录 traceback 并进入下一轮修复
### 最新可观测性修复(2026-06-02 15:18 UTC)
......