Batch 3a: library_run.py 支持 --work-dir(工作根可指定,默认常量不变)

_apply_work_dir() 在 argv 解析后重绑 WORK/STAGE/LEDGER/LOCKF/POLICY;--stage-dir 仍只覆盖暂存。
不传 --work-dir 时行为与以前逐位一致(控制面 docs/DESIGN.md §18 是规则出处)。
STATE.md 记录本轮。验收:控制面 scripts/acceptance_work_dir.py 真跑 copy 档 PASS 8/8,
控制面 124 用例 OK。回滚点 tag pre-batch3a。
This commit is contained in:
2026-10-13 22:06:16 +08:00
parent d5b430f275
commit 6126ad5c2c
2 changed files with 51 additions and 4 deletions
+18
View File
@@ -2,6 +2,24 @@
给下一个会话的交接。**权威运行器:`scripts/library_run.py`**(不要再恢复旧的 `hevc_lib.py`)。
## 2026-10-13:`--work-dir` —— 工作根可以指定了(Batch 3a)
**改了什么**:`WORK`(默认 `C:\AI\transcode-run`)从「唯一真相」退化成**默认值**。`main()` 解析完 argv 后,
若给了 `--work-dir` 就调用新增的 `_apply_work_dir()` 重新绑定 `WORK / STAGE / LEDGER / LOCKF / POLICY`
(模块全局;所有引用点都是调用时查找,所以函数体一行没改)。`--stage-dir` 仍然只覆盖暂存。
**为什么**:控制面(`hoelee/hevc-transcode`)过去要用正则读本文件的 `WORK` 常量、并要求 `settings.work_root`
与它**完全一致**,否则 doctor FAIL —— 那是跨仓库的隐式契约。现在由控制面显式传,`work_root` 成为权威
(规则见控制面仓 `docs/DESIGN.md` §18)。**根目录指错不会报错,只会读到一个空的 `gate_policy.json`**,表现是
业主的 park/accept 决定「全都丢了」—— 所以默认值必须保持不变,只有显式传 `--work-dir` 才移动。
**手跑行为不变**:`python scripts/library_run.py …`(不传 `--work-dir`)写的地方和以前一模一样。
**控制面**只在检测到本文件支持该参数时才传(`rt.config.engine_features()` 读源码判定)。
**验收**(在控制面仓):`scripts/acceptance_work_dir.py` 真跑一次 copy 档 → **PASS 8/8**(ledger 与 `stage/`
落在新根、默认根里**没有本项**的记录、源档 SHA-256 未变、安装件可 probe);控制面 124 用例 OK。
⚠ 这类验收**不要**用「默认根 ledger 哈希没变」当断言 —— 生产 lane 同时在追加那份文件。
## 2026-10-11:画质策略落地(闸门对齐 / 门槛 / VMAF)—— 先读这一节
**结论:闸门以前把帧配错了对**,靠它判死过 14 个健康编码(9.6 h 里烧掉 12.4 h lane 时间、13 项被 park)。