|
34871
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"22f20cb11 {"Commits":[{"Sha1":"22f20cb11e78f095552807569b78ee87e2516829","Message":"docs: 自动化执行与规模数字对齐代码(2026-10-03 订正)\n\n- 开发计划 v1.5 补「自动化执行」行并订正待拍板 ③:六项能力 WIRED 全 FULL(automation-runner,ebee195 于 07-16 并入 main),手动触发、只落本地库与审计;待拍的是自动调度与对外出站。v1.3 台账加订正注记,原文保留\n- 项目进展分析 07-01、项目阻塞点分析 B8、PRD 顶部各加订正注记,指回开发计划\n- CLAUDE.md / README:迁移 22→29、前端 API 方法 ~145→186、集成测试轮次 R0–R27、screens 文件 18→19,同步标签改为 2026-10-03 · 0f790be\n- 证据:docs-metrics 扫库;TEST_USE_CONTAINER=1 npm test 45 文件 324/324 @ 0f790be\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T07:48:12-07:00"},{"Sha1":"39defafd2e115f9b8dcad280a08dee3ba97d44d4","Message":"fix(scripts): colima-start.sh --skip-colima 不再要求装 colima;COLIMA.md 按 Docker Desktop 实跑订正\n\n- 启动脚本只在要管理 Colima 时才检查 colima 命令,--skip-colima 可在只有 Docker Desktop 的机器上用\n- COLIMA.md:栈不依赖 Colima;补「已有 Docker 运行时」路径、重复启动需 --skip-port-check、停止用 --skip-context、端口取值两条路、地址池占满的排障\n- 证据:2026-10-03 Docker Desktop 29.7.2,隔离项目名 + 备用端口实跑,四项健康等待通过,--skip-context --volumes 收尾\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T07:48:12-07:00"}],"HeadCommit":{"Sha1":"22f20cb11e78f095552807569b78ee87e2516829","Message":"docs: 自动化执行与规模数字对齐代码(2026-10-03 订正)\n\n- 开发计划 v1.5 补「自动化执行」行并订正待拍板 ③:六项能力 WIRED 全 FULL(automation-runner,ebee195 于 07-16 并入 main),手动触发、只落本地库与审计;待拍的是自动调度与对外出站。v1.3 台账加订正注记,原文保留\n- 项目进展分析 07-01、项目阻塞点分析 B8、PRD 顶部各加订正注记,指回开发计划\n- CLAUDE.md / README:迁移 22→29、前端 API 方法 ~145→186、集成测试轮次 R0–R27、screens 文件 18→19,同步标签改为 2026-10-03 · 0f790be\n- 证据:docs-metrics 扫库;TEST_USE_CONTAINER=1 npm test 45 文件 324/324 @ 0f790be\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T07:48:12-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/0f790bee5ab0fb5277c79c3667cf513fabd074b5...22f20cb11e78f095552807569b78ee87e2516829","Len":2}...
|
1791039191
|
Edit
Delete
|
|
34874
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"ef60e0581 {"Commits":[{"Sha1":"ef60e0581c3f779fd3a9d709a18073882bceb9aa","Message":"merge: include completed project feature skill experience\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T08:35:01-07:00"},{"Sha1":"3bc8cedb095eb05b022cfb43edd3bc442fdf709d","Message":"merge: include final credential log redaction and align security documentation\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T08:35:01-07:00"},{"Sha1":"3c84944cfb4940fb5bdf1c66d21f0c230cbf8cbd","Message":"merge: reconcile both security hardening branches and contracts\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T08:24:04-07:00"},{"Sha1":"73dce48a6d8ae51bd55cfe1ede0e95d018e4ce1d","Message":"docs(skills): ygg-fullstack-feature 补两条经验——api.js 方法前注释只能一行;鉴权改动的三层验证与 e2e 临时库跑法\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T08:23:45-07:00"},{"Sha1":"f397db7cbfc55a20c2c877cc5da48771c5da5367","Message":"docs: 加固冲刺落文档——安全基线说明、环境变量样例、开发计划登记\n\n- CLAUDE.md:会话绑定的鉴权约定、安全基线一节(生产配置拦截 / 限流 / 反向代理 / 错误体 / 健康检查);规模数字 185 端点 / 370 用例 / R0–R29\n- server/README:「安全基线与生产部署」一节,鉴权端点补 logout / logout-all,OpenAPI 158 paths / 185 operations\n- server/.env.example:TRUST_PROXY、限流与就绪探针变量,JWT_SECRET / CORS_ORIGINS 的生产要求\n- WEB.md 上线清单、platform-onboarding 身份一行同步\n- 开发计划 v1.5 表补「生产加固」行与证据;项目进展分析 07-01 的两处清单加订正\n- 证据:TEST_USE_CONTAINER=1 npm test 50 文件 370/370;Playwright 116/116 @ 82cbed1\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T08:22:59-07:00"}],"HeadCommit":{"Sha1":"ef60e0581c3f779fd3a9d709a18073882bceb9aa","Message":"merge: include completed project feature skill experience\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T08:35:01-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/22f20cb11e78f095552807569b78ee87e2516829...ef60e0581c3f779fd3a9d709a18073882bceb9aa","Len":10}...
|
1791041752
|
Edit
Delete
|
|
34875
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"91baf1dd9 {"Commits":[{"Sha1":"91baf1dd946e0668898de426705f1bd8added1d4","Message":"docs: record all-branch merge acceptance and no-deployment boundary\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T08:37:38-07:00"}],"HeadCommit":{"Sha1":"91baf1dd946e0668898de426705f1bd8added1d4","Message":"docs: record all-branch merge acceptance and no-deployment boundary\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T08:37:38-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/ef60e0581c3f779fd3a9d709a18073882bceb9aa...91baf1dd946e0668898de426705f1bd8added1d4","Len":1}...
|
1791041861
|
Edit
Delete
|
|
34876
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"87f4c793c {"Commits":[{"Sha1":"87f4c793c5c2e68cc8979412b7b1bd8ca5c527ea","Message":"fix: govern real platform ingestion and database audit integrity\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T09:08:08-07:00"}],"HeadCommit":{"Sha1":"87f4c793c5c2e68cc8979412b7b1bd8ca5c527ea","Message":"fix: govern real platform ingestion and database audit integrity\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T09:08:08-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/91baf1dd946e0668898de426705f1bd8added1d4...87f4c793c5c2e68cc8979412b7b1bd8ca5c527ea","Len":1}...
|
1791043713
|
Edit
Delete
|
|
34877
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"14faa2a20 {"Commits":[{"Sha1":"14faa2a20bbc99dda66a446ac86f9f304b3bd264","Message":"docs: record real implementation acceptance and cloud synchronization\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T09:09:11-07:00"}],"HeadCommit":{"Sha1":"14faa2a20bbc99dda66a446ac86f9f304b3bd264","Message":"docs: record real implementation acceptance and cloud synchronization\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T09:09:11-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/87f4c793c5c2e68cc8979412b7b1bd8ca5c527ea...14faa2a20bbc99dda66a446ac86f9f304b3bd264","Len":1}...
|
1791043768
|
Edit
Delete
|
|
34878
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"bd2d1f6a3 {"Commits":[{"Sha1":"bd2d1f6a36311732377749ff7387004fa7eb6fe2","Message":"docs: 真实实现治理第二批落文档——范围、问题与修法、数据层约束、验收与未做项\n\n- docs/real-implementation-governance-batch2-2026-10-03.md:本批记录\n- 开发计划 v1.8 表补「第二批」行与指针;项目进展分析 07-01 数据层一节加订正\n- CLAUDE.md:查询参数走 lib/query.ts、状态变更必须 CAS、CHECK 约束迁移的做法、接口覆盖棘轮;规模数字 30 迁移 / 484 用例 / R0–R35\n- README / server README 数字同步\n- 治理经验库 G-014(量成功调用的接口)/ G-015(CAS 与同事务)/ G-016(不变式下沉数据库)\n- ygg-seed-migration-guard 技能补 CHECK 约束迁移的例外做法\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T09:38:15-07:00"},{"Sha1":"acf778ab0ebebc39ad5f880a8305dc3ad212bf9b","Message":"test(coverage): 接口覆盖棘轮 npm run test:routes——量「被测试成功调用过的接口」\n\n- test/helpers.ts:设了 ROUTE_COVERAGE_LOG 时记录每个请求的方法 / 路径 / 状态码,不设时行为不变\n- scripts/route-coverage.mjs:对照 OpenAPI 全部接口,列出没有任何 2xx 调用的;基线 test/route-coverage.baseline.json 只许变短\n- 首次测量(main 91baf1d)147 / 185;本分支补测后 181 / 185,余下 4 个都是平台授权 / 写回,原因写在基线里\n- r35 再补 AI 会话详情与装修实验删除两条;r33 的用例表改为内联字面量,docs-metrics 与 vitest 口径一致(484)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T09:36:35-07:00"},{"Sha1":"b3c6eabc670e6f6e277643f41d4b865d446e3668","Message":"fix(api): 门店与运维入参加上界;巡检负责人须是本店成员\n\n- POST/PATCH /stores:名称 / 分店 / 地址此前没有长度上限\n- 运维工单、巡检、卫生打卡的字符串与数组同样补上界\n- POST /ops/inspections 的 assigneeId 此前不校验归属,可以把别的租户的用户挂到本店巡检上;现与任务模块同口径,非本店成员 400\n- 新增 r35 13 例:门店管理、会员画像与流水、按会员归户、任务修改、预算迁移、巡检 / 工单升级 / 设备下架 / 卫生打卡,\n 以及几个只读接口——这些接口此前没有成功路径的真实库测试\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T09:25:17-07:00"},{"Sha1":"6c2876f40383761e808cd58d60cffea601383397","Message":"fix(api): 看板与核销的查询参数加边界,非法值 400 而不是 500 或静默兜底\n\n- 新增 lib/query.ts:intQuery / dateQuery / assertDateRange\n- /orders?limit 封顶 200(此前原样当 take 传给数据库,limit=100000000 即全表读取)\n- period 限 1–366;此前 period=999999999 让 /orders/top-deals、/metrics/funnel 直接 500\n- /metrics/daily 的 from / to:非法日期此前 500,现在 400;起止颠倒、跨度超过 366 天同样 400\n- 非数字、小数、负数、重复参数不再被悄悄换成默认值\n- 新增 r34 17 例;前端只传 7 / 30 且不传 limit,不受影响\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T09:21:01-07:00"},{"Sha1":"90523e8d28d9c250c555d78e0d56818117497df7","Message":"feat(db): 金额 / 次数 / 名额的不变式下沉为数据库 CHECK 约束\n\n- 新迁移 20261003161609_data_integrity_checks:21 条 CHECK,覆盖钱包余额与流水方向、次卡次数、拼团名额(不超卖)、\n 订单 / SKU / 门店价 / 投放 / 补救 / 竞品金额、资源容量与低消、预约时间范围\n- 应用层原本已用 zod + CAS 守着;这是第二道,应用 bug、脚本或手工 SQL 也写不进非法值\n- 迁移经 prisma migrate dev --create-only 生成后手写 SQL(Prisma schema 表达不了 CHECK);schema.prisma 无变化,migrate diff 无漂移\n- 现有种子与全量测试(55 文件 428 例)均不触发约束\n- WalletTxn 的 REFUND 方向不约束:schema 注释写记正、种子写记负、应用代码不写这一类型,口径待定\n- 新增 r33 18 例:绕过 API 直接写库,逐条验证被拒并点名约束\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T09:20:37-07:00"}],"HeadCommit":{"Sha1":"bd2d1f6a36311732377749ff7387004fa7eb6fe2","Message":"docs: 真实实现治理第二批落文档——范围、问题与修法、数据层约束、验收与未做项\n\n- docs/real-implementation-governance-batch2-2026-10-03.md:本批记录\n- 开发计划 v1.8 表补「第二批」行与指针;项目进展分析 07-01 数据层一节加订正\n- CLAUDE.md:查询参数走 lib/query.ts、状态变更必须 CAS、CHECK 约束迁移的做法、接口覆盖棘轮;规模数字 30 迁移 / 484 用例 / R0–R35\n- README / server README 数字同步\n- 治理经验库 G-014(量成功调用的接口)/ G-015(CAS 与同事务)/ G-016(不变式下沉数据库)\n- ygg-seed-migration-guard 技能补 CHECK 约束迁移的例外做法\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T09:38:15-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/14faa2a20bbc99dda66a446ac86f9f304b3bd264...bd2d1f6a36311732377749ff7387004fa7eb6fe2","Len":7}...
|
1791068442
|
Edit
Delete
|
|
34879
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"eec309912 {"Commits":[{"Sha1":"eec3099126197721a5d2437962c531943e5a90b1","Message":"docs: 记录真实实现治理第二批已并入 main 并推 Gitea\n\n快进合入,远端 main 读数 bd2d1f6 与本地一致;合入的树即验收时的树。原分支已删除,未部署。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T16:01:04-07:00"}],"HeadCommit":{"Sha1":"eec3099126197721a5d2437962c531943e5a90b1","Message":"docs: 记录真实实现治理第二批已并入 main 并推 Gitea\n\n快进合入,远端 main 读数 bd2d1f6 与本地一致;合入的树即验收时的树。原分支已删除,未部署。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T16:01:04-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/bd2d1f6a36311732377749ff7387004fa7eb6fe2...eec3099126197721a5d2437962c531943e5a90b1","Len":1}...
|
1791068467
|
Edit
Delete
|
|
34880
|
5
|
5
|
5
|
117
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"8e2ed9c65 {"Commits":[{"Sha1":"8e2ed9c6567d258fb506fd60127666aee041be58","Message":"docs(治理): 收纳表 doc/ 文件数 195 → 201(L13)\n\nCHG-029 两个提交(112eed0、98467cb)在 平台治理/doc/ 下新增 6 个文件(CHG-029-材料 5 个、DEC-053 草案 1 个)时没有同步收纳表,origin/main 上这条 L13 本来就是红的;并入本地后按 git ls-files 实数订正。只改数字,未动该行的编号范围描述。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T16:12:39-07:00"},{"Sha1":"c764e6e7214b2e8aa85ad99491d2101c8eb40cfc","Message":"merge: 并入 origin/main(CHG-029 内核接入评审包、DEC-053 草案、内核 P0 开工单)\n\n本地 main 与 origin/main 自 77dfc5d 起分叉:本地 9 个提交(09-26 的开发计划 / 挖掘分析 / 技能续记,10-03 的业务应用层收纳表订正),远端 3 个提交(112eed0、98467cb、58fcd17)。\n用合并而非变基,双方提交 SHA 都不改写。\n\n唯一冲突在 平台治理/基础设施文档/开发计划.md §8 变更记录表:两边都在表顶插了行。按日期新到旧保留全部三行,未改任何一行的内容。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T16:11:18-07:00"},{"Sha1":"243f5fe8009d5877c896234eef8a6febd48fe2ab","Message":"docs(治理): 业务应用层收纳表尤克特拉行——补 2026-10-03 真实实现治理已入 main\n\n应用仓 Gitea main 读数 eec3099:两批真实实现治理(平台入站完整性;线索并发、数据库 CHECK 约束、查询参数边界、接口覆盖棘轮)。仍零 @juhai/ 依赖、无新业务功能。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T16:01:17-07:00"},{"Sha1":"efbdb12f673a71b45f6a28445995be34bc8f03ff","Message":"docs(治理): 业务应用层收纳表尤克特拉行——补 2026-10-03 后端安全加固已入 main\n\n应用仓 Gitea main 读数 91baf1d:会话吊销、限流、安全头、生产配置拦截(两条加固分支由并行会话调和后合入)。仍零 @juhai/ 依赖、无新业务功能。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T08:51:39-07:00"},{"Sha1":"97ca5a3984def109e90dffbf0a73a56a2002269f","Message":"docs(治理): 业务应用层收纳表尤克特拉行订正——不是「2026-07-31 后未动」\n\n功能开发停在 2026-07-31(88fb2aa),其后有 2026-09-14~16 三次提交(fe40791 JWT 信任边界加固,ddd441a / 0f790be 文档订正)与 2026-10-03 一轮文档对齐(应用仓 39defaf、22f20cb,本地未推送);零 @juhai/ 依赖为 2026-10-03 读三份 package.json 的结果。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T07:48:20-07:00"}],"HeadCommit":{"Sha1":"8e2ed9c6567d258fb506fd60127666aee041be58","Message":"docs(治理): 收纳表 doc/ 文件数 195 → 201(L13)\n\nCHG-029 两个提交(112eed0、98467cb)在 平台治理/doc/ 下新增 6 个文件(CHG-029-材料 5 个、DEC-053 草案 1 个)时没有同步收纳表,origin/main 上这条 L13 本来就是红的;并入本地后按 git ls-files 实数订正。只改数字,未动该行的编号范围描述。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T16:12:39-07:00"},"CompareURL":"luoanwu/platform-governance/compare/58fcd1796957489a14bbcb7fcaeed28a2c672f28...8e2ed9c6567d258fb506fd60127666aee041be58","Len":11}...
|
1791069176
|
Edit
Delete
|
|
34881
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"ae09f6d0b {"Commits":[{"Sha1":"ae09f6d0bf9de0927efc51dde6cd8acc4811c9b3","Message":"docs: 记录两条口径裁定及其落地——退款流水记正、装修实验任何状态可删\n\n- 第二批治理记录补「口径裁定后的补充」一节:迁移对已有数据的处理、种子订正、审计、验收\n- 开发计划第二批行与规模读数(31 迁移)、CLAUDE.md 迁移数、治理经验库 G-016 证据同步\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T16:25:44-07:00"},{"Sha1":"5bc6a053018e97e55e272f9fa4b7aeff8df69eb5","Message":"feat(decor): 删除装修实验留审计;「任何状态可删」用测试固定\n\n用户 2026-10-03 裁定:进行中或已采纳的装修实验可以删。行为不变。\n\n- 删除与一条审计(名称、被测要素、删除时状态、赢家变体、变体数)同事务:实验与变体删了就没了,审计是唯一痕迹\n- r35 对应用例扩为草稿 / 进行中 / 已采纳各删一遍,断言三条审计、已采纳写回门面的值不回退、别的租户删不了(用例数不变)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T16:25:44-07:00"},{"Sha1":"6507b0c80e396f5d4bf0ca1dbf9de495f9538802","Message":"feat(db): 钱包退款流水记正——约束收紧到「只有抵扣记负」,订正种子\n\n用户 2026-10-03 裁定:REFUND = 退款回滚,把此前抵扣的钱退回钱包,记正。\n\n- 新迁移 20261003231916_wallet_refund_positive:WalletTxn_amount_sign 改为只有 DEDUCT 可为负,其余类型(含 REFUND)不得为负\n- 先 NOT VALID 加上(立刻约束此后的写入),库里没有旧的负数退款行时紧接着校验;有旧行的库不回改数据\n- 实测两条路径:全新库 convalidated = t;旧种子灌过的库(4 条负数退款行)迁移正常应用、新写入被拒、重新 seed 后手工 VALIDATE 成功\n- 种子此前把退款当扣减算余额,改为加回;两个品类的赵女士各补一笔 ¥128 抵扣,让 ¥50 退款回滚有东西可退\n- r33 对应用例改为:负数退款被拒、正数可写、种子退款为正且余额等于流水之和(用例数不变)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T16:25:44-07:00"}],"HeadCommit":{"Sha1":"ae09f6d0bf9de0927efc51dde6cd8acc4811c9b3","Message":"docs: 记录两条口径裁定及其落地——退款流水记正、装修实验任何状态可删\n\n- 第二批治理记录补「口径裁定后的补充」一节:迁移对已有数据的处理、种子订正、审计、验收\n- 开发计划第二批行与规模读数(31 迁移)、CLAUDE.md 迁移数、治理经验库 G-016 证据同步\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T16:25:44-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/eec3099126197721a5d2437962c531943e5a90b1...ae09f6d0bf9de0927efc51dde6cd8acc4811c9b3","Len":3}...
|
1791070492
|
Edit
Delete
|
|
34882
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"50f92bc00 {"Commits":[{"Sha1":"50f92bc0038f667e701d2a53120e2691a831f381","Message":"docs: 记录口径裁定两项已并入 main 并推 Gitea\n\n快进合入,远端 main 读数 ae09f6d 与本地一致;主检出里另一会话的在途改动未受影响。未部署。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T16:35:11-07:00"}],"HeadCommit":{"Sha1":"50f92bc0038f667e701d2a53120e2691a831f381","Message":"docs: 记录口径裁定两项已并入 main 并推 Gitea\n\n快进合入,远端 main 读数 ae09f6d 与本地一致;主检出里另一会话的在途改动未受影响。未部署。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T16:35:11-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/ae09f6d0bf9de0927efc51dde6cd8acc4811c9b3...50f92bc0038f667e701d2a53120e2691a831f381","Len":1}...
|
1791070515
|
Edit
Delete
|
|
34883
|
5
|
5
|
5
|
121
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"607f69f4f {"Commits":[{"Sha1":"607f69f4f6039cf5dcd4bb1e0ca48e1449012dfc","Message":"release: prepare 0.221.0 value-chain revision and review, tool usage metering, burn-rate delivery and gap2 evidence\n\nCombines the six claude/gap2-* branches on top of 0.220.0. Migrations\n168 and 170-172.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T02:58:49-07:00"},{"Sha1":"8305639929be6b20fde705670ba0479a99696274","Message":"Merge claude/gap2-observability into the gap2 batch\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T02:44:41-07:00"},{"Sha1":"4ff9aed1ad9215873d83c2319eb433cfcb8829c0","Message":"Merge origin/main (0.220.0) into the gap2 batch\n\nGovernance and ledger texts take main's wording with this batch's notes\nre-applied; both API schema gates (main's api-standard-validation and\nthis batch's check:api-spec) are kept side by side; generated contracts,\nresponse rows and the v1.1 draft re-rendered on a database migrated\nthrough 172.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T02:44:34-07:00"},{"Sha1":"f32d8f5b73807b3e40f11d480a3df0f88572a458","Message":"Merge origin/main (0.220.0) into claude/gap2-observability\n\nLedger and gap-governance take main's text; the burn-rate delivery notes are re-applied on top.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T02:41:30-07:00"},{"Sha1":"e88691d887663dbc312c31f1b1fef8adb7c5596f","Message":"K7.6a/K7.6b: fixed-source burn-rate delivery evidence, docs, ledger notes and release candidate\n\nAll 12 burn-rate rules fired in an isolated real Prometheus, reached the test\nwebhook and resolved after natural window expiry (third run; the first exposed\nthe dead le selector, the second was cut short when the host Docker engine\nstopped). Statuses unchanged: K7.6a, K7.6b, K8.7 partial, P2.4c not_verified.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T02:39:51-07:00"}],"HeadCommit":{"Sha1":"607f69f4f6039cf5dcd4bb1e0ca48e1449012dfc","Message":"release: prepare 0.221.0 value-chain revision and review, tool usage metering, burn-rate delivery and gap2 evidence\n\nCombines the six claude/gap2-* branches on top of 0.220.0. Migrations\n168 and 170-172.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T02:58:49-07:00"},"CompareURL":"luoanwu/seven-domain-five-dimension-unified-model/compare/6e36b93f386509ed116062d735b34cfd2fc4f508...607f69f4f6039cf5dcd4bb1e0ca48e1449012dfc","Len":35}...
|
1791071221
|
Edit
Delete
|
|
34884
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"3c9ccff1b {"Commits":[{"Sha1":"3c9ccff1ba6415660a29cb99c8a4b4b1ce6eccc2","Message":"merge: preserve approved refund governance alongside external integrations\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T16:48:13-07:00"},{"Sha1":"06920096ee8e9d4502e10f2e6c941485ef20f3d0","Message":"fix(integrations): guard payment amounts and finalize protocol regression coverage\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T16:43:36-07:00"},{"Sha1":"ea791b4795fec986c2a985d5ac1c68f26b4fce9f","Message":"Merge branch 'main' into codex/external-integrations-20261003\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T16:31:04-07:00"},{"Sha1":"a0d31127ccede37badd24d82386f64b5b4fef95a","Message":"feat(integrations): add verified WeChat Native topups and bounded AI/platform transport\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T16:31:04-07:00"}],"HeadCommit":{"Sha1":"3c9ccff1ba6415660a29cb99c8a4b4b1ce6eccc2","Message":"merge: preserve approved refund governance alongside external integrations\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T16:48:13-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/50f92bc0038f667e701d2a53120e2691a831f381...3c9ccff1ba6415660a29cb99c8a4b4b1ce6eccc2","Len":4}...
|
1791071298
|
Edit
Delete
|
|
34885
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"c847b8b9b {"Commits":[{"Sha1":"c847b8b9be80c7c5cef0f97d9c9838442e1cb2cb","Message":"docs: record verified integrations and cloud-main synchronization boundaries\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T16:49:53-07:00"}],"HeadCommit":{"Sha1":"c847b8b9be80c7c5cef0f97d9c9838442e1cb2cb","Message":"docs: record verified integrations and cloud-main synchronization boundaries\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T16:49:53-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/3c9ccff1ba6415660a29cb99c8a4b4b1ce6eccc2...c847b8b9be80c7c5cef0f97d9c9838442e1cb2cb","Len":1}...
|
1791071397
|
Edit
Delete
|
|
34886
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"ee7e038fc {"Commits":[{"Sha1":"ee7e038fc69366df08ed6e33d0c64b391e68169f","Message":"merge: 并入本地 main 的文档订正(约束条数 21 → 18、开发库应用记录)\n\n远端 main 在本地提交 ab1252f 之后又进了外部对接的提交,两边分叉。合并而不变基,双方提交 SHA 不变。\n\n- 唯一冲突在 治理经验库.md 末尾:远端在 G-016 之后追加了 G-017 / G-018,本地订正了 G-016 的证据行。保留远端追加的内容,并应用订正\n- docs/external-integrations-2026-10-03.md 引用的「21 条约束」同样订正为 18(该数字出自第二批记录的错误)\n- 第二批记录补一句:开发库已一并应用外部对接的两个迁移,现为 33 个迁移、26 条 CHECK 全部已校验\n\n相对 origin/main 只改文档,不含代码。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T16:52:57-07:00"},{"Sha1":"ab1252fb4af1376318a11cef1dc94bee26bce682","Message":"docs: 订正约束条数(21 → 18),记录开发库已应用迁移并重新灌种子\n\n- 第一批完整性迁移实际新增 18 条 CHECK 约束;此前写作 21,是把库里别处的约束一并数了进去。四处文档同步订正\n- 其中门店价非负一条与 20260603223000 迁移里已有的 StoreSkuPrice_priceCents_nonnegative 同义,属重复,无害,如实记下\n- 开发库(yggdrasil-colima 数据卷)2026-10-03 已应用 31 个迁移并重新灌种子:先整库备份;public 下 23 条 CHECK 全部已校验;余额等于流水之和;当前代码连库 /health 200、可登录\n\n开发计划.md 与 治理经验库.md 另有并行会话未提交的在途改动,本提交只含上述订正那一行,不带它们的内容。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T16:48:01-07:00"}],"HeadCommit":{"Sha1":"ee7e038fc69366df08ed6e33d0c64b391e68169f","Message":"merge: 并入本地 main 的文档订正(约束条数 21 → 18、开发库应用记录)\n\n远端 main 在本地提交 ab1252f 之后又进了外部对接的提交,两边分叉。合并而不变基,双方提交 SHA 不变。\n\n- 唯一冲突在 治理经验库.md 末尾:远端在 G-016 之后追加了 G-017 / G-018,本地订正了 G-016 的证据行。保留远端追加的内容,并应用订正\n- docs/external-integrations-2026-10-03.md 引用的「21 条约束」同样订正为 18(该数字出自第二批记录的错误)\n- 第二批记录补一句:开发库已一并应用外部对接的两个迁移,现为 33 个迁移、26 条 CHECK 全部已校验\n\n相对 origin/main 只改文档,不含代码。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T16:52:57-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/c847b8b9be80c7c5cef0f97d9c9838442e1cb2cb...ee7e038fc69366df08ed6e33d0c64b391e68169f","Len":2}...
|
1791071672
|
Edit
Delete
|
|
34887
|
5
|
5
|
5
|
121
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"779c00191 {"Commits":[{"Sha1":"779c00191cb5a663e6fe700456583cc8bb068c05","Message":"docs: record verified 0.221.0 delivery, its outage and unobserved live paths\n\nAnchors v0.221.0 at 607f69f4 and notes the deployment on K4.4b/c, K5.2b\nand K5.6; statuses unchanged.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T17:08:28-07:00"}],"HeadCommit":{"Sha1":"779c00191cb5a663e6fe700456583cc8bb068c05","Message":"docs: record verified 0.221.0 delivery, its outage and unobserved live paths\n\nAnchors v0.221.0 at 607f69f4 and notes the deployment on K4.4b/c, K5.2b\nand K5.6; statuses unchanged.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T17:08:28-07:00"},"CompareURL":"luoanwu/seven-domain-five-dimension-unified-model/compare/607f69f4f6039cf5dcd4bb1e0ca48e1449012dfc...779c00191cb5a663e6fe700456583cc8bb068c05","Len":1}...
|
1791072551
|
Edit
Delete
|
|
34889
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"a244264ab {"Commits":[{"Sha1":"a244264ab360d733e9cdc0bd5573a49bc6e7a570","Message":"merge: preserve synchronized deployment and constraint records\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T17:09:19-07:00"},{"Sha1":"cff582baff68de685f6a7fc797447145ecfe064a","Message":"merge: complete module governance with native payments and guarded automation\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T17:08:57-07:00"},{"Sha1":"8b6616eb0a800d4478bb8e3d2038c33d7f8914a4","Message":"feat: govern missing identity billing and durable operations modules\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T16:52:38-07:00"}],"HeadCommit":{"Sha1":"a244264ab360d733e9cdc0bd5573a49bc6e7a570","Message":"merge: preserve synchronized deployment and constraint records\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T17:09:19-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/ee7e038fc69366df08ed6e33d0c64b391e68169f...a244264ab360d733e9cdc0bd5573a49bc6e7a570","Len":3}...
|
1791072563
|
Edit
Delete
|
|
34890
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"e4707f510 {"Commits":[{"Sha1":"e4707f5103774002317675ea148dbd5f8b89c599","Message":"fix: label unverified AI connections and demo entry metrics\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T17:21:06-07:00"}],"HeadCommit":{"Sha1":"e4707f5103774002317675ea148dbd5f8b89c599","Message":"fix: label unverified AI connections and demo entry metrics\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T17:21:06-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/a244264ab360d733e9cdc0bd5573a49bc6e7a570...e4707f5103774002317675ea148dbd5f8b89c599","Len":1}...
|
1791073270
|
Edit
Delete
|
|
34891
|
5
|
5
|
5
|
57
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"97b54992f {"Commits":[{"Sha1":"97b54992f7880ee6f10ef4ae67f73088999b3794","Message":"docs(文档): 全面对齐代码能力、模块缺口与验收边界\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T17:23:23-07:00"},{"Sha1":"0a643c4cf792e2e0219b8341c25bc1e442235610","Message":"fix(compose): 开发基座补顶层 name,停止与另外六个仓共用 project `api-nestjs`\n\n本文件没有顶层 name,compose 便按**所在目录名**推导 project 名。它在每个仓里的路径都是\napps/api-nestjs/,于是 7 个仓推导出同一个 `api-nestjs`,共用 `api-nestjs_pgdata` /\n`_redisdata` 与同名容器——后 up 的那个直接接管先起者的容器与卷。这类冲突单仓内部永远\n判不出来,只有横着比多份 compose 才看得见,已经咬过一次(C-15)。\n\n现改为 `name: ${COMPOSE_PROJECT_NAME:-image-generation}`,默认取本仓 package.json 的 name,\n仍可用 COMPOSE_PROJECT_NAME 覆盖。实测 `docker compose config` 解析出的卷已变为\n`image-generation_*`。\n\n数据风险已先核过再改:本机 260 个卷里**没有任何 `api-nestjs_*`**,\n`docker ps -a --filter label=com.docker.compose.project=api-nestjs` 零命中——\n这份 compose 在本机从未以默认推导名起过,没有旧卷需要迁移。(只证明本机;\n别的机器若直接 up 过,改名后首次 up 会建新空卷,旧卷需自行迁移。)\n\n工作区门禁 `平台治理/基础/scripts/check-workspace-consistency.mjs` 的\nL9 COMPOSE_PROJECT_COLLISION 在 7 个仓全部补齐后由 ISSUES 转 CLEAN(exit 0,0 issues)。\n处置依据:裁决 N-11 选项 ①。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T19:13:32-07:00"}],"HeadCommit":{"Sha1":"97b54992f7880ee6f10ef4ae67f73088999b3794","Message":"docs(文档): 全面对齐代码能力、模块缺口与验收边界\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T17:23:23-07:00"},"CompareURL":"luoanwu/image-generation/compare/c8b1f1ca65ef4bfa8a4a6181b6682c7edcda3de5...97b54992f7880ee6f10ef4ae67f73088999b3794","Len":2}...
|
1791073425
|
Edit
Delete
|
|
34892
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"ca4022d76 {"Commits":[{"Sha1":"ca4022d7692cfbd6b667348aae3bc4697fe523ca","Message":"docs: record final module governance verification and local release\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T17:24:26-07:00"}],"HeadCommit":{"Sha1":"ca4022d7692cfbd6b667348aae3bc4697fe523ca","Message":"docs: record final module governance verification and local release\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T17:24:26-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/e4707f5103774002317675ea148dbd5f8b89c599...ca4022d7692cfbd6b667348aae3bc4697fe523ca","Len":1}...
|
1791073468
|
Edit
Delete
|
|
34893
|
5
|
5
|
5
|
57
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"4cadfe25a {"Commits":[{"Sha1":"4cadfe25a137afa7cb8681d66c07bba53dac99c2","Message":"docs(文档): 记录主分支同步与工作区验证结果\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T17:24:25-07:00"}],"HeadCommit":{"Sha1":"4cadfe25a137afa7cb8681d66c07bba53dac99c2","Message":"docs(文档): 记录主分支同步与工作区验证结果\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T17:24:25-07:00"},"CompareURL":"luoanwu/image-generation/compare/97b54992f7880ee6f10ef4ae67f73088999b3794...4cadfe25a137afa7cb8681d66c07bba53dac99c2","Len":1}...
|
1791073478
|
Edit
Delete
|
|
34896
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"eccbba06b {"Commits":[{"Sha1":"eccbba06b493fe3de7a10ea2522cd8ca9fd09bc9","Message":"feat(fission): 裂变屏补开团、代客参团、成员详情与转介绍绑定 / 手动发奖入口\n\n后端 /group-buys 与 /referrals 的写接口早已就绪并有并发防护,但裂变屏只调了\n列表、结算、退回三个接口,开团、参团、绑定邀请关系、手动发奖都没有界面入口。\n本次只动前端,不改后端与 api.js(五个方法原本就在)。\n\n- 发起拼团:选在售套餐、成团人数、团价、团名、奖励方式、招募有效期、可选团长;\n 校验口径同后端 createGroupBuySchema,非法值在页面拦下不发请求\n- 代客参团:招募中的团可替到店会员占名额,已在团内的会员不出现在选项里;\n 已过截止时间的团不再放行参团(后端目前不校验截止时间,见下)\n- 成员详情:展开时取 /group-buys/:id 的最新成员、团长与获奖标记、各时间点\n- 绑定邀请关系:邀请人 / 被邀人下拉,已选邀请人与已绑定过的会员不可选作被邀人\n- 手动发放转介绍奖励:列出被邀人的已核销订单作为首单凭据,没有则说明原因并禁用\n- 权限同后端 requireRole:店员只见代客参团与绑定,不见开团 / 结算 / 退回 / 发奖\n- 会员、套餐下拉在首次打开表单时才加载;加载失败明示,不显示成「暂无」\n- 写操作防重复提交;成功与失败后都重新拉列表;结果提示固定在视口内\n- 离线样例模式表单可打开,提交只提示、不发请求\n\n验证(一次性 PG + 本分支自起的后端与静态服,桌面 + 手机两个浏览器项目):\n- 前端 npm test / lint / build 通过\n- e2e 新增 4 条深度流程:开团到结算、绑定与无首单不可发奖、凭已核销订单手动发奖、\n 店员入口可见性\n- 基线 a244264 上全量 150 条:147 通过、1 条按设计跳过(种子里可手动发奖的那一对\n 同库只能发一次,第二个浏览器项目跳过)、2 条失败为 07-governance 自助注册用例缺\n ENABLE_SELF_REGISTRATION 开关,主线随后在 e4707f5 的 Playwright 配置里补上\n- rebase 到 ca4022d 后重跑深度流程 + 裂变冒烟 + 注册用例共 24 条:23 通过、\n 1 条按设计跳过;未在 ca4022d 上重跑全量\n\n未做(已另行登记):奖励券码无接口可查、后端不校验拼团截止时间也不自动过期、\n储值赠金团在获奖人无钱包时卡在已满员、团价无上限。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T17:17:45-07:00"}],"HeadCommit":{"Sha1":"eccbba06b493fe3de7a10ea2522cd8ca9fd09bc9","Message":"feat(fission): 裂变屏补开团、代客参团、成员详情与转介绍绑定 / 手动发奖入口\n\n后端 /group-buys 与 /referrals 的写接口早已就绪并有并发防护,但裂变屏只调了\n列表、结算、退回三个接口,开团、参团、绑定邀请关系、手动发奖都没有界面入口。\n本次只动前端,不改后端与 api.js(五个方法原本就在)。\n\n- 发起拼团:选在售套餐、成团人数、团价、团名、奖励方式、招募有效期、可选团长;\n 校验口径同后端 createGroupBuySchema,非法值在页面拦下不发请求\n- 代客参团:招募中的团可替到店会员占名额,已在团内的会员不出现在选项里;\n 已过截止时间的团不再放行参团(后端目前不校验截止时间,见下)\n- 成员详情:展开时取 /group-buys/:id 的最新成员、团长与获奖标记、各时间点\n- 绑定邀请关系:邀请人 / 被邀人下拉,已选邀请人与已绑定过的会员不可选作被邀人\n- 手动发放转介绍奖励:列出被邀人的已核销订单作为首单凭据,没有则说明原因并禁用\n- 权限同后端 requireRole:店员只见代客参团与绑定,不见开团 / 结算 / 退回 / 发奖\n- 会员、套餐下拉在首次打开表单时才加载;加载失败明示,不显示成「暂无」\n- 写操作防重复提交;成功与失败后都重新拉列表;结果提示固定在视口内\n- 离线样例模式表单可打开,提交只提示、不发请求\n\n验证(一次性 PG + 本分支自起的后端与静态服,桌面 + 手机两个浏览器项目):\n- 前端 npm test / lint / build 通过\n- e2e 新增 4 条深度流程:开团到结算、绑定与无首单不可发奖、凭已核销订单手动发奖、\n 店员入口可见性\n- 基线 a244264 上全量 150 条:147 通过、1 条按设计跳过(种子里可手动发奖的那一对\n 同库只能发一次,第二个浏览器项目跳过)、2 条失败为 07-governance 自助注册用例缺\n ENABLE_SELF_REGISTRATION 开关,主线随后在 e4707f5 的 Playwright 配置里补上\n- rebase 到 ca4022d 后重跑深度流程 + 裂变冒烟 + 注册用例共 24 条:23 通过、\n 1 条按设计跳过;未在 ca4022d 上重跑全量\n\n未做(已另行登记):奖励券码无接口可查、后端不校验拼团截止时间也不自动过期、\n储值赠金团在获奖人无钱包时卡在已满员、团价无上限。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T17:17:45-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/ca4022d7692cfbd6b667348aae3bc4697fe523ca...eccbba06b493fe3de7a10ea2522cd8ca9fd09bc9","Len":1}...
|
1791074440
|
Edit
Delete
|
|
34897
|
5
|
5
|
5
|
121
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"3dd9e3a8b {"Commits":[{"Sha1":"3dd9e3a8bd71c81edcad0d033e82bb706c7a2b93","Message":"contracts: advance the API compat baseline to the deployed 0.221.0 contracts; anchor v0.219.0\n\nThe installed contracts match the repository byte for byte, so the eight\nwaivers are cleared. v0.219.0 (009aacc8) was live and tagged but missing\nfrom the anchor list.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T17:28:23-07:00"}],"HeadCommit":{"Sha1":"3dd9e3a8bd71c81edcad0d033e82bb706c7a2b93","Message":"contracts: advance the API compat baseline to the deployed 0.221.0 contracts; anchor v0.219.0\n\nThe installed contracts match the repository byte for byte, so the eight\nwaivers are cleared. v0.219.0 (009aacc8) was live and tagged but missing\nfrom the anchor list.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T17:28:23-07:00"},"CompareURL":"luoanwu/seven-domain-five-dimension-unified-model/compare/779c00191cb5a663e6fe700456583cc8bb068c05...3dd9e3a8bd71c81edcad0d033e82bb706c7a2b93","Len":1}...
|
1791075350
|
Edit
Delete
|
|
34921
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"c6e102e30 {"Commits":[{"Sha1":"c6e102e30faff9b83047d294f6ae5e1d146a7688","Message":"chore(reports): record bounded KI identity and Fact verification\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T18:00:55-07:00"},{"Sha1":"7c5e4919673a67e59b4557260faac167cb15fdcd","Message":"test(identity): reuse supported isolated Fact database names\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T17:59:29-07:00"},{"Sha1":"070c6e291eacf533bfc40adce2f2a348b20cff37","Message":"fix(identity): verify real M1 machine tokens for Fact intake and reads\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T17:57:18-07:00"}],"HeadCommit":{"Sha1":"c6e102e30faff9b83047d294f6ae5e1d146a7688","Message":"chore(reports): record bounded KI identity and Fact verification\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T18:00:55-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/745d6a97cc8ddaa8c27f6b7013faf92a0dbe4172...c6e102e30faff9b83047d294f6ae5e1d146a7688","Len":3}...
|
1791075685
|
Edit
Delete
|
|
34922
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"562056b6b {"Commits":[{"Sha1":"562056b6b1d3d5f51fe0d7b5ca1d5283f487e92f","Message":"chore(reports): refresh clean static evidence and workbench snapshots\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T18:02:48-07:00"}],"HeadCommit":{"Sha1":"562056b6b1d3d5f51fe0d7b5ca1d5283f487e92f","Message":"chore(reports): refresh clean static evidence and workbench snapshots\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T18:02:48-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/c6e102e30faff9b83047d294f6ae5e1d146a7688...562056b6b1d3d5f51fe0d7b5ca1d5283f487e92f","Len":1}...
|
1791075770
|
Edit
Delete
|
|
34923
|
5
|
5
|
5
|
122
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"c47e1b120 {"Commits":[{"Sha1":"c47e1b120a38924bf8528d5c2ba8dcb41463b296","Message":"docs: record IdP to Fact integration progress and pending decisions\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T18:03:14-07:00"}],"HeadCommit":{"Sha1":"c47e1b120a38924bf8528d5c2ba8dcb41463b296","Message":"docs: record IdP to Fact integration progress and pending decisions\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T18:03:14-07:00"},"CompareURL":"luoanwu/seven-domain-five-dimension-model-docs/compare/0e6164409e6b4c39523c8eff4378ea9c3e143f93...c47e1b120a38924bf8528d5c2ba8dcb41463b296","Len":1}...
|
1791075798
|
Edit
Delete
|
|
34924
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"4e729d975 {"Commits":[{"Sha1":"4e729d975177f19aff25f2005c586e995aafe556","Message":"feat: implement consumer self-service and live market IoT modules\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T18:05:29-07:00"}],"HeadCommit":{"Sha1":"4e729d975177f19aff25f2005c586e995aafe556","Message":"feat: implement consumer self-service and live market IoT modules\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T18:05:29-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/eccbba06b493fe3de7a10ea2522cd8ca9fd09bc9...4e729d975177f19aff25f2005c586e995aafe556","Len":1}...
|
1791075933
|
Edit
Delete
|
|
34925
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"d2c63f918 {"Commits":[{"Sha1":"d2c63f918ffbd04ed438448039a81bf97038aaf6","Message":"docs: record verified real-module tests and local deployment\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T18:08:16-07:00"}],"HeadCommit":{"Sha1":"d2c63f918ffbd04ed438448039a81bf97038aaf6","Message":"docs: record verified real-module tests and local deployment\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T18:08:16-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/4e729d975177f19aff25f2005c586e995aafe556...d2c63f918ffbd04ed438448039a81bf97038aaf6","Len":1}...
|
1791076100
|
Edit
Delete
|
|
34926
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"0746a1b10 {"Commits":[{"Sha1":"0746a1b10d72f6847a59544afe22685b2ab9a0dc","Message":"docs: record merged OAuth verification and align operating guidance\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T18:28:35-07:00"},{"Sha1":"1fd48a1451e2493281951207445c593068411fb9","Message":"Merge remote-tracking branch 'origin/main' into codex/external-integrations-20261003\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T18:20:37-07:00"},{"Sha1":"b3168d64dfd12640cfaeef3e62242b7e6c4a909c","Message":"fix(platforms): verify signed authorization and consume OAuth states atomically\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T18:20:35-07:00"}],"HeadCommit":{"Sha1":"0746a1b10d72f6847a59544afe22685b2ab9a0dc","Message":"docs: record merged OAuth verification and align operating guidance\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T18:28:35-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/d2c63f918ffbd04ed438448039a81bf97038aaf6...0746a1b10d72f6847a59544afe22685b2ab9a0dc","Len":3}...
|
1791077318
|
Edit
Delete
|
|
34927
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"0a9ca6505 {"Commits":[{"Sha1":"0a9ca6505150a0eaa81de69fec53b2b9350cfcbe","Message":"docs: record verified main sync and preserved concurrent workspace\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T18:29:29-07:00"}],"HeadCommit":{"Sha1":"0a9ca6505150a0eaa81de69fec53b2b9350cfcbe","Message":"docs: record verified main sync and preserved concurrent workspace\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T18:29:29-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/0746a1b10d72f6847a59544afe22685b2ab9a0dc...0a9ca6505150a0eaa81de69fec53b2b9350cfcbe","Len":1}...
|
1791077373
|
Edit
Delete
|
|
34928
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"cf6aff701 {"Commits":[{"Sha1":"cf6aff7010515877acb32311e7ca99f8cd243d0b","Message":"feat: settle consumer bookings with wallet and meter AI usage\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T18:46:25-07:00"}],"HeadCommit":{"Sha1":"cf6aff7010515877acb32311e7ca99f8cd243d0b","Message":"feat: settle consumer bookings with wallet and meter AI usage\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T18:46:25-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/0a9ca6505150a0eaa81de69fec53b2b9350cfcbe...cf6aff7010515877acb32311e7ca99f8cd243d0b","Len":1}...
|
1791078394
|
Edit
Delete
|
|
34931
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"55dfcf807 {"Commits":[{"Sha1":"55dfcf8071943ca22e462fcd79a103681f9c9090","Message":"docs: record checkout and usage local verification\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T18:52:11-07:00"}],"HeadCommit":{"Sha1":"55dfcf8071943ca22e462fcd79a103681f9c9090","Message":"docs: record checkout and usage local verification\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T18:52:11-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/cf6aff7010515877acb32311e7ca99f8cd243d0b...55dfcf8071943ca22e462fcd79a103681f9c9090","Len":1}...
|
1791078823
|
Edit
Delete
|
|
34932
|
5
|
5
|
5
|
121
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"833eba10c {"Commits":[{"Sha1":"833eba10ce54e30eeccd95ab7ff20f26fb729b7e","Message":"K4.6b: merge the two official API schema gates into one\n\nThe 0.220.0 standard gate and the 0.221.0 check:api-spec gate validated the same\ntwo generated documents twice. scripts/lib/api-standard-validation.js is now the\nonly implementation and enforces the union of both rule sets; check:model runs it\nonce through check-api-contracts, and check:api-spec is an alias of that script.\n\nVendored official schemas live only in contracts/standards. Both OpenAPI 3.1\niterations stay (schema-base 2022-10-07 and document schema 2026-08-03) because\nneither is a superset of the other; the AsyncAPI without-$id variant is dropped\nas equivalent to the bundled 3.0.0 schema. contracts/meta, check-api-spec.js,\napi-spec-validation.js and its test file are removed; every negative mutation\nmoved into test/api-standard-validation.test.js.\n\nGenerated contracts, the generator and the compat baseline are unchanged.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T18:51:36-07:00"}],"HeadCommit":{"Sha1":"833eba10ce54e30eeccd95ab7ff20f26fb729b7e","Message":"K4.6b: merge the two official API schema gates into one\n\nThe 0.220.0 standard gate and the 0.221.0 check:api-spec gate validated the same\ntwo generated documents twice. scripts/lib/api-standard-validation.js is now the\nonly implementation and enforces the union of both rule sets; check:model runs it\nonce through check-api-contracts, and check:api-spec is an alias of that script.\n\nVendored official schemas live only in contracts/standards. Both OpenAPI 3.1\niterations stay (schema-base 2022-10-07 and document schema 2026-08-03) because\nneither is a superset of the other; the AsyncAPI without-$id variant is dropped\nas equivalent to the bundled 3.0.0 schema. contracts/meta, check-api-spec.js,\napi-spec-validation.js and its test file are removed; every negative mutation\nmoved into test/api-standard-validation.test.js.\n\nGenerated contracts, the generator and the compat baseline are unchanged.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T18:51:36-07:00"},"CompareURL":"luoanwu/seven-domain-five-dimension-unified-model/compare/3dd9e3a8bd71c81edcad0d033e82bb706c7a2b93...833eba10ce54e30eeccd95ab7ff20f26fb729b7e","Len":1}...
|
1791080416
|
Edit
Delete
|
|
34933
|
5
|
5
|
5
|
57
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"1c3e4847c {"Commits":[{"Sha1":"1c3e4847ca3bb202c877fa23726c3bd2a52cedcb","Message":"docs(governance): verify merged main and isolated acceptance cleanup\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T19:34:26-07:00"},{"Sha1":"de449d847e98522074b13e5efe6ca6a8edec84f3","Message":"test(governance): record current-source acceptance and dependency release blocker\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T19:32:22-07:00"},{"Sha1":"f5d276691bf9a1d7c47b4885fdb3e4f2edd3c4be","Message":"feat(material): implement frozen content delivery and media lifecycle governance\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T19:32:02-07:00"},{"Sha1":"5ecdab6e275e16242b996df8768d6dc5017d9d22","Message":"feat(governance): implement publication approval, video recovery and billing reconciliation\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T18:16:59-07:00"}],"HeadCommit":{"Sha1":"1c3e4847ca3bb202c877fa23726c3bd2a52cedcb","Message":"docs(governance): verify merged main and isolated acceptance cleanup\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T19:34:26-07:00"},"CompareURL":"luoanwu/image-generation/compare/4cadfe25a137afa7cb8681d66c07bba53dac99c2...1c3e4847ca3bb202c877fa23726c3bd2a52cedcb","Len":4}...
|
1791081298
|
Edit
Delete
|
|
34934
|
5
|
5
|
5
|
57
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"4c8742d8c {"Commits":[{"Sha1":"4c8742d8cc39c65c0c85f237a887f8ecb95c54a5","Message":"docs(governance): record verified dual-remote main synchronization\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T19:36:44-07:00"}],"HeadCommit":{"Sha1":"4c8742d8cc39c65c0c85f237a887f8ecb95c54a5","Message":"docs(governance): record verified dual-remote main synchronization\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T19:36:44-07:00"},"CompareURL":"luoanwu/image-generation/compare/1c3e4847ca3bb202c877fa23726c3bd2a52cedcb...4c8742d8cc39c65c0c85f237a887f8ecb95c54a5","Len":1}...
|
1791081407
|
Edit
Delete
|
|
34935
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"1d335e46a {"Commits":[{"Sha1":"1d335e46af39fab7287df8b066ebdb6441866ea8","Message":"feat: add consumer referral invites and enforce first-purchase rewards\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T19:47:57-07:00"}],"HeadCommit":{"Sha1":"1d335e46af39fab7287df8b066ebdb6441866ea8","Message":"feat: add consumer referral invites and enforce first-purchase rewards\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T19:47:57-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/55dfcf8071943ca22e462fcd79a103681f9c9090...1d335e46af39fab7287df8b066ebdb6441866ea8","Len":1}...
|
1791082092
|
Edit
Delete
|
|
34936
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"c8b1849d9 {"Commits":[{"Sha1":"c8b1849d97c16e01d0e54b6b5f0ba7d9c49670d2","Message":"docs: record referral regression and verified local deployment\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T20:02:13-07:00"}],"HeadCommit":{"Sha1":"c8b1849d97c16e01d0e54b6b5f0ba7d9c49670d2","Message":"docs: record referral regression and verified local deployment\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T20:02:13-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/1d335e46af39fab7287df8b066ebdb6441866ea8...c8b1849d97c16e01d0e54b6b5f0ba7d9c49670d2","Len":1}...
|
1791082950
|
Edit
Delete
|
|
34939
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"6bd4254c5 {"Commits":[{"Sha1":"6bd4254c53f9089a569f370eae1380f3d362e82b","Message":"test(fission): 裂变缺口用例轮次定为 R50(R41–R49 已被主线占用)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T18:31:19-07:00"},{"Sha1":"e9b2d8df01fc1e8488f2cdfb7b5654493313dba4","Message":"feat(fission): 裂变屏展示奖励券码与状态,过期口径改用后端 overdue\n\n配合上一个提交(后端裂变缺口修复)新增的响应字段:\n\n- 拼团卡片的获奖提示带券码;成员详情里获奖人一行给出免单券券码、状态\n (待核销 / 已核销 / 已过期 / 已作废)与有效期;储值赠金写「已入账」;\n 约定储值赠金却改发免单券的存量团在详情里说明原因\n- 转介绍台账已发奖的行给出奖励券券码、状态与有效期\n- 「已过截止时间」以后端回的 overdue 为准,离线样例没有该字段时仍按截止时间自算\n- 开团表单的储值赠金提示改成后端现在的规则(团长无钱包不能开团;\n 不指定团长时首位参团者须有钱包)\n- 离线样例带一张示例券演示展示效果;真实模式在加载中 / 请求失败时显示的\n fallback 不带券码,避免假券码出现在真实界面\n- e2e:开团到结算、手动发转介绍奖励两条补券码与状态断言(页面与接口一致),\n 店员用例补「券码对店员可见」\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T17:53:05-07:00"},{"Sha1":"3b699ca902cd2a352e8eaa5e052317a72939d45a","Message":"fix(fission): 奖励券码可查、截止时间生效、储值赠金团不再卡死、团价加上界\n\n裂变屏补界面时读后端代码确认的四处缺口,逐条先写真实库集成测试复现\n(test/r41-fission-gaps.test.ts,修复前 13 条里 12 条红),再修。\n\n1. 奖励券码无处可查:拼团详情 / 列表的成员带实发奖励 rewardKind 与\n rewardVoucher{code,status,validUntil,redeemedAt},转介绍台账行带 rewardVoucher。\n 券按 storeId 取(回指列没有外键,指向他店的券不回码);ACTIVE 但已过有效期按\n EXPIRED 派生,同 /bookings;不回 qrPayload。可见范围同 /bookings、/orders 的\n 券码口径:本店全部角色(含店员,核销台要按码核销)。\n2. 截止时间不生效:参团的占名额 CAS 加上 expiresAt 条件,过期 409、不占名额。\n 响应新增 overdue(招募中且已过截止时间,读时派生);不在读路径改状态,\n 也不加无人值守的自动过期,退回仍由人执行。\n3. 储值赠金团卡死在 SUCCESS:开团时团长无钱包 400;门店代开团里按规则会成为\n 获奖人的参团者无钱包 400 且不占名额。存量已满员的团结算时改发免单券并在\n 审计、通知里写明,不再次次回滚。获奖人规则定为:团长,无团长取最早参团者\n (参团时间升序、id 兜底),成员在结算事务内按此顺序读取。\n4. 团价无上限:groupPriceYuan 大于 0、上限 999999.99、最多 2 位小数,\n 极大值不再落成 500,多余小数不再被悄悄四舍五入。\n\nOpenAPI 说明同步;没有新增或删除接口。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T17:39:35-07:00"},{"Sha1":"46b426ed494e780e81a7d6d6245de985a1180bca","Message":"docs: 订正控制面接入说明的验收门槛第 3 条——不再写死「71 个 Prisma 模型」\n\n2026-10-03 当天 schema 由 71 增到 90 个模型(node scripts/docs-metrics.mjs @ c8b1849)。控制面要守的\n是「与 Entity Catalog 的精确重名集合 = DEC-030 登记的 7 个」,不是模型总数;新增 19 个模型没有新的精确重名。\n只改 docs/platform-onboarding.md 这一条;带日期的历史快照与基准文档(产品说明书 v1.0、模块关系图谱\n2026-07-31 基准、真实实现治理记录)保留原读数不动。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T20:43:42-07:00"}],"HeadCommit":{"Sha1":"6bd4254c53f9089a569f370eae1380f3d362e82b","Message":"test(fission): 裂变缺口用例轮次定为 R50(R41–R49 已被主线占用)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T18:31:19-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/c8b1849d97c16e01d0e54b6b5f0ba7d9c49670d2...6bd4254c53f9089a569f370eae1380f3d362e82b","Len":4}...
|
1791085991
|
Edit
Delete
|
|
34940
|
5
|
5
|
5
|
57
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"fcf206990 {"Commits":[{"Sha1":"fcf2069901b8469ddeda090ed580fe0eb0c934aa","Message":"test(gates): 七项重型门禁与静态链在 1791ae9d 指纹下的报告与截图\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T20:57:13-07:00"},{"Sha1":"ccc857913711c456ea8bc7a39303bb48a46ea596","Message":"docs(governance): 门店侧发布门禁变基合入主干后的基线与七项重验记录\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T20:57:13-07:00"},{"Sha1":"1aece2b7b26cf40bb80e739890cf133848b3547b","Message":"docs(governance): ADR-0023 门店侧发布门禁以发布治理为唯一真源,同步归属矩阵、模块缺口与治理记录\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T19:32:28-07:00"},{"Sha1":"ff2d032ec8b571c0b7c3fe502932ba7ac7c7e66f","Message":"test(gates): 门店发布门禁三条防回潮规则\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T19:32:28-07:00"},{"Sha1":"d18d909cccc87b596057c32a549648ca595ce822","Message":"feat(web): 品牌模板页显示门店可用状态并指向版本发布页,模板制作页被拦时给出原因\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T19:32:28-07:00"}],"HeadCommit":{"Sha1":"fcf2069901b8469ddeda090ed580fe0eb0c934aa","Message":"test(gates): 七项重型门禁与静态链在 1791ae9d 指纹下的报告与截图\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T20:57:13-07:00"},"CompareURL":"luoanwu/image-generation/compare/4c8742d8cc39c65c0c85f237a887f8ecb95c54a5...fcf2069901b8469ddeda090ed580fe0eb0c934aa","Len":8}...
|
1791086300
|
Edit
Delete
|
|
34941
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"f5e0f5cd7 {"Commits":[{"Sha1":"f5e0f5cd7013ffb3bc7f30f173fa8aab7fbe59f0","Message":"fix(money): 元金额入参加上界与小数位,极大值 400 而不是 500\n\n多处 zod 入参收「元」但没有上界、没有小数位限制:极大值经 yuanToCents 转分后超出\nPostgres Int,写库抛错落成 500 INTERNAL;多于 2 位的小数则被悄悄四舍五入。\n先写真实库集成测试复现(test/r53-amount-bounds.test.ts,修复前 54 条里 39 条红,\n13 个字段的 1e12 全部 500),再修。\n\n- lib/money.ts 新增共用的 yuanAmountSchema:上界、最多 2 位小数(乘 100 后离最近\n 整数的距离判定,0.07 / 1.15 这类不被误拒)、可选必须为正;声明的上界自身转分\n 超出 Int 时直接抛错。\n- 单笔上界 999999.99:钱包充值 / 抵扣、工单补偿、差评补救、资源低消。\n- 汇总上界 9999999.99:投放预算与花费、单日营业额与投放。\n- 月度目标 targetWan 上界 2000(万元)。\n- 资源低消沿用原有的数字字符串兼容,同样受上界与小数位约束。\n- OpenAPI 请求体说明同步;PATCH /resources/{id}、PATCH /campaigns/{id} 补上请求体。\n- 前端:会员抵扣、经营截图补录两处自由输入的金额按同口径先校验(Caliber.yuanInputError),\n 不合法不发请求。\n\n差评补救 amountYuan 与月度目标 targetWan 不在最初清单里,同一条转分路径、同样 500,一并修。\n没有新增或删除接口。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T18:47:38-07:00"}],"HeadCommit":{"Sha1":"f5e0f5cd7013ffb3bc7f30f173fa8aab7fbe59f0","Message":"fix(money): 元金额入参加上界与小数位,极大值 400 而不是 500\n\n多处 zod 入参收「元」但没有上界、没有小数位限制:极大值经 yuanToCents 转分后超出\nPostgres Int,写库抛错落成 500 INTERNAL;多于 2 位的小数则被悄悄四舍五入。\n先写真实库集成测试复现(test/r53-amount-bounds.test.ts,修复前 54 条里 39 条红,\n13 个字段的 1e12 全部 500),再修。\n\n- lib/money.ts 新增共用的 yuanAmountSchema:上界、最多 2 位小数(乘 100 后离最近\n 整数的距离判定,0.07 / 1.15 这类不被误拒)、可选必须为正;声明的上界自身转分\n 超出 Int 时直接抛错。\n- 单笔上界 999999.99:钱包充值 / 抵扣、工单补偿、差评补救、资源低消。\n- 汇总上界 9999999.99:投放预算与花费、单日营业额与投放。\n- 月度目标 targetWan 上界 2000(万元)。\n- 资源低消沿用原有的数字字符串兼容,同样受上界与小数位约束。\n- OpenAPI 请求体说明同步;PATCH /resources/{id}、PATCH /campaigns/{id} 补上请求体。\n- 前端:会员抵扣、经营截图补录两处自由输入的金额按同口径先校验(Caliber.yuanInputError),\n 不合法不发请求。\n\n差评补救 amountYuan 与月度目标 targetWan 不在最初清单里,同一条转分路径、同样 500,一并修。\n没有新增或删除接口。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T18:47:38-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/6bd4254c53f9089a569f370eae1380f3d362e82b...f5e0f5cd7013ffb3bc7f30f173fa8aab7fbe59f0","Len":1}...
|
1791087416
|
Edit
Delete
|
|
34942
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"ffc82024e {"Commits":[{"Sha1":"ffc82024e26210dd956dd84dfb66b6a102026bf6","Message":"fix: require exact cents across merged amount inputs\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T21:34:48-07:00"},{"Sha1":"81a2787d7039b14f777fbe6cc21fc7c2fbf395e4","Message":"Merge remote-tracking branch 'origin/main'\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T21:26:20-07:00"},{"Sha1":"254dd57c81fd4898889329e637a82c8616d80eea","Message":"feat: enforce AI admissions and recover billing with proven fission rewards\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T21:26:20-07:00"}],"HeadCommit":{"Sha1":"ffc82024e26210dd956dd84dfb66b6a102026bf6","Message":"fix: require exact cents across merged amount inputs\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T21:34:48-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/f5e0f5cd7013ffb3bc7f30f173fa8aab7fbe59f0...ffc82024e26210dd956dd84dfb66b6a102026bf6","Len":3}...
|
1791088492
|
Edit
Delete
|
|
34943
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"2a4061e4c {"Commits":[{"Sha1":"2a4061e4c3ff9166f1b8d1bdd1a847749a5b7828","Message":"docs: record verified AI billing and fission local release\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T21:39:18-07:00"}],"HeadCommit":{"Sha1":"2a4061e4c3ff9166f1b8d1bdd1a847749a5b7828","Message":"docs: record verified AI billing and fission local release\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T21:39:18-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/ffc82024e26210dd956dd84dfb66b6a102026bf6...2a4061e4c3ff9166f1b8d1bdd1a847749a5b7828","Len":1}...
|
1791088761
|
Edit
Delete
|
|
34944
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"92a86b698 {"Commits":[{"Sha1":"92a86b698b2071089cbb4e272dea99863d4f162a","Message":"fix(honesty): 真实接口模式不再把样例当数据、把未做的动作说成已完成\n\n- 工作日历:后端无数据返回 0 / null / 空数组,去掉 9/6/11/4 项、完成率 76、\n 固定月度进度与示例议程;年视图目标进度改为当月 GMV ÷ 已设目标。前端真实\n 模式只认后端值,加载中或失败是空日历。\n- 复制:新增 copyText / useCopyFeedback,写入剪贴板成功才显示「已复制」。\n- 自动内容发布:只选出候选并登记,返回 selected / published:0 /\n externalPublished:false,通知改为「内容候选待你发布」。\n- 差评退款:通知与界面改为「已登记、待人工出款」,响应带 payout。\n- 卫生打卡:文字记录,photoUrl 可选且只收 http(s);迁移清空历史占位串。\n- 同城热点:响应带 hotspotsSource(seed-sample),界面标明内置样例。\n- 遗留组件 MediaPlanResult 去掉无接口的「已同步到智能投放」。\n\n验证(变基到 2a4061e 后):后端 91 文件 850 条、接口覆盖 251/253(基线 2\n未变);浏览器深度流程 + 本轮场景 32/32。变基前整套浏览器回归 226/226。\n记录见 docs/honest-state-governance-2026-10-03.md。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T22:16:55-07:00"}],"HeadCommit":{"Sha1":"92a86b698b2071089cbb4e272dea99863d4f162a","Message":"fix(honesty): 真实接口模式不再把样例当数据、把未做的动作说成已完成\n\n- 工作日历:后端无数据返回 0 / null / 空数组,去掉 9/6/11/4 项、完成率 76、\n 固定月度进度与示例议程;年视图目标进度改为当月 GMV ÷ 已设目标。前端真实\n 模式只认后端值,加载中或失败是空日历。\n- 复制:新增 copyText / useCopyFeedback,写入剪贴板成功才显示「已复制」。\n- 自动内容发布:只选出候选并登记,返回 selected / published:0 /\n externalPublished:false,通知改为「内容候选待你发布」。\n- 差评退款:通知与界面改为「已登记、待人工出款」,响应带 payout。\n- 卫生打卡:文字记录,photoUrl 可选且只收 http(s);迁移清空历史占位串。\n- 同城热点:响应带 hotspotsSource(seed-sample),界面标明内置样例。\n- 遗留组件 MediaPlanResult 去掉无接口的「已同步到智能投放」。\n\n验证(变基到 2a4061e 后):后端 91 文件 850 条、接口覆盖 251/253(基线 2\n未变);浏览器深度流程 + 本轮场景 32/32。变基前整套浏览器回归 226/226。\n记录见 docs/honest-state-governance-2026-10-03.md。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T22:16:55-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/2a4061e4c3ff9166f1b8d1bdd1a847749a5b7828...92a86b698b2071089cbb4e272dea99863d4f162a","Len":1}...
|
1791092429
|
Edit
Delete
|
|
34945
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"bc7a44f13 {"Commits":[{"Sha1":"bc7a44f1327b4955940074a6789cd7354d345a53","Message":"fix: enforce task, notification and fulfillment execution integrity\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-04T00:00:05-07:00"}],"HeadCommit":{"Sha1":"bc7a44f1327b4955940074a6789cd7354d345a53","Message":"fix: enforce task, notification and fulfillment execution integrity\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-04T00:00:05-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/92a86b698b2071089cbb4e272dea99863d4f162a...bc7a44f1327b4955940074a6789cd7354d345a53","Len":1}...
|
1791097228
|
Edit
Delete
|
|
34946
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"c403f2788 {"Commits":[{"Sha1":"c403f278853af537c83151736686e428a13ef35a","Message":"docs: record verified execution integrity local release\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-04T00:03:52-07:00"}],"HeadCommit":{"Sha1":"c403f278853af537c83151736686e428a13ef35a","Message":"docs: record verified execution integrity local release\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-04T00:03:52-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/bc7a44f1327b4955940074a6789cd7354d345a53...c403f278853af537c83151736686e428a13ef35a","Len":1}...
|
1791097459
|
Edit
Delete
|
|
34947
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"cc720a3ed {"Commits":[{"Sha1":"cc720a3ed232225461ea8651defce0f7de17a7e8","Message":"fix(honesty): 真实接口模式下各屏不再显示样例数字、不再有只报成功不调接口的按钮\n\n前端(离线演示模式保持原样):\n- 门店总览、桌面经营工作流、手机首页:只用后端数据;工作流「确认」真的创建任务。\n- 增长看板:头部数字、环比、趋势从每日经营数据算;没有接口的画像与洞察不渲染。\n- 增长闭环、目标设定、行动详情、今日简报、操作审计:去掉样例兜底与编造的依据;\n 目标保存到当前月份(原先写死 2026-06)。\n- 智能投放、核销订单、我的、门店连锁、数据中心、模板、跨店下发、调价等:\n 加载 / 失败 / 空三态;套餐与角色取真实身份;新建投放由用户填写。\n- 内容创作、评价、线索、任务、私域、合规、装修:没生成不显示结果;去掉「发布」\n 「生成成片」;评价回复标明未回写平台;线索跟进与邀约由操作人填写。\n- 已登录商家不再显示演示业态切换;权限页标明只读。\n\n后端:\n- 预算建议不再写「预计整体核销可 +18%」,迁移额与可迁移额一致;\n 应用预算不再返回「明日生效」。\n- 经营漏斗各环节达标时 weakest 为 null,前缀改为「规则诊断」。\n- 跨店下发依据「本月增量」改为「归因增量」。\n\n任务屏以执行完整性一轮(bc7a44f)的版本为准,本提交不改它。\n\n验证(变基到 bc7a44f 后):前端整链(含 5 个新回归脚本)通过;后端 97 文件\n909 条、接口覆盖 251/253;浏览器完整回归 244 通过 / 2 按设计跳过。\n记录见 docs/honest-state-governance-2026-10-03.md 第二批。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T23:54:59-07:00"}],"HeadCommit":{"Sha1":"cc720a3ed232225461ea8651defce0f7de17a7e8","Message":"fix(honesty): 真实接口模式下各屏不再显示样例数字、不再有只报成功不调接口的按钮\n\n前端(离线演示模式保持原样):\n- 门店总览、桌面经营工作流、手机首页:只用后端数据;工作流「确认」真的创建任务。\n- 增长看板:头部数字、环比、趋势从每日经营数据算;没有接口的画像与洞察不渲染。\n- 增长闭环、目标设定、行动详情、今日简报、操作审计:去掉样例兜底与编造的依据;\n 目标保存到当前月份(原先写死 2026-06)。\n- 智能投放、核销订单、我的、门店连锁、数据中心、模板、跨店下发、调价等:\n 加载 / 失败 / 空三态;套餐与角色取真实身份;新建投放由用户填写。\n- 内容创作、评价、线索、任务、私域、合规、装修:没生成不显示结果;去掉「发布」\n 「生成成片」;评价回复标明未回写平台;线索跟进与邀约由操作人填写。\n- 已登录商家不再显示演示业态切换;权限页标明只读。\n\n后端:\n- 预算建议不再写「预计整体核销可 +18%」,迁移额与可迁移额一致;\n 应用预算不再返回「明日生效」。\n- 经营漏斗各环节达标时 weakest 为 null,前缀改为「规则诊断」。\n- 跨店下发依据「本月增量」改为「归因增量」。\n\n任务屏以执行完整性一轮(bc7a44f)的版本为准,本提交不改它。\n\n验证(变基到 bc7a44f 后):前端整链(含 5 个新回归脚本)通过;后端 97 文件\n909 条、接口覆盖 251/253;浏览器完整回归 244 通过 / 2 按设计跳过。\n记录见 docs/honest-state-governance-2026-10-03.md 第二批。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-03T23:54:59-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/c403f278853af537c83151736686e428a13ef35a...cc720a3ed232225461ea8651defce0f7de17a7e8","Len":1}...
|
1791098629
|
Edit
Delete
|
|
34948
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"8dea76f88 {"Commits":[{"Sha1":"8dea76f88dbc1d25b9138740a700858621193fcf","Message":"feat(setup): 调价建议按规则生成、开店配置界面、参考数据非破坏性引导\n\n调价建议生成器(此前全仓没有任何代码创建 PricingSuggestion):\n- POST /pricing/suggestions/generate 按门店已开启的规则从本店数据生成:\n 竞品跟价(同价位带对标)、周末高峰、平峰折扣、节假日溢价;库存告急无数据来源不生成。\n- 规则建议不带销量 / 毛利预测(source=rule,verify / margin / conf 为 null);\n 数据不够不生成并在 skipped 里说明原因;同店并发只落一条,处理后 7 天内不重提。\n- 生成与采纳用同一套餐权益;同一套餐 24 小时内调价不超过 2 次由系统拦截,\n 其余护栏文案改为「需人工把关」。\n- 迁移 20261004072931:PricingSuggestion.source 列与取值约束。\n\n开店配置界面(真实接口模式;离线演示不变):\n- 产品定价:新建 / 编辑 / 下架套餐。\n- 门店资料:房台资源新增 / 编辑 / 设为维护 / 恢复可用;总部可改门店资料。\n- 门店连锁:总部新建门店,套餐不含连锁能力时显示后端原因。\n- 动态调价:按规则生成按钮,按来源标注建议。\n- 客户端把参数校验失败的具体字段带进提示。\n\n参考数据引导:\n- 节假日日历、内容模板、合规法规抽到 prisma/reference-data.ts,种子与引导共用。\n- npm run bootstrap:reference 只补缺、不删除、可重复、并发安全;\n 容器入口在迁移后默认执行。模板不再带编造的使用量;热点是样例,不进引导。\n\n验证:后端 99 文件 925 条、接口覆盖 252/254(基线 2 未变);前端整链通过;\n浏览器完整回归 256 通过 / 2 按设计跳过,含刚注册空商户的冷启动场景。\n规则见 docs/contracts/pricing-suggestion-rules.md,\n记录见 docs/setup-and-generators-governance-2026-10-04.md。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-04T01:23:02-07:00"}],"HeadCommit":{"Sha1":"8dea76f88dbc1d25b9138740a700858621193fcf","Message":"feat(setup): 调价建议按规则生成、开店配置界面、参考数据非破坏性引导\n\n调价建议生成器(此前全仓没有任何代码创建 PricingSuggestion):\n- POST /pricing/suggestions/generate 按门店已开启的规则从本店数据生成:\n 竞品跟价(同价位带对标)、周末高峰、平峰折扣、节假日溢价;库存告急无数据来源不生成。\n- 规则建议不带销量 / 毛利预测(source=rule,verify / margin / conf 为 null);\n 数据不够不生成并在 skipped 里说明原因;同店并发只落一条,处理后 7 天内不重提。\n- 生成与采纳用同一套餐权益;同一套餐 24 小时内调价不超过 2 次由系统拦截,\n 其余护栏文案改为「需人工把关」。\n- 迁移 20261004072931:PricingSuggestion.source 列与取值约束。\n\n开店配置界面(真实接口模式;离线演示不变):\n- 产品定价:新建 / 编辑 / 下架套餐。\n- 门店资料:房台资源新增 / 编辑 / 设为维护 / 恢复可用;总部可改门店资料。\n- 门店连锁:总部新建门店,套餐不含连锁能力时显示后端原因。\n- 动态调价:按规则生成按钮,按来源标注建议。\n- 客户端把参数校验失败的具体字段带进提示。\n\n参考数据引导:\n- 节假日日历、内容模板、合规法规抽到 prisma/reference-data.ts,种子与引导共用。\n- npm run bootstrap:reference 只补缺、不删除、可重复、并发安全;\n 容器入口在迁移后默认执行。模板不再带编造的使用量;热点是样例,不进引导。\n\n验证:后端 99 文件 925 条、接口覆盖 252/254(基线 2 未变);前端整链通过;\n浏览器完整回归 256 通过 / 2 按设计跳过,含刚注册空商户的冷启动场景。\n规则见 docs/contracts/pricing-suggestion-rules.md,\n记录见 docs/setup-and-generators-governance-2026-10-04.md。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-04T01:23:02-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/cc720a3ed232225461ea8651defce0f7de17a7e8...8dea76f88dbc1d25b9138740a700858621193fcf","Len":1}...
|
1791117721
|
Edit
Delete
|
|
34949
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"5cff46dfd {"Commits":[{"Sha1":"5cff46dfd5d7f08cd2767aa030e973b3cb2cebd5","Message":"fix(setup): 房台恢复可用按预约回到应有状态;下架的套餐可以重新上架\n\n房台从维护 / 锁定恢复:\n- 之前点「恢复可用」一律回到空闲。房台上还挂着预约时状态和预约对不上;\n 顾客已签到的房台被恢复成空闲后,这单无法再完成(空闲不能进入待清洁)。\n- 现在 POST /resources/:id/transition 的 to=FREE 表示「恢复可用」:\n 有人已签到或在用回到使用中,还有待确认 / 已预约的回到已预订,都没有才是空闲。\n 使用中的房台请求空闲照旧 400。与预约创建 / 签到共用房台行锁。\n- 房台列表和详情带 activeBookings(未结束的预约数)。\n- 设为维护或锁定时房台上还有未结束的预约,生成一条指向预约履约的通知。\n- 门店资料:房台行显示未结束的预约数;设为维护前的确认写明受影响的预约数;\n 恢复后的提示按实际状态说。\n\n下架的套餐重新上架:\n- GET /skus?includeInactive=true 连已下架的一起返回(每行带 active),\n 仅店长和总部可用,店员 403,参数不是 true / false 返回 400;默认仍只返回在售。\n- 产品定价页对店长和总部多一节「已下架套餐」,可重新上架。\n\n没有做:维护不会自动改约或取消预约;历史上被错误恢复成空闲的房台不会自动订正。\n\n验证:后端 99 文件 929 条、接口覆盖 252/254(基线 2 未变);前端整链、lint、构建通过;\n浏览器完整回归 258 通过 / 2 按设计跳过。过程中两次与本批无关的失败\n(休眠唤醒后的时钟余量、两套测试并行抢 CPU)已在记录里照实写明,重跑均通过。\n记录见 docs/setup-and-generators-governance-2026-10-04.md。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-04T10:50:38-07:00"}],"HeadCommit":{"Sha1":"5cff46dfd5d7f08cd2767aa030e973b3cb2cebd5","Message":"fix(setup): 房台恢复可用按预约回到应有状态;下架的套餐可以重新上架\n\n房台从维护 / 锁定恢复:\n- 之前点「恢复可用」一律回到空闲。房台上还挂着预约时状态和预约对不上;\n 顾客已签到的房台被恢复成空闲后,这单无法再完成(空闲不能进入待清洁)。\n- 现在 POST /resources/:id/transition 的 to=FREE 表示「恢复可用」:\n 有人已签到或在用回到使用中,还有待确认 / 已预约的回到已预订,都没有才是空闲。\n 使用中的房台请求空闲照旧 400。与预约创建 / 签到共用房台行锁。\n- 房台列表和详情带 activeBookings(未结束的预约数)。\n- 设为维护或锁定时房台上还有未结束的预约,生成一条指向预约履约的通知。\n- 门店资料:房台行显示未结束的预约数;设为维护前的确认写明受影响的预约数;\n 恢复后的提示按实际状态说。\n\n下架的套餐重新上架:\n- GET /skus?includeInactive=true 连已下架的一起返回(每行带 active),\n 仅店长和总部可用,店员 403,参数不是 true / false 返回 400;默认仍只返回在售。\n- 产品定价页对店长和总部多一节「已下架套餐」,可重新上架。\n\n没有做:维护不会自动改约或取消预约;历史上被错误恢复成空闲的房台不会自动订正。\n\n验证:后端 99 文件 929 条、接口覆盖 252/254(基线 2 未变);前端整链、lint、构建通过;\n浏览器完整回归 258 通过 / 2 按设计跳过。过程中两次与本批无关的失败\n(休眠唤醒后的时钟余量、两套测试并行抢 CPU)已在记录里照实写明,重跑均通过。\n记录见 docs/setup-and-generators-governance-2026-10-04.md。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-04T10:50:38-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/8dea76f88dbc1d25b9138740a700858621193fcf...5cff46dfd5d7f08cd2767aa030e973b3cb2cebd5","Len":1}...
|
1791160347
|
Edit
Delete
|
|
34950
|
5
|
5
|
5
|
51
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"80ef8d68e {"Commits":[{"Sha1":"80ef8d68e96afb51f1b6b62cc34883f0d7712b06","Message":"fix(setup): 选填字段可以清空;套餐主数据只由总部维护\n\n选填字段清空:\n- 之前套餐的单场时长、房台的容纳人数和最低消费填过就清不掉(界面直接报\n 「接口不支持清空」),文字类选填项清空后在库里留空字符串。\n- PATCH /skus/:id 的 durationText / sessionMinutes / rule / goal / margin,\n PATCH /resources/:id 的 floor / zone / capacity / minChargeYuan 接受 null 表示清空。\n- 文字类选填项传空字符串或全空白,新建和修改都存成 null。\n- 房台数字类选填项传空字符串:新建按没填、修改按清空。之前空字符串会被数字转换\n 当成 0,最低消费悄悄变成 0 元。\n- 必填项不接受 null,照旧 400。\n- 界面:编辑表单把清空的选填项按 null 提交;清空单场时长前提示后果\n (顾客端不能在线预约、新建预约不再按时长排期)。\n\n套餐只由总部维护(权限收回):\n- 之前店长可以新建 / 修改 / 下架 / 重新上架套餐。套餐是全商户共用的主数据,\n 连锁商户里一个门店的店长改了,其他门店一起变。\n- POST / PATCH / DELETE /skus 与 GET /skus?includeInactive=true 只给老板和总部运营;\n 店长、店员 403,仍可读在售套餐。与产品设计里店长「仅本店」的范围、\n 以及门店资料修改和新建门店已是总部专属的做法一致。\n- 店长在产品定价页只读,页面说明由谁维护;采纳调价建议改本店价不受影响。\n- 单店商户的店长同样不能再改套餐,没有开例外;没有做「手动设本店价」的入口。\n\n接口文档:请求体写法支持「类型|null」,生成 nullable。\n\n验证:后端 99 文件 931 条、接口覆盖 252/254(基线 2 未变);前端整链、lint、构建通过;\n浏览器完整回归 262 通过 / 2 按设计跳过 / 0 失败(两套先后单独运行)。\n记录见 docs/setup-and-generators-governance-2026-10-04.md。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-04T18:13:15-07:00"}],"HeadCommit":{"Sha1":"80ef8d68e96afb51f1b6b62cc34883f0d7712b06","Message":"fix(setup): 选填字段可以清空;套餐主数据只由总部维护\n\n选填字段清空:\n- 之前套餐的单场时长、房台的容纳人数和最低消费填过就清不掉(界面直接报\n 「接口不支持清空」),文字类选填项清空后在库里留空字符串。\n- PATCH /skus/:id 的 durationText / sessionMinutes / rule / goal / margin,\n PATCH /resources/:id 的 floor / zone / capacity / minChargeYuan 接受 null 表示清空。\n- 文字类选填项传空字符串或全空白,新建和修改都存成 null。\n- 房台数字类选填项传空字符串:新建按没填、修改按清空。之前空字符串会被数字转换\n 当成 0,最低消费悄悄变成 0 元。\n- 必填项不接受 null,照旧 400。\n- 界面:编辑表单把清空的选填项按 null 提交;清空单场时长前提示后果\n (顾客端不能在线预约、新建预约不再按时长排期)。\n\n套餐只由总部维护(权限收回):\n- 之前店长可以新建 / 修改 / 下架 / 重新上架套餐。套餐是全商户共用的主数据,\n 连锁商户里一个门店的店长改了,其他门店一起变。\n- POST / PATCH / DELETE /skus 与 GET /skus?includeInactive=true 只给老板和总部运营;\n 店长、店员 403,仍可读在售套餐。与产品设计里店长「仅本店」的范围、\n 以及门店资料修改和新建门店已是总部专属的做法一致。\n- 店长在产品定价页只读,页面说明由谁维护;采纳调价建议改本店价不受影响。\n- 单店商户的店长同样不能再改套餐,没有开例外;没有做「手动设本店价」的入口。\n\n接口文档:请求体写法支持「类型|null」,生成 nullable。\n\n验证:后端 99 文件 931 条、接口覆盖 252/254(基线 2 未变);前端整链、lint、构建通过;\n浏览器完整回归 262 通过 / 2 按设计跳过 / 0 失败(两套先后单独运行)。\n记录见 docs/setup-and-generators-governance-2026-10-04.md。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-04T18:13:15-07:00"},"CompareURL":"luoanwu/yggdrasil-local-life-tools/compare/5cff46dfd5d7f08cd2767aa030e973b3cb2cebd5...80ef8d68e96afb51f1b6b62cc34883f0d7712b06","Len":1}...
|
1791163359
|
Edit
Delete
|
|
34951
|
5
|
5
|
5
|
57
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"4b6378cb8 {"Commits":[{"Sha1":"4b6378cb80cd602a26e25a066b9c302d50b981df","Message":"docs(deploy): record restored service and release boundaries\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-04T19:38:58-07:00"},{"Sha1":"0a94c617db70819c160119ef7b7902678ef3ce3a","Message":"test(gates): freeze seven passed gates and blocked release audit\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-04T19:38:58-07:00"},{"Sha1":"eddd9b0c438ad4ab553f51d5b2179f037f05c537","Message":"test(ui): refresh browser evidence for redeploy candidate\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-04T19:38:09-07:00"},{"Sha1":"8ee52f803993bbbeeca2a6ac0d44a6ebe67eb342","Message":"fix(release): pin reviewed schema bytes for each backend\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-04T19:31:16-07:00"}],"HeadCommit":{"Sha1":"4b6378cb80cd602a26e25a066b9c302d50b981df","Message":"docs(deploy): record restored service and release boundaries\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-04T19:38:58-07:00"},"CompareURL":"luoanwu/image-generation/compare/fcf2069901b8469ddeda090ed580fe0eb0c934aa...4b6378cb80cd602a26e25a066b9c302d50b981df","Len":4}...
|
1791168072
|
Edit
Delete
|
|
34952
|
5
|
5
|
5
|
57
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"0430e7e07 {"Commits":[{"Sha1":"0430e7e07522a0283fb6baf65978368cb42d246d","Message":"docs(deploy): verify main sync and final service cleanup\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-04T19:42:18-07:00"}],"HeadCommit":{"Sha1":"0430e7e07522a0283fb6baf65978368cb42d246d","Message":"docs(deploy): verify main sync and final service cleanup\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-04T19:42:18-07:00"},"CompareURL":"luoanwu/image-generation/compare/4b6378cb80cd602a26e25a066b9c302d50b981df...0430e7e07522a0283fb6baf65978368cb42d246d","Len":1}...
|
1791168141
|
Edit
Delete
|