Commit cdf33bb2 cdf33bb25a84c92e88cbbc6755226d089ab6f64f by cnb.bofCdSsphPA

Preserve the observable build-index state so the next session can resume from the real bottleneck

Constraint: Long-running CPU-only chromaprint indexing has not reached evaluate yet
Rejected: Keep appending linear refs_done updates | produces noise without a stage transition
Confidence: high
Scope-risk: narrow
Directive: Do not create the next handoff commit until chromaprint completes, reference_* appears, evaluate starts, or the process fails
Tested: Verified /tmp/chroma_index_observable_smoke progress snapshot; reviewed updated handoff/changelog files
Not-tested: No new model/evaluation result because build-index has not reached the next stage
1 parent bc6d07af
......@@ -72,40 +72,32 @@
- `hybrid` 波动收敛
- 更接近商用的数据集组合评测
## 5.5 最新真实 FMA smoke 运行态(2026-06-02)
### 当前最新快照(13:36 UTC)
- 远程同步基线:`c2d7820cdeebb142896916c0a03726521e5c09d8`
- 真实 FMA smoke 已完成训练,`best_model.pt``song_to_idx.json` 已生成。
- 当前最重要活跃阶段不是训练,而是:
- `run_demo.py build-index --data /tmp/fma_real_smoke_stopcheck/fma/manifests ...`
-`2026-06-02 13:36 UTC`
- `evaluate.py` 仍未出现
- `fma_index_smoke/` 目录已创建,但还没有索引产物文件证据
- 因此新 session 不应重复排查训练;应优先盯住 `build-index -> evaluate` 的阶段切换。
- 真实 FMA 数据已本地就绪:`acr-engine/data/raw/fma_small_audio/`
- 已验证:
- `num_audio_files=8000`
- `eligible_query_files=7994`
- `ready_for_smoke=true`
- 当前有一条真实 FMA 端到端 smoke 正在运行:
- 进程:`src/data/external_adapters.py smoke-local fma ...`
- 输出:`/tmp/fma_real_smoke_stopcheck`
- 训练子进程:`train.py --data /tmp/fma_real_smoke_stopcheck/fma/manifests ...`
- 最新 checkpoint(2026-06-02 12:09 UTC):
- `train.py` 仍在运行
- `ELAPSED=12:00`
- `catalog_references=8000`
- `train_queries=6401`
- `test_queries=1593`
- `fma_models_smoke/` 仍为空,这在当前实现中是正常现象,因为 `best_model.pt` 只会在 `Epoch 1` 结束后首次保存
- 环境确认无 GPU:
- `nvidia-smi` 不可用
- `torch.cuda.is_available() = false`
- 因此当前最真实的卡点不是 bug,而是 **CPU-only 真实 FMA smoke 耗时长**
## 5.5 最新真实 FMA / chromaprint 运行态(2026-06-02)
### 当前最新快照(14:25 UTC)
- 远程同步基线:`bc6d07afbd1e31d3956d20e35c20c424bc21ba99`
- 已推送完成:
- chromaprint `_find_peaks()` 等价优化
- chromaprint 建索引 observability
- 新 session 的主要监控对象应切到:
- `PID=431703`
- `/tmp/chroma_index_observable_smoke/chromaprint_progress.json`
- `/tmp/chroma_index_observable_smoke/chromaprint.pkl`
- `2026-06-02 14:25:32 UTC` 证据:
- `status=building`
- `refs_done=1740/8000`
- `elapsed_sec=1385.4`
- `eta_sec=4984.254`
- `hashes=229127`
- `postings=1510952`
- 当前尚未出现 `reference_*``evaluate.py`,因此**还不能输出最终 accuracy 结论**
-`PID=424691` 真实 FMA 全量 build-index 进程仍在,但它是 observability 改动前启动的旧路径;不要把它当作新代码验证来源。
- 下一次值得提交的事件只应是:
1. `chromaprint_progress.json status=complete`
2. `reference_*` 文件出现
3. `evaluate.py` 启动
4. 或明确失败
## 6. 高风险注意事项
......
## 2026-06-02 14:25 UTC / restart-package handoff refresh
- 交付基线刷新为:`bc6d07afbd1e31d3956d20e35c20c424bc21ba99`
- 固化当前最重要运行证据:observable chromaprint smoke
- `PID=431703`
- `status=building`
- `refs_done=1740/8000`
- `hashes=229127`
- `postings=1510952`
- 明确旧真实 FMA build-index 进程仅作背景运行态,不再作为新 observability 代码验证来源
- 重写交付/交接文档,便于新 session 直接从 `chromaprint -> reference_* -> evaluate` 阶段继续
- 约束保持不变:不提交 `data/raw``data/external_smoke``/tmp`、checkpoint、`__pycache__`
## 2026-06-02 chromaprint build-index observability checkpoint
完成项:
......
......@@ -5,26 +5,38 @@
## 一页结论
### 最新交付快照(2026-06-02 13:36 UTC)
- 当前远程同步基线:`c2d7820cdeebb142896916c0a03726521e5c09d8`
- 真实 FMA 全量 smoke **已经完成训练**,并已产出:
- `/tmp/fma_real_smoke_stopcheck/fma_models_smoke/best_model.pt`
- `/tmp/fma_real_smoke_stopcheck/fma_models_smoke/song_to_idx.json`
- 当前主流程仍停留在 **`run_demo.py build-index`**
- `PID=311494``external_adapters.py smoke-local ...`
- `PID=424691``run_demo.py build-index --data /tmp/fma_real_smoke_stopcheck/fma/manifests ...`
- 截至 `2026-06-02 13:36 UTC`
- 仍未观测到 `evaluate.py`
- `/tmp/fma_real_smoke_stopcheck/fma_index_smoke/` 已存在,但尚未看到索引产物文件
- manifest 再校验仍通过:`catalog_references=8000`, `train_queries=6401`, `test_queries=1593`, `ok=true`
- 结论:当前不是训练卡死,而是 **CPU-only 全量真实 FMA 在长时间建索引**
- 下一关键证据只有两个:
1. 首个 index artifact 出现
2. 主流程切换到 `evaluate.py`
这是一个正在从原型向工业化推进的 **音乐 ACR / music retrieval** 项目。
当前已经完成:
### 最新交付快照(2026-06-02 14:25 UTC)
- 当前远程同步基线:`bc6d07afbd1e31d3956d20e35c20c424bc21ba99`
- 已正式交付的最新代码能力:
- chromaprint `_find_peaks()` 等价加速
- chromaprint 建索引进度可观测化
- `run_demo.py --chromaprint-checkpoint-every-refs`
- 当前最重要的 live evidence 不再是旧全量 FMA 进程,而是**新的 observable chromaprint smoke**
- `PID=431703`
- 输出目录:`/tmp/chroma_index_observable_smoke`
- `2026-06-02 14:25:32 UTC` 最新观测:
- `status=building`
- `refs_done=1740 / 8000`
- `elapsed_sec=1385.4`
- `eta_sec=4984.254`
- `hashes=229127`
- `postings=1510952`
- `chromaprint.pkl=16787221 bytes`
- 当前尚未出现:
- `reference_progress.json`
- `reference_embs.partial.npy`
- `reference_ids.partial.npy`
- `reference_embs.npy`
- `reference_ids.npy`
- `evaluate.py`
- 旧真实 FMA 全量进程 `PID=424691` 仍在运行,但它启动于 observability 改动前,**不要作为新代码路径的验证证据**
- 结论:当前不是训练问题,也不是新逻辑无证据;当前只是 **CPU-only chromaprint build-index 仍在稳定推进,尚未阶段切换**
- 下一次值得更新文档/提交的事件只有四种:
1. `chromaprint_progress.json` 变为 `status=complete`
2. 任一 `reference_*` 文件出现
3. `evaluate.py` 启动
4. 进程报错退出
这是一个正在从原型向工业化推进的 **音乐 ACR / music retrieval** 项目。
当前已经完成:
......