Skip to content

chore(repo): 消融 reference/ 墓碑机制——INDEX.md 自称"已清理无活跃 checkout"、唯一生产者 sync-reference.py 在 CI/Makefile/docs 零调用者,而 verify-doc-ssot 用 3 处自指把它钉在门禁里(12 文件净 −137 行) - #2292

Merged
DeliciousBuding merged 1 commit into
masterfrom
chore/reference-ablation
Sep 3, 2026

Conversation

@DeliciousBuding

Copy link
Copy Markdown
Collaborator

一句话

消融 reference/ 第三方研究副本机制:目录里只剩一份自称「已清理,当前无活跃 checkout」的 INDEX.md 墓碑,唯一生产者 scripts/dev/sync-reference.py(clone 26 个第三方仓)在 CI / Makefile / docs 里零调用者,而 verify-doc-ssot.py 却用 3 处自指把这份墓碑钉在门禁里。删墓碑 + 删脚本 + 删随之死掉的开关/分类/ignore 配置 + 删 4 处指向已外迁文档的 Go 死指针注释(12 文件净 −137 行)。

消融对象与判据

对象 判据(实测)
reference/INDEX.md(19 行) 自己写明「reference/ 已清理,当前无活跃 checkout」;目录内除它之外无任何文件;它是 reference/ 唯一被跟踪的内容
scripts/dev/sync-reference.py(88 行) 唯一职责是把 26 个第三方仓 clone 进已被删除的 reference/grep -rn sync-reference 全仓命中仅 3 处=脚本自身 2 处 + INDEX.md 1 处;.github/Makefiledocs/ 零命中
setup.py-Reference/--reference-core/--reference-all 三个开关的唯一效果就是调 sync-reference.py;消费者为零
AGENTS.md 的【参考】分类 目录表里 参考 分类只有 reference/ 这一行( 8 行 / 产物 2 行),删行后分类本身也死了
.gitignore:269-271.dockerignore:88-89 /reference/* + !/reference/INDEX.md + reference/ 是专为该机制存在的死配置
4 处 Go 注释死指针 docs/reference/02-cross-comparison/00-synthesis.mddocs/reference/cross-comparison/03-orchestration.md(×3)在仓内不存在(第三方调研已外迁 TokenDanceLab/docs 归档仓);grep -rn cross-comparison 现全仓 0 命中

改动清单(12 文件,+6 / −143)

.dockerignore                                      |  3 -
.gitignore                                         |  3 -
AGENTS.md                                          |  3 +-   # 删 reference/ 行 + 删【参考】图例句
edge-server/internal/adapters/hooks.go             |  1 -
edge-server/internal/agents/registry.go            |  1 -
edge-server/internal/lifecycle/process_executor_structured.go | 1 -
edge-server/internal/orchestration/contracts.go    |  1 -
reference/INDEX.md                                 | 19 -----
scripts/dev/setup.py                               | 21 +-----
scripts/dev/setup.sh                               |  4 +-
scripts/dev/sync-reference.py                      | 88 ----------------
scripts/verify/verify-doc-ssot.py                  |  4 +-   # is_active_doc / 镜像对 / 80 行预算

registry.go 保留了 docs/history.md 那一条(该路径真实存在);process_executor_structured.go 保留了 OpenCode task.ts:145-162 那条外部来源注记(不是仓内路径)。

门禁证据(本机 huawei-dev 实跑)

明卷:

命令 结果
python3 scripts/verify/verify-doc-ssot.py rc=0;AGENTS.md path check ok (98 paths)(master 为 99,少的正是 reference/)、verifier-map check ok (68 script paths, 60 CI files)(未变,证明 sync-reference.py 本就不在 verifier-map)、self-test wiring check ok (29 self-tests)
python3 scripts/verify/tests/verify-doc-entrypoints.Tests.py rc=0(Ran 1 test ... OK;该自测就是 verify-doc-ssot 的真实自测,仓内不存在 verify-doc-ssot.Tests.py
go build ./...(edge-server) rc=0
go vet ./internal/adapters ./internal/orchestration ./internal/lifecycle ./internal/agents rc=0
go test ./internal/adapters/... ./internal/orchestration/... ./internal/lifecycle/... ./internal/agents/... rc=0(9 个包 ok,0 FAIL)
bash /tmp/run-validate.sh <worktree>(61 条 CI validate 命令) PASS=61 FAIL=0 SKIP(merge-ref)=1
bash scripts/verify/verify-commit-messages.sh origin/master HEAD rc=0(1 commit)
git diff --check origin/master...HEAD rc=0
bash scripts/verify/check-secrets.sh --range "origin/master...HEAD" rc=0(Secret guard passed.

暗卷(证明门禁没被我改哑):

  1. | \reference/` | 参考 | ... |这一行重新注入AGENTS.mdverify-doc-ssot.py**rc=1**,报DOC-SSOT: AGENTS.md references missing path: reference/git checkout --` 还原后 rc=0。⇒ 路径门禁仍然活着,删这一行是必需项而非装饰。
  2. setup.py 剩余职责(启用 git hooks)在隔离 git init 仓内实跑:rc=0,输出仍是 Git hooks enabled: scripts/git-hooks / Setup complete. 两行契约;同时确认本仓 core.hooksPath(local)为空、全局 leak-guard /root/.config/git/hooks 未被污染(脚本未在本仓执行过)。
  3. 负证:python3 scripts/dev/setup.py --reference-corerc=2unrecognized arguments),--help rc=0 且 options 只剩 -h
  4. 残留引用扫描(终值):reference/INDEX / sync-reference / cross-comparison / 02-cross-comparison / reference-core / reference-all 全仓 0 命中(排除 node_modules/.git/.worktrees)。

未验证 / 可能错

  • 本机未跑全仓 go test ./... 与 golangci-lint(4C8G,磁盘 96%);Go 侧改动是纯注释删行,已用 build+vet+被改 4 包 test 覆盖,lint 由 CI 兜底(edge-lint-baseline.json 的 findings 按 linter+file+message 指纹键控,不含行号,删注释行不会漂移基线)。
  • .dockerignorereference/ 后,若某开发者本地仍留着陈旧 reference/ 目录,它会进入 docker build context(CI 全新 checkout 无此目录,不受影响)。处置=删本地目录,这也是本 PR 的意图:机制已死,不该再替它兜底。
  • 未跑 tauri/desktop 打包(与本改动无交集)。

边界

  • 同批 Lane Q 实测结论(app/desktop/src-tauri/gen/schemas 7 个被跟踪生成物有 CI 硬消费者、维持跟踪)走独立 PR,不与本 PR 混主题。
  • docs/reference/**(活文档,5 个文件)与 docs/archives/reference/backend-performance-gates.md(被 4 处活文档引用)不动——它们有真实消费者。

…EX.md 墓碑,唯一生产者 sync-reference.py(clone 26 个第三方仓)在 CI/Makefile/docs 零调用者,而 verify-doc-ssot 却用 3 处自指(is_active_doc、镜像对、80 行预算)维持它存在;删墓碑 + 删脚本 + 删 setup.py 的 -Reference/--reference-core/--reference-all 三个死开关(负证:--reference-core 现 rc=2)+ 删 AGENTS.md 只剩 1 行的【参考】分类 + 删 .gitignore/.dockerignore 的 reference 死配置 + 删 4 处指向已外迁 docs/reference/cross-comparison 的 Go 死指针注释(12 文件净 -137 行)

证据:verify-doc-ssot rc=0(AGENTS.md 98 路径 / verifier-map 68 脚本 / 29 自测全绿);verify-doc-entrypoints.Tests rc=0;go build ./... rc=0 + go vet 4 个被改包 rc=0;残留引用扫描 reference/INDEX、sync-reference、cross-comparison、reference-core/-all 全 0 命中。

Co-authored-by: Cursor <cursor@vectorcontrol.tech>
@coderabbitai

coderabbitai Bot commented Sep 3, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Team

Run ID: d1b1cad1-c008-468c-bebd-84f2f9cdb21f

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant