| event_payload |
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"daf6d5b792e3927a3eaa10e4a0539d95aa03fa39","after":"2d11ee6ad1a5fabb295eae59e5e0b7e1f7f6c8cb","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/daf6d5b792e3927a3eaa10e4a0539d95aa03fa39...2d11ee6ad1a5fabb295eae59e5e0b7e1f7f6c8cb","commits":[{"id":"2d11ee6ad1a5fabb295eae59e5e0b7e1f7f6c8cb","message":"feat(fact): register() 只接受 contracts 登记的 schema(随包规范化摘要)——对抗验收 F2 收口\n\n镜像里没有 contracts/、偏差 #19 禁止复制 schema,故随 fact 模块打包 contracts 每份 Fact / envelope schema 的规范化摘要\n(governance/sync-fact-schema-digests.mjs --write → runtime/modules/fact/src/facts/schema-digests.json,envelope 1 / payloads 16,\n规范化与 @juhai/client-fact canonicalJson 同形)。FactStore.register() 先 assertSchemaBoundToContracts:类型@版本不在表 /\npayload 摘要不等 / envelope 摘要不在表分别拒 FACT_TYPE_NOT_IN_CONTRACTS / PAYLOAD_SCHEMA_NOT_CONTRACTS / ENVELOPE_SCHEMA_NOT_CONTRACTS。\n漂移由 governance/test/module-facts.test.mjs 守(根链第 16 环)。fact 单测 +5(99/99)、typecheck / build 通过;治理单测 558 / 557 / 1 skipped。\nruntime 代码面变化,dev 镜像 4169046 未重建:切 dev 前须在含本提交的 clean 树跑 check:runtime 并回绑。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/2d11ee6ad1a5fabb295eae59e5e0b7e1f7f6c8cb","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-20T21:38:15-07:00","added":["docs/acceptance/2026-09-20/f2.after-fix.json","governance/sync-fact-schema-digests.mjs","runtime/modules/fact/src/facts/schema-digests.json","runtime/modules/fact/src/persistence/schema-binding.test.ts","runtime/modules/fact/src/persistence/schema-binding.ts"],"removed":[],"modified":["docs/治理门禁对抗性验收-2026-09-20.md","governance/test/module-facts.test.mjs","runtime/modules/fact/src/persistence/fact-store.ts"]}],"total_commits":0,"head_commit":{"id":"2d11ee6ad1a5fabb295eae59e5e0b7e1f7f6c8cb","message":"feat(fact): register() 只接受 contracts 登记的 schema(随包规范化摘要)——对抗验收 F2 收口\n\n镜像里没有 contracts/、偏差 #19 禁止复制 schema,故随 fact 模块打包 contracts 每份 Fact / envelope schema 的规范化摘要\n(governance/sync-fact-schema-digests.mjs --write → runtime/modules/fact/src/facts/schema-digests.json,envelope 1 / payloads 16,\n规范化与 @juhai/client-fact canonicalJson 同形)。FactStore.register() 先 assertSchemaBoundToContracts:类型@版本不在表 /\npayload 摘要不等 / envelope 摘要不在表分别拒 FACT_TYPE_NOT_IN_CONTRACTS / PAYLOAD_SCHEMA_NOT_CONTRACTS / ENVELOPE_SCHEMA_NOT_CONTRACTS。\n漂移由 governance/test/module-facts.test.mjs 守(根链第 16 环)。fact 单测 +5(99/99)、typecheck / build 通过;治理单测 558 / 557 / 1 skipped。\nruntime 代码面变化,dev 镜像 4169046 未重建:切 dev 前须在含本提交的 clean 树跑 check:runtime 并回绑。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/2d11ee6ad1a5fabb295eae59e5e0b7e1f7f6c8cb","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-20T21:38:15-07:00","added":["docs/acceptance/2026-09-20/f2.after-fix.json","governance/sync-fact-schema-digests.mjs","runtime/modules/fact/src/facts/schema-digests.json","runtime/modules/fact/src/persistence/schema-binding.test.ts","runtime/modules/fact/src/persistence/schema-binding.ts"],"removed":[],"modified":["docs/治理门禁对抗性验收-2026-09-20.md","governance/test/module-facts.test.mjs","runtime/modules/fact/src/persistence/fact-store.ts"]},"repository":{"id":116,"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":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":31531,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":44,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-21T12:11:39+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"}}... |