@aipper/aiws-spec 0.0.24 → 0.0.26
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.
- package/README.md +22 -0
- package/docs/aiws-bootstrap-routing-design.md +138 -0
- package/docs/aiws-governance-positioning.md +69 -0
- package/docs/cli-interface.md +91 -6
- package/docs/collaboration-artifacts.md +62 -0
- package/docs/opencode-omo-adapter.md +135 -0
- package/docs/opencode-omo-validation-checklist.md +90 -0
- package/docs/spec-contract.md +30 -22
- package/docs/superpowers-collaboration-adoption.md +92 -0
- package/docs/workflow-delegation-contracts.json +274 -0
- package/docs/workflow-delegation-contracts.md +248 -0
- package/docs/workflow-delegation-contracts.schema.json +176 -0
- package/docs/workflow-governance-rules.json +294 -0
- package/docs/workflow-governance-rules.md +63 -0
- package/docs/workflow-governance-rules.schema.json +182 -0
- package/docs/workflow-review-gates.json +72 -0
- package/docs/workflow-review-gates.md +36 -0
- package/docs/workflow-review-gates.schema.json +67 -0
- package/docs/workflow-router-rules.json +196 -0
- package/docs/workflow-router-rules.md +83 -0
- package/docs/workflow-router-rules.schema.json +119 -0
- package/docs/workflow-stage-contracts.json +148 -0
- package/docs/workflow-stage-contracts.md +70 -0
- package/docs/workflow-stage-contracts.schema.json +98 -0
- package/package.json +1 -1
- package/templates/workspace/.agents/skills/using-aiws/SKILL.md +87 -0
- package/templates/workspace/.agents/skills/ws-commit/SKILL.md +27 -1
- package/templates/workspace/.agents/skills/ws-delegate/SKILL.md +75 -0
- package/templates/workspace/.agents/skills/ws-deliver/SKILL.md +25 -4
- package/templates/workspace/.agents/skills/ws-dev/SKILL.md +35 -6
- package/templates/workspace/.agents/skills/ws-dev-lite/SKILL.md +58 -0
- package/templates/workspace/.agents/skills/ws-finish/SKILL.md +25 -12
- package/templates/workspace/.agents/skills/ws-frontend-design/SKILL.md +126 -0
- package/templates/workspace/.agents/skills/ws-handoff/SKILL.md +25 -4
- package/templates/workspace/.agents/skills/ws-plan/SKILL.md +25 -1
- package/templates/workspace/.agents/skills/ws-plan-verify/SKILL.md +20 -0
- package/templates/workspace/.agents/skills/ws-preflight/SKILL.md +23 -0
- package/templates/workspace/.agents/skills/ws-quality-review/SKILL.md +56 -0
- package/templates/workspace/.agents/skills/ws-review/SKILL.md +24 -0
- package/templates/workspace/.agents/skills/ws-spec-review/SKILL.md +57 -0
- package/templates/workspace/.agents/skills/ws-verify-before-complete/SKILL.md +59 -0
- package/templates/workspace/.aiws/manifest.json +2 -6
- package/templates/workspace/.claude/commands/using-aiws.md +25 -0
- package/templates/workspace/.claude/commands/ws-dev-lite.md +31 -0
- package/templates/workspace/.claude/commands/ws-finish.md +1 -1
- package/templates/workspace/.claude/commands/ws-handoff.md +3 -2
- package/templates/workspace/.claude/commands/ws-quality-review.md +24 -0
- package/templates/workspace/.claude/commands/ws-review.md +2 -2
- package/templates/workspace/.claude/commands/ws-spec-review.md +24 -0
- package/templates/workspace/.claude/commands/ws-verify-before-complete.md +24 -0
- package/templates/workspace/.claude/skills/p-aiws-change-archive/SKILL.md +24 -0
- package/templates/workspace/.claude/skills/p-aiws-change-finish/SKILL.md +24 -0
- package/templates/workspace/.claude/skills/p-aiws-change-list/SKILL.md +18 -0
- package/templates/workspace/.claude/skills/p-aiws-change-new/SKILL.md +26 -0
- package/templates/workspace/.claude/skills/p-aiws-change-next/SKILL.md +19 -0
- package/templates/workspace/.claude/skills/p-aiws-change-start/SKILL.md +33 -0
- package/templates/workspace/.claude/skills/p-aiws-change-status/SKILL.md +19 -0
- package/templates/workspace/.claude/skills/p-aiws-change-sync/SKILL.md +19 -0
- package/templates/workspace/.claude/skills/p-aiws-change-templates-init/SKILL.md +18 -0
- package/templates/workspace/.claude/skills/p-aiws-change-templates-which/SKILL.md +18 -0
- package/templates/workspace/.claude/skills/p-aiws-change-validate/SKILL.md +23 -0
- package/templates/workspace/.claude/skills/p-aiws-hooks-install/SKILL.md +30 -0
- package/templates/workspace/.claude/skills/p-aiws-hooks-status/SKILL.md +18 -0
- package/templates/workspace/.claude/skills/p-aiws-init/SKILL.md +27 -0
- package/templates/workspace/.claude/skills/p-aiws-rollback/SKILL.md +18 -0
- package/templates/workspace/.claude/skills/p-aiws-update/SKILL.md +26 -0
- package/templates/workspace/.claude/skills/p-aiws-validate/SKILL.md +22 -0
- package/templates/workspace/.claude/skills/p-tasks-plan/SKILL.md +37 -0
- package/templates/workspace/.claude/skills/using-aiws/SKILL.md +87 -0
- package/templates/workspace/.claude/skills/ws-analyze/SKILL.md +26 -0
- package/templates/workspace/.claude/skills/ws-bugfix/SKILL.md +111 -0
- package/templates/workspace/.claude/skills/ws-commit/SKILL.md +130 -0
- package/templates/workspace/.claude/skills/ws-deliver/SKILL.md +230 -0
- package/templates/workspace/.claude/skills/ws-dev/SKILL.md +168 -0
- package/templates/workspace/.claude/skills/ws-dev-lite/SKILL.md +58 -0
- package/templates/workspace/.claude/skills/ws-finish/SKILL.md +209 -0
- package/templates/workspace/.claude/skills/ws-frontend-design/SKILL.md +126 -0
- package/templates/workspace/.claude/skills/ws-handoff/SKILL.md +52 -0
- package/templates/workspace/.claude/skills/ws-migrate/SKILL.md +54 -0
- package/templates/workspace/.claude/skills/ws-plan/SKILL.md +138 -0
- package/templates/workspace/.claude/skills/ws-plan-verify/SKILL.md +61 -0
- package/templates/workspace/.claude/skills/ws-preflight/SKILL.md +55 -0
- package/templates/workspace/.claude/skills/ws-pull/SKILL.md +119 -0
- package/templates/workspace/.claude/skills/ws-push/SKILL.md +110 -0
- package/templates/workspace/.claude/skills/ws-quality-review/SKILL.md +56 -0
- package/templates/workspace/.claude/skills/ws-req-change/SKILL.md +41 -0
- package/templates/workspace/.claude/skills/ws-req-contract-sync/SKILL.md +17 -0
- package/templates/workspace/.claude/skills/ws-req-contract-validate/SKILL.md +12 -0
- package/templates/workspace/.claude/skills/ws-req-flow-sync/SKILL.md +28 -0
- package/templates/workspace/.claude/skills/ws-req-review/SKILL.md +32 -0
- package/templates/workspace/.claude/skills/ws-review/SKILL.md +50 -0
- package/templates/workspace/.claude/skills/ws-rule/SKILL.md +23 -0
- package/templates/workspace/.claude/skills/ws-spec-review/SKILL.md +57 -0
- package/templates/workspace/.claude/skills/ws-submodule-setup/SKILL.md +65 -0
- package/templates/workspace/.claude/skills/ws-verify-before-complete/SKILL.md +59 -0
- package/templates/workspace/.githooks/commit-msg +10 -0
- package/templates/workspace/.opencode/command/using-aiws.md +30 -0
- package/templates/workspace/.opencode/command/ws-delegate.md +33 -0
- package/templates/workspace/.opencode/command/ws-dev-lite.md +34 -0
- package/templates/workspace/.opencode/command/ws-finish.md +1 -1
- package/templates/workspace/.opencode/command/ws-handoff.md +4 -3
- package/templates/workspace/.opencode/command/ws-plan.md +3 -0
- package/templates/workspace/.opencode/command/ws-preflight.md +4 -0
- package/templates/workspace/.opencode/command/ws-quality-review.md +30 -0
- package/templates/workspace/.opencode/command/ws-review.md +5 -2
- package/templates/workspace/.opencode/command/ws-spec-review.md +30 -0
- package/templates/workspace/.opencode/command/ws-verify-before-complete.md +27 -0
- package/templates/workspace/.opencode/commands/p-aiws-change-archive.md +27 -0
- package/templates/workspace/.opencode/commands/p-aiws-change-finish.md +27 -0
- package/templates/workspace/.opencode/commands/p-aiws-change-list.md +26 -0
- package/templates/workspace/.opencode/commands/p-aiws-change-new.md +27 -0
- package/templates/workspace/.opencode/commands/p-aiws-change-next.md +27 -0
- package/templates/workspace/.opencode/commands/p-aiws-change-start.md +27 -0
- package/templates/workspace/.opencode/commands/p-aiws-change-status.md +27 -0
- package/templates/workspace/.opencode/commands/p-aiws-change-sync.md +27 -0
- package/templates/workspace/.opencode/commands/p-aiws-change-templates-init.md +26 -0
- package/templates/workspace/.opencode/commands/p-aiws-change-templates-which.md +26 -0
- package/templates/workspace/.opencode/commands/p-aiws-change-validate.md +27 -0
- package/templates/workspace/.opencode/commands/p-aiws-hooks-install.md +26 -0
- package/templates/workspace/.opencode/commands/p-aiws-hooks-status.md +26 -0
- package/templates/workspace/.opencode/commands/p-aiws-init.md +23 -0
- package/templates/workspace/.opencode/commands/p-aiws-rollback.md +16 -0
- package/templates/workspace/.opencode/commands/p-aiws-update.md +22 -0
- package/templates/workspace/.opencode/commands/p-aiws-validate.md +17 -0
- package/templates/workspace/.opencode/commands/using-aiws.md +30 -0
- package/templates/workspace/.opencode/commands/ws-analyze.md +30 -0
- package/templates/workspace/.opencode/commands/ws-bugfix.md +35 -0
- package/templates/workspace/.opencode/commands/ws-commit.md +70 -0
- package/templates/workspace/.opencode/commands/ws-delegate.md +33 -0
- package/templates/workspace/{.iflow/commands/ws-deliver.toml → .opencode/commands/ws-deliver.md} +13 -13
- package/templates/workspace/.opencode/commands/ws-dev-lite.md +34 -0
- package/templates/workspace/.opencode/commands/ws-dev.md +36 -0
- package/templates/workspace/{.iflow/commands/ws-finish.toml → .opencode/commands/ws-finish.md} +46 -29
- package/templates/workspace/.opencode/commands/ws-handoff.md +26 -0
- package/templates/workspace/.opencode/commands/ws-migrate.md +25 -0
- package/templates/workspace/.opencode/commands/ws-plan-verify.md +28 -0
- package/templates/workspace/.opencode/commands/ws-plan.md +27 -0
- package/templates/workspace/.opencode/commands/ws-preflight.md +34 -0
- package/templates/workspace/.opencode/commands/ws-pull.md +87 -0
- package/templates/workspace/.opencode/commands/ws-push.md +93 -0
- package/templates/workspace/.opencode/commands/ws-quality-review.md +30 -0
- package/templates/workspace/.opencode/commands/ws-req-change.md +45 -0
- package/templates/workspace/.opencode/commands/ws-req-contract-sync.md +21 -0
- package/templates/workspace/.opencode/commands/ws-req-contract-validate.md +16 -0
- package/templates/workspace/.opencode/commands/ws-req-flow-sync.md +23 -0
- package/templates/workspace/.opencode/commands/ws-req-review.md +36 -0
- package/templates/workspace/.opencode/commands/ws-review.md +33 -0
- package/templates/workspace/.opencode/commands/ws-rule.md +27 -0
- package/templates/workspace/.opencode/commands/ws-spec-review.md +30 -0
- package/templates/workspace/.opencode/commands/ws-submodule-setup.md +57 -0
- package/templates/workspace/.opencode/commands/ws-verify-before-complete.md +27 -0
- package/templates/workspace/.opencode/oh-my-opencode.json.example +17 -0
- package/templates/workspace/.opencode/skills/p-aiws-change-archive/SKILL.md +24 -0
- package/templates/workspace/.opencode/skills/p-aiws-change-finish/SKILL.md +24 -0
- package/templates/workspace/.opencode/skills/p-aiws-change-list/SKILL.md +18 -0
- package/templates/workspace/.opencode/skills/p-aiws-change-new/SKILL.md +26 -0
- package/templates/workspace/.opencode/skills/p-aiws-change-next/SKILL.md +19 -0
- package/templates/workspace/.opencode/skills/p-aiws-change-start/SKILL.md +33 -0
- package/templates/workspace/.opencode/skills/p-aiws-change-status/SKILL.md +19 -0
- package/templates/workspace/.opencode/skills/p-aiws-change-sync/SKILL.md +19 -0
- package/templates/workspace/.opencode/skills/p-aiws-change-templates-init/SKILL.md +18 -0
- package/templates/workspace/.opencode/skills/p-aiws-change-templates-which/SKILL.md +18 -0
- package/templates/workspace/.opencode/skills/p-aiws-change-validate/SKILL.md +23 -0
- package/templates/workspace/.opencode/skills/p-aiws-hooks-install/SKILL.md +30 -0
- package/templates/workspace/.opencode/skills/p-aiws-hooks-status/SKILL.md +18 -0
- package/templates/workspace/.opencode/skills/p-aiws-init/SKILL.md +27 -0
- package/templates/workspace/.opencode/skills/p-aiws-rollback/SKILL.md +18 -0
- package/templates/workspace/.opencode/skills/p-aiws-update/SKILL.md +26 -0
- package/templates/workspace/.opencode/skills/p-aiws-validate/SKILL.md +22 -0
- package/templates/workspace/.opencode/skills/p-tasks-plan/SKILL.md +37 -0
- package/templates/workspace/.opencode/skills/using-aiws/SKILL.md +91 -0
- package/templates/workspace/.opencode/skills/ws-analyze/SKILL.md +26 -0
- package/templates/workspace/.opencode/skills/ws-bugfix/SKILL.md +111 -0
- package/templates/workspace/.opencode/skills/ws-commit/SKILL.md +130 -0
- package/templates/workspace/.opencode/skills/ws-delegate/SKILL.md +63 -0
- package/templates/workspace/.opencode/skills/ws-deliver/SKILL.md +230 -0
- package/templates/workspace/.opencode/skills/ws-dev/SKILL.md +168 -0
- package/templates/workspace/.opencode/skills/ws-dev-lite/SKILL.md +58 -0
- package/templates/workspace/.opencode/skills/ws-finish/SKILL.md +209 -0
- package/templates/workspace/.opencode/skills/ws-frontend-design/SKILL.md +126 -0
- package/templates/workspace/.opencode/skills/ws-handoff/SKILL.md +52 -0
- package/templates/workspace/.opencode/skills/ws-migrate/SKILL.md +54 -0
- package/templates/workspace/.opencode/skills/ws-plan/SKILL.md +148 -0
- package/templates/workspace/.opencode/skills/ws-plan-verify/SKILL.md +61 -0
- package/templates/workspace/.opencode/skills/ws-preflight/SKILL.md +60 -0
- package/templates/workspace/.opencode/skills/ws-pull/SKILL.md +119 -0
- package/templates/workspace/.opencode/skills/ws-push/SKILL.md +110 -0
- package/templates/workspace/.opencode/skills/ws-quality-review/SKILL.md +63 -0
- package/templates/workspace/.opencode/skills/ws-req-change/SKILL.md +41 -0
- package/templates/workspace/.opencode/skills/ws-req-contract-sync/SKILL.md +17 -0
- package/templates/workspace/.opencode/skills/ws-req-contract-validate/SKILL.md +12 -0
- package/templates/workspace/.opencode/skills/ws-req-flow-sync/SKILL.md +28 -0
- package/templates/workspace/.opencode/skills/ws-req-review/SKILL.md +32 -0
- package/templates/workspace/.opencode/skills/ws-review/SKILL.md +57 -0
- package/templates/workspace/.opencode/skills/ws-rule/SKILL.md +23 -0
- package/templates/workspace/.opencode/skills/ws-spec-review/SKILL.md +64 -0
- package/templates/workspace/.opencode/skills/ws-submodule-setup/SKILL.md +65 -0
- package/templates/workspace/.opencode/skills/ws-verify-before-complete/SKILL.md +59 -0
- package/templates/workspace/AGENTS.md +74 -30
- package/templates/workspace/AI_PROJECT.md +1 -1
- package/templates/workspace/AI_WORKSPACE.md +1 -1
- package/templates/workspace/changes/README.md +25 -4
- package/templates/workspace/changes/templates/proposal.md +15 -0
- package/templates/workspace/changes/templates/tasks.md +9 -2
- package/templates/workspace/manifest.json +340 -82
- package/templates/workspace/memory-bank/README.md +1 -2
- package/templates/workspace/tools/ws_change_check.py +26 -4
- package/templates/workspace/.iflow/agents/feature-reviewer.md +0 -27
- package/templates/workspace/.iflow/agents/requirements-analyst.md +0 -24
- package/templates/workspace/.iflow/agents/server-commit-manager.md +0 -28
- package/templates/workspace/.iflow/agents/server-fix-implementer.md +0 -31
- package/templates/workspace/.iflow/agents/server-test-planner.md +0 -28
- package/templates/workspace/.iflow/agents/server-test-triager.md +0 -30
- package/templates/workspace/.iflow/commands/aiws-init.toml +0 -24
- package/templates/workspace/.iflow/commands/aiws-rollback.toml +0 -18
- package/templates/workspace/.iflow/commands/aiws-update.toml +0 -23
- package/templates/workspace/.iflow/commands/aiws-validate.toml +0 -18
- package/templates/workspace/.iflow/commands/server-commit.toml +0 -27
- package/templates/workspace/.iflow/commands/server-drain.toml +0 -99
- package/templates/workspace/.iflow/commands/server-fix-and-commit.toml +0 -27
- package/templates/workspace/.iflow/commands/server-fix.toml +0 -65
- package/templates/workspace/.iflow/commands/server-test-plan.toml +0 -62
- package/templates/workspace/.iflow/commands/server-test.toml +0 -58
- package/templates/workspace/.iflow/commands/server-triage.toml +0 -38
- package/templates/workspace/.iflow/commands/server_test-plan.toml +0 -12
- package/templates/workspace/.iflow/commands/server_test.toml +0 -12
- package/templates/workspace/.iflow/commands/ws-analyze.toml +0 -33
- package/templates/workspace/.iflow/commands/ws-commit.toml +0 -46
- package/templates/workspace/.iflow/commands/ws-contract-check.toml +0 -69
- package/templates/workspace/.iflow/commands/ws-dev.toml +0 -34
- package/templates/workspace/.iflow/commands/ws-doctor.toml +0 -141
- package/templates/workspace/.iflow/commands/ws-env-doctor.toml +0 -74
- package/templates/workspace/.iflow/commands/ws-feature-deliver.toml +0 -44
- package/templates/workspace/.iflow/commands/ws-feature-plan.toml +0 -47
- package/templates/workspace/.iflow/commands/ws-init.toml +0 -53
- package/templates/workspace/.iflow/commands/ws-memory-bank-init.toml +0 -100
- package/templates/workspace/.iflow/commands/ws-migrate.toml +0 -59
- package/templates/workspace/.iflow/commands/ws-preflight.toml +0 -30
- package/templates/workspace/.iflow/commands/ws-pull.toml +0 -47
- package/templates/workspace/.iflow/commands/ws-push.toml +0 -40
- package/templates/workspace/.iflow/commands/ws-req-change.toml +0 -64
- package/templates/workspace/.iflow/commands/ws-req-contract-sync.toml +0 -25
- package/templates/workspace/.iflow/commands/ws-req-contract-validate.toml +0 -16
- package/templates/workspace/.iflow/commands/ws-req-flow-sync.toml +0 -36
- package/templates/workspace/.iflow/commands/ws-req-review.toml +0 -56
- package/templates/workspace/.iflow/commands/ws-review.toml +0 -33
- package/templates/workspace/.iflow/commands/ws-rule.toml +0 -43
- package/templates/workspace/.iflow/commands/ws-submodule-setup.toml +0 -32
- package/templates/workspace/tools/iflow_watchdog.sh +0 -138
- package/templates/workspace/tools/install_iflow_watchdog_systemd_user.sh +0 -118
- package/templates/workspace/tools/systemd/iflow-watchdog@.service +0 -16
- package/templates/workspace/tools/systemd/iflow-watchdog@.timer +0 -11
|
@@ -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
|
+
}
|