|
20275
|
5
|
5
|
5
|
72
|
0
|
0
|
refs/heads/do-not-merge/gate-negative-proof
|
0
|
|
1785507509
|
Edit
Delete
|
|
20274
|
5
|
5
|
5
|
72
|
0
|
0
|
refs/heads/chore/gate-negative-proof
|
0
|
{"Commits":[{"Sha1":"ec4bf7fde {"Commits":[{"Sha1":"ec4bf7fdec43629ca034c3b16fa6fd8b3b456286","Message":"test(negative): 受控失败——删除一个测试文件以验证远端门禁真会阻断\n\nG14 关闭条件的最后一项:证明违规确实被 CI + 分支保护阻断,而不是\n「门禁存在但从没拦住过任何东西」(假绿五形态第 5 形态:假生效门禁)。\n\n刻意注入的违规:删除 apps/api-fastify/test/outbox.deadletter.test.ts。\n预期 ownTests 从 11 掉到 10,低于 reports/baseline.json 的地板 11,\nstatic job 的 check:governance 棘轮应判红;runtime job 因 needs 依赖不会启动。\n\n预期结果:PR 无法合并(required checks: Static governance +\nRuntime and UI acceptance,enforce_admins=true)。\n验证完毕后本 PR 直接关闭,绝不合并。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-31T06:49:50-07:00"}],"HeadCommit":{"Sha1":"ec4bf7fdec43629ca034c3b16fa6fd8b3b456286","Message":"test(negative): 受控失败——删除一个测试文件以验证远端门禁真会阻断\n\nG14 关闭条件的最后一项:证明违规确实被 CI + 分支保护阻断,而不是\n「门禁存在但从没拦住过任何东西」(假绿五形态第 5 形态:假生效门禁)。\n\n刻意注入的违规:删除 apps/api-fastify/test/outbox.deadletter.test.ts。\n预期 ownTests 从 11 掉到 10,低于 reports/baseline.json 的地板 11,\nstatic job 的 check:governance 棘轮应判红;runtime job 因 needs 依赖不会启动。\n\n预期结果:PR 无法合并(required checks: Static governance +\nRuntime and UI acceptance,enforce_admins=true)。\n验证完毕后本 PR 直接关闭,绝不合并。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-31T06:49:50-07:00"},"CompareURL":"luoanwu/juhai-quotation-system/compare/9618d78da3e668f14e3c1611d7090f45eef0c085...ec4bf7fdec43629ca034c3b16fa6fd8b3b456286","Len":1}...
|
1785507322
|
Edit
Delete
|
|
20273
|
5
|
5
|
5
|
72
|
0
|
0
|
refs/heads/chore/gate-negative-proof
|
0
|
|
1785507322
|
Edit
Delete
|
|
20272
|
5
|
17
|
5
|
72
|
0
|
0
|
refs/heads/fix/contracts-build-chain-and-review-pa refs/heads/fix/contracts-build-chain-and-review-panel...
|
0
|
|
1785507126
|
Edit
Delete
|
|
20271
|
5
|
17
|
5
|
72
|
0
|
0
|
refs/heads/docs/ci-green-on-main
|
0
|
|
1785507095
|
Edit
Delete
|
|
20270
|
5
|
5
|
5
|
72
|
0
|
0
|
refs/heads/docs/ci-green-on-main
|
0
|
{"Commits":[{"Sha1":"ec4bf7fde {"Commits":[{"Sha1":"ec4bf7fdec43629ca034c3b16fa6fd8b3b456286","Message":"test(negative): 受控失败——删除一个测试文件以验证远端门禁真会阻断\n\nG14 关闭条件的最后一项:证明违规确实被 CI + 分支保护阻断,而不是\n「门禁存在但从没拦住过任何东西」(假绿五形态第 5 形态:假生效门禁)。\n\n刻意注入的违规:删除 apps/api-fastify/test/outbox.deadletter.test.ts。\n预期 ownTests 从 11 掉到 10,低于 reports/baseline.json 的地板 11,\nstatic job 的 check:governance 棘轮应判红;runtime job 因 needs 依赖不会启动。\n\n预期结果:PR 无法合并(required checks: Static governance +\nRuntime and UI acceptance,enforce_admins=true)。\n验证完毕后本 PR 直接关闭,绝不合并。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-31T06:49:50-07:00"}],"HeadCommit":{"Sha1":"ec4bf7fdec43629ca034c3b16fa6fd8b3b456286","Message":"test(negative): 受控失败——删除一个测试文件以验证远端门禁真会阻断\n\nG14 关闭条件的最后一项:证明违规确实被 CI + 分支保护阻断,而不是\n「门禁存在但从没拦住过任何东西」(假绿五形态第 5 形态:假生效门禁)。\n\n刻意注入的违规:删除 apps/api-fastify/test/outbox.deadletter.test.ts。\n预期 ownTests 从 11 掉到 10,低于 reports/baseline.json 的地板 11,\nstatic job 的 check:governance 棘轮应判红;runtime job 因 needs 依赖不会启动。\n\n预期结果:PR 无法合并(required checks: Static governance +\nRuntime and UI acceptance,enforce_admins=true)。\n验证完毕后本 PR 直接关闭,绝不合并。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-31T06:49:50-07:00"},"CompareURL":"luoanwu/juhai-quotation-system/compare/9618d78da3e668f14e3c1611d7090f45eef0c085...ec4bf7fdec43629ca034c3b16fa6fd8b3b456286","Len":1}...
|
1785506104
|
Edit
Delete
|
|
20269
|
5
|
5
|
5
|
72
|
0
|
0
|
refs/heads/docs/ci-green-on-main
|
0
|
|
1785506104
|
Edit
Delete
|
|
20268
|
5
|
5
|
5
|
72
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"9618d78da {"Commits":[{"Sha1":"9618d78da3e668f14e3c1611d7090f45eef0c085","Message":"Merge pull request #1: 打通契约构建链、补齐方案复核依据,并按真实 CI 证据更正治理记录\n\nfix: 打通契约构建链、补齐方案复核依据,并按真实 CI 证据更正治理记录","AuthorEmail":"158980461+laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"noreply@github.com","CommitterName":"GitHub","Timestamp":"2026-07-31T06:46:17-07:00"},{"Sha1":"de7d09aee2a89208f006bc3ca829f289619a64b7","Message":"docs: 记录首份远端 CI 绿盘证据(PR #1 / run 30634897066)\n\nGitHub run 30634897066(PR #1,head 0d85a3d)两 job 全绿:\nstatic ✅;runtime 83 用例(contracts 31 / nestjs 26 / fastify 26)、\nUI 8 用例,与本地逐项一致,耗时 3m21s。这是本仓第一份远端绿盘证据。\n\n对照上一次 run 30603461723(push main fdf7b59):runtime 失败于\ntests-floor「expected \u003e= 74, got 0」,整步仅 24s。\n\n刻意不把这次转绿归因到本轮任何一个提交:PR #1 含 7 个提交,除本轮 3 个外\n还有 4 个存量提交(283f1bf…7638e94),其中任一都可能是真正修好它的那个,\n且 7638e94 从未单独在 CI 上跑过。要归因需另构造对照 run。\n\nG14 仍 OPEN:绿盘只覆盖该 PR 分支,github main 最近一次 run 仍红;\n尚未用受控失败 PR 证明违规真被阻断,分支保护 / required checks 也未定位。\nci-gate 行同步改写,明确「不得宣称 PR 已被机器拦截」。\n\npnpm check ✅ 绿。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-31T06:39:36-07:00"},{"Sha1":"0d85a3de6efbf4ca42ba1345bfbc66f9d1f9ac0d","Message":"docs: 按真实 CI 证据更正 C23 与 G14\n\n上一提交把一个未经正确验证的结论写进了治理真源,此处更正。\n\nC23 原文断言「全新 clone/CI 上 pnpm check 必红(contracts dist 不存在)」。\n该结论来自 `pnpm --filter \u003capp\u003e typecheck` 的负向测试,而它绕过 turbo;\nCI 实际走 `pnpm typecheck` → `turbo run typecheck`,而 turbo.json 的\ntypecheck/lint/test 均带 dependsOn ^build,contracts 会被自动构建。\nGitHub run 30603461723 的 static job 实际通过,证伪原结论。\nC23 仍然成立的部分:绕过 turbo 的调用路径(.claude/launch.json 直接\npnpm dev、check:ui 的 pnpm --filter build)确实会吃到陈旧 dist——本轮\n409 STALE_VERSION 即由此而来;clean 不删 tsconfig.tsbuildinfo 导致\nclean \u0026\u0026 build 空 emit 是独立真 bug。修复本身保留。\n\nG14 原记「尚无远端 CI 运行证据」已过时。实际已有 run 30603461723\n(push main fdf7b59,2026-07-31T04:10Z):static ✅、runtime ❌\n`tests-floor: expected \u003e= 74, got 0`,整步仅 24s,真实 DB 测试没跑起来。\n地板断言拦住了这次「0 tests 假绿」,但根因未定位,需专项排查 CI 上\nturbo run test --force 为何产不出 vitest 报告。基线表 ci-gate 行同步\n改为「已有远端证据但为红盘」,仍 OPEN。\n\n另记:两个远端 main 不同步(origin 7638e94 / github fdf7b59),\nCI 只挂 github 侧,且只在 pull_request 或 push main 触发。\n\npnpm check ✅ 绿(含 check:governance-docs / check:docs-truth)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-31T06:30:18-07:00"},{"Sha1":"67849d6aad796878e6fd40b2e54307780b01442f","Message":"chore: 重跑三级门禁并绑定干净工作区证据\n\n上一提交的报告生成于 dirty 工作区(gitSha 指向父提交 7638e94、\nworktreeDirty=true),只能支撑「本地工作区通过」。此处在 a015400 的\n干净检出上重跑三级门禁,让三份 latest 报告的 provenance 统一绑定\n该提交且 worktreeDirty=false——可支撑「提交 a015400 在本机干净工作区\n通过三级门禁」。\n\npnpm check ✅ 5/5\npnpm check:runtime ✅ 83 用例 / 0 失败(PG:55432/juhai_quotation_runtime_20260731d + Redis:6382)\npnpm check:ui ✅ 8 用例 / 0 失败(PG:55432/juhai_quotation_ui_20260731d + Redis:6382)\n\n仍不得外推为远端已发布或 CI 已通过:本分支未推送,无远端 run 证据(G14)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-31T06:16:25-07:00"},{"Sha1":"a015400b8aa901246315eb213d20354d6ded3133","Message":"fix: 打通契约构建链并补齐方案复核依据\n\n本提交包含两批改动。工作区里它们已交织到同一行/同一 hunk\n(package.json 的 check 串、next.config.ts 的 output),无法拆开单独提交。\n\n── 批次 A:本轮定位并修复(Claude 作业)────────────────────────────\n\n契约包 src/dist 漂移(C23)——P1「运行时到底读哪一份」的隐藏变体:\ntypecheck 与 contracts 单测读 src,两后端运行时经 package main 读 dist。\n`pnpm --filter` 不走 turbo 的 dependsOn ^build,dist 又被 gitignore,\n于是门禁全绿而运行时按旧契约行为。实测症状:dist 缺 versionNo →\nZod 静默 strip → 技术复核恒返 409 STALE_VERSION。\n负向验证:移走 dist 后 typecheck 立刻 TS2307,证明全新 clone/CI 上必红。\n- package.json: check 前置 build:contracts\n- scripts/check-{runtime,ui}-acceptance.mjs: 各加 contracts 构建步骤\n- .claude/launch.json: 四个配置均前置 contracts 构建\n- packages/contracts/package.json: 补 prepare;clean 补删 tsconfig.tsbuildinfo\n (composite 下留着 buildinfo 会让 clean+build 空 emit)\n\n方案表单默认路径不可用(C24):\n「使用客户主联系人」value 为空串,contactId 契约是 uuid().optional(),\n空串不过校验,导致默认状态下表单永不可提交,错误还被汇总成一句\n指不到联系人的话。register 处归一为 undefined。\n\n客户方案复核依据面板:\n技术复核/经理批准需在同一屏看到客户需求、空间与工区、平面图、逐档配置清单。\n清单只渲染规格字段,刻意不展开 product 以免带出 standardPriceCents\n(角色权限单源里技术角色不继承报价域敏感读取)。缺图纸显式标注但不阻断。\n补填资料入口接上此前零消费者的 useUpdateSolution + PATCH /solutions/:id,\n仅在 DRAFT/NEEDS_INFORMATION/REVISION_REQUIRED 开放——修复「目标客群留空\n的方案走到 APPROVED 后永远发布不了且无处补填」的死路。\n\n契约类型补齐:SolutionProduct 增补 product/surveySpace 嵌套(服务端一直下发,\n此前类型比载荷窄)。\n\nE2E 回归锁:新增专打默认联系人路径的用例,兼测复核依据面板与价格红线。\n负向验证:撤回 contactId 修复 → check:ui 报红;还原 → 8 用例全绿。\n\n附带:next.config.ts 的 output 重复定义(TS2783,本轮之前即存在,\n导致 pnpm check 红)改为三元计算,行为等价;check-vm-deploy 的 standalone\n绊网相应收窄为「字面量或该正确三元」,不放宽成 /output:.*standalone/\n(负向验证:三元写反即红)。\n\n── 批次 B:进入本轮前工作区已有的未提交改动(非本轮作业)──────────\n\nVM 部署强化(Dockerfile/compose/vm-deploy.sh/check-vm-deploy.mjs、restore/\ndrill/rollback)、移动端导航 MobileNav、客户方案域后端与验收测试、\n角色权限与模块对接门禁、方案蓝图与验收记录等。这批未经逐项复核,\n如需单独审阅可 `git reset --soft HEAD~1` 后重新拆分。\n\n── 证据(本地工作区,2026-07-31,工作区 dirty)──────────────────\npnpm check ✅ 5/5\npnpm check:runtime ✅ 83 用例 / 0 失败(地板 79→83)\npnpm check:ui ✅ 8 用例 / 0 失败(地板 7→8)\nownTestCases 地板 90→91。未推送、无远端 CI 运行证据(G14 仍 OPEN)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-31T06:13:59-07:00"}],"HeadCommit":{"Sha1":"9618d78da3e668f14e3c1611d7090f45eef0c085","Message":"Merge pull request #1: 打通契约构建链、补齐方案复核依据,并按真实 CI 证据更正治理记录\n\nfix: 打通契约构建链、补齐方案复核依据,并按真实 CI 证据更正治理记录","AuthorEmail":"158980461+laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"noreply@github.com","CommitterName":"GitHub","Timestamp":"2026-07-31T06:46:17-07:00"},"CompareURL":"luoanwu/juhai-quotation-system/compare/7638e946e8817308b94a23c028a18ac465c342c6...9618d78da3e668f14e3c1611d7090f45eef0c085","Len":5}...
|
1785505644
|
Edit
Delete
|
|
20267
|
5
|
5
|
5
|
72
|
0
|
0
|
refs/heads/fix/contracts-build-chain-and-review-pa refs/heads/fix/contracts-build-chain-and-review-panel...
|
0
|
{"Commits":[{"Sha1":"de7d09aee {"Commits":[{"Sha1":"de7d09aee2a89208f006bc3ca829f289619a64b7","Message":"docs: 记录首份远端 CI 绿盘证据(PR #1 / run 30634897066)\n\nGitHub run 30634897066(PR #1,head 0d85a3d)两 job 全绿:\nstatic ✅;runtime 83 用例(contracts 31 / nestjs 26 / fastify 26)、\nUI 8 用例,与本地逐项一致,耗时 3m21s。这是本仓第一份远端绿盘证据。\n\n对照上一次 run 30603461723(push main fdf7b59):runtime 失败于\ntests-floor「expected \u003e= 74, got 0」,整步仅 24s。\n\n刻意不把这次转绿归因到本轮任何一个提交:PR #1 含 7 个提交,除本轮 3 个外\n还有 4 个存量提交(283f1bf…7638e94),其中任一都可能是真正修好它的那个,\n且 7638e94 从未单独在 CI 上跑过。要归因需另构造对照 run。\n\nG14 仍 OPEN:绿盘只覆盖该 PR 分支,github main 最近一次 run 仍红;\n尚未用受控失败 PR 证明违规真被阻断,分支保护 / required checks 也未定位。\nci-gate 行同步改写,明确「不得宣称 PR 已被机器拦截」。\n\npnpm check ✅ 绿。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-31T06:39:36-07:00"}],"HeadCommit":{"Sha1":"de7d09aee2a89208f006bc3ca829f289619a64b7","Message":"docs: 记录首份远端 CI 绿盘证据(PR #1 / run 30634897066)\n\nGitHub run 30634897066(PR #1,head 0d85a3d)两 job 全绿:\nstatic ✅;runtime 83 用例(contracts 31 / nestjs 26 / fastify 26)、\nUI 8 用例,与本地逐项一致,耗时 3m21s。这是本仓第一份远端绿盘证据。\n\n对照上一次 run 30603461723(push main fdf7b59):runtime 失败于\ntests-floor「expected \u003e= 74, got 0」,整步仅 24s。\n\n刻意不把这次转绿归因到本轮任何一个提交:PR #1 含 7 个提交,除本轮 3 个外\n还有 4 个存量提交(283f1bf…7638e94),其中任一都可能是真正修好它的那个,\n且 7638e94 从未单独在 CI 上跑过。要归因需另构造对照 run。\n\nG14 仍 OPEN:绿盘只覆盖该 PR 分支,github main 最近一次 run 仍红;\n尚未用受控失败 PR 证明违规真被阻断,分支保护 / required checks 也未定位。\nci-gate 行同步改写,明确「不得宣称 PR 已被机器拦截」。\n\npnpm check ✅ 绿。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-31T06:39:36-07:00"},"CompareURL":"luoanwu/juhai-quotation-system/compare/0d85a3de6efbf4ca42ba1345bfbc66f9d1f9ac0d...de7d09aee2a89208f006bc3ca829f289619a64b7","Len":1}...
|
1785505181
|
Edit
Delete
|
|
20266
|
5
|
5
|
5
|
72
|
0
|
0
|
refs/heads/fix/contracts-build-chain-and-review-pa refs/heads/fix/contracts-build-chain-and-review-panel...
|
0
|
{"Commits":[{"Sha1":"0d85a3de6 {"Commits":[{"Sha1":"0d85a3de6efbf4ca42ba1345bfbc66f9d1f9ac0d","Message":"docs: 按真实 CI 证据更正 C23 与 G14\n\n上一提交把一个未经正确验证的结论写进了治理真源,此处更正。\n\nC23 原文断言「全新 clone/CI 上 pnpm check 必红(contracts dist 不存在)」。\n该结论来自 `pnpm --filter \u003capp\u003e typecheck` 的负向测试,而它绕过 turbo;\nCI 实际走 `pnpm typecheck` → `turbo run typecheck`,而 turbo.json 的\ntypecheck/lint/test 均带 dependsOn ^build,contracts 会被自动构建。\nGitHub run 30603461723 的 static job 实际通过,证伪原结论。\nC23 仍然成立的部分:绕过 turbo 的调用路径(.claude/launch.json 直接\npnpm dev、check:ui 的 pnpm --filter build)确实会吃到陈旧 dist——本轮\n409 STALE_VERSION 即由此而来;clean 不删 tsconfig.tsbuildinfo 导致\nclean \u0026\u0026 build 空 emit 是独立真 bug。修复本身保留。\n\nG14 原记「尚无远端 CI 运行证据」已过时。实际已有 run 30603461723\n(push main fdf7b59,2026-07-31T04:10Z):static ✅、runtime ❌\n`tests-floor: expected \u003e= 74, got 0`,整步仅 24s,真实 DB 测试没跑起来。\n地板断言拦住了这次「0 tests 假绿」,但根因未定位,需专项排查 CI 上\nturbo run test --force 为何产不出 vitest 报告。基线表 ci-gate 行同步\n改为「已有远端证据但为红盘」,仍 OPEN。\n\n另记:两个远端 main 不同步(origin 7638e94 / github fdf7b59),\nCI 只挂 github 侧,且只在 pull_request 或 push main 触发。\n\npnpm check ✅ 绿(含 check:governance-docs / check:docs-truth)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-31T06:30:18-07:00"}],"HeadCommit":{"Sha1":"0d85a3de6efbf4ca42ba1345bfbc66f9d1f9ac0d","Message":"docs: 按真实 CI 证据更正 C23 与 G14\n\n上一提交把一个未经正确验证的结论写进了治理真源,此处更正。\n\nC23 原文断言「全新 clone/CI 上 pnpm check 必红(contracts dist 不存在)」。\n该结论来自 `pnpm --filter \u003capp\u003e typecheck` 的负向测试,而它绕过 turbo;\nCI 实际走 `pnpm typecheck` → `turbo run typecheck`,而 turbo.json 的\ntypecheck/lint/test 均带 dependsOn ^build,contracts 会被自动构建。\nGitHub run 30603461723 的 static job 实际通过,证伪原结论。\nC23 仍然成立的部分:绕过 turbo 的调用路径(.claude/launch.json 直接\npnpm dev、check:ui 的 pnpm --filter build)确实会吃到陈旧 dist——本轮\n409 STALE_VERSION 即由此而来;clean 不删 tsconfig.tsbuildinfo 导致\nclean \u0026\u0026 build 空 emit 是独立真 bug。修复本身保留。\n\nG14 原记「尚无远端 CI 运行证据」已过时。实际已有 run 30603461723\n(push main fdf7b59,2026-07-31T04:10Z):static ✅、runtime ❌\n`tests-floor: expected \u003e= 74, got 0`,整步仅 24s,真实 DB 测试没跑起来。\n地板断言拦住了这次「0 tests 假绿」,但根因未定位,需专项排查 CI 上\nturbo run test --force 为何产不出 vitest 报告。基线表 ci-gate 行同步\n改为「已有远端证据但为红盘」,仍 OPEN。\n\n另记:两个远端 main 不同步(origin 7638e94 / github fdf7b59),\nCI 只挂 github 侧,且只在 pull_request 或 push main 触发。\n\npnpm check ✅ 绿(含 check:governance-docs / check:docs-truth)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-31T06:30:18-07:00"},"CompareURL":"luoanwu/juhai-quotation-system/compare/67849d6aad796878e6fd40b2e54307780b01442f...0d85a3de6efbf4ca42ba1345bfbc66f9d1f9ac0d","Len":1}...
|
1785504640
|
Edit
Delete
|
|
20265
|
5
|
5
|
5
|
72
|
0
|
0
|
refs/heads/fix/contracts-build-chain-and-review-pa refs/heads/fix/contracts-build-chain-and-review-panel...
|
0
|
{"Commits":[{"Sha1":"67849d6aa {"Commits":[{"Sha1":"67849d6aad796878e6fd40b2e54307780b01442f","Message":"chore: 重跑三级门禁并绑定干净工作区证据\n\n上一提交的报告生成于 dirty 工作区(gitSha 指向父提交 7638e94、\nworktreeDirty=true),只能支撑「本地工作区通过」。此处在 a015400 的\n干净检出上重跑三级门禁,让三份 latest 报告的 provenance 统一绑定\n该提交且 worktreeDirty=false——可支撑「提交 a015400 在本机干净工作区\n通过三级门禁」。\n\npnpm check ✅ 5/5\npnpm check:runtime ✅ 83 用例 / 0 失败(PG:55432/juhai_quotation_runtime_20260731d + Redis:6382)\npnpm check:ui ✅ 8 用例 / 0 失败(PG:55432/juhai_quotation_ui_20260731d + Redis:6382)\n\n仍不得外推为远端已发布或 CI 已通过:本分支未推送,无远端 run 证据(G14)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-31T06:16:25-07:00"},{"Sha1":"a015400b8aa901246315eb213d20354d6ded3133","Message":"fix: 打通契约构建链并补齐方案复核依据\n\n本提交包含两批改动。工作区里它们已交织到同一行/同一 hunk\n(package.json 的 check 串、next.config.ts 的 output),无法拆开单独提交。\n\n── 批次 A:本轮定位并修复(Claude 作业)────────────────────────────\n\n契约包 src/dist 漂移(C23)——P1「运行时到底读哪一份」的隐藏变体:\ntypecheck 与 contracts 单测读 src,两后端运行时经 package main 读 dist。\n`pnpm --filter` 不走 turbo 的 dependsOn ^build,dist 又被 gitignore,\n于是门禁全绿而运行时按旧契约行为。实测症状:dist 缺 versionNo →\nZod 静默 strip → 技术复核恒返 409 STALE_VERSION。\n负向验证:移走 dist 后 typecheck 立刻 TS2307,证明全新 clone/CI 上必红。\n- package.json: check 前置 build:contracts\n- scripts/check-{runtime,ui}-acceptance.mjs: 各加 contracts 构建步骤\n- .claude/launch.json: 四个配置均前置 contracts 构建\n- packages/contracts/package.json: 补 prepare;clean 补删 tsconfig.tsbuildinfo\n (composite 下留着 buildinfo 会让 clean+build 空 emit)\n\n方案表单默认路径不可用(C24):\n「使用客户主联系人」value 为空串,contactId 契约是 uuid().optional(),\n空串不过校验,导致默认状态下表单永不可提交,错误还被汇总成一句\n指不到联系人的话。register 处归一为 undefined。\n\n客户方案复核依据面板:\n技术复核/经理批准需在同一屏看到客户需求、空间与工区、平面图、逐档配置清单。\n清单只渲染规格字段,刻意不展开 product 以免带出 standardPriceCents\n(角色权限单源里技术角色不继承报价域敏感读取)。缺图纸显式标注但不阻断。\n补填资料入口接上此前零消费者的 useUpdateSolution + PATCH /solutions/:id,\n仅在 DRAFT/NEEDS_INFORMATION/REVISION_REQUIRED 开放——修复「目标客群留空\n的方案走到 APPROVED 后永远发布不了且无处补填」的死路。\n\n契约类型补齐:SolutionProduct 增补 product/surveySpace 嵌套(服务端一直下发,\n此前类型比载荷窄)。\n\nE2E 回归锁:新增专打默认联系人路径的用例,兼测复核依据面板与价格红线。\n负向验证:撤回 contactId 修复 → check:ui 报红;还原 → 8 用例全绿。\n\n附带:next.config.ts 的 output 重复定义(TS2783,本轮之前即存在,\n导致 pnpm check 红)改为三元计算,行为等价;check-vm-deploy 的 standalone\n绊网相应收窄为「字面量或该正确三元」,不放宽成 /output:.*standalone/\n(负向验证:三元写反即红)。\n\n── 批次 B:进入本轮前工作区已有的未提交改动(非本轮作业)──────────\n\nVM 部署强化(Dockerfile/compose/vm-deploy.sh/check-vm-deploy.mjs、restore/\ndrill/rollback)、移动端导航 MobileNav、客户方案域后端与验收测试、\n角色权限与模块对接门禁、方案蓝图与验收记录等。这批未经逐项复核,\n如需单独审阅可 `git reset --soft HEAD~1` 后重新拆分。\n\n── 证据(本地工作区,2026-07-31,工作区 dirty)──────────────────\npnpm check ✅ 5/5\npnpm check:runtime ✅ 83 用例 / 0 失败(地板 79→83)\npnpm check:ui ✅ 8 用例 / 0 失败(地板 7→8)\nownTestCases 地板 90→91。未推送、无远端 CI 运行证据(G14 仍 OPEN)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-31T06:13:59-07:00"}],"HeadCommit":{"Sha1":"67849d6aad796878e6fd40b2e54307780b01442f","Message":"chore: 重跑三级门禁并绑定干净工作区证据\n\n上一提交的报告生成于 dirty 工作区(gitSha 指向父提交 7638e94、\nworktreeDirty=true),只能支撑「本地工作区通过」。此处在 a015400 的\n干净检出上重跑三级门禁,让三份 latest 报告的 provenance 统一绑定\n该提交且 worktreeDirty=false——可支撑「提交 a015400 在本机干净工作区\n通过三级门禁」。\n\npnpm check ✅ 5/5\npnpm check:runtime ✅ 83 用例 / 0 失败(PG:55432/juhai_quotation_runtime_20260731d + Redis:6382)\npnpm check:ui ✅ 8 用例 / 0 失败(PG:55432/juhai_quotation_ui_20260731d + Redis:6382)\n\n仍不得外推为远端已发布或 CI 已通过:本分支未推送,无远端 run 证据(G14)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-31T06:16:25-07:00"},"CompareURL":"luoanwu/juhai-quotation-system/compare/7638e946e8817308b94a23c028a18ac465c342c6...67849d6aad796878e6fd40b2e54307780b01442f","Len":2}...
|
1785504181
|
Edit
Delete
|
|
20264
|
5
|
5
|
5
|
72
|
0
|
0
|
refs/heads/fix/contracts-build-chain-and-review-pa refs/heads/fix/contracts-build-chain-and-review-panel...
|
0
|
|
1785504180
|
Edit
Delete
|
|
20149
|
5
|
5
|
5
|
72
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"7638e946e {"Commits":[{"Sha1":"7638e946e8817308b94a23c028a18ac465c342c6","Message":"chore: refresh verified acceptance evidence\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-30T22:30:59-07:00"},{"Sha1":"4d854d156ce4b4fb7791f427ced17f6fda6e4814","Message":"fix: keep UI acceptance workspace clean\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-30T22:29:46-07:00"},{"Sha1":"2cbed6d88071e721e4c854e79485efe61b780aa1","Message":"feat: ship customer solution design workflow\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-30T22:27:22-07:00"}],"HeadCommit":{"Sha1":"7638e946e8817308b94a23c028a18ac465c342c6","Message":"chore: refresh verified acceptance evidence\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-30T22:30:59-07:00"},"CompareURL":"luoanwu/juhai-quotation-system/compare/283f1bfb6b2f049b0476abb92698db0539bc832f...7638e946e8817308b94a23c028a18ac465c342c6","Len":3}...
|
1785475887
|
Edit
Delete
|
|
20147
|
5
|
5
|
5
|
72
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"283f1bfb6 {"Commits":[{"Sha1":"283f1bfb6b2f049b0476abb92698db0539bc832f","Message":"feat: wire sales modules and adversarial governance\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-30T21:56:00-07:00"}],"HeadCommit":{"Sha1":"283f1bfb6b2f049b0476abb92698db0539bc832f","Message":"feat: wire sales modules and adversarial governance\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-30T21:56:00-07:00"},"CompareURL":"luoanwu/juhai-quotation-system/compare/fdf7b594e1d70ff3b5a54d51e55eeb4bb0262b7a...283f1bfb6b2f049b0476abb92698db0539bc832f","Len":1}...
|
1785473782
|
Edit
Delete
|
|
20145
|
5
|
5
|
5
|
72
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"fdf7b594e {"Commits":[{"Sha1":"fdf7b594e1d70ff3b5a54d51e55eeb4bb0262b7a","Message":"feat: ship quotation fulfillment and quote center parity\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-30T20:56:44-07:00"}],"HeadCommit":{"Sha1":"fdf7b594e1d70ff3b5a54d51e55eeb4bb0262b7a","Message":"feat: ship quotation fulfillment and quote center parity\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-30T20:56:44-07:00"},"CompareURL":"luoanwu/juhai-quotation-system/compare/bd4b413c9f284e33472f905c047eb4bbb99b2717...fdf7b594e1d70ff3b5a54d51e55eeb4bb0262b7a","Len":1}...
|
1785470839
|
Edit
Delete
|
|
20061
|
5
|
5
|
5
|
72
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"bd4b413c9 {"Commits":[{"Sha1":"bd4b413c9f284e33472f905c047eb4bbb99b2717","Message":"Document quotation module blueprint and refresh governance reports\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-30T13:04:36-07:00"}],"HeadCommit":{"Sha1":"bd4b413c9f284e33472f905c047eb4bbb99b2717","Message":"Document quotation module blueprint and refresh governance reports\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-30T13:04:36-07:00"},"CompareURL":"luoanwu/juhai-quotation-system/compare/aef43abd7ee47a8b0e3b245bafbbd4025dd15e34...bd4b413c9f284e33472f905c047eb4bbb99b2717","Len":1}...
|
1785441882
|
Edit
Delete
|
|
20060
|
5
|
5
|
5
|
72
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"aef43abd7 {"Commits":[{"Sha1":"aef43abd7ee47a8b0e3b245bafbbd4025dd15e34","Message":"docs: record initial Gitea publication\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-30T12:58:21-07:00"}],"HeadCommit":{"Sha1":"aef43abd7ee47a8b0e3b245bafbbd4025dd15e34","Message":"docs: record initial Gitea publication\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-30T12:58:21-07:00"},"CompareURL":"luoanwu/juhai-quotation-system/compare/5e1d3d6748f60f625f7cd20b8a5defc957497e81...aef43abd7ee47a8b0e3b245bafbbd4025dd15e34","Len":1}...
|
1785441505
|
Edit
Delete
|
|
20059
|
5
|
5
|
5
|
72
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"5e1d3d674 {"Commits":[{"Sha1":"5e1d3d6748f60f625f7cd20b8a5defc957497e81","Message":"chore: refresh quotation acceptance evidence\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-30T12:53:13-07:00"},{"Sha1":"ce6add1f419d50f150baffe78acbc6adc81b0ea3","Message":"feat: implement quotation core workflow\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-30T12:52:01-07:00"},{"Sha1":"4285699248e5f7d702171ee66f7ea2d5e57a4aed","Message":"chore: refresh local acceptance reports\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-30T12:22:09-07:00"},{"Sha1":"37e3a10e3f530299526a984beacd597b13ab098a","Message":"chore: refresh migration evidence\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-30T07:55:08-07:00"},{"Sha1":"e6336ca3f8154422a56269945d3f39343dd952fa","Message":"chore: migrate base framework\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-30T07:42:32-07:00"}],"HeadCommit":{"Sha1":"5e1d3d6748f60f625f7cd20b8a5defc957497e81","Message":"chore: refresh quotation acceptance evidence\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-30T12:53:13-07:00"},"CompareURL":"","Len":5}...
|
1785441430
|
Edit
Delete
|
|
20058
|
5
|
5
|
5
|
72
|
0
|
0
|
refs/heads/main
|
0
|
|
1785441430
|
Edit
Delete
|
|
20057
|
5
|
1
|
5
|
72
|
0
|
0
|
|
0
|
|
1785441069
|
Edit
Delete
|
|
19955
|
18
|
1
|
18
|
71
|
0
|
0
|
|
1
|
|
1785398387
|
Edit
Delete
|
|
19954
|
18
|
5
|
18
|
70
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"75345ebd3 {"Commits":[{"Sha1":"75345ebd3eda74deeb2f7764209c80fce42b4ffc","Message":"feat: YouTube栏目管理页面原型\n","AuthorEmail":"luxiuwen@g-hi.com","AuthorName":"luxiuwen","CommitterEmail":"luxiuwen@g-hi.com","CommitterName":"luxiuwen","Timestamp":"2026-07-30T15:56:23+08:00"}],"HeadCommit":{"Sha1":"75345ebd3eda74deeb2f7764209c80fce42b4ffc","Message":"feat: YouTube栏目管理页面原型\n","AuthorEmail":"luxiuwen@g-hi.com","AuthorName":"luxiuwen","CommitterEmail":"luxiuwen@g-hi.com","CommitterName":"luxiuwen","Timestamp":"2026-07-30T15:56:23+08:00"},"CompareURL":"","Len":1}...
|
1785398319
|
Edit
Delete
|
|
19953
|
18
|
5
|
18
|
70
|
0
|
0
|
refs/heads/master
|
1
|
|
1785398319
|
Edit
Delete
|
|
19935
|
18
|
1
|
18
|
70
|
0
|
0
|
|
1
|
|
1785396559
|
Edit
Delete
|
|
47939
|
19
|
5
|
19
|
69
|
0
|
0
|
refs/heads/chanpin-20261124
|
0
|
{"Commits":[{"Sha1":"c2c76f7dd {"Commits":[{"Sha1":"c2c76f7ddd95b2fcad65a0e6a10b22a531c2cce2","Message":"一期领导体验版:浅紫UI、固定配套演唱与刷新重置\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-11-10T10:30:59+08:00"}],"HeadCommit":{"Sha1":"c2c76f7ddd95b2fcad65a0e6a10b22a531c2cce2","Message":"一期领导体验版:浅紫UI、固定配套演唱与刷新重置\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-11-10T10:30:59+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/5175736e489ae3aa142752de6ce5c8d03d375185...c2c76f7ddd95b2fcad65a0e6a10b22a531c2cce2","Len":1}...
|
1794277880
|
Edit
Delete
|
|
47931
|
19
|
5
|
19
|
69
|
0
|
0
|
refs/heads/chanpin-20261124
|
0
|
{"Commits":[{"Sha1":"5175736e4 {"Commits":[{"Sha1":"5175736e489ae3aa142752de6ce5c8d03d375185","Message":"重设计心情成歌夜色唱片UI并完善男女声配套试听\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-11-10T10:17:18+08:00"}],"HeadCommit":{"Sha1":"5175736e489ae3aa142752de6ce5c8d03d375185","Message":"重设计心情成歌夜色唱片UI并完善男女声配套试听\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-11-10T10:17:18+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/8c9127477544d01d337eaee5ae03fc6074085306...5175736e489ae3aa142752de6ce5c8d03d375185","Len":1}...
|
1794277061
|
Edit
Delete
|
|
47692
|
19
|
5
|
19
|
69
|
0
|
0
|
refs/heads/chanpin-20261124
|
0
|
{"Commits":[{"Sha1":"bfd530b4a {"Commits":[{"Sha1":"bfd530b4a549656fc2b16b5b37b4be19168bb9f6","Message":"新增一期心情成歌轻量原型,保留完整版\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-11-09T15:59:09+08:00"}],"HeadCommit":{"Sha1":"bfd530b4a549656fc2b16b5b37b4be19168bb9f6","Message":"新增一期心情成歌轻量原型,保留完整版\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-11-09T15:59:09+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/d6b26a6758ae658c2b18e28b2c5282ed7e1597c1...bfd530b4a549656fc2b16b5b37b4be19168bb9f6","Len":1}...
|
1794211165
|
Edit
Delete
|
|
47297
|
19
|
5
|
19
|
69
|
0
|
0
|
refs/heads/chanpin-20261124
|
0
|
{"Commits":[{"Sha1":"d6b26a675 {"Commits":[{"Sha1":"d6b26a6758ae658c2b18e28b2c5282ed7e1597c1","Message":"新增我们的歌手机高保真交互体验\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-11-06T16:28:40+08:00"}],"HeadCommit":{"Sha1":"d6b26a6758ae658c2b18e28b2c5282ed7e1597c1","Message":"新增我们的歌手机高保真交互体验\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-11-06T16:28:40+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/b1acead091580192490321b76f2b9daef7f867ad...d6b26a6758ae658c2b18e28b2c5282ed7e1597c1","Len":1}...
|
1793953752
|
Edit
Delete
|
|
45260
|
19
|
5
|
19
|
69
|
0
|
0
|
refs/heads/chanpin-20261124
|
0
|
{"Commits":[{"Sha1":"b1acead09 {"Commits":[{"Sha1":"b1acead091580192490321b76f2b9daef7f867ad","Message":"新增推送二维码批量删除及优化操作布局,同步本地需求\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-11-02T16:16:31+08:00"}],"HeadCommit":{"Sha1":"b1acead091580192490321b76f2b9daef7f867ad","Message":"新增推送二维码批量删除及优化操作布局,同步本地需求\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-11-02T16:16:31+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/41deb93f98e5eb4be3b796d27de7f517ca916250...b1acead091580192490321b76f2b9daef7f867ad","Len":1}...
|
1793607397
|
Edit
Delete
|
|
43894
|
19
|
5
|
19
|
69
|
0
|
0
|
refs/heads/dianbo-20261124
|
0
|
{"Commits":[{"Sha1":"a7ae4add6 {"Commits":[{"Sha1":"a7ae4add6044bb83cb04d13cecc2d3227aa6c12e","Message":"修正第三项为踩宝大作战管理端并同步入口说明\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-30T10:43:30+08:00"}],"HeadCommit":{"Sha1":"a7ae4add6044bb83cb04d13cecc2d3227aa6c12e","Message":"修正第三项为踩宝大作战管理端并同步入口说明\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-30T10:43:30+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/937a9f26811bf1cc3247086ed5be51b00b290e91...a7ae4add6044bb83cb04d13cecc2d3227aa6c12e","Len":1}...
|
1793328214
|
Edit
Delete
|
|
43854
|
19
|
5
|
19
|
69
|
0
|
0
|
refs/heads/chanpin-20261124
|
0
|
{"Commits":[{"Sha1":"41deb93f9 {"Commits":[{"Sha1":"41deb93f98e5eb4be3b796d27de7f517ca916250","Message":"重新同步本地最新原型并更新发布入口\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-29T18:26:02+08:00"}],"HeadCommit":{"Sha1":"41deb93f98e5eb4be3b796d27de7f517ca916250","Message":"重新同步本地最新原型并更新发布入口\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-29T18:26:02+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/b1fcf3d0c092542609724e8897ae79dbdf606b69...41deb93f98e5eb4be3b796d27de7f517ca916250","Len":1}...
|
1793269565
|
Edit
Delete
|
|
43795
|
19
|
5
|
19
|
69
|
0
|
0
|
refs/heads/dianbo-20261124
|
0
|
{"Commits":[{"Sha1":"937a9f268 {"Commits":[{"Sha1":"937a9f26811bf1cc3247086ed5be51b00b290e91","Message":"同步本期原型内容并保留线上入口结构\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-29T17:01:47+08:00"}],"HeadCommit":{"Sha1":"937a9f26811bf1cc3247086ed5be51b00b290e91","Message":"同步本期原型内容并保留线上入口结构\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-29T17:01:47+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/0b158c388875b4a8bad063a2e6791fc9d1e4814a...937a9f26811bf1cc3247086ed5be51b00b290e91","Len":1}...
|
1793264526
|
Edit
Delete
|
|
43790
|
19
|
5
|
19
|
69
|
0
|
0
|
refs/heads/chanpin-20261124
|
0
|
{"Commits":[{"Sha1":"26978aa91 {"Commits":[{"Sha1":"26978aa91a6af742c66bd63905f42a0f38028d96","Message":"重新发布最新独立原型并刷新导航版本\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-29T16:34:21+08:00"}],"HeadCommit":{"Sha1":"26978aa91a6af742c66bd63905f42a0f38028d96","Message":"重新发布最新独立原型并刷新导航版本\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-29T16:34:21+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/88204fdea6432c3ce731bc882e4496d949c94b3a...26978aa91a6af742c66bd63905f42a0f38028d96","Len":1}...
|
1793262864
|
Edit
Delete
|
|
43751
|
19
|
5
|
19
|
69
|
0
|
0
|
refs/heads/chanpin-20261124
|
0
|
{"Commits":[{"Sha1":"88204fdea {"Commits":[{"Sha1":"88204fdea6432c3ce731bc882e4496d949c94b3a","Message":"更新铭牌导出字段、文化备案红字说明及门店信息原型标注\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-29T15:21:10+08:00"}],"HeadCommit":{"Sha1":"88204fdea6432c3ce731bc882e4496d949c94b3a","Message":"更新铭牌导出字段、文化备案红字说明及门店信息原型标注\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-29T15:21:10+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/bfa0b22c82ad81da1d2e48b0e28b83da0024fd4a...88204fdea6432c3ce731bc882e4496d949c94b3a","Len":1}...
|
1793258472
|
Edit
Delete
|
|
40754
|
19
|
5
|
19
|
69
|
0
|
0
|
refs/heads/chanpin-20261124
|
0
|
{"Commits":[{"Sha1":"1f218c706 {"Commits":[{"Sha1":"1f218c706f64273742935f26f09778d9d45d941a","Message":"独立原型按页加载内容、图片懒加载及铭牌物料延迟加载\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-23T17:23:59+08:00"}],"HeadCommit":{"Sha1":"1f218c706f64273742935f26f09778d9d45d941a","Message":"独立原型按页加载内容、图片懒加载及铭牌物料延迟加载\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-23T17:23:59+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/72b0972182aecc66a118ba1ccebea88110523de9...1f218c706f64273742935f26f09778d9d45d941a","Len":1}...
|
1792747444
|
Edit
Delete
|
|
40743
|
19
|
5
|
19
|
69
|
0
|
0
|
refs/heads/chanpin-20261124
|
0
|
{"Commits":[{"Sha1":"72b097218 {"Commits":[{"Sha1":"72b0972182aecc66a118ba1ccebea88110523de9","Message":"更新导航页面资源版本\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-23T17:11:20+08:00"},{"Sha1":"d1a99c9fd01973aaf49f4cc9579ffd89ef1be384","Message":"修复数据读取阻塞导致原型页面空白\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-23T17:11:06+08:00"}],"HeadCommit":{"Sha1":"72b0972182aecc66a118ba1ccebea88110523de9","Message":"更新导航页面资源版本\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-23T17:11:20+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/a3aca60874a0e165a17532c47bcebc3eb2a3b24f...72b0972182aecc66a118ba1ccebea88110523de9","Len":2}...
|
1792746683
|
Edit
Delete
|
|
40732
|
19
|
5
|
19
|
69
|
0
|
0
|
refs/heads/chanpin-20261124
|
0
|
{"Commits":[{"Sha1":"a3aca6087 {"Commits":[{"Sha1":"a3aca60874a0e165a17532c47bcebc3eb2a3b24f","Message":"发布角色铭牌子权限、新版铭牌物料扫码档案及独立只读原型标注\n","AuthorEmail":"codex@openai.com","AuthorName":"Codex","CommitterEmail":"codex@openai.com","CommitterName":"Codex","Timestamp":"2026-10-23T16:50:44+08:00"}],"HeadCommit":{"Sha1":"a3aca60874a0e165a17532c47bcebc3eb2a3b24f","Message":"发布角色铭牌子权限、新版铭牌物料扫码档案及独立只读原型标注\n","AuthorEmail":"codex@openai.com","AuthorName":"Codex","CommitterEmail":"codex@openai.com","CommitterName":"Codex","Timestamp":"2026-10-23T16:50:44+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/b2e1fff6df4f5c81944952e00e4a6f201917508d...a3aca60874a0e165a17532c47bcebc3eb2a3b24f","Len":1}...
|
1792745450
|
Edit
Delete
|
|
40076
|
19
|
5
|
19
|
69
|
0
|
0
|
refs/heads/chanpin-20261124
|
0
|
{"Commits":[{"Sha1":"92f42baa2 {"Commits":[{"Sha1":"92f42baa2b36f608ae085cdc2b610b61747e7ed7","Message":"铭牌支持按检索批量备案及备案中,凭证保存可选同步已备案\n","AuthorEmail":"codex@openai.com","AuthorName":"Codex","CommitterEmail":"codex@openai.com","CommitterName":"Codex","Timestamp":"2026-10-21T14:00:38+08:00"}],"HeadCommit":{"Sha1":"92f42baa2b36f608ae085cdc2b610b61747e7ed7","Message":"铭牌支持按检索批量备案及备案中,凭证保存可选同步已备案\n","AuthorEmail":"codex@openai.com","AuthorName":"Codex","CommitterEmail":"codex@openai.com","CommitterName":"Codex","Timestamp":"2026-10-21T14:00:38+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/a437bda54671512be2e0aead8eb41f0a35c5bcb8...92f42baa2b36f608ae085cdc2b610b61747e7ed7","Len":1}...
|
1792562443
|
Edit
Delete
|
|
38666
|
19
|
5
|
19
|
69
|
0
|
0
|
refs/heads/chanpin-20261124
|
0
|
{"Commits":[{"Sha1":"669ff047d {"Commits":[{"Sha1":"669ff047d31b76254e9049990e5f2ed9d70b5515","Message":"Keep My custom panel last in template list\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-16T18:18:31+08:00"}],"HeadCommit":{"Sha1":"669ff047d31b76254e9049990e5f2ed9d70b5515","Message":"Keep My custom panel last in template list\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-16T18:18:31+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/93b9963449f072625351cd204834b381bd30107a...669ff047d31b76254e9049990e5f2ed9d70b5515","Len":1}...
|
1792145923
|
Edit
Delete
|
|
38642
|
19
|
5
|
19
|
69
|
0
|
0
|
refs/heads/chanpin-20261124
|
0
|
{"Commits":[{"Sha1":"b61b59bdf {"Commits":[{"Sha1":"b61b59bdfa91ae44fd8a050d7b11469361e90007","Message":"Freeze current merchant panel templates as stable defaults\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-16T16:46:17+08:00"}],"HeadCommit":{"Sha1":"b61b59bdfa91ae44fd8a050d7b11469361e90007","Message":"Freeze current merchant panel templates as stable defaults\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-16T16:46:17+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/9642c826757482a597e30b608e2634f318cd2762...b61b59bdfa91ae44fd8a050d7b11469361e90007","Len":1}...
|
1792140425
|
Edit
Delete
|
|
38624
|
19
|
5
|
19
|
69
|
0
|
0
|
refs/heads/chanpin-20261124
|
0
|
{"Commits":[{"Sha1":"a9f8b93b8 {"Commits":[{"Sha1":"a9f8b93b83c3b909b73b7e1f895f4e4626ebd26c","Message":"Separate turnover payment types from income\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-16T15:54:34+08:00"}],"HeadCommit":{"Sha1":"a9f8b93b83c3b909b73b7e1f895f4e4626ebd26c","Message":"Separate turnover payment types from income\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-16T15:54:34+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/f57143592cae949a3c28f831c9c1e5bf8ddef358...a9f8b93b83c3b909b73b7e1f895f4e4626ebd26c","Len":1}...
|
1792137286
|
Edit
Delete
|
|
38621
|
19
|
5
|
19
|
69
|
0
|
0
|
refs/heads/chanpin-20261124
|
0
|
{"Commits":[{"Sha1":"f57143592 {"Commits":[{"Sha1":"f57143592cae949a3c28f831c9c1e5bf8ddef358","Message":"Separate turnover order types from income in panel editor\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-16T15:53:01+08:00"}],"HeadCommit":{"Sha1":"f57143592cae949a3c28f831c9c1e5bf8ddef358","Message":"Separate turnover order types from income in panel editor\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-16T15:53:01+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/9f274637ccb8906ef8d4973d1aac0a095afce7bf...f57143592cae949a3c28f831c9c1e5bf8ddef358","Len":1}...
|
1792137194
|
Edit
Delete
|
|
38618
|
19
|
5
|
19
|
69
|
0
|
0
|
refs/heads/chanpin-20261124
|
0
|
{"Commits":[{"Sha1":"9f274637c {"Commits":[{"Sha1":"9f274637ccb8906ef8d4973d1aac0a095afce7bf","Message":"Match panel payment options to merchant report reference\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-16T15:41:58+08:00"}],"HeadCommit":{"Sha1":"9f274637ccb8906ef8d4973d1aac0a095afce7bf","Message":"Match panel payment options to merchant report reference\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-16T15:41:58+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/d9c29e9b24f06c90f86213735cbdfd5f51fd8fde...9f274637ccb8906ef8d4973d1aac0a095afce7bf","Len":1}...
|
1792136537
|
Edit
Delete
|
|
38615
|
19
|
5
|
19
|
69
|
0
|
0
|
refs/heads/chanpin-20261124
|
0
|
{"Commits":[{"Sha1":"d9c29e9b2 {"Commits":[{"Sha1":"d9c29e9b24f06c90f86213735cbdfd5f51fd8fde","Message":"Use complete order type list in panel editor\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-16T15:40:38+08:00"}],"HeadCommit":{"Sha1":"d9c29e9b24f06c90f86213735cbdfd5f51fd8fde","Message":"Use complete order type list in panel editor\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-16T15:40:38+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/635c4818e59f8554c7979ec99cf48ba9e1986efa...d9c29e9b24f06c90f86213735cbdfd5f51fd8fde","Len":1}...
|
1792136454
|
Edit
Delete
|
|
38612
|
19
|
5
|
19
|
69
|
0
|
0
|
refs/heads/chanpin-20261124
|
0
|
{"Commits":[{"Sha1":"635c4818e {"Commits":[{"Sha1":"635c4818e59f8554c7979ec99cf48ba9e1986efa","Message":"Add operating scene sources and select-all to report panels\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-16T15:33:30+08:00"}],"HeadCommit":{"Sha1":"635c4818e59f8554c7979ec99cf48ba9e1986efa","Message":"Add operating scene sources and select-all to report panels\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-16T15:33:30+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/bac506f927da6645c08707722a46d384c4195751...635c4818e59f8554c7979ec99cf48ba9e1986efa","Len":1}...
|
1792136049
|
Edit
Delete
|
|
38599
|
19
|
5
|
19
|
69
|
0
|
0
|
refs/heads/chanpin-20261124
|
0
|
{"Commits":[{"Sha1":"bac506f92 {"Commits":[{"Sha1":"bac506f927da6645c08707722a46d384c4195751","Message":"合并最新线上原型并保留导航分组及新增独立入口\n","AuthorEmail":"codex@openai.com","AuthorName":"Codex","CommitterEmail":"codex@openai.com","CommitterName":"Codex","Timestamp":"2026-10-16T14:59:52+08:00"},{"Sha1":"183c31f9025123bc14789275f1feb64f4a4de22e","Message":"发布收银服务套餐范围管理及需求返修优化,需求描述线上只读\n","AuthorEmail":"codex@openai.com","AuthorName":"Codex","CommitterEmail":"codex@openai.com","CommitterName":"Codex","Timestamp":"2026-10-16T14:59:40+08:00"}],"HeadCommit":{"Sha1":"bac506f927da6645c08707722a46d384c4195751","Message":"合并最新线上原型并保留导航分组及新增独立入口\n","AuthorEmail":"codex@openai.com","AuthorName":"Codex","CommitterEmail":"codex@openai.com","CommitterName":"Codex","Timestamp":"2026-10-16T14:59:52+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/aff6400985258254c0f653dcb1932f832df899cd...bac506f927da6645c08707722a46d384c4195751","Len":2}...
|
1792134089
|
Edit
Delete
|
|
38593
|
19
|
5
|
19
|
69
|
0
|
0
|
refs/heads/chanpin-20261124
|
0
|
{"Commits":[{"Sha1":"aff640098 {"Commits":[{"Sha1":"aff6400985258254c0f653dcb1932f832df899cd","Message":"根据Gitea真实推送活动修正预购商城归属并记录依据\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-16T14:54:42+08:00"}],"HeadCommit":{"Sha1":"aff6400985258254c0f653dcb1932f832df899cd","Message":"根据Gitea真实推送活动修正预购商城归属并记录依据\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-16T14:54:42+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/3e802bbee5aff598b5fdd0d6d0e0409349466ad9...aff6400985258254c0f653dcb1932f832df899cd","Len":1}...
|
1792133684
|
Edit
Delete
|
|
38590
|
19
|
5
|
19
|
69
|
0
|
0
|
refs/heads/chanpin-20261124
|
0
|
{"Commits":[{"Sha1":"3e802bbee {"Commits":[{"Sha1":"3e802bbee5aff598b5fdd0d6d0e0409349466ad9","Message":"按推送人分组展示20261124原型导航\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-16T14:51:57+08:00"}],"HeadCommit":{"Sha1":"3e802bbee5aff598b5fdd0d6d0e0409349466ad9","Message":"按推送人分组展示20261124原型导航\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-16T14:51:57+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/67eedd019649492b07a2bfac942980caa5f7030d...3e802bbee5aff598b5fdd0d6d0e0409349466ad9","Len":1}...
|
1792133519
|
Edit
Delete
|
|
38572
|
19
|
5
|
19
|
69
|
0
|
0
|
refs/heads/chanpin-20261124
|
0
|
{"Commits":[{"Sha1":"67eedd019 {"Commits":[{"Sha1":"67eedd019649492b07a2bfac942980caa5f7030d","Message":"Add daily report prototype with read-only published requirements\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-16T13:16:14+08:00"}],"HeadCommit":{"Sha1":"67eedd019649492b07a2bfac942980caa5f7030d","Message":"Add daily report prototype with read-only published requirements\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-10-16T13:16:14+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/600ecef80ef6afb810ce96f006cf33ec9268d19d...67eedd019649492b07a2bfac942980caa5f7030d","Len":1}...
|
1792131603
|
Edit
Delete
|
|
36775
|
19
|
5
|
19
|
69
|
0
|
0
|
refs/heads/chanpin-20261124
|
0
|
{"Commits":[{"Sha1":"df0939e87 {"Commits":[{"Sha1":"df0939e87f8ac4a7be330323ec2c2418ba2da5ea","Message":"其他需求仅本地编辑并按本地二级菜单发布独立只读原型\n","AuthorEmail":"codex@openai.com","AuthorName":"Codex","CommitterEmail":"codex@openai.com","CommitterName":"Codex","Timestamp":"2026-10-12T10:59:42+08:00"}],"HeadCommit":{"Sha1":"df0939e87f8ac4a7be330323ec2c2418ba2da5ea","Message":"其他需求仅本地编辑并按本地二级菜单发布独立只读原型\n","AuthorEmail":"codex@openai.com","AuthorName":"Codex","CommitterEmail":"codex@openai.com","CommitterName":"Codex","Timestamp":"2026-10-12T10:59:42+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/df69d607865026fd1093bcea8789360f4b5c15fd...df0939e87f8ac4a7be330323ec2c2418ba2da5ea","Len":1}...
|
1791773990
|
Edit
Delete
|