| content |
{"Commits":[{"Sha1":"03d95db09 {"Commits":[{"Sha1":"03d95db096af66a1e7af7708a99156f194f2c702","Message":"Merge branch 'governance/consolidate-20260902'(整合治理分支 f77fe27 + C29 手工合入 + C31–C36/G21/G30 关闭)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-02T16:39:01-07:00"},{"Sha1":"7a871ea9c56ab4dfbb000e4f806a3759a5e962be","Message":"治理: 整合三条工作线 + 关闭 C31–C36/G21/G30 + 手工合入 C29(第二台机器 runtime 93 / ui 12 首绿)\n\n整合:本分支基于 origin/governance/adversarial-audit-fixes-20260728(f77fe27),叠加\n2026-08-30 本地模型可移植性工作(models:download / models:verify / models:setup-workers /\nmodels:normalize-manifest;manifest 钉 revision 并剔除 .cache 条目;demucs 捆绑 imageio-ffmpeg;\nstructure worker HF_MODULES_CACHE),并按「不另立第二份查找」手工合入\nclaude/clever-morse-0c9e45(20f1c2e,C29):export-format.ts 纯函数层 + vitest,\nreview-paths.ts 收口进既有 review-artifacts.ts(resolveArtifactPath 泛化,audio 路由同用)。\n\n关闭:\n- C31 治理聚合器 fail-open:runGate() 要求子门禁报告本轮新鲜/可解析/带指标,否则 [gate-failed] 红;\n 禁 `?? -1`/`?? 0` 折算。负向:写报告前 throw、exit 0 不写报告 均精确红\n- C32 模型资产入棘轮(违规只降、资产/文件数只升)+ 磁盘→manifest 未登记即红 + 可复现下载 revision∨uri\n- C33 docs-truth 扩到全部面向人的文档与无反引号 prose,八类新断言;models/ 按 manifest+git 判定\n (防干净检出必红,同时覆盖 G30);首跑 60 处漂移全部逐条订正\n- C34 ffmpeg 解析单源 resolve_ffmpeg(系统 PATH→imageio-ffmpeg),check:pipeline 干净机器不再必红,\n pytest 地板 139→143\n- C35 /api/review/audio 无 Range 致跟播死锁:lib/audio-range.ts 单源,两条音频路由共用,6 例 vitest\n- C36 验收链宿主机污染四连:prisma:generate --concurrency=1 + 验收前置 prisma-generate;脚本钉空\n NEXT_PUBLIC_API_URL/AUTH_TOKEN;删多余 apps/web/pnpm-lock.yaml;Playwright --disable-audio-output\n- G21 多代理适配器同源:.claude/skills 唯一真源,sync:agent-skills 生成 .agents/skills,\n check:governance-docs 比对(缺失/多出/漂移即红);幽灵 PROJECT-PROFILE 引用与假调用文案订正\n- G30 由 C33 覆盖关闭\n\n证据(本地工作区,dirty 状态生成):pnpm check exit 0;check:pipeline 143/143;\ncheck:runtime 93/93(testsPassed 地板 56→93,含 apps/web vitest 37 例);check:ui 12/12\n(UI_WEB_PORT=3141 / UI_API_PORT=3247);MODEL_ASSETS_FULL_HASH=1 42 文件全量哈希绿;\nown-tests 14 / own-test-cases 106。所有负向测试见 docs/governance-experience.md 各条。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-02T16:38:59-07:00"},{"Sha1":"f77fe276fc4f6336bb58132bef8e01e83b4c9ea1","Message":"fix: 对抗验收 C30——键口径双源静默失败 / 导出与手改不同源 / 会计头幽灵声称;并补视图精度\n\n对刚落地的手改写链做对抗性验收(try-to-break-it),当场抓到三处、全部修复并接入回归:\n- C30①【数据完整性】编辑键口径双源:校验用 Number(\"01\")=1 找得到行、应用用\n String(line_id)=\"1\" 查不到该键 → \"01\" 判合法却不落盘(响应 ok:true/manualLines:0);\n 该行本已有手改时更会被 apply 当\"缺席\"**静默还原**(实测本意改 end=14.5、磁盘回退 13.2)。\n 修法:键统一 ^(0|[1-9]\\d*)$ fail closed,校验与应用共用同一把钥匙\n- C30②【双出口矛盾】export 只查 \u003csong\u003e_p2/ 而手改按两级查找写入 → cli 直跑产出的\n \u003csong\u003e/line_times.json 会「页面看得到手改、导出读不到」。修法:export 收口\n resolveLineTimesPath(与读/写路由同源)\n- C30③【幽灵声称】蓝图两处写 X-Export-Manual-Edits「M1 随做」实则从未实现 → 真加会计头\n- 视图精度(用户新需求):刻度加亚秒档(短歌 16× 从 0 个标签 → 56 个 0.1s 刻度)+\n 标签带小数;zoom-to-line 改「最接近目标占比 1/3」(长拖腔行 19%→38%);字条加刻度栅格\n + 走带上画字条窗口投影(两个时间视图互相定位);读数精度随每像素秒数自适应到 ms 级;\n 字条字块同步逐字高亮 + 播放头;修字条头部窄栏文案与读数交错换行\n- 验收:check:ui 12 用例全绿(新增导出一致性、走带精度两例 + 非规范化键负向断言),\n 地板 ui 10→12、ownTestCases 66→69;pnpm check 静态全链绿;负向测试实证:\n 退回键守卫缺陷形态即精确红在该断言、恢复复绿\n- 判读纪律实证入册:后台通知 exit code 被管道 tail 吞掉(通知 exit 0 / 报告 failed),\n 只认 runner report status 或显式 set -o pipefail\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-08T11:32:01-07:00"},{"Sha1":"3fdb4053791bac065674586a5173a8a41aa5a0c4","Message":"feat: 复核工作台手改写链 M1——直改产物+留档+拖动/打点/快捷键;走带播放链路补齐机器验收\n\n- 手改(ManualTimingEdit,2026-08-08 六项拍板落地):编辑态(E)走带行区间双手柄拖动、\n 字时间编辑条(局部波形+字块拖动+联动边界+播放同步逐字高亮与播放头)、G29 null 字赋时、\n T 逐字打点(回补 100ms)、[ ] ; ' , . I O 微调与 ⌘Z/⌘S;保存=整卷 PUT 直改\n line_times.json + manual.original 留档(沿 clamped_from 纪律),指纹乐观锁 409 +\n 执行中 409(文件双写者显式登记);重跑 fail closed(409 MANUAL_EDITS_PRESENT →\n confirmDiscardManualEdits)+ 自动备份 .manual-backups/(永不自动套用);reconcile 单源\n lib/manual-edits.ts、产物定位单源 lib/review-artifacts.ts(读/写/守卫共用 _p2 优先);\n 蓝图 docs/domain/review-manual-timing-blueprint.md + owner-matrix 登记\n- 走带整曲播放链路(前一轮未提交部分随本提交入库):/api/review/full-audio(HTTP Range +\n 扩展名白名单,C28 收口)+ audio-source 单源 + audio-probe fixture + 真波形/seek/跟播/\n 双音源互斥 e2e + 深色三栏工作台改版余量\n- 验收:check:ui 10 用例全绿(新增手改用例:真实鼠标拖字块+真实键盘 [+落盘留档回读+\n 重跑 409+还原清 manual+指纹/非法/穿越负向矩阵),地板 ui 7→10、ownTestCases 62→66;\n pnpm check 静态全链绿;备份路径 live 实证(confirm→备份含手改值)\n- 教训入册(G18):浏览器面板按键注入不带 e.code,快捷键实测须真键盘/Playwright;\n 拖动手势收 buttons===0 悬停移动防\"粘手\"(pointerup 窗外丢失实锤)\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-08T11:10:41-07:00"},{"Sha1":"88df9fddc74d13ebbc389e8ca265c8953c06bc22","Message":"治理: /review 首个自动化验收——fixture 注入 + G29 null 字芯片用例,UI 地板 6→7\n\n- REVIEW_WORKDIR 注入点 + 仓内确定性 fixture(fixture-song,含 G29 null 时间字)\n- check:ui 第 7 例:字级时间面板渲染 / null 字禁用虚线芯片(title 无对齐证据)/\n 有证据字可点击试听\n- 负向测试:fixture 缺失整轮红且 e2e-results 显示仅新用例 ok:false(其余 6 绿)\n- 地板 uiTestsPassed 6→7、ownTestCases 62→63;报告绑定 gitSha 348939f5\n- 边界如实记:执行链路(C24 重跑刷新)仍无自动化,fixture 用例覆盖不到\n\ncheck / check:ui(7) 本机全绿。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-01T22:14:08-07:00"}],"HeadCommit":{"Sha1":"03d95db096af66a1e7af7708a99156f194f2c702","Message":"Merge branch 'governance/consolidate-20260902'(整合治理分支 f77fe27 + C29 手工合入 + C31–C36/G21/G30 关闭)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-02T16:39:01-07:00"},"CompareURL":"luoanwu/songformer-structure-lyrics/compare/205116d7e6e0ff602d1773c2ec986b02223b1e0e...03d95db096af66a1e7af7708a99156f194f2c702","Len":11}... |