|
17451
|
5
|
5
|
5
|
62
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"1847c5240 {"Commits":[{"Sha1":"1847c52407c1b5d6d4734f1b334f782bd4a76641","Message":"feat: initialize voiceprint recognition platform\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-14T17:42:28-07:00"}],"HeadCommit":{"Sha1":"1847c52407c1b5d6d4734f1b334f782bd4a76641","Message":"feat: initialize voiceprint recognition platform\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-14T17:42:28-07:00"},"CompareURL":"","Len":1}...
|
1784076183
|
Edit
Delete
|
|
17452
|
5
|
5
|
5
|
62
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"64bd1beaa {"Commits":[{"Sha1":"64bd1beaac8e1a4c1063707c3d0bbf5f7e466c76","Message":"feat: add governed voice profile acoustics\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-14T18:10:48-07:00"}],"HeadCommit":{"Sha1":"64bd1beaac8e1a4c1063707c3d0bbf5f7e466c76","Message":"feat: add governed voice profile acoustics\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-14T18:10:48-07:00"},"CompareURL":"luoanwu/voiceprint-recognition/compare/1847c52407c1b5d6d4734f1b334f782bd4a76641...64bd1beaac8e1a4c1063707c3d0bbf5f7e466c76","Len":1}...
|
1784077861
|
Edit
Delete
|
|
17469
|
5
|
5
|
5
|
62
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"e795edf9d {"Commits":[{"Sha1":"e795edf9d8130692c02ac8d6083ddbd41edcdc0c","Message":"feat: harden voiceprint deployment and profile workflow\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-14T20:24:11-07:00"}],"HeadCommit":{"Sha1":"e795edf9d8130692c02ac8d6083ddbd41edcdc0c","Message":"feat: harden voiceprint deployment and profile workflow\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-14T20:24:11-07:00"},"CompareURL":"luoanwu/voiceprint-recognition/compare/64bd1beaac8e1a4c1063707c3d0bbf5f7e466c76...e795edf9d8130692c02ac8d6083ddbd41edcdc0c","Len":1}...
|
1784085873
|
Edit
Delete
|
|
17470
|
5
|
5
|
5
|
62
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"32c70bb21 {"Commits":[{"Sha1":"32c70bb2198cf25b362a49e4f74387dd1a47768a","Message":"feat: complete calibrated voiceprint workflow\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-14T22:19:23-07:00"}],"HeadCommit":{"Sha1":"32c70bb2198cf25b362a49e4f74387dd1a47768a","Message":"feat: complete calibrated voiceprint workflow\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-14T22:19:23-07:00"},"CompareURL":"luoanwu/voiceprint-recognition/compare/e795edf9d8130692c02ac8d6083ddbd41edcdc0c...32c70bb2198cf25b362a49e4f74387dd1a47768a","Len":1}...
|
1784092781
|
Edit
Delete
|
|
17624
|
5
|
5
|
5
|
62
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"99c0c69be {"Commits":[{"Sha1":"99c0c69becb251d64b434b6ab315d0562888ad8d","Message":"fix: harden microphone recording fallback\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-15T21:03:36-07:00"}],"HeadCommit":{"Sha1":"99c0c69becb251d64b434b6ab315d0562888ad8d","Message":"fix: harden microphone recording fallback\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-15T21:03:36-07:00"},"CompareURL":"luoanwu/voiceprint-recognition/compare/32c70bb2198cf25b362a49e4f74387dd1a47768a...99c0c69becb251d64b434b6ab315d0562888ad8d","Len":1}...
|
1784174638
|
Edit
Delete
|
|
17777
|
4
|
5
|
4
|
29
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"62b665166 {"Commits":[{"Sha1":"62b66516636a8e1e402dca6390de1cb65232b795","Message":"ssh-connect: 新增评分条卡死/音响自动重启排查方法论(音频消费线程冻结→队列泄漏三件套判定法)\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@192.168.31.165","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@192.168.31.165","CommitterName":"laiqiaojie","Timestamp":"2026-07-17T00:30:01+08:00"}],"HeadCommit":{"Sha1":"62b66516636a8e1e402dca6390de1cb65232b795","Message":"ssh-connect: 新增评分条卡死/音响自动重启排查方法论(音频消费线程冻结→队列泄漏三件套判定法)\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@192.168.31.165","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@192.168.31.165","CommitterName":"laiqiaojie","Timestamp":"2026-07-17T00:30:01+08:00"},"CompareURL":"laiqiaojie/claude-skills/compare/57ec23fb70ba31a06eed72e90587fe3559b25544...62b66516636a8e1e402dca6390de1cb65232b795","Len":1}...
|
1784219403
|
Edit
Delete
|
|
18091
|
5
|
5
|
5
|
62
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"73bd623df {"Commits":[{"Sha1":"73bd623dfedff79a02fac961d1c16f106137e2df","Message":"Strengthen voiceprint governance and runtime acceptance\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-21T10:13:40-07:00"},{"Sha1":"40a5c4ef3404ccd2f51b8244626d95d1b5939512","Message":"fix: stabilize UI acceptance runner\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-18T23:52:59-07:00"}],"HeadCommit":{"Sha1":"73bd623dfedff79a02fac961d1c16f106137e2df","Message":"Strengthen voiceprint governance and runtime acceptance\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-21T10:13:40-07:00"},"CompareURL":"luoanwu/voiceprint-recognition/compare/99c0c69becb251d64b434b6ab315d0562888ad8d...73bd623dfedff79a02fac961d1c16f106137e2df","Len":2}...
|
1784654024
|
Edit
Delete
|
|
18092
|
7
|
5
|
5
|
62
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"73bd623df {"Commits":[{"Sha1":"73bd623dfedff79a02fac961d1c16f106137e2df","Message":"Strengthen voiceprint governance and runtime acceptance\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-21T10:13:40-07:00"},{"Sha1":"40a5c4ef3404ccd2f51b8244626d95d1b5939512","Message":"fix: stabilize UI acceptance runner\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-18T23:52:59-07:00"}],"HeadCommit":{"Sha1":"73bd623dfedff79a02fac961d1c16f106137e2df","Message":"Strengthen voiceprint governance and runtime acceptance\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-21T10:13:40-07:00"},"CompareURL":"luoanwu/voiceprint-recognition/compare/99c0c69becb251d64b434b6ab315d0562888ad8d...73bd623dfedff79a02fac961d1c16f106137e2df","Len":2}...
|
1784654024
|
Edit
Delete
|
|
18094
|
5
|
5
|
5
|
63
|
0
|
0
|
refs/heads/main
|
1
|
|
1784681969
|
Edit
Delete
|
|
18095
|
5
|
5
|
5
|
63
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"f7f58401d {"Commits":[{"Sha1":"f7f58401d267fffa37e2c7282f531354478eeebf","Message":"feat: initialize forced alignment workbench\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-21T17:58:39-07:00"}],"HeadCommit":{"Sha1":"f7f58401d267fffa37e2c7282f531354478eeebf","Message":"feat: initialize forced alignment workbench\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-21T17:58:39-07:00"},"CompareURL":"","Len":1}...
|
1784681969
|
Edit
Delete
|
|
18096
|
5
|
5
|
5
|
62
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"3d3d1a4d8 {"Commits":[{"Sha1":"3d3d1a4d8c4ab00b1cefbc239838007a04296172","Message":"Harden recording release E2E assertion\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-21T18:58:06-07:00"}],"HeadCommit":{"Sha1":"3d3d1a4d8c4ab00b1cefbc239838007a04296172","Message":"Harden recording release E2E assertion\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-21T18:58:06-07:00"},"CompareURL":"luoanwu/voiceprint-recognition/compare/73bd623dfedff79a02fac961d1c16f106137e2df...3d3d1a4d8c4ab00b1cefbc239838007a04296172","Len":1}...
|
1784685491
|
Edit
Delete
|
|
18097
|
7
|
5
|
5
|
62
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"3d3d1a4d8 {"Commits":[{"Sha1":"3d3d1a4d8c4ab00b1cefbc239838007a04296172","Message":"Harden recording release E2E assertion\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-21T18:58:06-07:00"}],"HeadCommit":{"Sha1":"3d3d1a4d8c4ab00b1cefbc239838007a04296172","Message":"Harden recording release E2E assertion\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-21T18:58:06-07:00"},"CompareURL":"luoanwu/voiceprint-recognition/compare/73bd623dfedff79a02fac961d1c16f106137e2df...3d3d1a4d8c4ab00b1cefbc239838007a04296172","Len":1}...
|
1784685491
|
Edit
Delete
|
|
18098
|
5
|
5
|
5
|
63
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"1b55d1eec {"Commits":[{"Sha1":"1b55d1eece101ec72f25af96f62713da05ae06ff","Message":"feat: 歌唱域质量治理与全面治理收口(C16/C17)\n\n- 工作台:无词音频隔离(叶子字区间单源激活)+ 波形 1-16x 视窗缩放;e2e +2(共 7 用例)\n- contracts:Qwen3 域受限/演唱序列冲突 fail-closed 归一化;complete 契约补索引唯一/\n 按 index 时间单调/跨句跨字无重叠 fail-closed(蓝图 §6);asr_anchor 留档进 qualityData\n- C16:alignment 域纳入全部写链行为门禁(writeModels/租户入口/outbox/旁路 publish/\n 并发守护/校验单源/双后端红线+测试覆盖绊网),逐门禁负向验红;样板面板挂 /samples 回运行路径\n- C17:governance-report --update-baseline 改 merge 写入,保住 testsPassed/uiTestsPassed 地板\n- 两后端:complete/fail/accept 目标态收敛 assertTransition 单源;alignment 非法迁移补\n 409 INVALID_TRANSITION 判责(原 500);新增 fail/retry/409 判责验收用例\n- 文档:G20 如实改述(docs-truth 断言机器锁定)、G23 登记(工作台前端栈差距)、\n owner-matrix/蓝图口径修正、C16/C17 战役回灌经验库\n- 棘轮收紧:testsPassed 61→67、ownTestCases 68→74、uiTestsPassed 7;三级门禁\n 2026-07-21 本仓实跑全绿(check / check:runtime / check:ui)\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-07-21T19:55:12-07:00"}],"HeadCommit":{"Sha1":"1b55d1eece101ec72f25af96f62713da05ae06ff","Message":"feat: 歌唱域质量治理与全面治理收口(C16/C17)\n\n- 工作台:无词音频隔离(叶子字区间单源激活)+ 波形 1-16x 视窗缩放;e2e +2(共 7 用例)\n- contracts:Qwen3 域受限/演唱序列冲突 fail-closed 归一化;complete 契约补索引唯一/\n 按 index 时间单调/跨句跨字无重叠 fail-closed(蓝图 §6);asr_anchor 留档进 qualityData\n- C16:alignment 域纳入全部写链行为门禁(writeModels/租户入口/outbox/旁路 publish/\n 并发守护/校验单源/双后端红线+测试覆盖绊网),逐门禁负向验红;样板面板挂 /samples 回运行路径\n- C17:governance-report --update-baseline 改 merge 写入,保住 testsPassed/uiTestsPassed 地板\n- 两后端:complete/fail/accept 目标态收敛 assertTransition 单源;alignment 非法迁移补\n 409 INVALID_TRANSITION 判责(原 500);新增 fail/retry/409 判责验收用例\n- 文档:G20 如实改述(docs-truth 断言机器锁定)、G23 登记(工作台前端栈差距)、\n owner-matrix/蓝图口径修正、C16/C17 战役回灌经验库\n- 棘轮收紧:testsPassed 61→67、ownTestCases 68→74、uiTestsPassed 7;三级门禁\n 2026-07-21 本仓实跑全绿(check / check:runtime / check:ui)\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-07-21T19:55:12-07:00"},"CompareURL":"luoanwu/forced-alignment/compare/f7f58401d267fffa37e2c7282f531354478eeebf...1b55d1eece101ec72f25af96f62713da05ae06ff","Len":1}...
|
1784688943
|
Edit
Delete
|
|
18099
|
5
|
5
|
5
|
63
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"e35b3d577 {"Commits":[{"Sha1":"e35b3d57744e6178a7c3fdeae0aab051c6f2408f","Message":"fix: 工作台展示与激活解耦修复播放闪烁;移除引擎标识显示\n\n- 闪烁根因:激活与展示耦合在叶子字区间判定,播放穿过字间空洞时\n 三句上下文/字级轨道/KTV/检查器整块逐帧卸载重挂\n- 修法:展示层改句包络定位当前句;激活层仍只认叶子字区间\n (空洞内零字扫色、data-lyric-active=false,蓝图不变量保持),\n 句间空档三层空态不变(e2e 无词隔离用例语义原样)\n- 波形画布改 layout-effect 与播头同帧提交,仅尺寸变化时重设像素\n- 头部「Qwen3 FA · 80ms grid」与错误兜底文案中的引擎标识不再显示\n (engine/runtimeContract 数据层保留,审计不受影响)\n- 证据:typecheck 绿;check:ui 7/7(2026-07-21 实跑);\n 真实空洞点实测(句内 52.40s 整行保持、句间 63.88s 三层空态)\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-07-21T20:43:46-07:00"}],"HeadCommit":{"Sha1":"e35b3d57744e6178a7c3fdeae0aab051c6f2408f","Message":"fix: 工作台展示与激活解耦修复播放闪烁;移除引擎标识显示\n\n- 闪烁根因:激活与展示耦合在叶子字区间判定,播放穿过字间空洞时\n 三句上下文/字级轨道/KTV/检查器整块逐帧卸载重挂\n- 修法:展示层改句包络定位当前句;激活层仍只认叶子字区间\n (空洞内零字扫色、data-lyric-active=false,蓝图不变量保持),\n 句间空档三层空态不变(e2e 无词隔离用例语义原样)\n- 波形画布改 layout-effect 与播头同帧提交,仅尺寸变化时重设像素\n- 头部「Qwen3 FA · 80ms grid」与错误兜底文案中的引擎标识不再显示\n (engine/runtimeContract 数据层保留,审计不受影响)\n- 证据:typecheck 绿;check:ui 7/7(2026-07-21 实跑);\n 真实空洞点实测(句内 52.40s 整行保持、句间 63.88s 三层空态)\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-07-21T20:43:46-07:00"},"CompareURL":"luoanwu/forced-alignment/compare/1b55d1eece101ec72f25af96f62713da05ae06ff...e35b3d57744e6178a7c3fdeae0aab051c6f2408f","Len":1}...
|
1784691828
|
Edit
Delete
|
|
18100
|
5
|
5
|
5
|
63
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"bbe7744fc {"Commits":[{"Sha1":"bbe7744fc0df50ca87397478731523692d59a867","Message":"Add Cantonese support and language contract validation\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-21T21:35:50-07:00"}],"HeadCommit":{"Sha1":"bbe7744fc0df50ca87397478731523692d59a867","Message":"Add Cantonese support and language contract validation\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-21T21:35:50-07:00"},"CompareURL":"luoanwu/forced-alignment/compare/e35b3d57744e6178a7c3fdeae0aab051c6f2408f...bbe7744fc0df50ca87397478731523692d59a867","Len":1}...
|
1784694954
|
Edit
Delete
|
|
18200
|
5
|
5
|
5
|
64
|
0
|
0
|
refs/heads/main
|
1
|
|
1784702255
|
Edit
Delete
|
|
18201
|
5
|
5
|
5
|
64
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"07bdfd6b5 {"Commits":[{"Sha1":"07bdfd6b5c1898d76a113986ab5a6e7ade243839","Message":"docs: refresh published SHA snapshot\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-21T23:33:33-07:00"},{"Sha1":"515f82aceaa7057454f2b135a8c82e980cef442d","Message":"feat(svc): 音色军火库三件套——CFM/CFG 全链旋钮 + 参考自动去混响 + 多段拼接\n\n- nSteps/cfgScale:contracts 限幅 coerce → cover_jobs 增量列(迁移)→ 双后端\n 持久化+worker 透传 → sidecar 表单 → 前端「高级参数」区(含一直未露出的移调)\n- 音色参考默认走 分离+去混响 增强链(enhance_timbre 可关);干录音≈无损通过\n- build_prompt_multiseg:按静音切段→时长×能量排序→时间序 50ms 交叉淡化拼接,\n 合成用例验证三段唱段拿满 29.9s、段间静音全剔除(单窗口法会夹带静音)\n- 门禁:check exit 0 / runtime 87 tests(地板 87)/ ui 6 用例;参数贯通冒烟\n 实证(nSteps=8 存库→sidecar 接收;越界 400;垃圾文件秒级人话错误)\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-07-21T23:32:27-07:00"},{"Sha1":"8c2000bfc0f0f515f3e85cc32184c5e64aeeb1c8","Message":"feat(svc): 音色获取质量三连修——录音关通话处理 + 参考智能选段 + 上限30s\n\n- 浏览器录音显式关闭 echoCancellation/noiseSuppression/autoGainControl:\n 通话向处理会削唱声谐波/抽压动态,是音色相似度的隐形杀手\n- sidecar prepare_timbre 智能选段:去首尾静音 + 选「有声占比×能量」最高的\n 连续窗口(合成用例验证:25s 静音开头场景有效信息 2.4×于盲取开头)\n- 音色参考上限 20s→30s;UI 文案建议 20-30 秒清唱;蓝图已知约束同步\n\ncheck:ui 6/6 全绿(假麦克风带新约束)\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-07-21T23:20:33-07:00"},{"Sha1":"e019e32157a468c1e93b874228ee37bf39989c9f","Message":"docs: 发布快照登记双远端状态(GitHub 已核对,Gitea 待建仓)\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-07-21T22:27:08-07:00"},{"Sha1":"6614c0cee2254d7cf2c4e081e816642cc2c8aff7","Message":"docs: 发布状态快照登记首提交 b13df4a(远端待建立)\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-07-21T22:18:59-07:00"}],"HeadCommit":{"Sha1":"07bdfd6b5c1898d76a113986ab5a6e7ade243839","Message":"docs: refresh published SHA snapshot\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-21T23:33:33-07:00"},"CompareURL":"","Len":6}...
|
1784702255
|
Edit
Delete
|
|
18202
|
5
|
5
|
5
|
64
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"fbc7ad833 {"Commits":[{"Sha1":"fbc7ad83338fb810bc574c8b00a6679b8ed3ca0c","Message":"docs: record dual-remote publication\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-21T23:38:36-07:00"}],"HeadCommit":{"Sha1":"fbc7ad83338fb810bc574c8b00a6679b8ed3ca0c","Message":"docs: record dual-remote publication\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-21T23:38:36-07:00"},"CompareURL":"luoanwu/voice-conversion/compare/07bdfd6b5c1898d76a113986ab5a6e7ade243839...fbc7ad83338fb810bc574c8b00a6679b8ed3ca0c","Len":1}...
|
1784702338
|
Edit
Delete
|
|
18203
|
5
|
5
|
5
|
64
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"8bcd22698 {"Commits":[{"Sha1":"8bcd226984997589864354a5c357a5acaf8221b8","Message":"fix(svc): worker 启动对账——救活无队列背书的处理态任务\n\n优雅关停下 BullMQ 任务连续 stalled 超限被判死时,若无 worker 在场监听\nfailed 事件,DB 状态会永久卡在处理态(实证:重启后任务停 CONVERTING、\nsidecar 空闲、队列无任务)。修复:\n- 双后端 boot 时扫描 QUEUED/处理态任务重新入队(processJob 对处理态可\n 安全续跑、终态 no-op、concurrency=1 不双跑;单实例语义,G16 类边界)\n- maxStalledCount 1→3:重启窗口 stalled 是常态,一次即判死太苛刻\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-07-21T23:46:44-07:00"}],"HeadCommit":{"Sha1":"8bcd226984997589864354a5c357a5acaf8221b8","Message":"fix(svc): worker 启动对账——救活无队列背书的处理态任务\n\n优雅关停下 BullMQ 任务连续 stalled 超限被判死时,若无 worker 在场监听\nfailed 事件,DB 状态会永久卡在处理态(实证:重启后任务停 CONVERTING、\nsidecar 空闲、队列无任务)。修复:\n- 双后端 boot 时扫描 QUEUED/处理态任务重新入队(processJob 对处理态可\n 安全续跑、终态 no-op、concurrency=1 不双跑;单实例语义,G16 类边界)\n- maxStalledCount 1→3:重启窗口 stalled 是常态,一次即判死太苛刻\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-07-21T23:46:44-07:00"},"CompareURL":"luoanwu/voice-conversion/compare/fbc7ad83338fb810bc574c8b00a6679b8ed3ca0c...8bcd226984997589864354a5c357a5acaf8221b8","Len":1}...
|
1784702847
|
Edit
Delete
|
|
18204
|
5
|
5
|
5
|
64
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"40cf16918 {"Commits":[{"Sha1":"40cf16918b6f6ee673e92651e5a0a5edb79d86dd","Message":"fix(svc): 中文文件名 multipart 乱码修复(latin1→UTF-8 还原)\n\nbusboy/multer 按 latin1 解码 multipart filename 而浏览器发 UTF-8 字节,\n中文文件名入库必乱码(魏翔→éç¿)。修复:\n- 双后端 svc 服务层 normalizeUploadFilename 统一还原(latin1 取回原字节按\n UTF-8 重解码;产生替换符=本就是正确 UTF-8 则保留——对 ASCII 幂等)\n- @fastify/busboy 3.x 无 defParamCharset 配置项,配置路线不可用,注释留档\n- 双端 HTTP 验收各 +1 中文文件名用例(runtime 89 tests,地板 89)\n- 存量脏行已按同法修复(dev 库《时差》任务)\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-07-22T00:07:31-07:00"}],"HeadCommit":{"Sha1":"40cf16918b6f6ee673e92651e5a0a5edb79d86dd","Message":"fix(svc): 中文文件名 multipart 乱码修复(latin1→UTF-8 还原)\n\nbusboy/multer 按 latin1 解码 multipart filename 而浏览器发 UTF-8 字节,\n中文文件名入库必乱码(魏翔→éç¿)。修复:\n- 双后端 svc 服务层 normalizeUploadFilename 统一还原(latin1 取回原字节按\n UTF-8 重解码;产生替换符=本就是正确 UTF-8 则保留——对 ASCII 幂等)\n- @fastify/busboy 3.x 无 defParamCharset 配置项,配置路线不可用,注释留档\n- 双端 HTTP 验收各 +1 中文文件名用例(runtime 89 tests,地板 89)\n- 存量脏行已按同法修复(dev 库《时差》任务)\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-07-22T00:07:31-07:00"},"CompareURL":"luoanwu/voice-conversion/compare/8bcd226984997589864354a5c357a5acaf8221b8...40cf16918b6f6ee673e92651e5a0a5edb79d86dd","Len":1}...
|
1784704057
|
Edit
Delete
|
|
18205
|
5
|
5
|
5
|
64
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"49daee39a {"Commits":[{"Sha1":"49daee39ae62e162a700622733a58a3b0d5fb27c","Message":"fix(governance): close G22 report provenance\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-22T00:20:31-07:00"}],"HeadCommit":{"Sha1":"49daee39ae62e162a700622733a58a3b0d5fb27c","Message":"fix(governance): close G22 report provenance\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-22T00:20:31-07:00"},"CompareURL":"luoanwu/voice-conversion/compare/40cf16918b6f6ee673e92651e5a0a5edb79d86dd...49daee39ae62e162a700622733a58a3b0d5fb27c","Len":1}...
|
1784704846
|
Edit
Delete
|
|
18206
|
5
|
5
|
5
|
64
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"915504518 {"Commits":[{"Sha1":"91550451861f997024b06c845897ea59af85e238","Message":"fix(governance): normalize colored test summaries\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-22T00:25:23-07:00"}],"HeadCommit":{"Sha1":"91550451861f997024b06c845897ea59af85e238","Message":"fix(governance): normalize colored test summaries\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-22T00:25:23-07:00"},"CompareURL":"luoanwu/voice-conversion/compare/49daee39ae62e162a700622733a58a3b0d5fb27c...91550451861f997024b06c845897ea59af85e238","Len":1}...
|
1784705137
|
Edit
Delete
|
|
18207
|
5
|
5
|
5
|
64
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"b0381bdeb {"Commits":[{"Sha1":"b0381bdeb68a35d172581d6736b9059720e3ad1b","Message":"fix(governance): snapshot report inputs before runners\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-22T00:34:03-07:00"}],"HeadCommit":{"Sha1":"b0381bdeb68a35d172581d6736b9059720e3ad1b","Message":"fix(governance): snapshot report inputs before runners\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-22T00:34:03-07:00"},"CompareURL":"luoanwu/voice-conversion/compare/91550451861f997024b06c845897ea59af85e238...b0381bdeb68a35d172581d6736b9059720e3ad1b","Len":1}...
|
1784705657
|
Edit
Delete
|
|
18208
|
5
|
5
|
5
|
64
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"f78049d48 {"Commits":[{"Sha1":"f78049d487372e5538b1d202b65aa252031c8887","Message":"fix(governance): preserve porcelain status columns\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-22T00:39:59-07:00"}],"HeadCommit":{"Sha1":"f78049d487372e5538b1d202b65aa252031c8887","Message":"fix(governance): preserve porcelain status columns\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-22T00:39:59-07:00"},"CompareURL":"luoanwu/voice-conversion/compare/b0381bdeb68a35d172581d6736b9059720e3ad1b...f78049d487372e5538b1d202b65aa252031c8887","Len":1}...
|
1784706012
|
Edit
Delete
|
|
18209
|
5
|
5
|
5
|
63
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"7c3af0f0e {"Commits":[{"Sha1":"7c3af0f0e3e5d33e89cc59a0e2d727e1641b6cdf","Message":"feat: 语言口径收紧含粤语单源 + 单句重锚(真·三句上下文重跑)\n\n- contracts:ALIGNMENT_LANGUAGES 11 语单源(与 sidecar SUPPORTED_LANGUAGES\n 对齐),createAlignmentRunSchema.language 收紧为 z.enum,未知语言建任务\n 即拒绝;reanchorAlignmentSentenceSchema fail-closed(字数不可变/窗内单调\n 无重叠);新增 alignment.sentence.reanchored 事件类型\n- 工作台:语言选择器从 4 项硬编码改为 contracts 派生 11 项母语标签;\n 复核卡质量旗标人话映射(cantonese_asr_domain 等 12 项)\n- 双后端:新增 POST /:id/sentences/:idx/reanchor 动作接口——邻句包络\n fail-closed(重锚只许落入空隙,不得吞并相邻句)、复核态保持\n NEEDS_REVIEW 等人工验收、同事务写 history+outbox;非法迁移统一映射\n 409 INVALID_TRANSITION\n- 前端:新增 audio-slice.ts 浏览器端切片(OfflineAudioContext 重采样\n 16k WAV),真正实现「用三句上下文重跑」——切三句音频窗口送 Qwen3、\n 只采纳中间句、按窗口偏移映射回全局时间,文本/字数不一致则拒绝采纳\n- 修复预存 bug:\u003caudio\u003e durationchange 早于 loadedmetadata 触发,把\n 播头恢复值踩回 0,导致导入/恢复音频后播头无法停在首个复核句\n- 证据:contracts 24 用例;两后端各 +1 真实 DB 验收(进空隙/吞邻句 409/\n 字数漂移 409/跨租户 404);e2e 9 用例(模型层打桩,切片+写链+DB 回读\n 全真实);棘轮收紧 testsPassed 68→71、uiTestsPassed 8→9、\n ownTestCases 76→80;三级门禁 2026-07-22 本仓实跑全绿\n\nCo-Authored-By: Claude Sonnet 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-22T00:40:35-07:00"}],"HeadCommit":{"Sha1":"7c3af0f0e3e5d33e89cc59a0e2d727e1641b6cdf","Message":"feat: 语言口径收紧含粤语单源 + 单句重锚(真·三句上下文重跑)\n\n- contracts:ALIGNMENT_LANGUAGES 11 语单源(与 sidecar SUPPORTED_LANGUAGES\n 对齐),createAlignmentRunSchema.language 收紧为 z.enum,未知语言建任务\n 即拒绝;reanchorAlignmentSentenceSchema fail-closed(字数不可变/窗内单调\n 无重叠);新增 alignment.sentence.reanchored 事件类型\n- 工作台:语言选择器从 4 项硬编码改为 contracts 派生 11 项母语标签;\n 复核卡质量旗标人话映射(cantonese_asr_domain 等 12 项)\n- 双后端:新增 POST /:id/sentences/:idx/reanchor 动作接口——邻句包络\n fail-closed(重锚只许落入空隙,不得吞并相邻句)、复核态保持\n NEEDS_REVIEW 等人工验收、同事务写 history+outbox;非法迁移统一映射\n 409 INVALID_TRANSITION\n- 前端:新增 audio-slice.ts 浏览器端切片(OfflineAudioContext 重采样\n 16k WAV),真正实现「用三句上下文重跑」——切三句音频窗口送 Qwen3、\n 只采纳中间句、按窗口偏移映射回全局时间,文本/字数不一致则拒绝采纳\n- 修复预存 bug:\u003caudio\u003e durationchange 早于 loadedmetadata 触发,把\n 播头恢复值踩回 0,导致导入/恢复音频后播头无法停在首个复核句\n- 证据:contracts 24 用例;两后端各 +1 真实 DB 验收(进空隙/吞邻句 409/\n 字数漂移 409/跨租户 404);e2e 9 用例(模型层打桩,切片+写链+DB 回读\n 全真实);棘轮收紧 testsPassed 68→71、uiTestsPassed 8→9、\n ownTestCases 76→80;三级门禁 2026-07-22 本仓实跑全绿\n\nCo-Authored-By: Claude Sonnet 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-22T00:40:35-07:00"},"CompareURL":"luoanwu/forced-alignment/compare/bbe7744fc0df50ca87397478731523692d59a867...7c3af0f0e3e5d33e89cc59a0e2d727e1641b6cdf","Len":1}...
|
1784706047
|
Edit
Delete
|
|
18210
|
5
|
5
|
5
|
63
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"dbb8444dc {"Commits":[{"Sha1":"dbb8444dc97bba3e8ebc715efb82d803001981cd","Message":"fix: align 代理层超时预算被 undici 默认 headersTimeout 静默吞掉(C18)\n\n- 根因:Node 内置 fetch()(undici)自带 headersTimeout/bodyTimeout 默认\n 300000ms(5 分钟),优先级高于应用层 AbortController——route.ts 精心\n 设计的按音频时长预算(最长 55 分钟)从未真正掌管过请求,sidecar 真实\n 计算超 5 分钟即被静默掐断为 fetch failed,sidecar 进程本身无异常\n- 生产实测复现:用户单句重跑报错 fetch failed;日志显示\n POST /api/alignment/align 502 in 303388ms(卡在整 5 分钟),同一时间\n sidecar 侧无任何异常/Traceback\n- 修复:显式装 undici 依赖,建 Agent({ headersTimeout: 0, bodyTimeout: 0 })\n 作为 dispatcher 传入 fetch,超时决定权完全收回给自建 AbortController\n- 验证:本地短耗时对照实验复现同一故障(headersTimeout 2s 下 2.5s 抛出\n 一致的 fetch failed)并验证修复(headersTimeout:0 下等过 5s 拿到真实\n 响应)——非模拟,真实 HTTP 服务器 + 真实 undici Agent\n- 无自动化回归(apps/web 无 vitest 基座);已回灌 CLAUDE.md 缺口索引与\n 治理经验库,登记「未来任何长耗时出站 fetch 须显式归零 undici 超时」\n 的通用教训\n\nCo-Authored-By: Claude Sonnet 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-22T00:53:29-07:00"}],"HeadCommit":{"Sha1":"dbb8444dc97bba3e8ebc715efb82d803001981cd","Message":"fix: align 代理层超时预算被 undici 默认 headersTimeout 静默吞掉(C18)\n\n- 根因:Node 内置 fetch()(undici)自带 headersTimeout/bodyTimeout 默认\n 300000ms(5 分钟),优先级高于应用层 AbortController——route.ts 精心\n 设计的按音频时长预算(最长 55 分钟)从未真正掌管过请求,sidecar 真实\n 计算超 5 分钟即被静默掐断为 fetch failed,sidecar 进程本身无异常\n- 生产实测复现:用户单句重跑报错 fetch failed;日志显示\n POST /api/alignment/align 502 in 303388ms(卡在整 5 分钟),同一时间\n sidecar 侧无任何异常/Traceback\n- 修复:显式装 undici 依赖,建 Agent({ headersTimeout: 0, bodyTimeout: 0 })\n 作为 dispatcher 传入 fetch,超时决定权完全收回给自建 AbortController\n- 验证:本地短耗时对照实验复现同一故障(headersTimeout 2s 下 2.5s 抛出\n 一致的 fetch failed)并验证修复(headersTimeout:0 下等过 5s 拿到真实\n 响应)——非模拟,真实 HTTP 服务器 + 真实 undici Agent\n- 无自动化回归(apps/web 无 vitest 基座);已回灌 CLAUDE.md 缺口索引与\n 治理经验库,登记「未来任何长耗时出站 fetch 须显式归零 undici 超时」\n 的通用教训\n\nCo-Authored-By: Claude Sonnet 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-22T00:53:29-07:00"},"CompareURL":"luoanwu/forced-alignment/compare/7c3af0f0e3e5d33e89cc59a0e2d727e1641b6cdf...dbb8444dc97bba3e8ebc715efb82d803001981cd","Len":1}...
|
1784706813
|
Edit
Delete
|
|
18220
|
5
|
5
|
5
|
54
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"2fa1666f6 {"Commits":[{"Sha1":"2fa1666f6bb69b7784199199afde715a54856ac8","Message":"feat(governance): machineize docs-truth gate, fix Fastify Redis parsing, harden test-base guard\n\n- Add check:docs-truth (C14 machineized): targeted assertions catching README/standards\n drift from runtime truth (dual-backend positioning, tenant-aware envelope shape, NestJS\n HTTP engine, ghost assets like commitlint/RHF), wired into pnpm check + governance ratchet.\n- Fix Fastify BullMQ Redis URL parsing to include password/db (C15), matching NestJS's\n parseRedisConnection; adds a check:dual-backend tripwire so this can't silently regress.\n Without this, authenticated/non-zero-db Redis environments would split pub/sub and\n BullMQ onto different logical Redis instances.\n- Close G15: check:runtime / check:ui preflight now requires explicit REDIS_URL (no more\n silent localhost:6379 default) and enforces a base_framework* db name convention, with\n GOVERNANCE_DB_NAME_OVERRIDE=1 as an explicit escape hatch.\n- Correct stale doc claims across README/docs/standards to match actual code (Fastify is a\n full dual-backend peer per ADR-0009, not an optional fallback; envelope carries tenantId;\n NestJS uses platform-express not the Fastify adapter; annotate unimplemented commitlint/RHF\n plans as not-yet-landed).\n- Refresh governance reports/baseline after re-running pnpm check and check:runtime (56/56).\n\nCo-Authored-By: Claude Sonnet 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-22T01:11:05-07:00"},{"Sha1":"8501dc9731b4f0f44ea36d2ffe557577354ebb31","Message":"Refactor governance documentation structure\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-21T08:01:24-07:00"},{"Sha1":"d799b176f2db4f3e538563eeb8228543d24ca639","Message":"feat(runtime): close outbox failure governance gaps\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-05T07:03:20-07:00"},{"Sha1":"43b8c8c943c406733084427f3ad27d836ae75681","Message":"Update governance baseline for UI acceptance\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-04T23:37:30-07:00"}],"HeadCommit":{"Sha1":"2fa1666f6bb69b7784199199afde715a54856ac8","Message":"feat(governance): machineize docs-truth gate, fix Fastify Redis parsing, harden test-base guard\n\n- Add check:docs-truth (C14 machineized): targeted assertions catching README/standards\n drift from runtime truth (dual-backend positioning, tenant-aware envelope shape, NestJS\n HTTP engine, ghost assets like commitlint/RHF), wired into pnpm check + governance ratchet.\n- Fix Fastify BullMQ Redis URL parsing to include password/db (C15), matching NestJS's\n parseRedisConnection; adds a check:dual-backend tripwire so this can't silently regress.\n Without this, authenticated/non-zero-db Redis environments would split pub/sub and\n BullMQ onto different logical Redis instances.\n- Close G15: check:runtime / check:ui preflight now requires explicit REDIS_URL (no more\n silent localhost:6379 default) and enforces a base_framework* db name convention, with\n GOVERNANCE_DB_NAME_OVERRIDE=1 as an explicit escape hatch.\n- Correct stale doc claims across README/docs/standards to match actual code (Fastify is a\n full dual-backend peer per ADR-0009, not an optional fallback; envelope carries tenantId;\n NestJS uses platform-express not the Fastify adapter; annotate unimplemented commitlint/RHF\n plans as not-yet-landed).\n- Refresh governance reports/baseline after re-running pnpm check and check:runtime (56/56).\n\nCo-Authored-By: Claude Sonnet 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-22T01:11:05-07:00"},"CompareURL":"luoanwu/base-framework/compare/f98acd04c6fe50956d8cf89552a352c8893f037d...2fa1666f6bb69b7784199199afde715a54856ac8","Len":4}...
|
1784707902
|
Edit
Delete
|
|
18221
|
5
|
5
|
5
|
54
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"d846832eb {"Commits":[{"Sha1":"d846832ebbe1d481019744f038672b935ad09937","Message":"fix(web): scope E2E user-CRUD assertion to users panel, not full page\n\nPorted from the claude/gallant-diffie-a541dd worktree, whose committed\nhistory was already fully contained in main but whose working tree held\nthis un-landed fix.\n\nNarrow the delete-then-hidden assertion in acceptance.spec.ts to\ngetByTestId(\"users-panel\") instead of the whole page. After d799b17's\noutbox fix, user.created events reliably reach the EventFeed and echo\nthe created user's name in the event JSON, so a page-wide getByText\ncould still match the name via the event log after the row itself was\nremoved, producing a false \"still visible\" read on flaky runs.\n\nRecords this as C16 in CLAUDE.md / governance-experience.md (C14 was\nalready taken by the docs-truth work landed in 2fa1666).\n\nCo-Authored-By: Claude Sonnet 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-22T01:23:10-07:00"}],"HeadCommit":{"Sha1":"d846832ebbe1d481019744f038672b935ad09937","Message":"fix(web): scope E2E user-CRUD assertion to users panel, not full page\n\nPorted from the claude/gallant-diffie-a541dd worktree, whose committed\nhistory was already fully contained in main but whose working tree held\nthis un-landed fix.\n\nNarrow the delete-then-hidden assertion in acceptance.spec.ts to\ngetByTestId(\"users-panel\") instead of the whole page. After d799b17's\noutbox fix, user.created events reliably reach the EventFeed and echo\nthe created user's name in the event JSON, so a page-wide getByText\ncould still match the name via the event log after the row itself was\nremoved, producing a false \"still visible\" read on flaky runs.\n\nRecords this as C16 in CLAUDE.md / governance-experience.md (C14 was\nalready taken by the docs-truth work landed in 2fa1666).\n\nCo-Authored-By: Claude Sonnet 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-22T01:23:10-07:00"},"CompareURL":"luoanwu/base-framework/compare/2fa1666f6bb69b7784199199afde715a54856ac8...d846832ebbe1d481019744f038672b935ad09937","Len":1}...
|
1784708606
|
Edit
Delete
|
|
18222
|
5
|
5
|
5
|
54
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"4e0ae0a55 {"Commits":[{"Sha1":"4e0ae0a55bf748faaa3a1f2b937b4375c1cf7fa8","Message":"chore(reports): refresh publish acceptance evidence\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-22T01:26:24-07:00"}],"HeadCommit":{"Sha1":"4e0ae0a55bf748faaa3a1f2b937b4375c1cf7fa8","Message":"chore(reports): refresh publish acceptance evidence\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-22T01:26:24-07:00"},"CompareURL":"luoanwu/base-framework/compare/d846832ebbe1d481019744f038672b935ad09937...4e0ae0a55bf748faaa3a1f2b937b4375c1cf7fa8","Len":1}...
|
1784708793
|
Edit
Delete
|
|
18223
|
5
|
5
|
5
|
54
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"e109e8057 {"Commits":[{"Sha1":"e109e80574304306c9a5911d5e923d2dc7e6c0f4","Message":"docs(governance): record verified publish baseline\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-22T01:27:34-07:00"}],"HeadCommit":{"Sha1":"e109e80574304306c9a5911d5e923d2dc7e6c0f4","Message":"docs(governance): record verified publish baseline\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-22T01:27:34-07:00"},"CompareURL":"luoanwu/base-framework/compare/4e0ae0a55bf748faaa3a1f2b937b4375c1cf7fa8...e109e80574304306c9a5911d5e923d2dc7e6c0f4","Len":1}...
|
1784709216
|
Edit
Delete
|
|
18224
|
5
|
5
|
5
|
54
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"02a656716 {"Commits":[{"Sha1":"02a656716b10d2a5a4937ba01086cbd0a9ff4b85","Message":"chore(reports): refresh post-merge acceptance evidence\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-22T01:34:39-07:00"}],"HeadCommit":{"Sha1":"02a656716b10d2a5a4937ba01086cbd0a9ff4b85","Message":"chore(reports): refresh post-merge acceptance evidence\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-22T01:34:39-07:00"},"CompareURL":"luoanwu/base-framework/compare/e109e80574304306c9a5911d5e923d2dc7e6c0f4...02a656716b10d2a5a4937ba01086cbd0a9ff4b85","Len":1}...
|
1784709310
|
Edit
Delete
|
|
18225
|
5
|
5
|
5
|
64
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"759c0261a {"Commits":[{"Sha1":"759c0261a1cbec386f37f0c7f096f9f4efd57289","Message":"fix(svc): complete worker control surface\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-22T01:48:47-07:00"},{"Sha1":"ee66fa978cf5dfc16f7001f805c48f2993cb8b44","Message":"Add cover worker controls and document voice conversion product\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-22T01:40:28-07:00"}],"HeadCommit":{"Sha1":"759c0261a1cbec386f37f0c7f096f9f4efd57289","Message":"fix(svc): complete worker control surface\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-22T01:48:47-07:00"},"CompareURL":"luoanwu/voice-conversion/compare/f78049d487372e5538b1d202b65aa252031c8887...759c0261a1cbec386f37f0c7f096f9f4efd57289","Len":2}...
|
1784710407
|
Edit
Delete
|
|
18226
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"8be066d1f {"Commits":[{"Sha1":"8be066d1f0c5db776932ea77d5e0ee292bb367dd","Message":"feat(platforms): 增加真实 HTTP 数据连接验收\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-22T02:05:46-07:00"},{"Sha1":"a3fd0cc2636423df29dc9dc197c68effebc98908","Message":"merge: 合并前端全局唯一性门禁分支\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-16T02:06:14-07:00"},{"Sha1":"9167815cbbaae56a96573aeb4cce4af1e02d9ec6","Message":"merge: 合并端到端 CI 工作流分支\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-16T02:06:09-07:00"},{"Sha1":"ebee1953637ceabc41648708e598e9f88666935e","Message":"merge: 合并嗨赞歌咏亭品类完整分支\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-16T02:05:35-07:00"},{"Sha1":"734393621449932f6b8d21e09bf5f220ec998cc5","Message":"fix(booking): verify 去除 validFrom 闸 — 修 r22「未来预约当场核销」被误拦\n\n5f3b333 在 verify 加了 `validFrom \u003e now → 尚未生效`,而券 validFrom=startAt。\nr22/r16 setup 对「明天的预约」当场核销时被此闸拦死 → booking 停 BOOKED、completeBooking 返回 409。\nmain verify 无此闸;去除后与 main 对齐,仅保留 validUntil 过期拦截。无测试依赖「尚未生效」。\ntsc / test:unit 通过;r22 集成待 CI 验证(本机无 DB/Docker)。\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luojuhai@luojuhaideMacBook-Pro.local","AuthorName":"luojuhai","CommitterEmail":"luojuhai@luojuhaideMacBook-Pro.local","CommitterName":"luojuhai","Timestamp":"2026-07-07T13:58:42+08:00"}],"HeadCommit":{"Sha1":"8be066d1f0c5db776932ea77d5e0ee292bb367dd","Message":"feat(platforms): 增加真实 HTTP 数据连接验收\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-22T02:05:46-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/c0618a939c6a7f40d91e9160a083313befe7c157...8be066d1f0c5db776932ea77d5e0ee292bb367dd","Len":57}...
|
1784712281
|
Edit
Delete
|
|
18533
|
5
|
5
|
5
|
65
|
0
|
0
|
refs/heads/main
|
1
|
|
1784867121
|
Edit
Delete
|
|
18534
|
5
|
5
|
5
|
65
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"a0a9bdffc {"Commits":[{"Sha1":"a0a9bdffc87d21f9adb6e398513a0ad917d7c2d9","Message":"Merge drag rollback fix and document business logic\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-23T21:20:28-07:00"},{"Sha1":"4fcae4cbcc18b3a5cd50a6ae7a0d50bde8f1ec1a","Message":"Expand output formats and add revision workflow\n\n- Canonical alignment-result.v2 JSON with KAS / ASS \\kf / enhanced LRC /\n SRT / LRC derived per independent quality scopes (base_subtitle vs\n precise_karaoke), non-passing scopes emit draft.* only\n- New wfa/revision.py + tests for the revision workflow\n- Document format rules in docs/output-formats.md; update README,\n quality-governance, server and web UI accordingly\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-07-23T21:06:44-07:00"},{"Sha1":"6bcc2c0c97694fb87125ddda8cc06b01ba33b552","Message":"Improve alignment workflow and validation\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-23T20:23:00-07:00"},{"Sha1":"5ec402cd099f4e26f2d316ef8e469cfebb69b840","Message":"Improve forced-alignment workflow and user experience\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-23T20:06:52-07:00"},{"Sha1":"3c4ed6f70232edf37a1de658959f8d45a0d94945","Message":"Expand alignment workflow and runtime validation\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-23T18:55:07-07:00"}],"HeadCommit":{"Sha1":"a0a9bdffc87d21f9adb6e398513a0ad917d7c2d9","Message":"Merge drag rollback fix and document business logic\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-23T21:20:28-07:00"},"CompareURL":"luoanwu/whisper-forced-alignment/compare/d1c89ccd106505c4c08cc8ebc8b2d50724aa0bd6...a0a9bdffc87d21f9adb6e398513a0ad917d7c2d9","Len":10}...
|
1784867121
|
Edit
Delete
|
|
18783
|
5
|
5
|
5
|
65
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"969453a0d {"Commits":[{"Sha1":"969453a0d791aad1e66df93e3af667f642266327","Message":"perf: reduce repeated evidence governance work\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-24T17:58:16-07:00"},{"Sha1":"c0f2c8c42f347b8f8d145990e923fd1a3d2c12ea","Message":"Add governed vocal separation and revision workflow\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-24T17:51:11-07:00"}],"HeadCommit":{"Sha1":"969453a0d791aad1e66df93e3af667f642266327","Message":"perf: reduce repeated evidence governance work\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-24T17:58:16-07:00"},"CompareURL":"luoanwu/whisper-forced-alignment/compare/a0a9bdffc87d21f9adb6e398513a0ad917d7c2d9...969453a0d791aad1e66df93e3af667f642266327","Len":2}...
|
1784941384
|
Edit
Delete
|
|
19207
|
5
|
5
|
5
|
67
|
0
|
0
|
refs/heads/main
|
1
|
|
1785219617
|
Edit
Delete
|
|
19208
|
5
|
5
|
5
|
67
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"3f76d2e5e {"Commits":[{"Sha1":"3f76d2e5e9efe72c7ebe9d9faa2f335ccd2dbf4f","Message":"初始提交:SongFormer 结构时间歌词行(治理底座 + 双阶段流水线 + 复核工作台)\n\n- 基础框架迁移(git archive 受管文件 + 身份改造 + 三级门禁,静态 pnpm check 全绿)\n- phase1 结构→歌词行全局单调 DP 对齐:以官方歌词为准强制覆盖、非演唱结构防幻听先验、\n 六语种语音层(拼音/jyutping/kakasi读音/jamo/metaphone/拉丁)、多块投票定语言、\n 异体字读音等价;phase2 MMS 三句滑窗 + VAD 尾校验产出行/字级时间\n- 四模型本地部署(SongFormer/Qwen3-ASR-1.7B/mms-fa/HTDemucs,权重不进 git,\n manifest SHA256 + check:model-assets 门禁 + smoke 证据)\n- Web 复核工作台 /review:载入/一键执行/重跑、试听/连续播放/逐字对比、问题行过滤、\n 语言徽标、错配警示;run_song 一键编排(缺歌声自动分离,产物落原目录复用)\n- pytest 48/48;真歌验证:晴天×3路径、后来、日语/粤语曲目(精度未做人工金标验收)\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-07-27T23:15:09-07:00"}],"HeadCommit":{"Sha1":"3f76d2e5e9efe72c7ebe9d9faa2f335ccd2dbf4f","Message":"初始提交:SongFormer 结构时间歌词行(治理底座 + 双阶段流水线 + 复核工作台)\n\n- 基础框架迁移(git archive 受管文件 + 身份改造 + 三级门禁,静态 pnpm check 全绿)\n- phase1 结构→歌词行全局单调 DP 对齐:以官方歌词为准强制覆盖、非演唱结构防幻听先验、\n 六语种语音层(拼音/jyutping/kakasi读音/jamo/metaphone/拉丁)、多块投票定语言、\n 异体字读音等价;phase2 MMS 三句滑窗 + VAD 尾校验产出行/字级时间\n- 四模型本地部署(SongFormer/Qwen3-ASR-1.7B/mms-fa/HTDemucs,权重不进 git,\n manifest SHA256 + check:model-assets 门禁 + smoke 证据)\n- Web 复核工作台 /review:载入/一键执行/重跑、试听/连续播放/逐字对比、问题行过滤、\n 语言徽标、错配警示;run_song 一键编排(缺歌声自动分离,产物落原目录复用)\n- pytest 48/48;真歌验证:晴天×3路径、后来、日语/粤语曲目(精度未做人工金标验收)\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-07-27T23:15:09-07:00"},"CompareURL":"","Len":1}...
|
1785219617
|
Edit
Delete
|
|
19209
|
5
|
5
|
5
|
67
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"9d1500477 {"Commits":[{"Sha1":"9d1500477039a937bafd4451d5b557515fc6fe23","Message":"docs: 发布状态快照更新为已推送 gitea/main(3f76d2e)\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-07-27T23:20:56-07:00"}],"HeadCommit":{"Sha1":"9d1500477039a937bafd4451d5b557515fc6fe23","Message":"docs: 发布状态快照更新为已推送 gitea/main(3f76d2e)\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-07-27T23:20:56-07:00"},"CompareURL":"luoanwu/songformer-structure-lyrics/compare/3f76d2e5e9efe72c7ebe9d9faa2f335ccd2dbf4f...9d1500477039a937bafd4451d5b557515fc6fe23","Len":1}...
|
1785219660
|
Edit
Delete
|
|
19602
|
5
|
5
|
5
|
67
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"205116d7e {"Commits":[{"Sha1":"205116d7e6e0ff602d1773c2ec986b02223b1e0e","Message":"Merge pull request '治理: 关闭对抗性验收发现的假绿装置、导出层静默数据损坏与文档幽灵资产' (#1) from governance/adversarial-audit-fixes-20260728 into main\n\nReviewed-on: https://gitea.g-hi.com/luoanwu/songformer-structure-lyrics/pulls/1\n","AuthorEmail":"law@g-hi.com","AuthorName":"luoanwu","CommitterEmail":"law@g-hi.com","CommitterName":"luoanwu","Timestamp":"2026-07-29T08:39:53+08:00"},{"Sha1":"ada639232a2eaf958115b36b989295eff4c75eff","Message":"韩语真歌首跑入基线 + 流水线阶段耗时 stage_timings 落盘与工作台展示\n\n- CLAUDE.md 动态区:韩语真歌首跑(SINGASONG 声明 ko)✅——谚文 g2pk 音变\n jamo-RR 字级时间真歌闭环、ASR 跨语言滑移韩语第二例(官方文本入 CTC 防线再兑现);\n 本轮新抓两缺陷已识别未修(工作台重跑同曲面板不刷新、声明污染独立投票),\n 同步 G18 盲区清单与「真歌未验证清单」(仅剩越南语)\n- run_song.py:enter() 逐阶段记录耗时秒数落 stage_timings(含模型加载;\n error 时保留失败前已跑时长),状态文件对外可见\n- review/page.tsx:轮询状态展示各阶段耗时与总时长(执行中/完成/失败均带)\n- reports/governance-docs.latest.json:check:governance-docs 复跑刷新\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-07-28T11:12:50-07:00"},{"Sha1":"8d1868d15b122595a29dd35b7684035b285d0d6c","Message":"治理: 关闭对抗性验收发现的假绿装置、导出层静默数据损坏与文档幽灵资产\n\n对抗性验收审计(2026-07-28)发现并关闭 5 个问题,每条都留下机器防线且做了负向测试。\n\nG23 假绿装置(三层防线)\n 三个运行链地板(testsPassed/uiTestsPassed/pipelineTestsPassed)由各自 runner 消费、\n 却存放在 governance-report 托管的 baseline.json 里,而后者写基线是整体替换——\n 一次 --update-baseline 即静默抹掉;抹掉后 runtime/ui 消费端的 `?? 0` 让 x\u003c0 恒 false\n 即永绿。修:写入端改合并 + 消费端缺地板即红 + 棘轮端 EXTERNAL_FLOORS 存在性校验。\n\nC17 导出层三类静默数据损坏\n 丢行不报数(24 首真歌 1368 行丢 157)、全丢仍回 200 空文件、行级与逐字格式导出\n 两份不同歌词(1292 行中 155 行不一致)、未对齐字被跳过导致缺字歌词行。\n 修:export_stats + X-Export-* 会计、全丢判责 409、逐字忠实性判据 perCharIsFaithful\n (只用 Unicode \\p{L}/\\p{M},不复刻 phase2 分词策略以免造第二真源)不忠实即降级。\n 另修判责错层:format 校验前置,避免非法 format 被报成 409。\n\nC18 line_words 吃掉 Unicode 组合标记\n isalpha() 判字使 Mn/Mc 落入 else 被丢弃:泰文 สวัสดี 丢 2 码位、NFD 越南语丢声调\n 且连段被劈开导致下游 chars[] 下标偏移。判据陷阱:combining() 对泰文 ั/ี 返回 0,\n 必须用 category in (Mn,Mc,Me)。新增 tests/test_tokenize.py 30 用例(先红后绿已验证)。\n\nC19 文档幽灵资产\n worker 文档整段描述兄弟仓架构(点名本仓不存在的 workers/hubertfa、\n packages/contracts/src/alignment-models.ts),断言 apps/ 下无实现且与现行许可口径\n 冲突的 ALLOW_NON_COMMERCIAL_MODELS 门禁,引用不可定位的跨仓编号 C23/C28/C29。\n 修:docs-truth 新增四条断言(资产计数/幽灵门禁/跨仓编号/幽灵路径),加入即抓到\n 两处人工 grep 漏掉的编号。\n\nG24 CI 结构性必红(非\"未验证\")\n 真实 clone 实证:权重被 gitignore 排除而 check:model-assets 无模式开关 → 静态 job\n 必红 98 项 → runtime/ui job 因 needs 永不启动;库名 base_framework_ci 亦被 G15 拒。\n 修:MODEL_ASSETS_MANIFEST_ONLY 真检查模式(结构/许可/SHA 格式/字节自洽,非 skip,\n 报告写明 weightsVerified:false)+ 库名改 songformer_lyrics_ci。\n\n门禁卫生:eslint 忽略从枚举 .next/** 改为模式 .next*/**(.next-verify 构建产物曾\n以 736 个 error 打红 lint);.gitignore 同步模式化。\n\n同时包含并发会话的第一/二阶段流水线改进(phase1 语言路由、phase2 双轨映射与统计、\nqwen3-asr / mms-fa / structure worker 更新、曲名单源 song-name.ts、错误边界页面)。\n\n证据(均绑定本地工作区,工作区 dirty,未绑定 commit SHA,见 G22):\n pnpm check exit 0\n pnpm check:runtime exit 0 56 tests / 地板 56\n pnpm check:ui exit 0 4 用例 / 地板 4\n pnpm check:pipeline exit 0 114 tests / 地板 114\n负向测试:G23 三层、C19 四条断言、G24 七例,均确认先红后绿并恢复现场。\n\n新登记 OPEN:G25 存量陈旧 phase2 产物需重跑(GUNCHARLIE 48/48、有你有我 10/39)、\nG26 demucs 无正向离线强制、G27 worker 单曲 CLI 仍有 C18 同款缺陷、G28 CI 侧权重\n真伪永不校验。G14 远端 CI 拦截仍未验证——本轮只解除本地可推理的阻塞点。\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-07-28T10:50:48-07:00"}],"HeadCommit":{"Sha1":"205116d7e6e0ff602d1773c2ec986b02223b1e0e","Message":"Merge pull request '治理: 关闭对抗性验收发现的假绿装置、导出层静默数据损坏与文档幽灵资产' (#1) from governance/adversarial-audit-fixes-20260728 into main\n\nReviewed-on: https://gitea.g-hi.com/luoanwu/songformer-structure-lyrics/pulls/1\n","AuthorEmail":"law@g-hi.com","AuthorName":"luoanwu","CommitterEmail":"law@g-hi.com","CommitterName":"luoanwu","Timestamp":"2026-07-29T08:39:53+08:00"},"CompareURL":"luoanwu/songformer-structure-lyrics/compare/9d1500477039a937bafd4451d5b557515fc6fe23...205116d7e6e0ff602d1773c2ec986b02223b1e0e","Len":3}...
|
1785285594
|
Edit
Delete
|
|
19663
|
5
|
5
|
5
|
53
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"d28a8594e {"Commits":[{"Sha1":"d28a8594e6cf9091cdf9ccd0fad377041dfaf727","Message":"feat: 完善 Tesla P4 GPU 部署链路\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-28T23:05:20-07:00"},{"Sha1":"6560bc5e5d9063cabf3af62b0b6287ebbc67f38d","Message":"feat: 接入嗨赞声浪模型别名并刷新验收\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-28T21:52:33-07:00"},{"Sha1":"24aa37882d5e85cd043071b232c7e4a12ea25382","Message":"feat(web): add brief-driven lyric drafting\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-06T01:17:00-07:00"}],"HeadCommit":{"Sha1":"d28a8594e6cf9091cdf9ccd0fad377041dfaf727","Message":"feat: 完善 Tesla P4 GPU 部署链路\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-28T23:05:20-07:00"},"CompareURL":"luoanwu/song-generation/compare/a146df273f4b5ba09c490cb67458ae8dc8c2fc12...d28a8594e6cf9091cdf9ccd0fad377041dfaf727","Len":3}...
|
1785305211
|
Edit
Delete
|
|
19673
|
5
|
5
|
5
|
68
|
0
|
0
|
refs/heads/main
|
1
|
|
1785306312
|
Edit
Delete
|
|
19674
|
5
|
5
|
5
|
68
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"9d1021cf9 {"Commits":[{"Sha1":"9d1021cf95b6f0feb75dacbe348c0b4103744398","Message":"docs: add website content audit\n","AuthorEmail":"codex-sites@openai.com","AuthorName":"Codex Sites","CommitterEmail":"codex-sites@openai.com","CommitterName":"Codex Sites","Timestamp":"2026-07-28T23:15:04-07:00"},{"Sha1":"fe79133839999083532629c1e3a45c2e9e1b7ed4","Message":"feat: strengthen SEO and AI discovery\n","AuthorEmail":"codex-sites@openai.com","AuthorName":"Codex Sites","CommitterEmail":"codex-sites@openai.com","CommitterName":"Codex Sites","Timestamp":"2026-07-28T20:13:28-07:00"},{"Sha1":"079946aac0593e866c9ac9727ba762581c8f2c6f","Message":"fix: swap intelligent system product rows\n","AuthorEmail":"codex-sites@openai.com","AuthorName":"Codex Sites","CommitterEmail":"codex-sites@openai.com","CommitterName":"Codex Sites","Timestamp":"2026-07-28T19:55:44-07:00"},{"Sha1":"f3b85a2a795e16776018fc7a5d46765e75c4b13f","Message":"fix: render governed detail forms\n","AuthorEmail":"codex-sites@openai.com","AuthorName":"Codex Sites","CommitterEmail":"codex-sites@openai.com","CommitterName":"Codex Sites","Timestamp":"2026-07-28T19:52:51-07:00"},{"Sha1":"a2c5b8e96a8a6edef66172f308665785e69f4093","Message":"fix: balance product catalog layout\n","AuthorEmail":"codex-sites@openai.com","AuthorName":"Codex Sites","CommitterEmail":"codex-sites@openai.com","CommitterName":"Codex Sites","Timestamp":"2026-07-28T19:47:37-07:00"}],"HeadCommit":{"Sha1":"9d1021cf95b6f0feb75dacbe348c0b4103744398","Message":"docs: add website content audit\n","AuthorEmail":"codex-sites@openai.com","AuthorName":"Codex Sites","CommitterEmail":"codex-sites@openai.com","CommitterName":"Codex Sites","Timestamp":"2026-07-28T23:15:04-07:00"},"CompareURL":"luoanwu/juhai-official-website/compare/5035903b66b07ac2c6ffdbf04b62f48ef90a2d9d...9d1021cf95b6f0feb75dacbe348c0b4103744398","Len":10}...
|
1785306312
|
Edit
Delete
|
|
19754
|
1
|
5
|
1
|
68
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"174a84459 {"Commits":[{"Sha1":"174a84459d73fd6bd3a03983fcfdcdae2747d91b","Message":"feat: add SMS verification code to consultation form\n\n- Change form submission target to https://www.g-hi.com/CollectShop/public_addData\n- Add SMS code send endpoint (https://www.g-hi.com/Sms/public_send) with 60s countdown\n- Add code field to form state, validation, and submit payload\n- Reorder form fields: name|type, phone|code, city (full-width)\n- Add i18n labels for code fields across 8 languages\n- Add CSS for code-field inline layout and full-width grid row\n","AuthorEmail":"zhangjunnan@g-hi.com","AuthorName":"zhangjunnan","CommitterEmail":"zhangjunnan@g-hi.com","CommitterName":"zhangjunnan","Timestamp":"2026-07-29T17:00:56+08:00"}],"HeadCommit":{"Sha1":"174a84459d73fd6bd3a03983fcfdcdae2747d91b","Message":"feat: add SMS verification code to consultation form\n\n- Change form submission target to https://www.g-hi.com/CollectShop/public_addData\n- Add SMS code send endpoint (https://www.g-hi.com/Sms/public_send) with 60s countdown\n- Add code field to form state, validation, and submit payload\n- Reorder form fields: name|type, phone|code, city (full-width)\n- Add i18n labels for code fields across 8 languages\n- Add CSS for code-field inline layout and full-width grid row\n","AuthorEmail":"zhangjunnan@g-hi.com","AuthorName":"zhangjunnan","CommitterEmail":"zhangjunnan@g-hi.com","CommitterName":"zhangjunnan","Timestamp":"2026-07-29T17:00:56+08:00"},"CompareURL":"luoanwu/juhai-official-website/compare/9d1021cf95b6f0feb75dacbe348c0b4103744398...174a84459d73fd6bd3a03983fcfdcdae2747d91b","Len":1}...
|
1785315669
|
Edit
Delete
|
|
19755
|
5
|
5
|
1
|
68
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"174a84459 {"Commits":[{"Sha1":"174a84459d73fd6bd3a03983fcfdcdae2747d91b","Message":"feat: add SMS verification code to consultation form\n\n- Change form submission target to https://www.g-hi.com/CollectShop/public_addData\n- Add SMS code send endpoint (https://www.g-hi.com/Sms/public_send) with 60s countdown\n- Add code field to form state, validation, and submit payload\n- Reorder form fields: name|type, phone|code, city (full-width)\n- Add i18n labels for code fields across 8 languages\n- Add CSS for code-field inline layout and full-width grid row\n","AuthorEmail":"zhangjunnan@g-hi.com","AuthorName":"zhangjunnan","CommitterEmail":"zhangjunnan@g-hi.com","CommitterName":"zhangjunnan","Timestamp":"2026-07-29T17:00:56+08:00"}],"HeadCommit":{"Sha1":"174a84459d73fd6bd3a03983fcfdcdae2747d91b","Message":"feat: add SMS verification code to consultation form\n\n- Change form submission target to https://www.g-hi.com/CollectShop/public_addData\n- Add SMS code send endpoint (https://www.g-hi.com/Sms/public_send) with 60s countdown\n- Add code field to form state, validation, and submit payload\n- Reorder form fields: name|type, phone|code, city (full-width)\n- Add i18n labels for code fields across 8 languages\n- Add CSS for code-field inline layout and full-width grid row\n","AuthorEmail":"zhangjunnan@g-hi.com","AuthorName":"zhangjunnan","CommitterEmail":"zhangjunnan@g-hi.com","CommitterName":"zhangjunnan","Timestamp":"2026-07-29T17:00:56+08:00"},"CompareURL":"luoanwu/juhai-official-website/compare/9d1021cf95b6f0feb75dacbe348c0b4103744398...174a84459d73fd6bd3a03983fcfdcdae2747d91b","Len":1}...
|
1785315669
|
Edit
Delete
|
|
19830
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"3ab0e02a2 {"Commits":[{"Sha1":"3ab0e02a22d94463e7ead19d58cbed4b8b42a8ab","Message":"上传 HTML 原型(第 1 批)\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T11:04:59+08:00"}],"HeadCommit":{"Sha1":"3ab0e02a22d94463e7ead19d58cbed4b8b42a8ab","Message":"上传 HTML 原型(第 1 批)\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T11:04:59+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/9791a9c2985a7fff3ad9fc2f352dde3738a4b823...3ab0e02a22d94463e7ead19d58cbed4b8b42a8ab","Len":1}...
|
1785380701
|
Edit
Delete
|
|
19831
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"e9c03212c {"Commits":[{"Sha1":"e9c03212c50a2db8f6985ace88276542e977e243","Message":"上传 HTML 原型(第 2 批)\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T11:07:57+08:00"}],"HeadCommit":{"Sha1":"e9c03212c50a2db8f6985ace88276542e977e243","Message":"上传 HTML 原型(第 2 批)\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T11:07:57+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/3ab0e02a22d94463e7ead19d58cbed4b8b42a8ab...e9c03212c50a2db8f6985ace88276542e977e243","Len":1}...
|
1785380878
|
Edit
Delete
|
|
19833
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"09820e44a {"Commits":[{"Sha1":"09820e44a6711740e074fca2d3c9197fe3762a9d","Message":"上传 HTML 原型(第 3 批)\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T11:12:14+08:00"}],"HeadCommit":{"Sha1":"09820e44a6711740e074fca2d3c9197fe3762a9d","Message":"上传 HTML 原型(第 3 批)\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T11:12:14+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/e9c03212c50a2db8f6985ace88276542e977e243...09820e44a6711740e074fca2d3c9197fe3762a9d","Len":1}...
|
1785381136
|
Edit
Delete
|
|
19834
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"54fbe8877 {"Commits":[{"Sha1":"54fbe887771fc67dcc93c4691e84e33ab54875ef","Message":"员工预订码\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T11:19:43+08:00"}],"HeadCommit":{"Sha1":"54fbe887771fc67dcc93c4691e84e33ab54875ef","Message":"员工预订码\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T11:19:43+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/09820e44a6711740e074fca2d3c9197fe3762a9d...54fbe887771fc67dcc93c4691e84e33ab54875ef","Len":1}...
|
1785381584
|
Edit
Delete
|
|
19850
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"c2fc636e5 {"Commits":[{"Sha1":"c2fc636e5d4134cfb2587f23a6350c981225b076","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:28:25+08:00"}],"HeadCommit":{"Sha1":"c2fc636e5d4134cfb2587f23a6350c981225b076","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:28:25+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/54fbe887771fc67dcc93c4691e84e33ab54875ef...c2fc636e5d4134cfb2587f23a6350c981225b076","Len":1}...
|
1785389307
|
Edit
Delete
|