|
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
|
|
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
|
|
29347
|
4
|
5
|
4
|
37
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"7bae828ac {"Commits":[{"Sha1":"7bae828ac937228e02f0b4c4ff32997bd9e90b6c","Message":"docs: update Qwen3.8-27B deployment and performance tuning\n","AuthorEmail":"584481098@qq.com","AuthorName":"laiqiaojie","CommitterEmail":"584481098@qq.com","CommitterName":"laiqiaojie","Timestamp":"2026-09-13T15:15:29+08:00"}],"HeadCommit":{"Sha1":"7bae828ac937228e02f0b4c4ff32997bd9e90b6c","Message":"docs: update Qwen3.8-27B deployment and performance tuning\n","AuthorEmail":"584481098@qq.com","AuthorName":"laiqiaojie","CommitterEmail":"584481098@qq.com","CommitterName":"laiqiaojie","Timestamp":"2026-09-13T15:15:29+08:00"},"CompareURL":"laiqiaojie/yuancheng-lianjie/compare/dcac2f92973f6db9e79661f4857dbd7911576093...7bae828ac937228e02f0b4c4ff32997bd9e90b6c","Len":1}...
|
1789283758
|
Edit
Delete
|
|
29348
|
4
|
5
|
4
|
37
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"00023531f {"Commits":[{"Sha1":"00023531f0d33f43f6e2860702ecfffef6f0d24e","Message":"docs: add CC Switch Windows manual configuration guide\n","AuthorEmail":"584481098@qq.com","AuthorName":"laiqiaojie","CommitterEmail":"584481098@qq.com","CommitterName":"laiqiaojie","Timestamp":"2026-09-13T15:32:10+08:00"}],"HeadCommit":{"Sha1":"00023531f0d33f43f6e2860702ecfffef6f0d24e","Message":"docs: add CC Switch Windows manual configuration guide\n","AuthorEmail":"584481098@qq.com","AuthorName":"laiqiaojie","CommitterEmail":"584481098@qq.com","CommitterName":"laiqiaojie","Timestamp":"2026-09-13T15:32:10+08:00"},"CompareURL":"laiqiaojie/yuancheng-lianjie/compare/7bae828ac937228e02f0b4c4ff32997bd9e90b6c...00023531f0d33f43f6e2860702ecfffef6f0d24e","Len":1}...
|
1789284742
|
Edit
Delete
|
|
29460
|
8
|
5
|
8
|
45
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"d94cec5dc {"Commits":[{"Sha1":"d94cec5dc6c368fe2638edd214f71c0e49911782","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-14T13:35:28+08:00"}],"HeadCommit":{"Sha1":"d94cec5dc6c368fe2638edd214f71c0e49911782","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-14T13:35:28+08:00"},"CompareURL":"vodtest/database/compare/f1977809c9a7f59121d6f43a74cd6d2d325e0b3f...d94cec5dc6c368fe2638edd214f71c0e49911782","Len":1}...
|
1789364132
|
Edit
Delete
|
|
29461
|
9
|
5
|
8
|
45
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"d94cec5dc {"Commits":[{"Sha1":"d94cec5dc6c368fe2638edd214f71c0e49911782","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-14T13:35:28+08:00"}],"HeadCommit":{"Sha1":"d94cec5dc6c368fe2638edd214f71c0e49911782","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-14T13:35:28+08:00"},"CompareURL":"vodtest/database/compare/f1977809c9a7f59121d6f43a74cd6d2d325e0b3f...d94cec5dc6c368fe2638edd214f71c0e49911782","Len":1}...
|
1789364132
|
Edit
Delete
|
|
29462
|
1
|
5
|
8
|
45
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"d94cec5dc {"Commits":[{"Sha1":"d94cec5dc6c368fe2638edd214f71c0e49911782","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-14T13:35:28+08:00"}],"HeadCommit":{"Sha1":"d94cec5dc6c368fe2638edd214f71c0e49911782","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-14T13:35:28+08:00"},"CompareURL":"vodtest/database/compare/f1977809c9a7f59121d6f43a74cd6d2d325e0b3f...d94cec5dc6c368fe2638edd214f71c0e49911782","Len":1}...
|
1789364132
|
Edit
Delete
|
|
29463
|
3
|
5
|
8
|
45
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"d94cec5dc {"Commits":[{"Sha1":"d94cec5dc6c368fe2638edd214f71c0e49911782","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-14T13:35:28+08:00"}],"HeadCommit":{"Sha1":"d94cec5dc6c368fe2638edd214f71c0e49911782","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-14T13:35:28+08:00"},"CompareURL":"vodtest/database/compare/f1977809c9a7f59121d6f43a74cd6d2d325e0b3f...d94cec5dc6c368fe2638edd214f71c0e49911782","Len":1}...
|
1789364132
|
Edit
Delete
|
|
29464
|
4
|
5
|
8
|
45
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"d94cec5dc {"Commits":[{"Sha1":"d94cec5dc6c368fe2638edd214f71c0e49911782","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-14T13:35:28+08:00"}],"HeadCommit":{"Sha1":"d94cec5dc6c368fe2638edd214f71c0e49911782","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-14T13:35:28+08:00"},"CompareURL":"vodtest/database/compare/f1977809c9a7f59121d6f43a74cd6d2d325e0b3f...d94cec5dc6c368fe2638edd214f71c0e49911782","Len":1}...
|
1789364132
|
Edit
Delete
|
|
29465
|
7
|
5
|
8
|
45
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"d94cec5dc {"Commits":[{"Sha1":"d94cec5dc6c368fe2638edd214f71c0e49911782","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-14T13:35:28+08:00"}],"HeadCommit":{"Sha1":"d94cec5dc6c368fe2638edd214f71c0e49911782","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-14T13:35:28+08:00"},"CompareURL":"vodtest/database/compare/f1977809c9a7f59121d6f43a74cd6d2d325e0b3f...d94cec5dc6c368fe2638edd214f71c0e49911782","Len":1}...
|
1789364132
|
Edit
Delete
|
|
29466
|
10
|
5
|
8
|
45
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"d94cec5dc {"Commits":[{"Sha1":"d94cec5dc6c368fe2638edd214f71c0e49911782","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-14T13:35:28+08:00"}],"HeadCommit":{"Sha1":"d94cec5dc6c368fe2638edd214f71c0e49911782","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-14T13:35:28+08:00"},"CompareURL":"vodtest/database/compare/f1977809c9a7f59121d6f43a74cd6d2d325e0b3f...d94cec5dc6c368fe2638edd214f71c0e49911782","Len":1}...
|
1789364132
|
Edit
Delete
|
|
29467
|
11
|
5
|
8
|
45
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"d94cec5dc {"Commits":[{"Sha1":"d94cec5dc6c368fe2638edd214f71c0e49911782","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-14T13:35:28+08:00"}],"HeadCommit":{"Sha1":"d94cec5dc6c368fe2638edd214f71c0e49911782","Message":"260915\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-09-14T13:35:28+08:00"},"CompareURL":"vodtest/database/compare/f1977809c9a7f59121d6f43a74cd6d2d325e0b3f...d94cec5dc6c368fe2638edd214f71c0e49911782","Len":1}...
|
1789364132
|
Edit
Delete
|
|
29555
|
4
|
5
|
4
|
24
|
0
|
0
|
refs/heads/feature/device-online-stats-web
|
1
|
{"Commits":[{"Sha1":"de1d21cc9 {"Commits":[{"Sha1":"de1d21cc9cfda8d34fe7562f7329cf6f9a425a70","Message":"fix: 修复父菜单 url 为空时路由拼出双斜杠的问题\n\nmenuItemPath(menu.vue)和 secondMenu(index_content.vue)在父菜单\n_requester_url 为空时,拼接路由生成 //child,导致 Vue Router 无法匹配。\n改为空串时跳过 prefix,确保路由始终为 /child 格式。\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"dqdy1517@gmail.com","AuthorName":"laiqiaojie","CommitterEmail":"dqdy1517@gmail.com","CommitterName":"laiqiaojie","Timestamp":"2026-09-14T17:09:35+08:00"}],"HeadCommit":{"Sha1":"de1d21cc9cfda8d34fe7562f7329cf6f9a425a70","Message":"fix: 修复父菜单 url 为空时路由拼出双斜杠的问题\n\nmenuItemPath(menu.vue)和 secondMenu(index_content.vue)在父菜单\n_requester_url 为空时,拼接路由生成 //child,导致 Vue Router 无法匹配。\n改为空串时跳过 prefix,确保路由始终为 /child 格式。\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"dqdy1517@gmail.com","AuthorName":"laiqiaojie","CommitterEmail":"dqdy1517@gmail.com","CommitterName":"laiqiaojie","Timestamp":"2026-09-14T17:09:35+08:00"},"CompareURL":"laiqiaojie/admin/compare/6efac809112f6384dd2bf6bc47372d72db0ddc2a...de1d21cc9cfda8d34fe7562f7329cf6f9a425a70","Len":1}...
|
1789377001
|
Edit
Delete
|
|
29556
|
4
|
10
|
4
|
85
|
437
|
0
|
|
1
|
5|代码 PR 已提交:[PR #2 - [Web前端] 按省市统计设备月度新增上线数量报表](ht 5|代码 PR 已提交:[PR #2 - [Web前端] 按省市统计设备月度新增上线数量报表](https://gitea.g-hi.com/laiqiaojie/admin/pulls/2),等待 Tech Lead 审核。
本次 PR 包含:
- 报表页面组件实现
- 菜单路由双斜杠…...
|
1789377160
|
Edit
Delete
|
|
29557
|
4
|
11
|
4
|
24
|
0
|
0
|
|
1
|
2|[Web前端] 按省市统计设备月度新增上线数量报表
|
1789377273
|
Edit
Delete
|
|
29558
|
4
|
12
|
4
|
85
|
440
|
0
|
|
1
|
5|
|
1789377273
|
Edit
Delete
|
|
29559
|
4
|
5
|
4
|
24
|
0
|
0
|
refs/heads/admin
|
1
|
{"Commits":[{"Sha1":"647573c74 {"Commits":[{"Sha1":"647573c7474c2cdd599943bd92b44ab6321416a1","Message":"Merge pull request '[Web前端] 按省市统计设备月度新增上线数量报表' (#2) from feature/device-online-stats-web into admin\n\nReviewed-on: https://gitea.g-hi.com/laiqiaojie/admin/pulls/2\n","AuthorEmail":"584481098@qq.com","AuthorName":"laiqiaojie","CommitterEmail":"584481098@qq.com","CommitterName":"laiqiaojie","Timestamp":"2026-09-14T17:14:32+08:00"},{"Sha1":"de1d21cc9cfda8d34fe7562f7329cf6f9a425a70","Message":"fix: 修复父菜单 url 为空时路由拼出双斜杠的问题\n\nmenuItemPath(menu.vue)和 secondMenu(index_content.vue)在父菜单\n_requester_url 为空时,拼接路由生成 //child,导致 Vue Router 无法匹配。\n改为空串时跳过 prefix,确保路由始终为 /child 格式。\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"dqdy1517@gmail.com","AuthorName":"laiqiaojie","CommitterEmail":"dqdy1517@gmail.com","CommitterName":"laiqiaojie","Timestamp":"2026-09-14T17:09:35+08:00"},{"Sha1":"6efac809112f6384dd2bf6bc47372d72db0ddc2a","Message":"feat: 新增设备上线分布 Web 报表页面\n\n按省市统计设备月度新增上线数量,支持下钻查看城市分布。\n对接 DeviceOnlineStats 接口(Issue #5)。\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"dqdy1517@gmail.com","AuthorName":"laiqiaojie","CommitterEmail":"dqdy1517@gmail.com","CommitterName":"laiqiaojie","Timestamp":"2026-09-01T15:17:51+08:00"},{"Sha1":"145ff9f2f3159ae6a2961ea2209ec639ab80088e","Message":"fix: 修正 month 参数范围校验并排除未绑定门店设备的脏分组\n","AuthorEmail":"dqdy1517@gmail.com","AuthorName":"laiqiaojie","CommitterEmail":"dqdy1517@gmail.com","CommitterName":"laiqiaojie","Timestamp":"2026-09-01T14:28:55+08:00"},{"Sha1":"5990a2bca428127e7e794270ba4da5076c88eb66","Message":"test: 新增设备上线分布接口冒烟测试\n","AuthorEmail":"dqdy1517@gmail.com","AuthorName":"laiqiaojie","CommitterEmail":"dqdy1517@gmail.com","CommitterName":"laiqiaojie","Timestamp":"2026-09-01T13:21:08+08:00"}],"HeadCommit":{"Sha1":"647573c7474c2cdd599943bd92b44ab6321416a1","Message":"Merge pull request '[Web前端] 按省市统计设备月度新增上线数量报表' (#2) from feature/device-online-stats-web into admin\n\nReviewed-on: https://gitea.g-hi.com/laiqiaojie/admin/pulls/2\n","AuthorEmail":"584481098@qq.com","AuthorName":"laiqiaojie","CommitterEmail":"584481098@qq.com","CommitterName":"laiqiaojie","Timestamp":"2026-09-14T17:14:32+08:00"},"CompareURL":"laiqiaojie/admin/compare/b454b46b071053a76263ac3b909c95b4dc18feb4...647573c7474c2cdd599943bd92b44ab6321416a1","Len":9}...
|
1789377274
|
Edit
Delete
|
|
29562
|
4
|
13
|
4
|
85
|
441
|
0
|
|
1
|
5|
|
1789379023
|
Edit
Delete
|
|
29563
|
4
|
6
|
4
|
85
|
0
|
0
|
|
1
|
8|按省市统计设备月度新增上线数量报表
|
1789379887
|
Edit
Delete
|
|
29564
|
4
|
10
|
4
|
85
|
463
|
0
|
|
1
|
4|已合并至主 Issue #8,测试工作统一在 #8 跟踪。
|
1789380193
|
Edit
Delete
|
|
29565
|
4
|
12
|
4
|
85
|
465
|
0
|
|
1
|
4|
|
1789380193
|
Edit
Delete
|
|
29566
|
4
|
10
|
4
|
85
|
466
|
0
|
|
1
|
5|已合并至主 Issue #8,测试工作统一在 #8 跟踪。
|
1789380193
|
Edit
Delete
|
|
29567
|
4
|
12
|
4
|
85
|
468
|
0
|
|
1
|
5|
|
1789380193
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
29973
|
5
|
5
|
5
|
106
|
0
|
0
|
refs/heads/sync/v0.16.0
|
1
|
|
1789445465
|
Edit
Delete
|
|
29974
|
5
|
5
|
5
|
106
|
0
|
0
|
refs/heads/sync/v0.16.0
|
1
|
{"Commits":[],"HeadCommit":{"S {"Commits":[],"HeadCommit":{"Sha1":"0a9a11a92a9e45d647e7feaea0bafe7cdc3d5f11","Message":"docs: record clean acceptance @ 246f04b(sync/v0.16.0:runtime 169 / 差分 7×2 / tenantRlsEnforced=1;UI 4×5;地板按本仓收紧)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"hillao","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"hillao","Timestamp":"2026-09-10T07:19:55-07:00"},"CompareURL":"luoanwu/tenant-scope/compare/main...0a9a11a92a9e45d647e7feaea0bafe7cdc3d5f11","Len":0}...
|
1789445465
|
Edit
Delete
|
|
30053
|
5
|
5
|
5
|
114
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"14a5b8d33 {"Commits":[{"Sha1":"14a5b8d33d1d95137de02e921b772c5db121e215","Message":"chore: 移除被跟踪的 .DS_Store 并加 .gitignore 拦截\n\n仓内 .DS_Store 与 docs/.DS_Store 被 git 跟踪,且没有 .gitignore,\n删掉后 Finder 一访问就会重新进入索引。补一份 .gitignore 收口。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-14T22:24:25-07:00"}],"HeadCommit":{"Sha1":"14a5b8d33d1d95137de02e921b772c5db121e215","Message":"chore: 移除被跟踪的 .DS_Store 并加 .gitignore 拦截\n\n仓内 .DS_Store 与 docs/.DS_Store 被 git 跟踪,且没有 .gitignore,\n删掉后 Finder 一访问就会重新进入索引。补一份 .gitignore 收口。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-14T22:24:25-07:00"},"CompareURL":"luoanwu/spatiotemporal-fact-model/compare/b5241c619a6252f86eead6f150eb025765793a1a...14a5b8d33d1d95137de02e921b772c5db121e215","Len":1}...
|
1789451255
|
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
|