Skip to content

Commit 22675ed

Browse files
authored
release: ai-delivery-spec 5.4.0
Validated across Ubuntu/Windows and Python 3.10-3.12; required gate passed.
1 parent 87216af commit 22675ed

50 files changed

Lines changed: 2543 additions & 219 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,25 @@
11
# Changelog
22

3+
## 5.4.0 - 2026-07-25
4+
5+
- 新增九个可进入、可停止、可续接的需求工作站;`frame/explore` 明确为准入前工作区,正式 `REQ-*` 生命周期仍从 intake 开始。
6+
- 路由改为语义目标优先:显式目标与否定约束高于关键词;确定性工具只检查已有产物、显式目标、前置条件与断点漂移,不解析用户自然语言。
7+
- 新增问题简报、方案草图、需求澄清简报三份轻量模板;假设寄存器仅在跨会话、跨角色或治理需要时侧车化,禁止为九阶段机械生成九份文件。
8+
- 增加语言无关 `ADS:*` 稳定锚点,使中文、英文和团队自定义标题可共用轻门禁;frame/explore/clarify 纳入正式 CLI 且复用现有四种全局门禁状态。
9+
- 增加可移植 `resume_context`:前序产物绑定相对路径、阶段和 SHA-256,目录越界、文件缺失和静默漂移均阻断;与大项目 execution-state/ID Slice 互补。
10+
- 新增 assumption register schema、显式阶段路由与早期产物门禁回归,覆盖 P0 未知项、旧 PRD 续接、直接阶段进入和无规格下游阻断。
11+
- README 增加业务、产品、设计、开发和测试按当前阶段进入的复制指令;运行时保持按需加载,不增加每次必跑脚本或多 Agent 税。
12+
- 发布文件预算保持严格少于 200;维护实验室不进入第三方运行包,静态 PASS 继续明确 `not_proven` 边界。
13+
- 修复 `init-custom` 时间戳被 YAML 解析为 datetime 的首次运行断点,并让正式 `intake.yaml` 通过独立 schema 和阶段路由识别。
14+
- P0 未知项改为按 `blocks_stage` 分阶段阻断;澄清阶段增加 `REQ-*`、上游 `ASM-*`、决策取舍和空范围的确定性追溯。
15+
- 早期工作站门禁支持 UTF-8 BOM/CRLF、二进制、损坏结构和超大输入的有界诊断,并按 `document_language` 输出中英文修复提示。
16+
- README 公共命令进入自动审计;Product Truth 示例补齐 compile 步骤并对齐实际 `CHG-CORE-001.yaml` 文件名。
17+
- 评审完成态新增 required_review_types 与逐角色 sign_offs,独立区分 architecture、engineering 与 delivery;缺席、拒绝或无证据签署不得基线。
18+
- 新增需求交付/技术负责人角色镜头与零模型需求池汇总,聚合优先级、复杂度带、依赖和迭代归属,但不接管 Sprint、人员、工期和容量。
19+
- 增加 Jira/Linear/Azure DevOps/TAPD/禅道交接映射、紧急变更补审规则和验收后反馈回流;坚持不把上线、监控和运营扩成第十阶段。
20+
- 为 15 个固定 GitHub 案例生成覆盖九阶段的一句话跨模型探针,记录 provider/model/client/设置/日期/耗时/产物数/门禁结果/输出引用;生成提示包本身不算模型通过证据。
21+
- 新增无人值守跨模型执行合同:只加载目标阶段切片和明确依赖,禁止 README/维护者目录/无关领域包及非必要外部调研,目标门禁得出结论后停止;行为正确性与执行成本分别记账。
22+
323
## 5.3.3 - 2026-07-22
424

525
- 修复公共 CLI 将 `--acceptance-run` 错误转发为下划线参数的问题,并用真实公共入口建立回归。

README.md

Lines changed: 58 additions & 59 deletions
Large diffs are not rendered by default.

SKILL.md

Lines changed: 56 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -1,112 +1,85 @@
11
---
22
name: ai-delivery-spec
3-
description: 将一句话想法、客户材料、存量系统以及 ToC/ToB/ToG 需求转化为一份可实施、可追溯、可验收的人类与 Coding Agent 共用基线;用于需求准入、澄清、统一 PRD、工程原型、变更影响、Agent 交接与验收证据。Turn ideas, customer materials and brownfield systems into an implementable requirement baseline. 不负责排期、编码、CI/CD、部署和运营。
3+
description: 将一句话想法、客户材料、存量系统或 ToC/ToB/ToG 需求,按使用者指定的进入阶段和停止阶段,转化为可评审、可实施、可追溯、可验收的人类与 Coding Agent 共用需求产物。支持问题定义、方案探索、需求准入、澄清、统一 PRD、工程原型、评审基线、变更影响和验收证据;不负责排期、编码、CI/CD、部署和运营。
44
---
55

6-
# AI Delivery Spec 5.3.3 — Requirement Management Kernel|需求管理内核
6+
# AI Delivery Spec 5.4.0 — Requirement Lifecycle Workstations|需求全生命周期工作站
77

8-
生成一份人类可读、AI Coding 可执行的需求基线,并双向追溯“来源 → 行为 → 验收”。
9-
Product Truth(结构化事实源)只在复杂治理场景按需启用,不是每个项目的前置作业。
8+
本 Skill 是 Requirement Management Kernel:让业务、产品、设计、前后端、架构、需求交付/技术负责人、测试、合规和 Coding Agent 在需求任一阶段进入,得到当前需要的最小合格产物后离开;也可在用户明确要求时持续完成端到端闭环。
109

11-
输出语言默认跟随用户当前请求。标题、正文、表格、问题和测试均使用该语言;
12-
稳定 ID、代码、API/字段名及专有名词保持不变。双语输出必须由用户明确要求
10+
默认跟随用户当前语言生成标题、正文、表格、问题与测试;稳定 ID、代码、API/字段名和专有名词保持原样。双语必须由用户明确要求。
11+
只使用 Agent 完成需求工作不要求安装 Python;运行本地零模型门禁时需要 Python 3.10+:`python -m pip install -r scripts/requirements.txt`。Stable ID 是长期不变的需求编号;Gate 是静态结构门禁,不等于业务、浏览器、实现或客户验收
1312

14-
首次运行需要 Python 3.10+:`python -m pip install -r scripts/requirements.txt`
15-
Stable ID 是长期不变的需求编号;Gate 是结构门禁,不等于业务、浏览器或客户验收。
13+
## 先确定进入点和停止点
1614

17-
## 静默完成需求准入
15+
内部识别两个字段,不要求用户学习参数:
1816

19-
内部判断两个轴,仅在有助于决策或用户主动指定时展示:
17+
- `entry_stage`:从现有材料和当前工作位置进入。
18+
- `target_stage`:本次要拿到的产物/停止点。
2019

21-
- `delivery_shape``requirement_card``unified_prd``governed_truth`
22-
- `assurance_profile``bounded``standard``high_risk``safety_critical`
20+
工作站为 `frame → explore → intake → clarify → specify → review → baseline`,基线可进入 `change``acceptance`,变更须重新基线。`frame/explore` 是准入前工作区;正式 `REQ-*` 生命周期从 intake 开始。用户可从任意有证据的阶段进入,不强迫补跑无关前序。
2321

24-
只有单角色、可逆、局部变更才使用需求卡。数据上报/统计、实质状态、批量导入导出、
25-
审批审计、系统集成、迁移、高风险或跨角色/模块需求必须升级为一份统一 PRD。
26-
只有受控多投影、反复跨模块耦合、数据血缘或强审计才启用 governed truth。
27-
L0—L4 是门禁强度元数据,不要求用户先学习或手工选择。
22+
显式目标最高优先;“不要写 PRD,只做澄清”等否定约束高于关键词。目标未明时选择能解决当前问题的最小产物,并继续可逆工作;只有产物选择会实质改变范围时才提问。单次任务到目标即停,明确端到端任务则持续到目标且不得把中间模板或静态 PASS 当成完成。
2823

29-
先检查现有材料和对应领域章节。互不依赖的事实问题成批询问;方向、冲突和路线决策
30-
逐项询问,并给出推荐、证据和取舍。暂时无法取得的事实登记为有责任人、有范围、
31-
有回退路径和 `blocks_stage``UNK-*`。P0/P1 未明确处置前不得进入正式规格阶段。
24+
需要跨会话或检查旧产物时才运行确定性路由;它不解析自然语言:
25+
26+
`python scripts/ai_delivery_spec_cli.py route-stage --target <stage> --artifact <path>`
3227

3328
## 每次只加载一个有效切片
3429

35-
| 当前任务 | 读取内容 |
30+
| 当前任务 | 只读取 |
3631
|---|---|
37-
| 准入、阶段、角色、基线 | `references/lifecycle.md` |
38-
| 一句话想法、来源、竞品、存量盘点 | `references/discover.md` |
39-
| PRD、字段、规则、接口、机器附录 | `references/specify.md` |
32+
| 任意阶段进入/停止、角色交接、断点 | `references/stages.md` |
33+
| 来源盘点、问题发现、竞品/现状研究 | `references/discover.md` |
34+
| 正式生命周期、准入、评审、基线 | `references/lifecycle.md` |
35+
| PRD、字段、规则、指标、接口、机器附录 | `references/specify.md` |
4036
| 页面合同、Stage 0、原型、视觉路线 | `references/prototype.md` |
41-
| 变更、追溯、验收结果 | `references/change-acceptance.md` |
42-
| 大输入、组合、检查点、Agent 工作包 | `references/context.md` |
43-
| Coding 工具投影 | `references/tool-adapters.md` |
37+
| 变更、双向追溯、验收结果 | `references/change-acceptance.md` |
38+
| 大输入、ID 切片、检查点、Agent 工作区 | `references/context.md` |
39+
| Coding/需求协作工具投影 | `references/tool-adapters.md` |
4440
| 故障恢复、FAQ、反模式 | `references/troubleshooting.md` |
4541
| 领域证据 | `scripts/query_domain.py --domain <pack> --section "<heading>"` |
4642
| 私有领域/模板/规则 | `init-custom --sharing local|team`;候选知识用 `candidate record-usage/assess`,只人工晋级 |
4743

48-
一次只加载一个阶段参考和一个精确领域章节。不要加载 README、`maintainer/`、全部
49-
模板/示例/领域包或整个仓库;只有触发时才加载可选模式。
44+
一次只加载当前阶段参考、一个精确领域章节和当前 ID 切片。不要加载 README、`maintainer/`、全模板/示例/领域包或整个仓库。frame/explore 仅在法规、安全或行业物理约束会改变选项时加载领域知识。
5045

51-
## 执行需求闭环
46+
## 默认最小产物,不为阶段机械建文件
5247

53-
```text
54-
准入 → 澄清 → 规格 → 评审 → 基线 → 变更 → 验收 → 关闭
55-
```
48+
- frame:一份 `problem-brief.md`,说清用户、痛点时刻、成功信号、事实/假设和下一步。
49+
- explore:一份 `solution-sketch.md`,至少两个选项和不做选项,包含可证伪 `ASM-*`、最小验证与停止条件。
50+
- intake:复用 triage 结果与 requirement register;Start with intake for formal governed requirements。
51+
- clarify:一份 `requirement-brief.md`,内嵌 `DEC-*`、规则、开放 `UNK-*` 和退路;多决策人/审计才拆侧车。
52+
- specify:一份需求卡或 one human-readable 统一 PRD;Product Truth 只在受控多投影、反复跨模块变更、血缘或强审计时按需启用。
53+
- review/baseline:复用同一规格;`required_review_types` 全部结构化签署后绑定权威来源、版本/hash 和消费方。
54+
- change/acceptance:现有 `CHG-*``ARUN-*` 回链当前基线。
55+
56+
假设寄存器仅在跨会话、跨角色复用或治理时单独导出。YAML/JSON 是工具投影,不是另一份 PRD。
57+
58+
## 需求闭环与禁止推断
59+
60+
1. 先检查用户材料、现有产物、权威层级和适用领域;存量 HTML/系统重写前先执行 Stage 0。
61+
2. 事实问题按依赖成批澄清;方向、冲突和路线逐项给出推荐、依据与取舍。无法取得的事实登记 `UNK-*`,包含责任人、范围、`blocks_stage` 和回退路径。
62+
3. `ASM-*` 是待验证解释;`UNK-*` 是缺失事实/决策。两者不得互换。P0 未知项只阻断受影响且已到达的阶段。
63+
4. 规格按模块纵切闭环:目标 → 角色旅程 → 页面/数据 → 规则/状态 → 指标口径 → 异常恢复 → 验收;横切权限、接口、事件、审计、兼容和 NFR 作为同一基线合同。
64+
5. 每个 `REQ-*` 绑定来源、行为、字段/规则、AC、测试与证据,并支持 both directions 追溯;缺少语义时开发与 Agent 必须回报 GAP,不能发明。
65+
6. 评审后才基线;变更必须登记 diff、影响、审批、同步、回归和版本;验收记录执行结果、证据、缺陷、条件和签署。
5666

57-
1. 将每个 `REQ-*` 绑定来源、目标、范围、责任人和验收。
58-
2. 闭合角色与范围、业务流、状态、规则、字段、异常、指标和禁止项。
59-
3. 只交付一份 PRD:30 秒摘要、按任务阅读地图、模块纵切规格、横切合同和工程/AI索引。
60-
4. 用业务、产品、领域、UX、前后端、架构、QA、合规和客户视角评审,保留显式 `REV/UNK`
61-
5. 固化版本、权威、稳定 ID 和审批;来源冲突必须由 `DEC-CONFLICT-*` 裁决。
62-
6. `CHG-*` 双向遍历受影响对象,同步全部投影并执行回归。
63-
7. 每个强制 `AC-*` 记录真实结果、可解析证据和有责任主体的签署。
64-
65-
## 坚守“不猜业务”合同
66-
67-
- 稳定 ID 覆盖来源/决策/未知项、行为/数据、接口和证据。
68-
- 每个角色必须走到成功、授权拒绝、可恢复失败或明确交接。
69-
- 每个模块纵切就近放置目标、旅程、UI/数据、规则/权限、状态/事件、指标、恢复、
70-
验收和未知项;附录只索引同一组 ID,不改写业务含义。
71-
- 每个动作声明角色、前置条件、输入、可见结果、领域结果、状态/审计、失败恢复和 AC;
72-
状态声明起点、终点、触发器、责任人和非法路径。
73-
- 每个指标在对应页面旁声明统计对象、公式、时间/过滤/去重、来源/时效、零值/空值和格式;
74-
每条跨模块流程至少有一个 E2E AC。
75-
- 每个页面声明 `primary``layout`、适用 `surfaces`、条件字段/动作/API/AC 和稳定原型锚点。
76-
- L3 基线声明验收责任人、范围、通过规则、证据和签署角色;复杂原型必须有 `REG-*`
77-
区域锚点和真实浏览器 `ARUN-*`
78-
- 本地多文件原型允许相对 HTML/CSS/JS 依赖,门禁会一并扫描;远程或越界依赖不得伪装成已证明。
79-
- ARUN 的本地证据必须真实存在;`EVD-*` 必须在同一记录的 `evidence_catalog` 中解析。
80-
- 高风险规则绑定 `SRC/DEC/ASSUMPTION`;只有真实存在 AI 或血缘行为时才加载对应合同。
81-
- Coding Agent 只能实现已固化的 ID 切片。缺少工程基线是交接 GAP,不是让 PRD 编造技术方案。
82-
83-
覆盖旧原型或 PRD 前,Stage 0 必须把观察到的合同标为 `confirmed``inferred`
84-
`unknown``defect_candidate`,并完成 `INV-* → REQ-*` 映射;推断项进入有责任人的
85-
`RBATCH-*` 批次确认。不得从原型猜测 API、指标、权限或法律结论。
86-
87-
## 控制大项目上下文与知识回流
88-
89-
输入超过 8 个文件、50 万可解析字符,或盘点发现 ≥8 模块、≥12 页面、≥200 稳定对象时
90-
自动分轮。先冻结来源,再按角色端到端纵切建立检查点,最后闭合跨模块边。
91-
知识候选使用 `schemas/domain-candidate.schema.json`,默认仅限 `project_only`。每次采用、修改、
92-
拒绝或失效都以 `candidate record-usage` 留证;`candidate assess` 只给人工评审建议,永不自动晋级。
93-
94-
长任务可依据 `schemas/agent-handoff.schema.json` 投影 `AGENTS.md`。工作包绑定基线 hash、
95-
责任人、范围和 AC,不能修改需求真相。`XCT-*` 还必须声明影响模块、全局不变量、
96-
执行点、例外与失败处理。
97-
98-
## 最后只跑一次轻量门禁
67+
## 门禁只做轻量守门员
68+
69+
统一状态只有 `PASS``REVIEW_COMPLETE_WITH_GAPS``BLOCKED_BY_P0_UNKNOWN``BLOCKED`。早期阶段:
9970

10071
```bash
101-
python scripts/ai_delivery_spec_cli.py gate --profile prd --prd PRD.md --level auto
102-
python scripts/ai_delivery_spec_cli.py gate --profile prototype --prototype app.html --level auto
103-
python scripts/ai_delivery_spec_cli.py gate --profile handoff --prd PRD.md --prototype admin.html --manifest handoff-manifest.yaml --level auto
72+
python scripts/ai_delivery_spec_cli.py gate --profile frame --artifact problem-brief.md
73+
python scripts/ai_delivery_spec_cli.py gate --profile explore --artifact solution-sketch.md
74+
python scripts/ai_delivery_spec_cli.py gate --profile clarify --artifact requirement-brief.md
10475
```
10576

106-
零 LLM、单遍读取的门禁只负责诊断。先修第一个 Finding,再执行 RETRY;它不会自动改写需求。
107-
静态 PASS 永远不能替代领域评审、浏览器/QA 或客户验收。`auto` 对 PRD 读取 frontmatter,
108-
对原型和 handoff 默认 L2;L3/L4 缺少可解析的浏览器 ARUN 时必须返回缺口。
109-
最终状态只能是 `PASS``REVIEW_COMPLETE_WITH_GAPS``BLOCKED_BY_P0_UNKNOWN``BLOCKED`
77+
正式规格沿用 `gate --profile requirement|prd|prototype|handoff|full`。静态门禁必须输出 `not_proven`,不能把结构通过宣传为领域正确、真实运行或客户签收。
78+
79+
5.4 模板用语言无关的 `<!-- ADS:* -->` 锚点,标题可按团队语言/模板改变。`resume_context` 记录相对路径、阶段和 SHA-256;漂移、缺失和路径越界必须阻断。大项目仍用执行检查点和 ID Slice,产物断点不能替代执行状态。
80+
81+
## 边界与扩展
82+
83+
`schemas/agent-handoff.schema.json` 只把已基线需求投影给 Coding Agent;`schemas/domain-candidate.schema.json` 只登记本地候选知识。私有扩展优先于官方默认,但绑定规则冲突必须形成 `DEC-CONFLICT-*`,禁止静默覆盖或联网外发。
11084

111-
对用户已授权的长任务,持续完成全部约定交付物和门禁;仅在需要改变范围的用户决策、
112-
权威来源不可获得或当前阶段被 P0 未知项阻断时暂停。
85+
研发排期、Sprint/任务、代码生成、CI/CD、部署、监控和运营属于下游系统。本 Skill 管到需求验收;外部状态只记引用,线上反馈以新来源回流 intake/CHG,并保留人类问责。

agents/openai.yaml

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,26 @@
11
interface:
22
display_name: "AI Delivery Spec"
3-
version: "5.3.3"
4-
short_description: "从需求准入、澄清到变更、追溯和验收的一体化需求管理"
3+
version: "5.4.0"
4+
short_description: "需求任一阶段进入,按目标交付可读、可实现、可追溯的最小合格产物"
55
default_prompt: >
6-
使用 $ai-delivery-spec 作为需求管理内核。静默判断交付形态和保证强度,先自查证据,
7-
成批澄清互不依赖的事实,并对方向决策逐项给出推荐和取舍;随后完成规格、评审和基线。
6+
使用 $ai-delivery-spec 作为需求管理内核。先从用户语义和已有产物识别 entry_stage 与 target_stage;
7+
显式目标和否定约束高于关键词。允许从任一需求阶段进入,并在用户需要的产物完成后停止;
8+
只有用户明确要求端到端交付时才持续跨阶段。进入正式准入后再静默判断交付形态和保证强度。
89
除非用户明确覆盖,标题、正文、表格、问题和测试均跟随用户请求语言。默认只生成一份
910
人类可读且 AI Coding 可执行的 PRD,其中包含30秒摘要、任务阅读地图、模块纵切规格和
1011
工程/AI索引,不生成互相竞争的两套 PRD。保留稳定 ID、双向追溯、变更影响、可执行验收
1112
和真实证据。存量项目重写前先完成 Stage 0;L3 原型必须有稳定区域和浏览器验收证据。
1213
编码、发布与运行维护属于下游系统。
1314
1415
inputs:
16+
entry_stage:
17+
enum: ["auto", "frame", "explore", "intake", "clarify", "specify", "review", "baseline", "change", "acceptance"]
18+
default: "auto"
19+
target_stage:
20+
enum: ["auto", "frame", "explore", "intake", "clarify", "specify", "review", "baseline", "change", "acceptance"]
21+
default: "auto"
1522
artifact_type:
16-
enum: ["intake", "clarification", "unified_prd", "prototype", "change", "traceability", "acceptance", "review"]
23+
enum: ["problem_brief", "solution_sketch", "intake", "requirement_brief", "unified_prd", "prototype", "review", "baseline", "change", "traceability", "acceptance"]
1724
projection:
1825
enum: ["unified_prd", "requirement_card", "prototype", "qa_acceptance", "customer_contract", "machine_annex"]
1926
default: "unified_prd"

examples/spec.config.example.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ assurance:
2929
human_gate_on: [regulated, money, safety, privacy, tenant_isolation, ai_writeback, migration]
3030
execution:
3131
environment: development
32-
expected_skill_version: 5.3.3
32+
expected_skill_version: 5.4.0
3333
dependency_policy: strict
3434
high_risk_failure: block
3535
low_risk_failure: human_review

0 commit comments

Comments
 (0)