Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

第 11 章 治理与三轴状态

定位:本章讲需求的生命周期治理——显式人类转换、原子替换与一条命令看清 三个独立状态轴。前置依赖:第 10 章。基于 agent-spec 1.0.0。

状态机:接受是显式动作

stateDiagram-v2
    [*] --> proposed: intake 产出
    proposed --> accepted: transition --to accepted
    proposed --> rejected: transition --to rejected
    accepted --> deprecated: transition --to deprecated
    accepted --> superseded: supersede --by NEW
    note right of accepted: 缺失 status 会让 plan --gate 直接失败
agent-spec requirements transition REQ-BOOKING --to accepted
REQ-BOOKING: proposed -> accepted (knowledge/requirements/req-booking.md)

三条纪律:改写是行精确的(只动 frontmatter 的 status: 行);非法转换是 诊断(accepted 回不到 proposed);superseded 只能经 supersede 命令到达—— 它原子地改写两份文档(旧文档标 superseded,新文档记 supersedes:),第二次 写入失败会回滚第一次。

机器消费加 --format json——输出带改写后文档的 blake3 摘要,且没有 actor/authority/approval 字段(谁批准的由编排系统在自己的证据链里绑定到摘要上, 详见第 18 章 ADR-001):

{
  "document": "knowledge/requirements/req-provenance-run-hardening.md",
  "document_digest": "4a974a05742095071661737b5b676ef50a5bc07ce8f24c60486518a47b60f28f",
  "from": "proposed",
  "id": "REQ-PROVENANCE-RUN-HARDENING",
  "to": "accepted"
}

三轴状态:一条命令回答“REQ-X 现在怎么样了“

治理(人定、持久化)、执行(从工件推导)、liveness(从当前 verdict 重算)是 三个独立的轴

agent-spec requirements status REQ-INTENT-CODE-LINKER
REQ-INTENT-CODE-LINKER
  governance: accepted
  execution:  verified (work unit: ready)
  liveness:   honored

执行阶梯自底向上:unplanned → planned → ready → active → verified → archived ——staged 合同是 planned,工作单元就绪是 ready,活跃合同是 active,活跃且 honored 是 verified,归档是 archived。liveness 三值 honored / violated / unproven(外加声明性的 na), 永远重算,从不存储(详见第 15 章)。

开工仪式

接受一条需求意味着排期义务。plan 门会强制配对:accepted 而无活跃合同 → requirement-uncovered 失败。因此标准开工动作是一次变更里同时完成——

agent-spec requirements transition REQ-X --to accepted
git mv specs/roadmap/task-x.spec.md specs/

这套仪式在本书自己的写作中如实上演过(详见附录 C)。