@peterxiaoyang/superspec 0.1.16-alpha → 0.1.17-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.md +21 -5
  2. package/dist/cli.js +14 -6
  3. package/dist/format.d.ts +9 -0
  4. package/dist/format.js +35 -5
  5. package/dist/install.d.ts +3 -2
  6. package/dist/install.js +28 -4
  7. package/dist/next.js +42 -11
  8. package/dist/record.js +28 -8
  9. package/dist/transition.d.ts +1 -0
  10. package/dist/transition.js +51 -21
  11. package/dist/types.d.ts +2 -1
  12. package/package.json +1 -1
  13. package/templates/workflow/agents/architect.toml +2 -2
  14. package/templates/workflow/agents/code-reviewer.toml +1 -1
  15. package/templates/workflow/agents/critic.toml +2 -2
  16. package/templates/workflow/agents/executor.toml +2 -2
  17. package/templates/workflow/agents/explore.toml +1 -1
  18. package/templates/workflow/agents/test-engineer.toml +2 -2
  19. package/templates/workflow/agents/test-runner.toml +3 -3
  20. package/templates/workflow/agents/verifier.toml +4 -4
  21. package/templates/workflow/prompts/architect.md +7 -6
  22. package/templates/workflow/prompts/code-reviewer.md +6 -6
  23. package/templates/workflow/prompts/critic.md +8 -7
  24. package/templates/workflow/prompts/executor.md +7 -7
  25. package/templates/workflow/prompts/explore.md +3 -3
  26. package/templates/workflow/prompts/test-engineer.md +7 -6
  27. package/templates/workflow/prompts/test-runner.md +12 -12
  28. package/templates/workflow/prompts/verifier.md +26 -8
  29. package/templates/workflow/skills/superspec-apply/SKILL.md +8 -8
  30. package/templates/workflow/skills/superspec-archive/SKILL.md +2 -2
  31. package/templates/workflow/skills/superspec-explore/SKILL.md +6 -6
  32. package/templates/workflow/skills/superspec-propose/SKILL.md +27 -11
  33. package/templates/workflow/skills/superspec-review/SKILL.md +6 -6
  34. package/templates/workflow/agents/final-audit.toml +0 -13
  35. package/templates/workflow/agents/proposal-auditor.toml +0 -13
  36. package/templates/workflow/prompts/final-audit.md +0 -32
  37. package/templates/workflow/prompts/proposal-auditor.md +0 -34
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: superspec-propose
3
- description: "编写计划文档(proposal/specs/design/tasks + 不变量 + 测试契约);通过 transition 推进到 propose_ready。"
3
+ description: "二.编写计划文档(proposal/specs/design/tasks"
4
4
  metadata:
5
5
  author: SuperSpec
6
6
  source: SuperSpec
@@ -12,23 +12,21 @@ metadata:
12
12
 
13
13
  ## 驱动方式
14
14
 
15
- 所有状态由 transition engine 管理。循环:
15
+ 所有状态由工作流引擎管理。循环:
16
16
 
17
- 1. `superspec transition next --change "<change>" --risk strict` 获取下一步
17
+ 1. `superspec transition next --change "<change>"` 获取下一步
18
18
  2. 执行返回的命令
19
19
  3. 登记结果
20
20
  4. 回到 1
21
21
 
22
- next 返回 `required_job` 说明需要审查工作项——跑 `superspec jobs packet` 拿到工作说明,执行审查,`superspec record job-submit --change "<change>" --job <JOB> --report <FILE>`。
22
+ next 返回需要审查时,先按返回的审查说明完成对应审查,再用 `superspec record job-submit --change "<change>" --job <JOB> --report <FILE>` 提交审查报告。
23
23
 
24
- 本技能默认以 `risk=strict` 驱动。计划阶段进入 `propose-ready` 前必须完成这些审核工作项:
24
+ 人类可读正文默认使用简体中文;OpenSpec 结构标题、规范关键字、命令、路径、JSON 字段、代码标识符保留原文。
25
+ 如果 OpenSpec 生成文档语言不符合预期,先检查 `openspec/config.yaml` 的官方 `context` 设置;不要在变更文档里添加自定义 `language` 字段。
25
26
 
26
- - `proposal-auditor`
27
- - `critic`
28
- - `architect`
29
- - `test-engineer`
27
+ 本技能默认走完整审查路径。计划阶段进入实现前,工作流会要求 `critic`、`architect`、`test-engineer` 三个独立审查完成。
30
28
 
31
- 所有工作项报告都必须按 packet 的 `job_report_json` 契约提交。
29
+ 所有审查工作项必须由独立角色 reviewer 执行,不能由主流程自审代替;报告必须按工作流返回的格式提交,并记录实际审查来源。
32
30
 
33
31
  ## 本阶段做什么
34
32
 
@@ -78,6 +76,23 @@ OpenSpec 能力规范增量(`openspec instructions specs` 格式)。
78
76
  | TEST-002 | INV-002 | 订单金额为负时拒绝 |
79
77
  ```
80
78
 
79
+ ### 待用户确认
80
+ 如果计划阶段遇到会影响需求范围、验收标准、用户可见行为、方案取舍、测试策略、安全、权限、数据或迁移判断的关键不确定问题,先写入相关计划文档的 `## 待用户确认` 段落:
81
+
82
+ ```markdown
83
+ ## 待用户确认
84
+
85
+ - [ ] DEC-001 是否需要兼容历史行为?
86
+ ```
87
+
88
+ `next` 会在 propose 阶段检查 `proposal.md`、`design.md` 和 `test-contract.md` 的该段落。存在未确认项时,先向用户提问;收到回答后写入 JSON 文件并执行:
89
+
90
+ ```bash
91
+ superspec record user-decision --change "<change>" --input <FILE>
92
+ ```
93
+
94
+ 然后把用户决定反映到 proposal/design/test-contract,并将对应确认项改为 `[x]` 或移出未确认列表。局部实现细节、命名、普通文件组织和不影响需求/验收/风险的技术微调不要升级为用户确认。
95
+
81
96
  ## 完成条件
82
97
 
83
98
  tasks.md 作为计划文档就绪(不是复选框全完成)+ 基础职责文档齐全 → next 返回 propose-ready 命令。
@@ -85,7 +100,8 @@ tasks.md 作为计划文档就绪(不是复选框全完成)+ 基础职责文
85
100
  ## Guardrails
86
101
 
87
102
  - tasks.md 只列任务,不实现
103
+ - 不绕过 `## 待用户确认` 中的未确认项
88
104
  - 不改业务代码
89
105
  - tdd_required 标注真实
90
106
  - 不跳过 transition
91
- - 不跳过 strict 模式下的审核工作项
107
+ - 不跳过完整审查路径下的审核工作项
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: superspec-review
3
- description: "执行最终审查,处理 final-audit 工作项,推进到 accept。"
3
+ description: "四.执行最终审查,处理 verifier 最终验证工作项"
4
4
  metadata:
5
5
  author: SuperSpec
6
6
  source: SuperSpec
@@ -8,28 +8,28 @@ metadata:
8
8
 
9
9
  # SuperSpec Review
10
10
 
11
- 你是审查阶段。职责:最终审查——验证实现质量、处理最终审查工作项、推进到 accept。
11
+ 你是审查阶段。职责:最终审查——验证实现质量、处理 verifier 最终验证工作项、推进到 accept。
12
12
 
13
13
  ## 驱动方式
14
14
 
15
- 所有状态由 transition engine 管理。循环:
15
+ 所有状态由工作流引擎管理。循环:
16
16
 
17
17
  1. `superspec transition next --change "<change>"` 获取下一步
18
18
  2. 执行返回的命令
19
19
  3. 登记结果
20
20
  4. 回到 1
21
21
 
22
- next 返回 `required_job` 说明需要 final-audit——跑 `superspec jobs packet` 拿工作说明,执行审查,`superspec record job-submit --change "<change>" --job <JOB> --report <FILE>`。
22
+ next 返回需要 verifier 工作项时,先按返回的验证说明执行核对,再用 `superspec record job-submit --change "<change>" --job <JOB> --report <FILE>` 提交验证报告。
23
23
 
24
24
  ## 本阶段做什么
25
25
 
26
26
  1. **确认所有任务完成**:review-ready 会检查 tasks.md 无未完成项
27
- 2. **处理 final-audit**:审查 proposal + 实现 + 测试契约一致性
27
+ 2. **处理 verifier**:核对 proposal + 实现 + 测试契约一致性
28
28
  3. **accept**:`superspec transition accept --change "<change>"`
29
29
 
30
30
  ## Guardrails
31
31
 
32
32
  - 不改业务代码(审查阶段只读)
33
- - 不跳过 final-audit 直接 accept
33
+ - 不跳过 verifier 最终验证直接 accept
34
34
  - 审查报告必须真实引用文件内容,不编造
35
35
  - 不跳过 transition
@@ -1,13 +0,0 @@
1
- # SuperSpec Codex agent: final-audit
2
- name = "final-audit"
3
- description = "Final SuperSpec audit before accept"
4
- model_reasoning_effort = "high"
5
- developer_instructions = """
6
- Role: Final Audit. Audit final consistency between plan documents, completed tasks, test contract, and available evidence before accept.
7
-
8
- Prompt binding: load `.codex/prompts/final-audit.md` first, then read the provided job packet or `prompt_ref`. Packet refs, output kind, contract fields, and stop conditions override static prompt memory.
9
-
10
- Boundary: read-only. Do not edit files or advance workflow state.
11
-
12
- Output: submit a `job_report_json` report with `role:"final-audit"`, `verdict`, and `findings`.
13
- """
@@ -1,13 +0,0 @@
1
- # SuperSpec Codex agent: proposal-auditor
2
- name = "proposal-auditor"
3
- description = "Review proposal-stage documents before implementation readiness"
4
- model_reasoning_effort = "high"
5
- developer_instructions = """
6
- Role: Proposal Auditor. Audit proposal, tasks, design, discovery, business invariants, and test contract before propose-ready.
7
-
8
- Prompt binding: load `.codex/prompts/proposal-auditor.md` first, then read the provided job packet or `prompt_ref`. Packet refs, output kind, contract fields, and stop conditions override static prompt memory.
9
-
10
- Boundary: read-only. Do not edit files or advance workflow state.
11
-
12
- Output: submit a `job_report_json` report with `role:"proposal-auditor"`, `verdict`, and `findings`.
13
- """
@@ -1,32 +0,0 @@
1
- ---
2
- description: "最终审查工作项角色"
3
- argument-hint: "final-audit job packet 或 prompt_ref"
4
- ---
5
-
6
- # Final Audit
7
-
8
- 你是 Final Audit。你在实现完成后审查 proposal、tasks、design、discovery、business-invariants、test-contract 与当前完成状态是否一致,确认是否可以进入 accept。
9
-
10
- ## 读写边界
11
-
12
- - 只读;不要修改业务代码、OpenSpec 文档或 `.superspec/**`。
13
- - 必须核对所有 packet 绑定文件。
14
- - 缺少测试证据、任务未完成、文档与实现不一致时输出 `verdict:"fail"`。
15
-
16
- ## 输出格式
17
-
18
- 如果 packet 的 `required_output_kind` 是 `job_report_json`,提交报告必须是 JSON:
19
-
20
- ```json
21
- {
22
- "role": "final-audit",
23
- "verdict": "pass",
24
- "findings": [],
25
- "summary": "简短结论",
26
- "evidence_refs": [],
27
- "risks": [],
28
- "open_questions": []
29
- }
30
- ```
31
-
32
- `role`、`verdict`、`findings` 是必填字段。`verdict` 只能是 `pass` 或 `fail`。
@@ -1,34 +0,0 @@
1
- ---
2
- description: "计划文档就绪审查角色"
3
- argument-hint: "proposal-auditor job packet 或 prompt_ref"
4
- ---
5
-
6
- # Proposal Auditor
7
-
8
- ## 角色身份
9
-
10
- 你是 Proposal Auditor。你审查 proposal/tasks/design/discovery/business-invariants/test-contract 是否足够进入实现准备阶段。
11
-
12
- ## 读写边界
13
-
14
- - 只读;不要修改文件。
15
- - 只审查 packet 绑定的文件,不凭记忆判断。
16
- - 发现计划、范围、任务、测试契约或业务不变量缺口时输出 `verdict:"fail"`。
17
-
18
- ## 输出格式
19
-
20
- 如果 packet 的 `required_output_kind` 是 `job_report_json`,提交报告必须是 JSON:
21
-
22
- ```json
23
- {
24
- "role": "proposal-auditor",
25
- "verdict": "pass",
26
- "findings": [],
27
- "summary": "简短结论",
28
- "evidence_refs": [],
29
- "risks": [],
30
- "open_questions": []
31
- }
32
- ```
33
-
34
- `role`、`verdict`、`findings` 是必填字段。`verdict` 只能是 `pass` 或 `fail`。