| event_payload |
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"35e44a1d97cad7b20404416743167de2aa15c277","after":"727044996fde65045ab4ca56a060c0a32fa24c0a","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/35e44a1d97cad7b20404416743167de2aa15c277...727044996fde65045ab4ca56a060c0a32fa24c0a","commits":[{"id":"727044996fde65045ab4ca56a060c0a32fa24c0a","message":"chore(reports): rebind after merging main into the U-31/33/34 branch\n\n合并 main(6 个提交)后重跑根 pnpm check:exit 0,31 项。\nmodule-imports 报告的合并冲突按「报告是运行产物」取 main 版本后由本轮重新生成。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/727044996fde65045ab4ca56a060c0a32fa24c0a","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-14T19:21:58-07:00","added":[],"removed":[],"modified":["reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/evidence-freshness.latest.json","reports/facts.latest.json","reports/fixtures.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":"9a7231221ba190a84f91f1f2771017927d991328","message":"Merge branch 'main' into feat/u31-u33-u34-consumer-feedback\n\n# Conflicts:\n#\treports/module-imports.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/9a7231221ba190a84f91f1f2771017927d991328","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-14T19:21:34-07:00","added":["docs/B-7-dev常驻运行时启动记录-2026-09-14.md","governance/check-evidence-freshness.mjs","governance/evidence-scopes.json","governance/test/check-evidence-freshness.test.mjs","reports/evidence-freshness.latest.json","stack/overlays/ai-gateway-db.yaml","stack/reports/ai-gateway-up.2026-09-14.json","stack/reports/runtime-up.2026-09-14.json"],"removed":[],"modified":["CLAUDE.md","docs/runbook.md","governance/README.md","governance/bin/cli.mjs","governance/package.json","package.json","reports/module-imports.latest.json","stack/README.md","stack/compose.yaml","stack/overlays/dev.yaml","stack/provision/redis-dbs.json"]},{"id":"a76562a9c4710a6763243f4f1e1b87f12461b429","message":"chore(reports): rebind gate reports to 66d02e6\n\n本轮 pnpm check(exit 0,30 项)与治理回归 183/183 的报告产物,按仓纪律 §5 落在实现提交之后。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/a76562a9c4710a6763243f4f1e1b87f12461b429","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-14T06:52:39-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","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":"66d02e665eba56a132e0c68a0916fdbb54f535e1","message":"feat(governance,client-fact): land U-31 / U-33 / U-34 consumer feedback\n\n真实上层接入(digital-employee-os 的 os-employment-projection)暴露的三条缺口,\n按回灌纪律「机器门禁 \u003e 手册条目 \u003e 口头经验」落到本仓。\n\nU-33(机器门禁):check:pins 只读 package.json 的版本字符串,\n`\"@juhai/client-fact\": \"1.0.0-rc.2\"` 在它眼里是完美 exact pin,而 pnpm-lock.yaml 可以把同一个\n包解析到临时目录的 tarball(实测:会话 scratchpad 下的 file:/private/tmp/...tgz)。这比明着写\nfile: 依赖更危险——所有既有门禁全绿,只有别人 clone 后 pnpm install 失败才暴露。现把判据下沉到\nlockfile 的解析结果:@juhai/* 的 resolution tarball 必须落在 .npmrc 声明的 scope registry 下;\n非 registry 来源须在 platform-dependency-deviations.json 完整登记(五字段全填且未过期);\n临时目录来源不可登记豁免。\n\n不误伤既有上层仓的三条:无 lockfile 不判定;lockfile 里没有 @juhai 外部条目(纯 workspace 消费)\n不判定、也不要求 .npmrc;只有真的存在外部解析才要求声明 registry。本仓自测 checked=0 通过,\n对 OS 仓实测 4 个解析来源全部合规。\n\nU-34 / U-31(包契约):client-fact 此前没有 README,而 clients/README 却说\"实现与验收见包 README\"。\n新建并加进 files:\n- baseUrl 必须含 /api 前缀——本包用相对 URL 解析端点,少写 /api 不报错而是让所有回查 404,\n 消费者若把 404 当\"事实不存在\"就会判 UNTRUSTED_FACT、三次进死信;一个配置漏字母把整条摄入\n 变成全量死信。同时写明 404 / 不可达 / 未配置三种情况的不同处置。\n- 迁移模板只给表:策略无 TO 子句(对 PUBLIC 生效,system 角色同样被挡)且全文无 GRANT,\n 消费者若用低权限运行角色,照抄后对五张表没有任何权限。契约改为\"表 DDL 逐字照用,\n GRANT 与策略角色绑定由消费者按自身角色模型补齐\"。\n- 附 rc.3 的 STALE 行为变更与\"升级后应删除边界翻译\"。\n\n验证:新增 governance/test/check-pins.test.mjs 10 例(1 正向 + 6 负向判据 + 3 条不误伤);\n治理回归 183/183;根 pnpm check exit 0(30 项)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/66d02e665eba56a132e0c68a0916fdbb54f535e1","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-14T06:52:14-07:00","added":["governance/test/check-pins.test.mjs","runtime/clients/fact/README.md"],"removed":[],"modified":["governance/check-pins.mjs","runtime/clients/README.md","runtime/clients/fact/package.json"]}],"total_commits":0,"head_commit":{"id":"727044996fde65045ab4ca56a060c0a32fa24c0a","message":"chore(reports): rebind after merging main into the U-31/33/34 branch\n\n合并 main(6 个提交)后重跑根 pnpm check:exit 0,31 项。\nmodule-imports 报告的合并冲突按「报告是运行产物」取 main 版本后由本轮重新生成。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/727044996fde65045ab4ca56a060c0a32fa24c0a","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-14T19:21:58-07:00","added":[],"removed":[],"modified":["reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/evidence-freshness.latest.json","reports/facts.latest.json","reports/fixtures.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":13415,"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":32,"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-15T09:59:39+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"}}... |