OpenAnchor 5-Version Reconciliation
When a GM-managed product (OpenAnchor Phase 1, etc.) has multiple copies of the same codebase in different places, Boss will eventually ask "搞清楚 X 跟 Y 是什么关系" — and prior narrative (past GM session, memory, plan docs) will be wrong. This skill is the evidence-only audit recipe.
When to use
- Boss asks "搞清楚开源版跟本地版的真实关系" / "看看 VPS 上跑的是什么版本" / "GitHub 跟本地 main 一致吗"
- Any product that ships as: (a) local dev copy, (b) embedded in another binary, (c) deployed on a VPS, (d) feature branches on GitHub, (e) public Apache/OSS release
- After a "过去 24h 推了 N 张卡到 GitHub" claim, need to verify what's actually on remote
The 5-version mapping (canonical reference: OpenAnchor, 2026-09-08)
| 代号 | 路径 | 状态 | 推/拉关系 |
|---|---|---|---|
| A | ~/company-hq/export/anchor-core |
本地 main (开发副本) | 本地手动 commit |
| B | /opt/homebrew/Cellar/hermes-agent/<ver>/ |
hermes-agent 内嵌 anchor | Mac mini 实际跑 |
| C | ~/company-hq/export/anchor-core/.worktrees/t_xxx |
Sprint worker 临时 worktree | push GitHub feature 分支 |
| D | VPS 上 anchor (VPS openanchor 部署) | 生产路由 | 同步路径未知 |
| E | github.com/<org>/<repo> |
公开 OSS 仓库 | 被 C 推送, A 也 push main |
Audit recipe (5-7 parallel curl + git calls, no speculation)
# 1. GitHub 仓库元数据
curl -sS --max-time 10 "https://api.github.com/repos/<org>/<repo>" | \
grep -E '"(default_branch|stargazers_count|forks_count|open_issues_count|created_at|pushed_at|updated_at|size|language|license|description|archived|disabled)"'
# 2. Branches (看 worker 是否推了 feature 分支)
curl -sS --max-time 10 "https://api.github.com/repos/<org>/<repo>/branches?per_page=100" | grep '"name"'
# 3. Tags / Releases
curl -sS --max-time 10 "https://api.github.com/repos/<org>/<repo>/tags"
curl -sS --max-time 10 "https://api.github.com/repos/<org>/<repo>/releases"
# 4. Recent commits on default branch
curl -sS --max-time 10 "https://api.github.com/repos/<org>/<repo>/commits?per_page=10" | \
grep -E '"(sha|message|date)"'
# 5. README sha 对账 (关键:本地 vs GitHub 哈希是否一致)
curl -sS --max-time 10 "https://api.github.com/repos/<org>/<repo>/contents/README.md"
# 6. 本地 main HEAD sha
cd <local-path> && git log --oneline -1 main
# 7. 本地 worktree 列表 (看哪些在跑)
cd <local-path> && git worktree list
Output shape (Boss 拍的铁证表)
Always produce a 3-section report:
- GitHub 仓库真实状态表 (≤12 行: stars/forks/created/pushed/license/releases/description)
- 5 个版本关系图 (ASCII box-and-arrow: A→E 是 push, C→E 是 feature push, B 跟 A 不同源)
- 3 个最常见误判 + 真相 (必须基于 evidence 修正, 不能维护一致性)
- 给 Boss 的 5 选项 (A/B/C/D/E) + GM 推荐
Critical pitfalls (Boss will catch these)
- ❌ Default-assume from past narrative — Boss explicitly noted 3 wrong assumptions in 24h. Always curl, never recall.
- ❌ Report "X 没推" without checking feature branches — worker 默认 push 到
infra/t_xxx-...而不是 main, branches API 才是真相 - ❌ Forget description=null / releases=0 — open-source 仓库"几乎裸奔"是常见状态, 必须显式列在铁证表
- ❌ Use "是否派 X / A派B你做C暂缓" format for verification tasks — Boss 2026-09-08 明确说: "验证类任务不要用'是否派 X'格式请示 — 直接做、出铁证、提下一步"
See also
queen-dispatch/leaf-worker-hardening/SKILL.md§"OpenAnchor 5-version mapping pattern" — fuller context with prior wrong assumptions and the 5-option matrixgm/gm-first-principles-audit— first-principles audit for new product epicsmemory§"v3.7 铁律: 基于证据的认知更新" — Boss's verification bias preference