| event_payload |
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"685fcb751aa1494add5a409d1585d52e06e01305","after":"3b3909bb0708b67e9aa9b101664bf5e15e42c404","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/685fcb751aa1494add5a409d1585d52e06e01305...3b3909bb0708b67e9aa9b101664bf5e15e42c404","commits":[{"id":"3b3909bb0708b67e9aa9b101664bf5e15e42c404","message":"chore(reports): 工作台两快照再回绑 @ 777bcb56(把新的 evidence-freshness 结论嵌进 ops 快照)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/3b3909bb0708b67e9aa9b101664bf5e15e42c404","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-26T17:54:36-07:00","added":[],"removed":[],"modified":["reports/workbench-catalog-snapshot.latest.json","reports/workbench-ops-snapshot.latest.json"]},{"id":"777bcb56a4b89c54007ed5377a3519b2bc470012","message":"chore(reports): evidence-freshness 回绑 @ 3e1b7ad5(credential 受控命令轮:零依赖门禁、runtime 静态门禁与两快照已重跑;真库 / 浏览器 / 部署验收未重跑,为 warn)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/777bcb56a4b89c54007ed5377a3519b2bc470012","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-26T17:54:36-07:00","added":[],"removed":[],"modified":["reports/evidence-freshness.latest.json"]},{"id":"3e1b7ad5a752955f0cdffdbde2be167363c2af9b","message":"chore(reports): 根链 23 环 + runtime 静态门禁 + 工作台两快照 回绑 @ 450a7393(credential.lease-revoke Owner 处理器与账本进入 modules / migration-decs / cross-cutting / stub-surface / doc-claims / facts / candidate-contracts / module-imports / platform-ops-definitions 作用域;stub-surface 只在登记里 10 → 9、doc-claims 103 张 RLS 租户表;快照 implemented 四条)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/3e1b7ad5a752955f0cdffdbde2be167363c2af9b","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-26T17:54:30-07:00","added":[],"removed":[],"modified":["reports/caddy.latest.json","reports/candidate-contracts.latest.json","reports/catalog-chg.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/ci-mirror.latest.json","reports/cross-cutting-capabilities.latest.json","reports/doc-claims.latest.json","reports/evidence-freshness.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/migration-decs.latest.json","reports/module-imports.latest.json","reports/otel.latest.json","reports/release-drift.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/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-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json"]},{"id":"450a7393bd63ee96b936d60a2479ab7300ca25f7","message":"feat(credential): 受控命令 credential.lease-revoke 落 Owner 处理器与账本,拍板 ③ 的 POST /v1/credential-leases/{leaseId}/revoke 别名到同一处理器(CHG-005 / X09 / OPS-3)\n\n- 账本 platform_credential_operation(迁移 202609260001,头引 DEC-006/007/025,建表即 FORCE RLS;tenantTables 4 → 5,全仓 102 → 103)\n- src/persistence/credential-operations.ts:租户事务与 CredentialStore 同一 advisory lock;同事务改租约 state/revision、appendFactIntent 写 ServiceCredentialRevoked、写审计意图(credential.revoke,details 含 operation_id/definition_id/reason_code);同键同计划 replayed、同键不同 IDEMPOTENCY_KEY_CONFLICT;非 issued 目标记 failed(LEASE_NOT_ISSUED:\u003cstate\u003e)\n- src/ops/credential-ops.ts:CREDENTIAL_LEASE_REVOKE_DEFINITION_ID;输入校验与候选定义 input_schema 对齐;lease_id 接受 lease_… / cref_…,主体 lease:\u003cleaseId\u003e;PLATFORM_OPS_ENABLED=1 ∧ DATABASE_URL_CREDENTIAL 才提供;描述符 opsRuntime 接入\n- api-nestjs:CredentialLeaseRevokeController 只做形状转换,守卫 / dry-run / plan_digest / Idempotency-Key 全走 PlatformOpsController.submit;platform-http.module 登记\n- 测试:模块无库单测 5、集成 6(_rt 角色、RLS)、api-nestjs 纯函数 3、真实 HTTP 6(定义路径 + 契约路径共享账本、401/403/400/404/409、已吊销 failed)\n- 治理:X09 ownerHandlerDefinitions 加 credential.lease-revoke(missing 只剩 permission.cache-rebuild)、控制落点 +2;stub-surface 删 registry-only 的 revoke 操作、PLATFORM_OPS_ENABLED 说明补 credential;候选定义 description 去掉「尚未提供处理器」并重渲快照;快照测试 implemented 四条\n- 文档:CLAUDE.md / README / runbook / 对外交付设计 / 能力表 103 张租户表;未落地面 10 → 9(契约操作 4 → 3);缺失清单 K 组补记;新增 docs/credential租约吊销受控命令实现记录-2026-09-26.md\n- 未做:dev 库迁移与镜像切换、工作台操作表单、MCP 网关放行、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/450a7393bd63ee96b936d60a2479ab7300ca25f7","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-26T17:51:46-07:00","added":["docs/credential租约吊销受控命令实现记录-2026-09-26.md","runtime/apps/api-nestjs/src/platform/http/credential-lease-revoke.controller.ts","runtime/apps/api-nestjs/test/platform.credential-lease-revoke.test.ts","runtime/apps/api-nestjs/test/platform.credential-ops.http.test.ts","runtime/modules/credential/prisma/migrations/202609260001_credential_operation_ledger/migration.sql","runtime/modules/credential/src/ops/credential-ops.test.ts","runtime/modules/credential/src/ops/credential-ops.ts","runtime/modules/credential/src/persistence/credential-operations.ts","runtime/modules/credential/test/ops.integration.ts","runtime/modules/credential/vitest.integration.config.ts"],"removed":[],"modified":["CLAUDE.md","README.md","contracts/candidates/contracts/platform-ops-definitions.v1.json","docs/runbook.md","docs/企业公共基础平台对外交付设计.md","docs/缺失模块完善清单-2026-09-21.md","docs/项目完整能力表.md","governance/cross-cutting-capabilities.json","governance/stub-surface.json","governance/test/build-workbench-snapshots.test.mjs","governance/test/cross-cutting-capabilities.test.mjs","runtime/apps/api-nestjs/src/platform/platform-http.module.ts","runtime/modules/credential/package.json","runtime/modules/credential/prisma/schema.prisma","runtime/modules/credential/src/index.ts","runtime/packages/contracts/src/platform-ops-definitions.ts"]}],"total_commits":0,"head_commit":{"id":"3b3909bb0708b67e9aa9b101664bf5e15e42c404","message":"chore(reports): 工作台两快照再回绑 @ 777bcb56(把新的 evidence-freshness 结论嵌进 ops 快照)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/3b3909bb0708b67e9aa9b101664bf5e15e42c404","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-26T17:54:36-07:00","added":[],"removed":[],"modified":["reports/workbench-catalog-snapshot.latest.json","reports/workbench-ops-snapshot.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":25165,"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":40,"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-27T08:52:25+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"}}... |