| event_payload |
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"22773e7ace1fbd60d992415c2ab4b3dcde37e0bb","after":"d9bfd71b0df4efa94f8d605b10bc9590fb4c114e","compare_url":"https://gitea.g-hi.com/luoanwu/base-framework/compare/22773e7ace1fbd60d992415c2ab4b3dcde37e0bb...d9bfd71b0df4efa94f8d605b10bc9590fb4c114e","commits":[{"id":"d9bfd71b0df4efa94f8d605b10bc9590fb4c114e","message":"feat(governance): docs-truth 文档链接不得越出仓根(C47)\n\n22773e7 把随同步带进派生仓即断的 15 条 `../` 链接与 1 条 latest 报告链接改成了\n固定提交 URL,但本仓门禁不看链接落点,下次再写照样全绿、到物云 / KTV framework/\n才被治理一致性 L4 报出来。\n\n- scripts/lib/doc-links.mjs:localMarkdownLinks 与治理仓 L4 同口径(尖括号、标题、\n 锚点、:行号、decodeURI;platform-governance cc09b9c),classifyDocLink 判\n escapes-root / root-absolute / runtime-evidence,trackedMarkdownFiles 取 git\n 跟踪 .md(跳过符号链接,git 不可用即报错);10 项单测。\n- check-docs-truth:越出仓根与 / 开头即红,计入既有 docsTruthViolations(棘轮与\n GOV-DOCUMENTATION-001 已消费,不新增指标);指向 reports/*.latest.json、\n reports/baseline.json 只 ⚠ 提示——物云自写文档链自己的 latest 报告是成立的,\n 判红会在派生仓同步后误杀。扫描面为空或缺 CHANGELOG 即失败关闭。\n- 重放 083b36e 恰命中 15 + 1 条;两提交上与治理仓解析逐文件一致。负向:越界、\n / 开头各 exit 1,运行证据 exit 0 + ⚠,git 不可用 exit 1,check:governance\n 棘轮 docsTruthViolations 0→1 exit 1。\n- 同步 CLAUDE.md 动态区 / docs-truth 行 / C47 索引、经验库 C47、CHANGELOG\n [Unreleased]、README 命令表、migration-playbook 步骤 8 与 P28。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/d9bfd71b0df4efa94f8d605b10bc9590fb4c114e","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-18T17:42:58-07:00","added":["scripts/lib/doc-links.mjs","scripts/lib/doc-links.test.mjs"],"removed":[],"modified":["CHANGELOG.md","CLAUDE.md","README.md","docs/governance-experience.md","docs/migration-playbook.md","scripts/check-docs-truth.mjs"]}],"total_commits":0,"head_commit":{"id":"d9bfd71b0df4efa94f8d605b10bc9590fb4c114e","message":"feat(governance): docs-truth 文档链接不得越出仓根(C47)\n\n22773e7 把随同步带进派生仓即断的 15 条 `../` 链接与 1 条 latest 报告链接改成了\n固定提交 URL,但本仓门禁不看链接落点,下次再写照样全绿、到物云 / KTV framework/\n才被治理一致性 L4 报出来。\n\n- scripts/lib/doc-links.mjs:localMarkdownLinks 与治理仓 L4 同口径(尖括号、标题、\n 锚点、:行号、decodeURI;platform-governance cc09b9c),classifyDocLink 判\n escapes-root / root-absolute / runtime-evidence,trackedMarkdownFiles 取 git\n 跟踪 .md(跳过符号链接,git 不可用即报错);10 项单测。\n- check-docs-truth:越出仓根与 / 开头即红,计入既有 docsTruthViolations(棘轮与\n GOV-DOCUMENTATION-001 已消费,不新增指标);指向 reports/*.latest.json、\n reports/baseline.json 只 ⚠ 提示——物云自写文档链自己的 latest 报告是成立的,\n 判红会在派生仓同步后误杀。扫描面为空或缺 CHANGELOG 即失败关闭。\n- 重放 083b36e 恰命中 15 + 1 条;两提交上与治理仓解析逐文件一致。负向:越界、\n / 开头各 exit 1,运行证据 exit 0 + ⚠,git 不可用 exit 1,check:governance\n 棘轮 docsTruthViolations 0→1 exit 1。\n- 同步 CLAUDE.md 动态区 / docs-truth 行 / C47 索引、经验库 C47、CHANGELOG\n [Unreleased]、README 命令表、migration-playbook 步骤 8 与 P28。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/d9bfd71b0df4efa94f8d605b10bc9590fb4c114e","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-18T17:42:58-07:00","added":["scripts/lib/doc-links.mjs","scripts/lib/doc-links.test.mjs"],"removed":[],"modified":["CHANGELOG.md","CLAUDE.md","README.md","docs/governance-experience.md","docs/migration-playbook.md","scripts/check-docs-truth.mjs"]},"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":8699,"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-10-19T08:28: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"}}... |