| event_payload |
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"ccbc413eaf556c59a5c14707ce87d264c050180f","after":"9513a941af257b779d7d2c095dff71172edcefaf","compare_url":"https://gitea.g-hi.com/luoanwu/base-framework/compare/ccbc413eaf556c59a5c14707ce87d264c050180f...9513a941af257b779d7d2c095dff71172edcefaf","commits":[{"id":"9513a941af257b779d7d2c095dff71172edcefaf","message":"chore(reports): 刷新静态门禁证据至 e15fa81\n\nCLAUDE.md 改动后静态子报告的 provenance 仍指向 ccbc413,与当前 checkout\n不一致(report-provenance 门禁会红)。在 clean commit 上重跑 pnpm check,\n14 份静态报告统一记为 gitSha=e15fa81 / worktreeDirty=false。\n\nruntime/ui 报告未重跑:本轮为纯文档改动,未触碰任何被它们覆盖的代码,\n其证据仍诚实绑定 c223f35 的实跑,不做无意义刷新。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/9513a941af257b779d7d2c095dff71172edcefaf","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-19T08:53:15-07:00","added":[],"removed":[],"modified":["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.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":"e15fa814108637f2484a5be50900fd35a0f05d9d","message":"docs(claude): 补齐常用命令与运行时拓扑,收敛验证命令双源\n\n对照 /init 的两条标准补齐本文件的实际缺口,治理正文一字未动(纯增量)。\n\n1) 新增「常用命令」小节\n原先只有文件最末尾一个块(install / generate / 三级门禁),缺三类信息:\n- 开发入口与端口(web:3000 / NestJS:3001 / Fastify:3002)\n- 单个测试怎么跑(单文件 / -t 按用例名 / watch)\n- 13 个 check:* 子门禁只写了聚合入口,未说明可单独执行\n同时记入两条本机实证的判责提示:\n- pnpm 锁定 9.15.9,被 pnpm 10 装过会写 store v11,须全量重装 + prisma:generate\n- G15 基座守卫只校验库名前缀、**不校验端口**,故「端口连得上」推不出\n 「基座正确」(2026-08-19 在下游 Digital Employee OS 实际踩到:误用上游\n 容器 PG:55432/Redis:6382 通过守卫,共用 Redis 导致两次时序偶发红)\n\n2) 新增「运行时拓扑」小节\n「真源地图」回答的是「哪份文件说了算」,不回答「请求怎么流」。补一条从\nHTTP 写请求到前端缓存失效的完整事件通路,以及两条读单个文件发现不了的约定:\nNestJS 全局前缀 /api 但 GET /sse/events 被 exclude;WS 用原生 ws 而非\nsocket.io,故协议与 Fastify 侧兼容。\n\n3) 收敛验证命令双源\n文末旧「验证命令」块与新章节重复——同一事实两处维护正是 P1 禁止的漂移温床。\n改为指回顶部,只保留各级门禁的覆盖范围差异(含 check:ui 不覆盖 Fastify\n链路这条 G17 事实)。\n\nAGENTS.md 符号链接完好,check:governance-docs / check:docs-truth 均绿。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/e15fa814108637f2484a5be50900fd35a0f05d9d","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-19T08:52:41-07:00","added":[],"removed":[],"modified":["CLAUDE.md"]}],"total_commits":0,"head_commit":{"id":"9513a941af257b779d7d2c095dff71172edcefaf","message":"chore(reports): 刷新静态门禁证据至 e15fa81\n\nCLAUDE.md 改动后静态子报告的 provenance 仍指向 ccbc413,与当前 checkout\n不一致(report-provenance 门禁会红)。在 clean commit 上重跑 pnpm check,\n14 份静态报告统一记为 gitSha=e15fa81 / worktreeDirty=false。\n\nruntime/ui 报告未重跑:本轮为纯文档改动,未触碰任何被它们覆盖的代码,\n其证据仍诚实绑定 c223f35 的实跑,不做无意义刷新。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/9513a941af257b779d7d2c095dff71172edcefaf","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-19T08:53:15-07:00","added":[],"removed":[],"modified":["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.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":1375,"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":1,"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-08-19T20:10: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"}}... |