{"schemaVersion":"developer.reits.tech/ci-registry/v1","generatedAt":"2026-07-28T13:10:00Z","source":{"repositoryRegistry":"/repository-inventory","taskPacketSchema":"/schemas/task-packet.v1.schema.json","consumerEvidenceSchema":"/schemas/consumer-evidence.v1.schema.json","profileSchema":"/schemas/ci-profile.v1.schema.json","validator":"/ci/v1/reits-ci-gate.mjs"},"summary":{"coreRepositories":18,"nativeWorkflowsAtAudit":8,"workflowGapsAtAudit":10,"protectedBranchesAtAudit":2,"requiredEvidenceChecksAtAudit":0,"currentMinimumWorkflows":18,"currentProtectedBranches":18,"currentRequiredEvidenceChecks":18,"frozenOrReferenceRepositories":4},"runnerAudit":{"linux":{"registered":1,"online":1,"busyAtAudit":0,"scope":"repository","assignedRepositories":["reits/im-core"],"organizationRunners":0,"deliveryImpact":"im-core can execute the gate; the other 17 repositories have no eligible organization or instance runner"},"macos":{"registered":2,"online":1,"scope":"unrelated-repository-reusable","deliveryImpact":"The only online Mac identity is reusable and scoped to jx-im/im-client-ios-swift; it cannot qualify either exact native workload"}},"executionAudit":{"observedAt":"2026-07-24T09:06:33Z","latestMainOrPullRequestGate":{"success":2,"pending":0,"failure":2},"admissionState":"fail-closed-mixed","boundary":"Current exact native candidates are reported separately from workflow installation: matrix-quant-im-ios has two raw successes without trusted scope or cleanup, while im-media-send-kit has two failed/cancelled contexts without native execution. The only online Linux runner remains repository-scoped to im-core, no organization runner is registered, and the only online Mac is reusable and scoped to an unrelated repository."},"policy":{"workflowName":"REITS Minimum CI","jobName":"gate","pullRequestCheckContext":"REITS Minimum CI / gate (pull_request)","defaultBranch":"main","changedTaskPacketRequired":true,"changedConsumerEvidenceRequired":true,"directPush":"disabled for ordinary contributors","forcePush":false,"staleApproval":"dismiss","adminMergeOverride":false},"taskProtocol":{"required":["taskId","idempotencyKey","owner","repositories","scope","changeSet","contracts","acceptance","rollback","evidence"],"mergeRule":"Every changed contract must have PASS evidence from every declared consumer in the same change set."},"repositories":[{"id":"data-sources","owner":"reits","baseRevision":"cb37d2ce9633e7395d614f3b3239c5efea2902f7","currentRevision":"8987dc1ef058a6d7e8b9ceaa866ba4395ab08a40","stack":"Go 1.22 + Vue/Vite","runner":"ubuntu-latest","mode":"inline","setup":["go","node"],"commands":["test -z \"$(gofmt -l .)\"","go test ./...","cd web/admin && npm ci --no-fund --no-audit && npm run build"]},{"id":"im-core","owner":"reits","baseRevision":"deea700b3a9e970b1d1738ff381c4bc8b3e0a935","currentRevision":"a74eeb1483cf770342884a5997273d9bf1c7794f","stack":"Go","runner":"ubuntu-latest","mode":"native-workflow","nativeWorkflow":".gitea/workflows/ci.yml","commands":["make ci"]},{"id":"im-media-send-kit","owner":"jx-im","baseRevision":"d9e5cf4368a8758425bc19e1b25a3130b1a0063c","currentRevision":"d5f0e3e5d65886c0ad9654f4ef30468a0e7b089f","stack":"Swift Package","runner":"macos-latest","mode":"inline","setup":[],"commands":["swift test"]},{"id":"im-ui","owner":"reits","baseRevision":"17618a85e1181cfdf436c28760901a710f076b9f","currentRevision":"ebee6f3a4e9747c90f1d5c6a8d4b892220ac2a0d","stack":"Node design package","runner":"ubuntu-latest","mode":"native-workflow","nativeWorkflow":".gitea/workflows/ui-foundation.yml","commands":["npm test"]},{"id":"matrix-quant-im-ios","owner":"reits","baseRevision":"92fc8d0b26e4a581c3ab38d5cc8f1be7dbb7ad5e","currentRevision":"c145038c3d3330162186d8a9b242de61a053ed9d","stack":"Swift/iOS","runner":"macos-latest","mode":"native-workflow","nativeWorkflow":".gitea/workflows/ci.yml","commands":["make validate","make test-package","make build-debug"]},{"id":"matrix-x-chat-ios","owner":"reits","baseRevision":"257e604a5073b1ecab0f905d7ec59dfb78960639","currentRevision":"15c5cad80524d2996ace92b3a481ba9d076ba697","stack":"Swift/iOS + shell policy","runner":"ubuntu-latest","mode":"native-workflow","nativeWorkflow":".gitea/workflows/xcode-build.yml","commands":["existing 45-workflow policy suite"]},{"id":"matrixantai-backtest","owner":"reits","baseRevision":"f7dac525c9122dbd344135946a194a187dbb79c6","currentRevision":"67d77a23b3a9a1db85c19ab7d9ae129532a08d30","stack":"Node deterministic engine","runner":"ubuntu-latest","mode":"inline","setup":["node"],"commands":["npm test"]},{"id":"matrixantai-sim","owner":"reits","baseRevision":"69b87bf57248110b3abdac0690d53be2d6a015cf","currentRevision":"b238cb6b2c6de5a33006622287386242225abde0","stack":"Browser ESM + bundle scripts","runner":"ubuntu-latest","mode":"inline","setup":["node"],"commands":["node --check app.mjs","bash -n scripts/build-miniapp-bundle.sh scripts/gen-slices.sh scripts/vendor.sh","git diff --check"]},{"id":"miniapp-open-platform","owner":"reits","baseRevision":"3eef50cd93c3d455c8834e23a25f2a6ecac08ebb","currentRevision":"2baff35d9a28a51ab227e4f08a426a930787fe51","stack":"Go services + React portal","runner":"ubuntu-latest","mode":"native-workflow","nativeWorkflow":".gitea/workflows/media-s3-contract.yml","commands":["portal npm test/build","service go test/vet/build","media policy"]},{"id":"opensdk","owner":"reits","baseRevision":"e50cb8a1ac86bcf86450833f2475fd0ece41899a","currentRevision":"40d9219d607c60482c1ab11c4951296d29b22f22","stack":"Go SDK","runner":"ubuntu-latest","mode":"inline","setup":["go"],"commands":["make build","make vet","make test"]},{"id":"public-booking-platform","owner":"reits","baseRevision":"ced32337ac5f45852494f5f7ecd4adaeed71fd90","currentRevision":"6a38c3df682ea225d296ec9ec50a1407f26ac7d8","stack":"Node service + web","runner":"ubuntu-latest","mode":"inline","setup":["node"],"commands":["npm ci --no-fund --no-audit","npm run ci:order"]},{"id":"quant-platform","owner":"reits","baseRevision":"535041b190403769364b0ce2853f0f7f7fbb5877","currentRevision":"a7e93e3d46ec0cbe28ff4e8c65c8258270b61c5c","stack":"Source contract placeholder","runner":"ubuntu-latest","mode":"inline","setup":[],"commands":["test -s README.md","git diff --check"]},{"id":"reits-auth","owner":"reits","baseRevision":"157b8590e4625ad2fda802410303461a69a74bd3","currentRevision":"3967686c7e7fc0e4ccf738ca63139a41b5057a82","stack":"Go security service","runner":"ubuntu-latest","mode":"native-workflow","nativeWorkflow":".gitea/workflows/ci.yml","commands":["gofmt","go vet ./...","go test -race ./...","go build ./cmd/server"]},{"id":"reits-bbs","owner":"reits","baseRevision":"1d2d5b6fdbe1918245298cb5f0830c094356b02c","currentRevision":"9c6b70599b66b526c341ef90d4aa53c4e77e8774","stack":"NodeBB theme + operations docs","runner":"ubuntu-latest","mode":"inline","setup":["node"],"commands":["node --check themes/reits-city/public/client.js","node --check themes/reits-city/lib/theme.js","node -e \"JSON.parse(require('fs').readFileSync('themes/reits-city/package.json')); JSON.parse(require('fs').readFileSync('themes/reits-city/plugin.json'))\"","git diff --check"]},{"id":"reits-info-portal","owner":"reits","baseRevision":"05500792e5795111889a53670fc609e9174190d1","currentRevision":"6d175fbdedf8c1c156d63aec8b7b6f829f5b794a","stack":"Next.js 16","runner":"ubuntu-latest","mode":"inline","setup":["node"],"commands":["npm ci --no-fund --no-audit","npm run typecheck","npm run build"]},{"id":"reits-knowledge","owner":"reits","baseRevision":"576fefc1717f2030a883a051ffb346056b6ee5d4","currentRevision":"fd45c779e782640172b25217bfd7d7a0f57c9491","stack":"Governance + Python validators","runner":"ubuntu-latest","mode":"native-workflow","nativeWorkflow":".gitea/workflows/governance.yml","commands":["python3 scripts/validate_org_governance.py","python3 scripts/test_org_governance.py"]},{"id":"reits-media","owner":"reits","baseRevision":"db8c55a68927c0fddf47ea85102042ed6e2360f1","currentRevision":"4e76349c14e155a55d059bdb2bff0c2d8c886a7e","stack":"Go media service","runner":"ubuntu-latest","mode":"native-workflow","nativeWorkflow":".gitea/workflows/ci.yml","commands":["go test ./...","go vet ./...","go build ./cmd/reits-media"]},{"id":"trading-data-source","owner":"reits","baseRevision":"55b1ad827176b0937963d5694f411e901665fcfd","currentRevision":"70b8242facafe95773cfc6f2ce108bfa5bdcdf04","stack":"Go 1.26 + Vue/Vite","runner":"ubuntu-latest","mode":"inline","setup":["go","node"],"commands":["test -z \"$(gofmt -l .)\"","go test ./...","cd web && npm ci --no-fund --no-audit && npm run build"]}],"excluded":[{"id":"apps-bbs","reason":"frozen prototype; successor reits-bbs owns delivery"},{"id":"apps-ecosystem","reason":"frozen prototype; Developer Portal owns architecture directory"},{"id":"apps-info-portal","reason":"frozen prototype; successor reits-info-portal owns delivery"},{"id":"xtalk-open-source","reason":"read-only shared reference; never impose REITS organization policy"}],"metrics":{"repositories":18,"workflows":18,"protectedBranches":18,"evidenceChecks":18,"workflowGapsClosed":10,"nativeWorkflowsRetained":8,"excluded":4,"linuxRunnersOnline":1,"organizationRunners":0,"macRunnersOnline":1,"executedGates":2,"queuedGates":0},"protocolFlow":[{"id":"01","label":"Task Packet","detail":"scope · owner · idempotency","state":"required"},{"id":"02","label":"Contract Map","detail":"producer → consumers","state":"required"},{"id":"03","label":"Consumer Proof","detail":"PASS + artifact digest","state":"required"},{"id":"04","label":"Evidence Gate","detail":"changed packet in same diff","state":"blocking"},{"id":"05","label":"Stack Minimum","detail":"Go · Node · Swift · policy","state":"parallel"},{"id":"06","label":"Protected Main","detail":"no ordinary direct push","state":"enforced"}],"failureRules":[{"code":"changed-task-packet","meaning":"代码变了，但本次 diff 没有新增或更新任务包。","owner":"task owner"},{"code":"scope-uncovered","meaning":"改动路径不在 changeSet.include，AI 扩大了范围。","owner":"task owner"},{"code":"consumer-proof-missing","meaning":"契约声明了消费者，但同一任务没有 PASS 证据。","owner":"producer + consumer"},{"code":"artifact-digest","meaning":"证据引用的文件与 SHA-256 不一致。","owner":"consumer"},{"code":"native-workflow","meaning":"登记的原生最小 workflow 已删除或漂移。","owner":"repository owner"}],"branchProtectionReceipt":{"schemaVersion":"developer.reits.tech/branch-protection-receipt/v1","observedAt":"2026-07-20T10:30:00Z","source":"authenticated Gitea API","policy":{"workflowName":"REITS Minimum CI","jobName":"gate","pullRequestCheckContext":"REITS Minimum CI / gate (pull_request)","defaultBranch":"main","changedTaskPacketRequired":true,"changedConsumerEvidenceRequired":true,"directPush":"disabled for ordinary contributors","forcePush":false,"staleApproval":"dismiss","adminMergeOverride":false},"results":[{"repository":"data-sources","owner":"reits","before":{"exists":false,"evidenceRequired":false},"after":{"exists":true,"directPush":false,"forcePush":false,"statusCheck":true,"contexts":["REITS Minimum CI / gate (pull_request)"],"staleApprovalsDismissed":true,"adminMergeOverrideBlocked":true},"compliant":true},{"repository":"im-core","owner":"reits","before":{"exists":true,"directPush":false,"forcePush":false,"statusCheck":false,"contexts":[],"staleApprovalsDismissed":true,"adminMergeOverrideBlocked":false},"after":{"exists":true,"directPush":false,"forcePush":false,"statusCheck":true,"contexts":["REITS Minimum CI / gate (pull_request)"],"staleApprovalsDismissed":true,"adminMergeOverrideBlocked":true},"compliant":true},{"repository":"im-media-send-kit","owner":"jx-im","before":{"exists":false,"evidenceRequired":false},"after":{"exists":true,"directPush":false,"forcePush":false,"statusCheck":true,"contexts":["REITS Minimum CI / gate (pull_request)"],"staleApprovalsDismissed":true,"adminMergeOverrideBlocked":true},"compliant":true},{"repository":"im-ui","owner":"reits","before":{"exists":false,"evidenceRequired":false},"after":{"exists":true,"directPush":false,"forcePush":false,"statusCheck":true,"contexts":["REITS Minimum CI / gate (pull_request)"],"staleApprovalsDismissed":true,"adminMergeOverrideBlocked":true},"compliant":true},{"repository":"matrix-quant-im-ios","owner":"reits","before":{"exists":false,"evidenceRequired":false},"after":{"exists":true,"directPush":false,"forcePush":false,"statusCheck":true,"contexts":["REITS Minimum CI / gate (pull_request)"],"staleApprovalsDismissed":true,"adminMergeOverrideBlocked":true},"compliant":true},{"repository":"matrix-x-chat-ios","owner":"reits","before":{"exists":false,"evidenceRequired":false},"after":{"exists":true,"directPush":false,"forcePush":false,"statusCheck":true,"contexts":["REITS Minimum CI / gate (pull_request)"],"staleApprovalsDismissed":true,"adminMergeOverrideBlocked":true},"compliant":true},{"repository":"matrixantai-backtest","owner":"reits","before":{"exists":false,"evidenceRequired":false},"after":{"exists":true,"directPush":false,"forcePush":false,"statusCheck":true,"contexts":["REITS Minimum CI / gate (pull_request)"],"staleApprovalsDismissed":true,"adminMergeOverrideBlocked":true},"compliant":true},{"repository":"matrixantai-sim","owner":"reits","before":{"exists":false,"evidenceRequired":false},"after":{"exists":true,"directPush":false,"forcePush":false,"statusCheck":true,"contexts":["REITS Minimum CI / gate (pull_request)"],"staleApprovalsDismissed":true,"adminMergeOverrideBlocked":true},"compliant":true},{"repository":"miniapp-open-platform","owner":"reits","before":{"exists":false,"evidenceRequired":false},"after":{"exists":true,"directPush":false,"forcePush":false,"statusCheck":true,"contexts":["REITS Minimum CI / gate (pull_request)"],"staleApprovalsDismissed":true,"adminMergeOverrideBlocked":true},"compliant":true},{"repository":"opensdk","owner":"reits","before":{"exists":false,"evidenceRequired":false},"after":{"exists":true,"directPush":false,"forcePush":false,"statusCheck":true,"contexts":["REITS Minimum CI / gate (pull_request)"],"staleApprovalsDismissed":true,"adminMergeOverrideBlocked":true},"compliant":true},{"repository":"public-booking-platform","owner":"reits","before":{"exists":false,"evidenceRequired":false},"after":{"exists":true,"directPush":false,"forcePush":false,"statusCheck":true,"contexts":["REITS Minimum CI / gate (pull_request)"],"staleApprovalsDismissed":true,"adminMergeOverrideBlocked":true},"compliant":true},{"repository":"quant-platform","owner":"reits","before":{"exists":false,"evidenceRequired":false},"after":{"exists":true,"directPush":false,"forcePush":false,"statusCheck":true,"contexts":["REITS Minimum CI / gate (pull_request)"],"staleApprovalsDismissed":true,"adminMergeOverrideBlocked":true},"compliant":true},{"repository":"reits-auth","owner":"reits","before":{"exists":false,"evidenceRequired":false},"after":{"exists":true,"directPush":false,"forcePush":false,"statusCheck":true,"contexts":["REITS Minimum CI / gate (pull_request)"],"staleApprovalsDismissed":true,"adminMergeOverrideBlocked":true},"compliant":true},{"repository":"reits-bbs","owner":"reits","before":{"exists":false,"evidenceRequired":false},"after":{"exists":true,"directPush":false,"forcePush":false,"statusCheck":true,"contexts":["REITS Minimum CI / gate (pull_request)"],"staleApprovalsDismissed":true,"adminMergeOverrideBlocked":true},"compliant":true},{"repository":"reits-info-portal","owner":"reits","before":{"exists":true,"directPush":false,"forcePush":false,"statusCheck":false,"contexts":[],"staleApprovalsDismissed":true,"adminMergeOverrideBlocked":false},"after":{"exists":true,"directPush":false,"forcePush":false,"statusCheck":true,"contexts":["REITS Minimum CI / gate (pull_request)"],"staleApprovalsDismissed":true,"adminMergeOverrideBlocked":true},"compliant":true},{"repository":"reits-knowledge","owner":"reits","before":{"exists":false,"evidenceRequired":false},"after":{"exists":true,"directPush":false,"forcePush":false,"statusCheck":true,"contexts":["REITS Minimum CI / gate (pull_request)"],"staleApprovalsDismissed":true,"adminMergeOverrideBlocked":true},"compliant":true},{"repository":"reits-media","owner":"reits","before":{"exists":false,"evidenceRequired":false},"after":{"exists":true,"directPush":false,"forcePush":false,"statusCheck":true,"contexts":["REITS Minimum CI / gate (pull_request)"],"staleApprovalsDismissed":true,"adminMergeOverrideBlocked":true},"compliant":true},{"repository":"trading-data-source","owner":"reits","before":{"exists":false,"evidenceRequired":false},"after":{"exists":true,"directPush":false,"forcePush":false,"statusCheck":true,"contexts":["REITS Minimum CI / gate (pull_request)"],"staleApprovalsDismissed":true,"adminMergeOverrideBlocked":true},"compliant":true}],"summary":{"repositories":18,"compliant":18,"drift":0,"created":16,"updated":2}},"discovery":{"workbench":"/ci-foundation","taskPacketSchema":"/schemas/task-packet.v1.schema.json","consumerEvidenceSchema":"/schemas/consumer-evidence.v1.schema.json","profileSchema":"/schemas/ci-profile.v1.schema.json","validator":"/ci/v1/reits-ci-gate.mjs"}}