Commit 020702cc 020702cc4cb314fdd30174c1a3e696584d196306 by cnb.bofCdSsphPA

Promote the one-command song-centric runner as the default handoff path

Constraint: Reduce resume friction for future sessions by making the current live-validated runner the first-class entrypoint in docs and artifacts.
Rejected: Keep the active song-centric workflow scattered across multiple lower-level commands in the handoff docs | It slows recovery and increases cognitive overhead.
Confidence: high
Scope-risk: narrow
Directive: For current development, start with run_songcentric_directory_pipeline_live.py before dropping to the lower-level builder/enricher/importer commands.
Tested: /usr/local/miniconda3/bin/python acr-engine/scripts/run_songcentric_directory_pipeline_live.py --dsn postgres://d2:d2pass@127.0.0.1:5432/d2 --schema acr_songcentric_test --input-root acr-engine/data/songcentric_builder_smoke --output-dir acr-engine/data/pgvector_eval/music20; git diff --check; /usr/local/miniconda3/bin/python scripts/check_markdown_links.py --root docs returned OK for 11 active markdown files
Not-tested: alternate input roots beyond the current smoke directory
1 parent 3b4b3684
1 ## 2026-06-04 1 ## 2026-06-04
2 2
3 -`run_songcentric_directory_pipeline_live.py` 提升为当前默认主线入口,并把 fresh runner 结果同步到 `docs/README.md``docs/start-here.md``docs/session-handoff.md`,降低下次 session 的恢复成本。
4
3 - 新增 `acr-engine/scripts/run_songcentric_directory_pipeline_live.py`,把“真实目录 -> manifest -> 特征补全 -> live PostgreSQL 导入”收敛为一条可重复执行的 runner,并输出 exact/semantic backend 选择与导入计数摘要。 5 - 新增 `acr-engine/scripts/run_songcentric_directory_pipeline_live.py`,把“真实目录 -> manifest -> 特征补全 -> live PostgreSQL 导入”收敛为一条可重复执行的 runner,并输出 exact/semantic backend 选择与导入计数摘要。
4 6
5 - 升级 `enrich_songcentric_manifest_with_local_features.py` 为 runtime-aware 语义适配器选择:当前 host 上因缺少 `torch/torchaudio/transformers`,semantic lane 明确写入 `local_wavehash_embed` fallback,并把缺失依赖固化到 report/metadata 中。 7 - 升级 `enrich_songcentric_manifest_with_local_features.py` 为 runtime-aware 语义适配器选择:当前 host 上因缺少 `torch/torchaudio/transformers`,semantic lane 明确写入 `local_wavehash_embed` fallback,并把缺失依赖固化到 report/metadata 中。
......
...@@ -6,6 +6,19 @@ ...@@ -6,6 +6,19 @@
6 6
7 ## 0. 新同学先做什么 7 ## 0. 新同学先做什么
8 8
9 如果当前要继续 song-centric 主线,先跑:
10
11 ```bash
12 cd /workspace
13 /usr/local/miniconda3/bin/python acr-engine/scripts/run_songcentric_directory_pipeline_live.py \
14 --dsn 'postgres://d2:d2pass@127.0.0.1:5432/d2' \
15 --schema acr_songcentric_test \
16 --input-root acr-engine/data/songcentric_builder_smoke \
17 --output-dir acr-engine/data/pgvector_eval/music20
18 ```
19
20 如果要回归旧的 planner/worker 合同,再跑:
21
9 ```bash 22 ```bash
10 cd /workspace/acr-engine 23 cd /workspace/acr-engine
11 /usr/local/miniconda3/bin/python scripts/run_planner_validation_commands_live.py \ 24 /usr/local/miniconda3/bin/python scripts/run_planner_validation_commands_live.py \
......
...@@ -11,7 +11,27 @@ ...@@ -11,7 +11,27 @@
11 11
12 ## 0. 下次启动先做什么 12 ## 0. 下次启动先做什么
13 13
14 先执行: 14 如果下次启动要继续当前主线(**song-centric 真实目录 -> feature -> PostgreSQL**),先执行:
15
16 ```bash
17 cd /workspace
18 /usr/local/miniconda3/bin/python acr-engine/scripts/run_songcentric_directory_pipeline_live.py \
19 --dsn 'postgres://d2:d2pass@127.0.0.1:5432/d2' \
20 --schema acr_songcentric_test \
21 --input-root acr-engine/data/songcentric_builder_smoke \
22 --output-dir acr-engine/data/pgvector_eval/music20
23 ```
24
25 当前 fresh evidence:
26 - `song_count = 2`
27 - `window_count = 5`
28 - `matcher_fingerprint_count = 5`
29 - `fallback_fingerprint_count = 0`
30 - `semantic_runtime_available = false`
31 - `semantic_runtime_missing = [torch, torchaudio, transformers]`
32 - `import_counts = media_entity:9 / audio_object:22 / feature_fact:24 / set_membership:9`
33
34 如果只是回归历史 Phase-1 planner/worker 合同,再执行:
15 35
16 ```bash 36 ```bash
17 cd /workspace/acr-engine 37 cd /workspace/acr-engine
......
...@@ -6,6 +6,27 @@ ...@@ -6,6 +6,27 @@
6 6
7 ## 1. 先执行这条命令 7 ## 1. 先执行这条命令
8 8
9 如果当前目标是验证 **song-centric 真实目录 -> feature -> PostgreSQL** 主链,优先跑:
10
11 ```bash
12 cd /workspace
13 /usr/local/miniconda3/bin/python acr-engine/scripts/run_songcentric_directory_pipeline_live.py \
14 --dsn 'postgres://d2:d2pass@127.0.0.1:5432/d2' \
15 --schema acr_songcentric_test \
16 --input-root acr-engine/data/songcentric_builder_smoke \
17 --output-dir acr-engine/data/pgvector_eval/music20
18 ```
19
20 当前 fresh evidence:
21 - `song_count = 2`
22 - `window_count = 5`
23 - `matcher_fingerprint_count = 5`
24 - `fallback_fingerprint_count = 0`
25 - `semantic_runtime_available = false`
26 - `import_counts.feature_fact = 24`
27
28 如果你当前目标是验证老的 Phase-1 planner/worker 合同,再跑下面这条:
29
9 ```bash 30 ```bash
10 cd /workspace/acr-engine 31 cd /workspace/acr-engine
11 /usr/local/miniconda3/bin/python scripts/run_planner_validation_commands_live.py \ 32 /usr/local/miniconda3/bin/python scripts/run_planner_validation_commands_live.py \
......