| event_payload |
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"93b11674246ff8957578c65a9bfa1d92a02d1144","after":"634daa3f942f68688c978894a48a1074d11c5bbf","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/compare/93b11674246ff8957578c65a9bfa1d92a02d1144...634daa3f942f68688c978894a48a1074d11c5bbf","commits":[{"id":"634daa3f942f68688c978894a48a1074d11c5bbf","message":"Merge pull request 'feat(governance): D-12 packages/* 受控升级通道,并以此完成 H20 出站事实注册表' (#8) from claude/project-tech-platform-integration-7d7999 into main\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/634daa3f942f68688c978894a48a1074d11c5bbf","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T10:59:36-07:00","added":["apps/api-nestjs/test/enterprise-fact-relay-registry.test.ts"],"removed":[],"modified":["CLAUDE.md","README.md","apps/api-nestjs/docker-compose.yml","apps/api-nestjs/src/events/enterprise-fact-relay.service.ts","apps/web/package.json","docs/domain/enterprise-control-plane-integration-blueprint-2026-10-27.md","docs/domain/owner-matrix.md","docs/domain/reply-draft-04-permission-decision-2026-10-27.md","docs/post-d3-product-updates.json","docs/scope-source-integration.md","packages/contracts/src/enterprise-fact.test.ts","packages/contracts/src/enterprise-fact.ts","reports/app-manifest.latest.json","reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-kit.latest.json","reports/governance.latest.json","reports/health-dependency-failure.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-bundle.latest.json","reports/os-product-compat.latest.json","reports/os-product-layer.latest.json","reports/outbox-multi-instance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-dual-backend-parity.mjs","scripts/check-ui-acceptance.mjs","scripts/lib/app-manifest-governance.mjs","scripts/lib/app-manifest-governance.test.mjs","scripts/lib/d3-protection.mjs","scripts/lib/d3-protection.test.mjs","scripts/lib/listen-host-guard.mjs","scripts/lib/listen-host-guard.test.mjs"]},{"id":"e47f5b97f09355d489aae8e027b9f55440f7a130","message":"chore(reports): D-12 / H20 并入 main 后 HR 全量 runtime/UI 验收与静态报告回绑 @ effed90\n\ncheck:runtime 462/462(新增 contracts 4 例、relay 注册表真实 DB 3 例)、\ncheck:ui 46/46,在一次性 PostgreSQL/Redis 上跑通;静态报告以 OS 1b8ae0d7\n只读克隆(已构建)为 DIGITAL_EMPLOYEE_OS_ROOT 生成。check:governance 剩余\n2 项与 main 相同:O22(D-8)与 osProductReleaseTargetRemotes 2→1(D-9)。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/e47f5b97f09355d489aae8e027b9f55440f7a130","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T08:37:27-07:00","added":[],"removed":[],"modified":["reports/app-manifest.latest.json","reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-kit.latest.json","reports/governance.latest.json","reports/health-dependency-failure.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-bundle.latest.json","reports/os-product-compat.latest.json","reports/os-product-layer.latest.json","reports/outbox-multi-instance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]},{"id":"effed900892bb8bfd1380c30ed3c8935ea543764","message":"merge: main(含 PR #10 H23)合入 PR #8 分支;蓝图本分支小节顺延为 §4.9 / §4.10,H23 行与 D-11 合并双方读数\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/effed900892bb8bfd1380c30ed3c8935ea543764","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T08:31:27-07:00","added":[],"removed":[],"modified":["CLAUDE.md","apps/api-nestjs/package.json","apps/web/package.json","docs/domain/chg-draft-app-manifest-mirror-sync-2026-10-27.md","docs/domain/enterprise-control-plane-integration-blueprint-2026-10-27.md","docs/domain/reply-draft-04-permission-decision-2026-10-27.md","docs/framework-sync-assessment-2026-10-27.md","docs/governance-kit-migration.md","package.json","pnpm-lock.yaml","reports/app-manifest.latest.json","reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fixtures.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-kit.latest.json","reports/governance.latest.json","reports/health-dependency-failure.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-bundle.latest.json","reports/os-product-compat.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/outbox-multi-instance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]},{"id":"42f7b013f94e3b17a6fe4e4803f9cded2b07b821","message":"feat(governance): D-12 packages/* 受控升级通道,并以此完成 H20 出站事实注册表\n\nD-12(关 H24):D3 保护此前逐字节冻结全部 packages/*,台账只放行产品目录。\n在同一台账 docs/post-d3-product-updates.json 增加 packageUpdates:编号 PKG-NNN\n递增、须写来源与理由,仅限 D3 冻结清单内的 packages/* 文件,逐文件从冻结\nhash 链式放行,任一条目不合规即整体不放行。check:d3 新增正负用例(30/30),\n删去理由/来源规则或链式校验的变异探针均判红。\n\nH20:contracts 新增 ENTERPRISE_FACT_ENVELOPE_SCHEMAS(factType@schemaVersion →\n信封 Schema)与 EnterpriseFactTypeUnregisteredError,buildEnterpriseFactEnvelope\n按注册表分派;relay 去掉类型强转,未登记类型或版本记 FACT_TYPE_UNREGISTERED\n并立即进死信、不调用 Publisher。EmploymentTransferred v1 Schema 不变。\ncontracts 两个文件经台账 PKG-001 放行。check:app-manifest M6 新增注册表与\nfacts.owns 双向一致检查。新增 contracts 4 例、真实 DB relay 3 例(新文件,\n原 relay 测试受 D3 冻结未改)。\n\n文档:CLAUDE.md 真源地图与 G23、对接蓝图 §4.9 / H20 / H23 / H24 / D-12 / P1 同步。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/42f7b013f94e3b17a6fe4e4803f9cded2b07b821","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T08:30:03-07:00","added":["apps/api-nestjs/test/enterprise-fact-relay-registry.test.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-nestjs/src/events/enterprise-fact-relay.service.ts","docs/domain/enterprise-control-plane-integration-blueprint-2026-10-27.md","docs/post-d3-product-updates.json","packages/contracts/src/enterprise-fact.test.ts","packages/contracts/src/enterprise-fact.ts","scripts/lib/app-manifest-governance.mjs","scripts/lib/app-manifest-governance.test.mjs","scripts/lib/d3-protection.mjs","scripts/lib/d3-protection.test.mjs"]},{"id":"bdadea1df796dfbc8add8800f8a4878bb6a89a59","message":"merge: 保留已推送的 e9b02cf 历史;其作用域订正已由 PR #9 与 0d60ed3 取代,树不变\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/bdadea1df796dfbc8add8800f8a4878bb6a89a59","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T08:11:52-07:00","added":[],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"634daa3f942f68688c978894a48a1074d11c5bbf","message":"Merge pull request 'feat(governance): D-12 packages/* 受控升级通道,并以此完成 H20 出站事实注册表' (#8) from claude/project-tech-platform-integration-7d7999 into main\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/634daa3f942f68688c978894a48a1074d11c5bbf","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T10:59:36-07:00","added":["apps/api-nestjs/test/enterprise-fact-relay-registry.test.ts"],"removed":[],"modified":["CLAUDE.md","README.md","apps/api-nestjs/docker-compose.yml","apps/api-nestjs/src/events/enterprise-fact-relay.service.ts","apps/web/package.json","docs/domain/enterprise-control-plane-integration-blueprint-2026-10-27.md","docs/domain/owner-matrix.md","docs/domain/reply-draft-04-permission-decision-2026-10-27.md","docs/post-d3-product-updates.json","docs/scope-source-integration.md","packages/contracts/src/enterprise-fact.test.ts","packages/contracts/src/enterprise-fact.ts","reports/app-manifest.latest.json","reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-kit.latest.json","reports/governance.latest.json","reports/health-dependency-failure.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-bundle.latest.json","reports/os-product-compat.latest.json","reports/os-product-layer.latest.json","reports/outbox-multi-instance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-dual-backend-parity.mjs","scripts/check-ui-acceptance.mjs","scripts/lib/app-manifest-governance.mjs","scripts/lib/app-manifest-governance.test.mjs","scripts/lib/d3-protection.mjs","scripts/lib/d3-protection.test.mjs","scripts/lib/listen-host-guard.mjs","scripts/lib/listen-host-guard.test.mjs"]},"repository":{"id":83,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhai-ai-hr-system","full_name":"luoanwu/juhai-ai-hr-system","description":"巨嗨 AI 人事系统:受治理全栈基础框架","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":16229,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-ai-hr-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":7,"open_issues_count":0,"open_pr_counter":2,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:35:18+08:00","updated_at":"2026-10-27T23:37:31+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}... |