@aipper/aiws-spec 0.0.23 → 0.0.25

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 (210) hide show
  1. package/README.md +22 -0
  2. package/docs/aiws-bootstrap-routing-design.md +138 -0
  3. package/docs/aiws-governance-positioning.md +69 -0
  4. package/docs/cli-interface.md +87 -5
  5. package/docs/collaboration-artifacts.md +62 -0
  6. package/docs/opencode-omo-adapter.md +135 -0
  7. package/docs/opencode-omo-validation-checklist.md +90 -0
  8. package/docs/spec-contract.md +26 -11
  9. package/docs/superpowers-collaboration-adoption.md +92 -0
  10. package/docs/workflow-delegation-contracts.json +274 -0
  11. package/docs/workflow-delegation-contracts.md +248 -0
  12. package/docs/workflow-delegation-contracts.schema.json +176 -0
  13. package/docs/workflow-governance-rules.json +294 -0
  14. package/docs/workflow-governance-rules.md +63 -0
  15. package/docs/workflow-governance-rules.schema.json +182 -0
  16. package/docs/workflow-review-gates.json +72 -0
  17. package/docs/workflow-review-gates.md +36 -0
  18. package/docs/workflow-review-gates.schema.json +67 -0
  19. package/docs/workflow-router-rules.json +196 -0
  20. package/docs/workflow-router-rules.md +83 -0
  21. package/docs/workflow-router-rules.schema.json +119 -0
  22. package/docs/workflow-stage-contracts.json +148 -0
  23. package/docs/workflow-stage-contracts.md +70 -0
  24. package/docs/workflow-stage-contracts.schema.json +98 -0
  25. package/package.json +1 -1
  26. package/templates/workspace/.agents/skills/using-aiws/SKILL.md +83 -0
  27. package/templates/workspace/.agents/skills/ws-bugfix/SKILL.md +30 -7
  28. package/templates/workspace/.agents/skills/ws-commit/SKILL.md +26 -1
  29. package/templates/workspace/.agents/skills/ws-delegate/SKILL.md +75 -0
  30. package/templates/workspace/.agents/skills/ws-deliver/SKILL.md +46 -9
  31. package/templates/workspace/.agents/skills/ws-dev/SKILL.md +81 -11
  32. package/templates/workspace/.agents/skills/ws-finish/SKILL.md +101 -60
  33. package/templates/workspace/.agents/skills/ws-frontend-design/SKILL.md +126 -0
  34. package/templates/workspace/.agents/skills/ws-handoff/SKILL.md +22 -1
  35. package/templates/workspace/.agents/skills/ws-plan/SKILL.md +61 -2
  36. package/templates/workspace/.agents/skills/ws-plan-verify/SKILL.md +20 -0
  37. package/templates/workspace/.agents/skills/ws-preflight/SKILL.md +23 -0
  38. package/templates/workspace/.agents/skills/ws-quality-review/SKILL.md +56 -0
  39. package/templates/workspace/.agents/skills/ws-review/SKILL.md +24 -0
  40. package/templates/workspace/.agents/skills/ws-spec-review/SKILL.md +57 -0
  41. package/templates/workspace/.agents/skills/ws-verify-before-complete/SKILL.md +59 -0
  42. package/templates/workspace/.claude/commands/using-aiws.md +24 -0
  43. package/templates/workspace/.claude/commands/ws-bugfix.md +11 -6
  44. package/templates/workspace/.claude/commands/ws-commit.md +2 -1
  45. package/templates/workspace/.claude/commands/ws-deliver.md +6 -2
  46. package/templates/workspace/.claude/commands/ws-dev.md +5 -2
  47. package/templates/workspace/.claude/commands/ws-finish.md +19 -19
  48. package/templates/workspace/.claude/commands/ws-plan.md +9 -5
  49. package/templates/workspace/.claude/commands/ws-quality-review.md +24 -0
  50. package/templates/workspace/.claude/commands/ws-spec-review.md +24 -0
  51. package/templates/workspace/.claude/commands/ws-verify-before-complete.md +24 -0
  52. package/templates/workspace/.claude/skills/p-aiws-change-archive/SKILL.md +24 -0
  53. package/templates/workspace/.claude/skills/p-aiws-change-finish/SKILL.md +24 -0
  54. package/templates/workspace/.claude/skills/p-aiws-change-list/SKILL.md +18 -0
  55. package/templates/workspace/.claude/skills/p-aiws-change-new/SKILL.md +26 -0
  56. package/templates/workspace/.claude/skills/p-aiws-change-next/SKILL.md +19 -0
  57. package/templates/workspace/.claude/skills/p-aiws-change-start/SKILL.md +33 -0
  58. package/templates/workspace/.claude/skills/p-aiws-change-status/SKILL.md +19 -0
  59. package/templates/workspace/.claude/skills/p-aiws-change-sync/SKILL.md +19 -0
  60. package/templates/workspace/.claude/skills/p-aiws-change-templates-init/SKILL.md +18 -0
  61. package/templates/workspace/.claude/skills/p-aiws-change-templates-which/SKILL.md +18 -0
  62. package/templates/workspace/.claude/skills/p-aiws-change-validate/SKILL.md +23 -0
  63. package/templates/workspace/.claude/skills/p-aiws-hooks-install/SKILL.md +30 -0
  64. package/templates/workspace/.claude/skills/p-aiws-hooks-status/SKILL.md +18 -0
  65. package/templates/workspace/.claude/skills/p-aiws-init/SKILL.md +27 -0
  66. package/templates/workspace/.claude/skills/p-aiws-rollback/SKILL.md +18 -0
  67. package/templates/workspace/.claude/skills/p-aiws-update/SKILL.md +26 -0
  68. package/templates/workspace/.claude/skills/p-aiws-validate/SKILL.md +22 -0
  69. package/templates/workspace/.claude/skills/p-tasks-plan/SKILL.md +37 -0
  70. package/templates/workspace/.claude/skills/using-aiws/SKILL.md +83 -0
  71. package/templates/workspace/.claude/skills/ws-analyze/SKILL.md +26 -0
  72. package/templates/workspace/.claude/skills/ws-bugfix/SKILL.md +111 -0
  73. package/templates/workspace/.claude/skills/ws-commit/SKILL.md +127 -0
  74. package/templates/workspace/.claude/skills/ws-deliver/SKILL.md +231 -0
  75. package/templates/workspace/.claude/skills/ws-dev/SKILL.md +168 -0
  76. package/templates/workspace/.claude/skills/ws-finish/SKILL.md +220 -0
  77. package/templates/workspace/.claude/skills/ws-frontend-design/SKILL.md +126 -0
  78. package/templates/workspace/.claude/skills/ws-handoff/SKILL.md +52 -0
  79. package/templates/workspace/.claude/skills/ws-migrate/SKILL.md +54 -0
  80. package/templates/workspace/.claude/skills/ws-plan/SKILL.md +138 -0
  81. package/templates/workspace/.claude/skills/ws-plan-verify/SKILL.md +61 -0
  82. package/templates/workspace/.claude/skills/ws-preflight/SKILL.md +55 -0
  83. package/templates/workspace/.claude/skills/ws-pull/SKILL.md +119 -0
  84. package/templates/workspace/.claude/skills/ws-push/SKILL.md +110 -0
  85. package/templates/workspace/.claude/skills/ws-quality-review/SKILL.md +56 -0
  86. package/templates/workspace/.claude/skills/ws-req-change/SKILL.md +41 -0
  87. package/templates/workspace/.claude/skills/ws-req-contract-sync/SKILL.md +17 -0
  88. package/templates/workspace/.claude/skills/ws-req-contract-validate/SKILL.md +12 -0
  89. package/templates/workspace/.claude/skills/ws-req-flow-sync/SKILL.md +28 -0
  90. package/templates/workspace/.claude/skills/ws-req-review/SKILL.md +32 -0
  91. package/templates/workspace/.claude/skills/ws-review/SKILL.md +50 -0
  92. package/templates/workspace/.claude/skills/ws-rule/SKILL.md +23 -0
  93. package/templates/workspace/.claude/skills/ws-spec-review/SKILL.md +57 -0
  94. package/templates/workspace/.claude/skills/ws-submodule-setup/SKILL.md +65 -0
  95. package/templates/workspace/.claude/skills/ws-verify-before-complete/SKILL.md +59 -0
  96. package/templates/workspace/.codex/prompts/ws-dev.md +5 -1
  97. package/templates/workspace/.githooks/commit-msg +109 -0
  98. package/templates/workspace/.iflow/commands/ws-commit.toml +2 -1
  99. package/templates/workspace/.iflow/commands/ws-deliver.toml +6 -2
  100. package/templates/workspace/.iflow/commands/ws-finish.toml +19 -19
  101. package/templates/workspace/.opencode/command/using-aiws.md +29 -0
  102. package/templates/workspace/.opencode/command/ws-bugfix.md +11 -6
  103. package/templates/workspace/.opencode/command/ws-commit.md +2 -1
  104. package/templates/workspace/.opencode/command/ws-delegate.md +33 -0
  105. package/templates/workspace/.opencode/command/ws-deliver.md +6 -2
  106. package/templates/workspace/.opencode/command/ws-dev.md +5 -2
  107. package/templates/workspace/.opencode/command/ws-finish.md +19 -19
  108. package/templates/workspace/.opencode/command/ws-plan.md +12 -5
  109. package/templates/workspace/.opencode/command/ws-preflight.md +4 -0
  110. package/templates/workspace/.opencode/command/ws-quality-review.md +30 -0
  111. package/templates/workspace/.opencode/command/ws-review.md +3 -0
  112. package/templates/workspace/.opencode/command/ws-spec-review.md +30 -0
  113. package/templates/workspace/.opencode/command/ws-verify-before-complete.md +27 -0
  114. package/templates/workspace/.opencode/commands/p-aiws-change-archive.md +27 -0
  115. package/templates/workspace/.opencode/commands/p-aiws-change-finish.md +27 -0
  116. package/templates/workspace/.opencode/commands/p-aiws-change-list.md +26 -0
  117. package/templates/workspace/.opencode/commands/p-aiws-change-new.md +27 -0
  118. package/templates/workspace/.opencode/commands/p-aiws-change-next.md +27 -0
  119. package/templates/workspace/.opencode/commands/p-aiws-change-start.md +27 -0
  120. package/templates/workspace/.opencode/commands/p-aiws-change-status.md +27 -0
  121. package/templates/workspace/.opencode/commands/p-aiws-change-sync.md +27 -0
  122. package/templates/workspace/.opencode/commands/p-aiws-change-templates-init.md +26 -0
  123. package/templates/workspace/.opencode/commands/p-aiws-change-templates-which.md +26 -0
  124. package/templates/workspace/.opencode/commands/p-aiws-change-validate.md +27 -0
  125. package/templates/workspace/.opencode/commands/p-aiws-hooks-install.md +26 -0
  126. package/templates/workspace/.opencode/commands/p-aiws-hooks-status.md +26 -0
  127. package/templates/workspace/.opencode/commands/p-aiws-init.md +23 -0
  128. package/templates/workspace/.opencode/commands/p-aiws-rollback.md +16 -0
  129. package/templates/workspace/.opencode/commands/p-aiws-update.md +22 -0
  130. package/templates/workspace/.opencode/commands/p-aiws-validate.md +17 -0
  131. package/templates/workspace/.opencode/commands/using-aiws.md +29 -0
  132. package/templates/workspace/.opencode/commands/ws-analyze.md +30 -0
  133. package/templates/workspace/.opencode/commands/ws-bugfix.md +35 -0
  134. package/templates/workspace/.opencode/commands/ws-commit.md +70 -0
  135. package/templates/workspace/.opencode/commands/ws-delegate.md +33 -0
  136. package/templates/workspace/.opencode/commands/ws-deliver.md +58 -0
  137. package/templates/workspace/.opencode/commands/ws-dev.md +36 -0
  138. package/templates/workspace/.opencode/commands/ws-finish.md +71 -0
  139. package/templates/workspace/.opencode/commands/ws-handoff.md +25 -0
  140. package/templates/workspace/.opencode/commands/ws-migrate.md +25 -0
  141. package/templates/workspace/.opencode/commands/ws-plan-verify.md +28 -0
  142. package/templates/workspace/.opencode/commands/ws-plan.md +27 -0
  143. package/templates/workspace/.opencode/commands/ws-preflight.md +34 -0
  144. package/templates/workspace/.opencode/commands/ws-pull.md +87 -0
  145. package/templates/workspace/.opencode/commands/ws-push.md +93 -0
  146. package/templates/workspace/.opencode/commands/ws-quality-review.md +30 -0
  147. package/templates/workspace/.opencode/commands/ws-req-change.md +45 -0
  148. package/templates/workspace/.opencode/commands/ws-req-contract-sync.md +21 -0
  149. package/templates/workspace/.opencode/commands/ws-req-contract-validate.md +16 -0
  150. package/templates/workspace/.opencode/commands/ws-req-flow-sync.md +23 -0
  151. package/templates/workspace/.opencode/commands/ws-req-review.md +36 -0
  152. package/templates/workspace/.opencode/commands/ws-review.md +33 -0
  153. package/templates/workspace/.opencode/commands/ws-rule.md +27 -0
  154. package/templates/workspace/.opencode/commands/ws-spec-review.md +30 -0
  155. package/templates/workspace/.opencode/commands/ws-submodule-setup.md +57 -0
  156. package/templates/workspace/.opencode/commands/ws-verify-before-complete.md +27 -0
  157. package/templates/workspace/.opencode/oh-my-opencode.json.example +17 -0
  158. package/templates/workspace/.opencode/skills/p-aiws-change-archive/SKILL.md +24 -0
  159. package/templates/workspace/.opencode/skills/p-aiws-change-finish/SKILL.md +24 -0
  160. package/templates/workspace/.opencode/skills/p-aiws-change-list/SKILL.md +18 -0
  161. package/templates/workspace/.opencode/skills/p-aiws-change-new/SKILL.md +26 -0
  162. package/templates/workspace/.opencode/skills/p-aiws-change-next/SKILL.md +19 -0
  163. package/templates/workspace/.opencode/skills/p-aiws-change-start/SKILL.md +33 -0
  164. package/templates/workspace/.opencode/skills/p-aiws-change-status/SKILL.md +19 -0
  165. package/templates/workspace/.opencode/skills/p-aiws-change-sync/SKILL.md +19 -0
  166. package/templates/workspace/.opencode/skills/p-aiws-change-templates-init/SKILL.md +18 -0
  167. package/templates/workspace/.opencode/skills/p-aiws-change-templates-which/SKILL.md +18 -0
  168. package/templates/workspace/.opencode/skills/p-aiws-change-validate/SKILL.md +23 -0
  169. package/templates/workspace/.opencode/skills/p-aiws-hooks-install/SKILL.md +30 -0
  170. package/templates/workspace/.opencode/skills/p-aiws-hooks-status/SKILL.md +18 -0
  171. package/templates/workspace/.opencode/skills/p-aiws-init/SKILL.md +27 -0
  172. package/templates/workspace/.opencode/skills/p-aiws-rollback/SKILL.md +18 -0
  173. package/templates/workspace/.opencode/skills/p-aiws-update/SKILL.md +26 -0
  174. package/templates/workspace/.opencode/skills/p-aiws-validate/SKILL.md +22 -0
  175. package/templates/workspace/.opencode/skills/p-tasks-plan/SKILL.md +37 -0
  176. package/templates/workspace/.opencode/skills/using-aiws/SKILL.md +87 -0
  177. package/templates/workspace/.opencode/skills/ws-analyze/SKILL.md +26 -0
  178. package/templates/workspace/.opencode/skills/ws-bugfix/SKILL.md +111 -0
  179. package/templates/workspace/.opencode/skills/ws-commit/SKILL.md +127 -0
  180. package/templates/workspace/.opencode/skills/ws-delegate/SKILL.md +63 -0
  181. package/templates/workspace/.opencode/skills/ws-deliver/SKILL.md +231 -0
  182. package/templates/workspace/.opencode/skills/ws-dev/SKILL.md +168 -0
  183. package/templates/workspace/.opencode/skills/ws-finish/SKILL.md +220 -0
  184. package/templates/workspace/.opencode/skills/ws-frontend-design/SKILL.md +126 -0
  185. package/templates/workspace/.opencode/skills/ws-handoff/SKILL.md +52 -0
  186. package/templates/workspace/.opencode/skills/ws-migrate/SKILL.md +54 -0
  187. package/templates/workspace/.opencode/skills/ws-plan/SKILL.md +148 -0
  188. package/templates/workspace/.opencode/skills/ws-plan-verify/SKILL.md +61 -0
  189. package/templates/workspace/.opencode/skills/ws-preflight/SKILL.md +60 -0
  190. package/templates/workspace/.opencode/skills/ws-pull/SKILL.md +119 -0
  191. package/templates/workspace/.opencode/skills/ws-push/SKILL.md +110 -0
  192. package/templates/workspace/.opencode/skills/ws-quality-review/SKILL.md +63 -0
  193. package/templates/workspace/.opencode/skills/ws-req-change/SKILL.md +41 -0
  194. package/templates/workspace/.opencode/skills/ws-req-contract-sync/SKILL.md +17 -0
  195. package/templates/workspace/.opencode/skills/ws-req-contract-validate/SKILL.md +12 -0
  196. package/templates/workspace/.opencode/skills/ws-req-flow-sync/SKILL.md +28 -0
  197. package/templates/workspace/.opencode/skills/ws-req-review/SKILL.md +32 -0
  198. package/templates/workspace/.opencode/skills/ws-review/SKILL.md +57 -0
  199. package/templates/workspace/.opencode/skills/ws-rule/SKILL.md +23 -0
  200. package/templates/workspace/.opencode/skills/ws-spec-review/SKILL.md +64 -0
  201. package/templates/workspace/.opencode/skills/ws-submodule-setup/SKILL.md +65 -0
  202. package/templates/workspace/.opencode/skills/ws-verify-before-complete/SKILL.md +59 -0
  203. package/templates/workspace/AGENTS.md +72 -29
  204. package/templates/workspace/AI_WORKSPACE.md +4 -4
  205. package/templates/workspace/changes/README.md +26 -2
  206. package/templates/workspace/changes/templates/proposal.md +15 -0
  207. package/templates/workspace/changes/templates/tasks.md +9 -2
  208. package/templates/workspace/manifest.json +279 -2
  209. package/templates/workspace/tools/ws_change_check.py +27 -5
  210. package/templates/workspace/tools/ws_resolve_sub_target.sh +1 -0
@@ -0,0 +1,248 @@
1
+ # workflow-delegation-contracts
2
+
3
+ <!-- Generated from packages/spec/docs/workflow-delegation-contracts.json by scripts/sync-workflow-delegation-contracts.mjs. Do not hand edit. -->
4
+
5
+ ## 目的
6
+
7
+ 这份文档把 `aiws` 对原生多 agent 的吸收边界收口为机器可读真值:`aiws` 定义合同、角色、写边界、工件路径、审查收敛与降级策略,各工具自己负责原生执行。
8
+
9
+ 重点不是统一调度不同工具的 agent API,而是约束任何 native delegation 都必须回到同一套 workflow/artifact/governance contract。
10
+
11
+ ## 真值入口
12
+
13
+ delegation contract 在做任何角色拆分或原生多 agent 调用前,必须先读取:
14
+
15
+ - `AI_PROJECT.md`
16
+ - `REQUIREMENTS.md`
17
+ - `AI_WORKSPACE.md`
18
+
19
+ ## Delegation Flow
20
+
21
+ | Step | Action | Why |
22
+ | --- | --- | --- |
23
+ | `bind_task` | 先把任务绑定到 `Req_ID` / change / Verify 入口,再决定是否允许委托。 | 没有绑定的委托只会扩大漂移;delegation 不能绕过真值入口。 |
24
+ | `select_role` | 根据任务性质选择 `planner / explorer / worker / reviewer / integrator` 角色,而不是把所有子任务都视为同一种 agent。 | 不同角色的读写权限、输出契约与收敛方式不同。 |
25
+ | `limit_scope` | 为每个委托声明 `readScope` / `writeScope` / `artifactTargets`,超出范围必须回退给主 agent。 | native 多 agent 的最大风险是越界写盘;scope 必须先于执行。 |
26
+ | `converge_outputs` | 把委托结果统一收敛到 `analysis/`、`patches/`、`review/`、`evidence/` 或明确允许的代码写入范围。 | 即使执行方式不同,交付证据与审计路径必须一致。 |
27
+ | `fallback_or_integrate` | 原生能力不可用、权限不满足或结果不可靠时,回退到单 agent / 手工委托;由主 agent 负责最终整合。 | `aiws` 的职责是治理和降级,不是保证每个工具都支持同一套运行时。 |
28
+
29
+ ## Role Types
30
+
31
+ ### `planner`
32
+
33
+ 拆分需求、明确非目标、绑定验证入口,产出计划与委托边界。
34
+
35
+ **Read Scope**
36
+
37
+ - AI_PROJECT.md
38
+ - REQUIREMENTS.md
39
+ - AI_WORKSPACE.md
40
+ - plan/
41
+ - changes/<id>/
42
+
43
+ **Write Scope**
44
+
45
+ - plan/
46
+ - changes/<id>/analysis/
47
+
48
+ **Artifact Targets**
49
+
50
+ - plan/<timestamp>-<slug>.md
51
+ - changes/<id>/analysis/*.md
52
+
53
+ **Handoff Requirements**
54
+
55
+ - 写明目标、非目标、范围、验证方式
56
+ - 写明每个后续委托角色的 scope 边界
57
+
58
+ ### `explorer`
59
+
60
+ 只读探索代码库、定位影响面、收集实现信息,不直接改业务文件。
61
+
62
+ **Read Scope**
63
+
64
+ - repo source files
65
+ - packages/spec/
66
+ - changes/<id>/
67
+
68
+ **Write Scope**
69
+
70
+ - changes/<id>/analysis/
71
+
72
+ **Artifact Targets**
73
+
74
+ - changes/<id>/analysis/*.md
75
+
76
+ **Handoff Requirements**
77
+
78
+ - 结论必须附来源文件或路径
79
+ - 对不确定项要显式标注风险或缺口
80
+
81
+ ### `worker`
82
+
83
+ 在明确授权的文件范围内实现局部改动,必要时补最小验证。
84
+
85
+ **Read Scope**
86
+
87
+ - assigned modules
88
+ - AI_PROJECT.md
89
+ - REQUIREMENTS.md
90
+ - AI_WORKSPACE.md
91
+ - changes/<id>/analysis/
92
+
93
+ **Write Scope**
94
+
95
+ - assigned source files
96
+ - changes/<id>/patches/
97
+ - changes/<id>/evidence/
98
+
99
+ **Artifact Targets**
100
+
101
+ - changes/<id>/patches/*.patch
102
+ - changes/<id>/evidence/*.md
103
+ - assigned source files
104
+
105
+ **Handoff Requirements**
106
+
107
+ - 写清改动文件、验证命令、未完成项
108
+ - 不得越过显式授权的写入范围
109
+
110
+ ### `reviewer`
111
+
112
+ 从需求、实现质量、回归风险或交付 gate 角度做独立审查。
113
+
114
+ **Read Scope**
115
+
116
+ - repo source files
117
+ - changes/<id>/analysis/
118
+ - changes/<id>/patches/
119
+ - changes/<id>/evidence/
120
+
121
+ **Write Scope**
122
+
123
+ - changes/<id>/review/
124
+ - changes/<id>/evidence/
125
+
126
+ **Artifact Targets**
127
+
128
+ - changes/<id>/review/*.md
129
+ - changes/<id>/evidence/verify-before-complete.md
130
+
131
+ **Handoff Requirements**
132
+
133
+ - 先列 findings,再给假设或残余风险
134
+ - 明确这是 spec review、quality review 还是交付前验证
135
+
136
+ ### `integrator`
137
+
138
+ 主 agent 角色,负责汇总委托输出、决定是否应用改动、补齐最终验证与交接。
139
+
140
+ **Read Scope**
141
+
142
+ - repo source files
143
+ - changes/<id>/analysis/
144
+ - changes/<id>/patches/
145
+ - changes/<id>/review/
146
+ - changes/<id>/evidence/
147
+
148
+ **Write Scope**
149
+
150
+ - authorized source files
151
+ - changes/<id>/evidence/
152
+ - changes/<id>/review/
153
+ - changes/<id>/handoff.md
154
+
155
+ **Artifact Targets**
156
+
157
+ - authorized source files
158
+ - changes/<id>/evidence/*.md
159
+ - changes/<id>/review/*.md
160
+ - changes/<id>/handoff.md
161
+
162
+ **Handoff Requirements**
163
+
164
+ - 收敛 delegated outputs,给出最终结论与残余风险
165
+ - 确认验证、review gate 与 artifact 状态
166
+
167
+ ## Artifact Targets
168
+
169
+ | Kind | Path | Purpose | Allowed Roles |
170
+ | --- | --- | --- | --- |
171
+ | `analysis` | `changes/<id>/analysis/` | 只读分析、影响面、方案草案、风险说明。 | `planner`, `explorer`, `integrator` |
172
+ | `patches` | `changes/<id>/patches/` | 委托 patch 草案或实现建议,不代表已应用。 | `worker`, `integrator` |
173
+ | `review` | `changes/<id>/review/` | 多 reviewer 的 findings、双审查与最终审计结论。 | `reviewer`, `integrator` |
174
+ | `evidence` | `changes/<id>/evidence/` | 验证命令、运行结果摘要、交付前 gate 证据。 | `worker`, `reviewer`, `integrator` |
175
+ | `source_files` | `explicitly assigned source paths only` | 只有在主 agent 显式授权时,worker/integrator 才能直接改业务文件。 | `worker`, `integrator` |
176
+
177
+ ## Review Convergence
178
+
179
+ **Required Reviews**
180
+
181
+ - spec_review
182
+ - quality_review
183
+
184
+ **Optional Reviews**
185
+
186
+ - verify_before_complete
187
+
188
+ **Rules**
189
+
190
+ - 多 agent review 不是投票系统;由 integrator 统一收敛 findings、假设与 blocker。
191
+ - 若委托 worker 直接改了代码,必须至少再有一个独立 reviewer 做审查。
192
+ - 交付前仍需满足现有 `validate_stamp`、`verify_before_complete` 与 finish gate。
193
+
194
+ **Evidence Targets**
195
+
196
+ - changes/<id>/review/spec-review.md
197
+ - changes/<id>/review/quality-review.md
198
+ - changes/<id>/evidence/verify-before-complete.md
199
+
200
+ ## Fallback Mode
201
+
202
+ - default: `single_agent_with_artifacts`
203
+ - triggers:
204
+ - 当前工具没有稳定的 native multi-agent 能力
205
+ - 当前工具支持原生 agent,但无法声明 write scope / artifact 边界
206
+ - native agent 结果无法审计、无法落盘或不能绑定 change/verify
207
+ - 任务规模太小,不值得引入额外委托复杂度
208
+ - required behavior:
209
+ - 回退后仍使用同一套 `analysis/patches/review/evidence` 工件约定
210
+ - 主 agent 明确说明是原生 delegation 还是降级执行
211
+ - 不能因为降级而跳过 plan/review/finish gate
212
+
213
+ ## Tool Capability Matrix
214
+
215
+ | Tool | Native Support | Status | Entrypoint | Write Isolation | Fallback |
216
+ | --- | --- | --- | --- | --- | --- |
217
+ | `codex` | `yes` | `phase1_target` | native multi-agent / sub-agent capability | 可按角色和文件范围显式约束;优先用于 explorer/worker/reviewer 分工。 | 若原生 delegation 不可用,则回退为单 agent + 协同工件模式。 |
218
+ | `claude` | `partial` | `capability_matrix_only` | 后续根据稳定的 native delegation 能力补齐;当前只定义 contract 与 fallback。 | 若无法稳定声明 write scope,则不承诺 worker 级直接写盘委托。 | 优先回退为单 agent + review/artifact 模式,而不是临时造桥接 runtime。 |
219
+ | `opencode` | `partial` | `capability_matrix_only` | 后续根据稳定的 native delegation 能力补齐;当前只定义 contract 与 fallback。 | 若不能稳定约束 read/write scope,则仅允许 analysis/review 型委托。 | 回退为单 agent + 协同工件,不新增 OpenCode 专属 runtime controller。 |
220
+
221
+ ### `codex` Notes
222
+
223
+ - 作为第一优先适配对象。
224
+ - 即使支持原生多 agent,也必须遵守 artifact path 与 review convergence 约定。
225
+
226
+ ### `claude` Notes
227
+
228
+ - 本阶段不把 `aiws` 做成 `claude_code_bridge` 风格系统。
229
+ - 先定义边界,再视工具能力补实现。
230
+
231
+ ### `opencode` Notes
232
+
233
+ - 当前阶段先保证 workflow contract 与工件路径一致。
234
+ - 不为了工具差异再造一层统一调度面。
235
+
236
+ ## Universal Rules
237
+
238
+ - delegation 必须先绑定 `Req_ID` / change / Verify 入口,不能绕过真值文件。
239
+ - 主 agent 必须显式说明每个 sub-task 的角色、scope、产物目标与收敛方式。
240
+ - 除显式授权的 worker/integrator 外,delegated agent 默认不直接写业务文件。
241
+ - 任何 native multi-agent 结果都必须能回收到 `analysis/patches/review/evidence` 约定路径。
242
+ - native delegation 是可选执行策略,不是 workflow 的必需前提。
243
+
244
+ ## Notes
245
+
246
+ - `aiws` 的价值在于治理内核和合同层,不在于成为统一 runtime。
247
+ - 这一版先把 contract 写清,再决定哪些入口需要在模板里显式投影。
248
+ - 后续若工具原生能力变化,只需要更新 capability matrix 与适配策略,不需要重写 workflow 真值。
@@ -0,0 +1,176 @@
1
+ {
2
+ "type": "object",
3
+ "required": [
4
+ "version",
5
+ "title",
6
+ "description",
7
+ "purpose",
8
+ "truthFiles",
9
+ "delegationFlow",
10
+ "roleTypes",
11
+ "artifactTargets",
12
+ "reviewConvergence",
13
+ "fallbackMode",
14
+ "toolCapabilityMatrix",
15
+ "universalRules",
16
+ "notes"
17
+ ],
18
+ "properties": {
19
+ "version": { "type": "integer" },
20
+ "title": { "type": "string", "minLength": 1 },
21
+ "description": { "type": "string", "minLength": 1 },
22
+ "purpose": {
23
+ "type": "array",
24
+ "minItems": 1,
25
+ "items": { "type": "string", "minLength": 1 }
26
+ },
27
+ "truthFiles": {
28
+ "type": "array",
29
+ "minItems": 3,
30
+ "items": { "type": "string", "minLength": 1 }
31
+ },
32
+ "delegationFlow": {
33
+ "type": "array",
34
+ "minItems": 1,
35
+ "items": {
36
+ "type": "object",
37
+ "required": ["step", "action", "why"],
38
+ "properties": {
39
+ "step": { "type": "string", "minLength": 1, "pattern": "^[a-z0-9_]+$" },
40
+ "action": { "type": "string", "minLength": 1 },
41
+ "why": { "type": "string", "minLength": 1 }
42
+ },
43
+ "additionalProperties": false
44
+ }
45
+ },
46
+ "roleTypes": {
47
+ "type": "array",
48
+ "minItems": 1,
49
+ "items": {
50
+ "type": "object",
51
+ "required": ["id", "summary", "readScope", "writeScope", "artifactTargets", "handoffRequirements"],
52
+ "properties": {
53
+ "id": { "type": "string", "minLength": 1, "pattern": "^[a-z0-9_]+$" },
54
+ "summary": { "type": "string", "minLength": 1 },
55
+ "readScope": {
56
+ "type": "array",
57
+ "minItems": 1,
58
+ "items": { "type": "string", "minLength": 1 }
59
+ },
60
+ "writeScope": {
61
+ "type": "array",
62
+ "minItems": 1,
63
+ "items": { "type": "string", "minLength": 1 }
64
+ },
65
+ "artifactTargets": {
66
+ "type": "array",
67
+ "minItems": 1,
68
+ "items": { "type": "string", "minLength": 1 }
69
+ },
70
+ "handoffRequirements": {
71
+ "type": "array",
72
+ "minItems": 1,
73
+ "items": { "type": "string", "minLength": 1 }
74
+ }
75
+ },
76
+ "additionalProperties": false
77
+ }
78
+ },
79
+ "artifactTargets": {
80
+ "type": "array",
81
+ "minItems": 1,
82
+ "items": {
83
+ "type": "object",
84
+ "required": ["kind", "path", "purpose", "allowedRoles"],
85
+ "properties": {
86
+ "kind": { "type": "string", "minLength": 1, "pattern": "^[a-z_]+$" },
87
+ "path": { "type": "string", "minLength": 1 },
88
+ "purpose": { "type": "string", "minLength": 1 },
89
+ "allowedRoles": {
90
+ "type": "array",
91
+ "minItems": 1,
92
+ "items": { "type": "string", "minLength": 1, "pattern": "^[a-z0-9_]+$" }
93
+ }
94
+ },
95
+ "additionalProperties": false
96
+ }
97
+ },
98
+ "reviewConvergence": {
99
+ "type": "object",
100
+ "required": ["requiredReviews", "optionalReviews", "rules", "evidenceTargets"],
101
+ "properties": {
102
+ "requiredReviews": {
103
+ "type": "array",
104
+ "minItems": 1,
105
+ "items": { "type": "string", "minLength": 1, "pattern": "^[a-z_]+$" }
106
+ },
107
+ "optionalReviews": {
108
+ "type": "array",
109
+ "items": { "type": "string", "minLength": 1, "pattern": "^[a-z_]+$" }
110
+ },
111
+ "rules": {
112
+ "type": "array",
113
+ "minItems": 1,
114
+ "items": { "type": "string", "minLength": 1 }
115
+ },
116
+ "evidenceTargets": {
117
+ "type": "array",
118
+ "minItems": 1,
119
+ "items": { "type": "string", "minLength": 1 }
120
+ }
121
+ },
122
+ "additionalProperties": false
123
+ },
124
+ "fallbackMode": {
125
+ "type": "object",
126
+ "required": ["default", "triggers", "requiredBehavior"],
127
+ "properties": {
128
+ "default": { "type": "string", "minLength": 1 },
129
+ "triggers": {
130
+ "type": "array",
131
+ "minItems": 1,
132
+ "items": { "type": "string", "minLength": 1 }
133
+ },
134
+ "requiredBehavior": {
135
+ "type": "array",
136
+ "minItems": 1,
137
+ "items": { "type": "string", "minLength": 1 }
138
+ }
139
+ },
140
+ "additionalProperties": false
141
+ },
142
+ "toolCapabilityMatrix": {
143
+ "type": "array",
144
+ "minItems": 1,
145
+ "items": {
146
+ "type": "object",
147
+ "required": ["tool", "nativeSupport", "status", "entrypoint", "writeIsolation", "fallbackRoute", "notes"],
148
+ "properties": {
149
+ "tool": { "type": "string", "minLength": 1, "pattern": "^[a-z0-9_-]+$" },
150
+ "nativeSupport": { "type": "string", "minLength": 1, "enum": ["yes", "partial", "no"] },
151
+ "status": { "type": "string", "minLength": 1, "pattern": "^[a-z0-9_]+$" },
152
+ "entrypoint": { "type": "string", "minLength": 1 },
153
+ "writeIsolation": { "type": "string", "minLength": 1 },
154
+ "fallbackRoute": { "type": "string", "minLength": 1 },
155
+ "notes": {
156
+ "type": "array",
157
+ "minItems": 1,
158
+ "items": { "type": "string", "minLength": 1 }
159
+ }
160
+ },
161
+ "additionalProperties": false
162
+ }
163
+ },
164
+ "universalRules": {
165
+ "type": "array",
166
+ "minItems": 1,
167
+ "items": { "type": "string", "minLength": 1 }
168
+ },
169
+ "notes": {
170
+ "type": "array",
171
+ "minItems": 1,
172
+ "items": { "type": "string", "minLength": 1 }
173
+ }
174
+ },
175
+ "additionalProperties": false
176
+ }