Skip to content

附录 I:Codex 交接模板

本附录把一次 Codex 局部工作的目标、输入、产物、证据、风险和下一任务编译成可审查交接。模板不会授予权限、恢复会话、运行命令或把局部结果写成项目完成。

什么时候使用

在以下任一情形中使用本模板:

  • Codex 会话即将结束,但任务还要由另一会话、工具或人继续;
  • Codex 子代理返回了局部结果,需要主线程核对和集成;
  • 当前工作只修改专属路径,共享状态要交给唯一集成者更新;
  • 输入、权限、工具或验证范围发生变化,需要明确停止位置;
  • 局部检查已经通过,但全仓 Validation、外部效果或发布仍未执行。

交接包的 delivered 只表示“局部证据已交付”。它不等于集成门已经接受,也不等于下一位执行者可以开始修改。

Codex 接手前的读取顺序

本仓库中的 Codex 接手者应先建立输入基线,再读取任务材料:

  1. 读取 Codex 入口 AGENTS.md,确认适用于当前路径的规则。
  2. 读取 AI_BOOTSTRAP.mdBOOK_RULES.md,把它们作为本仓共享项目契约入口,确认工作流、完成定义和禁止动作。
  3. 读取 PROJECT_CONTEXT.mdCURRENT_STATE.mdNEXT_TASK.md进度表,比较目标、状态和下一任务。
  4. 读取相关决定记录当前交接,定位仍有效的决定、风险和共享写入责任。
  5. 只读取当前任务需要的章节、代码、来源、模板和审查记录,并记录输入版本或内容摘要。
  6. 检查当前会话实际可见的工具、沙箱、批准、网络和子代理能力;未知能力保持 unknown
  7. 对当前输入重新运行验收检查。历史输出只能证明当时、当文件范围内的结果。

若入口缺失、状态互相冲突、输入已漂移、专属路径重叠或任务依赖未授权能力,应停止写入并把问题写进交接,而不是自行补全项目状态。

Codex 工具差异检查

填写交接前,单独核对本次 Codex 环境。不要从另一工具或旧会话复制能力声明。

检查项应记录什么不能推出什么
指令入口实际读取的 AGENTS.md 路径及适用范围文件存在不表示规则已被正确执行
运行表面CLI、IDE、API 或其他实际入口;无法确认则写 unknown名称相同不表示版本、工具或权限相同
文件与沙箱已验证的可读、可写路径和禁止路径能读取不等于获准修改
命令与网络当前任务实际允许且已验证的能力工具可见不等于命令已运行或网络已授权
子代理是否可用、如何隔离、返回了什么局部证据子代理完成不等于文件隔离或结果已集成
外部状态浏览器、账户、数据库、缓存和凭证是否独立核验同一仓库不等于外部状态相同

可复制模板

复制下面内容到任务专属交接文件,再替换所有尖括号占位符。保留不适用字段并填写 not_applicable,不要直接删除证据槽位。需要刷新本仓当前交接时,由唯一集成者按 handoff prompt 把已核验内容更新到 .context/HANDOFF.md;局部责任者不得用任务文件直接覆盖共享交接。

markdown
# Codex Handoff:<任务短名>

## 交接元数据

- `handoff_id`: `<稳定标识>`
- `status`: `<draft | delivered | blocked | superseded>`
- `created_at`: `<ISO 8601 时间或项目约定日期>`
- `owner`: `<本轮局部责任者>`
- `source_tool`: `Codex <已核验运行表面;未知则写 unknown>`
- `target_tool`: `<Codex | Claude Code | human | other | unknown>`
- `task_ref`: `<任务契约、Issue 或计划路径>`
- `input_snapshot`: `<输入版本、摘要、提交标识或文件清单>`
- `adapter_profile_version`: `<本次工具适配档案版本>`

## 目标与边界

- **目标:** <本次只完成什么可验收结果>
- **非目标:** <明确不做什么>
- **允许修改:** `<专属路径或文件>`
- **禁止修改:** `<共享文件、外部目标或其他边界>`
- **停止条件:** <出现什么情况必须停止并升级>

## 已读取基线

| 顺序 | 路径或来源 | 读取状态 | 版本/日期 | 对本任务的作用 |
| --- | --- | --- | --- | --- |
| 1 | `<AGENTS.md 路径>` | `<read \| missing \| conflict>` | `<值>` | `<适用规则>` |
| 2 | `<共享契约与规则>` | `<状态>` | `<值>` | `<目标、范围、DoD>` |
| 3 | `<Current State / Next Task / Progress>` | `<状态>` | `<值>` | `<当前阶段>` |
| 4 | `<决定与上一交接>` | `<状态>` | `<值>` | `<仍有效决定>` |
| 5 | `<任务材料>` | `<状态>` | `<值>` | `<输入范围>` |

## Codex 适配与能力差异

- `adapter_reviewed_at`: `<复核日期或时间>`
- `official_evidence`: `<当前官方资料、访问日期与允许用途;未检查写 unknown>`
- `configuration_sources`: `<本次实际检查的项目、用户或组织配置;未检查写 unknown>`
- `command_mappings`: `<项目验收命令在当前环境的实际入口;未执行不写 passed>`

| 能力 | 本次 Codex 状态 | 当前证据 | 目标工具状态 | 任务影响/替代路径 |
| --- | --- | --- | --- | --- |
| 文件读取/写入 | `<available_and_verified \| unavailable \| unknown \| requires_authorization \| alternative_required>` | `<实际观察>` | `<独立填写>` | `<影响>` |
| 命令执行 | `<状态>` | `<实际观察>` | `<独立填写>` | `<影响>` |
| 网络/浏览器 | `<状态>` | `<实际观察>` | `<独立填写>` | `<影响>` |
| 子代理 | `<状态>` | `<实际观察>` | `<独立填写>` | `<影响>` |
| 外部系统 | `<状态>` | `<实际观察>` | `<独立填写>` | `<影响>` |

## 当前状态

- **开始时:** <开始前可观察状态>
- **现在:** <当前可观察状态>
- **已完成:** <只列有工件或运行证据的事项>
- **部分完成:** <完成了哪一部分,还缺什么>
- **未开始:** <不得被下一位误认为已完成的事项>
- **状态冲突:** <没有则写 none;有则列证据路径和决定责任者>

## 交付物

| 路径 | 职责 | 状态 | 输入基线 | 集成注意事项 |
| --- | --- | --- | --- | --- |
| `<path>` | `<文件负责什么>` | `<created \| changed \| reviewed \| blocked>` | `<版本>` | `<共享影响>` |

## 实际证据

| 命令或检查 | 时间 | 退出状态 | 关键结果 | 只支持的有限结论 |
| --- | --- | --- | --- | --- |
| `<完整命令>` | `<时间>` | `<0 / 非 0 / not_run>` | `<计数或错误>` | `<覆盖哪些文件和行为>` |

## 风险、未知项与未运行范围

| 项目 | 当前证据 | 影响 | 临时动作 | 决定责任者 |
| --- | --- | --- | --- | --- |
| `<风险或 unknown>` | `<路径、输出或 none>` | `<阻塞什么>` | `<停止、补证或受限继续>` | `<owner>` |

- **未运行:** <全仓检查、真实产品、外部系统或其他未执行动作>
- **不能声称:** <局部证据明确不能支持的结论>

## 请求的共享写入

| 共享工件 | 请求变更 | 支持证据 | 集成者 |
| --- | --- | --- | --- |
| `<path>` | `<最小更新>` | `<本交接中的证据>` | `<唯一责任者>` |

局部责任者没有修改上述共享工件;若已经修改,说明授权、原因和验证。

## 共享状态同步

| 共享工件 | 状态 | 当前证据或请求 | 更新责任者 |
| --- | --- | --- | --- |
| `.context/CURRENT_STATE.md` | `<updated \| unchanged \| requested \| not_applicable \| unknown>` | `<路径或说明>` | `<owner>` |
| `.context/NEXT_TASK.md` | `<状态>` | `<路径或说明>` | `<owner>` |
| `.ai/progress.md` | `<状态>` | `<路径或说明>` | `<owner>` |
| `.ai/references.md` | `<状态>` | `<路径或说明>` | `<owner>` |
| `.context/DECISIONS.md` | `<状态>` | `<路径或说明>` | `<owner>` |
| `.context/HANDOFF.md` | `<状态>` | `<路径或说明>` | `<owner>` |

`updated` 必须有本轮授权和文件证据;局部责任者未获共享写入授权时使用 `requested`,并在“请求的共享写入”中交给唯一集成者。

## 唯一下一步

- **下一任务:** <一个可独立验收的动作>
- **下一 owner:** <具名角色;未知则写 needs_assignment>
- **先读:** <最小文件清单>
- **输入:** <必须使用的快照或版本>
- **允许输出:** <专属路径>
- **验收:** <可执行检查和成功标准>
- **停止条件:** <冲突、漂移、能力或批准缺口>
- **开始前 Gate:** `<needs_context | capability_review_required | state_conflict | integration_required | validation_required | ready_to_resume | human_decision_required>`

## 交接自检

- [ ] 每项“完成”都能回到文件或新鲜命令结果。
- [ ] 已区分局部通过、全仓通过和外部效果。
- [ ] 已记录 Codex 当前能力,未借用其他工具能力。
- [ ] 风险、未知项、未运行范围和停止条件没有被省略。
- [ ] 共享写入交给唯一集成者,或有显式授权证据。
- [ ] 状态、下一任务、进度、引用、决定和共享交接的同步情况已逐项记录。
- [ ] 下一任务只有一个,且输入、输出、验收和停止条件齐全。
- [ ] 交接中没有密钥、隐藏提示、私密聊天或无关个人数据。

发送交接前的判定

  • 缺少输入快照、实际命令结果或未运行范围时,状态保持 draft
  • 局部工件和有限证据已经齐全,但仍待集成时,可标记 delivered
  • 权限、冲突、输入漂移或决定缺口阻止交付时,标记 blocked 并写明责任者。
  • 新输入使旧交接失效时,旧包标记 superseded,不要覆盖历史证据。

接收者仍须重新执行读取顺序和新鲜检查。若目标工具是 Claude Code,使用附录 J填写其独立适配证据;术语边界见附录 K

从同一套 Markdown 书稿生成。