| event_payload |
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"67e44efbe790c2142a442bfff9d90fe60fd5ce73","after":"41afd2a1b1a5bcd33eac661fe2835b0f91183910","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/67e44efbe790c2142a442bfff9d90fe60fd5ce73...41afd2a1b1a5bcd33eac661fe2835b0f91183910","commits":[{"id":"41afd2a1b1a5bcd33eac661fe2835b0f91183910","message":"chore(reports): bind reviewed ready-main checks and snapshots\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/41afd2a1b1a5bcd33eac661fe2835b0f91183910","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-16T16:41:12-07:00","added":[],"removed":[],"modified":["reports/doc-claims.latest.json","reports/evidence-freshness.latest.json","reports/migration-decs.latest.json","reports/release-manifest.latest.json","reports/stub-surface.latest.json","reports/workbench-catalog-snapshot.latest.json","reports/workbench-ops-snapshot.latest.json","runtime/reports/agent-adapters.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/governance-docs.latest.json"]},{"id":"069d7a861e38ea2d49725deceb70084991e8067b","message":"merge: preserve latest main and reviewed service surface implementation\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/069d7a861e38ea2d49725deceb70084991e8067b","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-16T16:41:04-07:00","added":["docs/evidence/service-surface-2026-10-16/legacy-tenant-final.json","docs/evidence/service-surface-2026-10-16/restore-before-tenant-failed.json","docs/evidence/service-surface-2026-10-16/restore-final.json","docs/evidence/service-surface-2026-10-16/runtime-after-latest-main-failed.json","docs/evidence/service-surface-2026-10-16/runtime-before-latest-main.json","docs/evidence/service-surface-2026-10-16/runtime-final.json","docs/evidence/service-surface-2026-10-16/runtime-first-failed.json","docs/evidence/service-surface-2026-10-16/runtime-superseded-attempt.json","docs/evidence/service-surface-2026-10-16/runtime-tenant-table-count-failed.json","docs/evidence/service-surface-2026-10-16/runtime-with-tenant.json","docs/evidence/service-surface-2026-10-16/scope-owner-before-rebuild-failed.json","docs/evidence/service-surface-2026-10-16/scope-owner-final.json","docs/evidence/service-surface-2026-10-16/targeted-validation.json","docs/evidence/service-surface-2026-10-16/workbench-ui-before-tenant.json","docs/服务模块未落地面实施与验收-2026-10-16.md","identity/apps/api-fastify/prisma/migrations/202610160002_tenant_enterprise_link/migration.sql","identity/apps/api-nestjs/domain/server/tenant-enterprise-link.ts","identity/apps/api-nestjs/persistence/tenant-provisioned-fact.ts","identity/apps/api-nestjs/prisma/migrations/202610160002_tenant_enterprise_link/migration.sql","runtime/apps/api-nestjs/src/platform/http/cost-usage-review.controller.ts","runtime/apps/api-nestjs/test/platform.cost-usage-review.http.test.ts","runtime/modules/cost-capacity/src/http/usage-review-runtime.ts","runtime/modules/identity/prisma/migrations/202610160002_tenant_enterprise_link/migration.sql","runtime/modules/identity/src/domain/server/tenant-enterprise-link.ts","runtime/modules/identity/src/persistence/tenant-provisioned-fact.ts","runtime/modules/permission/prisma/migrations/202610160001_permission_fact_outbox/migration.sql","runtime/modules/permission/src/persistence/owner-fact-relay.ts","runtime/modules/permission/src/persistence/permission-fact-outbox.ts","runtime/modules/permission/src/persistence/permission-facts.ts","runtime/test/e2e/permission-facts.test.ts","runtime/test/e2e/tenant-enterprise-link.test.ts"],"removed":[],"modified":["CLAUDE.md","README.md","contracts/candidates/contracts/usage-record-api.v1.openapi.json","contracts/contracts/ai-gateway-api.v1.openapi.json","contracts/contracts/fact-intake-api.v1.openapi.json","docs/README.md","docs/runbook.md","docs/企业公共基础平台对外交付设计.md","docs/当前状态与验收边界.md","docs/文档索引.md","docs/项目完整能力表.md","governance/check-stub-surface.mjs","governance/lib/http-operation-coverage.mjs","governance/lib/identity-copy.mjs","governance/stub-surface.json","governance/test/check-modules-authority.test.mjs","governance/test/http-operation-coverage.test.mjs","governance/test/identity-copy.test.mjs","governance/test/stub-surface.test.mjs","identity/apps/api-fastify/prisma/schema.prisma","identity/apps/api-fastify/src/modules/tenants/tenants.service.ts","identity/apps/api-fastify/test/tenants.integration.test.ts","identity/apps/api-nestjs/prisma/schema.prisma","identity/apps/api-nestjs/test/tenants.integration.test.ts","identity/packages/identity-domain/package.json","reports/caddy.latest.json","reports/candidate-contracts.latest.json","reports/capability-acceptance.latest.json","reports/catalog-chg.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/ci-mirror.latest.json","reports/configuration-runtime.latest.json","reports/credential-m1-sla.latest.json","reports/cross-cutting-capabilities.latest.json","reports/doc-claims.latest.json","reports/evidence-freshness.latest.json","reports/execution-slices.latest.json","reports/fact-pii.latest.json","reports/facts.latest.json","reports/fixture-coverage.latest.json","reports/fixtures.latest.json","reports/gate-flow.latest.json","reports/identity-ui.latest.json","reports/image-digest.json","reports/image-smoke.latest.json","reports/machine-revocation-sla.latest.json","reports/mainline-acceptance.latest.json","reports/mainline-restore.latest.json","reports/mcp-writes.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","reports/otel.latest.json","reports/policy-governance.latest.json","reports/port-conformance.latest.json","reports/registry-admission.latest.json","reports/release-drift.latest.json","reports/release-manifest.latest.json","reports/revocation-sla.latest.json","reports/sbom.latest.json","reports/sbom.spdx.json","reports/scope-fact-sla.latest.json","reports/scope-http.latest.json","reports/scope-owner-chain.latest.json","reports/stub-surface.latest.json","reports/workbench-catalog-snapshot.latest.json","reports/workbench-ops-snapshot.latest.json","reports/workbench-ui.latest.json","runtime/CLAUDE.md","runtime/apps/api-nestjs/.env.example","runtime/apps/api-nestjs/src/platform/http/fact-read.controller.ts","runtime/apps/api-nestjs/src/platform/platform-http.module.ts","runtime/apps/mcp/scripts/pilot-identity.mjs","runtime/apps/workbench/src/features/module-workspaces/registry.tsx","runtime/modules/cost-capacity/README.md","runtime/modules/cost-capacity/package.json","runtime/modules/cost-capacity/src/index.ts","runtime/modules/cost-capacity/tsconfig.json","runtime/modules/fact/README.md","runtime/modules/fact/src/persistence/read-runtime.ts","runtime/modules/identity/README.md","runtime/modules/identity/prisma/schema.prisma","runtime/modules/identity/src/contracts/idp-management.test.ts","runtime/modules/identity/src/contracts/idp-management.ts","runtime/modules/identity/src/http/common/tenant-scope.ts","runtime/modules/identity/src/http/tenants/tenants.service.ts","runtime/modules/identity/src/index.ts","runtime/modules/identity/test/canonical-http.cjs","runtime/modules/kit/src/fact-read.ts","runtime/modules/kit/src/index.ts","runtime/modules/permission/README.md","runtime/modules/permission/src/health.test.ts","runtime/modules/permission/src/health.ts","runtime/modules/permission/src/index.ts","runtime/modules/permission/src/persistence/authorization-store.ts","runtime/modules/permission/src/persistence/permission-store.ts","runtime/pnpm-lock.yaml","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/permission-catalog.latest.json","runtime/reports/platform-ops-definitions.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","runtime/test/e2e/fact-read-http.test.ts","runtime/test/e2e/identity-profile.test.ts","runtime/turbo.json","stack/compose.yaml"]},{"id":"addb0ca52b29df6b9d843af66beff9275c6cfd7b","message":"chore(reports): validate migration boundaries after independent EES followthrough\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/addb0ca52b29df6b9d843af66beff9275c6cfd7b","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-16T09:10:55-07:00","added":[],"removed":[],"modified":["reports/migration-decs.latest.json"]},{"id":"54c3eb73a178c411eb38302381ee8b05005c9f7b","message":"merge: accepted service surfaces with latest independent EES followthrough\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/54c3eb73a178c411eb38302381ee8b05005c9f7b","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-16T09:07:35-07:00","added":["docs/evidence/service-surface-2026-10-16/legacy-tenant-final.json","docs/evidence/service-surface-2026-10-16/restore-before-tenant-failed.json","docs/evidence/service-surface-2026-10-16/restore-final.json","docs/evidence/service-surface-2026-10-16/runtime-after-latest-main-failed.json","docs/evidence/service-surface-2026-10-16/runtime-before-latest-main.json","docs/evidence/service-surface-2026-10-16/runtime-final.json","docs/evidence/service-surface-2026-10-16/runtime-first-failed.json","docs/evidence/service-surface-2026-10-16/runtime-superseded-attempt.json","docs/evidence/service-surface-2026-10-16/runtime-tenant-table-count-failed.json","docs/evidence/service-surface-2026-10-16/runtime-with-tenant.json","docs/evidence/service-surface-2026-10-16/scope-owner-before-rebuild-failed.json","docs/evidence/service-surface-2026-10-16/scope-owner-final.json","docs/evidence/service-surface-2026-10-16/targeted-validation.json","docs/evidence/service-surface-2026-10-16/workbench-ui-before-tenant.json","docs/服务模块未落地面实施与验收-2026-10-16.md","identity/apps/api-fastify/prisma/migrations/202610160002_tenant_enterprise_link/migration.sql","identity/apps/api-nestjs/domain/server/tenant-enterprise-link.ts","identity/apps/api-nestjs/persistence/tenant-provisioned-fact.ts","identity/apps/api-nestjs/prisma/migrations/202610160002_tenant_enterprise_link/migration.sql","runtime/apps/api-nestjs/src/platform/http/cost-usage-review.controller.ts","runtime/apps/api-nestjs/test/platform.cost-usage-review.http.test.ts","runtime/modules/cost-capacity/src/http/usage-review-runtime.ts","runtime/modules/identity/prisma/migrations/202610160002_tenant_enterprise_link/migration.sql","runtime/modules/identity/src/domain/server/tenant-enterprise-link.ts","runtime/modules/identity/src/persistence/tenant-provisioned-fact.ts","runtime/modules/permission/prisma/migrations/202610160001_permission_fact_outbox/migration.sql","runtime/modules/permission/src/persistence/owner-fact-relay.ts","runtime/modules/permission/src/persistence/permission-fact-outbox.ts","runtime/modules/permission/src/persistence/permission-facts.ts","runtime/test/e2e/permission-facts.test.ts","runtime/test/e2e/tenant-enterprise-link.test.ts"],"removed":[],"modified":["CLAUDE.md","README.md","contracts/candidates/contracts/usage-record-api.v1.openapi.json","contracts/contracts/ai-gateway-api.v1.openapi.json","contracts/contracts/fact-intake-api.v1.openapi.json","docs/README.md","docs/runbook.md","docs/企业公共基础平台对外交付设计.md","docs/当前状态与验收边界.md","docs/文档索引.md","docs/项目完整能力表.md","governance/check-stub-surface.mjs","governance/lib/http-operation-coverage.mjs","governance/lib/identity-copy.mjs","governance/stub-surface.json","governance/test/check-modules-authority.test.mjs","governance/test/http-operation-coverage.test.mjs","governance/test/identity-copy.test.mjs","governance/test/stub-surface.test.mjs","identity/apps/api-fastify/prisma/schema.prisma","identity/apps/api-fastify/src/modules/tenants/tenants.service.ts","identity/apps/api-fastify/test/tenants.integration.test.ts","identity/apps/api-nestjs/prisma/schema.prisma","identity/apps/api-nestjs/test/tenants.integration.test.ts","identity/packages/identity-domain/package.json","reports/caddy.latest.json","reports/candidate-contracts.latest.json","reports/capability-acceptance.latest.json","reports/catalog-chg.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/ci-mirror.latest.json","reports/configuration-runtime.latest.json","reports/credential-m1-sla.latest.json","reports/cross-cutting-capabilities.latest.json","reports/doc-claims.latest.json","reports/evidence-freshness.latest.json","reports/execution-slices.latest.json","reports/fact-pii.latest.json","reports/facts.latest.json","reports/fixture-coverage.latest.json","reports/fixtures.latest.json","reports/gate-flow.latest.json","reports/identity-ui.latest.json","reports/image-digest.json","reports/image-smoke.latest.json","reports/machine-revocation-sla.latest.json","reports/mainline-acceptance.latest.json","reports/mainline-restore.latest.json","reports/mcp-writes.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","reports/otel.latest.json","reports/policy-governance.latest.json","reports/port-conformance.latest.json","reports/registry-admission.latest.json","reports/release-drift.latest.json","reports/release-manifest.latest.json","reports/revocation-sla.latest.json","reports/sbom.latest.json","reports/sbom.spdx.json","reports/scope-fact-sla.latest.json","reports/scope-http.latest.json","reports/scope-owner-chain.latest.json","reports/stub-surface.latest.json","reports/workbench-catalog-snapshot.latest.json","reports/workbench-ops-snapshot.latest.json","reports/workbench-ui.latest.json","runtime/CLAUDE.md","runtime/apps/api-nestjs/.env.example","runtime/apps/api-nestjs/src/platform/http/fact-read.controller.ts","runtime/apps/api-nestjs/src/platform/platform-http.module.ts","runtime/apps/mcp/scripts/pilot-identity.mjs","runtime/apps/workbench/src/features/module-workspaces/registry.tsx","runtime/modules/cost-capacity/README.md","runtime/modules/cost-capacity/package.json","runtime/modules/cost-capacity/src/index.ts","runtime/modules/cost-capacity/tsconfig.json","runtime/modules/fact/README.md","runtime/modules/fact/src/persistence/read-runtime.ts","runtime/modules/identity/README.md","runtime/modules/identity/prisma/schema.prisma","runtime/modules/identity/src/contracts/idp-management.test.ts","runtime/modules/identity/src/contracts/idp-management.ts","runtime/modules/identity/src/http/common/tenant-scope.ts","runtime/modules/identity/src/http/tenants/tenants.service.ts","runtime/modules/identity/src/index.ts","runtime/modules/identity/test/canonical-http.cjs","runtime/modules/kit/src/fact-read.ts","runtime/modules/kit/src/index.ts","runtime/modules/permission/README.md","runtime/modules/permission/src/health.test.ts","runtime/modules/permission/src/health.ts","runtime/modules/permission/src/index.ts","runtime/modules/permission/src/persistence/authorization-store.ts","runtime/modules/permission/src/persistence/permission-store.ts","runtime/pnpm-lock.yaml","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/permission-catalog.latest.json","runtime/reports/platform-ops-definitions.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","runtime/test/e2e/fact-read-http.test.ts","runtime/test/e2e/identity-profile.test.ts","runtime/turbo.json","stack/compose.yaml"]},{"id":"5c46b9193c31a2e767791491b838b2a77a5e4f6c","message":"chore(reports): bind merged cloud documentation and delivery snapshots\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/5c46b9193c31a2e767791491b838b2a77a5e4f6c","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-16T09:02:04-07:00","added":[],"removed":[],"modified":["reports/doc-claims.latest.json","reports/evidence-freshness.latest.json","reports/release-manifest.latest.json","reports/stub-surface.latest.json","reports/workbench-catalog-snapshot.latest.json","reports/workbench-ops-snapshot.latest.json","runtime/reports/agent-adapters.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/governance-docs.latest.json"]}],"total_commits":0,"head_commit":{"id":"41afd2a1b1a5bcd33eac661fe2835b0f91183910","message":"chore(reports): bind reviewed ready-main checks and snapshots\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/41afd2a1b1a5bcd33eac661fe2835b0f91183910","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-16T16:41:12-07:00","added":[],"removed":[],"modified":["reports/doc-claims.latest.json","reports/evidence-freshness.latest.json","reports/migration-decs.latest.json","reports/release-manifest.latest.json","reports/stub-surface.latest.json","reports/workbench-catalog-snapshot.latest.json","reports/workbench-ops-snapshot.latest.json","runtime/reports/agent-adapters.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/governance-docs.latest.json"]},"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":89449,"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":59,"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-10-17T00:06:43+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"}}... |