|
25933
|
5
|
5
|
5
|
80
|
0
|
0
|
refs/heads/main
|
1
|
|
1787673170
|
Edit
Delete
|
|
25934
|
5
|
5
|
5
|
80
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"49e97bd63 {"Commits":[{"Sha1":"49e97bd63c64e1d0484db4acffd63d40ab27bbbe","Message":"feat: implement governed device cloud V1\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T08:46:32-07:00"},{"Sha1":"670a202de86da74457bd91abf25430d04ee6cbbf","Message":"chore: bind static governance evidence\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-24T06:38:40-07:00"},{"Sha1":"47401905d7dfd16ce4c6564b881bffd3083ef847","Message":"docs: record device cloud local acceptance\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-24T06:38:16-07:00"},{"Sha1":"659ea41dd717401cf8c2a12eb36ec4add68ba15d","Message":"chore: migrate governed framework to device cloud\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-24T06:17:21-07:00"}],"HeadCommit":{"Sha1":"49e97bd63c64e1d0484db4acffd63d40ab27bbbe","Message":"feat: implement governed device cloud V1\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T08:46:32-07:00"},"CompareURL":"","Len":4}...
|
1787673170
|
Edit
Delete
|
|
25942
|
5
|
5
|
5
|
80
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"730792458 {"Commits":[{"Sha1":"7307924582aa9ace4042b51463833ebd9bc9d17e","Message":"feat: harden device cloud governance\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T17:19:11-07:00"}],"HeadCommit":{"Sha1":"7307924582aa9ace4042b51463833ebd9bc9d17e","Message":"feat: harden device cloud governance\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T17:19:11-07:00"},"CompareURL":"luoanwu/juhai-device-cloud/compare/49e97bd63c64e1d0484db4acffd63d40ab27bbbe...7307924582aa9ace4042b51463833ebd9bc9d17e","Len":1}...
|
1787706493
|
Edit
Delete
|
|
29819
|
5
|
5
|
5
|
80
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"bda8349f3 {"Commits":[{"Sha1":"bda8349f3440331dc74da6a4a41880607201d63d","Message":"chore: refresh governance evidence reports\n\nRegenerate reports/*.latest.json from the latest local gate run\n(contract-consumers, device-boundaries, dual-backend-parity,\nmigrations, naming, os-product-compat, schema-sync,\nstatemachine-write-guard, validation-source, evidence-current).\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-14T19:51:44-07:00"}],"HeadCommit":{"Sha1":"bda8349f3440331dc74da6a4a41880607201d63d","Message":"chore: refresh governance evidence reports\n\nRegenerate reports/*.latest.json from the latest local gate run\n(contract-consumers, device-boundaries, dual-backend-parity,\nmigrations, naming, os-product-compat, schema-sync,\nstatemachine-write-guard, validation-source, evidence-current).\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-14T19:51:44-07:00"},"CompareURL":"luoanwu/juhai-device-cloud/compare/7307924582aa9ace4042b51463833ebd9bc9d17e...bda8349f3440331dc74da6a4a41880607201d63d","Len":1}...
|
1789440869
|
Edit
Delete
|
|
30104
|
5
|
5
|
5
|
80
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"50f4399dc {"Commits":[{"Sha1":"50f4399dc7bb4ef9be6f97aa60a8e3148667c3e2","Message":"chore(governance): 在 clean HEAD 上重跑静态门禁,证据第一次绑定当前提交\n\n迁移后本仓 19 份 reports/*.latest.json 无一绑定当前 HEAD,全部生成于 2026-08-26 /\n09-10 的旧树,按证据纪律一律按 STALE 对待——也就是说当前 HEAD 的质量一直是未知数。\n\n本次在 clean HEAD (bda8349) 上逐条重跑全部静态门禁:12 通过 / 2 失败,14 份报告\nprovenance 全部 gitSha=bda8349 且 worktreeDirty=false。\n\n两条失败都是跨仓耦合,不是本仓静态问题:\n- check-evidence-current:os-product-runtime 的 upstream 指向基座 checkout 状态\n- check-os-product-compat:产品兼容性需要基座侧路径\n\n不跑需实例的门禁(runtime / UI / 容器 / 灾备),那些要 DATABASE_URL 与浏览器,\n按证据等级\"静态 \u003c 真实 DB \u003c 浏览器\",本次只提升到静态一级。\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:34:03-07:00"}],"HeadCommit":{"Sha1":"50f4399dc7bb4ef9be6f97aa60a8e3148667c3e2","Message":"chore(governance): 在 clean HEAD 上重跑静态门禁,证据第一次绑定当前提交\n\n迁移后本仓 19 份 reports/*.latest.json 无一绑定当前 HEAD,全部生成于 2026-08-26 /\n09-10 的旧树,按证据纪律一律按 STALE 对待——也就是说当前 HEAD 的质量一直是未知数。\n\n本次在 clean HEAD (bda8349) 上逐条重跑全部静态门禁:12 通过 / 2 失败,14 份报告\nprovenance 全部 gitSha=bda8349 且 worktreeDirty=false。\n\n两条失败都是跨仓耦合,不是本仓静态问题:\n- check-evidence-current:os-product-runtime 的 upstream 指向基座 checkout 状态\n- check-os-product-compat:产品兼容性需要基座侧路径\n\n不跑需实例的门禁(runtime / UI / 容器 / 灾备),那些要 DATABASE_URL 与浏览器,\n按证据等级\"静态 \u003c 真实 DB \u003c 浏览器\",本次只提升到静态一级。\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:34:03-07:00"},"CompareURL":"luoanwu/juhai-device-cloud/compare/bda8349f3440331dc74da6a4a41880607201d63d...50f4399dc7bb4ef9be6f97aa60a8e3148667c3e2","Len":1}...
|
1789458924
|
Edit
Delete
|
|
25938
|
5
|
1
|
5
|
81
|
0
|
0
|
|
1
|
|
1787705235
|
Edit
Delete
|
|
25939
|
5
|
5
|
5
|
81
|
0
|
0
|
refs/heads/main
|
1
|
|
1787705280
|
Edit
Delete
|
|
25940
|
5
|
5
|
5
|
81
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"464b90ba5 {"Commits":[{"Sha1":"464b90ba5bf51536276468811aac396e51d66892","Message":"chore(governance): refresh clean static evidence\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T17:47:04-07:00"},{"Sha1":"3f5170b91355e6726ead25e98deb98ea406508a8","Message":"fix: close diagnosis and governance gaps\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T17:09:26-07:00"},{"Sha1":"92324df6f0d200c66af7c2f378b471888405b358","Message":"feat: add governed juhai service product layer\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T08:56:28-07:00"},{"Sha1":"24e5dc292b0ac0acc47c0c900388cebb20cf6d07","Message":"chore: refresh clean static evidence\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-03T21:01:59-07:00"},{"Sha1":"be316e46e829c58a7cf449d2a0d1f80de6986bf5","Message":"chore: record migration evidence\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-03T21:01:32-07:00"}],"HeadCommit":{"Sha1":"464b90ba5bf51536276468811aac396e51d66892","Message":"chore(governance): refresh clean static evidence\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T17:47:04-07:00"},"CompareURL":"","Len":6}...
|
1787705280
|
Edit
Delete
|
|
25952
|
5
|
5
|
5
|
81
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"ce807fe94 {"Commits":[{"Sha1":"ce807fe941d01cc4a4a399c474be857407d4aed9","Message":"docs(governance): clarify evidence baseline\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T18:46:56-07:00"},{"Sha1":"a66ef1d2521ccf4b1c9a9c2da07eb9975ae1dc71","Message":"feat(governance): enforce signed tenant auth\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T18:46:21-07:00"}],"HeadCommit":{"Sha1":"ce807fe941d01cc4a4a399c474be857407d4aed9","Message":"docs(governance): clarify evidence baseline\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T18:46:56-07:00"},"CompareURL":"luoanwu/juhai-after-sales-service-system/compare/464b90ba5bf51536276468811aac396e51d66892...ce807fe941d01cc4a4a399c474be857407d4aed9","Len":2}...
|
1787708840
|
Edit
Delete
|
|
25953
|
5
|
5
|
5
|
81
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"f7f15c92e {"Commits":[{"Sha1":"f7f15c92e83a6df0de98d1d5df4dfdd9b63cd284","Message":"chore(governance): synchronize agent adapters\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T18:51:53-07:00"}],"HeadCommit":{"Sha1":"f7f15c92e83a6df0de98d1d5df4dfdd9b63cd284","Message":"chore(governance): synchronize agent adapters\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T18:51:53-07:00"},"CompareURL":"luoanwu/juhai-after-sales-service-system/compare/ce807fe941d01cc4a4a399c474be857407d4aed9...f7f15c92e83a6df0de98d1d5df4dfdd9b63cd284","Len":1}...
|
1787709129
|
Edit
Delete
|
|
26019
|
5
|
5
|
5
|
81
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"158a8d0a3 {"Commits":[{"Sha1":"158a8d0a3ccc575be23117643ac664ec1b6f73dc","Message":"feat(events): harden outbox delivery and map business logic\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T19:07:32-07:00"}],"HeadCommit":{"Sha1":"158a8d0a3ccc575be23117643ac664ec1b6f73dc","Message":"feat(events): harden outbox delivery and map business logic\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T19:07:32-07:00"},"CompareURL":"luoanwu/juhai-after-sales-service-system/compare/f7f15c92e83a6df0de98d1d5df4dfdd9b63cd284...158a8d0a3ccc575be23117643ac664ec1b6f73dc","Len":1}...
|
1787710066
|
Edit
Delete
|
|
26041
|
5
|
5
|
5
|
81
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"fbedaf6d0 {"Commits":[{"Sha1":"fbedaf6d0398693dc8466b4b72b6265d2397d93c","Message":"feat(operations): govern event recovery and activation leases\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T19:30:17-07:00"}],"HeadCommit":{"Sha1":"fbedaf6d0398693dc8466b4b72b6265d2397d93c","Message":"feat(operations): govern event recovery and activation leases\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T19:30:17-07:00"},"CompareURL":"luoanwu/juhai-after-sales-service-system/compare/158a8d0a3ccc575be23117643ac664ec1b6f73dc...fbedaf6d0398693dc8466b4b72b6265d2397d93c","Len":1}...
|
1787711431
|
Edit
Delete
|
|
26122
|
5
|
5
|
5
|
81
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"3d56a9a4f {"Commits":[{"Sha1":"3d56a9a4fb9cccedf11cfdb53a470fa7f29e94c7","Message":"test(governance): close dual-backend runtime blind spots\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T20:18:54-07:00"}],"HeadCommit":{"Sha1":"3d56a9a4fb9cccedf11cfdb53a470fa7f29e94c7","Message":"test(governance): close dual-backend runtime blind spots\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T20:18:54-07:00"},"CompareURL":"luoanwu/juhai-after-sales-service-system/compare/fbedaf6d0398693dc8466b4b72b6265d2397d93c...3d56a9a4fb9cccedf11cfdb53a470fa7f29e94c7","Len":1}...
|
1787714348
|
Edit
Delete
|
|
26555
|
5
|
5
|
5
|
81
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"466e9752b {"Commits":[{"Sha1":"466e9752ba0f670d790b5134ff2d12e5b0e974ea","Message":"feat(mobile): add governed Capacitor delivery\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-27T01:51:00-07:00"}],"HeadCommit":{"Sha1":"466e9752ba0f670d790b5134ff2d12e5b0e974ea","Message":"feat(mobile): add governed Capacitor delivery\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-27T01:51:00-07:00"},"CompareURL":"luoanwu/juhai-after-sales-service-system/compare/3d56a9a4fb9cccedf11cfdb53a470fa7f29e94c7...466e9752ba0f670d790b5134ff2d12e5b0e974ea","Len":1}...
|
1787820687
|
Edit
Delete
|
|
29815
|
5
|
5
|
5
|
81
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"2085f1a31 {"Commits":[{"Sha1":"2085f1a31a52687344dd74911761be941a185b3c","Message":"feat(service): add notification delivery and device reference projection\n\n- notification delivery: new service-operations delivery path with\n service_notification_intents migration and integration tests on both backends\n- device reference projection: consume device-cloud reference contract\n via new packages/contracts/src/device-cloud.ts and projection migration\n- publish juhai-service-os-product 0.3.0 and refresh product/manifest locks\n- extend check-dual-backend-parity gate; refresh reports evidence\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-14T19:52:09-07:00"}],"HeadCommit":{"Sha1":"2085f1a31a52687344dd74911761be941a185b3c","Message":"feat(service): add notification delivery and device reference projection\n\n- notification delivery: new service-operations delivery path with\n service_notification_intents migration and integration tests on both backends\n- device reference projection: consume device-cloud reference contract\n via new packages/contracts/src/device-cloud.ts and projection migration\n- publish juhai-service-os-product 0.3.0 and refresh product/manifest locks\n- extend check-dual-backend-parity gate; refresh reports evidence\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-14T19:52:09-07:00"},"CompareURL":"luoanwu/juhai-after-sales-service-system/compare/466e9752ba0f670d790b5134ff2d12e5b0e974ea...2085f1a31a52687344dd74911761be941a185b3c","Len":1}...
|
1789440859
|
Edit
Delete
|
|
31178
|
5
|
5
|
5
|
81
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"cc4e7d4da {"Commits":[{"Sha1":"cc4e7d4da3cd396ee608a41307d2b9a496b8d3dd","Message":"fix(service): 通知投递未知异常不再默认重试,并显式传重试上限\n\n两处与同名包在其余消费仓的语义漂移:\n\n- packages/notification-delivery:decideNotificationFailure 对非 NotificationDeliveryError 的\n 异常默认 retryable=true。模板体检失败(assertRegisteredNotificationTemplate 在 try 内)这类\n 确定性错误因此会白烧三次重试预算才进死信。改为只有投递层明确标了可重试才重试。\n- 同批补 NotificationTemplateError 的消息分支:缺它时 lastError 会把模板错误写成\n 「NOTIFICATION_PROVIDER_UNAVAILABLE」,运维照着这条记录去查供应商,查不到任何东西。\n- 两后端 decideNotificationFailure 显式传 maxAttempts: MAX_ATTEMPTS。此前领取查询用本地常数 3、\n 死信判定用包默认 3,靠巧合对齐,改任一边即静默不一致。\n\n验证:typecheck 绿;包单测 5/5(新增未知异常与模板错误两条断言);dual-backend /\nconcurrency-guard / migrations / governance-docs / docs-truth / mobile / provenance 逐道绿。\ncheck:os-product 红,与本次无关:它按 ../Digital Employee OS 找 OS 仓(该路径已不存在),指到真实\n路径后卡在锁定的 OS 基线 SHA,本次改动前即如此。\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:06:35-07:00"}],"HeadCommit":{"Sha1":"cc4e7d4da3cd396ee608a41307d2b9a496b8d3dd","Message":"fix(service): 通知投递未知异常不再默认重试,并显式传重试上限\n\n两处与同名包在其余消费仓的语义漂移:\n\n- packages/notification-delivery:decideNotificationFailure 对非 NotificationDeliveryError 的\n 异常默认 retryable=true。模板体检失败(assertRegisteredNotificationTemplate 在 try 内)这类\n 确定性错误因此会白烧三次重试预算才进死信。改为只有投递层明确标了可重试才重试。\n- 同批补 NotificationTemplateError 的消息分支:缺它时 lastError 会把模板错误写成\n 「NOTIFICATION_PROVIDER_UNAVAILABLE」,运维照着这条记录去查供应商,查不到任何东西。\n- 两后端 decideNotificationFailure 显式传 maxAttempts: MAX_ATTEMPTS。此前领取查询用本地常数 3、\n 死信判定用包默认 3,靠巧合对齐,改任一边即静默不一致。\n\n验证:typecheck 绿;包单测 5/5(新增未知异常与模板错误两条断言);dual-backend /\nconcurrency-guard / migrations / governance-docs / docs-truth / mobile / provenance 逐道绿。\ncheck:os-product 红,与本次无关:它按 ../Digital Employee OS 找 OS 仓(该路径已不存在),指到真实\n路径后卡在锁定的 OS 基线 SHA,本次改动前即如此。\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:06:35-07:00"},"CompareURL":"luoanwu/juhai-after-sales-service-system/compare/2085f1a31a52687344dd74911761be941a185b3c...cc4e7d4da3cd396ee608a41307d2b9a496b8d3dd","Len":1}...
|
1789772844
|
Edit
Delete
|
|
25943
|
5
|
1
|
5
|
82
|
0
|
0
|
|
1
|
|
1787706537
|
Edit
Delete
|
|
25944
|
5
|
5
|
5
|
82
|
0
|
0
|
refs/heads/main
|
1
|
|
1787706744
|
Edit
Delete
|
|
25945
|
5
|
5
|
5
|
82
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"343e79d76 {"Commits":[{"Sha1":"343e79d764ae566372808d0d922fcef7ca12a30e","Message":"feat: establish governed AI ticket system core\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T17:10:23-07:00"},{"Sha1":"93598cc86c43b217c9b9b5dde7b8275bada3775b","Message":"chore: refresh OS product blueprint reports\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T09:37:52-07:00"},{"Sha1":"5901fddaa4fb03678e2367fea9ed81797de20f0f","Message":"docs: define Digital Employee OS ticket product layer\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T09:37:25-07:00"},{"Sha1":"d5c3cef1b42519c622d95937f43d70be5b48edf3","Message":"chore: refresh governance reports\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T09:31:10-07:00"},{"Sha1":"5a163aff14d43326f49ea9fe6876edfccaca2052","Message":"docs: define standalone ticket system blueprint\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T09:30:46-07:00"}],"HeadCommit":{"Sha1":"343e79d764ae566372808d0d922fcef7ca12a30e","Message":"feat: establish governed AI ticket system core\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T17:10:23-07:00"},"CompareURL":"","Len":8}...
|
1787706744
|
Edit
Delete
|
|
26726
|
5
|
5
|
5
|
82
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"f78be17ac {"Commits":[{"Sha1":"f78be17ac5fecb9cfa36e167b1e85ea26a48fa45","Message":"feat: unify projects and tickets under execution control\n\nEstablish Projects and Tickets as separate owned fact domains coordinated by Execution Control across NestJS, Fastify, and the Next.js BFF.\n\nAdd governed identity, SLA, automation, AI, attachment, operations, deployment, and provenance-bound static/runtime/browser acceptance.\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-28T03:46:07-07:00"}],"HeadCommit":{"Sha1":"f78be17ac5fecb9cfa36e167b1e85ea26a48fa45","Message":"feat: unify projects and tickets under execution control\n\nEstablish Projects and Tickets as separate owned fact domains coordinated by Execution Control across NestJS, Fastify, and the Next.js BFF.\n\nAdd governed identity, SLA, automation, AI, attachment, operations, deployment, and provenance-bound static/runtime/browser acceptance.\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-28T03:46:07-07:00"},"CompareURL":"luoanwu/juhai-ai-work-order-system/compare/343e79d764ae566372808d0d922fcef7ca12a30e...f78be17ac5fecb9cfa36e167b1e85ea26a48fa45","Len":1}...
|
1787913990
|
Edit
Delete
|
|
29817
|
5
|
5
|
5
|
82
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"ab2e7f155 {"Commits":[{"Sha1":"ab2e7f155b4fbe2e9bebc1ac4887247efc0e97c7","Message":"feat(ticket): govern automation configuration provenance\n\n- automation: record configuration provenance via new\n automation_configuration_provenance migration and configuration plugin\n- add packages/configuration-client and packages/notification-delivery\n- attachments: align service and package contracts, add package tests\n- web: rework UnifiedCalendarPanel and ticket page acceptance paths\n- add scripts/check-configuration-consumer gate and its evidence report\n- gitignore .codex/ alongside .codex-audit/ (local UX audit screenshots,\n not product source or governance input)\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-14T19:52:26-07:00"}],"HeadCommit":{"Sha1":"ab2e7f155b4fbe2e9bebc1ac4887247efc0e97c7","Message":"feat(ticket): govern automation configuration provenance\n\n- automation: record configuration provenance via new\n automation_configuration_provenance migration and configuration plugin\n- add packages/configuration-client and packages/notification-delivery\n- attachments: align service and package contracts, add package tests\n- web: rework UnifiedCalendarPanel and ticket page acceptance paths\n- add scripts/check-configuration-consumer gate and its evidence report\n- gitignore .codex/ alongside .codex-audit/ (local UX audit screenshots,\n not product source or governance input)\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-14T19:52:26-07:00"},"CompareURL":"luoanwu/juhai-ai-work-order-system/compare/f78be17ac5fecb9cfa36e167b1e85ea26a48fa45...ab2e7f155b4fbe2e9bebc1ac4887247efc0e97c7","Len":1}...
|
1789440864
|
Edit
Delete
|
|
30102
|
5
|
5
|
5
|
82
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"7c4b197f0 {"Commits":[{"Sha1":"7c4b197f018b02f5ed675758af3f5be5dbd1de02","Message":"chore(governance): 在 clean HEAD 上重跑静态门禁,证据第一次绑定当前提交\n\n迁移后本仓 22 份 reports/*.latest.json 无一绑定当前 HEAD,21 份还生成于脏树,\n按证据纪律一律 STALE——当前 HEAD 的质量一直是未知数。\n\n本次在 clean HEAD (ab2e7f1) 上逐条重跑:15 通过 / 3 失败,16 份报告 provenance\n全部 gitSha=ab2e7f1 且 worktreeDirty=false。\n\n三条失败**不是判定失败,是跑不起来**——缺环境变量,属需实例门禁:\n- check-capacity CAPACITY_FASTIFY_URL\n- check-dual-backend-behavior DATABASE_URL + REDIS_URL\n- check-outbox-operations DATABASE_URL\n\n也就是说本仓静态面 15/15 全绿。按证据等级\"静态 \u003c 真实 DB \u003c 浏览器\",本次只提升\n到静态一级;需实例那三条要另起一轮。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-15T00:34:15-07:00"}],"HeadCommit":{"Sha1":"7c4b197f018b02f5ed675758af3f5be5dbd1de02","Message":"chore(governance): 在 clean HEAD 上重跑静态门禁,证据第一次绑定当前提交\n\n迁移后本仓 22 份 reports/*.latest.json 无一绑定当前 HEAD,21 份还生成于脏树,\n按证据纪律一律 STALE——当前 HEAD 的质量一直是未知数。\n\n本次在 clean HEAD (ab2e7f1) 上逐条重跑:15 通过 / 3 失败,16 份报告 provenance\n全部 gitSha=ab2e7f1 且 worktreeDirty=false。\n\n三条失败**不是判定失败,是跑不起来**——缺环境变量,属需实例门禁:\n- check-capacity CAPACITY_FASTIFY_URL\n- check-dual-backend-behavior DATABASE_URL + REDIS_URL\n- check-outbox-operations DATABASE_URL\n\n也就是说本仓静态面 15/15 全绿。按证据等级\"静态 \u003c 真实 DB \u003c 浏览器\",本次只提升\n到静态一级;需实例那三条要另起一轮。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-15T00:34:15-07:00"},"CompareURL":"luoanwu/juhai-ai-work-order-system/compare/ab2e7f155b4fbe2e9bebc1ac4887247efc0e97c7...7c4b197f018b02f5ed675758af3f5be5dbd1de02","Len":1}...
|
1789458921
|
Edit
Delete
|
|
31177
|
5
|
5
|
5
|
82
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"601955837 {"Commits":[{"Sha1":"601955837eb8caa25a91a2c2da96d9a06f8ea455","Message":"fix(ticket): 通知投递补认领凭据与显式重试上限\n\n领取此前只看 PENDING/FAILED,且完成回写只按 status=\"SENDING\" 匹配:进程崩在 deliver() 里的那行\n会永远停在 SENDING,没有任何路径能把它捡回来。另有一处重试上限双份常数——领取查询没有上限,\n死信判定走的是 @repo/notification-delivery 的包默认 3,两边靠巧合对齐,改任一边即静默不一致。\n\n- notifications 表加 claim_owner / claim_expires_at(两后端各一份 schema 与迁移),领取写认领、\n 完成按 claimOwner 回写并清空,与其余两个消费仓的 claim 列同形。\n- 领取前先把预算烧完的行(含认领过期仍卡在 SENDING 的)扫成死信;领取查询新增「SENDING 且\n 认领已过期」一支,并显式限定 attempts \u003c NOTIFICATION_MAX_ATTEMPTS。\n- 重试上限收敛为一个常数,同时进领取查询、死信清扫和 decideNotificationFailure。\n- 迁移不建索引:本仓迁移红线把非 CONCURRENTLY 的 CREATE INDEX 判为高危 DDL(首版实测被 exit 1\n 拦下),过期 SENDING 那一支由既有 notifications_tenant_status_next_attempt_idx 的\n (tenant_id, status) 前缀服务;要加 (tenant_id, status, claim_expires_at) 须按\n expand→migrate→contract 单独提,不混在这条加列迁移里。\n- packages/notification-delivery:未知异常不再默认可重试(模板体检失败这类确定性错误重发多少次\n 都是同一个结果),并补 NotificationTemplateError 的消息分支——缺它时 lastError 会把模板错误\n 写成「供应商不可用」。与报价仓的同名包语义就此一致。\n\n验证:pnpm check 全绿(15 道静态门禁 + lint + typecheck,含 write-guard / dual-backend /\nmigrations / write-chain);包单测 9/9。领取与清扫 SQL 在本机 Postgres 建临时库实跑:清扫只命中\n「预算烧完 + 认领过期」那一行,领取只取到「到期 PENDING」与「认领过期 SENDING」,正确跳过活认领、\n他租户与 next_attempt_at 未到的行,临时库跑完已删。\n\n未跑:两后端新增的认领回收验收用例(NestJS/Fastify 逐条镜像)属 check:runtime 级别,需 pgvector\n的真实库 + Redis + 附件基础设施,本机 PG 无 pgvector,未硬凑环境,故本次不声称该级证据。\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:06:27-07:00"}],"HeadCommit":{"Sha1":"601955837eb8caa25a91a2c2da96d9a06f8ea455","Message":"fix(ticket): 通知投递补认领凭据与显式重试上限\n\n领取此前只看 PENDING/FAILED,且完成回写只按 status=\"SENDING\" 匹配:进程崩在 deliver() 里的那行\n会永远停在 SENDING,没有任何路径能把它捡回来。另有一处重试上限双份常数——领取查询没有上限,\n死信判定走的是 @repo/notification-delivery 的包默认 3,两边靠巧合对齐,改任一边即静默不一致。\n\n- notifications 表加 claim_owner / claim_expires_at(两后端各一份 schema 与迁移),领取写认领、\n 完成按 claimOwner 回写并清空,与其余两个消费仓的 claim 列同形。\n- 领取前先把预算烧完的行(含认领过期仍卡在 SENDING 的)扫成死信;领取查询新增「SENDING 且\n 认领已过期」一支,并显式限定 attempts \u003c NOTIFICATION_MAX_ATTEMPTS。\n- 重试上限收敛为一个常数,同时进领取查询、死信清扫和 decideNotificationFailure。\n- 迁移不建索引:本仓迁移红线把非 CONCURRENTLY 的 CREATE INDEX 判为高危 DDL(首版实测被 exit 1\n 拦下),过期 SENDING 那一支由既有 notifications_tenant_status_next_attempt_idx 的\n (tenant_id, status) 前缀服务;要加 (tenant_id, status, claim_expires_at) 须按\n expand→migrate→contract 单独提,不混在这条加列迁移里。\n- packages/notification-delivery:未知异常不再默认可重试(模板体检失败这类确定性错误重发多少次\n 都是同一个结果),并补 NotificationTemplateError 的消息分支——缺它时 lastError 会把模板错误\n 写成「供应商不可用」。与报价仓的同名包语义就此一致。\n\n验证:pnpm check 全绿(15 道静态门禁 + lint + typecheck,含 write-guard / dual-backend /\nmigrations / write-chain);包单测 9/9。领取与清扫 SQL 在本机 Postgres 建临时库实跑:清扫只命中\n「预算烧完 + 认领过期」那一行,领取只取到「到期 PENDING」与「认领过期 SENDING」,正确跳过活认领、\n他租户与 next_attempt_at 未到的行,临时库跑完已删。\n\n未跑:两后端新增的认领回收验收用例(NestJS/Fastify 逐条镜像)属 check:runtime 级别,需 pgvector\n的真实库 + Redis + 附件基础设施,本机 PG 无 pgvector,未硬凑环境,故本次不声称该级证据。\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:06:27-07:00"},"CompareURL":"luoanwu/juhai-ai-work-order-system/compare/7c4b197f018b02f5ed675758af3f5be5dbd1de02...601955837eb8caa25a91a2c2da96d9a06f8ea455","Len":1}...
|
1789772841
|
Edit
Delete
|
|
25947
|
5
|
1
|
5
|
83
|
0
|
0
|
|
1
|
|
1787708118
|
Edit
Delete
|
|
26790
|
5
|
5
|
5
|
83
|
0
|
0
|
refs/heads/main
|
1
|
|
1788073796
|
Edit
Delete
|
|
26791
|
5
|
5
|
5
|
83
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"c652cd634 {"Commits":[{"Sha1":"c652cd634964e915a0a9895cc9a91be4381333b0","Message":"feat(hr): implement governed HR v2 product foundation\n\nAdd Personnel Core, enterprise identity, recruitment, workforce time and leave, payroll, performance, dual-backend parity, OS product distribution, browser workbenches, and provenance-bound acceptance evidence.\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-28T03:42:38-07:00"},{"Sha1":"76b19716eb3450c705c6379b459894437af03acb","Message":"chore(reports): refresh target static evidence\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T18:34:25-07:00"},{"Sha1":"9d8386e522a5d37e3a826470b66c8e82abce2468","Message":"docs: record target migration verification\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T18:34:08-07:00"},{"Sha1":"805763fbf9a354c7225c5e3106ff16171daa56e1","Message":"chore: bootstrap 巨嗨 AI 人事系统基础框架\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T18:32:35-07:00"}],"HeadCommit":{"Sha1":"c652cd634964e915a0a9895cc9a91be4381333b0","Message":"feat(hr): implement governed HR v2 product foundation\n\nAdd Personnel Core, enterprise identity, recruitment, workforce time and leave, payroll, performance, dual-backend parity, OS product distribution, browser workbenches, and provenance-bound acceptance evidence.\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-28T03:42:38-07:00"},"CompareURL":"","Len":4}...
|
1788073796
|
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
|
|
29247
|
5
|
5
|
5
|
83
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"c934bc462 {"Commits":[{"Sha1":"c934bc46240daae849ad93cfacaa3b25c41b323f","Message":"test(platform): keep dispatcher fixtures aligned with Redis client options\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-12T02:38:16-07:00"},{"Sha1":"330a3287b5c0b68652d73af62cab45f99b0d5a84","Message":"fix(platform): scope realtime channels for shared development Redis\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-12T02:26:46-07:00"}],"HeadCommit":{"Sha1":"c934bc46240daae849ad93cfacaa3b25c41b323f","Message":"test(platform): keep dispatcher fixtures aligned with Redis client options\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-12T02:38:16-07:00"},"CompareURL":"luoanwu/juhai-ai-hr-system/compare/df46b98835ff77c7f4675e043d0869799fbb8d08...c934bc46240daae849ad93cfacaa3b25c41b323f","Len":2}...
|
1789206499
|
Edit
Delete
|
|
29277
|
5
|
5
|
5
|
83
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"caf551df7 {"Commits":[{"Sha1":"caf551df74c25b3bad8b1a5540f3cc8900649b2d","Message":"docs(governance): record clean RC1 consumer verification\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-12T06:53:40-07:00"},{"Sha1":"c39a56fdb9dbf93e1a4623165569f225775be692","Message":"chore(governance): consume platform RC1 and require contract fixtures\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-12T06:53:07-07:00"}],"HeadCommit":{"Sha1":"caf551df74c25b3bad8b1a5540f3cc8900649b2d","Message":"docs(governance): record clean RC1 consumer verification\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-12T06:53:40-07:00"},"CompareURL":"luoanwu/juhai-ai-hr-system/compare/c934bc46240daae849ad93cfacaa3b25c41b323f...caf551df74c25b3bad8b1a5540f3cc8900649b2d","Len":2}...
|
1789221259
|
Edit
Delete
|
|
29280
|
5
|
5
|
5
|
83
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"6823a38dc {"Commits":[{"Sha1":"6823a38dc4626db9f396978663efbc2493a1276c","Message":"fix(ci): fetch report provenance history for HR governance\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-12T06:58:07-07:00"}],"HeadCommit":{"Sha1":"6823a38dc4626db9f396978663efbc2493a1276c","Message":"fix(ci): fetch report provenance history for HR governance\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-12T06:58:07-07:00"},"CompareURL":"luoanwu/juhai-ai-hr-system/compare/caf551df74c25b3bad8b1a5540f3cc8900649b2d...6823a38dc4626db9f396978663efbc2493a1276c","Len":1}...
|
1789221489
|
Edit
Delete
|
|
29816
|
5
|
5
|
5
|
83
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"a0ebf7769 {"Commits":[{"Sha1":"a0ebf7769727344892ab96c1240bd809b5791430","Message":"feat(hr): emit canonical employment facts and harden database RLS\n\n- enterprise fact relay: new relay module/service on both backends with\n recovery migration, publishing canonical employment fact intents\n- packages/contracts: add enterprise-fact contract and tests\n- database RLS: role hardening migration plus greatly expanded\n database-rls and personnel integration coverage\n- products/juhai.hr: personnel-core migrations for fact intents and relay recovery\n- governance: add check-api-migration-safety and os-product / database-rls\n governance libs with tests\n- web: rework RecruitmentWorkspace and personnel directory views\n- refresh reports evidence and os-product bundles\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-14T19:52:55-07:00"}],"HeadCommit":{"Sha1":"a0ebf7769727344892ab96c1240bd809b5791430","Message":"feat(hr): emit canonical employment facts and harden database RLS\n\n- enterprise fact relay: new relay module/service on both backends with\n recovery migration, publishing canonical employment fact intents\n- packages/contracts: add enterprise-fact contract and tests\n- database RLS: role hardening migration plus greatly expanded\n database-rls and personnel integration coverage\n- products/juhai.hr: personnel-core migrations for fact intents and relay recovery\n- governance: add check-api-migration-safety and os-product / database-rls\n governance libs with tests\n- web: rework RecruitmentWorkspace and personnel directory views\n- refresh reports evidence and os-product bundles\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-14T19:52:55-07:00"},"CompareURL":"luoanwu/juhai-ai-hr-system/compare/6823a38dc4626db9f396978663efbc2493a1276c...a0ebf7769727344892ab96c1240bd809b5791430","Len":1}...
|
1789440861
|
Edit
Delete
|
|
29969
|
5
|
5
|
5
|
83
|
0
|
0
|
refs/heads/codex/ms1-platform-consumer
|
1
|
|
1789445437
|
Edit
Delete
|
|
29970
|
5
|
5
|
5
|
83
|
0
|
0
|
refs/heads/codex/ms1-platform-consumer
|
1
|
{"Commits":[],"HeadCommit":{"S {"Commits":[],"HeadCommit":{"Sha1":"c934bc46240daae849ad93cfacaa3b25c41b323f","Message":"test(platform): keep dispatcher fixtures aligned with Redis client options\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-12T02:38:16-07:00"},"CompareURL":"luoanwu/juhai-ai-hr-system/compare/main...c934bc46240daae849ad93cfacaa3b25c41b323f","Len":0}...
|
1789445437
|
Edit
Delete
|
|
29971
|
5
|
5
|
5
|
83
|
0
|
0
|
refs/heads/codex/platform-rc1
|
1
|
|
1789445442
|
Edit
Delete
|
|
29972
|
5
|
5
|
5
|
83
|
0
|
0
|
refs/heads/codex/platform-rc1
|
1
|
{"Commits":[],"HeadCommit":{"S {"Commits":[],"HeadCommit":{"Sha1":"6823a38dc4626db9f396978663efbc2493a1276c","Message":"fix(ci): fetch report provenance history for HR governance\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-12T06:58:07-07:00"},"CompareURL":"luoanwu/juhai-ai-hr-system/compare/main...6823a38dc4626db9f396978663efbc2493a1276c","Len":0}...
|
1789445442
|
Edit
Delete
|
|
30101
|
5
|
5
|
5
|
83
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"3c9f6df78 {"Commits":[{"Sha1":"3c9f6df78f540226554cb4ecc6115741fe478c41","Message":"chore(governance): 接真实 DB 重跑,13→15 通过,并暴露 outbox 多实例的可复现失败\n\n按本目录\"每轮新建空验收库\"的口径建独立库:\n juhai_ai_hr_system_parity_20260915(prisma migrate deploy 后为空库)\n REDIS_URL 用 /14 号逻辑库\n\n库名前缀不是随便起的——G15 守卫按 package.json 的 name 推导(juhai_ai_hr_system),\n首次用 juhai_hr_parity_* 被三条门禁正确拒绝:\"Database … does not belong to …\"。\n守卫工作正常,是库名起错了。\n\n接上实例后两条转绿:check-dual-backend-behavior、check-health-dependency-failure。\n\n**新暴露一条可复现失败:check-outbox-multi-instance**\n nestjs / fastify 双侧同样结果:dispatched=120, observed=0, subscriberStatus=ready\n连跑两次一致。门禁本身跑完了全程,不是\"缺环境变量跑不起来\"那一类。根因未定——\n可能是缺少未文档化的 relay / worker 配置(本仓 .env 里没有任何 REDIS/DATABASE 项),\n也可能是真实缺陷。不在此下结论,交仓 Owner;报告如实记录该结果。\n\n仍失败的另外 4 条:api-migration-safety 需 MIGRATION_TEST_ADMIN_URL;\nos-product-host-ui 需浏览器;os-product-layer 与 os-product-registration 分别级联于\nhost-ui 报告与 target OS checkout / runtime 验收证据。\n\n18 份报告 provenance 全部绑定 d970541 且 worktreeDirty=false;连接串中口令已按仓内\n既有口径脱敏为 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:50:03-07:00"},{"Sha1":"d970541bd56e5f82659322c8f738d2f5d49c1770","Message":"chore(governance): 命名门禁修复后在新 HEAD 上重跑,静态面由 12 通过升为 13\n\n上一提交(8d74d4d)改了 scripts/ 下四个治理模块,按证据纪律旧报告随即失效——\n本提交只动 reports/,绑定 8d74d4d,与源码内容一一对应。\n\n静态门禁 13 通过 / 7 失败。7 条里没有一条是本仓代码质量问题:\n- 4 条缺实例:dual-backend-behavior / health-dependency-failure /\n outbox-multi-instance 需 DATABASE_URL,api-migration-safety 需\n MIGRATION_TEST_ADMIN_URL(这三份报告刻意不提交,见上一轮说明)\n- 1 条崩栈:os-product-host-ui\n- 2 条级联:os-product-layer 卡在 host-ui 报告,\n os-product-registration-verification 卡在 target OS checkout 与 runtime 验收证据\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:41:17-07:00"},{"Sha1":"8d74d4d814aad8e2df43f867e1dd61baf59b9075","Message":"fix(governance): 命名门禁 32 条违规逐行豁免 —— 治理脚本里的 terminal 是终态不是终端\n\na0ebf77(当前 HEAD 的前一提交)引入 scripts/lib/database-rls-*-governance.mjs 与\nos-product-migration-governance.mjs 时,命名门禁没跑过——提交后 naming 由 0 条变\n32 条,而 reports/naming.latest.json 停在 09-01 的 violations: 0,没人看得见。\n这正是\"无一份证据绑定当前 HEAD\"的实际后果。\n\n32 条全部是误报类:\n- 31 × terminal:`employment-terminal-late-authority-revoke` 这类指的是**迁移序列\n 与 RLS 的终态**,业务词典要求改成 device(设备)在这里是错的\n- 1 × business:`shared business database` 是 PostgreSQL 术语,不是业务方\n\n扫描面与词典自 2026-08-25 bootstrap 起未变,所以不是门禁改严了,是新代码撞上了\n一直存在的词表。\n\n用门禁自带的逐行 `// naming-ignore` 机制,并逐条写明理由——不收窄 SCAN_DIRS:\n治理脚本里同样会出现业务概念名,去掉 scripts/ 会让真的违规漏网。豁免要作者写明,\n不能按路径猜,与工作区一致性门禁的 `\u003c!-- 一致性门禁豁免 --\u003e` 同一口径。\n\n改动只在行尾追加注释,5 处含模板字符串的行已逐一核对反引号在同行闭合。\n三份治理模块的自有测试 311/311 通过,四个文件 node --check 通过。\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:40:57-07:00"},{"Sha1":"7d14ff2472a4204046b7d6bbea1a4d84f408e7f3","Message":"chore(governance): 在 clean HEAD 上重跑静态门禁,并记下 naming 的 32 条真实违规\n\n迁移后本仓 37 份 reports/*.latest.json 无一绑定当前 HEAD,全部生成于脏树,其中\n15 份正文还带着 /Users/ailaoluo/ 的两代前绝对根——那是另一台机器。所以此前既不能\n说\"当前 HEAD 是绿的\",也不能说\"是红的\",它一直是未知数。\n\n本次在 clean HEAD (a0ebf77) 上重跑全部静态门禁:12 通过 / 8 失败,提交其中 15 份\n(provenance 全部 gitSha=a0ebf77 且 worktreeDirty=false)。\n\n**一条真实失败:check-naming 32 条违规。** 上一份报告(09-01)记的是 violations: 0。\n命中全部落在门禁脚本自己身上——scripts/lib/database-rls-history-governance.mjs 的\n`terminal`(RLS 终态)被业务词典判成应改为 device,check-api-migration-safety.mjs 的\n`business database` 判成应改为 merchant。业务词典的扫描面覆盖到了治理脚本,而那里的\n词是技术义不是业务义。这是扫描面扩大后出现的误报类失败,词典或扫描面需收敛。\n\n**刻意不提交 3 份**:dual-backend-behavior / health-dependency-failure /\noutbox-multi-instance 因缺 DATABASE_URL 写出 failed——那是跑不起来,不是判定失败,\n记进去会把环境缺失伪装成质量问题。\n\n**保留两份 OS 产品的失败报告**:os-product-layer 与 os-product-registration-verification\n这次的失败理由是当前的(前者卡 host-ui 报告、后者卡 target OS checkout 与 runtime\n验收证据),且不再含两代前的绝对根——比它们替换掉的旧报告更可用。\n\n按证据等级\"静态 \u003c 真实 DB \u003c 浏览器\",本次只提升到静态一级。\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:35:28-07:00"}],"HeadCommit":{"Sha1":"3c9f6df78f540226554cb4ecc6115741fe478c41","Message":"chore(governance): 接真实 DB 重跑,13→15 通过,并暴露 outbox 多实例的可复现失败\n\n按本目录\"每轮新建空验收库\"的口径建独立库:\n juhai_ai_hr_system_parity_20260915(prisma migrate deploy 后为空库)\n REDIS_URL 用 /14 号逻辑库\n\n库名前缀不是随便起的——G15 守卫按 package.json 的 name 推导(juhai_ai_hr_system),\n首次用 juhai_hr_parity_* 被三条门禁正确拒绝:\"Database … does not belong to …\"。\n守卫工作正常,是库名起错了。\n\n接上实例后两条转绿:check-dual-backend-behavior、check-health-dependency-failure。\n\n**新暴露一条可复现失败:check-outbox-multi-instance**\n nestjs / fastify 双侧同样结果:dispatched=120, observed=0, subscriberStatus=ready\n连跑两次一致。门禁本身跑完了全程,不是\"缺环境变量跑不起来\"那一类。根因未定——\n可能是缺少未文档化的 relay / worker 配置(本仓 .env 里没有任何 REDIS/DATABASE 项),\n也可能是真实缺陷。不在此下结论,交仓 Owner;报告如实记录该结果。\n\n仍失败的另外 4 条:api-migration-safety 需 MIGRATION_TEST_ADMIN_URL;\nos-product-host-ui 需浏览器;os-product-layer 与 os-product-registration 分别级联于\nhost-ui 报告与 target OS checkout / runtime 验收证据。\n\n18 份报告 provenance 全部绑定 d970541 且 worktreeDirty=false;连接串中口令已按仓内\n既有口径脱敏为 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:50:03-07:00"},"CompareURL":"luoanwu/juhai-ai-hr-system/compare/a0ebf7769727344892ab96c1240bd809b5791430...3c9f6df78f540226554cb4ecc6115741fe478c41","Len":4}...
|
1789458920
|
Edit
Delete
|
|
31608
|
5
|
5
|
5
|
83
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"a164f1a4f {"Commits":[{"Sha1":"a164f1a4f6d06e3b4d0eff01d536575ebfdd0e97","Message":"fix(governance): preserve least-privilege product ACLs\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-20T21:06:22-07:00"},{"Sha1":"6f4f4e321ecefcfb5a7401136f0294caae21da91","Message":"fix(compose): 开发基座补顶层 name,停止与另外六个仓共用 project `api-nestjs`\n\n本文件没有顶层 name,compose 便按**所在目录名**推导 project 名。它在每个仓里的路径都是\napps/api-nestjs/,于是 7 个仓推导出同一个 `api-nestjs`,共用 `api-nestjs_pgdata` /\n`_redisdata` 与同名容器——后 up 的那个直接接管先起者的容器与卷。这类冲突单仓内部永远\n判不出来,只有横着比多份 compose 才看得见,已经咬过一次(C-15)。\n\n现改为 `name: ${COMPOSE_PROJECT_NAME:-juhai-ai-hr-system}`,默认取本仓 package.json 的 name,\n仍可用 COMPOSE_PROJECT_NAME 覆盖。实测 `docker compose config` 解析出的卷已变为\n`juhai-ai-hr-system_*`。\n\n数据风险已先核过再改:本机 260 个卷里**没有任何 `api-nestjs_*`**,\n`docker ps -a --filter label=com.docker.compose.project=api-nestjs` 零命中——\n这份 compose 在本机从未以默认推导名起过,没有旧卷需要迁移。(只证明本机;\n别的机器若直接 up 过,改名后首次 up 会建新空卷,旧卷需自行迁移。)\n\n工作区门禁 `平台治理/基础/scripts/check-workspace-consistency.mjs` 的\nL9 COMPOSE_PROJECT_COLLISION 在 7 个仓全部补齐后由 ISSUES 转 CLEAN(exit 0,0 issues)。\n处置依据:裁决 N-11 选项 ①。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T19:13:31-07:00"}],"HeadCommit":{"Sha1":"a164f1a4f6d06e3b4d0eff01d536575ebfdd0e97","Message":"fix(governance): preserve least-privilege product ACLs\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-20T21:06:22-07:00"},"CompareURL":"luoanwu/juhai-ai-hr-system/compare/3c9f6df78f540226554cb4ecc6115741fe478c41...a164f1a4f6d06e3b4d0eff01d536575ebfdd0e97","Len":2}...
|
1789963588
|
Edit
Delete
|
|
25948
|
5
|
1
|
5
|
84
|
0
|
0
|
|
1
|
|
1787708753
|
Edit
Delete
|
|
25949
|
5
|
5
|
5
|
84
|
0
|
0
|
refs/heads/main
|
1
|
|
1787708825
|
Edit
Delete
|
|
25950
|
5
|
5
|
5
|
84
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"f2a674de3 {"Commits":[{"Sha1":"f2a674de3343d5031dee856edd261194709b727f","Message":"feat(knowledge): add governed hybrid evidence retrieval\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T18:39:32-07:00"},{"Sha1":"e60d772bc7fba6aba92ee6becbeb1b68b2b28849","Message":"feat: establish governed knowledge cloud product\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T17:06:03-07:00"},{"Sha1":"64bf2720bce803978337aeabbadf1a88d732fa43","Message":"chore: bind static governance evidence\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T08:18:01-07:00"},{"Sha1":"7322783bb7233c3c586f15cb33c7963f0ba605ce","Message":"docs: record local framework acceptance\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T08:17:40-07:00"},{"Sha1":"512b11bc5047f7776f3dde09b0f7344982afd354","Message":"chore: migrate governed framework to juhai knowledge cloud\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T08:08:02-07:00"}],"HeadCommit":{"Sha1":"f2a674de3343d5031dee856edd261194709b727f","Message":"feat(knowledge): add governed hybrid evidence retrieval\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T18:39:32-07:00"},"CompareURL":"","Len":5}...
|
1787708825
|
Edit
Delete
|
|
26592
|
5
|
5
|
5
|
84
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"4459ca7bf {"Commits":[{"Sha1":"4459ca7bf19df30ae3879f2027b7fb05b3e3ba2d","Message":"Expand governance controls and cross-layer runtime validation\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-27T06:17:02-07:00"}],"HeadCommit":{"Sha1":"4459ca7bf19df30ae3879f2027b7fb05b3e3ba2d","Message":"Expand governance controls and cross-layer runtime validation\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-27T06:17:02-07:00"},"CompareURL":"luoanwu/juhai-knowledge-cloud/compare/f2a674de3343d5031dee856edd261194709b727f...4459ca7bf19df30ae3879f2027b7fb05b3e3ba2d","Len":1}...
|
1787836636
|
Edit
Delete
|
|
29818
|
5
|
5
|
5
|
84
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"558e30bac {"Commits":[{"Sha1":"558e30bac2666ebe08fed4d2649e433638ead6c6","Message":"feat(knowledge): harden auth and knowledge indexing retry path\n\n- packages/auth: expand JWT verification and trust-boundary handling\n with matching acceptance tests on both fastify and nestjs backends\n- knowledge indexing: add retry/backoff handling across\n knowledge-indexer, knowledge-retrieval and products/juhai.knowledgecloud\n- governance: tighten check-auth-governance, check-knowledge-index-governance,\n check-os-product and check-ui-acceptance gates\n- refresh reports/*.latest.json evidence\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-14T19:51:59-07:00"}],"HeadCommit":{"Sha1":"558e30bac2666ebe08fed4d2649e433638ead6c6","Message":"feat(knowledge): harden auth and knowledge indexing retry path\n\n- packages/auth: expand JWT verification and trust-boundary handling\n with matching acceptance tests on both fastify and nestjs backends\n- knowledge indexing: add retry/backoff handling across\n knowledge-indexer, knowledge-retrieval and products/juhai.knowledgecloud\n- governance: tighten check-auth-governance, check-knowledge-index-governance,\n check-os-product and check-ui-acceptance gates\n- refresh reports/*.latest.json evidence\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-14T19:51:59-07:00"},"CompareURL":"luoanwu/juhai-knowledge-cloud/compare/4459ca7bf19df30ae3879f2027b7fb05b3e3ba2d...558e30bac2666ebe08fed4d2649e433638ead6c6","Len":1}...
|
1789440865
|
Edit
Delete
|
|
30103
|
5
|
5
|
5
|
84
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"cbf31b3bc {"Commits":[{"Sha1":"cbf31b3bc76e8f62c1587f5ffb1ed4703f4760b8","Message":"chore(governance): 接真实 DB 重跑,19/19 全绿,并证实 3 处\"文档漂移\"是级联假象\n\n上一轮只提交了静态面 17 份,刻意留下 backend-behavior-parity 与 docs-truth——\n前者无实例时会把\"跑不起来\"写成\"0 例通过\",后者被这个 0 带塌(CLAUDE.md 记 28 例\nvs 机器真源 0)。本轮补上实例把这条链跑通。\n\n按本目录\"每轮新建空验收库\"的口径,建独立库而不是用 dev 库:\n juhai_knowledge_cloud_parity_20260915(prisma migrate deploy 后为空库)\n REDIS_URL 用 /13 号逻辑库,避开 .env 的 /12\n\n结果:\n- backend-behavior-parity 28 个 HTTP/DB/outbox 黑盒检查一致,负向探针 3/3\n ——28 正是 CLAUDE.md 记的数字,证实那个 0 纯粹是\"跑不起来\"的产物(U-36)\n- docs-truth 由 3 处漂移变为通过,**且数字负向探针由 7/9 升为 9/9**——此前它自己\n 报的\"门禁可能是假绿\"成立:parity 数字为 0 时两条探针是哑的,现在才真正有效\n- 静态 + 真实 DB 合计 19/19 全绿,19 份报告 provenance 全部绑定 558e30b 且\n worktreeDirty=false\n\n证据等级由\"静态\"提升到\"真实 DB\"(浏览器一级仍未做)。\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:45:32-07:00"},{"Sha1":"f77022f4abb4c9de6fc4d7214432480dc3a2cd6e","Message":"chore(governance): 在 clean HEAD 上重跑静态门禁,证据第一次绑定当前提交\n\n迁移后本仓 27 份 reports/*.latest.json 无一绑定当前 HEAD,全部生成于脏树,按证据\n纪律一律 STALE——当前 HEAD 的质量一直是未知数。\n\n本次在 clean HEAD (558e30b) 上重跑:静态面 17/17 全绿,17 份报告 provenance 全部\ngitSha=558e30b 且 worktreeDirty=false。\n\n刻意**不**提交两份:\n- backend-behavior-parity:实跑证实它需要 DATABASE_URL + REDIS_URL\n (test/backend.behavior.parity.test.ts:385 直接抛),属需实例门禁。无实例时它会\n 写出\"0 例\"的报告——把\"跑不起来\"记成\"0 例通过\",比留着旧报告更坏。\n- docs-truth:它的失败是上一条的级联——CLAUDE.md 记的 parity 是 28 例,而机器真源\n 被上一条写成 0,于是判文档漂移。根因消除前这份报告没有意义。\n\n按证据等级\"静态 \u003c 真实 DB \u003c 浏览器\",本次只提升到静态一级;那两条与 runtime / UI\n一起要另起一轮带实例的。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-15T00:34:57-07:00"}],"HeadCommit":{"Sha1":"cbf31b3bc76e8f62c1587f5ffb1ed4703f4760b8","Message":"chore(governance): 接真实 DB 重跑,19/19 全绿,并证实 3 处\"文档漂移\"是级联假象\n\n上一轮只提交了静态面 17 份,刻意留下 backend-behavior-parity 与 docs-truth——\n前者无实例时会把\"跑不起来\"写成\"0 例通过\",后者被这个 0 带塌(CLAUDE.md 记 28 例\nvs 机器真源 0)。本轮补上实例把这条链跑通。\n\n按本目录\"每轮新建空验收库\"的口径,建独立库而不是用 dev 库:\n juhai_knowledge_cloud_parity_20260915(prisma migrate deploy 后为空库)\n REDIS_URL 用 /13 号逻辑库,避开 .env 的 /12\n\n结果:\n- backend-behavior-parity 28 个 HTTP/DB/outbox 黑盒检查一致,负向探针 3/3\n ——28 正是 CLAUDE.md 记的数字,证实那个 0 纯粹是\"跑不起来\"的产物(U-36)\n- docs-truth 由 3 处漂移变为通过,**且数字负向探针由 7/9 升为 9/9**——此前它自己\n 报的\"门禁可能是假绿\"成立:parity 数字为 0 时两条探针是哑的,现在才真正有效\n- 静态 + 真实 DB 合计 19/19 全绿,19 份报告 provenance 全部绑定 558e30b 且\n worktreeDirty=false\n\n证据等级由\"静态\"提升到\"真实 DB\"(浏览器一级仍未做)。\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:45:32-07:00"},"CompareURL":"luoanwu/juhai-knowledge-cloud/compare/558e30bac2666ebe08fed4d2649e433638ead6c6...cbf31b3bc76e8f62c1587f5ffb1ed4703f4760b8","Len":2}...
|
1789458923
|
Edit
Delete
|
|
26527
|
4
|
1
|
4
|
85
|
0
|
0
|
|
1
|
|
1787816694
|
Edit
Delete
|
|
26528
|
4
|
5
|
4
|
85
|
0
|
0
|
refs/heads/main
|
1
|
|
1787817085
|
Edit
Delete
|
|
26529
|
4
|
5
|
4
|
85
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"4f5a2cd98 {"Commits":[{"Sha1":"4f5a2cd980dfa98346814d03d74e54ab7fbd07d6","Message":"chore: 初始化 AI 原生 SDLC 目录结构\n\n添加 intent/ spec/ plan/ evals/ 阶段产物目录\n添加根级 CLAUDE.md、REVIEW.md 全局约定\n添加 .claude/skills/ agents/ hooks/ 配置\n","AuthorEmail":"qiaojielai@gmail.com","AuthorName":"laiqiaojie","CommitterEmail":"qiaojielai@gmail.com","CommitterName":"laiqiaojie","Timestamp":"2026-08-27T15:47:50+08:00"}],"HeadCommit":{"Sha1":"4f5a2cd980dfa98346814d03d74e54ab7fbd07d6","Message":"chore: 初始化 AI 原生 SDLC 目录结构\n\n添加 intent/ spec/ plan/ evals/ 阶段产物目录\n添加根级 CLAUDE.md、REVIEW.md 全局约定\n添加 .claude/skills/ agents/ hooks/ 配置\n","AuthorEmail":"qiaojielai@gmail.com","AuthorName":"laiqiaojie","CommitterEmail":"qiaojielai@gmail.com","CommitterName":"laiqiaojie","Timestamp":"2026-08-27T15:47:50+08:00"},"CompareURL":"","Len":1}...
|
1787817085
|
Edit
Delete
|
|
26530
|
4
|
5
|
4
|
85
|
0
|
0
|
refs/heads/intent/device-online-stats-by-region
|
1
|
|
1787817208
|
Edit
Delete
|
|
26531
|
4
|
5
|
4
|
85
|
0
|
0
|
refs/heads/intent/device-online-stats-by-region
|
1
|
{"Commits":[{"Sha1":"d994d4d99 {"Commits":[{"Sha1":"d994d4d99fc07d3344930bb26e52e2d218236a13","Message":"intent: 按省市统计设备月度新增上线数量报表\n\n- 数据报表 \u003e 设备分析 子菜单\n- 按月筛选,柱状图展示省份新激活设备排行\n- 支持下钻到城市维度\n- 权限跟随现有角色体系(agent_id 过滤)\n","AuthorEmail":"qiaojielai@gmail.com","AuthorName":"laiqiaojie","CommitterEmail":"qiaojielai@gmail.com","CommitterName":"laiqiaojie","Timestamp":"2026-08-27T15:53:26+08:00"}],"HeadCommit":{"Sha1":"d994d4d99fc07d3344930bb26e52e2d218236a13","Message":"intent: 按省市统计设备月度新增上线数量报表\n\n- 数据报表 \u003e 设备分析 子菜单\n- 按月筛选,柱状图展示省份新激活设备排行\n- 支持下钻到城市维度\n- 权限跟随现有角色体系(agent_id 过滤)\n","AuthorEmail":"qiaojielai@gmail.com","AuthorName":"laiqiaojie","CommitterEmail":"qiaojielai@gmail.com","CommitterName":"laiqiaojie","Timestamp":"2026-08-27T15:53:26+08:00"},"CompareURL":"laiqiaojie/jh-project/compare/4f5a2cd980dfa98346814d03d74e54ab7fbd07d6...d994d4d99fc07d3344930bb26e52e2d218236a13","Len":1}...
|
1787817208
|
Edit
Delete
|
|
26532
|
4
|
7
|
4
|
85
|
0
|
0
|
|
1
|
1|[Intent] 按省市统计设备月度新增上线数量报表
|
1787817233
|
Edit
Delete
|
|
26533
|
4
|
5
|
4
|
85
|
0
|
0
|
refs/heads/intent/device-online-stats-by-region
|
1
|
{"Commits":[{"Sha1":"02efbbce8 {"Commits":[{"Sha1":"02efbbce8a06c0354b34c136e4a84bb849c526c5","Message":"intent: 补充需求背景截图\n","AuthorEmail":"qiaojielai@gmail.com","AuthorName":"laiqiaojie","CommitterEmail":"qiaojielai@gmail.com","CommitterName":"laiqiaojie","Timestamp":"2026-08-27T16:12:33+08:00"}],"HeadCommit":{"Sha1":"02efbbce8a06c0354b34c136e4a84bb849c526c5","Message":"intent: 补充需求背景截图\n","AuthorEmail":"qiaojielai@gmail.com","AuthorName":"laiqiaojie","CommitterEmail":"qiaojielai@gmail.com","CommitterName":"laiqiaojie","Timestamp":"2026-08-27T16:12:33+08:00"},"CompareURL":"laiqiaojie/jh-project/compare/d994d4d99fc07d3344930bb26e52e2d218236a13...02efbbce8a06c0354b34c136e4a84bb849c526c5","Len":1}...
|
1787818356
|
Edit
Delete
|