| event_payload |
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"b3b776d50fd8c6aba1c699cb4497aa22efbad8e0","after":"a92542051911bde7d9804f5bc742da9748a61b1f","compare_url":"https://gitea.g-hi.com/luoanwu/base-framework/compare/b3b776d50fd8c6aba1c699cb4497aa22efbad8e0...a92542051911bde7d9804f5bc742da9748a61b1f","commits":[{"id":"a92542051911bde7d9804f5bc742da9748a61b1f","message":"chore(reports): refresh clean static evidence @ f07a534(0.25.0 记录提交;54 文件 / 371 静态用例,test:scripts 38)\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/a92542051911bde7d9804f5bc742da9748a61b1f","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-11T07:48:29-07:00","added":[],"removed":[],"modified":["reports/agent-adapters.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"f07a534a8bf239a1b0ca5ebc113efa528d7c1435","message":"docs: 0.25.0 证据回灌——runtime 382/0、差分 10×2、UI 4×11、部署 13 步、生产 14 步均 clean cd32198;依赖审计仍红\n\n- 六类证据同绑 0.25.0 实现提交 cd32198(工作区 clean,registryVersion 6):\n runtime 382 tests / 0 failures、tenantRlsEnforced=1;差分 10 checkpoints × 2 零差异;UI_MATRIX 4 组合各 11;\n 部署 13 步 + 1 次回滚演练;生产 14 步 + 1 次故障注入 + 1 次恢复演练(部署 / 生产自 0.22.0 6443380 以来首次重跑)\n- 依赖审计在 cd32198 重跑:125 条(critical 8 / high 70),运行时 critical 4 / high 31,阻断 39,仍 RED;按 Owner 决定如实记录、不阻断发版\n- 棘轮地板不变(ownTests 54 / ownTestCases 371 / testsPassed 382 / uiTestsPassed 11):本版不动运行时代码与测试\n- CLAUDE.md 证据新鲜度与 GOVERNANCE-BASELINE 对应行回灌;G31 补重跑记录\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/f07a534a8bf239a1b0ca5ebc113efa528d7c1435","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-11T07:47:55-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/conformance-differential.latest.json","reports/dependency-audit.latest.json","reports/deployment-acceptance.latest.json","reports/production-acceptance.latest.json","reports/runtime-acceptance.latest.json","reports/ui-acceptance.latest.json"]},{"id":"cd32198cecb8b1cd39a24522433a1f55bf8a0f2d","message":"chore(release): 0.25.0「门禁可信」——受理 BR-4 / BR-2 / BR-1 与 check:quick\n\n- 版本轴:package.json / @juhai/kernel / @repo/contracts 0.24.0 → 0.25.0;CHANGELOG [Unreleased] 定为 [0.25.0] - 2026-10-11\n- COMPATIBILITY §2 新增 [0.25.0] 升级小节(4 条 [gate]、1 条 [script]、1 条 [contract];无 [db]/[env]/[behavior]),registry 标未发布\n- packages/kernel/api.lock.json --update-lock:仅版本行变,摘要与 0.24.0 相同(公开 API 未变)\n- CLAUDE.md:pnpm check 14 → 16 项静态门禁、子门禁清单补 kernel-api / tenant-grants、补 check:quick;\n GOVERNANCE-BASELINE 新增 kernel-api / tenant-grants 两行,metric-schema 行补 BR-4,framework-version 行标 0.25.0 未发布\n- README.md:命令表补 check:kernel-api / check:tenant-grants / check:quick,pnpm check 行同步\n- 运行时代码不变:apps/、packages/kernel/src、packages/contracts/src、deploy/ 相对 0.24.0 零改动,无新迁移\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/cd32198cecb8b1cd39a24522433a1f55bf8a0f2d","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-11T07:24:22-07:00","added":[],"removed":[],"modified":["CHANGELOG.md","CLAUDE.md","COMPATIBILITY.md","README.md","package.json","packages/contracts/package.json","packages/kernel/api.lock.json","packages/kernel/package.json"]},{"id":"cd4b3a7be7f0dbb3ed8d7d00f408366352aedf7d","message":"feat(scripts): 提交前快速静态子集 check:quick 与 pre-commit 模板\n\n- scripts/check-quick.mjs:14 项秒级静态门禁一次跑完再汇总(约 2 s);快照 reports/ 并逐字节还原,不弄脏证据目录\n- .githooks/pre-commit + pnpm hooks:install(core.hooksPath);SKIP_QUICK_CHECK=1 临时跳过\n- 实测:同版本改内核公开声明 → 13/14、提交被拦截,reports/ 摘要前后一致;SKIP 可放行\n- 回应 BR-2 附带经验\"门禁在、但没人跑\";完成 0.25.0「门禁可信」最后一项\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\nClaude-Session: https://claude.ai/code/session_01QJ59SfRQABmxkDBphp5WKZ\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/cd4b3a7be7f0dbb3ed8d7d00f408366352aedf7d","author":{"name":"Luolao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-11T11:26:09Z","added":[".githooks/pre-commit","scripts/check-quick.mjs"],"removed":[],"modified":["CHANGELOG.md","package.json"]},{"id":"9bf5276dffd2775cb688f9e474538e5f76417b87","message":"feat(governance): BR-1 租户表授权静态门禁 check:tenant-grants\n\n- 按迁移顺序重放 GRANT / REVOKE(整表、列级、多表、ALL TABLES IN SCHEMA;忽略 FUNCTION/SEQUENCE/SCHEMA;$$ 块不误读)\n- 每张 FORCE RLS 租户表:tenant / system 都有 SELECT;至少一个有 INSERT 或 UPDATE;PUBLIC 无授权;不要求 DELETE\n- scripts/lib/tenant-grants.mjs + 10 例单测(5 个变异全红;列级最小权限与\"租户只读系统写\"为绿);接入 pnpm check\n- 外部对照:数字智能层 54 张、AI 人事系统 180 张租户表零违规;框架自身 8 张通过\n- 验证:test:scripts 28 → 38;docs-truth / governance-docs / naming / governance-rules / fork-readiness / governance-report 通过\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\nClaude-Session: https://claude.ai/code/session_01QJ59SfRQABmxkDBphp5WKZ\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/9bf5276dffd2775cb688f9e474538e5f76417b87","author":{"name":"Luolao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-11T11:22:43Z","added":["scripts/check-tenant-grants.mjs","scripts/lib/tenant-grants.mjs","scripts/lib/tenant-grants.test.mjs"],"removed":[],"modified":["CHANGELOG.md","package.json"]}],"total_commits":0,"head_commit":{"id":"a92542051911bde7d9804f5bc742da9748a61b1f","message":"chore(reports): refresh clean static evidence @ f07a534(0.25.0 记录提交;54 文件 / 371 静态用例,test:scripts 38)\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/a92542051911bde7d9804f5bc742da9748a61b1f","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-11T07:48:29-07:00","added":[],"removed":[],"modified":["reports/agent-adapters.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},"repository":{"id":54,"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":"base-framework","full_name":"luoanwu/base-framework","description":"基础框架 monorepo","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":6621,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/base-framework/languages","html_url":"https://gitea.g-hi.com/luoanwu/base-framework","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/base-framework","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/base-framework.git","clone_url":"https://gitea.g-hi.com/luoanwu/base-framework.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-03T12:24:18+08:00","updated_at":"2026-09-26T18:54:10+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"}}... |