|
27544
|
5
|
5
|
5
|
54
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"7135258b7 {"Commits":[{"Sha1":"7135258b78d5b623099713b2bd3292af46b6329d","Message":"chore(reports): refresh clean static evidence @ 286eb95(14 项门禁 + kernel profile)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-02T18:59:16-07:00"},{"Sha1":"286eb956f5ee3634246ef80235af45a628635af9","Message":"chore(reports): 刷新三级证据至 1245400(clean;runtime 207 / UI 9 / 差分 8×2 零差异)+ 地板 testsPassed 203→207、uiTestsPassed 8→9\n\n动态区 runtime/UI 行回灌到 clean @ 1245400;own-test-cases 203。同日 aeed741 顶层 runtime 红 5 例\n已由 C22 修复并在 1245400 重跑转绿。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-02T18:59:08-07:00"},{"Sha1":"1245400747afade64c6cda83d362021e0b9d69c2","Message":"fix(realtime): Redis pub/sub 连接 ready 后才交付——修复非 0 逻辑库上订阅约 50% 建不起来(C22)\n\naeed741 的 clean-SHA 顶层 check:runtime 红 5 例(NestJS realtime.command/subscription\n`waitUntil timed out`),单独复跑 3 轮中 2 轮仍红,不是并行噪声。`DEBUG=ioredis:*` 抓到:\nSUB 连接裸建(lazyConnect:false)后立即被 EventBusService.onModuleInit `subscribe()`,\nioredis 立刻置订阅模式并把 subscribe 排进离线队列,握手期 `SELECT 9` / `INFO` 就绪检查被\n客户端以 \"Connection in subscriber mode\" 拒绝 → 判致命错误重连 → 订阅在窗口内从未建立。\n只有 REDIS_URL 带非 0 db 才发 SELECT,CI(db0)从不复现,本机验收切到 db9 后开始「偶发」。\nFastify plugins/redis.ts 同一形态(窗口更窄)。\n\n- 两后端 pub/sub 改 lazyConnect + 显式 await connect()(NestJS 异步 useFactory / Fastify\n Promise.all),ready 后才交付;启动期 Redis 不可达即拒绝启动;挂 error 监听进结构化日志\n- connectionName = api-\u003cbackend\u003e-realtime-\u003crole\u003e-\u003cpid\u003e,CLIENT LIST 可按角色定位\n- 两后端 http.acceptance 各 +1:CLIENT LIST 断言逻辑库 = REDIS_URL 且 SUB sub=1、status ready\n- 证据:修复后 realtime.command 定向 10/10 绿、0 条 ioredis 未处理错误;负向改回旧写法\n readiness 用例 5 轮中 2 轮红(expected 'reconnecting' to be 'ready')\n- G18 复跑判责纪律补:偶发红必须至少抓一次协议级失败现场\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-02T18:55:51-07:00"},{"Sha1":"aeed74154025d55fe8e9f481d473c153de92dd63","Message":"feat(users): 唯一键冲突映射为稳定 409 DUPLICATE_EMAIL + G21 多代理适配器同源门禁\n\nC21:`@@unique([tenantId,email])` 的 Prisma P2002 此前在 NestJS/Fastify 都没有映射,\n重复邮箱直接 500(修复前两后端新用例均 `expected 500 to be 409` 实锤);NestJS users 404\n还回显资源 id 与框架元数据,与 orders/Fastify 不同体。\n- contracts 新增 `USER_ERROR_CODES.DUPLICATE_EMAIL`(单源)\n- 两后端幂等窄捕获只认 P2002 → 409 `{ message, code }`;Fastify 伪造 P2025 裸 Error 改为\n 类型化 UserNotFoundError/DuplicateUserEmailError;NestJS users 404 改稳定体\n- 两后端 http.acceptance 各 +1 用例(POST/PATCH 409、outbox 无副作用、他租户同 email 201)\n- conformance 矩阵 +HTTP-CONFLICT-001(8→9)、差分 +DIFF-USER-CONFLICT-001(7→8,0 differences)\n- UI +1 用例:重复邮箱在真实页面显示稳定错误、列表不出现第二条\n\nG21:新增 `pnpm check:agent-adapters`(接入 pnpm check / Kernel profile / 棘轮 / 规则\nGOV-AGENT-ADAPTER-001,registryVersion 3→4):.claude/.agents 同名技能在 doctrine 名与\n画像路径替换之外逐字节比对,单侧技能须登记理由;补齐 business-module-intake Codex 侧副本,\n技能内对不存在技能的硬引用改为「有则调用、无则手工等价」。负向三条(改一行/删单侧/多文件)均红。\n\n基线收紧:ownTestCases 198→201、conformanceMatrixCases 8→9、新增 agentAdapter* 两项。\nruntime/UI 地板待 clean SHA 实跑后回灌。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-02T18:22:32-07:00"},{"Sha1":"269497f441cafaa4501126c4632b5f02ca513233","Message":"chore(reports): refresh clean static evidence\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-02T09:59:04-07:00"}],"HeadCommit":{"Sha1":"7135258b78d5b623099713b2bd3292af46b6329d","Message":"chore(reports): refresh clean static evidence @ 286eb95(14 项门禁 + kernel profile)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-02T18:59:16-07:00"},"CompareURL":"luoanwu/base-framework/compare/b1695a6780efbc95449a553d313599695c0b22ab...7135258b78d5b623099713b2bd3292af46b6329d","Len":12}...
|
1788401211
|
Edit
Delete
|
|
27545
|
5
|
5
|
5
|
54
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"f17d34a46 {"Commits":[{"Sha1":"f17d34a463e70366161f4603e53a4b2800e9a241","Message":"fix(gate): G15-B 独占探针真关闭 + 父子探针互认——首个含 G15-B 的远端 run 红在差分 preflight(C23)\n\n推送 7135258 后 GitHub run 33706371355:Static governance 绿,Runtime and UI acceptance 在\ncheck:runtime 第 4 步 conformance-differential 红:「验收 Redis 逻辑库 0 已有 1 个外部连接:\n172.18.0.1:53838 cmd=client|list」。那条连接是顶层 runner 自己几秒前的独占探针:redisExec 收完\n回复只 socket.end() 半关闭,GitHub 的 Redis service 经 docker 网桥暴露,服务端连接残留,子门禁\n把它当成外部占用。本机探针不 SELECT 始终落 db0、验收用 db9,所以三级全绿也撞不上。\n\n- redisExec:队尾追加 QUIT,收到回复后 destroy();服务端先关也按成功收口\n- 探针 CLIENT SETNAME governance-acceptance-probe-\u003cpid\u003e,foreignClientsOnDb 按前缀排除,\n 父 runner 与派生子门禁各探一次时互认(名字不带项目名,派生仓零改动沿用)\n- 本机 db10 五项正/负向:无名残留连接仍被拒、具名探针被忽略、探针返回后 CLIENT LIST 不再列出自身、\n 解析器只保留真 worker;本机 check:runtime 冒烟 207 tests 通过\n- doctrine:发布状态快照更新为两远端 7135258、G14 登记第四条只有远端才看得见的缺陷、ci-gate 行、C23 索引\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-02T19:17:03-07:00"}],"HeadCommit":{"Sha1":"f17d34a463e70366161f4603e53a4b2800e9a241","Message":"fix(gate): G15-B 独占探针真关闭 + 父子探针互认——首个含 G15-B 的远端 run 红在差分 preflight(C23)\n\n推送 7135258 后 GitHub run 33706371355:Static governance 绿,Runtime and UI acceptance 在\ncheck:runtime 第 4 步 conformance-differential 红:「验收 Redis 逻辑库 0 已有 1 个外部连接:\n172.18.0.1:53838 cmd=client|list」。那条连接是顶层 runner 自己几秒前的独占探针:redisExec 收完\n回复只 socket.end() 半关闭,GitHub 的 Redis service 经 docker 网桥暴露,服务端连接残留,子门禁\n把它当成外部占用。本机探针不 SELECT 始终落 db0、验收用 db9,所以三级全绿也撞不上。\n\n- redisExec:队尾追加 QUIT,收到回复后 destroy();服务端先关也按成功收口\n- 探针 CLIENT SETNAME governance-acceptance-probe-\u003cpid\u003e,foreignClientsOnDb 按前缀排除,\n 父 runner 与派生子门禁各探一次时互认(名字不带项目名,派生仓零改动沿用)\n- 本机 db10 五项正/负向:无名残留连接仍被拒、具名探针被忽略、探针返回后 CLIENT LIST 不再列出自身、\n 解析器只保留真 worker;本机 check:runtime 冒烟 207 tests 通过\n- doctrine:发布状态快照更新为两远端 7135258、G14 登记第四条只有远端才看得见的缺陷、ci-gate 行、C23 索引\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-02T19:17:03-07:00"},"CompareURL":"luoanwu/base-framework/compare/7135258b78d5b623099713b2bd3292af46b6329d...f17d34a463e70366161f4603e53a4b2800e9a241","Len":1}...
|
1788401827
|
Edit
Delete
|
|
27546
|
5
|
5
|
5
|
54
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"06b8b98f4 {"Commits":[{"Sha1":"06b8b98f483723103dcd01449e6ec6772ad10c13","Message":"docs(governance): 回灌远端绿盘——f17d34a 的 GitHub run 33707057068 三 job 全绿,两远端对齐\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-02T19:23:08-07:00"}],"HeadCommit":{"Sha1":"06b8b98f483723103dcd01449e6ec6772ad10c13","Message":"docs(governance): 回灌远端绿盘——f17d34a 的 GitHub run 33707057068 三 job 全绿,两远端对齐\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-02T19:23:08-07:00"},"CompareURL":"luoanwu/base-framework/compare/f17d34a463e70366161f4603e53a4b2800e9a241...06b8b98f483723103dcd01449e6ec6772ad10c13","Len":1}...
|
1788402192
|
Edit
Delete
|
|
28834
|
5
|
5
|
5
|
54
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"b4e9d5a3b {"Commits":[{"Sha1":"b4e9d5a3b65afe4e08327bae6da99029b2faeffd","Message":"chore(reports): refresh clean static evidence @ ad327f9(含版本轴断言)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T18:15:03-07:00"},{"Sha1":"ad327f9ff09953f9ecb81f28337ee9db41d78b59","Message":"feat(governance): 建立框架版本轴 + 收口治理文档漂移(G25 / C26,登记 G26)\n\n- 版本轴:CHANGELOG.md、package.json 0.1.0→0.2.0、v0.1.0 补打在 06b8b98、\n migration:plan / migration:record 记录两侧 frameworkVersion(凭证 schemaVersion 不变)\n- check:docs-truth 新增 changelog-exists / changelog-has-released-version /\n changelog-version-matches-package 三条断言;负向(package.json 改 0.3.0、删 CHANGELOG)均 exit 1\n- C26:PR 模板路由检查项改为实际口径 /api/{resources};发布状态快照按 2026-09-09\n ls-remote 重写(两远端停在 06b8b98,本地领先未推送)\n- 登记 G26:框架经 products/juhai.baseframework peerDeps 与两道 os-product 门禁反向绑定基座(OPEN)\n- G20 写明 GOV-PRODUCTION-OPS-001 的两份报告没有生产者脚本\n\n静态 pnpm check 全绿;未跑 runtime/UI,不改变 4f48008 的三级证据。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T18:13:46-07:00"},{"Sha1":"21872c1102354c492497f7e3cec736bdcc803dfe","Message":"chore(reports): refresh final static evidence\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-04T19:15:26-07:00"},{"Sha1":"76452e45a7f719f2d0cb48c2d49632eb73086f8c","Message":"docs: record clean commit acceptance\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-04T19:14:33-07:00"},{"Sha1":"4f480084b5276205dadb17c87f5ef91a2510f990","Message":"fix: enforce stored order amount bounds and serialize generation\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-04T19:11:15-07:00"}],"HeadCommit":{"Sha1":"b4e9d5a3b65afe4e08327bae6da99029b2faeffd","Message":"chore(reports): refresh clean static evidence @ ad327f9(含版本轴断言)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T18:15:03-07:00"},"CompareURL":"luoanwu/base-framework/compare/06b8b98f483723103dcd01449e6ec6772ad10c13...b4e9d5a3b65afe4e08327bae6da99029b2faeffd","Len":5}...
|
1789003213
|
Edit
Delete
|
|
28835
|
5
|
9
|
5
|
54
|
0
|
0
|
refs/tags/v0.1.0
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"06b8b98f483723103dcd01449e6ec6772ad10c13","Message":"docs(governance): 回灌远端绿盘——f17d34a 的 GitHub run 33707057068 三 job 全绿,两远端对齐\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-02T19:23:08-07:00"},"CompareURL":"luoanwu/base-framework/compare/0000000000000000000000000000000000000000...bbc16b5c5f9610df1b16192c8f393e23b371a007","Len":0}...
|
1789003213
|
Edit
Delete
|
|
28836
|
5
|
9
|
5
|
54
|
0
|
0
|
refs/tags/v0.2.0
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"ad327f9ff09953f9ecb81f28337ee9db41d78b59","Message":"feat(governance): 建立框架版本轴 + 收口治理文档漂移(G25 / C26,登记 G26)\n\n- 版本轴:CHANGELOG.md、package.json 0.1.0→0.2.0、v0.1.0 补打在 06b8b98、\n migration:plan / migration:record 记录两侧 frameworkVersion(凭证 schemaVersion 不变)\n- check:docs-truth 新增 changelog-exists / changelog-has-released-version /\n changelog-version-matches-package 三条断言;负向(package.json 改 0.3.0、删 CHANGELOG)均 exit 1\n- C26:PR 模板路由检查项改为实际口径 /api/{resources};发布状态快照按 2026-09-09\n ls-remote 重写(两远端停在 06b8b98,本地领先未推送)\n- 登记 G26:框架经 products/juhai.baseframework peerDeps 与两道 os-product 门禁反向绑定基座(OPEN)\n- G20 写明 GOV-PRODUCTION-OPS-001 的两份报告没有生产者脚本\n\n静态 pnpm check 全绿;未跑 runtime/UI,不改变 4f48008 的三级证据。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T18:13:46-07:00"},"CompareURL":"luoanwu/base-framework/compare/0000000000000000000000000000000000000000...e0a7caf3154f253fd72e03eed17207315d4367be","Len":0}...
|
1789003213
|
Edit
Delete
|
|
28875
|
5
|
5
|
5
|
54
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"c41f1f57a {"Commits":[{"Sha1":"c41f1f57a34aa672910f188c2b2f09eef2ab1bda","Message":"chore(reports): refresh clean static evidence @ b48ecd2\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T19:04:03-07:00"},{"Sha1":"b48ecd2dcdf223d7ad8f61dc0639beca51356c19","Message":"docs: record clean commit acceptance @ 3e061f2(runtime 225 / 差分 9×2 零差异 / UI 10;地板 testsPassed 213→225、ownTestCases 210→222、ownTests 29→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-09-09T19:03:41-07:00"},{"Sha1":"3e061f2335a08a218ca6ba090978450ed11ed865","Message":"feat(seams): 平台接缝第一批——请求上下文 + fail-closed 平台端口 + 契约包可依赖形态(G28 关闭,登记 G29)\n\n- contracts 内核新增 request-context.ts(I9-A 六字段、受限 x-request-id、W3C traceparent、APP_ID 生产必填)\n 与 platform-ports.ts(权限/审计/事实出口/服务凭据端口 + createFailClosedPlatformPorts;权限永拒不抛,其余未配置即抛)\n- 两后端 AsyncLocalStorage 接线:x-request-id 回显 / x-trace-id / 鉴权后 enrich / pino mixin 六字段;\n Fastify genReqId 单源于 contracts,NestJS 由 create-app 装配中间件\n- 矩阵 +HTTP-REQUEST-CONTEXT-001/002(matrixVersion 3)、差分 +DIFF-REQUEST-CONTEXT-001(其余 checkpoint 抹平 headers)\n- check:fork-readiness F11:契约包 version = 框架版本、files=[\"dist\"]、kernel/sample 子路径、sideEffects:false(负向 exit 1)\n- package.json 0.4.0;@repo/contracts 0.0.0→0.4.0;新增 pnpm framework:pack(dist-artifacts/*.tgz,gitignore)\n- contracts 99/99、typecheck/lint/静态 pnpm check 全绿;ownTestCases 210→222、ownTests 29→31(地板随 runtime 结果收紧)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T19:00:14-07:00"},{"Sha1":"e3c44104a4bbc5e5535f23e09be2fbd2690ed692","Message":"docs(governance): 发布快照按 2026-09-09 晚 ls-remote 更新——两远端已到 b4e9d5a(v0.2.0),v0.3.0 三提交未推送\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T18:33:19-07:00"},{"Sha1":"c555c089423fe8549c03a32fd8843f90dfb0fde1","Message":"chore(reports): refresh clean static evidence @ 927100a\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T18:32:17-07:00"}],"HeadCommit":{"Sha1":"c41f1f57a34aa672910f188c2b2f09eef2ab1bda","Message":"chore(reports): refresh clean static evidence @ b48ecd2\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T19:04:03-07:00"},"CompareURL":"luoanwu/base-framework/compare/b4e9d5a3b65afe4e08327bae6da99029b2faeffd...c41f1f57a34aa672910f188c2b2f09eef2ab1bda","Len":7}...
|
1789006371
|
Edit
Delete
|
|
28876
|
5
|
9
|
5
|
54
|
0
|
0
|
refs/tags/v0.3.0
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"e54cf14a3304da99b2db34e0086a39eaa1f5ced4","Message":"feat(contracts): 内核 / 示例域分层 + F10 门禁;check 链与 OS 解耦(G27 关闭,G26 门禁侧解耦)\n\n- @repo/contracts 新增 kernel.ts / sample.ts 两个 barrel 与 ./kernel、./sample 子路径导出;\n ApiErrorBody / AUTH_ERROR_CODES / HealthResponse 移入 api-error.ts / health.ts(导出名不变)\n- realtime.ts:KERNEL_REALTIME_EVENT_TYPES + defineRealtimeEventTypes();order.ts / user.ts 各自声明域事件类型;\n REALTIME_EVENT_TYPES 全集在 index.ts 组合(集合不变 11 项);makeEnvelope(type: string)\n- subscription.ts resourceIdOf 去掉 orderId / userId 枚举:取 data.id,否则首个以 Id 结尾的字符串键\n- check:fork-readiness F10:内核不得 import 示例域 / 不得内嵌域事件字面量 / index 只组合两个 barrel;\n 三条负向均 exit 1\n- package.json 0.3.0;删除 check:full,新增 check:os(OS 两级验收独立入口)\n- contracts 新增 3 个分层回归用例(91/91);typecheck / lint / 静态 pnpm 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-09-09T18:28:43-07:00"},"CompareURL":"luoanwu/base-framework/compare/0000000000000000000000000000000000000000...eb5dc275a5be05940878bd0558dd175e6cdb439a","Len":0}...
|
1789006371
|
Edit
Delete
|
|
28877
|
5
|
9
|
5
|
54
|
0
|
0
|
refs/tags/v0.4.0
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"3e061f2335a08a218ca6ba090978450ed11ed865","Message":"feat(seams): 平台接缝第一批——请求上下文 + fail-closed 平台端口 + 契约包可依赖形态(G28 关闭,登记 G29)\n\n- contracts 内核新增 request-context.ts(I9-A 六字段、受限 x-request-id、W3C traceparent、APP_ID 生产必填)\n 与 platform-ports.ts(权限/审计/事实出口/服务凭据端口 + createFailClosedPlatformPorts;权限永拒不抛,其余未配置即抛)\n- 两后端 AsyncLocalStorage 接线:x-request-id 回显 / x-trace-id / 鉴权后 enrich / pino mixin 六字段;\n Fastify genReqId 单源于 contracts,NestJS 由 create-app 装配中间件\n- 矩阵 +HTTP-REQUEST-CONTEXT-001/002(matrixVersion 3)、差分 +DIFF-REQUEST-CONTEXT-001(其余 checkpoint 抹平 headers)\n- check:fork-readiness F11:契约包 version = 框架版本、files=[\"dist\"]、kernel/sample 子路径、sideEffects:false(负向 exit 1)\n- package.json 0.4.0;@repo/contracts 0.0.0→0.4.0;新增 pnpm framework:pack(dist-artifacts/*.tgz,gitignore)\n- contracts 99/99、typecheck/lint/静态 pnpm check 全绿;ownTestCases 210→222、ownTests 29→31(地板随 runtime 结果收紧)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T19:00:14-07:00"},"CompareURL":"luoanwu/base-framework/compare/0000000000000000000000000000000000000000...bd055b25f760754089b736217ee75c1e57f1f9d8","Len":0}...
|
1789006372
|
Edit
Delete
|
|
28878
|
5
|
5
|
5
|
54
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"f5b6f69ce {"Commits":[{"Sha1":"f5b6f69ce1f8d3e92e5decf64aef434d235ce4de","Message":"docs(governance): 发布快照按 2026-09-10 ls-remote 更新——两远端已到 c41f1f5(v0.4.0,标签 v0.1.0—v0.4.0 已推),v0.5.0 未推送\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T19:27:16-07:00"},{"Sha1":"13d5c613451ac297f8ba94ba3810302b37630328","Message":"chore(reports): refresh clean static evidence @ d2797f1\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T19:26:09-07:00"},{"Sha1":"d2797f1b1f19c364477013490e881968ddf56ba2","Message":"fix(tooling): migration:rollback 的 dirty 判定排除自身报告;bootstrap 回滚点只红在新鲜度断言时降为 finding;G30 经验回灌\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T19:25:52-07:00"},{"Sha1":"15e2fdeb762cc2dad616d41b372dcb83f2d12757","Message":"feat(tooling): scaffold 入仓 + 迁移回滚预检(FW-02 / FW-04)\n\n- pnpm scaffold:git archive 快照 → 删源仓运行证据 → 重绑定 package name 与 OS 产品身份(作用域替换)→ git init\n → frozen install → migration:record 签发凭证 → 可选 --acceptance(目标专属 DB/Redis 实跑 runtime/UI 并回灌 doctrine)\n → 迁移记录 → 静态 pnpm check\n- pnpm migration:rollback:读凭证 rollback.gitSha,隔离 worktree 验证可检出(--verify 加 install + check:kernel),\n 写预检报告并只打印方案,永不 reset 目标\n- migration:record 凭证新增 rollback 字段与 --rollback-to\n- 版本 0.5.0(root + contracts);SKILL / 迁移协议登记两条命令\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T19:19:19-07:00"}],"HeadCommit":{"Sha1":"f5b6f69ce1f8d3e92e5decf64aef434d235ce4de","Message":"docs(governance): 发布快照按 2026-09-10 ls-remote 更新——两远端已到 c41f1f5(v0.4.0,标签 v0.1.0—v0.4.0 已推),v0.5.0 未推送\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T19:27:16-07:00"},"CompareURL":"luoanwu/base-framework/compare/c41f1f57a34aa672910f188c2b2f09eef2ab1bda...f5b6f69ce1f8d3e92e5decf64aef434d235ce4de","Len":4}...
|
1789007763
|
Edit
Delete
|
|
28879
|
5
|
9
|
5
|
54
|
0
|
0
|
refs/tags/v0.5.0
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"d2797f1b1f19c364477013490e881968ddf56ba2","Message":"fix(tooling): migration:rollback 的 dirty 判定排除自身报告;bootstrap 回滚点只红在新鲜度断言时降为 finding;G30 经验回灌\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T19:25:52-07:00"},"CompareURL":"luoanwu/base-framework/compare/0000000000000000000000000000000000000000...838251be5715460031778974df3f21a53d7cab2b","Len":0}...
|
1789007763
|
Edit
Delete
|
|
28899
|
5
|
5
|
5
|
54
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"4a18e9104 {"Commits":[{"Sha1":"4a18e91045737eab943db36986074089b6c1923c","Message":"docs(governance): 发布快照按 2026-09-10 晚 ls-remote 更新——两远端已到 f5b6f69(v0.5.0),v0.6.0 三提交未推送\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T19:52:06-07:00"},{"Sha1":"73c9031e503fda71451cce750e18cbfbc910035c","Message":"chore(reports): refresh clean static evidence @ 7a9f675\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T19:49:53-07:00"},{"Sha1":"7a9f67596b2f9997cf46afb4ca113a3ce9c7a0a3","Message":"docs: record clean commit acceptance @ c1af469(runtime 231 / 差分 9×2 零差异 / UI 10;地板 testsPassed 225→231、ownTestCases 222→228;G29 第一半经验回灌)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T19:49:31-07:00"},{"Sha1":"c1af4695da80550a56a0bf4e6629f840c6f5978f","Message":"feat(context): 请求上下文贯通 Outbox → Redis → 消费者(I9-B)+ 平台端口束接入装配点(G29 第一半)\n\n- Outbox 新增可空 request_id / trace_id(两后端迁移 20260910090000_outbox_request_context);10 处写链同 tx 落入\n- RealtimeEnvelope 可选 context{requestId,traceId};dispatcher/重放从 outbox 行带出;schema 校验;README 与 docs-truth 断言同步\n- 队列载荷携带 context,两后端 worker restoreRequestContext 后处理\n- NestJS PlatformPortsModule(PLATFORM_PORTS) / Fastify app.platformPorts:默认 createFailClosedPlatformPorts\n- 矩阵 +HTTP-REQUEST-CONTEXT-003、PORTS-FAIL-CLOSED-001(matrixVersion 4);差分 DIFF-OUTBOX-001 含 request id 存在性\n- contracts 101/101、typecheck/lint/迁移/矩阵/静态 pnpm check 全绿;版本 0.6.0\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T19:45:56-07:00"}],"HeadCommit":{"Sha1":"4a18e91045737eab943db36986074089b6c1923c","Message":"docs(governance): 发布快照按 2026-09-10 晚 ls-remote 更新——两远端已到 f5b6f69(v0.5.0),v0.6.0 三提交未推送\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T19:52:06-07:00"},"CompareURL":"luoanwu/base-framework/compare/f5b6f69ce1f8d3e92e5decf64aef434d235ce4de...4a18e91045737eab943db36986074089b6c1923c","Len":4}...
|
1789010022
|
Edit
Delete
|
|
28900
|
5
|
9
|
5
|
54
|
0
|
0
|
refs/tags/v0.6.0
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"c1af4695da80550a56a0bf4e6629f840c6f5978f","Message":"feat(context): 请求上下文贯通 Outbox → Redis → 消费者(I9-B)+ 平台端口束接入装配点(G29 第一半)\n\n- Outbox 新增可空 request_id / trace_id(两后端迁移 20260910090000_outbox_request_context);10 处写链同 tx 落入\n- RealtimeEnvelope 可选 context{requestId,traceId};dispatcher/重放从 outbox 行带出;schema 校验;README 与 docs-truth 断言同步\n- 队列载荷携带 context,两后端 worker restoreRequestContext 后处理\n- NestJS PlatformPortsModule(PLATFORM_PORTS) / Fastify app.platformPorts:默认 createFailClosedPlatformPorts\n- 矩阵 +HTTP-REQUEST-CONTEXT-003、PORTS-FAIL-CLOSED-001(matrixVersion 4);差分 DIFF-OUTBOX-001 含 request id 存在性\n- contracts 101/101、typecheck/lint/迁移/矩阵/静态 pnpm check 全绿;版本 0.6.0\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T19:45:56-07:00"},"CompareURL":"luoanwu/base-framework/compare/0000000000000000000000000000000000000000...0783dab348684e810ca2183f3888fa30f2d7e2d8","Len":0}...
|
1789010022
|
Edit
Delete
|
|
28908
|
5
|
5
|
5
|
54
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"fb8ed6627 {"Commits":[{"Sha1":"fb8ed662710ed7d17ffe5f006c8da4ab611ecaba","Message":"chore(reports): refresh clean static evidence @ b8c8135\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T21:17:15-07:00"},{"Sha1":"b8c813531d1a08cb6a7237226926357d2b9a8aed","Message":"docs: record clean commit acceptance @ 55a27fd(registryVersion 5;runtime 238 / 差分 9×2 零差异 / UI 10)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T21:16:53-07:00"},{"Sha1":"55a27fdd836fc5c8aa393aa4831f18da6eccf8bb","Message":"feat(boundary): OS 产品扩展与两道 OS 门禁整体移出主仓——框架零依赖(G26 关闭)\n\n- 移出:products/juhai.baseframework、kernel.products.json、docs/os-product-extension.md、check-os-product-{compat,runtime}.mjs\n → 同级独立仓 base-framework-os-product(只依赖 OS 检出,不依赖本仓)\n- 删除 extension profile 与 GOV-EXTENSION-OS-001(registryVersion 4→5,schema 同步)、osProduct* 指标与地板、\n check:os-product / check:os-product:runtime / check:os / check:extension 入口、CI artifact 排除项、owner-matrix 两条 OS 对象行\n- scaffold 在源仓无 kernel.products.json 时跳过产品重绑定;迁移技能 SKILL/协议/模板改为\"若目标携带\"\n- 主仓 @repo/product-runtime / @repo/tool-runtime / @os/* 零命中;静态 pnpm check 全绿;版本 0.8.0\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T21:11:43-07:00"},{"Sha1":"386855e345bc76dd90f3e71da81e23897554c8f6","Message":"docs(governance): 发布快照按 2026-09-10 晚二 ls-remote 更新——两远端已到 4a18e91(v0.6.0),v0.7.0 四提交未推送\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T20:54:04-07:00"},{"Sha1":"83709a8e97293c65261b3138e337f4dbc47365bd","Message":"chore(reports): refresh clean static evidence @ e072bab\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T20:53:00-07:00"}],"HeadCommit":{"Sha1":"fb8ed662710ed7d17ffe5f006c8da4ab611ecaba","Message":"chore(reports): refresh clean static evidence @ b8c8135\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T21:17:15-07:00"},"CompareURL":"luoanwu/base-framework/compare/4a18e91045737eab943db36986074089b6c1923c...fb8ed662710ed7d17ffe5f006c8da4ab611ecaba","Len":8}...
|
1789016389
|
Edit
Delete
|
|
28909
|
5
|
9
|
5
|
54
|
0
|
0
|
refs/tags/v0.7.0
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"c710b36306840b237fd6fb93f3be39f59b1a36c4","Message":"fix(ports): NestJS permit() 把 PermissionDeniedError 映射为 403(此前在 try/catch 外冒泡成 500,矩阵负向用例抓出);G29 经验回灌\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T20:35:10-07:00"},"CompareURL":"luoanwu/base-framework/compare/0000000000000000000000000000000000000000...61d40d84fcc9a61ed9d6d487e8dea4544759402f","Len":0}...
|
1789016389
|
Edit
Delete
|
|
28910
|
5
|
9
|
5
|
54
|
0
|
0
|
refs/tags/v0.8.0
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"55a27fdd836fc5c8aa393aa4831f18da6eccf8bb","Message":"feat(boundary): OS 产品扩展与两道 OS 门禁整体移出主仓——框架零依赖(G26 关闭)\n\n- 移出:products/juhai.baseframework、kernel.products.json、docs/os-product-extension.md、check-os-product-{compat,runtime}.mjs\n → 同级独立仓 base-framework-os-product(只依赖 OS 检出,不依赖本仓)\n- 删除 extension profile 与 GOV-EXTENSION-OS-001(registryVersion 4→5,schema 同步)、osProduct* 指标与地板、\n check:os-product / check:os-product:runtime / check:os / check:extension 入口、CI artifact 排除项、owner-matrix 两条 OS 对象行\n- scaffold 在源仓无 kernel.products.json 时跳过产品重绑定;迁移技能 SKILL/协议/模板改为\"若目标携带\"\n- 主仓 @repo/product-runtime / @repo/tool-runtime / @os/* 零命中;静态 pnpm check 全绿;版本 0.8.0\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T21:11:43-07:00"},"CompareURL":"luoanwu/base-framework/compare/0000000000000000000000000000000000000000...11462f99f5f9d930c376b340b2d6aa4f2422b531","Len":0}...
|
1789016389
|
Edit
Delete
|
|
28928
|
5
|
5
|
5
|
54
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"9371e2946 {"Commits":[{"Sha1":"9371e2946b802b351f5641762b8b3ca4470c409a","Message":"chore(reports): refresh clean static evidence @ da7d7aa\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T23:37:22-07:00"},{"Sha1":"da7d7aa269bc5892264eeaaa24021f63862e80da","Message":"docs: record clean commit acceptance @ fa77b22(runtime 252 / 差分 9×2 零差异;地板 testsPassed 242→252)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T23:37:00-07:00"},{"Sha1":"fa77b22af701d7a40ce19ebf1d6c14614b3afd6b","Message":"fix(redis): REDIS_URL 的 rediss:// TLS 与 ACL 用户名透传给 BullMQ(C28,09-05 审查 P1)\n\n- 两后端 parseRedisConnection:username(URL 解码)、tls.servername(rediss://)、只认 redis/rediss 协议\n- NestJS app.module 改消费共享解析器并透传 username/tls(消灭内联第二份拆解)\n- check:dual-backend C28 绊网(负向 exit 1);两后端各 5 个 infra-url 纯函数单测\n- 版本 0.12.0;CHANGELOG / COMPATIBILITY / CLAUDE.md(真源地图、G18、C28)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T23:34:56-07:00"},{"Sha1":"031ab536fb42ffc743666a4851f6a833e7bd3600","Message":"chore(reports): refresh clean static evidence @ 0acc198\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T22:55:05-07:00"},{"Sha1":"0acc19849f733625c7afa3ff83a9b01399aa0459","Message":"docs: record clean commit acceptance @ 6c60640(runtime 242 / 差分 9×2 零差异;地板 testsPassed 238→242、ownTests 31→32、ownTestCases 235→239)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T22:54:43-07:00"}],"HeadCommit":{"Sha1":"9371e2946b802b351f5641762b8b3ca4470c409a","Message":"chore(reports): refresh clean static evidence @ da7d7aa\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T23:37:22-07:00"},"CompareURL":"luoanwu/base-framework/compare/fb8ed662710ed7d17ffe5f006c8da4ab611ecaba...9371e2946b802b351f5641762b8b3ca4470c409a","Len":12}...
|
1789026271
|
Edit
Delete
|
|
28929
|
5
|
9
|
5
|
54
|
0
|
0
|
refs/tags/v0.10.0
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"2df710d670c6be4c7e2d8d8a321b88bd4d24dc94","Message":"feat(release): 版本兼容矩阵 + 升级指南(FW-06)\n\n- COMPATIBILITY.md:运行基座矩阵、按版本派生仓必做动作(0.1.0→0.10.0 回填)、收据版本支持、0.x 弃用策略\n- check:docs-truth compat-* 断言:CHANGELOG 每个已发布版本有 ### [x.y.z] 升级小节;Node/pnpm/PG/Redis 与 package.json、CI 一致\n- migration:plan 报告 upgrade{from,to,versions[]}:目标凭证版本之后的动作累加并打印\n- 版本 0.10.0(root + contracts)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T22:42:00-07:00"},"CompareURL":"luoanwu/base-framework/compare/0000000000000000000000000000000000000000...bfa7cafcfa2cfbe8c68756ce2a276cc0631f494d","Len":0}...
|
1789026271
|
Edit
Delete
|
|
28930
|
5
|
9
|
5
|
54
|
0
|
0
|
refs/tags/v0.11.0
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"6c60640adc403fed09fba13e9f258dd19e031a1e","Message":"feat(outbox): 死信处置与告警入口 pnpm outbox:remediate(G16 部分闭环)\n\n- scripts/outbox-remediate.mjs:--status(有死信 exit 2)/ --list-dead / --inspect / --retry / --discard --reason;\n 写库需 --execute,默认 dry-run;与 dispatcher 阻断语义一致(retry 重置三列按 seq 重投;discard 标 dispatchedAt、保留 deadLetteredAt)\n- NestJS test/outbox.remediate.test.ts:真实 DB 4 用例(告警退出码、dry-run、retry 后重投、discard 后放行、拒绝非死信)\n- 版本 0.11.0;COMPATIBILITY / CHANGELOG / CLAUDE.md G16 更新\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T22:52:39-07:00"},"CompareURL":"luoanwu/base-framework/compare/0000000000000000000000000000000000000000...08358ed9bd2af9c934d8758e1d9af7e7e8f52dc6","Len":0}...
|
1789026271
|
Edit
Delete
|
|
28931
|
5
|
9
|
5
|
54
|
0
|
0
|
refs/tags/v0.12.0
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"fa77b22af701d7a40ce19ebf1d6c14614b3afd6b","Message":"fix(redis): REDIS_URL 的 rediss:// TLS 与 ACL 用户名透传给 BullMQ(C28,09-05 审查 P1)\n\n- 两后端 parseRedisConnection:username(URL 解码)、tls.servername(rediss://)、只认 redis/rediss 协议\n- NestJS app.module 改消费共享解析器并透传 username/tls(消灭内联第二份拆解)\n- check:dual-backend C28 绊网(负向 exit 1);两后端各 5 个 infra-url 纯函数单测\n- 版本 0.12.0;CHANGELOG / COMPATIBILITY / CLAUDE.md(真源地图、G18、C28)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T23:34:56-07:00"},"CompareURL":"luoanwu/base-framework/compare/0000000000000000000000000000000000000000...569fbabead2b43b2e014e559173029626b5f2014","Len":0}...
|
1789026271
|
Edit
Delete
|
|
28932
|
5
|
9
|
5
|
54
|
0
|
0
|
refs/tags/v0.9.0
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"eccb5c8098c5d0b6edb2b25ab8e26ac0265ab5ac","Message":"feat(ui-matrix): check:ui 支持 nestjs/fastify × ws/sse 矩阵;修复 Fastify SSE 两条浏览器分叉(G17 关闭,C27)\n\n- check:ui:UI_BACKEND / UI_TRANSPORT / UI_MATRIX=1,每组合独立起后端与前端跑同一套 Playwright 用例;\n 报告 matrix[],uiTestsPassed 取最小值对地板\n- web:NEXT_PUBLIC_REALTIME_TRANSPORT 设实时通路起始值\n- Fastify /sse/events:开流即写 \": connected\" 注释帧(否则经代理 EventSource 永不 open);\n Cache-Control 加 no-transform(否则 gzip 代理缓冲事件)——UI 矩阵 fastify/sse 首轮精确红盘抓出\n- 版本 0.9.0\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-09T22:25:25-07:00"},"CompareURL":"luoanwu/base-framework/compare/0000000000000000000000000000000000000000...5f190bbd89bb73e4b96138115c42dc5df11721eb","Len":0}...
|
1789026271
|
Edit
Delete
|
|
28941
|
5
|
5
|
5
|
54
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"9cdde36ab {"Commits":[{"Sha1":"9cdde36abde35758c8069325e459ee713acdc0a6","Message":"chore(reports): refresh clean static evidence @ fb824aa\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T03:49:23-07:00"},{"Sha1":"fb824aaefcdd20950230a7ae8fac228715cf4d33","Message":"docs: record clean commit acceptance @ 927c3c3(v0.15.0:runtime 288 / 差分 10×2 / tenantRlsEnforced=1;UI 4×11;剥离 scaffold demo-stripped runtime 266 / UI 5 / 静态全绿;地板 testsPassed 283→288、uiTestsPassed 10→11)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T03:48:17-07:00"},{"Sha1":"927c3c3be52110dc7c66b6ef17845e477b04470f","Message":"fix(strip): EventFeed 事件色表的 order.* 行加 sample-domain 标记(剥离后 web typecheck 红)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T03:42:51-07:00"},{"Sha1":"798579c09cd2e88c7de317ecc316185531db4538","Message":"fix(strip): NestJS seed 的订单示例加 sample-domain 标记(剥离后仓 tsc 红)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T03:38:41-07:00"},{"Sha1":"eb7c595892d1d281177b18b4676fa32f83f5cd23","Message":"fix(strip): HTTP 验收夹具的 orders 清理行加 sample-domain 标记(剥离后仓 http 套件红)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T03:35:32-07:00"}],"HeadCommit":{"Sha1":"9cdde36abde35758c8069325e459ee713acdc0a6","Message":"chore(reports): refresh clean static evidence @ fb824aa\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T03:49:23-07:00"},"CompareURL":"luoanwu/base-framework/compare/9371e2946b802b351f5641762b8b3ca4470c409a...9cdde36abde35758c8069325e459ee713acdc0a6","Len":13}...
|
1789037412
|
Edit
Delete
|
|
28942
|
5
|
9
|
5
|
54
|
0
|
0
|
refs/tags/v0.13.0
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"c19f40747f61aca6d61f82b34cdf124f842e5811","Message":"fix(acceptance): turbo 透传 RLS/告警环境变量;UI runner 先构建契约包\n\n- turbo.json globalEnv 加 DATABASE_RUNTIME_URL / DATABASE_SYSTEM_URL / TENANT_RLS_MODE(否则 turbo 严格环境把它们滤掉,\n 测试在 off 模式下跑、tenant.rls 套件因缺变量红)与 ALERT_* 三项\n- check:ui 在首个后端 build 前先 pnpm --filter @repo/contracts build(干净检出里 dist 不存在会 TS2307)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T01:29:53-07:00"},"CompareURL":"luoanwu/base-framework/compare/0000000000000000000000000000000000000000...d27a31d4a658835949a6c0cff50f33ebc94587de","Len":0}...
|
1789037412
|
Edit
Delete
|
|
28943
|
5
|
9
|
5
|
54
|
0
|
0
|
refs/tags/v0.14.0
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"079557145ee7bc44c618a6c4748b12a60a7fa74c","Message":"feat(alerts): 告警推送通道(G20 半边,0.14.0)——AlertSink 端口、log/webhook 投递器、HMAC 签名、去重,dispatcher 死信/流阻断事务后推送\n\n- 内核 contracts/alert.ts:alertSchema/buildAlert、KERNEL_ALERT_CODES、resolveAlertChannel(生产必须显式 ALERT_CHANNEL)、\n createLogAlertSink / createWebhookAlertSink(稳定序列化、x-alert-id、x-alert-signature、超时 + 一次重试、失败可见不抛错)、AlertDeduper\n- NestJS AlertsModule(ALERT_SINK) + common/alerts.ts;Fastify plugins/alerts.ts + lib/alerts.ts(app.alerts);HMAC/fetch 由后端注入\n- 两后端 outbox dispatcher:outbox.dead_letter / outbox.stream_blocked 在事务提交后推送(按行 id 去重)\n- 两后端 alerts.webhook.test.ts 各 3 例(本地 http 真实收 POST 验签名/重试/去重/生产拒绝);deadletter 测试追加告警断言;C30 绊网\n- docs/alerting.md、.env.example、CHANGELOG/COMPATIBILITY 0.14.0;地板 ownTests 37→40、ownTestCases 267→280\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T01:41:00-07:00"},"CompareURL":"luoanwu/base-framework/compare/0000000000000000000000000000000000000000...0579ade1ffe5f67e3d8de207291a173588b3f870","Len":0}...
|
1789037412
|
Edit
Delete
|
|
28944
|
5
|
9
|
5
|
54
|
0
|
0
|
refs/tags/v0.15.0
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"927c3c3be52110dc7c66b6ef17845e477b04470f","Message":"fix(strip): EventFeed 事件色表的 order.* 行加 sample-domain 标记(剥离后 web typecheck 红)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T03:42:51-07:00"},"CompareURL":"luoanwu/base-framework/compare/0000000000000000000000000000000000000000...18d33851e0661e36d5f89bd85fd050490650578b","Len":0}...
|
1789037412
|
Edit
Delete
|
|
28946
|
5
|
5
|
5
|
54
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"ab054bc14 {"Commits":[{"Sha1":"ab054bc1433dbfb7a9834ac77c7e0eba0e81cabc","Message":"chore(baseline): 收紧 ownTests 37→42 / ownTestCases 267→286 / conformanceMatrixCases 15→16(0.14.0/0.15.0 时的地板编辑被 git checkout -- reports 回退,doctrine 已按 42/286/16 陈述)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T03:59:29-07:00"}],"HeadCommit":{"Sha1":"ab054bc1433dbfb7a9834ac77c7e0eba0e81cabc","Message":"chore(baseline): 收紧 ownTests 37→42 / ownTestCases 267→286 / conformanceMatrixCases 15→16(0.14.0/0.15.0 时的地板编辑被 git checkout -- reports 回退,doctrine 已按 42/286/16 陈述)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T03:59:29-07:00"},"CompareURL":"luoanwu/base-framework/compare/9cdde36abde35758c8069325e459ee713acdc0a6...ab054bc1433dbfb7a9834ac77c7e0eba0e81cabc","Len":1}...
|
1789038555
|
Edit
Delete
|
|
28972
|
5
|
5
|
5
|
54
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"e8d262220 {"Commits":[{"Sha1":"e8d262220de86b35614cdeb27802673a82930ffa","Message":"chore(reports): refresh clean static evidence @ b1f2d1c\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T06:38:07-07:00"},{"Sha1":"b1f2d1cf6c4651611763dd9e4a11045bf9a6478c","Message":"docs: record clean commit acceptance @ 36bd170(v0.16.0 @juhai/kernel 拆包:runtime 288 / 差分 10×2 / tenantRlsEnforced=1;UI 4×11)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T06:37:21-07:00"},{"Sha1":"36bd170ad4ddc011d55f87a90e880fc053e205b0","Message":"feat(kernel): 内核成为独立可发布包 @juhai/kernel,源码留框架仓(0.16.0)\n\n- packages/kernel(@juhai/kernel):15 个内核模块与单测自 packages/contracts/src 整体移入;只依赖 zod;版本随框架;\n files=[dist]、sideEffects:false、publishConfig 指向 Gitea luoanwu npm registry;.npmrc 配 @juhai 作用域\n- @repo/contracts 依赖 @juhai/kernel 并只转发(kernel.ts = export * from);根入口/子路径与应用 import 不变;order.ts 改从内核取 MachineDefinition\n- contracts 单测拆分:内核契约单测随模块入内核包,contracts 留 layering.test.ts(F10)与 order.test.ts\n- F10 改校验内核包(不 import 示例域/@repo/contracts、不内嵌域事件字面量、contracts kernel.ts 只转发);F11 新增内核包形状断言\n- 差分与 UI runner 经 turbo 按依赖序构建内核→contracts;contract-consumers job 断言指向 packages/kernel;docs 路径同步\n- framework:pack 双制品(juhai-kernel / repo-contracts)、framework:publish;CHANGELOG/COMPATIBILITY 0.16.0;pnpm-lock 更新\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T06:34:14-07:00"}],"HeadCommit":{"Sha1":"e8d262220de86b35614cdeb27802673a82930ffa","Message":"chore(reports): refresh clean static evidence @ b1f2d1c\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T06:38:07-07:00"},"CompareURL":"luoanwu/base-framework/compare/ab054bc1433dbfb7a9834ac77c7e0eba0e81cabc...e8d262220de86b35614cdeb27802673a82930ffa","Len":3}...
|
1789047498
|
Edit
Delete
|
|
28973
|
5
|
9
|
5
|
54
|
0
|
0
|
refs/tags/v0.16.0
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"36bd170ad4ddc011d55f87a90e880fc053e205b0","Message":"feat(kernel): 内核成为独立可发布包 @juhai/kernel,源码留框架仓(0.16.0)\n\n- packages/kernel(@juhai/kernel):15 个内核模块与单测自 packages/contracts/src 整体移入;只依赖 zod;版本随框架;\n files=[dist]、sideEffects:false、publishConfig 指向 Gitea luoanwu npm registry;.npmrc 配 @juhai 作用域\n- @repo/contracts 依赖 @juhai/kernel 并只转发(kernel.ts = export * from);根入口/子路径与应用 import 不变;order.ts 改从内核取 MachineDefinition\n- contracts 单测拆分:内核契约单测随模块入内核包,contracts 留 layering.test.ts(F10)与 order.test.ts\n- F10 改校验内核包(不 import 示例域/@repo/contracts、不内嵌域事件字面量、contracts kernel.ts 只转发);F11 新增内核包形状断言\n- 差分与 UI runner 经 turbo 按依赖序构建内核→contracts;contract-consumers job 断言指向 packages/kernel;docs 路径同步\n- framework:pack 双制品(juhai-kernel / repo-contracts)、framework:publish;CHANGELOG/COMPATIBILITY 0.16.0;pnpm-lock 更新\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T06:34:14-07:00"},"CompareURL":"luoanwu/base-framework/compare/0000000000000000000000000000000000000000...478d30cb08ea5b6dc9c38cdd2a04dfe79d6202f6","Len":0}...
|
1789047498
|
Edit
Delete
|
|
28974
|
5
|
5
|
5
|
54
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"4e46be3af {"Commits":[{"Sha1":"4e46be3af7172533e93417e123d3369963f13e08","Message":"docs(playbook): 回灌 P19–P22(共享基座跨套件领取、默认状态码漂移、非空验收库、并行构建污染)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T06:51:15-07:00"}],"HeadCommit":{"Sha1":"4e46be3af7172533e93417e123d3369963f13e08","Message":"docs(playbook): 回灌 P19–P22(共享基座跨套件领取、默认状态码漂移、非空验收库、并行构建污染)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T06:51:15-07:00"},"CompareURL":"luoanwu/base-framework/compare/e8d262220de86b35614cdeb27802673a82930ffa...4e46be3af7172533e93417e123d3369963f13e08","Len":1}...
|
1789048277
|
Edit
Delete
|
|
28975
|
5
|
5
|
5
|
54
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"ed6561882 {"Commits":[{"Sha1":"ed6561882ae52d6d0f2b6fd5429382e85b4f12ab","Message":"docs(changelog): @juhai/kernel@0.16.0 已发布到 Gitea npm registry\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T06:59:49-07:00"}],"HeadCommit":{"Sha1":"ed6561882ae52d6d0f2b6fd5429382e85b4f12ab","Message":"docs(changelog): @juhai/kernel@0.16.0 已发布到 Gitea npm registry\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T06:59:49-07:00"},"CompareURL":"luoanwu/base-framework/compare/4e46be3af7172533e93417e123d3369963f13e08...ed6561882ae52d6d0f2b6fd5429382e85b4f12ab","Len":1}...
|
1789048793
|
Edit
Delete
|
|
28976
|
5
|
5
|
5
|
54
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"cd9c26f20 {"Commits":[{"Sha1":"cd9c26f20dce96891809f7888872abfe7f3771a1","Message":"chore(reports): refresh clean static evidence @ 35de733\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T07:18:24-07:00"},{"Sha1":"35de733fd96b69f0dd89b8a800f0c94f3bac5ab2","Message":"docs: record clean commit acceptance @ 17b8276(v0.16.1 pin 形态适配:runtime 288 / tenantRlsEnforced=1;UI 4×11)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T07:17:39-07:00"},{"Sha1":"17b82766b7e6ccb038bc0664af6967f052904657","Message":"fix(gates): 差分 runner 每次经 turbo 构建 contracts,不再以陈旧 dist 跳过(Scope 试点:剥离后旧 dist 让 RLS 启动探测按旧表清单拒绝)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T07:14:20-07:00"},{"Sha1":"bb8623b32363312d9fb05831a820a8bb811048eb","Message":"fix(gates): pin 形态在 packages/contracts/node_modules 下查已安装的 @juhai/kernel(pnpm 不 hoist 到根)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T07:10:11-07:00"},{"Sha1":"7e44814d5dbe81c00274fdf0c2a2e7b0956ad1ef","Message":"fix(gates): 派生仓 pin @juhai/kernel 形态适配(0.16.1)——F10/F11 pin 模式、contract-consumers 查已安装包、runner 只构建 contracts\n\nScope 平台试点第一轮回灌:无 packages/kernel 源码的派生仓此前在 contract-consumers / fork-readiness / turbo filter 三处直接红。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T07:08:39-07:00"}],"HeadCommit":{"Sha1":"cd9c26f20dce96891809f7888872abfe7f3771a1","Message":"chore(reports): refresh clean static evidence @ 35de733\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T07:18:24-07:00"},"CompareURL":"luoanwu/base-framework/compare/ed6561882ae52d6d0f2b6fd5429382e85b4f12ab...cd9c26f20dce96891809f7888872abfe7f3771a1","Len":5}...
|
1789049912
|
Edit
Delete
|
|
28977
|
5
|
9
|
5
|
54
|
0
|
0
|
refs/tags/v0.16.1
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"17b82766b7e6ccb038bc0664af6967f052904657","Message":"fix(gates): 差分 runner 每次经 turbo 构建 contracts,不再以陈旧 dist 跳过(Scope 试点:剥离后旧 dist 让 RLS 启动探测按旧表清单拒绝)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T07:14:20-07:00"},"CompareURL":"luoanwu/base-framework/compare/0000000000000000000000000000000000000000...016aee21ae0de828f9c38250cdbdc8dbf1601f34","Len":0}...
|
1789049912
|
Edit
Delete
|
|
29185
|
5
|
5
|
5
|
54
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"023d78883 {"Commits":[{"Sha1":"023d78883392f389eef8363b752fcd2c86813fc1","Message":"fix(gates): pin 形态判定改看 packages/kernel/package.json(enterprise-platform 建仓实锤:残留 node_modules 让目录仍存在)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T07:48:28-07:00"}],"HeadCommit":{"Sha1":"023d78883392f389eef8363b752fcd2c86813fc1","Message":"fix(gates): pin 形态判定改看 packages/kernel/package.json(enterprise-platform 建仓实锤:残留 node_modules 让目录仍存在)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-10T07:48:28-07:00"},"CompareURL":"luoanwu/base-framework/compare/cd9c26f20dce96891809f7888872abfe7f3771a1...023d78883392f389eef8363b752fcd2c86813fc1","Len":1}...
|
1789198017
|
Edit
Delete
|
|
30054
|
5
|
5
|
5
|
54
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"9690ba986 {"Commits":[{"Sha1":"9690ba98673547cb338309cd66f41ff6dbcaf61b","Message":"docs: 同步同步计划文档的新路径\n\n2026-09-14 应用群迁入新根后,治理文档移至 平台治理/基础/。\nCOMPATIBILITY.md 的 0.1.0-pre 行引用 `基础/框架新版本同步计划.md`,\n改为 `平台治理/基础/框架新版本同步计划.md`(目标已核实存在)。\n\n改动本身是迁移当天路径替换的一部分,当时未随其他仓一并入库,\n导致本仓工作树长期 dirty,基础审计据此把框架资产判为 worktreeClean=false。\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-14T22:24:34-07:00"}],"HeadCommit":{"Sha1":"9690ba98673547cb338309cd66f41ff6dbcaf61b","Message":"docs: 同步同步计划文档的新路径\n\n2026-09-14 应用群迁入新根后,治理文档移至 平台治理/基础/。\nCOMPATIBILITY.md 的 0.1.0-pre 行引用 `基础/框架新版本同步计划.md`,\n改为 `平台治理/基础/框架新版本同步计划.md`(目标已核实存在)。\n\n改动本身是迁移当天路径替换的一部分,当时未随其他仓一并入库,\n导致本仓工作树长期 dirty,基础审计据此把框架资产判为 worktreeClean=false。\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-14T22:24:34-07:00"},"CompareURL":"luoanwu/base-framework/compare/023d78883392f389eef8363b752fcd2c86813fc1...9690ba98673547cb338309cd66f41ff6dbcaf61b","Len":1}...
|
1789451258
|
Edit
Delete
|
|
30164
|
5
|
5
|
5
|
54
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"23c6960de {"Commits":[{"Sha1":"23c6960de45354e3ea524f9d81ce8b9d2d2fc7af","Message":"chore(reports): refresh clean static evidence @ 2ceb5d8(v0.22.0 记录提交;45 文件 / 314 静态用例)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-15T03:57:17-07:00"},{"Sha1":"2ceb5d88c1b36c1e5bb92608054e6503bedcc292","Message":"docs: record clean commit acceptance @ 6443380(v0.22.0:四级证据同 SHA——runtime 325 / 差分 10×2 / tenantRlsEnforced=1;UI 4×11;部署 13 步 + 回滚演练;生产 14 步 + 故障注入 + 恢复演练)\n\n- CLAUDE.md 动态区四级条目全部改为 clean `6443380`;tests-passing 地板 320 → 325;framework-version 行钉 v0.22.0@6443380\n- reports/baseline.json testsPassed 325\n- registry 实测仍为 0.16.1:0.17.0–0.22.0 未发布,发布动作留给框架 Owner(本轮 publish 未获执行许可)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-15T03:56:44-07:00"},{"Sha1":"64433802b34d1780402486d61a9b6dbf911ac0f7","Message":"docs(release): 0.22.0 版本轴收口——录入 C39 告警生产方、证据新鲜度四级断言与地板收紧\n\n- CHANGELOG 0.22.0 补第四项(C39:作业重试耗尽 / Redis 连接异常两个告警生产方,18fba1c 只提交了实现与门禁)\n- CLAUDE.md:C39 处置行、G20 仍缺清单去掉已补的两个生产方、own-tests 45 / own-test-cases 314(此前表内仍写 42 / 286)\n- reports/baseline.json:ownTestCases 311 → 314(棘轮只收紧)\n- COMPATIBILITY.md 0.22.0 小节补告警生产方的派生仓动作\n- check-docs-truth:freshness-sha-* 判定收紧为声明形式(另一会话在途改动,随本提交一并落地)\n- reports/ 为本轮 dirty 运行的中间产物,随后在 clean 提交上重跑刷新\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-15T03:50:54-07:00"},{"Sha1":"18fba1c6dc228a6b2cf425bd003892e5cfc6feaa","Message":"feat(observability): 补两个告警生产方——作业重试耗尽与 Redis 连接异常(G20,C39)\n\nG20 此前只有两个生产方(outbox 死信、流阻断)。另外两类同样该让值班知道的事件此前是静音的:\n\n- 作业重试耗尽:只广播 job.failed 实时事件 + 一行日志——**没人订阅实时事件时它就是静音的**,\n 而\"作业彻底失败\"恰恰最需要有人知道\n- Redis 连接异常:Redis 一断,实时投递与作业队列同时失效,此前只有一行 error 日志\n\n实现:\n- 内核 alert.ts 新增两个码与两个构造函数 buildJobRetryExhaustedAlert / buildRedisConnectionLostAlert\n (两后端共用同一份构造;各写一套会让同一事件在两个后端推出 severity/fingerprint 不同的告警,\n 值班侧无法按同一规则路由与去重)\n- 去重口径:作业按 jobId、Redis 按连接角色(重连风暴压成一条,投递器自带 TTL)\n- 两后端四处接线;Redis 告警失败不再触发告警,避免连接异常时自激\n- 内核 3 个单测(形状/去重/租户维度)+ check:dual-backend C39 绊网,负向已验证\n (把任一侧的构造函数改名即 exit 1)\n\n注:本轮只提交实现与门禁。CHANGELOG / CLAUDE.md 的录入与地板收紧留给正在并行做记录的会话——\n另:先前的 4f45161 因用了 git add -A,把该会话在途的 check-docs-truth.mjs 改动一并提交了,\n本轮起只暂存自己碰过的文件。\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-15T03:04:54-07:00"},{"Sha1":"db5e2c0b9e1523e5db3b74b143fae3e6725d640a","Message":"feat(gates): 治理聚合报告必须声明结论(0.22.0,受理结论字段 FR-1/FR-2;C38)\n\n兄弟报告(runtime/ui)都写 status,唯独 governance.latest.json 不写:成败只由退出码表达,而退出码\n不进报告、不进证据链。工作区实测 20 份无一携带 status,消费侧两条 blocker 恒红且重跑一千次也不会变。\n更尖锐的一半是写入时机——三处失败关闭都在写入之后,指标 schema 挂了、棘轮回退了,磁盘上留下的仍是\n一份与成功运行无法区分的报告。看起来通过是彻底的静音,比永远红更坏。\n\n- 报告增 status(running → passed/failed)与 failures[{kind,detail}];先落 running,进程被杀也不会\n 留下 passed\n- 单点 finish():四条失败分支(状态清单生成失败、来源绑定违规、指标 schema 缺失、棘轮回退)与两条\n 成功分支(基线初始化、--update-baseline)全部经它定稿后才 exit;将来新增分支走 finish() 即不会漏\n- 负向实做:临时让子门禁少写一个预期指标 key → 退出码 1、磁盘 status=failed、failures 原因可读;\n 恢复后转绿。注入点必须是子门禁脚本而非子报告文件——聚合器每轮重跑子门禁会覆盖报告\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-15T02:23:17-07:00"}],"HeadCommit":{"Sha1":"23c6960de45354e3ea524f9d81ce8b9d2d2fc7af","Message":"chore(reports): refresh clean static evidence @ 2ceb5d8(v0.22.0 记录提交;45 文件 / 314 静态用例)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-15T03:57:17-07:00"},"CompareURL":"luoanwu/base-framework/compare/9690ba98673547cb338309cd66f41ff6dbcaf61b...23c6960de45354e3ea524f9d81ce8b9d2d2fc7af","Len":27}...
|
1789469862
|
Edit
Delete
|
|
30165
|
5
|
9
|
5
|
54
|
0
|
0
|
refs/tags/v0.17.0
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"313137b9d94fff4665c34fcf8463c35ab72bd30a","Message":"feat(gates): compose project 身份随派生仓走,宿主端口可覆盖(0.17.0,F14/C32)\n\n受理平台治理 2026-09-14 的框架变更请求 FR-1/FR-2。缺陷是模板级的:compose 没有顶层 name\n时按**文件所在目录名**推导 project 名,而该文件在每个派生仓里都是 apps/api-nestjs/,于是\n28 个仓推导出同一个 project `api-nestjs`,共用 api-nestjs_pgdata / _redisdata 与同名容器,\n后 up 的那个接管先起者的容器与卷。2026-09-14 本机实测已发生(配置开关平台的 postgres/redis\n与 AI 工单系统的 minio 同属一个 project,公共卷创建于 2026-08-29)。单仓内部永远不与自己\n冲突,所以这件事只有横着比多份 compose 才判得出——F14 把它变成仓内静态断言。\n\n- 模板:顶层 name: ${COMPOSE_PROJECT_NAME:-base-framework};redis 宿主端口 ${REDIS_PORT:-6379}\n (取 :- 而非 fail-closed 的 :?——「连得上≠连的是本仓」那一层已由 G15 在 runner preflight\n 失败关闭,宿主端口冲突是响亮失败,不需要再打断所有现存 up)\n- F14(check:fork-readiness):顶层 name 必须存在、必须写成 ${COMPOSE_PROJECT_NAME:-\u003c身份\u003e}、\n 默认值必须等于 package.json.name 派生身份,ports 宿主侧一律不得写死。与 F3(验收库名前缀)、\n F12(RLS 组角色前缀)同族:集群级资源身份必须派生自 package.json.name。\n 负向三条已验证(删 name / 默认值仍是源身份 / 端口写死,均 exit 1)\n- scaffold:身份重绑定步骤一并改写 compose 默认值,结果写入记录行\n- 0.17.0:按 COMPATIBILITY §4「破坏性变更只允许出现在 minor」——改后首次 up 建新空卷,旧卷数据\n 不自动迁移。内核与契约包版本同步 0.17.0,本轮未发布到 registry\n- 回灌:CHANGELOG 0.17.0、COMPATIBILITY §2 [0.17.0]、迁移手册步骤 1 补三处集群级身份对照表、\n doctrine F14 行 / C32 索引 / 版本轴 / 常用命令补本地基座起法\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-14T23:29:54-07:00"},"CompareURL":"luoanwu/base-framework/compare/0000000000000000000000000000000000000000...ebfdb7c0f8574a8c30458ebe003aaf66c2fd0285","Len":0}...
|
1789469862
|
Edit
Delete
|
|
30166
|
5
|
9
|
5
|
54
|
0
|
0
|
refs/tags/v0.18.0
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"0b2c98923ab49f8cb8046091870ca5f8110ebeec","Message":"feat(ops): 运维平面从零到有——制品、生产编排与部署/生产两级验收(0.18.0,G20 第一二片)\n\nGOV-PRODUCTION-OPS-001 引用的两份报告此前没有任何生产者,状态清单按 MISSING 呈现。doctrine 明写\n「这是诚实的空,不得用占位报告转绿」,所以本版给的是真实链路而不是存在性打勾:\n\n- apps/api-nestjs/Dockerfile:deps / migrator / runtime 三 target;runtime 非 root、NODE_ENV=production、\n 入口 dist/src/main.js;migrator 是一次性运维容器(独有 prisma CLI 与 scripts/),迁移不在应用启动时跑\n- deploy/production/compose.yml:生产纪律变量在编排层就 ${VAR:?} fail-closed(APP_ID / RLS 两个角色 URL /\n TENANT_RLS_MODE / AUTH_MODE / 密钥 / ALERT_CHANNEL / PLATFORM_PORTS_MODE / REDIS_URL),与内核同口径\n- pnpm check:deployment(13 步):构建→迁移→供给 RLS 登录用户→生产纪律启动→健康分项→无凭证 401→\n JWT 真实写读→跨租户不可见→重启后数据仍在→回滚演练(切新标签再切回上一标签)→拆栈\n- pnpm check:production-acceptance:可观测(requestId 三态 + 制品日志必须是带 appId 的单行 JSON)、\n 依赖故障注入(停 Redis → health 必须 503 且 redis=down → 起回自愈 200)、备份恢复演练(pg_dump →\n 真删业务数据 → 恢复 → 重启 → 数据回来)\n- scripts/lib/deploy-stack.mjs:两个 runner 的编排是同一份真源,避免「一边按生产纪律起、另一边少一个\n fail-closed」这种最危险的漂移\n- F14 扩到全仓每一份 compose,允许 \u003c身份\u003e-\u003c用途\u003e 子命名;scaffold 的 compose 重绑同步扩面(负向已验证)\n- docs/deployment-runbook.md;迁移手册 P23(.dockerignore 漏排 tsbuildinfo → tsc 静默不产出)、\n P24(syntax 指令让构建依赖 Docker Hub)\n\n修复 C33:start:prod 指向不存在的 dist/main,文档承诺的生产启动命令一跑就 MODULE_NOT_FOUND——\n本仓此前从未以制品形态启动过,故长期无人踩到,由本版部署验收首轮红盘抓出。\n\n两个 runner 都跑在本机 Docker:证据等级到「部署形态可验证」为止,不是生产签收。仍缺 SLO、告警路由、\n灰度/多副本、限流熔断,以及 NestJS 侧成功请求没有访问日志(Fastify 侧自带)——均登记在 G20。\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-15T00:03:32-07:00"},"CompareURL":"luoanwu/base-framework/compare/0000000000000000000000000000000000000000...8a1f6300754e9599eb76f92b340dbeb0165731d3","Len":0}...
|
1789469862
|
Edit
Delete
|
|
30167
|
5
|
9
|
5
|
54
|
0
|
0
|
refs/tags/v0.19.0
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"535a0f5c9483f3b5fd08ac375a070d7cffd28394","Message":"fix(test): 健康用例并入既有验收文件——每多起一个 app 就多一个会派发毒药行的 dispatcher(P25)\n\n0.19.0 首轮 runtime 红盘:NestJS 侧 outbox.deadletter 的「前序失败时后序 seq 不得跨洞派发」失败,\npoisonRow.dispatchedAt 不为 null。根因不是写链,是**测试布局**:新开的两个 health 测试文件各自\ncreateApp()/buildApp(),多出来的 outbox dispatcher 在同一个库上真的把别的用例刚写下的毒药行派发了,\n而两个后端的 test 任务由 turbo 并行。\n\n- 两后端的附加健康子检查用例并入各自既有的 http.acceptance.test.ts(各 +4 例,23/23 通过),\n 删掉两个新开的测试文件;名字判责与重复登记合并为一例\n- 地板按合并后的实际值修正为 ownTests 44 / ownTestCases 305(本轮早先按未合并的布局误设为 46/307;\n 相对本轮开始前的 42/286 仍是收紧,不是放宽既有地板)\n- 迁移手册 P25 记下这条:失败现场看起来像跨洞派发的业务 bug,实际是多起了一个 app\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-15T00:18:31-07:00"},"CompareURL":"luoanwu/base-framework/compare/0000000000000000000000000000000000000000...62590d18280bd28f20cfc07e87f2f1a2a781489c","Len":0}...
|
1789469862
|
Edit
Delete
|
|
30168
|
5
|
9
|
5
|
54
|
0
|
0
|
refs/tags/v0.20.0
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"4be9d715627e11e93e1d06f6c2d044618ed7930a","Message":"fix(gates): 验收镜像构建在 BuildKit 元数据解析失败时回退经典构建器(P26)\n\n本机 Docker 代理挂掉后,docker build 不是快速失败而是**挂住**:22 分钟零输出,部署验收看起来像卡死。\n根因是 BuildKit 每次构建都要向 registry 解析 FROM 的 manifest,代理不可达时长时间重试;而基础镜像\n明明已经在本地镜像库里——同一份 Dockerfile 用经典构建器 5 秒就进到 apk add。\n\n- deploy-stack 的 buildImages:先 BuildKit,命中元数据解析失败特征(failed to resolve source metadata /\n registry / proxy / connection refused)就回退 DOCKER_BUILDKIT=0,并把回退记进 stack.buildFallbacks\n- 两个 runner 的报告新增 buildFallbacks 字段:证据必须说清自己是怎么来的,不能让「这次是怎么构建出来的」\n 成为读报告的人猜不到的事\n- 迁移手册 P26\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-15T00:54:18-07:00"},"CompareURL":"luoanwu/base-framework/compare/0000000000000000000000000000000000000000...931a3cb66d94b2cfef2fb4c4d8d68c0382b37172","Len":0}...
|
1789469862
|
Edit
Delete
|
|
30169
|
5
|
9
|
5
|
54
|
0
|
0
|
refs/tags/v0.21.0
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"729d6ae4fae463534fe768c94b837abee7ed8dc6","Message":"fix(gates): 镜像构建三级回退——BuildKit → 经典构建器 → 清代理(P26 扩写)\n\nDocker Desktop 把守护进程的代理配置注入构建容器:代理死掉时容器里的 pnpm install / prisma 引擎\n下载全部失败(实测 @prisma/engines postinstall: Failed),而容器直连网络其实是通的。三次尝试各对应\n一种本机基座故障,成功走的是哪一条写进报告 buildFallbacks。\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-15T02:15:51-07:00"},"CompareURL":"luoanwu/base-framework/compare/0000000000000000000000000000000000000000...700f72fb25ba6f901be309c1312ea9cade497a46","Len":0}...
|
1789469862
|
Edit
Delete
|
|
30170
|
5
|
9
|
5
|
54
|
0
|
0
|
refs/tags/v0.22.0
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"64433802b34d1780402486d61a9b6dbf911ac0f7","Message":"docs(release): 0.22.0 版本轴收口——录入 C39 告警生产方、证据新鲜度四级断言与地板收紧\n\n- CHANGELOG 0.22.0 补第四项(C39:作业重试耗尽 / Redis 连接异常两个告警生产方,18fba1c 只提交了实现与门禁)\n- CLAUDE.md:C39 处置行、G20 仍缺清单去掉已补的两个生产方、own-tests 45 / own-test-cases 314(此前表内仍写 42 / 286)\n- reports/baseline.json:ownTestCases 311 → 314(棘轮只收紧)\n- COMPATIBILITY.md 0.22.0 小节补告警生产方的派生仓动作\n- check-docs-truth:freshness-sha-* 判定收紧为声明形式(另一会话在途改动,随本提交一并落地)\n- reports/ 为本轮 dirty 运行的中间产物,随后在 clean 提交上重跑刷新\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-15T03:50:54-07:00"},"CompareURL":"luoanwu/base-framework/compare/0000000000000000000000000000000000000000...70721a32fc48a464fd528d15bf1faae15ccf6ed1","Len":0}...
|
1789469862
|
Edit
Delete
|
|
30172
|
5
|
5
|
5
|
54
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"c358bd2a5 {"Commits":[{"Sha1":"c358bd2a5db604566b840c6dfb1ade93feeaf558","Message":"docs: 远端与 CI 状态回灌——两端已对齐 23c6960、tag v0.9.0–v0.22.0 齐;GitHub run 34960704560 因账户计费未启动,G14 仍不得 GREEN\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-15T03:59:19-07:00"}],"HeadCommit":{"Sha1":"c358bd2a5db604566b840c6dfb1ade93feeaf558","Message":"docs: 远端与 CI 状态回灌——两端已对齐 23c6960、tag v0.9.0–v0.22.0 齐;GitHub run 34960704560 因账户计费未启动,G14 仍不得 GREEN\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-15T03:59:19-07:00"},"CompareURL":"luoanwu/base-framework/compare/23c6960de45354e3ea524f9d81ce8b9d2d2fc7af...c358bd2a5db604566b840c6dfb1ade93feeaf558","Len":1}...
|
1789469962
|
Edit
Delete
|
|
30205
|
5
|
5
|
5
|
54
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"d6747e346 {"Commits":[{"Sha1":"d6747e3462dad1329a0d99ed090c658cd7a42bed","Message":"chore(reports): refresh clean static evidence @ acf6482(G31 登记提交)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-15T05:53:44-07:00"},{"Sha1":"acf6482326e030965a080b792d3e90490e790aa9","Message":"feat(gates): 依赖安全审计门禁 pnpm check:dependencies(G31)——按运行时/工具链路径分类,首跑即红 28 条阻断\n\n- scripts/check-dependency-audit.mjs:pnpm audit --json → reports/dependency-audit.latest.json(带 provenance、status 三值 passed/failed/unrunnable)\n- critical 任意路径 / high 运行时路径未豁免即红;工具链(vitest、@nestjs/cli、@capacitor/cli、prisma CLI、eslint 家族、autoprefixer…)只记录\n- dependency-audit.allowlist.json:豁免必须带 reason + expires,过期失效;缺字段即红\n- 需要网络,不进 pnpm check(G9);CLAUDE.md 登记 G31 与基线表 RED 行,CHANGELOG [Unreleased]\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-15T05:53:36-07:00"}],"HeadCommit":{"Sha1":"d6747e3462dad1329a0d99ed090c658cd7a42bed","Message":"chore(reports): refresh clean static evidence @ acf6482(G31 登记提交)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-15T05:53:44-07:00"},"CompareURL":"luoanwu/base-framework/compare/c358bd2a5db604566b840c6dfb1ade93feeaf558...d6747e3462dad1329a0d99ed090c658cd7a42bed","Len":2}...
|
1789476826
|
Edit
Delete
|
|
30279
|
5
|
5
|
5
|
54
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"df53867de {"Commits":[{"Sha1":"df53867debc4df305454a4132edebe44819e5445","Message":"chore(dev): .claude/launch.json 基座端口对齐本机口径 5432/6379(原 55432/6382 是旧机器)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-15T23:02:06-07:00"}],"HeadCommit":{"Sha1":"df53867debc4df305454a4132edebe44819e5445","Message":"chore(dev): .claude/launch.json 基座端口对齐本机口径 5432/6379(原 55432/6382 是旧机器)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-15T23:02:06-07:00"},"CompareURL":"luoanwu/base-framework/compare/d6747e3462dad1329a0d99ed090c658cd7a42bed...df53867debc4df305454a4132edebe44819e5445","Len":1}...
|
1789538530
|
Edit
Delete
|
|
16104
|
5
|
1
|
5
|
55
|
0
|
0
|
|
1
|
|
1783326636
|
Edit
Delete
|
|
16105
|
5
|
5
|
5
|
55
|
0
|
0
|
refs/heads/main
|
1
|
|
1783326647
|
Edit
Delete
|
|
16106
|
5
|
5
|
5
|
55
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"8b9d81d39 {"Commits":[{"Sha1":"8b9d81d390dac8db76b755c9d7a25f7439e2a59b","Message":"chore: initialize data analysis scaffold\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-06T01:29:19-07:00"}],"HeadCommit":{"Sha1":"8b9d81d390dac8db76b755c9d7a25f7439e2a59b","Message":"chore: initialize data analysis scaffold\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-06T01:29:19-07:00"},"CompareURL":"","Len":1}...
|
1783326647
|
Edit
Delete
|
|
16115
|
5
|
1
|
5
|
56
|
0
|
0
|
|
1
|
|
1783326759
|
Edit
Delete
|
|
16116
|
5
|
5
|
5
|
56
|
0
|
0
|
refs/heads/main
|
1
|
|
1783326783
|
Edit
Delete
|
|
16117
|
5
|
5
|
5
|
56
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"e65fc3036 {"Commits":[{"Sha1":"e65fc3036083a4118e0c909bd6a58914e6b33fef","Message":"feat: initialize SiteScout workspace\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-06T01:31:18-07:00"}],"HeadCommit":{"Sha1":"e65fc3036083a4118e0c909bd6a58914e6b33fef","Message":"feat: initialize SiteScout workspace\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-06T01:31:18-07:00"},"CompareURL":"","Len":1}...
|
1783326783
|
Edit
Delete
|