Preserve restartable delivery state before the long benchmark finishes
Constraint: The cap48 seed=999 benchmark is still running, so this checkpoint must avoid unverified algorithm conclusions Rejected: Wait for the CPU benchmark to finish | Would delay handoff and leave the next session without a clean restart package Confidence: high Scope-risk: narrow Directive: Keep future doc-only checkpoints surgically staged and do not add data/raw, external_smoke, /tmp outputs, or model artifacts Tested: Verified staged diff only includes AGENT memory, handoff, changelog, and changelist docs; confirmed /tmp cap48 seed=999 report is not ready yet Not-tested: The in-flight cap48 seed=999 benchmark result and any follow-up aggregate metrics
Showing
5 changed files
with
241 additions
and
0 deletions
AGENT.md
0 → 100644
| 1 | # AGENT Memory / 开发续跑记忆 | ||
| 2 | |||
| 3 | > 更新:2026-06-02 | ||
| 4 | > 目的:让新 session 在 1~3 分钟内接上当前开发节奏。 | ||
| 5 | |||
| 6 | ## 1. 用户长期偏好 | ||
| 7 | |||
| 8 | - 默认使用中文输出。 | ||
| 9 | - 尽量自主推进,不要频繁停下来询问。 | ||
| 10 | - 每完成一个阶段性 checklist: | ||
| 11 | 1. 更新 `docs/CHANGELOG.md` | ||
| 12 | 2. `git commit` | ||
| 13 | 3. `git push origin main` | ||
| 14 | - Python 固定使用:`/usr/local/miniconda3/bin/python` | ||
| 15 | - 文档优先级:图 > 表 > 文字 > 细节附录。 | ||
| 16 | - 文档要浓缩分类,避免同层级文档过多。 | ||
| 17 | - 外部/内部文档链接优先使用相对路径跳转,不要只用反引号包裹地址。 | ||
| 18 | - 严禁误提交大体积数据、训练产物、`/tmp` 结果、`__pycache__`。 | ||
| 19 | |||
| 20 | ## 2. 当前项目主线 | ||
| 21 | |||
| 22 | 这是一个正在工业化的音乐 ACR / 检索项目,主线是: | ||
| 23 | - 开放数据集接入 | ||
| 24 | - 音频切片策略优化 | ||
| 25 | - 训练 / 建索引 / 评测闭环 | ||
| 26 | - 准确率与混淆鲁棒性提升 | ||
| 27 | - 文档与交接体系完善 | ||
| 28 | |||
| 29 | ## 3. 当前已完成重点 | ||
| 30 | |||
| 31 | - 已实现多种切片策略: | ||
| 32 | - `random` | ||
| 33 | - `silence_aware` | ||
| 34 | - `high_energy` | ||
| 35 | - `onset_aware` | ||
| 36 | - `beat_aware` | ||
| 37 | - `repeated_section_aware` | ||
| 38 | - `hybrid` | ||
| 39 | - 已实现公平评测控制: | ||
| 40 | - `evaluate.py --max-queries --seed` | ||
| 41 | - `smoke-local --max-test-queries` | ||
| 42 | - `scripts/ab_smoke_segmentation.py --max-test-queries` | ||
| 43 | - 已补强数据规范、pgvector 指南、FMA/开放数据工作流文档。 | ||
| 44 | |||
| 45 | ## 4. 当前经验结论 | ||
| 46 | |||
| 47 | - 小样本真实 FMA smoke 下,多策略都可能接近满分,不能据此定默认策略。 | ||
| 48 | - cap48 规模下结果对 seed 敏感。 | ||
| 49 | - 当前已知两轮 cap48 聚合里: | ||
| 50 | - `high_energy` 稳定性更强 | ||
| 51 | - `hybrid` 上限更高但波动更大 | ||
| 52 | - 默认策略决策应基于 multi-seed aggregate,而不是单次跑分。 | ||
| 53 | |||
| 54 | ## 5. 当前续跑优先级 | ||
| 55 | |||
| 56 | 1. 完成/确认 `cap48 top2 seed=999` 结果。 | ||
| 57 | 2. 汇总 3-seed aggregate。 | ||
| 58 | 3. 更新: | ||
| 59 | - `docs/open-dataset-workflow.md` | ||
| 60 | - `docs/session-handoff.md` | ||
| 61 | - `docs/CHANGELOG.md` | ||
| 62 | 4. 提交并推送。 | ||
| 63 | 5. 下一轮再推进: | ||
| 64 | - cap64 benchmark | ||
| 65 | - bucket/style-aware benchmark | ||
| 66 | - 工业级 hard negative / confusion 集设计 | ||
| 67 | |||
| 68 | ## 6. 高风险注意事项 | ||
| 69 | |||
| 70 | - `git status` 中通常会有大量: | ||
| 71 | - `acr-engine/data/raw/...` | ||
| 72 | - `acr-engine/data/external_smoke/...` | ||
| 73 | - 模型 checkpoint | ||
| 74 | - `__pycache__` | ||
| 75 | - 提交时必须显式 `git add` 目标文档文件,不能使用宽泛全量暂存。 | ||
| 76 | |||
| 77 | ## 7. 关键文档入口 | ||
| 78 | |||
| 79 | - `docs/README.md` | ||
| 80 | - `docs/open-dataset-workflow.md` | ||
| 81 | - `docs/dataset-spec.md` | ||
| 82 | - `docs/training-data-and-pgvector-guide.md` | ||
| 83 | - `docs/session-handoff.md` | ||
| 84 | - `docs/CHANGELOG.md` | ||
| 85 |
| 1 | ## 2026-06-02 交付检查点:handoff / changelist / agent memory | ||
| 2 | |||
| 3 | 完成项: | ||
| 4 | - 新增根目录 `AGENT.md`,固化当前开发偏好、提交习惯、续跑优先级与避坑约束。 | ||
| 5 | - 新增 `docs/changelist-2026-06-02.md`,用于本次交付文件级变更说明。 | ||
| 6 | - 新增 `docs/delivery-handoff-2026-06-02.md`,用于新 session 快速接管。 | ||
| 7 | - 补充 `docs/session-handoff.md`:明确当前卡点、运行中的 benchmark、下一步命令与禁止误提交项。 | ||
| 8 | |||
| 9 | 当前卡点: | ||
| 10 | - `cap48 top2 seed=999` benchmark 仍在运行中,尚未产出最终 `report.json`。 | ||
| 11 | - 仓库存在大量未跟踪数据与模型产物,当前阶段只适合提交文档。 | ||
| 12 | |||
| 13 | 交付说明: | ||
| 14 | - 本次提交以“可续跑交接”为目标,不等待长时 CPU benchmark 完成。 | ||
| 15 | - 下一 session 进入后应优先检查: | ||
| 16 | - `/tmp/ab_smoke_seg_cap48_top2_seed999/report.json` | ||
| 17 | - 相关 `eval.json` | ||
| 18 | - 进程是否仍在运行 | ||
| 19 | |||
| 1 | # Changelog | 20 | # Changelog |
| 2 | 21 | ||
| 3 | ## 2026-06-02 | 22 | ## 2026-06-02 | ... | ... |
docs/changelist-2026-06-02.md
0 → 100644
| 1 | # Changelist / 2026-06-02 | ||
| 2 | |||
| 3 | ## 本次交付目标 | ||
| 4 | |||
| 5 | 在不等待长时间 benchmark 完成的前提下,交付一套足够完整的续跑文档,让新 session 能立刻知道: | ||
| 6 | - 已完成什么 | ||
| 7 | - 正在卡在哪里 | ||
| 8 | - 下一步跑什么 | ||
| 9 | - 哪些文件能提,哪些不能提 | ||
| 10 | |||
| 11 | ## 文件级变更 | ||
| 12 | |||
| 13 | | 文件 | 变更说明 | | ||
| 14 | |---|---| | ||
| 15 | | [../AGENT.md](../AGENT.md) | 新增开发偏好与续跑记忆 | | ||
| 16 | | [./session-handoff.md](./session-handoff.md) | 增补当前卡点、待办与续跑命令 | | ||
| 17 | | [./delivery-handoff-2026-06-02.md](./delivery-handoff-2026-06-02.md) | 新增快速接管摘要 | | ||
| 18 | | [./CHANGELOG.md](./CHANGELOG.md) | 记录本次交付检查点 | | ||
| 19 | |||
| 20 | ## 不在本次提交中的内容 | ||
| 21 | |||
| 22 | - FMA / MTG-Jamendo 原始数据 | ||
| 23 | - `data/external_smoke` 中的音频与模型产物 | ||
| 24 | - `/tmp` benchmark 输出 | ||
| 25 | - `__pycache__` | ||
| 26 | - checkpoint / index 目录 | ||
| 27 | |||
| 28 | ## 当前运行中的任务 | ||
| 29 | |||
| 30 | - `cap48 top2 seed=999` | ||
| 31 | - 启动命令: | ||
| 32 | |||
| 33 | ```bash | ||
| 34 | cd /workspace/acr-engine | ||
| 35 | /usr/local/miniconda3/bin/python scripts/ab_smoke_segmentation.py \ | ||
| 36 | --dataset fma \ | ||
| 37 | --input-dir data/raw/fma_small_audio \ | ||
| 38 | --work-root /tmp/ab_smoke_seg_cap48_top2_seed999 \ | ||
| 39 | --subset-size 48 \ | ||
| 40 | --query-duration 8 \ | ||
| 41 | --train-epochs 1 \ | ||
| 42 | --batch-size 2 \ | ||
| 43 | --device cpu \ | ||
| 44 | --strategies hybrid high_energy \ | ||
| 45 | --max-test-queries 24 \ | ||
| 46 | --seed 999 \ | ||
| 47 | --output-json /tmp/ab_smoke_seg_cap48_top2_seed999/report.json | ||
| 48 | ``` | ||
| 49 | |||
| 50 | ## 下一步建议 | ||
| 51 | |||
| 52 | 1. 检查 `seed=999` 是否完成。 | ||
| 53 | 2. 生成 3-seed aggregate。 | ||
| 54 | 3. 回写 workflow / handoff / changelog。 | ||
| 55 | 4. 提交推送。 | ||
| 56 | 5. 再开启 cap64 或 bucket benchmark。 |
docs/delivery-handoff-2026-06-02.md
0 → 100644
| 1 | # Delivery Handoff / 2026-06-02 | ||
| 2 | |||
| 3 | ## 一页接管 | ||
| 4 | |||
| 5 | 当前可以直接交付的不是“最终算法结论”,而是“可持续续跑的工程状态”: | ||
| 6 | - 文档主结构已成型 | ||
| 7 | - 数据规范/输入输出/pgvector 说明已补齐 | ||
| 8 | - 切片策略与公平评测能力已落地 | ||
| 9 | - 最新大一点的 benchmark 还在跑,结果未最终封板 | ||
| 10 | |||
| 11 | ## 已完成 | ||
| 12 | |||
| 13 | - 多种音乐感知切片策略已接入训练与 query 生成。 | ||
| 14 | - 真实 FMA mini-subset smoke A/B 已多轮验证。 | ||
| 15 | - `high_energy` 与 `hybrid` 已成为当前最强候选。 | ||
| 16 | - cap48 结果已明确存在 seed sensitivity。 | ||
| 17 | - 文档已经浓缩为可导航结构。 | ||
| 18 | |||
| 19 | ## 当前卡点 | ||
| 20 | |||
| 21 | ### 卡点 1:seed=999 benchmark 未完成 | ||
| 22 | |||
| 23 | 待检查: | ||
| 24 | - `/tmp/ab_smoke_seg_cap48_top2_seed999/report.json` | ||
| 25 | - `/tmp/ab_smoke_seg_cap48_top2_seed999/hybrid/fma_reports_smoke/eval.json` | ||
| 26 | - `/tmp/ab_smoke_seg_cap48_top2_seed999/high_energy/fma_reports_smoke/eval.json` | ||
| 27 | |||
| 28 | ### 卡点 2:工作区噪音很大 | ||
| 29 | |||
| 30 | 当前有大量未跟踪或变更的数据/产物文件,提交时必须精准暂存文档文件。 | ||
| 31 | |||
| 32 | ## 建议接手顺序 | ||
| 33 | |||
| 34 | 1. 检查进程是否仍在运行。 | ||
| 35 | 2. 如果完成,计算 3-seed aggregate。 | ||
| 36 | 3. 回写结论到: | ||
| 37 | - [open-dataset-workflow.md](./open-dataset-workflow.md) | ||
| 38 | - [session-handoff.md](./session-handoff.md) | ||
| 39 | - [CHANGELOG.md](./CHANGELOG.md) | ||
| 40 | 4. 单独提交文档。 | ||
| 41 | 5. 再继续下一轮 benchmark。 | ||
| 42 | |||
| 43 | ## 推荐检查命令 | ||
| 44 | |||
| 45 | ```bash | ||
| 46 | pgrep -af 'ab_smoke_seg_cap48_top2_seed999|external_adapters.py smoke-local fma /tmp/ab_smoke_seg_cap48_top2_seed999|evaluate.py --data /tmp/ab_smoke_seg_cap48_top2_seed999|run_demo.py build-index --data /tmp/ab_smoke_seg_cap48_top2_seed999|train.py --data /tmp/ab_smoke_seg_cap48_top2_seed999' | ||
| 47 | ``` | ||
| 48 | |||
| 49 | ```bash | ||
| 50 | test -f /tmp/ab_smoke_seg_cap48_top2_seed999/report.json && cat /tmp/ab_smoke_seg_cap48_top2_seed999/report.json || echo NO_REPORT | ||
| 51 | ``` |
| ... | @@ -209,6 +209,26 @@ | ... | @@ -209,6 +209,26 @@ |
| 209 | 209 | ||
| 210 | --- | 210 | --- |
| 211 | 211 | ||
| 212 | ## 0. 当前交付状态(本次 checkpoint) | ||
| 213 | |||
| 214 | ### 已可交付 | ||
| 215 | - 文档体系、数据规范、切片策略、评测公平性控制已成型。 | ||
| 216 | - 新 session 已可依据本文件和 `AGENT.md` 继续推进。 | ||
| 217 | |||
| 218 | ### 当前卡点 | ||
| 219 | - `cap48 top2 seed=999` 仍在运行或待收尾,尚未写回最终 3-seed aggregate 结论。 | ||
| 220 | - 工作区存在大量数据与模型产物,当前只建议精确提交文档文件。 | ||
| 221 | |||
| 222 | ### 最优先待办 | ||
| 223 | 1. 检查 `/tmp/ab_smoke_seg_cap48_top2_seed999/report.json` 是否生成。 | ||
| 224 | 2. 如已生成,计算 `default + 123 + 999` 三个 seed 的 aggregate。 | ||
| 225 | 3. 更新 `open-dataset-workflow.md / session-handoff.md / CHANGELOG.md`。 | ||
| 226 | 4. 提交并推送。 | ||
| 227 | |||
| 228 | ### 续跑时不要做的事 | ||
| 229 | - 不要 `git add .` | ||
| 230 | - 不要提交 `data/raw`、`data/external_smoke`、`/tmp`、`__pycache__`、模型与索引产物 | ||
| 231 | |||
| 212 | ## 7. 当前最重要的待办 | 232 | ## 7. 当前最重要的待办 |
| 213 | 233 | ||
| 214 | ### 优先级 A:真实开放数据替换 | 234 | ### 优先级 A:真实开放数据替换 |
| ... | @@ -618,3 +638,13 @@ seed123 最终结论: | ... | @@ -618,3 +638,13 @@ seed123 最终结论: |
| 618 | - FMA 下载完成后可直接执行:[acr-engine/scripts/fma_postdownload_ready.py](../acr-engine/scripts/fma_postdownload_ready.py) | 638 | - FMA 下载完成后可直接执行:[acr-engine/scripts/fma_postdownload_ready.py](../acr-engine/scripts/fma_postdownload_ready.py) |
| 619 | 639 | ||
| 620 | - 若需要等待下载完成并自动切到解压/就绪检查,可直接执行:[acr-engine/scripts/wait_for_fma_and_prepare.py](../acr-engine/scripts/wait_for_fma_and_prepare.py) | 640 | - 若需要等待下载完成并自动切到解压/就绪检查,可直接执行:[acr-engine/scripts/wait_for_fma_and_prepare.py](../acr-engine/scripts/wait_for_fma_and_prepare.py) |
| 641 | |||
| 642 | ## 99. 本次 checkpoint 的明确结论 | ||
| 643 | |||
| 644 | - 本次已经完成“交接可续跑化”交付。 | ||
| 645 | - 本次没有等待 `seed=999` 长时 CPU benchmark 完成,因此算法默认策略不做新结论跳变。 | ||
| 646 | - 当前最新稳妥表述仍然是: | ||
| 647 | - `high_energy` 在已知两轮 cap48 aggregate 中更稳 | ||
| 648 | - `hybrid` 上限更高但波动更大 | ||
| 649 | - 最终默认策略要看更多 seed 聚合结果 | ||
| 650 | ... | ... |
-
Please register or sign in to post a comment