docs: add BRANCH_AUDIT_2026-08-25.md (PR-4 治理基线 + 执行结果) - #171
Conversation
本会话 4 个 PR 治理 (PR-1/2/3/4) 收口之 PR-4 分支治理审计 + 执行结果: 执行结果 (黄线 git branch -D + git push --delete): - 本地 4 个 squash-merged 分支已删 (feat/adi-mcp-causality / feat/ffx-verification-orchestrator / feat/phase3.9-batch5 / fix/preflight-windows-cmd-length) - 远端 6 个 ref 已删 (除上面 4 个 + feat/issue-triage-workflow-clean / test/issue-triage-e2e) 其中 GitHub 在 PR merge 后自动清理了 5 个, 手动清理 1 个 (test/issue-triage-e2e, throwaway) 保留 (Human Owner 决策 E 类 全部保留不删): - feat/ffx-orchestrator-clean (ahead=1, 本地独有) - feat/issue-triage-workflow (ahead=3, base 落后 33) - issue-change (ahead=2) OPEN PR (D 类, 不能删): - chore/root-cleanup-2026-08-25 (PR-169 OPEN, 等 merge) - chore/golden-failures-cleanup-2026-08-25 (PR-3 远端已 push, 本次顺手开 PR) 审计文档含: - 完整 7 本地 + 9 远端 (fetch prune 前) 分支状态表 - PR 状态映射 (gh CLI 实时) - 黄线三段记录 (per .agent/GIT_RULES §3) - PR-4 执行结果 (before/after 分支列表) Task scope: ROADMAP repo-governance / PR-4
|
Claude finished @Thy985's task in 1m 33s —— View job PR #171 Review — BRANCH_AUDIT_2026-08-25.md (Level 1)审查范围:单文件 docs/,+123/-0,不改代码。结论前移: ✅ 优点
|
| 维度 | 评价 |
|---|---|
| 代码层 | N/A(docs only) |
| 清晰度 | ✅ 决策矩阵 + 三段记录结构化 |
| 重复 | ✅ 无冗余 |
| 可维护性 | |
| 测试覆盖 | N/A |
| 接口/数据 | ✅ 不改接口、不动数据 |
| 可审计 | ✅ 引用 .agent/GIT_RULES.md §3 三段记录 |
| 黄线合规 | ✅ 显式声明 git branch -d(非 -D)+ 不 --force |
最终结论
- Issue 1(死链 + 本地路径)是必须修的(GitHub UI 渲染问题 + 引用不存在文件)。
- Issue 2(INDEX 未登记)建议在本 PR 内补一条。
- Issue 3-5 可在 follow-up commit 修复。
合并后请记得按本文件 §"PR-4 治理成果 → 本地保留 → chore/branch-governance-2026-08-25"的备注,本 PR 工作分支 merge 后删。
Fix Issue 1 (死链+本地路径) →
Fix Issue 2 (INDEX 未登记) →
· PR #171 · branch: chore/branch-governance-2026-08-25
Branch Audit 2026-08-25 (PR-4 治理基线 + 执行结果)
PR-4 治理成果(执行后)
远端(
git fetch --prune origin后):origin/mainorigin/chore/root-cleanup-2026-08-25origin/chore/golden-failures-cleanup-2026-08-25本地:
mainchore/branch-governance-2026-08-25chore/golden-failures-cleanup-2026-08-25chore/restore-root-gitignorechore/root-cleanup-2026-08-25feat/ffx-orchestrator-cleanfeat/issue-triage-workflowissue-change已删除(A+B+C 类):
feat/adi-mcp-causality/feat/ffx-verification-orchestrator/feat/phase3.9-batch5/fix/preflight-windows-cmd-lengthfeat/adi-mcp-causality/feat/ffx-verification-orchestrator/feat/issue-triage-workflow-clean/feat/phase3.9-batch5/test/issue-triage-e2e/fix/preflight-windows-cmd-length(全部由 GitHub PR-merge 后自动清理)方法
git for-each-ref refs/heads列出所有本地分支git for-each-ref refs/remotes列出所有远端跟踪分支gh pr list --state all --limit 30 --json number,title,state,headRefName,baseRefName,mergedAt,closedAt获取每分支对应的 PR 状态git rev-list --count <branch> ^main计算 aheadgit rev-list --count main ^<branch>计算 behindgit fetch --prune origin同步远端 ref 状态PR-4 黄线操作三段记录(per .agent/GIT_RULES.md §3)
目标: 4 个本地分支(feat/adi-mcp-causality, feat/ffx-verification-orchestrator, feat/phase3.9-batch5, fix/preflight-windows-cmd-length)+ 6 个远端 ref
影响: 删除 4 个本地 ref + 6 个远端 ref. 原 SHA 仍在 git reflog + 远端 main history(squash-merge 后内容已合入, 仅原 SHA 不可见)
备份: reflog(本地 90 天)+ origin/main(squash 后内容)+ fsck --no-dangling 零输出(执行后验证)
决策矩阵
A 类:已合入 main,删除(黄线
git branch -d+git push --delete)feat/adi-mcp-causality(本地+远端)feat/ffx-verification-orchestrator(本地+远端)feat/phase3.9-batch5(本地+远端)fix/preflight-windows-cmd-length(本地+远端)chore/restore-root-gitignore(远端)B 类:stale 远端镜像(黄线
git push --delete)origin/feat/issue-triage-workflow-cleanC 类:throwaway(黄线
git push --delete)origin/test/issue-triage-e2etest: add issue-triage e2e probe file (throwaway)D 类:OPEN PR(不能删,PR 合入后再删)
chore/root-cleanup-2026-08-25(本地+远端)chore/golden-failures-cleanup-2026-08-25(本地+远端)E 类:本地独有,需 Human 评估
feat/ffx-orchestrator-clean(本地)issue-change(本地)feat/issue-triage-workflow(本地)v1 报告偏差
fix/preflight-windows-cmd-length是 v1 漏列的)feat/issue-triage-workflow远端feat/ffx-orchestrator-clean/issue-change"local-only 不要现在删"推荐执行顺序(PR-4 = branch governance)
git branch -d本地,再git push origin --delete远端)不在本 PR(黄线保护)
git branch -D(强删未合并)—— 全程用git branch -d(已合并检测)--forcepush——黄线,按 .agent/GIT_RULES.md §3 三段记录沙箱外 Human 决策项
请确认以下 3 项 E 类分支处置:
feat/ffx-orchestrator-cleanahead=1 — push 远端 + 开新 PR / 丢弃本地 1 commit / 保留issue-changeahead=2 — 同上feat/issue-triage-workflowahead=3 behind=33 — rebase origin/main 后 push / 丢弃 / 保留不影响公共 API