| event_payload |
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"3308542265e6a301126e1135310b11fbcddd5c5d","after":"eb3cf2c38148bfc0dac9ab1e8cdd5733ae8aa13f","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/3308542265e6a301126e1135310b11fbcddd5c5d...eb3cf2c38148bfc0dac9ab1e8cdd5733ae8aa13f","commits":[{"id":"eb3cf2c38148bfc0dac9ab1e8cdd5733ae8aa13f","message":"chore(reports): rebind to 64914b9 and refresh the foundation audit snapshot\n\nThe audit snapshot that the MS-4 exit condition cites had not been rerun\nsince 2026-09-05 -- before the decision meeting. It still reported 2 DECs\napproved and 30 pending against today's 32/0, and still raised\nFACT_DECISIONS_PENDING_OR_UNKNOWN, which that meeting resolved. Refreshed\nhere and in 基础/reports/基础目录统一审计.latest.json (the source copy,\noutside version control).\n\nStatus stays BLOCKED. Seven blockers persist, INVENTORY_INVALID is new\n(企业 IdP lacks 开发计划.md). Each is now attributed in plan deviation #32,\nwhich also records that the cited \"19/19\" denominator does not exist in\nthe report at all: it is 25 directories / 21 formal / 4 unregistered\ncandidates, with 20 of 21 formal entries document-complete.\n\nGate reports rebound to 64914b9 on a clean tree; `pnpm check` exits 0.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/eb3cf2c38148bfc0dac9ab1e8cdd5733ae8aa13f","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-13T21:26:55-07:00","added":[],"removed":[],"modified":["reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/facts.latest.json","reports/fixtures.latest.json","reports/foundation-audit-current.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","runtime/reports/agent-adapters.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-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json"]},{"id":"64914b92b50df251607e0e4c3ece6b91a90d747e","message":"feat(governance): require migration-DEC exceptions to carry their own exit\n\nG-13. The exception file silences DECISION_HEADER_MISSING -- the gate\nbehind repo discipline 3 (\"authoritative-table migrations must cite an\napproved DEC\"). Nothing checked that an exception says why it exists, when\nit should go, or who recorded it, so a one-line entry could mute a real\nviolation and leave no trace. That is a back door, not an exception.\n\nEXCEPTION_INCOMPLETE now fails an exception missing any of migrations /\nreason / resolveBy / recordedAt, whitespace-only values included. The two\nreal entries (24 identity migrations awaiting PF-07 phase 2) already carry\nall four, so the live report is unchanged: 39 migrations, 0 violations,\n24 exceptions applied.\n\nEXCEPTION_STALE already forced removal once a migration gained a header;\nthe pair now covers both ends -- an exception cannot outlive its condition\nand cannot exist without stating one.\n\nLocal: governance 171 -\u003e 173, root `pnpm check` exit 0.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/64914b92b50df251607e0e4c3ece6b91a90d747e","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-13T21:25:08-07:00","added":[],"removed":[],"modified":["governance/check-migration-decs.mjs","governance/test/check-migration-decs.test.mjs"]},{"id":"cb504a5cbfc0795f42410402cc6fdccc17159f7a","message":"docs(contracts): register the G-12 linter change against the import source\n\nPF-04 phase 1 requires every divergence from platform-contracts/ to be\nrecorded in SOURCE.md, and corrects what the 2026-09-10 sync note said.\nThat note filed all six PLATFORM_PROJECT_UNREGISTERED findings under\n\"waiting for CHG-001\"; two of them were scan false positives that no\nchange request could ever clear. Four real candidate platforms remain.\n\nThe source directory itself stays untouched per phase 1, so the formal\ncheck behind 基础/scripts/audit-foundation.mjs still reports six until\nphase 2 removes the old copy.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/cb504a5cbfc0795f42410402cc6fdccc17159f7a","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-13T21:23:44-07:00","added":[],"removed":[],"modified":["contracts/SOURCE.md"]},{"id":"7adc31e54817d8d9b9f35a2fac25719aba53cbac","message":"chore(reports): rebind gate reports to ac3683d; fixtures now passed\n\nRegenerated on a clean tree; `pnpm check` exits 0 with 28/28 turbo tasks.\n\nfixtures moves from partial to passed: 8 suites / 89 cases / 0 failures /\n0 unavailable. The previous copy was produced in a detached worktree with\nno workspace ancestor, so the dec-039-party-model suite (workspaceRelative,\n25 cases) reported unavailable; in the main worktree it runs and passes.\nThe --allow-unavailable-suite flag stays -- a standalone CI clone still\ncannot see it.\n\nrelease-manifest stays partial on the same four deliverables.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/7adc31e54817d8d9b9f35a2fac25719aba53cbac","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-13T21:22:40-07:00","added":[],"removed":[],"modified":["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/reports/agent-adapters.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-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json"]},{"id":"ac3683d122be41adf616c6a2223040a2578283f0","message":"fix(contracts): stop counting 基础/ tooling directories as unregistered platforms\n\nG-12. The platform-directory scan excluded only `scripts`, so `基础/reports`\nand `基础/tests` -- that directory's own tooling and output folders, added\nlater -- were reported as PLATFORM_PROJECT_UNREGISTERED. Two false\npositives sat mixed in with the four genuinely unregistered candidate\nplatforms, and they were invisible in CI because the whole check is\nskipped in a standalone clone (needsWorkspace).\n\nThey also masked a second defect. `E2 evidence files must contain a passed\nreport` pinned itself to enterprise-idp, whose evidence_level dropped to E0\nwhen the IdP source moved into identity/; the evidence check only runs at\nE2, so the injected fault could never be detected and the case failed on\nHEAD for anyone with the workspace checked out. The case now sets\nevidence_level itself instead of depending on catalog state.\n\nThe four real offenders (企业搜索 / 外部连接器 / 开发者自助 / 数据治理与隐私,\nall candidate-not-registered pending CHG) still report, and a new case\nasserts both halves: tooling directories must not report, real ones must.\n\nLocal: contracts check:local 100/101 -\u003e 101/101 (exit 0), governance\n171/171, root `pnpm check` exit 0 with 28/28 turbo tasks.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/ac3683d122be41adf616c6a2223040a2578283f0","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-13T21:22:10-07:00","added":[],"removed":[],"modified":["contracts/scripts/governance-linter.mjs","contracts/test/governance-linter.test.mjs"]}],"total_commits":0,"head_commit":{"id":"eb3cf2c38148bfc0dac9ab1e8cdd5733ae8aa13f","message":"chore(reports): rebind to 64914b9 and refresh the foundation audit snapshot\n\nThe audit snapshot that the MS-4 exit condition cites had not been rerun\nsince 2026-09-05 -- before the decision meeting. It still reported 2 DECs\napproved and 30 pending against today's 32/0, and still raised\nFACT_DECISIONS_PENDING_OR_UNKNOWN, which that meeting resolved. Refreshed\nhere and in 基础/reports/基础目录统一审计.latest.json (the source copy,\noutside version control).\n\nStatus stays BLOCKED. Seven blockers persist, INVENTORY_INVALID is new\n(企业 IdP lacks 开发计划.md). Each is now attributed in plan deviation #32,\nwhich also records that the cited \"19/19\" denominator does not exist in\nthe report at all: it is 25 directories / 21 formal / 4 unregistered\ncandidates, with 20 of 21 formal entries document-complete.\n\nGate reports rebound to 64914b9 on a clean tree; `pnpm check` exits 0.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/eb3cf2c38148bfc0dac9ab1e8cdd5733ae8aa13f","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-13T21:26:55-07:00","added":[],"removed":[],"modified":["reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/facts.latest.json","reports/fixtures.latest.json","reports/foundation-audit-current.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","runtime/reports/agent-adapters.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-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.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":12998,"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":30,"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-14T12:01:44+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"}}... |