|
16220
|
5
|
5
|
5
|
57
|
0
|
0
|
refs/heads/feat/qwen-image-inference
|
1
|
|
1783381399
|
Edit
Delete
|
|
16221
|
5
|
5
|
5
|
57
|
0
|
0
|
refs/heads/feat/qwen-image-inference
|
1
|
{"Commits":[{"Sha1":"ac5f340c0 {"Commits":[{"Sha1":"ac5f340c0422af2a5c3122289142e8517dc434c5","Message":"fix(sidecar): Qwen-Image-Edit 未指定尺寸时保留底图原生分辨率\n\nQwenImageEditPlus 默认把输入塌到 ~1MP 规范面积,密集中文标题在 1MP + 低步数下\n笔画糊/字形崩。新增 _fit_edit_dims:未显式传 width/height 时按底图原生分辨率\n(保纵横比、向下取整 16 倍数、封顶 QWEN_EDIT_MAX_AREA=1.5MP 兜内存/耗时)驱动,\n调用方仍可显式覆盖。\n\n实测 ktv-poster-master(1672x941) 改字:4 步@1.06MP 文字 melted → 20 步@1.49MP\n(1632x912)文字笔画完整清晰、字形正确,无高分辨率伪影。清晰度决定因素是步数\n(生产默认 40),分辨率为次因;两者叠加达到可用海报质量。\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-07T07:39:05+08:00"},{"Sha1":"973dde30db19928a0937f02a102979d473cce644","Message":"feat(material-factory): 图像模型真实推理对接 + 双后端渲染管线闭环\n\n把嗨设工坊从「权重就绪、推理是桩」推进到「本机真跑转绿」:\n\nsidecar (services/model-sidecar)\n- /v1/generate 真调 Z-Image-Turbo / Qwen-Image-2512(modelKey 路由)\n- /v1/edit 真调 Qwen-Image-Edit-2511(QwenImageEditPlusPipeline)\n- capability() 依赖齐全时开启 qwen-image-master/edit(128 GiB 主机 loadable)\n- 单 pipeline 常驻、kind 切换释放旧模型,防双 20B 同驻 OOM\n- 修 torchvision 隐藏依赖:Qwen2VLProcessor→Qwen2VLVideoProcessor 硬依赖它,\n 缺失则 from_pretrained ImportError(进 pyproject zimage extra)\n- 加载失败包 try/except → 结构化 503(不再冒 500)\n- SIDECAR_QWEN_STEPS:生产默认 40 步,CI/验收可降步提速(真引擎真像素)\n\n双后端 (NestJS + Fastify 同契约)\n- render-pipeline 按 kind 路由:APPEARANCE/SEMANTIC_EDIT→sidecarEdit,\n DESIGN_MASTER/TURBO_VARIANT→sidecarGenerate;job 状态机真流转 + 乐观锁 + outbox 同 tx\n- 修 undici 300s 传输超时:Node 内置 fetch 的 headersTimeout/bodyTimeout 默认 300s\n 会把分钟级同步推理在 ~302s 中止成假 SidecarUnavailableError(AbortSignal 压不住)。\n 改用 undici@6 request() + 请求级 headersTimeout/bodyTimeout 对齐 timeoutMs\n\n验收\n- DATABASE_URL=... INFERENCE_RUN_QWEN=1 pnpm check:inference 双后端各 6/6 绿\n- Qwen-Image-Edit 真改图 SUCCEEDED(金色中文标题精确改写 + OCR gate 联动)\n- pnpm check 全部静态门禁绿;CLAUDE.md(=AGENTS.md) 回灌 G14/真跑证据\n\n仍打开(诚实缺口):render-pipeline 同步端点(G13)、异步 worker 化、\n单 MPS 多进程串行化、Qwen nightly/self-hosted 验收。\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-07T06:35:04+08:00"}],"HeadCommit":{"Sha1":"ac5f340c0422af2a5c3122289142e8517dc434c5","Message":"fix(sidecar): Qwen-Image-Edit 未指定尺寸时保留底图原生分辨率\n\nQwenImageEditPlus 默认把输入塌到 ~1MP 规范面积,密集中文标题在 1MP + 低步数下\n笔画糊/字形崩。新增 _fit_edit_dims:未显式传 width/height 时按底图原生分辨率\n(保纵横比、向下取整 16 倍数、封顶 QWEN_EDIT_MAX_AREA=1.5MP 兜内存/耗时)驱动,\n调用方仍可显式覆盖。\n\n实测 ktv-poster-master(1672x941) 改字:4 步@1.06MP 文字 melted → 20 步@1.49MP\n(1632x912)文字笔画完整清晰、字形正确,无高分辨率伪影。清晰度决定因素是步数\n(生产默认 40),分辨率为次因;两者叠加达到可用海报质量。\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-07T07:39:05+08:00"},"CompareURL":"luoanwu/image-generation/compare/fc2ce503c94d763b1d077e7c734720a0c58e23a8...ac5f340c0422af2a5c3122289142e8517dc434c5","Len":2}...
|
1783381399
|
Edit
Delete
|
|
16222
|
5
|
7
|
5
|
57
|
0
|
0
|
|
1
|
1|feat(material-factory): 图像模型真实推理对接 + 双后端渲染管线闭环
|
1783381429
|
Edit
Delete
|
|
16223
|
5
|
11
|
5
|
57
|
0
|
0
|
|
1
|
1|feat(material-factory): 图像模型真实推理对接 + 双后端渲染管线闭环
|
1783381594
|
Edit
Delete
|
|
16224
|
5
|
5
|
5
|
57
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"27c04f193 {"Commits":[{"Sha1":"27c04f193a6a4170b1e0f7839a18d0e7e9b529fb","Message":"Merge pull request 'feat(material-factory): 图像模型真实推理对接 + 双后端渲染管线闭环' (#1) from feat/qwen-image-inference into main\n\nReviewed-on: https://gitea.g-hi.com/luoanwu/image-generation/pulls/1\n","AuthorEmail":"law@g-hi.com","AuthorName":"luoanwu","CommitterEmail":"law@g-hi.com","CommitterName":"luoanwu","Timestamp":"2026-07-07T07:46:33+08:00"},{"Sha1":"ac5f340c0422af2a5c3122289142e8517dc434c5","Message":"fix(sidecar): Qwen-Image-Edit 未指定尺寸时保留底图原生分辨率\n\nQwenImageEditPlus 默认把输入塌到 ~1MP 规范面积,密集中文标题在 1MP + 低步数下\n笔画糊/字形崩。新增 _fit_edit_dims:未显式传 width/height 时按底图原生分辨率\n(保纵横比、向下取整 16 倍数、封顶 QWEN_EDIT_MAX_AREA=1.5MP 兜内存/耗时)驱动,\n调用方仍可显式覆盖。\n\n实测 ktv-poster-master(1672x941) 改字:4 步@1.06MP 文字 melted → 20 步@1.49MP\n(1632x912)文字笔画完整清晰、字形正确,无高分辨率伪影。清晰度决定因素是步数\n(生产默认 40),分辨率为次因;两者叠加达到可用海报质量。\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-07T07:39:05+08:00"},{"Sha1":"973dde30db19928a0937f02a102979d473cce644","Message":"feat(material-factory): 图像模型真实推理对接 + 双后端渲染管线闭环\n\n把嗨设工坊从「权重就绪、推理是桩」推进到「本机真跑转绿」:\n\nsidecar (services/model-sidecar)\n- /v1/generate 真调 Z-Image-Turbo / Qwen-Image-2512(modelKey 路由)\n- /v1/edit 真调 Qwen-Image-Edit-2511(QwenImageEditPlusPipeline)\n- capability() 依赖齐全时开启 qwen-image-master/edit(128 GiB 主机 loadable)\n- 单 pipeline 常驻、kind 切换释放旧模型,防双 20B 同驻 OOM\n- 修 torchvision 隐藏依赖:Qwen2VLProcessor→Qwen2VLVideoProcessor 硬依赖它,\n 缺失则 from_pretrained ImportError(进 pyproject zimage extra)\n- 加载失败包 try/except → 结构化 503(不再冒 500)\n- SIDECAR_QWEN_STEPS:生产默认 40 步,CI/验收可降步提速(真引擎真像素)\n\n双后端 (NestJS + Fastify 同契约)\n- render-pipeline 按 kind 路由:APPEARANCE/SEMANTIC_EDIT→sidecarEdit,\n DESIGN_MASTER/TURBO_VARIANT→sidecarGenerate;job 状态机真流转 + 乐观锁 + outbox 同 tx\n- 修 undici 300s 传输超时:Node 内置 fetch 的 headersTimeout/bodyTimeout 默认 300s\n 会把分钟级同步推理在 ~302s 中止成假 SidecarUnavailableError(AbortSignal 压不住)。\n 改用 undici@6 request() + 请求级 headersTimeout/bodyTimeout 对齐 timeoutMs\n\n验收\n- DATABASE_URL=... INFERENCE_RUN_QWEN=1 pnpm check:inference 双后端各 6/6 绿\n- Qwen-Image-Edit 真改图 SUCCEEDED(金色中文标题精确改写 + OCR gate 联动)\n- pnpm check 全部静态门禁绿;CLAUDE.md(=AGENTS.md) 回灌 G14/真跑证据\n\n仍打开(诚实缺口):render-pipeline 同步端点(G13)、异步 worker 化、\n单 MPS 多进程串行化、Qwen nightly/self-hosted 验收。\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-07T06:35:04+08:00"}],"HeadCommit":{"Sha1":"27c04f193a6a4170b1e0f7839a18d0e7e9b529fb","Message":"Merge pull request 'feat(material-factory): 图像模型真实推理对接 + 双后端渲染管线闭环' (#1) from feat/qwen-image-inference into main\n\nReviewed-on: https://gitea.g-hi.com/luoanwu/image-generation/pulls/1\n","AuthorEmail":"law@g-hi.com","AuthorName":"luoanwu","CommitterEmail":"law@g-hi.com","CommitterName":"luoanwu","Timestamp":"2026-07-07T07:46:33+08:00"},"CompareURL":"luoanwu/image-generation/compare/fc2ce503c94d763b1d077e7c734720a0c58e23a8...27c04f193a6a4170b1e0f7839a18d0e7e9b529fb","Len":3}...
|
1783381594
|
Edit
Delete
|
|
16522
|
5
|
5
|
5
|
50
|
0
|
0
|
refs/heads/codex/p0-edge-governance
|
1
|
{"Commits":[{"Sha1":"c51dc5edc {"Commits":[{"Sha1":"c51dc5edc2fdf269634a6cbbc50e18200230e42d","Message":"Add STARS line context planning\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-07T05:26:41-07:00"},{"Sha1":"8cc37a8f39c1c9f6fea631131e610e2003c59fb1","Message":"Refine lyric alignment workflows and governance checks\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-06T00:43:00-07:00"}],"HeadCommit":{"Sha1":"c51dc5edc2fdf269634a6cbbc50e18200230e42d","Message":"Add STARS line context planning\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-07T05:26:41-07:00"},"CompareURL":"luoanwu/juhi-song-library-alignment/compare/00a617f128624eeadc28167b5f20da59a402fc2f...c51dc5edc2fdf269634a6cbbc50e18200230e42d","Len":2}...
|
1783431501
|
Edit
Delete
|
|
16703
|
5
|
5
|
8
|
51
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"49de0c2d3 {"Commits":[{"Sha1":"49de0c2d382fe761e459574e38b67a4d09f4604d","Message":"兼容 AI 助手空会话 ID\n\n允许 content/assistant 的 conversationId 为 null,并在校验后转为 undefined,避免首次对话请求被参数校验拒绝。\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-07-09T13:59:24+08:00"}],"HeadCommit":{"Sha1":"49de0c2d382fe761e459574e38b67a4d09f4604d","Message":"兼容 AI 助手空会话 ID\n\n允许 content/assistant 的 conversationId 为 null,并在校验后转为 undefined,避免首次对话请求被参数校验拒绝。\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-07-09T13:59:24+08:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/ad491b380b573d1f4389aa0e3a1aae0eceb467d8...49de0c2d382fe761e459574e38b67a4d09f4604d","Len":1}...
|
1783576799
|
Edit
Delete
|
|
16977
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"78a500f04 {"Commits":[{"Sha1":"78a500f04042e394b04075c3823e4431ed58b463","Message":"fix(governance): 2026-07-09 契约治理四轮收口——query 布尔 coerce 清零、snake 死键修复、假筛选裁定与断链深挖\n\n- query 布尔参数 coerce 全仓收口:218 处/76 文件归零,新增 scripts/audit-query-boolean.ts 棘轮审计并接入 registry(query-boolean-violations-zero == 0)\n- query snake 死键收口:39 处真死键修复(9 模块),豁免/双读/preprocess 三类假死判据落盘\n- 假筛选群收口:12 键三分法裁定,filter-truth UNSUPPORTED 22→10,后端补消费按 schema+controller 白名单+service where 三点齐\n- 契约断链二轮深挖:renewals 非互逆映射、duplicate 丢名、partner-customers 键名不对称等 10 组用户可见断链修复\n- 新增迁移:rma_type_reason_columns、ad_audiences_add_data_source\n- 全域视图审计矩阵报告(a1~a9 九域)、契约断链/深对齐审计报告、代码导出 PDF\n- 同步 reports/*.latest.json 基线与 CLAUDE.md GOVERNANCE-BASELINE 受控块\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-09T19:18:14-07:00"},{"Sha1":"e6db8812d3c3c7a2c0bdae632c2f1b3f2e9b4fe8","Message":"test(campaigns): 对齐 goals_json 合并读后的 findFirst 调用链,修复 10 个存量假红用例\n\ncommit 4a6c61fc35 将 CampaignService.update 的 goals_json 合并分支触发条件\n扩到 goalsJson/storeScopeMode/storeIds 后,complete/attribute/schedule/selectTools\n路径的 update 多出一次 findFirst({ select: goals_json })合并读(4 次→5 次)。\n测试 mock 队列未同步:\n- marketing.service.test.ts completeCampaign 用例第 5 次调用兜底到前序用例\n 遗留的持久 mockResolvedValue(status=draft),报 expected 'draft' to be 'completed'\n- campaign.service.enhanced.test.ts 使用 mockReset,队列耗尽返回 undefined→404,\n 9 个状态机生命周期用例失败\n\n按 assertion-theater-guard 口径裁定:实现无 bug(合并语义为有意行为且带\ntenant_id),仅在各 mock 队列第 2 位插入合并读返回值并更新链路注释,\n未改动/弱化任何断言。marketing 23/23、campaigns 59/59 全绿。\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-09T18:51:30-07:00"},{"Sha1":"9023c1468b7cbd83719f42c6a5521a42813848e7","Message":"fix(governance): tighten service contracts and route validation\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-06T22:32:22-07:00"},{"Sha1":"1f15101e932088234cf16f0606e6dc9227f018e3","Message":"Tighten alliance API tests and order action fallback\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-04T01:04:30-07:00"},{"Sha1":"c892b8637c2fdb10b1246caa149a7e353c442aa6","Message":"Refine governance and frontend workflows\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-04T00:59:39-07:00"}],"HeadCommit":{"Sha1":"78a500f04042e394b04075c3823e4431ed58b463","Message":"fix(governance): 2026-07-09 契约治理四轮收口——query 布尔 coerce 清零、snake 死键修复、假筛选裁定与断链深挖\n\n- query 布尔参数 coerce 全仓收口:218 处/76 文件归零,新增 scripts/audit-query-boolean.ts 棘轮审计并接入 registry(query-boolean-violations-zero == 0)\n- query snake 死键收口:39 处真死键修复(9 模块),豁免/双读/preprocess 三类假死判据落盘\n- 假筛选群收口:12 键三分法裁定,filter-truth UNSUPPORTED 22→10,后端补消费按 schema+controller 白名单+service where 三点齐\n- 契约断链二轮深挖:renewals 非互逆映射、duplicate 丢名、partner-customers 键名不对称等 10 组用户可见断链修复\n- 新增迁移:rma_type_reason_columns、ad_audiences_add_data_source\n- 全域视图审计矩阵报告(a1~a9 九域)、契约断链/深对齐审计报告、代码导出 PDF\n- 同步 reports/*.latest.json 基线与 CLAUDE.md GOVERNANCE-BASELINE 受控块\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-09T19:18:14-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/04d57d74d0373aea967c831c21a1c4526095da1d...78a500f04042e394b04075c3823e4431ed58b463","Len":20}...
|
1783653434
|
Edit
Delete
|
|
17042
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"101858c06 {"Commits":[{"Sha1":"101858c06a69a0ecf99c3366f5034de2786d0495","Message":"Fix RMA contract drift and tighten cleanup/runtime governance\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-09T23:29:51-07:00"},{"Sha1":"495ebd9d6db6af72c778e70ffe22cf9c6b467ff9","Message":"fix(governance): 收口跨域运行真源与验收门禁\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-09T23:04:48-07:00"}],"HeadCommit":{"Sha1":"101858c06a69a0ecf99c3366f5034de2786d0495","Message":"Fix RMA contract drift and tighten cleanup/runtime governance\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-09T23:29:51-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/78a500f04042e394b04075c3823e4431ed58b463...101858c06a69a0ecf99c3366f5034de2786d0495","Len":2}...
|
1783665486
|
Edit
Delete
|
|
17081
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"9646e9036 {"Commits":[{"Sha1":"9646e903603f789cc51ec4b32200b70b3ccf2cff","Message":"docs(api): 重新生成 OpenAPI 契约与全量 API 参考(React 单前端真源口径)\n\n- openapi.json / openapi.yaml 按当前 Zod-First 真源全量重生成\n- 新增 all-api-reference.md 与 generate-api-reference.mjs 生成入口\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-10T01:32:29-07:00"},{"Sha1":"7b8988454f47c83a3fd319e7dc8f9a7cfeb5d649","Message":"fix(architecture): 后端架构边界治理——跨模块调用收口公开入口 + 依赖图基线门禁\n\n- commissions/revenue/treasury/assets/channel-analytics 等跨域直接依赖改走目标模块 index.* 公开入口\n- 新增 backend-module-dependencies 依赖图审计基线(存量 INFO 冻结,基线外新增硬阻断)与测试\n- 补 event-outbox-helper / password 单元测试;vitest workspace/coverage 配置对齐\n- 附 2026-07-09 菜单 292 能力真源分析报告与三份架构治理作战卡\n- 验收:pnpm -C backend run type-check 通过\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-10T01:32:19-07:00"},{"Sha1":"20c082f55e0c4be2105dedce9069420e2750d3fa","Message":"chore(frontend): Vue 前端物理退役——frontend/ 与 mobile/ 全面删除,React 单一真源收口\n\n- 物理删除 frontend/(1876 文件)与 mobile/(197 文件)Vue/Vant 工程,历史仅由 Git 追溯\n- pnpm workspace、启动链、CI、Harness、E2E view-governance、审计扫描根全部切换到 frontend-react/\n- 删除 Vue-only 治理脚本 13 个与旧 view-governance 快照/生成器/验证器\n- dev docker-compose frontend 服务切换为根 context + frontend-react/Dockerfile(对齐 prod),映射 5173:80\n- 新增 React 生产镜像链:frontend-react/Dockerfile、Dockerfile.prebuilt、nginx.conf、.env.example\n- check-env.sh / start-dev.sh / quick-start.sh 与 DOCKER.md / START-HERE.md / 部署与启动指南死命令收口为 frontend-react\n- 删除 Vue 时代死脚本 run_tsc.sh / generate_smoke_tests.py / debug-blank-page.html\n- CLAUDE.md / AGENTS.md / README.md / GEMINI.md / QWEN.md 同步单一前端真源口径\n- 验收:pnpm -C frontend-react run type-check 通过、docker compose config 通过、主树 .vue=0、运行链残留扫描=0\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-10T01:30:05-07:00"}],"HeadCommit":{"Sha1":"9646e903603f789cc51ec4b32200b70b3ccf2cff","Message":"docs(api): 重新生成 OpenAPI 契约与全量 API 参考(React 单前端真源口径)\n\n- openapi.json / openapi.yaml 按当前 Zod-First 真源全量重生成\n- 新增 all-api-reference.md 与 generate-api-reference.mjs 生成入口\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-10T01:32:29-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/101858c06a69a0ecf99c3366f5034de2786d0495...9646e903603f789cc51ec4b32200b70b3ccf2cff","Len":3}...
|
1783672582
|
Edit
Delete
|
|
17085
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"c39315b6c {"Commits":[{"Sha1":"c39315b6c9e556d9dfa9fa55cc933d6b5d74d2a6","Message":"fix(governance): 治理数字对账收口——MEDIUM 清零 + stale 报告刷新 + release-gate 滞后阻断消除\n\n- users 重置密码前端规则对齐后端 Zod:min 6→8,补大小写字母+数字 pattern(真实契约 bug,7 RTL 用例通过)\n- frontend-source-adapter 新增视图子树→真实模块重映射:ai-agents/skill-library 归 ai-agent-skills\n (表单实走 ai-agent-skills API,description max 4000 与 Zod 一致,消除目录名误配假告警)\n- 重跑 10 个超期 stale 审计(ai-assist 系列/migration-safety/time-analysis/workflow/process-definition 等)\n- census e2e.specFiles 基线重冻 294→338(随治理波次提交的真实增长)\n- 重跑 production-release-gate/actions:滞后的 harness-high-zero 阻断消除,11→10 条真实 P0 阻断\n- 终态:dashboard C=0/H=0/M=0、stale=0、formrules WARNING=0;\n baseline-reconcile 242 条断言 drift 10→2,剩余 2 条为受控块明文保留的 overdue 真实红线\n (10 条 P0 上线阻断逾期,只能真完成或指挥官重排 due date,不得改绿)\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-10T02:05:45-07:00"}],"HeadCommit":{"Sha1":"c39315b6c9e556d9dfa9fa55cc933d6b5d74d2a6","Message":"fix(governance): 治理数字对账收口——MEDIUM 清零 + stale 报告刷新 + release-gate 滞后阻断消除\n\n- users 重置密码前端规则对齐后端 Zod:min 6→8,补大小写字母+数字 pattern(真实契约 bug,7 RTL 用例通过)\n- frontend-source-adapter 新增视图子树→真实模块重映射:ai-agents/skill-library 归 ai-agent-skills\n (表单实走 ai-agent-skills API,description max 4000 与 Zod 一致,消除目录名误配假告警)\n- 重跑 10 个超期 stale 审计(ai-assist 系列/migration-safety/time-analysis/workflow/process-definition 等)\n- census e2e.specFiles 基线重冻 294→338(随治理波次提交的真实增长)\n- 重跑 production-release-gate/actions:滞后的 harness-high-zero 阻断消除,11→10 条真实 P0 阻断\n- 终态:dashboard C=0/H=0/M=0、stale=0、formrules WARNING=0;\n baseline-reconcile 242 条断言 drift 10→2,剩余 2 条为受控块明文保留的 overdue 真实红线\n (10 条 P0 上线阻断逾期,只能真完成或指挥官重排 due date,不得改绿)\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-10T02:05:45-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/9646e903603f789cc51ec4b32200b70b3ccf2cff...c39315b6c9e556d9dfa9fa55cc933d6b5d74d2a6","Len":1}...
|
1783674369
|
Edit
Delete
|
|
17104
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"cff2a7743 {"Commits":[{"Sha1":"cff2a7743a4472a541e5b285f5ce5e079be71d07","Message":"fix(governance): 菜单审计假阴性修复 + 14 条孤儿路由收口\n\n「内容与社媒工作台/视频内容/视频发布/视频数据/供应链工作台/系统导入/\n后台中心 无对应 API 或壳入口」经端点级 FE↔BE diff 逐条核查为污染前提,\n根因是 audit-menu-inventory 三处旧判定:\n\n- hasView 按同名 views/ 目录判 → 改为路由真源解析(lazyView import 的\n 视图文件存在性),同名目录仅兜底;\n- hasApi 按同名 api/modules/\u003cpath\u003e.ts 判 → 改为视图文件真实 @/api import\n 判定(共享 owner 映射,含目录 Index 薄壳一层转发),同名文件仅兜底;\n- 孤儿检测解析 Vue 时代 meta: 块(React 树全用 handle:,orphanRoutes=0\n 假绿)→ 改为 handle: 块窗口解析 + menu.ts 全部 path 字面量保守对比。\n\n修后揭示的 14 条真孤儿路由同轮收口:\n- /marketing-workflows 为指向 /marketing-automation 的兼容重定向壳,\n 补 hideInMenu: true;\n- 其余 13 条(store-agency / customer-balance / payment-analytics /\n disbursements / finance-periods / finance-os 支出与风险 3 项 /\n fulfillment 5 项)按路由 handle 声明的中心与分组补录进 menu.ts。\n\n证据与终态:menu-inventory 291→304 项全绿率 100%、孤儿 14→0;\nview-governance menuVisibleCount 293→306 基线同步,audit:view-governance\n复跑全绿;frontend-react tsc --noEmit 零错误,Sidebar/guards 测试 8 用例全绿。\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-11T20:48:16-07:00"}],"HeadCommit":{"Sha1":"cff2a7743a4472a541e5b285f5ce5e079be71d07","Message":"fix(governance): 菜单审计假阴性修复 + 14 条孤儿路由收口\n\n「内容与社媒工作台/视频内容/视频发布/视频数据/供应链工作台/系统导入/\n后台中心 无对应 API 或壳入口」经端点级 FE↔BE diff 逐条核查为污染前提,\n根因是 audit-menu-inventory 三处旧判定:\n\n- hasView 按同名 views/ 目录判 → 改为路由真源解析(lazyView import 的\n 视图文件存在性),同名目录仅兜底;\n- hasApi 按同名 api/modules/\u003cpath\u003e.ts 判 → 改为视图文件真实 @/api import\n 判定(共享 owner 映射,含目录 Index 薄壳一层转发),同名文件仅兜底;\n- 孤儿检测解析 Vue 时代 meta: 块(React 树全用 handle:,orphanRoutes=0\n 假绿)→ 改为 handle: 块窗口解析 + menu.ts 全部 path 字面量保守对比。\n\n修后揭示的 14 条真孤儿路由同轮收口:\n- /marketing-workflows 为指向 /marketing-automation 的兼容重定向壳,\n 补 hideInMenu: true;\n- 其余 13 条(store-agency / customer-balance / payment-analytics /\n disbursements / finance-periods / finance-os 支出与风险 3 项 /\n fulfillment 5 项)按路由 handle 声明的中心与分组补录进 menu.ts。\n\n证据与终态:menu-inventory 291→304 项全绿率 100%、孤儿 14→0;\nview-governance menuVisibleCount 293→306 基线同步,audit:view-governance\n复跑全绿;frontend-react tsc --noEmit 零错误,Sidebar/guards 测试 8 用例全绿。\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-11T20:48:16-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/c39315b6c9e556d9dfa9fa55cc933d6b5d74d2a6...cff2a7743a4472a541e5b285f5ce5e079be71d07","Len":1}...
|
1783828105
|
Edit
Delete
|
|
17105
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"3d0a44a9c {"Commits":[{"Sha1":"3d0a44a9c8d654139f4027f66c65b83a9ab64f0f","Message":"fix(field-contract): 契约断链深挖收口——12 真缺陷修复 + filter-truth/prisma-zod 审计治理归真\n\n深挖 filter-truth/update三态/list-detail/response未消费四探针 2100+ 候选,逐条 live 代码追踪对抗验证,\n修复真实缺陷并把两个喂 HARD gate 的审计从「stale/坏工具掩盖」拉回真实。\n\n假筛选/数据丢失(8):\n- groupbuy-reviews: replyStatus(reply列)/sentiment(rating派生) 接线\n- hr payroll: periodCode 接线 + grades search→canonical keyword(删死型 GradeListParams.search)\n- groupbuy-platforms: authStatus 走 extraWhere 接线(列实在·原被白名单排除)\n- ad-placement placement.service.ts:441 end_date `?? null`→`undefined`(与 running 分支对齐,消非对称清空)\n- livestream-schedule coverUrl/coverImage/cover_image `.max(2000)`→`.max(500)`(收敛 cover_url VarChar(500))\n\nowner 决策项(3):\n- groupbuy-reviews.source: 增 source 列(migration 20260711235453,default 'manual')+全栈接线,formatReview 桩 'meituan'→真列\n- customers check-duplicate: 增 contact_name 查重维度(真源 customer_contacts.name,纯 service 层)\n- social-analytics.industry: 增 social_accounts.industry 列(migration 20260712000950)+getIndustryBenchmark 真实聚合\n (按 tenant+platform+industry 筛账号→单查询聚合 social_analytics 最新快照,无数据 dataAvailable=false,不再伪 'average')\n\n审计工具治理:\n- audit-filter-truth.ts: 修复因 Vue 物理退役(frontend/ 删除)导致的 typescript 解析 anchor 失效,审计复活\n- audit-prisma-zod-contract.ts: 为 6 个静态盲区 FP(superRefine/service-fill/bizCode)加受控豁免+核验理由,归真 PASS\n- filter-truth UNSUPPORTED 18→10 三轮重冻,GOVERNANCE-BASELINE ceiling 同步下调\n\n验证: 双端 type-check 绿;backend 8783 tests(+8 负断言);前端 social-accounts RTL 4/4;\nn1=0;prisma-zod PASS;schema 镜像一致;reconcile 零新增 drift(仅剩 2 个 pre-existing overdue 意图红线)。\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-12T00:27:30-07:00"}],"HeadCommit":{"Sha1":"3d0a44a9c8d654139f4027f66c65b83a9ab64f0f","Message":"fix(field-contract): 契约断链深挖收口——12 真缺陷修复 + filter-truth/prisma-zod 审计治理归真\n\n深挖 filter-truth/update三态/list-detail/response未消费四探针 2100+ 候选,逐条 live 代码追踪对抗验证,\n修复真实缺陷并把两个喂 HARD gate 的审计从「stale/坏工具掩盖」拉回真实。\n\n假筛选/数据丢失(8):\n- groupbuy-reviews: replyStatus(reply列)/sentiment(rating派生) 接线\n- hr payroll: periodCode 接线 + grades search→canonical keyword(删死型 GradeListParams.search)\n- groupbuy-platforms: authStatus 走 extraWhere 接线(列实在·原被白名单排除)\n- ad-placement placement.service.ts:441 end_date `?? null`→`undefined`(与 running 分支对齐,消非对称清空)\n- livestream-schedule coverUrl/coverImage/cover_image `.max(2000)`→`.max(500)`(收敛 cover_url VarChar(500))\n\nowner 决策项(3):\n- groupbuy-reviews.source: 增 source 列(migration 20260711235453,default 'manual')+全栈接线,formatReview 桩 'meituan'→真列\n- customers check-duplicate: 增 contact_name 查重维度(真源 customer_contacts.name,纯 service 层)\n- social-analytics.industry: 增 social_accounts.industry 列(migration 20260712000950)+getIndustryBenchmark 真实聚合\n (按 tenant+platform+industry 筛账号→单查询聚合 social_analytics 最新快照,无数据 dataAvailable=false,不再伪 'average')\n\n审计工具治理:\n- audit-filter-truth.ts: 修复因 Vue 物理退役(frontend/ 删除)导致的 typescript 解析 anchor 失效,审计复活\n- audit-prisma-zod-contract.ts: 为 6 个静态盲区 FP(superRefine/service-fill/bizCode)加受控豁免+核验理由,归真 PASS\n- filter-truth UNSUPPORTED 18→10 三轮重冻,GOVERNANCE-BASELINE ceiling 同步下调\n\n验证: 双端 type-check 绿;backend 8783 tests(+8 负断言);前端 social-accounts RTL 4/4;\nn1=0;prisma-zod PASS;schema 镜像一致;reconcile 零新增 drift(仅剩 2 个 pre-existing overdue 意图红线)。\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-12T00:27:30-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/cff2a7743a4472a541e5b285f5ce5e079be71d07...3d0a44a9c8d654139f4027f66c65b83a9ab64f0f","Len":1}...
|
1783841295
|
Edit
Delete
|
|
17106
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"b6ca4eb97 {"Commits":[{"Sha1":"b6ca4eb97fca5dff7fe33490df662865134b08d2","Message":"fix(field-contract): 断链深挖三批收口——attribution 读模型重塑 + customers 查重富化 + cash-flow 对齐文档真源 + 筛选键 500 硬炸修复\n\n响应侧(前端声明字段后端从未返回 / 键名形状错位):\n- attribution 五报告全部对齐前端契约:model-comparison 重塑嵌套 comparison + models 假筛选真消费;\n overall stats 补 revenue/coverage 真实指标并删硬编码假数;channel/campaign/path 三报告修\n 键名错位与渲染崩溃隐患(creditPercent.toFixed / path.join),统一\"最近计算批次\"防重算翻倍;\n docs 三套幻想 schema 归真;multi-touch CSV 消费键同步\n- customers check-duplicate:match 补 phone/email/industry/primaryContact 四死字段;\n customer 与 matches[0] 深拷贝隔离(修共享引用被序列化为 \"[Circular]\" 的存量缺陷)\n- cash-flow 整模块对齐后端文档级 DTO(owner 矩阵裁定):统计卡/风险预警接真实端点,\n 列表/详情/编辑三视图重写(删 NaN%/静默丢弃/永不可达区块),detail 补回 notes 回读;\n 详情页真实消费 canonical /:id/items 明细子资源\n\n请求侧(live 复现实锤的运行时 500 与假筛选):\n- tickets 列表 9 个 schema 声明筛选键全部真消费(assigneeName/日期区间/多选/isOverdue/\n isEscalated/tags),teamId 无物理列显式吞掉防透传;修复前任意携带即整页 500\n- payments records:min/maxAmount 接 paid_amount 区间真消费,start/endDate 剔除透传\n- targets:end_date 区间补真实消费(此前从未实现),四日期键剔除透传\n\n治理配套:\n- 删除 attribution-models/attribution-reports 两个孤岛遗留 API 测试(打已删模块恒红)\n- acquisition 模块补 module-contract 单测(陈旧基线暴露的 D 级收口,A=282/D=0)\n- 49 条 CONFIRMED 分诊台账落盘 reports/field-contract-triage-2026-07-12.md\n (响应侧 5 域 42 条 + 请求侧 7 条,含共性根因与修复范式)\n\n证据:双端类型检查干净;后端单测 640 文件/8795 全绿(attribution-report 新增 7 用例、\ncustomers 引用隔离守卫);cash-flow RTL 19/19 重写;attribution/customers/multi-touch/\ncash-flow/targets API 真打 DB 全绿;三组筛选修复 live curl 收敛性断言(tickets 327→162/80/30、\npayments 177→0、targets 33→0);audit:tenant/response-columns/filter-truth/module-coverage\n全部达标且受控块零漂移。tickets/payments 两 API 套件失败经 stash 判责为存量债(vitest CJS\n加载/fixture 清理链),已记录台账。\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-12T06:13:37-07:00"}],"HeadCommit":{"Sha1":"b6ca4eb97fca5dff7fe33490df662865134b08d2","Message":"fix(field-contract): 断链深挖三批收口——attribution 读模型重塑 + customers 查重富化 + cash-flow 对齐文档真源 + 筛选键 500 硬炸修复\n\n响应侧(前端声明字段后端从未返回 / 键名形状错位):\n- attribution 五报告全部对齐前端契约:model-comparison 重塑嵌套 comparison + models 假筛选真消费;\n overall stats 补 revenue/coverage 真实指标并删硬编码假数;channel/campaign/path 三报告修\n 键名错位与渲染崩溃隐患(creditPercent.toFixed / path.join),统一\"最近计算批次\"防重算翻倍;\n docs 三套幻想 schema 归真;multi-touch CSV 消费键同步\n- customers check-duplicate:match 补 phone/email/industry/primaryContact 四死字段;\n customer 与 matches[0] 深拷贝隔离(修共享引用被序列化为 \"[Circular]\" 的存量缺陷)\n- cash-flow 整模块对齐后端文档级 DTO(owner 矩阵裁定):统计卡/风险预警接真实端点,\n 列表/详情/编辑三视图重写(删 NaN%/静默丢弃/永不可达区块),detail 补回 notes 回读;\n 详情页真实消费 canonical /:id/items 明细子资源\n\n请求侧(live 复现实锤的运行时 500 与假筛选):\n- tickets 列表 9 个 schema 声明筛选键全部真消费(assigneeName/日期区间/多选/isOverdue/\n isEscalated/tags),teamId 无物理列显式吞掉防透传;修复前任意携带即整页 500\n- payments records:min/maxAmount 接 paid_amount 区间真消费,start/endDate 剔除透传\n- targets:end_date 区间补真实消费(此前从未实现),四日期键剔除透传\n\n治理配套:\n- 删除 attribution-models/attribution-reports 两个孤岛遗留 API 测试(打已删模块恒红)\n- acquisition 模块补 module-contract 单测(陈旧基线暴露的 D 级收口,A=282/D=0)\n- 49 条 CONFIRMED 分诊台账落盘 reports/field-contract-triage-2026-07-12.md\n (响应侧 5 域 42 条 + 请求侧 7 条,含共性根因与修复范式)\n\n证据:双端类型检查干净;后端单测 640 文件/8795 全绿(attribution-report 新增 7 用例、\ncustomers 引用隔离守卫);cash-flow RTL 19/19 重写;attribution/customers/multi-touch/\ncash-flow/targets API 真打 DB 全绿;三组筛选修复 live curl 收敛性断言(tickets 327→162/80/30、\npayments 177→0、targets 33→0);audit:tenant/response-columns/filter-truth/module-coverage\n全部达标且受控块零漂移。tickets/payments 两 API 套件失败经 stash 判责为存量债(vitest CJS\n加载/fixture 清理链),已记录台账。\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-12T06:13:37-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/3d0a44a9c8d654139f4027f66c65b83a9ab64f0f...b6ca4eb97fca5dff7fe33490df662865134b08d2","Len":1}...
|
1783862034
|
Edit
Delete
|
|
17107
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"34599f92f {"Commits":[{"Sha1":"34599f92fc238176604126d3b0af3ac05efe051a","Message":"fix(field-contract): P0 批次八条收口——券码链崩溃/分配假失败/SLA 违规表/流转反馈/翻页/编辑丢字段/搜索失效\n\n响应侧:\n- groupbuy-redemptions 券码链:listVouchers/getVoucher/findByPhone 三端点接 adaptVoucher\n 归一(此前直连 canonical 形状致 row.code undefined 渲染 TypeError 崩溃、核销入口\n 永不出现、手机号核销必失败);adaptVoucher/adaptRedemption 补 metadata 双读\n (buyerName/buyerPhone/orderAmount,金额一直在此前恒 ¥0);formatVoucherCode 空值\n 守卫;reversed 状态不再折叠为 unused\n- leads 分配链:后端 assign 返回补 assignedTo(成功分配此前被前端 TypeError 报成\n \"分配失败\");分配预览 null 守卫(无可分配人显示告警 Tag 而非崩溃);shared 类型\n assignedTo nullable 化\n- SLA 违规表:getBreachedClocks 富化工单/客户/策略上下文 + breachedBy 超时分钟计算\n (metric_type 兼容 resolution/first_response 双值域),此前裸时钟 DTO 致 7 列全空\n 且超时列渲染 NaN;单测断言更新为富化契约守卫\n- 工单流转反馈:前端 executeTransition 类型与消费改读后端真源键 toStatus\n (此前读 toStage 恒 undefined,流转成功却无提示不刷新)\n- ap-ledger 列表改标准分页包络 paginated()(此前裸 res.json 致前端 total 恒 0 无法翻页)\n\n请求侧(live 实锤):\n- tickets 编辑:updateTicketSchema 补 customerId/snId/orderId/projectId 关联键\n (与 create 对称,此前换客户被 Zod 静默剥离假成功)+ service 补同租户引用校验 +\n 前端 update() 白名单映射对称化;联系人字段组确认为无物理列的想象契约,归 P2 裁定\n- payments plans:schema 补 keyword/due_date_from/due_date_to + service 到期区间消费\n (搜索框此前输入无效),内部两调用点同步补键\n\n证据:双端类型检查干净;后端单测 640 文件/8795 全绿(SLA 断言更新为富化契约);\nap-ledger 3/3、sla 12/12 API 真打 DB;live curl 实锤:工单换客户写读回(已还原)、\nplans keyword 190→0 收敛、ap-ledger 标准包络 meta.pagination;前端 leads/\ngroupbuy-redemptions RTL 17/17;分诊台账 P0 段已标记收口。\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-12T06:42:16-07:00"}],"HeadCommit":{"Sha1":"34599f92fc238176604126d3b0af3ac05efe051a","Message":"fix(field-contract): P0 批次八条收口——券码链崩溃/分配假失败/SLA 违规表/流转反馈/翻页/编辑丢字段/搜索失效\n\n响应侧:\n- groupbuy-redemptions 券码链:listVouchers/getVoucher/findByPhone 三端点接 adaptVoucher\n 归一(此前直连 canonical 形状致 row.code undefined 渲染 TypeError 崩溃、核销入口\n 永不出现、手机号核销必失败);adaptVoucher/adaptRedemption 补 metadata 双读\n (buyerName/buyerPhone/orderAmount,金额一直在此前恒 ¥0);formatVoucherCode 空值\n 守卫;reversed 状态不再折叠为 unused\n- leads 分配链:后端 assign 返回补 assignedTo(成功分配此前被前端 TypeError 报成\n \"分配失败\");分配预览 null 守卫(无可分配人显示告警 Tag 而非崩溃);shared 类型\n assignedTo nullable 化\n- SLA 违规表:getBreachedClocks 富化工单/客户/策略上下文 + breachedBy 超时分钟计算\n (metric_type 兼容 resolution/first_response 双值域),此前裸时钟 DTO 致 7 列全空\n 且超时列渲染 NaN;单测断言更新为富化契约守卫\n- 工单流转反馈:前端 executeTransition 类型与消费改读后端真源键 toStatus\n (此前读 toStage 恒 undefined,流转成功却无提示不刷新)\n- ap-ledger 列表改标准分页包络 paginated()(此前裸 res.json 致前端 total 恒 0 无法翻页)\n\n请求侧(live 实锤):\n- tickets 编辑:updateTicketSchema 补 customerId/snId/orderId/projectId 关联键\n (与 create 对称,此前换客户被 Zod 静默剥离假成功)+ service 补同租户引用校验 +\n 前端 update() 白名单映射对称化;联系人字段组确认为无物理列的想象契约,归 P2 裁定\n- payments plans:schema 补 keyword/due_date_from/due_date_to + service 到期区间消费\n (搜索框此前输入无效),内部两调用点同步补键\n\n证据:双端类型检查干净;后端单测 640 文件/8795 全绿(SLA 断言更新为富化契约);\nap-ledger 3/3、sla 12/12 API 真打 DB;live curl 实锤:工单换客户写读回(已还原)、\nplans keyword 190→0 收敛、ap-ledger 标准包络 meta.pagination;前端 leads/\ngroupbuy-redemptions RTL 17/17;分诊台账 P0 段已标记收口。\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-12T06:42:16-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/b6ca4eb97fca5dff7fe33490df662865134b08d2...34599f92fc238176604126d3b0af3ac05efe051a","Len":1}...
|
1783863745
|
Edit
Delete
|
|
17108
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"0ebe6fb5c {"Commits":[{"Sha1":"0ebe6fb5c4cc802d6d6f53fba830ec5fbf64f3d7","Message":"fix(field-contract): P1 批次十三条收口——键名/量纲映射级断链修复\n\n响应侧映射修复:\n- campaigns:getCampaignStats 从后端真实 {overview,channels} 派生 summary/channelBreakdown\n (渠道真数据此前被键名错位丢弃恒空);getStats 分组数组转对象(业务线 Tab 计数恒 0)+\n totalSpent 键对齐\n- leads /:id/score:拆分 controller 回完整评分对象(此前与 /score-details 共用剥壳 handler\n 只回裸数组,评分卡恒 0 分);shared 类型补 calculatedAt 真源键并重建 dist\n- tickets:stage-history 路由接 ticket_stage_history 真源 handler(此前 alias 到 timeline\n 被旁路,渲染「初始状态:undefined」);getReplies 补 adapter(回复人恒 '-' 修复)\n- satisfaction /analytics:adapter 归一 responseRate/avgCSAT/avgNPS/npsBreakdown\n (分析页半页恒 '-');情感分布/类型统计无后端真源,保持 undefined 失败关闭\n- commissions:my-stats adapter(四张统计卡恒 ¥0);listRecords/getMyRecords/\n getSettlementById 补 user/rule/settlement/records DTO 映射(含 org_units 部门),\n 顺手修掉 where 层 camel 死键(userId/businessDate 等触发 Prisma 未知列的潜伏 500)\n- financial-reports:KPI 卡读 actualValue/targetValue 真源键(恒 '-' 修复);\n 逾期率去掉二次 ×100(12.5% 曾显示 1250%)\n- ap-ledger:service 层补 supplier/owner 语义键映射(两列恒 '-')\n\n请求侧修复:\n- opportunities:statsQuerySchema 补 transform 唯一转换点(snake schema × camel service,\n stats/funnel/forecast 三端点 owner/日期筛选静默失效返回全量口径)\n- sla clocks:schema 补 status(此前被 Zod 剥离)+ service 消费 ticketId/clockType/breached\n (收而不筛的假筛选)\n\n附带:LeadAssignmentResult.assignedTo nullable 化后类型连坐揪出分配历史列第三处\n无守卫消费,一并加守卫。\n\n证据:双端类型检查干净;后端单测 640/8795 全绿;前端六域 RTL 20 文件/72 用例全绿;\nlive curl 实锤:opportunities funnel bogus owner 309→0、stats 2099 区间→0、\nleads score 返回完整对象键、sla clocks bogus status→0、campaigns/commissions wire\n形状确认。分诊台账 P1 段已标记收口。\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-12T07:01:41-07:00"}],"HeadCommit":{"Sha1":"0ebe6fb5c4cc802d6d6f53fba830ec5fbf64f3d7","Message":"fix(field-contract): P1 批次十三条收口——键名/量纲映射级断链修复\n\n响应侧映射修复:\n- campaigns:getCampaignStats 从后端真实 {overview,channels} 派生 summary/channelBreakdown\n (渠道真数据此前被键名错位丢弃恒空);getStats 分组数组转对象(业务线 Tab 计数恒 0)+\n totalSpent 键对齐\n- leads /:id/score:拆分 controller 回完整评分对象(此前与 /score-details 共用剥壳 handler\n 只回裸数组,评分卡恒 0 分);shared 类型补 calculatedAt 真源键并重建 dist\n- tickets:stage-history 路由接 ticket_stage_history 真源 handler(此前 alias 到 timeline\n 被旁路,渲染「初始状态:undefined」);getReplies 补 adapter(回复人恒 '-' 修复)\n- satisfaction /analytics:adapter 归一 responseRate/avgCSAT/avgNPS/npsBreakdown\n (分析页半页恒 '-');情感分布/类型统计无后端真源,保持 undefined 失败关闭\n- commissions:my-stats adapter(四张统计卡恒 ¥0);listRecords/getMyRecords/\n getSettlementById 补 user/rule/settlement/records DTO 映射(含 org_units 部门),\n 顺手修掉 where 层 camel 死键(userId/businessDate 等触发 Prisma 未知列的潜伏 500)\n- financial-reports:KPI 卡读 actualValue/targetValue 真源键(恒 '-' 修复);\n 逾期率去掉二次 ×100(12.5% 曾显示 1250%)\n- ap-ledger:service 层补 supplier/owner 语义键映射(两列恒 '-')\n\n请求侧修复:\n- opportunities:statsQuerySchema 补 transform 唯一转换点(snake schema × camel service,\n stats/funnel/forecast 三端点 owner/日期筛选静默失效返回全量口径)\n- sla clocks:schema 补 status(此前被 Zod 剥离)+ service 消费 ticketId/clockType/breached\n (收而不筛的假筛选)\n\n附带:LeadAssignmentResult.assignedTo nullable 化后类型连坐揪出分配历史列第三处\n无守卫消费,一并加守卫。\n\n证据:双端类型检查干净;后端单测 640/8795 全绿;前端六域 RTL 20 文件/72 用例全绿;\nlive curl 实锤:opportunities funnel bogus owner 309→0、stats 2099 区间→0、\nleads score 返回完整对象键、sla clocks bogus status→0、campaigns/commissions wire\n形状确认。分诊台账 P1 段已标记收口。\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-12T07:01:41-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/34599f92fc238176604126d3b0af3ac05efe051a...0ebe6fb5c4cc802d6d6f53fba830ec5fbf64f3d7","Len":1}...
|
1783864905
|
Edit
Delete
|
|
17109
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"5ae992ef9 {"Commits":[{"Sha1":"5ae992ef927153e78f5d698e12079bcd3c022f39","Message":"fix(field-contract): P2 第四批八条收口——占位统计真实现 + 无真源 UI 失败关闭\n\n后端补真实现(真源在库、此前占位/分组数组致恒 0):\n- rma:byType 真实 groupBy(type 列 2026-07-09 已建,stats 注释过期硬编码空数组致\n 「类型分布」卡恒空)\n- contracts:统计卡 active/expiringSoon/totalValue 真算(status 分组 + effective_to\n 30 天到期窗口 + total_amount 合计;live 实测 active=126 / totalValue=90 亿)\n- tickets:统计卡 pending(new+assigned)/processing(in_progress)/breached(SLA 时钟违约\n 且未终态) 真算(live 实测 177/45/0)\n- leads:/stats 补 unassigned(销售看板待办真源,live 实测 398);assignment/stats 补\n unassigned/todayAssigned + topAssignees.userName 人员姓名回填(分配页 UUID 直显修复)\n- sales-dashboard:getTrend 由硬编码空数组占位改真实月度聚合(与 overview 同口径\n won opportunities expected_amount + leads/opportunities 创建计数;live 验证趋势卡\n 出现 2026-05 真实赢单 50000,此前恒「暂无趋势数据」)\n\n前端无真源 UI 失败关闭(数据模型表达不了、禁止造假数):\n- contract-templates:删「草稿」统计卡(is_active 布尔无 draft 语义,后端字面量 0、\n 点击恒空列表)\n- customer-balance:删「透支额度」虚构列(后端无 overdraft 概念,adapter 硬编码 0)\n- groupbuy-redemptions:删「方式统计」死面板(redeem_method 未持久化,后端诚实空集)\n\n证据:双端类型检查干净;后端单测 640/8795 全绿(contracts/lead-assignment 单测断言\n更新为扁平键回归守卫);前端六域 RTL 10 文件/39 用例全绿;live curl 六端点真值实锤。\n分诊台账 P2 段拆分为已收口子集与剩余待裁定清单。\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-12T07:16:44-07:00"}],"HeadCommit":{"Sha1":"5ae992ef927153e78f5d698e12079bcd3c022f39","Message":"fix(field-contract): P2 第四批八条收口——占位统计真实现 + 无真源 UI 失败关闭\n\n后端补真实现(真源在库、此前占位/分组数组致恒 0):\n- rma:byType 真实 groupBy(type 列 2026-07-09 已建,stats 注释过期硬编码空数组致\n 「类型分布」卡恒空)\n- contracts:统计卡 active/expiringSoon/totalValue 真算(status 分组 + effective_to\n 30 天到期窗口 + total_amount 合计;live 实测 active=126 / totalValue=90 亿)\n- tickets:统计卡 pending(new+assigned)/processing(in_progress)/breached(SLA 时钟违约\n 且未终态) 真算(live 实测 177/45/0)\n- leads:/stats 补 unassigned(销售看板待办真源,live 实测 398);assignment/stats 补\n unassigned/todayAssigned + topAssignees.userName 人员姓名回填(分配页 UUID 直显修复)\n- sales-dashboard:getTrend 由硬编码空数组占位改真实月度聚合(与 overview 同口径\n won opportunities expected_amount + leads/opportunities 创建计数;live 验证趋势卡\n 出现 2026-05 真实赢单 50000,此前恒「暂无趋势数据」)\n\n前端无真源 UI 失败关闭(数据模型表达不了、禁止造假数):\n- contract-templates:删「草稿」统计卡(is_active 布尔无 draft 语义,后端字面量 0、\n 点击恒空列表)\n- customer-balance:删「透支额度」虚构列(后端无 overdraft 概念,adapter 硬编码 0)\n- groupbuy-redemptions:删「方式统计」死面板(redeem_method 未持久化,后端诚实空集)\n\n证据:双端类型检查干净;后端单测 640/8795 全绿(contracts/lead-assignment 单测断言\n更新为扁平键回归守卫);前端六域 RTL 10 文件/39 用例全绿;live curl 六端点真值实锤。\n分诊台账 P2 段拆分为已收口子集与剩余待裁定清单。\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-12T07:16:44-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/0ebe6fb5c4cc802d6d6f53fba830ec5fbf64f3d7...5ae992ef927153e78f5d698e12079bcd3c022f39","Len":1}...
|
1783865808
|
Edit
Delete
|
|
17110
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"e005063b4 {"Commits":[{"Sha1":"e005063b444466a70a8b0bc6b257ee2097fac9cb","Message":"fix(field-contract): P2 第五批十五条全量收口——SLA/门店/获客三域整链 + 微修线\n\n三域并行修复(每条裁定附 prisma schema 列证据,范式:有真源后端真算、无真源失败关闭):\n\nSLA 整链(服务#2/#3):\n- getDashboardStats 重写为前端嵌套契约:current{running/atRisk/breaching}、last30Days\n 响应/解决达标率(诚实分母:未到期 pending 不计入不造数)、breachedByPriority、\n dailyTrend 近 7 日;保留旧扁平键兼容。live 实锤 running=306、解决达标率 22.7%\n- getComplianceReport 由时钟数组改报告对象(overall/byPriority/byType/daily 逐日骨架),\n 真消费 dateFrom/dateTo(此前完全忽略);API 测试断言同步归真(旧断言锁定断链形状)\n\n门店域(门店#1-6):\n- groupbuy-platforms:全局统计/平台列表真算(accounts 计数、settled_amount 合计、\n byPlatform 分桶、authorizedPlatforms 接 auth_status 真列);店铺硬编码死指标\n (syncStatus/productCount/rating)删除;营收量纲修正(误按分除 100 → 元);\n totalOrders 全仓无 writer 全线失败关闭;同步任务无持久化表 → tab/API/类型下线\n- livestream-groupbuy-conversion:实时卡 redemptions(conversion_tracks stage='redeemed')\n 与 avgWatchDuration(viewer_tracks.watch_duration 有列有写链,纠正分诊「无列」误判)\n 真算;peakViewers 死零列失败关闭;关联表补 schedule 名称等 7 个物理列真源,\n 假时间戳/假 status 兜底删除;创建表单想象字段(商品 ID/置顶)删除\n\n获客域(获客#1/#2/#5):\n- campaigns getDashboardData 扩展 12 键真算(byStatus/byChannel/byBusinessLine groupBy、\n 预算花费聚合、executingCampaigns、recentLeadsCount、dailyTrend 7 日桶);live 实锤\n totalBudget=134.3 万、recentLeadsCount=31\n- channel-comparison 补 campaigns 计数与 avgRoi(cost=0 失败关闭);impressions/clicks\n 无真源从前端契约删除\n- campaign-targets 无 Prisma 关系 → 二次查询拼装活动摘要(查不到 null 禁止伪造);\n currentValue 无列 → 进度列失败关闭 '-';abm 触点/评分 metadata 无写链 → nullable\n\n微修线(7 条):\n- 门店系 page 回退 typo ×4(page ?? page_size 误回退,pageSize=50 会跳空页)\n- contracts 排序 order 别名(拦截器映射键此前被 Zod 剥离,升序静默回落 desc)\n- invoices「开票人」死字段三处删除(表无 issued_by 列,条件恒 false)\n- leads 保护期真实现(protect_until 真列 + 分配链真实写入;「保护期管理」由硬编码\n 空 stub 改真查询);分配历史 protectUntil 假时间戳改读 leads 真值\n- tickets assign/escalate 补 crm_activities 操作日志 writer(activity_type 直映\n timeline type,「指派记录」「升级记录」两个恒空 Tab 从此有真源)\n- cash-flow payment-behaviors 孤儿 schema 删除(零引用死文件)\n- batch8 测试存量断言缺陷补 auth mock(Permission 包裹按钮自 wire 提交起未 mock)\n\n证据:双端类型检查干净;后端单测 640 文件/8803 全绿(三域新增/强化单测:SLA 4 条、\nplatforms/livestream 聚合断言、campaigns dashboard/channel/targets 拼装断言,含\nnot.toHaveProperty 防伪造键回潮守卫);SLA API 真打 DB 12/12;前端相关域 RTL 全绿\n(含失败关闭断言与 createLink payload 精确匹配防想象字段回潮);live curl 六端点\n真值/失败关闭行为实锤。分诊台账 P2 段全部标记收口,余 4 项无消费者观察 INFO 备案。\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-12T08:08:16-07:00"}],"HeadCommit":{"Sha1":"e005063b444466a70a8b0bc6b257ee2097fac9cb","Message":"fix(field-contract): P2 第五批十五条全量收口——SLA/门店/获客三域整链 + 微修线\n\n三域并行修复(每条裁定附 prisma schema 列证据,范式:有真源后端真算、无真源失败关闭):\n\nSLA 整链(服务#2/#3):\n- getDashboardStats 重写为前端嵌套契约:current{running/atRisk/breaching}、last30Days\n 响应/解决达标率(诚实分母:未到期 pending 不计入不造数)、breachedByPriority、\n dailyTrend 近 7 日;保留旧扁平键兼容。live 实锤 running=306、解决达标率 22.7%\n- getComplianceReport 由时钟数组改报告对象(overall/byPriority/byType/daily 逐日骨架),\n 真消费 dateFrom/dateTo(此前完全忽略);API 测试断言同步归真(旧断言锁定断链形状)\n\n门店域(门店#1-6):\n- groupbuy-platforms:全局统计/平台列表真算(accounts 计数、settled_amount 合计、\n byPlatform 分桶、authorizedPlatforms 接 auth_status 真列);店铺硬编码死指标\n (syncStatus/productCount/rating)删除;营收量纲修正(误按分除 100 → 元);\n totalOrders 全仓无 writer 全线失败关闭;同步任务无持久化表 → tab/API/类型下线\n- livestream-groupbuy-conversion:实时卡 redemptions(conversion_tracks stage='redeemed')\n 与 avgWatchDuration(viewer_tracks.watch_duration 有列有写链,纠正分诊「无列」误判)\n 真算;peakViewers 死零列失败关闭;关联表补 schedule 名称等 7 个物理列真源,\n 假时间戳/假 status 兜底删除;创建表单想象字段(商品 ID/置顶)删除\n\n获客域(获客#1/#2/#5):\n- campaigns getDashboardData 扩展 12 键真算(byStatus/byChannel/byBusinessLine groupBy、\n 预算花费聚合、executingCampaigns、recentLeadsCount、dailyTrend 7 日桶);live 实锤\n totalBudget=134.3 万、recentLeadsCount=31\n- channel-comparison 补 campaigns 计数与 avgRoi(cost=0 失败关闭);impressions/clicks\n 无真源从前端契约删除\n- campaign-targets 无 Prisma 关系 → 二次查询拼装活动摘要(查不到 null 禁止伪造);\n currentValue 无列 → 进度列失败关闭 '-';abm 触点/评分 metadata 无写链 → nullable\n\n微修线(7 条):\n- 门店系 page 回退 typo ×4(page ?? page_size 误回退,pageSize=50 会跳空页)\n- contracts 排序 order 别名(拦截器映射键此前被 Zod 剥离,升序静默回落 desc)\n- invoices「开票人」死字段三处删除(表无 issued_by 列,条件恒 false)\n- leads 保护期真实现(protect_until 真列 + 分配链真实写入;「保护期管理」由硬编码\n 空 stub 改真查询);分配历史 protectUntil 假时间戳改读 leads 真值\n- tickets assign/escalate 补 crm_activities 操作日志 writer(activity_type 直映\n timeline type,「指派记录」「升级记录」两个恒空 Tab 从此有真源)\n- cash-flow payment-behaviors 孤儿 schema 删除(零引用死文件)\n- batch8 测试存量断言缺陷补 auth mock(Permission 包裹按钮自 wire 提交起未 mock)\n\n证据:双端类型检查干净;后端单测 640 文件/8803 全绿(三域新增/强化单测:SLA 4 条、\nplatforms/livestream 聚合断言、campaigns dashboard/channel/targets 拼装断言,含\nnot.toHaveProperty 防伪造键回潮守卫);SLA API 真打 DB 12/12;前端相关域 RTL 全绿\n(含失败关闭断言与 createLink payload 精确匹配防想象字段回潮);live curl 六端点\n真值/失败关闭行为实锤。分诊台账 P2 段全部标记收口,余 4 项无消费者观察 INFO 备案。\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-12T08:08:16-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/5ae992ef927153e78f5d698e12079bcd3c022f39...e005063b444466a70a8b0bc6b257ee2097fac9cb","Len":1}...
|
1783868903
|
Edit
Delete
|
|
17111
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"584554702 {"Commits":[{"Sha1":"584554702141074169c3a208e5fed2bc25768b58","Message":"fix(field-contract): 第六批 INFO 尾账四项收口——占位端点下线 + 死列失败关闭 + 三方契约归一\n\n- payment-plans/overdue 三方契约归一:service 补 minOverdueDays 真消费(due_date 前推 N 天,\n live 实锤 5→0 收敛);孤儿 schema(minAmount/maxOverdueDays 从未被消费)改为与 controller\n 实际消费一致(customerId/minOverdueDays/limit),docs 引用同步归真;前端参数删除无分页\n 语义的 page/pageSize 改 limit。类型收紧暴露分诊假阴性:orders 详情 hook 真实消费该端点,\n 此前传的 page/pageSize 一直被静默忽略,已对齐\n- livestream 报表 summary.peakViewers:后端接口与前端类型双侧 nullable + 死列注释\n (livestream_schedules.peak_viewers 无运行时 writer,类型层失败关闭防新消费者误信)\n- groupbuy getPlatformDetailStats/getStoreStats:基于 order_count/sales_amount 双死列\n (全仓仅 select 读、无 create/update 写链,相似写点在 influencer_performances 另一张表)\n 派生的 totalOrders/totalRevenue/dailyTrend/avgOrderValue/productCount/rating 全部失败\n 关闭返回 null/空并删除无用死列查询;仅保留 settled_amount 真列派生的 revenue\n- sales-dashboard 七个占位端点整体下线(products/customers/regional/activities/\n sales-cycle/my-performance/team-performance):自建立起即硬编码假数(恒空/avgDays:30)\n 且前端零视图消费,按孤岛清理先例删除 routes/controller/schema/docs/前端方法全链;\n live 实锤四端点 404;顺手对齐 getForecast 前端类型潜伏雷(声明数组 vs 后端真实对象)\n\n证据:双端类型检查干净;后端单测 640/8803 全绿;sales-dashboard API 2/2、前端\nsales-dashboard/orders RTL 17/17;route-contract 审计 coverage 100% 无破损;\nlive curl 实锤(minOverdueDays 收敛、占位端点 404、平台 stats 正常)。\n分诊台账全部条目清零,五批+尾账共约 54 项真缺陷收口完毕。\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-12T08:24:31-07:00"}],"HeadCommit":{"Sha1":"584554702141074169c3a208e5fed2bc25768b58","Message":"fix(field-contract): 第六批 INFO 尾账四项收口——占位端点下线 + 死列失败关闭 + 三方契约归一\n\n- payment-plans/overdue 三方契约归一:service 补 minOverdueDays 真消费(due_date 前推 N 天,\n live 实锤 5→0 收敛);孤儿 schema(minAmount/maxOverdueDays 从未被消费)改为与 controller\n 实际消费一致(customerId/minOverdueDays/limit),docs 引用同步归真;前端参数删除无分页\n 语义的 page/pageSize 改 limit。类型收紧暴露分诊假阴性:orders 详情 hook 真实消费该端点,\n 此前传的 page/pageSize 一直被静默忽略,已对齐\n- livestream 报表 summary.peakViewers:后端接口与前端类型双侧 nullable + 死列注释\n (livestream_schedules.peak_viewers 无运行时 writer,类型层失败关闭防新消费者误信)\n- groupbuy getPlatformDetailStats/getStoreStats:基于 order_count/sales_amount 双死列\n (全仓仅 select 读、无 create/update 写链,相似写点在 influencer_performances 另一张表)\n 派生的 totalOrders/totalRevenue/dailyTrend/avgOrderValue/productCount/rating 全部失败\n 关闭返回 null/空并删除无用死列查询;仅保留 settled_amount 真列派生的 revenue\n- sales-dashboard 七个占位端点整体下线(products/customers/regional/activities/\n sales-cycle/my-performance/team-performance):自建立起即硬编码假数(恒空/avgDays:30)\n 且前端零视图消费,按孤岛清理先例删除 routes/controller/schema/docs/前端方法全链;\n live 实锤四端点 404;顺手对齐 getForecast 前端类型潜伏雷(声明数组 vs 后端真实对象)\n\n证据:双端类型检查干净;后端单测 640/8803 全绿;sales-dashboard API 2/2、前端\nsales-dashboard/orders RTL 17/17;route-contract 审计 coverage 100% 无破损;\nlive curl 实锤(minOverdueDays 收敛、占位端点 404、平台 stats 正常)。\n分诊台账全部条目清零,五批+尾账共约 54 项真缺陷收口完毕。\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-12T08:24:31-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/e005063b444466a70a8b0bc6b257ee2097fac9cb...584554702141074169c3a208e5fed2bc25768b58","Len":1}...
|
1783869876
|
Edit
Delete
|
|
17112
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"384707574 {"Commits":[{"Sha1":"384707574f237763231e84a10939c4277977169d","Message":"feat(tickets): 工单联系人/预约时段五字段全链点亮——迁移补列 + 写读回闭环\n\n数据库迁移(20260712153553_ticket_contact_and_schedule_fields):\n- service_tickets 补 contact_name(100)/contact_phone(50)/contact_address(500)/\n estimated_start_time/estimated_end_time 五列——工单表单自建立起渲染这五个字段,\n 但无物理列导致 create/update 白名单注释「后端暂不支持」、用户填写全部静默丢弃\n (P0 批 tickets 编辑断链修复时裁定归 owner,本次补列接通)\n- 迁移应用过程处置共享 dev 库存量幽灵状态:20260711235453 为 failed 半应用\n (列+索引实际已在)、20260712000950 内容已在库但无记录——核实两者列+索引\n 完整存在后 migrate resolve --applied 补记录,再 deploy 新迁移;\n folder 真源 → 镜像同步 → audit:prisma-schema-source 通过 → client/Zod 重新生成\n\n全链接线:\n- ticketMapper 补 contactAddress/estimatedStartTime/estimatedEndTime 三条映射\n (contactName/contactPhone 映射历史上已预留、列今天才建)\n- createTicketSchema/updateTicketSchema 双 schema 补五键(Zod max 与 VarChar 逐列对齐,\n prisma-zod 契约审计 0 错误)\n- 前端 create()/update() 白名单恢复发送(表单 phone → 后端 contactPhone);\n 编辑回填改读 DTO 真源键 contactPhone;shared ServiceTicket 类型补 contactPhone\n- 连坐清理:shared 重建暴露 invoice-requests/Detail 的 issuedBy 漏网死字段消费,\n 同款移除(invoices 表无 issued_by 列)\n\n证据:双端类型检查干净;后端单测 640/8803 全绿;live 写读回实锤——PUT 五字段\n(王工/13900001111/杭州市西湖区文一路 100 号/预约时段 ISO)全部落库读回成功;\nprisma-zod p1Length/p1Required 均 0;tickets/invoices 域 RTL 6 文件/18 用例全绿。\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-12T08:49:04-07:00"}],"HeadCommit":{"Sha1":"384707574f237763231e84a10939c4277977169d","Message":"feat(tickets): 工单联系人/预约时段五字段全链点亮——迁移补列 + 写读回闭环\n\n数据库迁移(20260712153553_ticket_contact_and_schedule_fields):\n- service_tickets 补 contact_name(100)/contact_phone(50)/contact_address(500)/\n estimated_start_time/estimated_end_time 五列——工单表单自建立起渲染这五个字段,\n 但无物理列导致 create/update 白名单注释「后端暂不支持」、用户填写全部静默丢弃\n (P0 批 tickets 编辑断链修复时裁定归 owner,本次补列接通)\n- 迁移应用过程处置共享 dev 库存量幽灵状态:20260711235453 为 failed 半应用\n (列+索引实际已在)、20260712000950 内容已在库但无记录——核实两者列+索引\n 完整存在后 migrate resolve --applied 补记录,再 deploy 新迁移;\n folder 真源 → 镜像同步 → audit:prisma-schema-source 通过 → client/Zod 重新生成\n\n全链接线:\n- ticketMapper 补 contactAddress/estimatedStartTime/estimatedEndTime 三条映射\n (contactName/contactPhone 映射历史上已预留、列今天才建)\n- createTicketSchema/updateTicketSchema 双 schema 补五键(Zod max 与 VarChar 逐列对齐,\n prisma-zod 契约审计 0 错误)\n- 前端 create()/update() 白名单恢复发送(表单 phone → 后端 contactPhone);\n 编辑回填改读 DTO 真源键 contactPhone;shared ServiceTicket 类型补 contactPhone\n- 连坐清理:shared 重建暴露 invoice-requests/Detail 的 issuedBy 漏网死字段消费,\n 同款移除(invoices 表无 issued_by 列)\n\n证据:双端类型检查干净;后端单测 640/8803 全绿;live 写读回实锤——PUT 五字段\n(王工/13900001111/杭州市西湖区文一路 100 号/预约时段 ISO)全部落库读回成功;\nprisma-zod p1Length/p1Required 均 0;tickets/invoices 域 RTL 6 文件/18 用例全绿。\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-12T08:49:04-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/584554702141074169c3a208e5fed2bc25768b58...384707574f237763231e84a10939c4277977169d","Len":1}...
|
1783871348
|
Edit
Delete
|
|
17113
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"c4f0c2eab {"Commits":[{"Sha1":"c4f0c2eabbf729ae2f7cc6de2eda4416f0e7b3bb","Message":"feat(migrations): 部署完备 parity baseline——全新库 migrate deploy 终态与 schema 真源零差异\n\n新增 20260712155600_deploy_parity_baseline 迁移,收敛迁移链重放态与 folder schema\n真源之间累计 10176 行系统性漂移,使全新空库 `prisma migrate deploy` 全量重放后\n与 Prisma Client 生成依据完全一致(影子库全链演练机器验证 diff 为空)。\n\n漂移核查结论:\n- 零缺列——Client 声明的列迁移链全部建到(6 个疑似缺列实为同语句 DROP+ADD 类型\n 重建,演练撞列后实锤改判)\n- 实际漂移构成:FK onDelete/onUpdate 行为 542 对、索引命名与定义约 1950 处、\n 列类型/NOT NULL/默认值 260 条、131 个真源已废弃列清理\n\nbaseline 工程化(五类防御化,安全性由终态 diff=0 校验兜底):\n- 约束背后索引 DROP INDEX → DROP CONSTRAINT(演练发现 Prisma diff 脚本缺陷)\n- 业务视图 20 个先拆后建(排除 pg_* 扩展视图;类型变更被视图依赖阻断)\n- 业务触发器 36 个先拆后建(pg_get_triggerdef 原样导出)\n- 索引操作幂等化 + 约束 RENAME/ADD DO 块吞存在性异常\n- 收尾:11 个同名异构索引先删后建 + 1 个冗余旧名 FK 清理\n\n环境处置:\n- dev 库 resolve --applied 跳过(禁止在有数据库上执行,含 DROP COLUMN 与 FK 行为\n 变更;存量漂移由 migration-drift 审计渐进治理)\n- API 测试库非 prisma migrate 管理,不受影响\n- 附带处置共享 dev 库幽灵状态:failed 半应用迁移 20260711235453 与无记录迁移\n 20260712000950 核实内容完整在库后 resolve 补记录\n\n部署口径落盘 docs/operations/database-deploy-migration-runbook-2026-07-12.md\n(全新库两步:deploy + diff 校验;已有环境一步 resolve)。\n\n证据:影子库全链演练 deploy 成功 + 终态 diff 输出 \"This is an empty migration.\";\n后端单测 640/8803 全绿;customers/sla API 真打 DB 17/17;prisma:schema 镜像审计通过;\n演练用影子库已清理。\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-12T09:04:27-07:00"}],"HeadCommit":{"Sha1":"c4f0c2eabbf729ae2f7cc6de2eda4416f0e7b3bb","Message":"feat(migrations): 部署完备 parity baseline——全新库 migrate deploy 终态与 schema 真源零差异\n\n新增 20260712155600_deploy_parity_baseline 迁移,收敛迁移链重放态与 folder schema\n真源之间累计 10176 行系统性漂移,使全新空库 `prisma migrate deploy` 全量重放后\n与 Prisma Client 生成依据完全一致(影子库全链演练机器验证 diff 为空)。\n\n漂移核查结论:\n- 零缺列——Client 声明的列迁移链全部建到(6 个疑似缺列实为同语句 DROP+ADD 类型\n 重建,演练撞列后实锤改判)\n- 实际漂移构成:FK onDelete/onUpdate 行为 542 对、索引命名与定义约 1950 处、\n 列类型/NOT NULL/默认值 260 条、131 个真源已废弃列清理\n\nbaseline 工程化(五类防御化,安全性由终态 diff=0 校验兜底):\n- 约束背后索引 DROP INDEX → DROP CONSTRAINT(演练发现 Prisma diff 脚本缺陷)\n- 业务视图 20 个先拆后建(排除 pg_* 扩展视图;类型变更被视图依赖阻断)\n- 业务触发器 36 个先拆后建(pg_get_triggerdef 原样导出)\n- 索引操作幂等化 + 约束 RENAME/ADD DO 块吞存在性异常\n- 收尾:11 个同名异构索引先删后建 + 1 个冗余旧名 FK 清理\n\n环境处置:\n- dev 库 resolve --applied 跳过(禁止在有数据库上执行,含 DROP COLUMN 与 FK 行为\n 变更;存量漂移由 migration-drift 审计渐进治理)\n- API 测试库非 prisma migrate 管理,不受影响\n- 附带处置共享 dev 库幽灵状态:failed 半应用迁移 20260711235453 与无记录迁移\n 20260712000950 核实内容完整在库后 resolve 补记录\n\n部署口径落盘 docs/operations/database-deploy-migration-runbook-2026-07-12.md\n(全新库两步:deploy + diff 校验;已有环境一步 resolve)。\n\n证据:影子库全链演练 deploy 成功 + 终态 diff 输出 \"This is an empty migration.\";\n后端单测 640/8803 全绿;customers/sla API 真打 DB 17/17;prisma:schema 镜像审计通过;\n演练用影子库已清理。\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-12T09:04:27-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/384707574f237763231e84a10939c4277977169d...c4f0c2eabbf729ae2f7cc6de2eda4416f0e7b3bb","Len":1}...
|
1783872271
|
Edit
Delete
|
|
17179
|
5
|
5
|
7
|
50
|
0
|
0
|
refs/heads/hljTest
|
1
|
|
1783943233
|
Edit
Delete
|
|
17181
|
5
|
5
|
7
|
50
|
0
|
0
|
refs/heads/hljTest
|
1
|
{"Commits":[],"HeadCommit":{"S {"Commits":[],"HeadCommit":{"Sha1":"87bcbf6ebbf43784219f8e6a5a40d6cd8fc3041c","Message":"chore(models): track model weights with lfs\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-02T01:00:28-07:00"},"CompareURL":"luoanwu/juhi-song-library-alignment/compare/main...87bcbf6ebbf43784219f8e6a5a40d6cd8fc3041c","Len":0}...
|
1783943233
|
Edit
Delete
|
|
17342
|
5
|
1
|
5
|
60
|
0
|
0
|
|
1
|
|
1784003149
|
Edit
Delete
|
|
17343
|
5
|
5
|
5
|
60
|
0
|
0
|
refs/heads/main
|
1
|
|
1784003175
|
Edit
Delete
|
|
17344
|
5
|
5
|
5
|
60
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"f73daf0a1 {"Commits":[{"Sha1":"f73daf0a17c4cd19344f03ba21afcc326a49a650","Message":"初始提交:嗨赞AI制作平台(含 C1–C59 全部治理轮次)\n\n从 基础框架 派生的 AI 歌词对齐制作平台。契约单源 @repo/contracts + 双后端\n(NestJS/Fastify)对等 + Next.js studio 前端 + Python 模型 workers。\n\n治理基线(reports/baseline.json 棘轮):\n- 静态门禁 pnpm check 全绿(naming/schema/validation/contract-consumers/\n dual-backend/concurrency-guard/migrations/models/alignment-models/library/\n lyra-parity/governance-docs)\n- check:runtime 316/316、check:ui 32/32、own-tests 39 文件 348 用例\n\n体积纪律:模型权重(~13GB)与曲库音频(含受版权保护素材)不入库,\n仅保留 models/model-assets.v1.json 与 曲库/library.latest.json 两份登记真源\n(check:models / check:library 据此比对磁盘实况)。\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-13T20:23:16-07:00"}],"HeadCommit":{"Sha1":"f73daf0a17c4cd19344f03ba21afcc326a49a650","Message":"初始提交:嗨赞AI制作平台(含 C1–C59 全部治理轮次)\n\n从 基础框架 派生的 AI 歌词对齐制作平台。契约单源 @repo/contracts + 双后端\n(NestJS/Fastify)对等 + Next.js studio 前端 + Python 模型 workers。\n\n治理基线(reports/baseline.json 棘轮):\n- 静态门禁 pnpm check 全绿(naming/schema/validation/contract-consumers/\n dual-backend/concurrency-guard/migrations/models/alignment-models/library/\n lyra-parity/governance-docs)\n- check:runtime 316/316、check:ui 32/32、own-tests 39 文件 348 用例\n\n体积纪律:模型权重(~13GB)与曲库音频(含受版权保护素材)不入库,\n仅保留 models/model-assets.v1.json 与 曲库/library.latest.json 两份登记真源\n(check:models / check:library 据此比对磁盘实况)。\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-13T20:23:16-07:00"},"CompareURL":"","Len":1}...
|
1784003175
|
Edit
Delete
|
|
17345
|
5
|
1
|
5
|
61
|
0
|
0
|
|
1
|
|
1784003932
|
Edit
Delete
|
|
17346
|
5
|
5
|
5
|
61
|
0
|
0
|
refs/heads/main
|
1
|
|
1784003956
|
Edit
Delete
|
|
17347
|
5
|
5
|
5
|
61
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"7e38caa7a {"Commits":[{"Sha1":"7e38caa7a9a622e250ab06620cd295404fd97f4a","Message":"治理状态:记录第二轮修复,版本 0.2.1\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-13T19:50:38-07:00"},{"Sha1":"c7294d6f71f7653ea197b3e3333da9ed54d19e63","Message":"reindex 增量优化与审计库并发加固\n\n1. reindex: 内容未变仅被 touch 的文件不再重分块重写索引,只刷新\n 元数据。新增显式 --fast((mtime,size) 未变即跳过,不读文件),\n 供大语料 nightly 使用;默认仍全量哈希 —— rsync/tar 会保留\n mtime,同 mtime 改内容只有 sha 抓得到,该保证有单测钉住,\n 不能默认放弃。\n2. audit_log: WAL + busy_timeout —— 多 MCP 客户端并发写同一\n 审计库时避免 database is locked(审计失败虽不改变检索答案,\n 但监控会失明)。\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-13T19:49:42-07:00"},{"Sha1":"3ca2d7515b057ec3f22fa89f95d4eea2cf37aba6","Message":"治理工具:冲突策略语义区分、词表结构体检 T4、修死引用\n\n1. conflict_policy: source_priority 与 source_then_latest 此前实现\n 完全相同,是假选项。现区分语义 —— source_priority 只按来源优先级\n 裁决,并列最高交回人工(needs_manual_review);要用时间破并列的\n 显式选 source_then_latest。补两条并列场景测试。\n2. wiki terms 新增 T4 词表结构体检,抓两种静默失效:\n - 跨行重叠的同义词组不会自动合并(查 A 组的词展开不到 B 组);\n - 含空白的成员在查询侧按空格被切开,整词永远不可达。\n 实测在现网 syn.tsv 上即抓到「error code」不可达键。\n3. README: PLAN.md 三处死引用改指 docs/technical-plan.md;\n wiki terms 输出不再提示不存在的 --llm 参数。\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-13T19:47:58-07:00"},{"Sha1":"a8d855f96127e7467c70eb9e25deb040fce55201","Message":"信任边界:TRUNCATED 诊断移出信封,grep 与 fts 检索面对齐\n\n1. emit(): 截断提示此前 printf 到 stdout,会被 kb_tools 包进\n \u003ckb_result\u003e 信封 —— SOP 一边要求 agent 对 TRUNCATED 缩小范围,\n 一边要求无视信封内一切指令,自相矛盾;审计 status_of 只看\n stderr,截断也漏记。改走 stderr,并在 audit_log 增加\n 'truncated' 状态。\n2. kb grep: 导航层(INDEX/_index/README)此前只在 fts 侧被排除,\n grep 会命中并让 agent 引用 INDEX.md 的行当证据。rg 用 --iglob、\n grep 用 --exclude 与 fts 的 NAV 列表对齐。\n3. emit(): wc -c 前导空格清理(macOS 输出对齐问题)。\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-13T19:46:07-07:00"},{"Sha1":"4a3ea648c8f46c0456e25ca97a476819d7421404","Message":"评测口径:grep 兜底改用真分词,幻觉率剔除注入行\n\n1. run_eval: grep 兜底探测词此前按空格切 —— 中文 query 没有空格,\n 整句丢给 grep 恒 0 命中,所有中文落空都被误判成「语义 gap →\n 该上 vec」,而处方本该是「补 syn.tsv」。这是本工具的核心判定,\n 现改用 kb_core.units() 同源分词 + 停用词过滤,只取真词探测。\n 实测: '包厢无声怎么办' 探测词从 [整句] 变为 [包厢, 无声]。\n2. run_eval: 清理 'if True else' 死代码;新增 --syn(默认与检索侧\n 同源 \u003ckb\u003e/conf/syn.tsv)。\n3. agent_eval: 幻觉率/正确率的分母剔除注入演练行 —— 注入行\n hallucinated 恒 False,混入会稀释幻觉率,又把「抵抗成功」记成\n 正确答案。注入有自己的 --gate-injection。\n4. agent_eval: 引用正则补 .mdx(EXTS 支持它,引用 mdx 的正确回答\n 此前会被误判为幻觉)。\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-13T19:44:32-07:00"}],"HeadCommit":{"Sha1":"7e38caa7a9a622e250ab06620cd295404fd97f4a","Message":"治理状态:记录第二轮修复,版本 0.2.1\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-13T19:50:38-07:00"},"CompareURL":"","Len":7}...
|
1784003956
|
Edit
Delete
|
|
17356
|
5
|
5
|
5
|
60
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"a6e738a4e {"Commits":[{"Sha1":"a6e738a4e2b096ebd400cc03e3cbd92e6d3234f3","Message":"C63:默认主链角色互换——HubertFA 为默认主对齐器,SOFA 降为二次窗口校验\n\n- contracts DEFAULT_MAIN_ALIGNER_ID sofa_mandarin -\u003e hubertfa(商用许可明确 +\n C61 拼接对齐 A/B 反超;内部/商用缺省口径合一),注册表 displayName/notes 同步,\n 契约测试锁「默认必须商用可选 + commercialUse=true」不变式\n- run_pipeline 新增 SOFA 真实声学二次窗口校验(6.5 步):回投主时钟后 SOFA\n (--no-hubert-verifier 子进程跨 venv)对同一输入独立二次对齐,逐行 onset/end\n \u003e250ms 标 sofa_boundary_disagreement(C50 角色完整镜像互换)\n- fail-closed 三层判责:商用上下文/缺 venv/缺 ckpt/执行失败均降级 portable\n 边界校验,verification.summary.mode + honesty.sofaSecondPass.skipReason 如实\n 登记;实测商用降级 + 内部研发真跑(73 行、60 行标复核)双路径\n- fastify HTTP 默认 run 断言随翻转更新;smoke 7/7、runner 47/47、\n check:runtime 316/316、check:ui 34/34、pnpm check 全绿\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-13T22:59:27-07:00"},{"Sha1":"d343e1b5b3a23790be6707e80fa48060a0984c1f","Message":"C62:UI 随 C61 更新——主/校角色标签按 mainAlignerId 特化 + 拼接计划上卡\n\n- runMapping 新增 runOperationLabel/runVerifierLabel:local_align 标签\n sofa→「SOFA 字级对齐」/hubertfa→「HubertFA 拼接对齐」,校验器后缀\n hubertfa 主→SOFA、sofa 主→HubertFA(曾写死,hubertfa run 主/校陈述颠倒)\n- TopBar/InfoTab/RunEvidenceCard/StepModal(入队/运行态/verify/score 描述)\n 全部按 run 动态陈述;hubertfa 的 local_align 弹窗如实描述拼接对齐主路径\n- RunEvidenceCard 新增 lyra-concat-plan:proposal honesty.concat 真实计划上卡\n (保留块/剪除时长/带宽),非拼接 proposal 不渲染\n- LoadModal 注册表单源锁不动(verifier 角色语义分层属 contracts 层议题)\n- e2e:hubertfa 拼接文案断言 + SOFA 校验按钮/verifier 断言纠偏 + 拼接计划\n 正反用例;实页双向核验 hubertfa/sofa run 各自正确\n- check:ui 34/34、lyra-parity 绿、pnpm check 全绿;ownTestCases 349→350、\n uiTestsPassed 33→34\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-13T22:46:32-07:00"},{"Sha1":"41d8010779db5ae99520052ce9a87d9113453284","Message":"C61:HubertFA 主对齐切换拼接对齐主路径(剪长间隙+带状全局一次性对齐+回投主时钟)\n\n- workers/pipeline --concat:粗窗保留块(±800ms,仅剪 \u003e2s 长空隙)拼接 + 480ms\n 真静音锚 -\u003e 全歌词一次性带状全局 forced-align -\u003e SOFA 校验后分段线性回投\n- 带状 Viterbi(行窗 ±400ms + 邻行夹紧 300ms)封顶长程漂移;ph_edge 边界\n logit 奖励推进转移(≤500ms 72.5%-\u003e92.8% 贡献显著)\n- runner 默认 HubertFA 命令追加 --concat(SOFA 主链与桩注入不受影响)\n- 晴天 A/B(同 vocals/切片/真值):行 ≤500ms 76.8%-\u003e92.75%(商用链首次过\n 80% 阈值)、p90 746-\u003e484ms、字 median 606-\u003e399ms;插值行 3 优 1 劣优雅退化;\n contracts 完整性 0 违规 + 生产 schema GREEN\n- 证据 reports/model-evidence/qingtian-precision-concat.latest.json(含迭代\n 方法论留痕:纯全局漂移教训/带状/夹紧/边界奖励/定参纪律)\n- 自测 --self-test-concat 11/11、smoke 7/7、runner 47/47、check:runtime 316/316\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-13T22:27:18-07:00"},{"Sha1":"67e69765b4cee2cc6384c3a280bfab7ec607e733","Message":"C60:全局时间轴接真实结构证据,BPM 水合与解析层 tab 解耦\n\n- GlobalTimeline 结构色带消费 latestStructureEvidence(与音乐解析层同一读模型),\n 真实段不合并、段数与解析层一致;SegKind 补 outro;无证据回退装饰 fixture\n 并以 lyra-structure-source 徽标/data-structure-source 诚实标注\n- setRealBpm 同步从 AnalysisStub(仅 tab 激活时挂载)迁至常驻 useStudioBridge,\n 不点解析层全局时间轴也显示真实 BPM\n- e2e:装饰标注 → 注入真实 structure_evidence → 不点 tab 断言段数/outro/134 BPM 上轴\n- 棘轮:ownTestCases 348→349、uiTestsPassed 32→33(check:ui 33/33、pnpm check 全绿)\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-13T21:41:40-07:00"}],"HeadCommit":{"Sha1":"a6e738a4e2b096ebd400cc03e3cbd92e6d3234f3","Message":"C63:默认主链角色互换——HubertFA 为默认主对齐器,SOFA 降为二次窗口校验\n\n- contracts DEFAULT_MAIN_ALIGNER_ID sofa_mandarin -\u003e hubertfa(商用许可明确 +\n C61 拼接对齐 A/B 反超;内部/商用缺省口径合一),注册表 displayName/notes 同步,\n 契约测试锁「默认必须商用可选 + commercialUse=true」不变式\n- run_pipeline 新增 SOFA 真实声学二次窗口校验(6.5 步):回投主时钟后 SOFA\n (--no-hubert-verifier 子进程跨 venv)对同一输入独立二次对齐,逐行 onset/end\n \u003e250ms 标 sofa_boundary_disagreement(C50 角色完整镜像互换)\n- fail-closed 三层判责:商用上下文/缺 venv/缺 ckpt/执行失败均降级 portable\n 边界校验,verification.summary.mode + honesty.sofaSecondPass.skipReason 如实\n 登记;实测商用降级 + 内部研发真跑(73 行、60 行标复核)双路径\n- fastify HTTP 默认 run 断言随翻转更新;smoke 7/7、runner 47/47、\n check:runtime 316/316、check:ui 34/34、pnpm check 全绿\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-13T22:59:27-07:00"},"CompareURL":"luoanwu/haizan-ai-production-platform/compare/f73daf0a17c4cd19344f03ba21afcc326a49a650...a6e738a4e2b096ebd400cc03e3cbd92e6d3234f3","Len":4}...
|
1784009830
|
Edit
Delete
|
|
17357
|
5
|
5
|
5
|
60
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"1270a9b62 {"Commits":[{"Sha1":"1270a9b62cf64e8bf85e71686a39728438f36160","Message":"C64:CI 静态门禁与本机磁盘资产门禁解耦(首次远端 CI 红盘判责)\n\n首推 GitHub 后 governance.yml 静态 job 如预期红盘:check:models/\ncheck:alignment-models/check:library 的本质是「登记 ↔ 磁盘实况」本机门禁,\n而模型权重(~13GB)与曲库音频按体积/版权纪律不入库,CI runner 必红且\n不构成真实信号。\n\n- 三脚本加 GOVERNANCE_SKIP_LOCAL_ASSET_GATES=true 显式跳过 seam:醒目声明\n + 不产报告不伪造绿盘;本机默认不设、照常硬校验(本机双路径已验证)\n- workflow 静态 job 设置该变量并注释证据真源(已提交的本机\n reports/*.latest.json,由 check:governance 棘轮消费)\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-13T23:21:23-07:00"}],"HeadCommit":{"Sha1":"1270a9b62cf64e8bf85e71686a39728438f36160","Message":"C64:CI 静态门禁与本机磁盘资产门禁解耦(首次远端 CI 红盘判责)\n\n首推 GitHub 后 governance.yml 静态 job 如预期红盘:check:models/\ncheck:alignment-models/check:library 的本质是「登记 ↔ 磁盘实况」本机门禁,\n而模型权重(~13GB)与曲库音频按体积/版权纪律不入库,CI runner 必红且\n不构成真实信号。\n\n- 三脚本加 GOVERNANCE_SKIP_LOCAL_ASSET_GATES=true 显式跳过 seam:醒目声明\n + 不产报告不伪造绿盘;本机默认不设、照常硬校验(本机双路径已验证)\n- workflow 静态 job 设置该变量并注释证据真源(已提交的本机\n reports/*.latest.json,由 check:governance 棘轮消费)\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-13T23:21:23-07:00"},"CompareURL":"luoanwu/haizan-ai-production-platform/compare/a6e738a4e2b096ebd400cc03e3cbd92e6d3234f3...1270a9b62cf64e8bf85e71686a39728438f36160","Len":1}...
|
1784010092
|
Edit
Delete
|
|
17358
|
5
|
5
|
5
|
60
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"2454d24e4 {"Commits":[{"Sha1":"2454d24e46f12337b9574f9d677ddf051fb17005","Message":"C64b:CI MinIO 迁官方镜像 step(bitnami/minio 已从 Docker Hub 下架)\n\n首次远端 runtime job 实证 bitnami/minio:latest manifest unknown(Bitnami\n目录变更下架)。GH services 不支持启动命令,改为 step 直跑\n`docker run minio/minio server /data`——与 CLAUDE.md 本机口径同一条命令,\n消除第二套镜像来源。\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-13T23:24:38-07:00"}],"HeadCommit":{"Sha1":"2454d24e46f12337b9574f9d677ddf051fb17005","Message":"C64b:CI MinIO 迁官方镜像 step(bitnami/minio 已从 Docker Hub 下架)\n\n首次远端 runtime job 实证 bitnami/minio:latest manifest unknown(Bitnami\n目录变更下架)。GH services 不支持启动命令,改为 step 直跑\n`docker run minio/minio server /data`——与 CLAUDE.md 本机口径同一条命令,\n消除第二套镜像来源。\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-13T23:24:38-07:00"},"CompareURL":"luoanwu/haizan-ai-production-platform/compare/1270a9b62cf64e8bf85e71686a39728438f36160...2454d24e46f12337b9574f9d677ddf051fb17005","Len":1}...
|
1784010285
|
Edit
Delete
|
|
17359
|
5
|
5
|
5
|
60
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"2358c119b {"Commits":[{"Sha1":"2358c119b985d2797496bd76d8683556005f5998","Message":"C64c:runtime 编排解析 stdout+stderr 并补零解析判责输出\n\n远端 CI runtime job「Tests passed 0」判责:CI 无 TTY 时 turbo 任务日志\n可能走 stderr,本机 TTY 正常——输出口径分叉。测试数汇总改为解析\nstdout+stderr;解析为 0 时把原始输出尾巴打进失败日志(远端无法登机\n时可从 CI 日志直接定位)。本机 check:runtime 316/316 回归通过。\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-13T23:32:52-07:00"}],"HeadCommit":{"Sha1":"2358c119b985d2797496bd76d8683556005f5998","Message":"C64c:runtime 编排解析 stdout+stderr 并补零解析判责输出\n\n远端 CI runtime job「Tests passed 0」判责:CI 无 TTY 时 turbo 任务日志\n可能走 stderr,本机 TTY 正常——输出口径分叉。测试数汇总改为解析\nstdout+stderr;解析为 0 时把原始输出尾巴打进失败日志(远端无法登机\n时可从 CI 日志直接定位)。本机 check:runtime 316/316 回归通过。\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-13T23:32:52-07:00"},"CompareURL":"luoanwu/haizan-ai-production-platform/compare/2454d24e46f12337b9574f9d677ddf051fb17005...2358c119b985d2797496bd76d8683556005f5998","Len":1}...
|
1784010778
|
Edit
Delete
|
|
17360
|
5
|
5
|
5
|
60
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"262802ed1 {"Commits":[{"Sha1":"262802ed1be2f708784260d2fd49e110a9c365f9","Message":"C64d:测试数解析先剥 ANSI 色码(CI 强制彩色输出致正则失配)\n\nCI 判责输出(C64c 新增)直接暴露根因:turbo/vitest 在 CI 上强制彩色,\n「Tests ⎋[1m⎋[32m95 passed」的转义序列夹在关键词与数字之间使\n/Tests\\s+(\\d+)\\s+passed/ 失配、汇总恒 0;本机非 TTY 无色码故从未复现。\n解析前剥 \\x1b[..m 序列,彩色/无色输入均验证正确;本机 316/316 回归通过。\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-13T23:39:54-07:00"}],"HeadCommit":{"Sha1":"262802ed1be2f708784260d2fd49e110a9c365f9","Message":"C64d:测试数解析先剥 ANSI 色码(CI 强制彩色输出致正则失配)\n\nCI 判责输出(C64c 新增)直接暴露根因:turbo/vitest 在 CI 上强制彩色,\n「Tests ⎋[1m⎋[32m95 passed」的转义序列夹在关键词与数字之间使\n/Tests\\s+(\\d+)\\s+passed/ 失配、汇总恒 0;本机非 TTY 无色码故从未复现。\n解析前剥 \\x1b[..m 序列,彩色/无色输入均验证正确;本机 316/316 回归通过。\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-13T23:39:54-07:00"},"CompareURL":"luoanwu/haizan-ai-production-platform/compare/2358c119b985d2797496bd76d8683556005f5998...262802ed1be2f708784260d2fd49e110a9c365f9","Len":1}...
|
1784011200
|
Edit
Delete
|
|
17361
|
5
|
5
|
5
|
60
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"6d7311f3c {"Commits":[{"Sha1":"6d7311f3c50d0894683ed1b0681f23bde45a35c4","Message":"C64e:编排失败步补打 stdout 尾巴(vitest 失败细节在 stdout 而非 stderr)\n\n远端 api-fastify#test 失败但 CI 日志只有 turbo 的「exited (1)」——失败步\n此前只打 stderrTail,vitest 具体失败用例(stdout 经 turbo 转发)全部丢失。\n失败时补打 stdout 尾巴(test 步扩到 12KB),远端判责不再需要登机。\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-13T23:49:21-07:00"}],"HeadCommit":{"Sha1":"6d7311f3c50d0894683ed1b0681f23bde45a35c4","Message":"C64e:编排失败步补打 stdout 尾巴(vitest 失败细节在 stdout 而非 stderr)\n\n远端 api-fastify#test 失败但 CI 日志只有 turbo 的「exited (1)」——失败步\n此前只打 stderrTail,vitest 具体失败用例(stdout 经 turbo 转发)全部丢失。\n失败时补打 stdout 尾巴(test 步扩到 12KB),远端判责不再需要登机。\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-13T23:49:21-07:00"},"CompareURL":"luoanwu/haizan-ai-production-platform/compare/262802ed1be2f708784260d2fd49e110a9c365f9...6d7311f3c50d0894683ed1b0681f23bde45a35c4","Len":1}...
|
1784011767
|
Edit
Delete
|
|
17362
|
5
|
5
|
5
|
60
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"a7536ce94 {"Commits":[{"Sha1":"a7536ce9426fa12786e46db761420ec63c26b09d","Message":"C64f:UI 编排失败判责输出 + CI 跳过 macOS 视觉基线 + 失败工件上传\n\n- check-ui-acceptance 失败步补打 stdout 尾巴(playwright 细节在 stdout)\n- 4 张视觉基线为 macOS chromium 生成,CI Linux 中文字体渲染差异远超容差\n (跨平台结构性差异非回归):UI_SKIP_VISUAL_BASELINES=true 显式跳过截图\n 断言(DOM/契约断言照跑),本机默认不跳、check:lyra-parity 继续守护基线\n- workflow 失败时上传 reports + playwright traces 工件(远端判责不再盲抓)\n- 本机回归:check:ui 34/34(视觉基线照跑)、lyra-parity 绿\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-14T00:02:33-07:00"}],"HeadCommit":{"Sha1":"a7536ce9426fa12786e46db761420ec63c26b09d","Message":"C64f:UI 编排失败判责输出 + CI 跳过 macOS 视觉基线 + 失败工件上传\n\n- check-ui-acceptance 失败步补打 stdout 尾巴(playwright 细节在 stdout)\n- 4 张视觉基线为 macOS chromium 生成,CI Linux 中文字体渲染差异远超容差\n (跨平台结构性差异非回归):UI_SKIP_VISUAL_BASELINES=true 显式跳过截图\n 断言(DOM/契约断言照跑),本机默认不跳、check:lyra-parity 继续守护基线\n- workflow 失败时上传 reports + playwright traces 工件(远端判责不再盲抓)\n- 本机回归:check:ui 34/34(视觉基线照跑)、lyra-parity 绿\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-14T00:02:33-07:00"},"CompareURL":"luoanwu/haizan-ai-production-platform/compare/6d7311f3c50d0894683ed1b0681f23bde45a35c4...a7536ce9426fa12786e46db761420ec63c26b09d","Len":1}...
|
1784012558
|
Edit
Delete
|
|
17363
|
5
|
5
|
5
|
60
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"13be1d708 {"Commits":[{"Sha1":"13be1d708476428e5788727ffd735f54b027cb9f","Message":"C64 收尾:CLAUDE.md 回灌远端 CI 双 job 绿盘证据(G14 收窄)\n\nci-gate 基线行与 G14 缺口更新:GitHub run a7536ce 双 job 绿盘\n(static + runtime 316 tests + UI 34 用例);仍缺 PR 拦截实证与\n分支保护,ci-gate 保持 🟡 不放行拦截能力宣称。\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-14T00:12:15-07:00"}],"HeadCommit":{"Sha1":"13be1d708476428e5788727ffd735f54b027cb9f","Message":"C64 收尾:CLAUDE.md 回灌远端 CI 双 job 绿盘证据(G14 收窄)\n\nci-gate 基线行与 G14 缺口更新:GitHub run a7536ce 双 job 绿盘\n(static + runtime 316 tests + UI 34 用例);仍缺 PR 拦截实证与\n分支保护,ci-gate 保持 🟡 不放行拦截能力宣称。\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-14T00:12:15-07:00"},"CompareURL":"luoanwu/haizan-ai-production-platform/compare/a7536ce9426fa12786e46db761420ec63c26b09d...13be1d708476428e5788727ffd735f54b027cb9f","Len":1}...
|
1784013142
|
Edit
Delete
|
|
17364
|
5
|
5
|
5
|
60
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"05d910e9c {"Commits":[{"Sha1":"05d910e9c48177e24723827b424c2f8919bde17d","Message":"分析报告:对齐残余不精准根因归因(误差分解+三方对照,晴天)\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-14T00:16:23-07:00"}],"HeadCommit":{"Sha1":"05d910e9c48177e24723827b424c2f8919bde17d","Message":"分析报告:对齐残余不精准根因归因(误差分解+三方对照,晴天)\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-14T00:16:23-07:00"},"CompareURL":"luoanwu/haizan-ai-production-platform/compare/13be1d708476428e5788727ffd735f54b027cb9f...05d910e9c48177e24723827b424c2f8919bde17d","Len":1}...
|
1784013389
|
Edit
Delete
|
|
17366
|
5
|
5
|
8
|
51
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"c0618a939 {"Commits":[{"Sha1":"c0618a939c6a7f40d91e9160a083313befe7c157","Message":"迁移前端启动脚本至常规目录\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-07-14T15:54:24+08:00"}],"HeadCommit":{"Sha1":"c0618a939c6a7f40d91e9160a083313befe7c157","Message":"迁移前端启动脚本至常规目录\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-07-14T15:54:24+08:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/49de0c2d382fe761e459574e38b67a4d09f4604d...c0618a939c6a7f40d91e9160a083313befe7c157","Len":1}...
|
1784015687
|
Edit
Delete
|
|
17447
|
5
|
5
|
5
|
60
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"226033fd7 {"Commits":[{"Sha1":"226033fd7f9e6266a679a585a26dfb935d56b1e2","Message":"真值 v2 登记与全链复评:晴天人工听感纠正2(69→73 行全覆盖)\n\n- 用户提供的人工听感纠正 v2 登记进曲库 assets(check:library 绿);\n 补齐 v1 缺失的 4 行真值 + 12 行几十毫秒级精修\n- 全链复评(73/73 覆盖):拼接链行级 median 181/p90 531/≤500ms 89.0%,\n 切片基线 189/750/74.0%——C61 优势保持;SOFA 推算 median 64ms、\n 逐行判胜 41:21——根因分析结论(HubertFA 歌唱边界质量为主因)在\n 精修真值下全部稳定,排除真值口径伪影\n- 证据 reports/model-evidence/qingtian-precision-truth-v2.latest.json\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-14T03:48:35-07:00"}],"HeadCommit":{"Sha1":"226033fd7f9e6266a679a585a26dfb935d56b1e2","Message":"真值 v2 登记与全链复评:晴天人工听感纠正2(69→73 行全覆盖)\n\n- 用户提供的人工听感纠正 v2 登记进曲库 assets(check:library 绿);\n 补齐 v1 缺失的 4 行真值 + 12 行几十毫秒级精修\n- 全链复评(73/73 覆盖):拼接链行级 median 181/p90 531/≤500ms 89.0%,\n 切片基线 189/750/74.0%——C61 优势保持;SOFA 推算 median 64ms、\n 逐行判胜 41:21——根因分析结论(HubertFA 歌唱边界质量为主因)在\n 精修真值下全部稳定,排除真值口径伪影\n- 证据 reports/model-evidence/qingtian-precision-truth-v2.latest.json\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-14T03:48:35-07:00"},"CompareURL":"luoanwu/haizan-ai-production-platform/compare/05d910e9c48177e24723827b424c2f8919bde17d...226033fd7f9e6266a679a585a26dfb935d56b1e2","Len":1}...
|
1784026121
|
Edit
Delete
|
|
17448
|
5
|
5
|
5
|
60
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"d4524b485 {"Commits":[{"Sha1":"d4524b485b6859714b59ff6e265c6d3cc79941c6","Message":"C68:未接线主对齐器 fail-closed——修复 STARS/mms_fa 挂名造假调度陷阱\n\n调度层曾对无 local_align 生产者的主对齐器(STARS/mms_fa)静默回退\nHubertFA CLI:产物挂着所选模型的名字实际是 HubertFA 对齐的。四层收口:\n- contracts:LOCAL_ALIGN_WIRED_MAIN_ALIGNER_IDS 单源 + hasWiredLocalAlignProducer\n + 契约测试锁(默认主对齐器必须已接线)\n- 执行器:resolvePipelineCommand 对未接线 id 抛 SPAWN_FAILED(桩注入不受影响)\n- 双后端:assertPipelineReady 先于状态判责返回 409\n MAIN_ALIGNER_PRODUCER_NOT_WIRED(逐字节对等 + 各 +1 判责用例)\n- UI:LoadModal 未接线模型禁选 + 琥珀徽标「生产者未接线 · 仅 CLI 研究直跑」\n (浏览器实测研究环境 5 模型清单灰显禁选)\n证据:check:runtime 324/324(floor 320→324)、check:ui 34/34、pnpm check 全绿\n\n本提交同时包含并行会话的 C65-C67 工作树改动(SOFA 校验洗绿修复/KAS 校准\n判责治理/HubertFA 直对齐路由)与 alignment-quality 新门禁。\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-14T04:50:36-07:00"}],"HeadCommit":{"Sha1":"d4524b485b6859714b59ff6e265c6d3cc79941c6","Message":"C68:未接线主对齐器 fail-closed——修复 STARS/mms_fa 挂名造假调度陷阱\n\n调度层曾对无 local_align 生产者的主对齐器(STARS/mms_fa)静默回退\nHubertFA CLI:产物挂着所选模型的名字实际是 HubertFA 对齐的。四层收口:\n- contracts:LOCAL_ALIGN_WIRED_MAIN_ALIGNER_IDS 单源 + hasWiredLocalAlignProducer\n + 契约测试锁(默认主对齐器必须已接线)\n- 执行器:resolvePipelineCommand 对未接线 id 抛 SPAWN_FAILED(桩注入不受影响)\n- 双后端:assertPipelineReady 先于状态判责返回 409\n MAIN_ALIGNER_PRODUCER_NOT_WIRED(逐字节对等 + 各 +1 判责用例)\n- UI:LoadModal 未接线模型禁选 + 琥珀徽标「生产者未接线 · 仅 CLI 研究直跑」\n (浏览器实测研究环境 5 模型清单灰显禁选)\n证据:check:runtime 324/324(floor 320→324)、check:ui 34/34、pnpm check 全绿\n\n本提交同时包含并行会话的 C65-C67 工作树改动(SOFA 校验洗绿修复/KAS 校准\n判责治理/HubertFA 直对齐路由)与 alignment-quality 新门禁。\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-14T04:50:36-07:00"},"CompareURL":"luoanwu/haizan-ai-production-platform/compare/226033fd7f9e6266a679a585a26dfb935d56b1e2...d4524b485b6859714b59ff6e265c6d3cc79941c6","Len":1}...
|
1784029846
|
Edit
Delete
|
|
17449
|
5
|
1
|
5
|
62
|
0
|
0
|
|
1
|
|
1784076162
|
Edit
Delete
|
|
17450
|
5
|
5
|
5
|
62
|
0
|
0
|
refs/heads/main
|
1
|
|
1784076183
|
Edit
Delete
|
|
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
|
|
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
|
|
18093
|
5
|
1
|
5
|
63
|
0
|
0
|
|
1
|
|
1784681809
|
Edit
Delete
|