|
29003
|
1
|
5
|
1
|
32
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"c981bb6b2 {"Commits":[{"Sha1":"c981bb6b2fb07ca8811774426e5673ee5456a5d7","Message":"加载问题修改\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-11T10:12:38+08:00"}],"HeadCommit":{"Sha1":"c981bb6b2fb07ca8811774426e5673ee5456a5d7","Message":"加载问题修改\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-11T10:12:38+08:00"},"CompareURL":"zhangjunnan/zhouhui/compare/fc56f470fb2d2265a23fa058789387acb8771905...c981bb6b2fb07ca8811774426e5673ee5456a5d7","Len":1}...
|
1789092777
|
Edit
Delete
|
|
29004
|
1
|
5
|
1
|
32
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"2c76ec9b9 {"Commits":[{"Sha1":"2c76ec9b9c795f68bb6c6c8d142685297f0b2854","Message":"预览图\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-11T10:27:07+08:00"}],"HeadCommit":{"Sha1":"2c76ec9b9c795f68bb6c6c8d142685297f0b2854","Message":"预览图\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-11T10:27:07+08:00"},"CompareURL":"zhangjunnan/zhouhui/compare/c981bb6b2fb07ca8811774426e5673ee5456a5d7...2c76ec9b9c795f68bb6c6c8d142685297f0b2854","Len":1}...
|
1789093636
|
Edit
Delete
|
|
29005
|
1
|
5
|
1
|
32
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"979aa0a7a {"Commits":[{"Sha1":"979aa0a7a94b2a25ff7db064e96ba84c341163f5","Message":"审核后自动发布\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-11T10:48:34+08:00"}],"HeadCommit":{"Sha1":"979aa0a7a94b2a25ff7db064e96ba84c341163f5","Message":"审核后自动发布\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-11T10:48:34+08:00"},"CompareURL":"zhangjunnan/zhouhui/compare/2c76ec9b9c795f68bb6c6c8d142685297f0b2854...979aa0a7a94b2a25ff7db064e96ba84c341163f5","Len":1}...
|
1789094922
|
Edit
Delete
|
|
29030
|
1
|
5
|
1
|
32
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"16d99520c {"Commits":[{"Sha1":"16d99520c60d00b9632793d2cd8782f1fe58ceae","Message":"审核后自动发布\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-11T13:06:33+08:00"}],"HeadCommit":{"Sha1":"16d99520c60d00b9632793d2cd8782f1fe58ceae","Message":"审核后自动发布\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-11T13:06:33+08:00"},"CompareURL":"zhangjunnan/zhouhui/compare/979aa0a7a94b2a25ff7db064e96ba84c341163f5...16d99520c60d00b9632793d2cd8782f1fe58ceae","Len":1}...
|
1789103201
|
Edit
Delete
|
|
29031
|
1
|
5
|
1
|
32
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"0b3fef814 {"Commits":[{"Sha1":"0b3fef81472fc848bb5c20b6ba35a4936b28f128","Message":"录音分析\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-11T13:14:23+08:00"}],"HeadCommit":{"Sha1":"0b3fef81472fc848bb5c20b6ba35a4936b28f128","Message":"录音分析\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-11T13:14:23+08:00"},"CompareURL":"zhangjunnan/zhouhui/compare/16d99520c60d00b9632793d2cd8782f1fe58ceae...0b3fef81472fc848bb5c20b6ba35a4936b28f128","Len":1}...
|
1789103670
|
Edit
Delete
|
|
29084
|
1
|
5
|
1
|
32
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"c49cac600 {"Commits":[{"Sha1":"c49cac60047582f5a2393ca5045e69bd8f091031","Message":"录音分析\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-11T15:15:53+08:00"}],"HeadCommit":{"Sha1":"c49cac60047582f5a2393ca5045e69bd8f091031","Message":"录音分析\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-11T15:15:53+08:00"},"CompareURL":"zhangjunnan/zhouhui/compare/0b3fef81472fc848bb5c20b6ba35a4936b28f128...c49cac60047582f5a2393ca5045e69bd8f091031","Len":1}...
|
1789110961
|
Edit
Delete
|
|
29093
|
1
|
5
|
1
|
32
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"3214d24c6 {"Commits":[{"Sha1":"3214d24c6cd48bb0cec1a9813e4eb6237ba3c658","Message":"录音分析\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-11T15:21:17+08:00"}],"HeadCommit":{"Sha1":"3214d24c6cd48bb0cec1a9813e4eb6237ba3c658","Message":"录音分析\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-11T15:21:17+08:00"},"CompareURL":"zhangjunnan/zhouhui/compare/c49cac60047582f5a2393ca5045e69bd8f091031...3214d24c6cd48bb0cec1a9813e4eb6237ba3c658","Len":1}...
|
1789111289
|
Edit
Delete
|
|
29108
|
8
|
5
|
8
|
45
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"f1977809c {"Commits":[{"Sha1":"f1977809c9a7f59121d6f43a74cd6d2d325e0b3f","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-11T15:33:41+08:00"}],"HeadCommit":{"Sha1":"f1977809c9a7f59121d6f43a74cd6d2d325e0b3f","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-11T15:33:41+08:00"},"CompareURL":"vodtest/database/compare/d3f4b4c02f1275286ce45f0995196ce41efef442...f1977809c9a7f59121d6f43a74cd6d2d325e0b3f","Len":1}...
|
1789112029
|
Edit
Delete
|
|
29109
|
9
|
5
|
8
|
45
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"f1977809c {"Commits":[{"Sha1":"f1977809c9a7f59121d6f43a74cd6d2d325e0b3f","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-11T15:33:41+08:00"}],"HeadCommit":{"Sha1":"f1977809c9a7f59121d6f43a74cd6d2d325e0b3f","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-11T15:33:41+08:00"},"CompareURL":"vodtest/database/compare/d3f4b4c02f1275286ce45f0995196ce41efef442...f1977809c9a7f59121d6f43a74cd6d2d325e0b3f","Len":1}...
|
1789112029
|
Edit
Delete
|
|
29110
|
1
|
5
|
8
|
45
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"f1977809c {"Commits":[{"Sha1":"f1977809c9a7f59121d6f43a74cd6d2d325e0b3f","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-11T15:33:41+08:00"}],"HeadCommit":{"Sha1":"f1977809c9a7f59121d6f43a74cd6d2d325e0b3f","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-11T15:33:41+08:00"},"CompareURL":"vodtest/database/compare/d3f4b4c02f1275286ce45f0995196ce41efef442...f1977809c9a7f59121d6f43a74cd6d2d325e0b3f","Len":1}...
|
1789112029
|
Edit
Delete
|
|
29111
|
3
|
5
|
8
|
45
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"f1977809c {"Commits":[{"Sha1":"f1977809c9a7f59121d6f43a74cd6d2d325e0b3f","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-11T15:33:41+08:00"}],"HeadCommit":{"Sha1":"f1977809c9a7f59121d6f43a74cd6d2d325e0b3f","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-11T15:33:41+08:00"},"CompareURL":"vodtest/database/compare/d3f4b4c02f1275286ce45f0995196ce41efef442...f1977809c9a7f59121d6f43a74cd6d2d325e0b3f","Len":1}...
|
1789112029
|
Edit
Delete
|
|
29112
|
4
|
5
|
8
|
45
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"f1977809c {"Commits":[{"Sha1":"f1977809c9a7f59121d6f43a74cd6d2d325e0b3f","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-11T15:33:41+08:00"}],"HeadCommit":{"Sha1":"f1977809c9a7f59121d6f43a74cd6d2d325e0b3f","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-11T15:33:41+08:00"},"CompareURL":"vodtest/database/compare/d3f4b4c02f1275286ce45f0995196ce41efef442...f1977809c9a7f59121d6f43a74cd6d2d325e0b3f","Len":1}...
|
1789112029
|
Edit
Delete
|
|
29113
|
7
|
5
|
8
|
45
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"f1977809c {"Commits":[{"Sha1":"f1977809c9a7f59121d6f43a74cd6d2d325e0b3f","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-11T15:33:41+08:00"}],"HeadCommit":{"Sha1":"f1977809c9a7f59121d6f43a74cd6d2d325e0b3f","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-11T15:33:41+08:00"},"CompareURL":"vodtest/database/compare/d3f4b4c02f1275286ce45f0995196ce41efef442...f1977809c9a7f59121d6f43a74cd6d2d325e0b3f","Len":1}...
|
1789112029
|
Edit
Delete
|
|
29114
|
10
|
5
|
8
|
45
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"f1977809c {"Commits":[{"Sha1":"f1977809c9a7f59121d6f43a74cd6d2d325e0b3f","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-11T15:33:41+08:00"}],"HeadCommit":{"Sha1":"f1977809c9a7f59121d6f43a74cd6d2d325e0b3f","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-11T15:33:41+08:00"},"CompareURL":"vodtest/database/compare/d3f4b4c02f1275286ce45f0995196ce41efef442...f1977809c9a7f59121d6f43a74cd6d2d325e0b3f","Len":1}...
|
1789112029
|
Edit
Delete
|
|
29115
|
11
|
5
|
8
|
45
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"f1977809c {"Commits":[{"Sha1":"f1977809c9a7f59121d6f43a74cd6d2d325e0b3f","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-11T15:33:41+08:00"}],"HeadCommit":{"Sha1":"f1977809c9a7f59121d6f43a74cd6d2d325e0b3f","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-11T15:33:41+08:00"},"CompareURL":"vodtest/database/compare/d3f4b4c02f1275286ce45f0995196ce41efef442...f1977809c9a7f59121d6f43a74cd6d2d325e0b3f","Len":1}...
|
1789112029
|
Edit
Delete
|
|
29155
|
1
|
5
|
1
|
32
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"ed2e8fc99 {"Commits":[{"Sha1":"ed2e8fc9917a881c5b1c70d9e4d2558e2debb27c","Message":"录音分析\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-11T16:35:19+08:00"}],"HeadCommit":{"Sha1":"ed2e8fc9917a881c5b1c70d9e4d2558e2debb27c","Message":"录音分析\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-11T16:35:19+08:00"},"CompareURL":"zhangjunnan/zhouhui/compare/3214d24c6cd48bb0cec1a9813e4eb6237ba3c658...ed2e8fc9917a881c5b1c70d9e4d2558e2debb27c","Len":1}...
|
1789115739
|
Edit
Delete
|
|
29161
|
1
|
5
|
1
|
32
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"9f72f4848 {"Commits":[{"Sha1":"9f72f484813d9b55dba4a87c296051fb33ab4f5b","Message":"录音分析\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-11T17:03:52+08:00"}],"HeadCommit":{"Sha1":"9f72f484813d9b55dba4a87c296051fb33ab4f5b","Message":"录音分析\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-11T17:03:52+08:00"},"CompareURL":"zhangjunnan/zhouhui/compare/ed2e8fc9917a881c5b1c70d9e4d2558e2debb27c...9f72f484813d9b55dba4a87c296051fb33ab4f5b","Len":1}...
|
1789117440
|
Edit
Delete
|
|
29186
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/fw-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
|
|
29187
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/fw-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
|
|
29188
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/fw-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
|
|
29189
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/fw-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
|
|
29190
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/fw-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
|
|
29191
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/fw-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
|
|
29192
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/fw-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
|
|
29193
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/fw-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
|
|
29194
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/fw-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
|
|
29195
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/fw-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
|
|
29196
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/fw-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}...
|
1789198036
|
Edit
Delete
|
|
29197
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/fw-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}...
|
1789198036
|
Edit
Delete
|
|
29198
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/fw-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}...
|
1789198036
|
Edit
Delete
|
|
29199
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/fw-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}...
|
1789198036
|
Edit
Delete
|
|
29200
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/fw-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}...
|
1789198036
|
Edit
Delete
|
|
29201
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/fw-v0.9.0
|
1
|
{"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/tenant-scope/compare/0000000000000000000000000000000000000000...5f190bbd89bb73e4b96138115c42dc5df11721eb","Len":0}...
|
1789198036
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
29217
|
5
|
9
|
5
|
106
|
0
|
0
|
refs/tags/v0.9.0
|
1
|
{"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/tenant-scope/compare/0000000000000000000000000000000000000000...5f190bbd89bb73e4b96138115c42dc5df11721eb","Len":0}...
|
1789198037
|
Edit
Delete
|
|
29234
|
5
|
5
|
5
|
83
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"df46b9883 {"Commits":[{"Sha1":"df46b98835ff77c7f4675e043d0869799fbb8d08","Message":"feat(platform): pin published RC contracts and governance in HR checks\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-12T01:51:37-07:00"}],"HeadCommit":{"Sha1":"df46b98835ff77c7f4675e043d0869799fbb8d08","Message":"feat(platform): pin published RC contracts and governance in HR checks\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-12T01:51:37-07:00"},"CompareURL":"luoanwu/juhai-ai-hr-system/compare/c652cd634964e915a0a9895cc9a91be4381333b0...df46b98835ff77c7f4675e043d0869799fbb8d08","Len":1}...
|
1789203232
|
Edit
Delete
|