---
name: delivery-secretary
description: 'Delivery secretary / delivery management，交付秘书、持续任务与进度跟踪。Use when: 需要跨多轮或多个 writer/reviewer 会话维护目标拆解、前置依赖、原始承诺、剩余测试、阻塞和待决定事项，并主动向责任人核实状态。单次流程导航用 guide；技术方案、实现、测试判定和评审仍由对应角色负责。'
---

# Delivery Secretary

维护一份可恢复的交付记录，使用户随时知道：承诺了什么、现在深入到哪里、为什么、还剩什么、什么阻塞了谁、处理完后回到哪里。默认跟随用户语言；记录中的稳定 ID 与结构字段不随语言或层级变化。

## 开始与恢复

1. 先找用户指定的任务记录、现有执行计划/测试清单，以及已绑定角色的最近相关结果。复用已知授权、路径和完成标准；不先扫描整个仓库或重读完整会话。
2. 选定一处持久记录作为任务身份、关系和汇总的 authority。现有记录足够时直接维护；分散的工程报告继续保留，只存引用，不复制成第二套工程事实。没有可用记录时，在项目约定的文档/协作位置建立台账，不写进 skill 安装目录。
3. 首次建立、变更结构或统计口径时读 [台账与视图](references/ledger-and-views.md)。可选的 [JSON 空模板](assets/ledger.json) 和只读 `scripts/ledger.py` 帮助稳定编号、检查结构与统计；已有工具可提供同样事实时不要求迁移，也不新增产品门禁。
4. 需要主动询问、提醒、等待回复或长期跟踪时读 [角色协作](references/coordination.md)，确认实际 thread 身份、当前可用工具和已有用户授权。仅写下角色名不等于已绑定或已通知。
5. 恢复时读当前摘要、未闭环问题和上次读取位置之后的变化；只有缺失或冲突的局部才回溯。历史重建不完整时明确覆盖范围，不声称全部承诺已找齐。

## 目标、拆解与依赖

- 每项工作使用稳定 ID；标题、父节点和优先级可以变，ID 不因重新编号或搬动而改变。拆出子项时保留父项及其原始完成标准。
- 区分 `parent_id`（组成/拆解）与 `depends_on`（需先满足的条件）。每项只有一个组织归属；共享前置能力只建一项，由多个目标引用，避免重复执行和计数。两种关系合起来也不能形成循环等待；发现矛盾向技术责任人核实，不自行删边解环。
- 保存当前推进路径及下钻理由，包括跨目标依赖。完成深层任务后，检查哪些依赖已满足、哪些同级事项仍未完成，恢复既定下一步；只提醒有对应授权的角色，不自动启动测试、开发或部署。
- 范围内的必要拆解直接登记。新发现的依赖记录提出者和依据；无法确认必要性时提问。超出已有授权的新增功能标为 `proposed`，与已承诺工作分开，不能通过挂子节点取得授权。
- 拆到能明确执行、交接与判断结果即可。命令、读文件、修复尝试通常属于执行证据，不逐条变成交付任务；新的独立成果或阻塞才值得跟踪。

## 完成、数量与可信度

- 明确每项的 `done_when` 和结果责任人。实现完成、测试通过、源码评审通过、合并和发布各有适用条件；不互相替代，也不替所有任务追加这些阶段。
- 记录结论对应的对象/版本、来源和时间。秘书核对来源、适用范围与有无冲突，不重做代码评审、hash 审计或产品测试。Writer 的转述不能代替 Reviewer 的新结论；旧 Candidate 的结果不能自动覆盖新 Candidate。
- `done` 需有满足原定完成标准的责任人结果引用。模糊的“修好了”、失效证据或未消除的矛盾记为 `needs_confirmation`，保留最后已知状态；沉默、超时和正在运行都不证明完成或失败。
- 父项的必要子项和前置条件满足后，还要符合父项原有完成标准；不机械地用子项数量推断交付完成。局部受阻只影响相关路径，其他已获授权的可执行分支可以继续。
- 原始承诺集合固定成员 ID。例如原来的 27 项有一项拆成五项，原集合仍为 27 项；子项进度另外展开。新增、延期、取消、重新打开分别记录来源与变化，不删掉历史欠项或静默改分母。不把完成率按不断增长的叶子数量计算。
- 用已通过/完成、活跃未完成、延期、取消、待确认范围分别回答；“未执行”与“未通过”分开。若证据只表明后者，不猜前者。

## 主动协调闭环

发现缺口 → 读已有依据 → 定向询问责任人 → 记录待答问题 → 消化回复 → 更新受影响目标与后续路径。

- 必要触发：新任务归属不明、状态含义不明、来源冲突、已到约定检查点但无进展、前置已就绪却未恢复、用户问题超出记录的新鲜度。一次追问只解决实际缺口，同一责任人的相关问题可以合并。
- 执行事实问执行者，评审结论问评审者，范围/优先级取舍问有权 Owner；秘书组织问题和依据，不替他们做技术或产品决定。
- 根据当前用户请求或既有协调授权，在绑定对象内主动发送，不每次重问许可。若授权确实缺失，只就所需对象/动作补一次明确授权；独立 skill 不自动赋予联系其他人的权限。
- Writer ↔ Reviewer 继续直接协作。秘书不成为转发站、逐步审批者或新的交付门禁；普通状态询问异步进行，不让工程任务等登记确认。
- 每个待答问题保留任务 ID、已知状态、收件角色、所缺信息、发送/回复引用和下次触发条件。同一事实版本且问题仍待答时不重复发送。催问需要约定检查点、实际期限或新事实，不能不断唤醒角色。

## 小步维护与呈现

完成一批工作、遇到阻塞、评审结论改变、范围变化或收到有效答复时更新；不每 turn 重写全树。秘书维护汇总，工程角色的最小交接只需“任务 ID + 状态变化 + 结果引用 + 下一步/阻塞”。接手时在既有授权内告知此约定一次，沿用其已有结果格式，不要求重抄报告。

先读最新记录再做局部更新；有并发变动时合并新增事实，不覆盖别人的更新。保留简短变更记录与来源。无关日志留在原处，已结束历史可另存，但活动摘要保留可恢复的索引。

同一判断只保留一处必要叙述，其余位置用 ID/来源引用；不在节点备注、额外上下文字段、变更日志和问题草稿中反复抄写相同解释。问题全文保存一次，对外消息或缺工具时的 outbox 复用它；进度回答按所问粒度给短摘要，明细按需展开。

按用户问题生成一种所需视图，均来自同一台账，不维护互相独立的三套文档：

- **概览**：原始目标、主要成果状态、剩余承诺、阻塞和待用户决定事项。
- **当前路径**：总目标 → 组成/依赖 → 当前工作，说明原因、未完同级项及完成后的返回位置。
- **明细**：只展开指定目标、固定任务集合或未完成项；数量多时分段，并说明总数与省略数量。关系复杂才画图区分两类边。

回答标明记录截至何时；待答、缺证和冲突与已知结果分开。普通无变化检查保持安静，除非用户要求状态回复。不保证线程结束后仍会自动监控；定时唤醒按用户要求通过宿主实际支持的调度能力配置并核验。

## 交付自检

- 更新已经持久保存，原始承诺和父节点仍可追溯；本轮新增与关闭项有依据。
- 数量按固定集合统计，范围提议不冒充承诺；状态不越过其证据或职责边界。
- 主动询问已实际发送、仅准备草稿、工具不可用或仍待回复，分别如实记录。
- 当前路径、阻塞和下一步明确。待回复时可交付“截至目前”的准确摘要，不编造未来持续执行；未解决问题保留在台账，不判整个交付已完成。

## 使用示例

> 用 $delivery-secretary 接管 CRI 项目的交付记录。沿用这份执行计划，Writer 和 Reviewer 是我指定的两个 thread；可以主动向它们询问状态和提醒既定下一步。

> 当初承诺的 27 项测试现在还剩哪些？把后来新增的测试单独列出；缺失的执行状态向 Writer 核实。

> Workspace delete 为补功能 A 又拆了五个子项。更新目标和依赖，说明当前为什么在做它、完成后回到哪里；不要新增工程验收条件。
