| event_payload |
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"10094dc103d72a3823863b7bcd60017d40684ebf","after":"95041fb10cafbafaed8bfed811b756714215f5be","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/10094dc103d72a3823863b7bcd60017d40684ebf...95041fb10cafbafaed8bfed811b756714215f5be","commits":[{"id":"95041fb10cafbafaed8bfed811b756714215f5be","message":"Merge github/main (PR #7 merge commit) into main\n\n树与本地 main 顶端相同,不改文件;把 GitHub 受保护主分支的合并提交接回本地历史。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/95041fb10cafbafaed8bfed811b756714215f5be","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-12T04:09:58-07:00","added":[],"removed":[],"modified":[]},{"id":"022a92fe9a5bad5a199fbb3c77182ee3702a6641","message":"Merge pull request #7 from laoluojuhai/sync/main-20260912-r3\n\nfix(platform): integrate image evidence and module database scaffolding","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/022a92fe9a5bad5a199fbb3c77182ee3702a6641","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2026-09-12T04:09:48-07:00","added":["docs/交付证据收口-2026-09-12.md","governance/lib/image-reference.mjs","governance/test/image-evidence.test.mjs","governance/test/module-databases.test.mjs","reports/delivery-verification.2026-09-12.json","reports/image-digest.json","reports/image-smoke.latest.json","reports/sbom.latest.json","reports/sbom.spdx.json","runtime/modules/ai-gateway/prisma/schema.prisma","runtime/modules/audit/prisma/schema.prisma","runtime/modules/credential/prisma/schema.prisma","runtime/modules/fact/prisma/schema.prisma","runtime/modules/identity/prisma/schema.prisma","runtime/modules/permission/prisma/schema.prisma","runtime/modules/scope/prisma/schema.prisma"],"removed":[],"modified":[".github/workflows/platform.yml","CLAUDE.md","README.md","docs/runbook.md","governance/README.md","governance/build-image.mjs","governance/lib/provenance.mjs","governance/release-manifest.mjs","governance/sbom.mjs","governance/sign-image.mjs","governance/test/provenance.test.mjs","governance/test/release-manifest.test.mjs","reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/facts.latest.json","reports/fixtures.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","reports/release-manifest.latest.json","runtime/CLAUDE.md","runtime/apps/api-nestjs/.env.example","runtime/reports/agent-adapters.latest.json","runtime/reports/baseline.json","runtime/reports/conformance-differential.latest.json","runtime/reports/conformance-matrix.latest.json","runtime/reports/contract-consumers.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/fork-readiness.latest.json","runtime/reports/governance-docs.latest.json","runtime/reports/governance-rules.latest.json","runtime/reports/governance-status.latest.json","runtime/reports/governance.latest.json","runtime/reports/migrations.latest.json","runtime/reports/naming.latest.json","runtime/reports/runtime-acceptance.latest.json","runtime/reports/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/ui-acceptance.latest.json","runtime/reports/validation-source.latest.json","stack/README.md","stack/compose.yaml","stack/provision/db.sh"]},{"id":"09cdb63f906cd848e85e464c88a8a8375c44b0f7","message":"feat(modules): Fact 形状——引用声明单源 + 消费侧 / 账本接口 + 机器判定(开发计划 §3A Mx-5)\n\n- @juhai/module-kit src/facts.ts:FactRef(type / version / status registered|pending-dec)、ModuleFacts、FACT_WILDCARD、\n fact-envelope.v1 同名字段的 FactEnvelope、FactConsumer、ProcessedFactLedger(has / watermark / record,与投影同事务)、\n FactConsumeContext、FactIntakeReceipt(Q05 两阶段受理回执);assertModuleFacts 校验声明与 produces / consumes 同名集合与 * 通配;\n PlatformModule 增 facts? 字段并在 defineModule 校验;kit 单测 +2(11 例)。\n- 七模块 src/facts/facts.json(单源)+ src/facts/index.ts(类型导出):按 modules.json 生成引用,EmploymentTransferred 为 registered、\n 其余 15 个为 pending-dec(audit consumes *);描述符 defineModule({ facts });tsconfig include 增 src/**/*.json(composite 须列出导入的 JSON)。\n- runtime/modules/fact/src/facts/README.md:两阶段发布(Q05)、processed_fact 账本(键 / 水位 / 同事务)、与已迁入 classifyFactDelivery 的对接、\n 顺序元数据待 Q06 / DEC-013—016、门后落地顺序。\n- governance/test/module-facts.test.mjs(3 例):facts.json ↔ modules.json 同名;registered → schemas/facts 文件 + catalogs/facts.json 且版本一致,\n pending-dec → candidates/facts 文件且 status / fact_type / schema_version / blocked_by 一致,登记与候选不得互冒;候选 producers 含\n enterprise-platform:\u003cm\u003e、consumers 含 { app, consumer: \u003cm\u003e.* }。负向实测:把 EmploymentTransferred 改成 pending-dec → 2 例红。\n- 偏差 #19:模块不复制 payload schema(不写 zod 副本),真源只在 contracts;运行时校验待 @juhai/contracts(CT-1)可消费后接入。\n\n静态门禁(runtime pnpm check)、check:modules / check:facts / check:fixtures(模块 dist 重建后 8 套件 89 例)在本提交前通过;\n模块单测 210 例经 turbo test 通过;被测运行路径未变,运行验收沿用 f095625 记录。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/09cdb63f906cd848e85e464c88a8a8375c44b0f7","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-12T04:08:16-07:00","added":["governance/test/module-facts.test.mjs","runtime/modules/ai-gateway/src/facts/facts.json","runtime/modules/ai-gateway/src/facts/index.ts","runtime/modules/audit/src/facts/facts.json","runtime/modules/audit/src/facts/index.ts","runtime/modules/credential/src/facts/facts.json","runtime/modules/credential/src/facts/index.ts","runtime/modules/fact/src/facts/README.md","runtime/modules/fact/src/facts/facts.json","runtime/modules/fact/src/facts/index.ts","runtime/modules/identity/src/facts/facts.json","runtime/modules/identity/src/facts/index.ts","runtime/modules/kit/src/facts.ts","runtime/modules/permission/src/facts/facts.json","runtime/modules/permission/src/facts/index.ts","runtime/modules/scope/src/facts/facts.json","runtime/modules/scope/src/facts/index.ts"],"removed":[],"modified":["runtime/modules/ai-gateway/src/index.ts","runtime/modules/ai-gateway/tsconfig.json","runtime/modules/audit/src/index.ts","runtime/modules/audit/tsconfig.json","runtime/modules/credential/src/index.ts","runtime/modules/credential/tsconfig.json","runtime/modules/fact/src/index.ts","runtime/modules/fact/tsconfig.json","runtime/modules/identity/src/index.ts","runtime/modules/identity/tsconfig.json","runtime/modules/kit/src/index.test.ts","runtime/modules/kit/src/index.ts","runtime/modules/permission/src/index.ts","runtime/modules/permission/tsconfig.json","runtime/modules/scope/src/index.ts","runtime/modules/scope/tsconfig.json"]}],"total_commits":0,"head_commit":{"id":"95041fb10cafbafaed8bfed811b756714215f5be","message":"Merge github/main (PR #7 merge commit) into main\n\n树与本地 main 顶端相同,不改文件;把 GitHub 受保护主分支的合并提交接回本地历史。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/95041fb10cafbafaed8bfed811b756714215f5be","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-12T04:09:58-07:00","added":[],"removed":[],"modified":[]},"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":4349,"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":4,"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-12T18:58:41+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"}}... |