@aipper/aiws-spec 0.0.42 → 0.0.43

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.
@@ -42,12 +42,14 @@
42
42
 
43
43
  1. 先进入 bootstrap:
44
44
  - 读取 `AI_PROJECT.md` / `REQUIREMENTS.md` / `AI_WORKSPACE.md`
45
- 2. 识别任务意图:
46
- - 规划类 -> `ws-plan`
47
- - 实现类 -> `ws-dev` / `ws-execute` / `ws-subagent-dev`
48
- - 评审类 -> `ws-review`(后续拆分成 `ws-spec-review` + `ws-quality-review`)
49
- - 收尾类 -> `ws-finish`
50
- - 交接类 -> `ws-handoff`
45
+ 2. 识别任务意图与复杂度:
46
+ - **中等复杂度以上**(跨文件改动、多模块、2+ 步骤、含验证要求)→ 自动路由到 `ws-goal` 作为默认入口,由 ws-goal 再拆分为 PLAN → DEV → REVIEW → FINISH
47
+ - **简单任务**(单文件、≤3 文件改动、无跨模块依赖)→ 直接进入 `ws-dev` / `ws-dev-lite`
48
+ - 规划类 `ws-plan`
49
+ - 实现类 `ws-dev` / `ws-execute` / `ws-subagent-dev`
50
+ - 评审类 `ws-review`(后续拆分成 `ws-spec-review` + `ws-quality-review`)
51
+ - 收尾类 → `ws-finish`
52
+ - 交接类 → `ws-handoff`
51
53
  3. 若意图不明确:
52
54
  - 阻断,先澄清任务归因与目标
53
55
 
@@ -91,3 +93,6 @@
91
93
  - `ws-quality-review`
92
94
  - `ws-verify-before-complete`
93
95
  - 当前已由 `TOOLING-002I` 落地
96
+ 5. **ws-goal 路由默认**:
97
+ - 中等复杂度以上任务自动路由到 `ws-goal` 作为默认入口
98
+ - 由本轮优化(P3→router default)新增
@@ -0,0 +1,32 @@
1
+ # 运行时行为约束指引(Run Behavior Guidelines)
2
+
3
+ 本文件定义了 agent 在工作流 skill 中的输出行为约束,是运行时 token 优化的 SSOT。
4
+
5
+ 所有引用本文件的 skill 必须遵守以下约束,不得在 skill 内额外 inline 重复相同规则。
6
+
7
+ ---
8
+
9
+ ## 核心约束(强制)
10
+
11
+ ### 1. 最小叙述原则
12
+
13
+ - 工具调用之间:最多一行状态叙述("定位中"、"验证中"、"写入文件 X")。
14
+ - 禁止:过程推理("我先读 X,发现 Y,考虑 Z,接下来准备做 A")。
15
+ - 禁止:重复复述你刚从工具输出读到的内容。
16
+
17
+ ### 2. 无废话输出
18
+
19
+ - 无开场白:不要以"我来帮你..."/"让我先..."/"好的!"开头。直接行动。
20
+ - 无过程叙述:不解释你正在做什么的中间状态。工具调用之间的消息只输出最小必要信息。
21
+ - 无总结收尾:不重复已经在证据文件中的内容。完成即停。
22
+
23
+ ### 3. 工具调用效率
24
+
25
+ - 首选在 3 次工具调用内产出完整结果。
26
+ - 不把 1 步拆成 4 步:能一次读 2000 行就不要限 500+500+500+500。
27
+ - 不在同一文件上反复 Read/Write。尽量一次读完,一次写完。
28
+
29
+ ### 4. 输出格式
30
+
31
+ - 使用 todo 追踪进度,不在对话里列清单。
32
+ - 回答直接回应问题,不绕弯子。
@@ -193,6 +193,57 @@ aiws 提供了两个 OpenCode 插件,自动实现上下文注入:
193
193
  列出你已读取的文件及每个文件的关键要点(≤3 要点/文件)。
194
194
  ```
195
195
 
196
+ ## Context Minimum Gate (P1)
197
+
198
+ ### 用途
199
+
200
+ 确保子 agent 在开始编码之前确实读取了必需的上下文文件,而非仅声明"已读"后直接跳入实现。这是对 §粘性指令模板 的强化——把"建议读取"变为"必须先声明已读及理解要点,再开始编码"。
201
+
202
+ ### 声明门禁
203
+
204
+ 子 agent 的第一条回复**必须**满足以下格式,不得直接开始编码或返回实现代码:
205
+
206
+ ```
207
+ ## Context Declaration
208
+
209
+ 已读文件及关键要点:
210
+
211
+ 1. `{file-path}`(high):
212
+ - {要点 1}
213
+ - {要点 2}
214
+
215
+ 2. `{file-path}`(medium):
216
+ - {要点 1}
217
+
218
+ 开始编码条件:以上所有 high + medium 文件均已读取并理解。若条件不满足,此处列出缺失文件。
219
+ ```
220
+
221
+ **约束**:
222
+ - 必须先列出 `high` 文件,再列 `medium`。`low` 文件可选
223
+ - 每个文件至少 1 个要点,要点必须从文件中**具体引用**(非泛泛总结)。例如"AI_PROJECT.md 第 25-30 行禁止将 secrets 写入 git"而非"项目有安全规范"
224
+ - 未列出 `high` 文件的要点 → 主 agent 应要求补充,不继续
225
+ - 子 agent 直接返回代码实现而不声明 → 主 agent 应阻断、要求先声明,第二次违规视为 CLASS-C 失败
226
+
227
+ ### 信任缺口
228
+
229
+ 声明门禁无法完全确保子 agent **实际**读取了文件而非仅"记住了要点格式"。子 agent 可能:
230
+ - 根据训练数据推断常见文件内容而不实际读取
231
+ - 从 prompt 上下文推理而非从文件读取
232
+ - 声明读了但未获取最新版本文件
233
+
234
+ 推荐验证方法:
235
+ - **抽查**:要求子 agent 引用某个文件的精确行号内容(如"AI_PROJECT.md 第 25 行的原文是什么?")
236
+ - **交叉验证**:对同一组上下文,委托 2 个不同子 agent,对比它们的要点是否一致
237
+ - 验证仅建议在质量不一致时执行,不作为每次委托的强制步骤
238
+
239
+ ### 升级路径
240
+
241
+ 此 Gate 当前为 **P1(验证后定级)**:
242
+ 1. 先在委托 prompt 模板中加上声明要求(已完成)
243
+ 2. 手动验证至少 3 次委托,检查子 agent 是否真的读取了声明的文件
244
+ 3. 若 >80% 的委托中声明与实际读取一致 → 升级为 P0(写入 delegation contract 成为强制门禁,增加随机抽查)
245
+ 4. 若 ≤80% 声明不反映实际读取 → 保留 P1,不升级,转而探索其他上下文注入方案(如插件级自动注入)
246
+
196
247
  ## 与委托合同的关系
197
248
 
198
249
  | | 委托合同(delegation-contracts.json) | 上下文文件(<role>-context.jsonl) |
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": 1,
2
+ "version": 2,
3
3
  "title": "workflow-delegation-contracts",
4
4
  "description": "Machine-readable delegation contract for using native multi-agent capabilities without turning aiws into a runtime orchestrator.",
5
5
  "purpose": [
@@ -37,6 +37,11 @@
37
37
  "action": "把委托结果统一收敛到 `analysis/`、`patches/`、`review/`、`evidence/` 或明确允许的代码写入范围。",
38
38
  "why": "即使执行方式不同,交付证据与审计路径必须一致。"
39
39
  },
40
+ {
41
+ "step": "verify_output",
42
+ "action": "委托完成后,按子 agent 声明的 `output_manifest` 做 glob 检查 + 最小内容检查(≥3 行非空白内容)。缺失或质量不足时分类处理:CLASS-A(零文件→拆分或降级),CLASS-B(部分缺失→缩小范围重试),CLASS-C(内容错误→补充上下文重试)。",
43
+ "why": "盲重试系统性缺陷浪费资源;分类后重试才有效。"
44
+ },
40
45
  {
41
46
  "step": "fallback_or_integrate",
42
47
  "action": "原生能力不可用、权限不满足或结果不可靠时,回退到单 agent / 手工委托;由主 agent 负责最终整合。",
@@ -66,6 +71,7 @@
66
71
  "写明目标、非目标、范围、验证方式",
67
72
  "写明每个后续委托角色的 scope 边界"
68
73
  ],
74
+ "outputManifest": "子 agent 必须在开始 plan 前声明预期产出的 plan 文件路径 + proposal 路径。主 agent 收到后按 output_manifest 验证产出(CLASS-A/B/C 分类)。",
69
75
  "contextFiles": [
70
76
  {"glob": "AI_PROJECT.md", "priority": "high", "kind": "truth"},
71
77
  {"glob": "REQUIREMENTS.md", "priority": "high", "kind": "truth"},
@@ -122,6 +128,7 @@
122
128
  "写清改动文件、验证命令、未完成项",
123
129
  "不得越过显式授权的写入范围"
124
130
  ],
131
+ "outputManifest": "子 agent 必须在开始 work 前声明预期产出的文件列表。主 agent 收到后按此列表进行 output verification(CLASS-A/B/C 分类)。",
125
132
  "contextFiles": [
126
133
  {"glob": "AI_PROJECT.md", "sections": [[25, 50], [95, 106]], "priority": "high", "kind": "truth"},
127
134
  {"glob": "REQUIREMENTS.md", "sections": [[1, 100]], "priority": "high", "kind": "truth"},
@@ -155,6 +162,7 @@
155
162
  "产出结构化 findings:[Critical] 阻塞问题;[Warning] 应修复项;[Info] 建议改进(对齐 reworkLoopProtocol.findingSeverities)",
156
163
  "明确这是 spec review、quality review 还是交付前验证"
157
164
  ],
165
+ "outputManifest": "子 agent 必须在开始 review 前声明预期产出的 review 证据文件路径。主 agent 收到后按 output_manifest 验证产出(CLASS-A/B/C 分类)。",
158
166
  "contextFiles": [
159
167
  {"glob": "AI_PROJECT.md", "sections": [[25, 50], [95, 106]], "priority": "high", "kind": "truth"},
160
168
  {"glob": "REQUIREMENTS.md", "priority": "high", "kind": "truth"},
@@ -285,18 +293,39 @@
285
293
  }
286
294
  ],
287
295
  "fallbackMode": {
288
- "default": "single_agent_with_artifacts",
289
- "triggers": [
290
- "当前工具没有稳定的 native multi-agent 能力",
291
- "当前工具支持原生 agent,但无法声明 write scope / artifact 边界",
292
- "native agent 结果无法审计、无法落盘或不能绑定 change/verify",
293
- "任务规模太小,不值得引入额外委托复杂度"
294
- ],
295
- "requiredBehavior": [
296
- "回退后仍使用同一套 `analysis/patches/review/evidence` 工件约定",
297
- " agent 明确说明是原生 delegation 还是降级执行",
298
- "不能因为降级而跳过 plan/review/finish gate"
299
- ]
296
+ "singleAgent": {
297
+ "default": "single_agent_with_artifacts",
298
+ "triggers": [
299
+ "当前工具没有稳定的 native multi-agent 能力",
300
+ "当前工具支持原生 agent,但无法声明 write scope / artifact 边界",
301
+ "native agent 结果无法审计、无法落盘或不能绑定 change/verify",
302
+ "任务规模太小,不值得引入额外委托复杂度"
303
+ ],
304
+ "requiredBehavior": [
305
+ "回退后仍使用同一套 `analysis/patches/review/evidence` 工件约定",
306
+ " agent 明确说明是原生 delegation 还是降级执行",
307
+ "不能因为降级而跳过 plan/review/finish gate"
308
+ ]
309
+ },
310
+ "degradedMode": {
311
+ "description": "当子 agent 反复失败(2+ 次,覆盖 2+ 分类)时,主 session 直接编辑 + 事后审查",
312
+ "triggers": [
313
+ "CLASS-A 失败 ≥ 2 次(同一委托)",
314
+ "同一委托的 2 种不同分类各失败 1 次",
315
+ "主 session 主动判定 delegation 开销超过直接编辑"
316
+ ],
317
+ "requiredBehavior": [
318
+ "改前必须记录预期改动到 changes/<id>/patches/degraded-batch.md",
319
+ "降级触发时,主 session 写入 changes/<id>/evidence/degraded-evidence.md(原因+范围+涉及 group)",
320
+ "batch-edit 完成后,reviewer 产出 changes/<id>/review/degraded-review.md 审查结论",
321
+ "不能跳过 review gate——必须由独立 reviewer 审查 batch-edit 产出",
322
+ "不能跳过 completion audit——所有改动仍需通过完成审计"
323
+ ],
324
+ "exitCriteria": [
325
+ "后续子任务可恢复完整 4-phase 委托",
326
+ "或 goal 整体完成,降级模式结束"
327
+ ]
328
+ }
300
329
  },
301
330
  "toolCapabilityMatrix": [
302
331
  {
@@ -342,7 +371,8 @@
342
371
  "主 agent 必须在派遣前执行上下文策展并写入 JSONL 上下文文件。",
343
372
  "除显式授权的 worker/integrator 外,delegated agent 默认不直接写业务文件。",
344
373
  "任何 native multi-agent 结果都必须能回收到 `analysis/patches/review/evidence` 约定路径。",
345
- "native delegation 是可选执行策略,不是 workflow 的必需前提。"
374
+ "native delegation 是可选执行策略,不是 workflow 的必需前提。",
375
+ "Output Verification Gate: 委托完成后必须验证子 agent 的 output_manifest。按 CLASS-A/B/C 分类处理失败(见 ws-goal-contract §6.4 step ii.a),不盲重试。"
346
376
  ],
347
377
  "standardRoles": {
348
378
  "title": "Standard Roles (Recommended)",
@@ -375,6 +405,7 @@
375
405
  "`aiws` 的价值在于治理内核和合同层,不在于成为统一 runtime。",
376
406
  "这一版先把 contract 写清,再决定哪些入口需要在模板里显式投影。",
377
407
  "后续若工具原生能力变化,只需要更新 capability matrix 与适配策略,不需要重写 workflow 真值。",
378
- "v1.1: 新增 curate_context 流程步骤 + roleTypes[].contextFiles 基线 + 上下文策展 universal 规则。"
408
+ "v1.1: 新增 curate_context 流程步骤 + roleTypes[].contextFiles 基线 + 上下文策展 universal 规则。",
409
+ "v2: 新增 output_manifest(worker role)、verify_output 流程步骤、Output Verification Gate 通用规则、degradedMode 降级模式。对应 Oracle 评审调整的 ws-goal 优化方案(P0a Output Gate + P0+ Degraded Mode + P1 Context Gate + P2 Auto-Advance)。"
379
410
  ]
380
411
  }
@@ -25,6 +25,7 @@ delegation contract 在做任何角色拆分或原生多 agent 调用前,必
25
25
  | `curate_context` | 为子 agent 策划上下文文件(changes/<id>/analysis/<role>-context.jsonl),参阅 workflow-delegation-context-injection.md。 | 子 agent 在第一次尝试时拿到正确的上下文,减少重试与审查循环。 |
26
26
  | `limit_scope` | 为每个委托声明 `readScope` / `writeScope` / `artifactTargets`,超出范围必须回退给主 agent。 | native 多 agent 的最大风险是越界写盘;scope 必须先于执行。 |
27
27
  | `converge_outputs` | 把委托结果统一收敛到 `analysis/`、`patches/`、`review/`、`evidence/` 或明确允许的代码写入范围。 | 即使执行方式不同,交付证据与审计路径必须一致。 |
28
+ | `verify_output` | 委托完成后,按子 agent 声明的 `output_manifest` 做 glob 检查 + 最小内容检查(≥3 行非空白内容)。缺失或质量不足时分类处理:CLASS-A(零文件→拆分或降级),CLASS-B(部分缺失→缩小范围重试),CLASS-C(内容错误→补充上下文重试)。 | 盲重试系统性缺陷浪费资源;分类后重试才有效。 |
28
29
  | `fallback_or_integrate` | 原生能力不可用、权限不满足或结果不可靠时,回退到单 agent / 手工委托;由主 agent 负责最终整合。 | `aiws` 的职责是治理和降级,不是保证每个工具都支持同一套运行时。 |
29
30
 
30
31
  ## Role Types
@@ -210,16 +211,9 @@ delegation contract 在做任何角色拆分或原生多 agent 调用前,必
210
211
 
211
212
  ## Fallback Mode
212
213
 
213
- - default: `single_agent_with_artifacts`
214
+ - default: ``
214
215
  - triggers:
215
- - 当前工具没有稳定的 native multi-agent 能力
216
- - 当前工具支持原生 agent,但无法声明 write scope / artifact 边界
217
- - native agent 结果无法审计、无法落盘或不能绑定 change/verify
218
- - 任务规模太小,不值得引入额外委托复杂度
219
216
  - required behavior:
220
- - 回退后仍使用同一套 `analysis/patches/review/evidence` 工件约定
221
- - 主 agent 明确说明是原生 delegation 还是降级执行
222
- - 不能因为降级而跳过 plan/review/finish gate
223
217
 
224
218
  ## Tool Capability Matrix
225
219
 
@@ -252,6 +246,7 @@ delegation contract 在做任何角色拆分或原生多 agent 调用前,必
252
246
  - 除显式授权的 worker/integrator 外,delegated agent 默认不直接写业务文件。
253
247
  - 任何 native multi-agent 结果都必须能回收到 `analysis/patches/review/evidence` 约定路径。
254
248
  - native delegation 是可选执行策略,不是 workflow 的必需前提。
249
+ - Output Verification Gate: 委托完成后必须验证子 agent 的 output_manifest。按 CLASS-A/B/C 分类处理失败(见 ws-goal-contract §6.4 step ii.a),不盲重试。
255
250
 
256
251
  ## Notes
257
252
 
@@ -259,3 +254,4 @@ delegation contract 在做任何角色拆分或原生多 agent 调用前,必
259
254
  - 这一版先把 contract 写清,再决定哪些入口需要在模板里显式投影。
260
255
  - 后续若工具原生能力变化,只需要更新 capability matrix 与适配策略,不需要重写 workflow 真值。
261
256
  - v1.1: 新增 curate_context 流程步骤 + roleTypes[].contextFiles 基线 + 上下文策展 universal 规则。
257
+ - v2: 新增 output_manifest(worker role)、verify_output 流程步骤、Output Verification Gate 通用规则、degradedMode 降级模式。对应 Oracle 评审调整的 ws-goal 优化方案(P0a Output Gate + P0+ Degraded Mode + P1 Context Gate + P2 Auto-Advance)。
@@ -97,7 +97,8 @@
97
97
  },
98
98
  "additionalProperties": false
99
99
  }
100
- }
100
+ },
101
+ "outputManifest": { "type": "string", "minLength": 1 }
101
102
  },
102
103
  "additionalProperties": false
103
104
  }
@@ -208,18 +209,48 @@
208
209
  },
209
210
  "fallbackMode": {
210
211
  "type": "object",
211
- "required": ["default", "triggers", "requiredBehavior"],
212
+ "required": ["singleAgent", "degradedMode"],
212
213
  "properties": {
213
- "default": { "type": "string", "minLength": 1 },
214
- "triggers": {
215
- "type": "array",
216
- "minItems": 1,
217
- "items": { "type": "string", "minLength": 1 }
214
+ "singleAgent": {
215
+ "type": "object",
216
+ "required": ["default", "triggers", "requiredBehavior"],
217
+ "properties": {
218
+ "default": { "type": "string", "minLength": 1 },
219
+ "triggers": {
220
+ "type": "array",
221
+ "minItems": 1,
222
+ "items": { "type": "string", "minLength": 1 }
223
+ },
224
+ "requiredBehavior": {
225
+ "type": "array",
226
+ "minItems": 1,
227
+ "items": { "type": "string", "minLength": 1 }
228
+ }
229
+ },
230
+ "additionalProperties": false
218
231
  },
219
- "requiredBehavior": {
220
- "type": "array",
221
- "minItems": 1,
222
- "items": { "type": "string", "minLength": 1 }
232
+ "degradedMode": {
233
+ "type": "object",
234
+ "required": ["description", "triggers", "requiredBehavior", "exitCriteria"],
235
+ "properties": {
236
+ "description": { "type": "string", "minLength": 1 },
237
+ "triggers": {
238
+ "type": "array",
239
+ "minItems": 1,
240
+ "items": { "type": "string", "minLength": 1 }
241
+ },
242
+ "requiredBehavior": {
243
+ "type": "array",
244
+ "minItems": 1,
245
+ "items": { "type": "string", "minLength": 1 }
246
+ },
247
+ "exitCriteria": {
248
+ "type": "array",
249
+ "minItems": 1,
250
+ "items": { "type": "string", "minLength": 1 }
251
+ }
252
+ },
253
+ "additionalProperties": false
223
254
  }
224
255
  },
225
256
  "additionalProperties": false
@@ -315,7 +346,8 @@
315
346
  "type": "array",
316
347
  "minItems": 1,
317
348
  "items": { "type": "string", "minLength": 1 }
318
- }
349
+ },
350
+ "outputManifest": { "type": "string", "minLength": 1 }
319
351
  },
320
352
  "additionalProperties": false
321
353
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": 1,
2
+ "version": 2,
3
3
  "title": "workflow-router-rules",
4
4
  "description": "Machine-readable bootstrap/router rules for the aiws default workflow entry.",
5
5
  "purpose": [
@@ -113,6 +113,14 @@
113
113
  "gate": "plan 过 gate 前不进入 `ws-dev`。",
114
114
  "rationale": "medium/complex 任务在需求冻结后必须先生成可落盘计划,避免 router 直接跳进实现。"
115
115
  },
116
+ {
117
+ "id": "goal_driven",
118
+ "intent": "中大型实现(ws-goal 可用时)",
119
+ "match": "任务是多步实现、跨文件、跨模块,且 ws-goal 已初始化(检测到 .aiws/goals/ 目录或 ws-goal skill 可用),且任务复杂度 ≥ medium(涉及文件 > 3 或涉及模块 > 1)。",
120
+ "routeTo": "ws-goal",
121
+ "gate": "ws-goal 先做 intake/dep_check/ws_analysis,再进入 pipeline delegation。",
122
+ "rationale": "ws-goal 可用时,medium+ 任务优先使用 ws-goal 协议(目标设定→依赖链预检→管道委托→完成审计),**并且**在必要时可通过 degraded mode 降级回 ws-dev。当 ws-goal 不可用或路由结果不明确时,fallthrough 到 plan_first(ws-plan)。"
123
+ },
116
124
  {
117
125
  "id": "direct_implementation",
118
126
  "intent": "小步实现/修复/配置调整",
@@ -211,6 +219,14 @@
211
219
  "expectedRoute": "ws-handoff",
212
220
  "why": "handoff 依赖已有 finish/archive 上下文,不能当成普通实现。"
213
221
  },
222
+ {
223
+ "id": "case_goal_driven",
224
+ "scenario": "任务是跨文件、多步实现,且 ws-goal 已初始化。",
225
+ "request": "实现 dashboard 的阶段治理视图,ws-goal 已经初始化。",
226
+ "expectedRuleId": "goal_driven",
227
+ "expectedRoute": "ws-goal",
228
+ "why": "ws-goal 可用时优先走 ws-goal 协议(目标设定→pipeline delegation→completion audit),且必要时可降级回 ws-dev。"
229
+ },
214
230
  {
215
231
  "id": "case_plan_first",
216
232
  "scenario": "任务是跨文件、多步实现,且需要先建立 change 分支或方案。",
@@ -272,12 +288,13 @@
272
288
  "除缺失真值场景外,router 至少要给出一个明确的 `Route:` 结果或明确的澄清问题。",
273
289
  "当 `routeTo=clarify` 时,必须停止,不直接写代码。",
274
290
  "当 `routeTo=ws-intake` 时,必须先逐条冻结问题并产出 intake 草案;不要跳过到 `ws-plan`。",
275
- "当 `routeTo=ws-plan` / `ws-dev` / `ws-review` / `ws-finish` / `ws-handoff` / `ws-req-review` / `ws-intake` 时,后续行为必须遵循对应 skill 契约。",
291
+ "当 `routeTo=ws-goal` / `ws-plan` / `ws-dev` / `ws-review` / `ws-finish` / `ws-handoff` / `ws-req-review` / `ws-intake` 时,后续行为必须遵循对应 skill 契约。",
276
292
  "任何 route 都不能绕过 `AI_PROJECT.md` / `REQUIREMENTS.md` / `AI_WORKSPACE.md`。"
277
293
  ],
278
294
  "notes": [
279
295
  "default-routed workflow 不等于 daemon / pane / runtime orchestration;这一版只固定真值和入口。",
280
296
  "`using-aiws` 可以作为默认入口;若未来需要更短命名,可再引入 `ws-router` 作为等价别名。",
281
- "OpenCode 的 native 目录不同,但 router 语义必须共用同一份 JSON 真值。"
297
+ "OpenCode 的 native 目录不同,但 router 语义必须共用同一份 JSON 真值。",
298
+ "v2: 新增 goal_driven 路由规则。当 ws-goal 初始化完成时,medium+ 复杂度任务优先路由到 ws-goal(而非 ws-plan)。ws-goal 在必要时可通过 degraded mode 降级回 ws-dev。"
282
299
  ]
283
300
  }