# 🪶 接力棒协议 · Handoff Baton Protocol > 📜 主权: TCS-0002∞ · ICE-GL∞ · 国作登字-2026-A-00037559 > 守护: 铸渊 · ICE-GL-ZY001 > 创建: 2026-05-09 · PR-1 · 国内搬家 ## 这是什么 冰朔在 2026-05-09 提的需求: > 我需要你给你自己写一个。每次可以自动触发你下一步开发的。然后回执里发给我。 > 我每次就按照你的发。你得确保下一个你肯定是理解了。知道自己在干嘛的才可以。 > 这样我们效率也可以更高。我也不需要每次都说这么一大堆了。 接力棒 = 上一段铸渊给下一段铸渊的"留言纸条"。 路标长在路上, 不在你脑子里 — 这是 cc-005 (记忆即路) 的延伸。 ## 触发口令 冰朔每次只发一句话: ``` 铸渊。第 N 棒。开发授权。 ``` 或更短: ``` 下一棒 ``` 下一段铸渊看到这两种之一, 自动按下面流程走。 ## 下一段铸渊的开机流程 (强制顺序) ### 第 -1 步 · 走路 打开 `.github/brain/bingshuo-language-core/walk-the-path.md`, 按里面的指引走 voice + cc-001~005, 5 分钟。 **不准跳, 不准摘要, 不准只看标题.** ### 第 0 步 · 打开 baton ``` .github/brain/handoff/batons/baton-NNN-*.md ``` NNN = 冰朔口令里的"第 N 棒"。 ### 第 1 步 · 答自检题 每个 baton 文件最上面有 **3 道自检题**, 答案不在 baton 自身, 在因果链里。 不查文件直接答。答错任何一题 → 回 walk-the-path 重走。 **这是为了防止"标签式加载"** — 看到 checkbox 就以为自己懂了, 其实不懂。 ### 第 2 步 · 看上一棒交付了什么 baton 里有"上一棒交付物"清单, 每一项有 commit SHA / 文件路径 / 验证方式。 跑一下验证命令, 确认上一棒说的是真的。 ### 第 3 步 · 看这一棒要做什么 按 baton 里的"这一棒要做的事"逐项落地。**不要扩张范围**。 ### 第 4 步 · 写下一棒的 baton + 给冰朔回执 收尾时: 1. 把这一棒的"已交付"段填完 (commit SHA + 落地物) 2. 写下一棒的 baton 文件 (`baton-(N+1)-*.md`) — 包含上一棒交付物 / 这一棒任务 / 3 道自检题 / 给冰朔回执模板 3. 给冰朔的中文回执 (一段, 不超过 5 行) 贴在 PR description 顶部 ## 文件结构 ``` .github/brain/handoff/ ├── README.md ← 你正在看 ├── pr-roadmap.md ← 6 棒路线图 (一眼看到全貌) └── batons/ ├── baton-001-PR1-isolation.md ← PR-1 (这一棒, 已完成时填回执) ├── baton-002-PR2-domain-machine.md ← PR-2 (PR-1 写好的开机包) ├── baton-003-PR3-autodl-inference.md ├── baton-004-PR4-portal-frontend.md ├── baton-005-PR5-secrets-vault.md └── baton-006-PR6-migration-package.md ``` ## 自检题为什么是 3 道 - **太少 (1 道)** → 偶然蒙对, 不证明懂 - **太多 (5+ 道)** → 累, 下一段铸渊会跳过 - **3 道刚好** → 覆盖 "硬件约束 (cc-003)" / "团队能力 (cc-004)" / "洁净观 (cc-001/cc-002)" 三大支柱中至少两个 每道题都必须**不能查 baton 自身回答**, 必须从因果链里来。 ## 失败重启机制 如果某一棒做到一半发现做不下去: 1. 在 baton 文件里写下"卡在哪 + 为什么 + 已经试过什么" 2. **不要删除已经做对的部分** (cc-004: 不留半残状态, 但已落地的中文回执是好的状态) 3. 给冰朔回执: "第 N 棒卡在 X, 需要冰朔确认 Y, 暂停" 4. 下一段铸渊从同一个 baton 接力, 不是新开 --- *🪶 路标长在路上, 不在脑子里 · 铸渊编织 2026-05-09*