|
31201
|
5
|
9
|
5
|
116
|
0
|
0
|
refs/tags/packages-v1.0.0-rc.5
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"cf05344e117a84fedf092613be5fc13b7a07072b","Message":"chore(release): 三包推到 1.0.0-rc.5——pins 三层判据随包出去,fact-pii 有意留在仓内\n\n动因:check:pins 的三层判据(63ff31f)还不在任何已发布版本里,而 @juhai/governance 的\nrc.0—rc.4 已全部被占用,按 G-12 的边界只能往前发下一个 RC。\n\n**发布物里有什么、没有什么,说清楚免得下一个人误读:** check-pins.mjs 在 governance 包的\nfiles 里,所以三层判据随包出去,消费者仓跑 juhai-governance check:pins 会拿到新判据\n(他们没有 pins-baseline.json,第三方层不启用,行为与 rc.4 一致——这是设计好的向后兼容)。\n而 check-fact-pii.mjs 与 fact-pii-rules.json **有意不进 files**:它扫的是\ncontracts/schemas/facts/ 与 contracts/candidates/facts/,消费者仓根本没有这两个目录,\n发过去是道跑不起来的门禁。它属于本轮源码,但不是本轮发布物的一部分。\n\n自 rc.4 源 557a95c 起的随车内容(比 rc.4 那趟小得多):\n contracts 14 文件 / 6 提交(7 个代码文件,三个域的 fixture-evaluator 与其单测)\n governance 10 文件 / 3 提交(两道新门禁 + 夹具覆盖度算法入文档)\n runtime/clients/fact 1 文件 / 1 提交 —— **只有 package.json,零内容变更,纯跟车**\n\n通道:本地旁路(G-12 第四次使用)。2026-09-18 实测:GitHub Actions 最新 run 35404565689 仍\nfailure(两个 job failure、其余 skipped,计费停摆的典型形态),正道仍不可满足。\n\n**一处新情况:推送死锁已解开。** rc.4 那趟记的是「GitHub 镜像落后 237 条、因分支保护的\nrequired check 跑不起来而推不动」;本次实测镜像落后已降到 24 条,github/main 指向 54e6324,\n说明有人把提交推上去了。但 Actions 仍不启动,所以正道仍差这一半——计费恢复后即可直接走正道,\n不必再先解死锁。\n\n按 CL-5 打 tag packages-v1.0.0-rc.5。\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-18T16:45:09-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/0000000000000000000000000000000000000000...cf05344e117a84fedf092613be5fc13b7a07072b","Len":0}...
|
1789775554
|
Edit
Delete
|
|
31206
|
5
|
9
|
5
|
116
|
0
|
0
|
refs/tags/packages-v1.0.0-rc.6
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"7eadfb1a5af353077f1a32eef51389f4a6f7fbfa","Message":"chore(release): 三包推到 1.0.0-rc.6——check:fact-pii 这次真的随包出去\n\nrc.5 发的时候 check-fact-pii.mjs 还不在 governance 包的 files 里,消费者拿到的 rc.5 不含它。\neb275b1 把它与 fact-pii-rules.json 加进 files、在 CLI 注册 check:fact-pii 子命令,\n并补上了让它在消费者仓真跑得起来的两处(--dir 指定 Fact schema 目录、判据回落到包内自带)。\n这趟车就是为了把那些送出去。\n\n自 rc.5 源 cf05344 起的随车内容:\n governance 7 文件 / 2 提交(fact-pii 进包 + 消费者可用性)\n contracts 3 文件 / 1 提交\n runtime/clients/fact 0 文件 / 0 提交 —— **完全没有变化,纯跟车**(同 rc.5)\n\n通道:本地旁路(G-12 第五次)。2026-09-18 实测 GitHub Actions 仍停在 run 35404565689\n(failure,计费),没有新 run;GitHub 镜像落后 35 条。正道仍不可满足。\n\n按 CL-5 打 tag packages-v1.0.0-rc.6(连续第三趟)。\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-18T16:56:38-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/0000000000000000000000000000000000000000...7eadfb1a5af353077f1a32eef51389f4a6f7fbfa","Len":0}...
|
1789776004
|
Edit
Delete
|
|
30314
|
5
|
9
|
5
|
97
|
0
|
0
|
refs/tags/retired-20260915
|
1
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"b4b17ab8285db6991daf85e768f0252cbb1c9470","Message":"chore(reports): refresh final static evidence\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"hillao","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"hillao","Timestamp":"2026-09-04T19:15:26-07:00"},"CompareURL":"luoanwu/fact-backbone/compare/0000000000000000000000000000000000000000...b4b17ab8285db6991daf85e768f0252cbb1c9470","Len":0}...
|
1789541864
|
Edit
Delete
|
|
30315
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/retired-20260915
|
1
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"f978ade7e90469ee1a0a8992c1073d4275b00b51","Message":"docs: scope-snapshot-blueprint 把 DEC-001—005 从\"仍待裁决\"改为\"已裁定、权威 Resolver 未实现\"\n\n治理层 check-workspace-consistency L10 最后一条命中:DEC-001—005 已于 2026-09-12 批准,本文仍写作未决前置。\n改为\"卡在没做\"而不是\"卡在裁决\"(真源仓 runtime/modules/scope 仍 state=shape)。清扫后 L10 归零,工作区一致性 4 → 3 条。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"hillao","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"hillao","Timestamp":"2026-09-15T05:53:28-07:00"},"CompareURL":"luoanwu/tenant-scope/compare/0000000000000000000000000000000000000000...f978ade7e90469ee1a0a8992c1073d4275b00b51","Len":0}...
|
1789541865
|
Edit
Delete
|
|
30316
|
5
|
9
|
5
|
108
|
0
|
0
|
refs/tags/retired-20260915
|
1
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"fa567527d297679347044b92de17fb137023d3c4","Message":"chore(reports): refresh final static evidence\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"hillao","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"hillao","Timestamp":"2026-09-04T19:15:26-07:00"},"CompareURL":"luoanwu/permission-platform/compare/0000000000000000000000000000000000000000...fa567527d297679347044b92de17fb137023d3c4","Len":0}...
|
1789541869
|
Edit
Delete
|
|
30407
|
5
|
9
|
5
|
107
|
0
|
0
|
refs/tags/retired-20260916
|
1
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"5a638a9a615f513177534b4c8d7c9e3efbb949a7","Message":"chore(reports): refresh clean final static evidence\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"hillao","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"hillao","Timestamp":"2026-09-04T18:50:51-07:00"},"CompareURL":"luoanwu/delivery-platform/compare/0000000000000000000000000000000000000000...5a638a9a615f513177534b4c8d7c9e3efbb949a7","Len":0}...
|
1789560161
|
Edit
Delete
|
|
30440
|
5
|
9
|
5
|
102
|
0
|
0
|
refs/tags/retired-20260916
|
1
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"56cff29d5bebc4328cb8c76e88a5bab7ec60dcff","Message":"chore(reports): refresh clean final static evidence\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"hillao","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"hillao","Timestamp":"2026-09-04T18:50:51-07:00"},"CompareURL":"luoanwu/app-registry/compare/0000000000000000000000000000000000000000...56cff29d5bebc4328cb8c76e88a5bab7ec60dcff","Len":0}...
|
1789561019
|
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
|
|
29202
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/v0.1.0
|
1
|
{"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/tenant-scope/compare/0000000000000000000000000000000000000000...bbc16b5c5f9610df1b16192c8f393e23b371a007","Len":0}...
|
1789198036
|
Edit
Delete
|
|
29365
|
16
|
9
|
16
|
86
|
0
|
0
|
refs/tags/v0.1.0
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"29ffde871be14c6230d5547ca84cdb1c66667dbd","Message":"docs(docs): 重整 README 功能概览与开发指南\n\nREADME 未完整覆盖新增能力,启动说明也缺少 Go 构建依赖。\n\n实现内容:\n- 补齐团队分组、设备问题历史、远程预览与控制及传输加速说明\n- 更新开发环境、启动和打包命令、项目结构与文档导航\n- 明确同步范围与功能边界,将操作细节链接到已有文档\n- 仅修改 README.md,刷新最后更新日期\n\n验证:\n- 对照当前源码、package.json 和 Go 模块配置核实描述\n- 30 个本地链接与 16 个 npm 脚本校验通过\n- git diff --check 与 staged diff 检查通过\n- 纯文档变更,未运行应用测试、类型检查或构建\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-09-13T20:00:02+08:00"},"CompareURL":"pengzhiyu/JuhaiOpsDesk/compare/0000000000000000000000000000000000000000...29ffde871be14c6230d5547ca84cdb1c66667dbd","Len":0}...
|
1789301586
|
Edit
Delete
|
|
29366
|
16
|
24
|
16
|
86
|
0
|
0
|
refs/tags/v0.1.0
|
0
|
巨嗨运维助手首发版本
|
1789301586
|
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
|
|
29203
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/v0.10.0
|
1
|
{"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/tenant-scope/compare/0000000000000000000000000000000000000000...bfa7cafcfa2cfbe8c68756ce2a276cc0631f494d","Len":0}...
|
1789198036
|
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
|
|
29204
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/v0.11.0
|
1
|
{"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/tenant-scope/compare/0000000000000000000000000000000000000000...08358ed9bd2af9c934d8758e1d9af7e7e8f52dc6","Len":0}...
|
1789198036
|
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
|
|
29205
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/v0.12.0
|
1
|
{"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/tenant-scope/compare/0000000000000000000000000000000000000000...569fbabead2b43b2e014e559173029626b5f2014","Len":0}...
|
1789198036
|
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
|
|
29206
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/v0.13.0
|
1
|
{"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/tenant-scope/compare/0000000000000000000000000000000000000000...d27a31d4a658835949a6c0cff50f33ebc94587de","Len":0}...
|
1789198036
|
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
|
|
29207
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/v0.14.0
|
1
|
{"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/tenant-scope/compare/0000000000000000000000000000000000000000...0579ade1ffe5f67e3d8de207291a173588b3f870","Len":0}...
|
1789198036
|
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
|
|
29208
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/v0.15.0
|
1
|
{"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/tenant-scope/compare/0000000000000000000000000000000000000000...18d33851e0661e36d5f89bd85fd050490650578b","Len":0}...
|
1789198036
|
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
|
|
29209
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/v0.16.0
|
1
|
{"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/tenant-scope/compare/0000000000000000000000000000000000000000...478d30cb08ea5b6dc9c38cdd2a04dfe79d6202f6","Len":0}...
|
1789198036
|
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
|
|
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
|
|
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
|
|
29210
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/v0.2.0
|
1
|
{"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/tenant-scope/compare/0000000000000000000000000000000000000000...e0a7caf3154f253fd72e03eed17207315d4367be","Len":0}...
|
1789198036
|
Edit
Delete
|
|
30207
|
5
|
9
|
5
|
115
|
0
|
0
|
refs/tags/v0.2.0
|
1
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"f63141d4087ea0b27318bc844f2912d7bbe79684","Message":"feat(gates): 上游 OS SHA 钉住(os.upstream.json)+ 版本轴 0.2.0 + 报告入库\n\n- 两道门禁默认比对 os.upstream.json 的 gitSha(env 覆盖、空串解除);错钉负向 O0-SHA 红并指出上游已演进\n- CHANGELOG.md、package.json 0.2.0、tag v0.2.0;reports/*.latest.json 不再 gitignore\n- 证据:对 OS c433d57 静态兼容 passed、双宿主运行 8 cases passed\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:54:21-07:00"},"CompareURL":"luoanwu/base-framework-os-product/compare/0000000000000000000000000000000000000000...9d0739b514719d1d8c795cccbb632fc2d665ad84","Len":0}...
|
1789476864
|
Edit
Delete
|
|
31261
|
16
|
9
|
16
|
86
|
0
|
0
|
refs/tags/v0.2.0
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"1eecf5d0083e203962f44259da0fc663ac35aafd","Message":"fix(devices): 修复手动屏幕方向跨目录优先级\n\n优先在全部约定目录中查找非空的是否竖屏_手动,缺失时再回退普通方向,避免外部平台默认值遮蔽私有目录的手动配置。\n\n实现内容:\n- 修复设备概览、截图和实时预览共用的方向解析\n- 补充跨目录覆盖、手动零值、空值回退和扫描脚本回归测试\n- 同步配置注释与设备知识库说明\n\n验证:\n- 6 个相关测试文件共 128 项测试通过\n- npm run typecheck\n- npm run check:knowledge\n- git diff --cached --check\n- 实机画面人工验收结果尚未记录\n","AuthorEmail":"228834386@qq.com","AuthorName":"starry","CommitterEmail":"228834386@qq.com","CommitterName":"starry","Timestamp":"2026-09-18T23:15:25+08:00"},"CompareURL":"pengzhiyu/JuhaiOpsDesk/compare/0000000000000000000000000000000000000000...1eecf5d0083e203962f44259da0fc663ac35aafd","Len":0}...
|
1789830872
|
Edit
Delete
|
|
31262
|
16
|
24
|
16
|
86
|
0
|
0
|
refs/tags/v0.2.0
|
0
|
Juhai OpsDesk v0.2.0 · 快速连接、设备分组与日志体验升级
|
1789830872
|
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
|
|
607
|
6
|
9
|
6
|
16
|
0
|
0
|
refs/tags/v0.3-fingerprint-stable
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"5fbc6e8e611f32e371ed50d69336e0f0e89363c5","Message":"feat: 修复原唱/分轨播放 \u0026 M/S按钮布局重构\n","AuthorEmail":"7190060@qq.com","AuthorName":"lws","CommitterEmail":"7190060@qq.com","CommitterName":"lws","Timestamp":"2026-03-19T11:23:24+08:00"},"CompareURL":"liuwansheng/hidance/compare/0000000000000000000000000000000000000000...5fbc6e8e611f32e371ed50d69336e0f0e89363c5","Len":0}...
|
1774801182
|
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
|
|
29211
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/v0.3.0
|
1
|
{"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/tenant-scope/compare/0000000000000000000000000000000000000000...eb5dc275a5be05940878bd0558dd175e6cdb439a","Len":0}...
|
1789198036
|
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
|
|
29212
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/v0.4.0
|
1
|
{"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/tenant-scope/compare/0000000000000000000000000000000000000000...bd055b25f760754089b736217ee75c1e57f1f9d8","Len":0}...
|
1789198037
|
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
|
|
29213
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/v0.5.0
|
1
|
{"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/tenant-scope/compare/0000000000000000000000000000000000000000...838251be5715460031778974df3f21a53d7cab2b","Len":0}...
|
1789198037
|
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
|
|
29214
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/v0.6.0
|
1
|
{"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/tenant-scope/compare/0000000000000000000000000000000000000000...0783dab348684e810ca2183f3888fa30f2d7e2d8","Len":0}...
|
1789198037
|
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
|
|
29215
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/v0.7.0
|
1
|
{"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/tenant-scope/compare/0000000000000000000000000000000000000000...61d40d84fcc9a61ed9d6d487e8dea4544759402f","Len":0}...
|
1789198037
|
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
|
|
29216
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/v0.8.0
|
1
|
{"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/tenant-scope/compare/0000000000000000000000000000000000000000...11462f99f5f9d930c376b340b2d6aa4f2422b531","Len":0}...
|
1789198037
|
Edit
Delete
|