@aipper/aiws-spec 0.0.29 → 0.0.30
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/docs/workflow-delegation-contracts.json +40 -1
- package/docs/workflow-delegation-contracts.md +10 -0
- package/docs/workflow-delegation-contracts.schema.json +57 -0
- package/docs/workflow-governance-rules.md +1 -1
- package/docs/workflow-review-gates.json +6 -0
- package/docs/workflow-review-gates.md +14 -5
- package/docs/workflow-review-gates.schema.json +4 -0
- package/docs/workflow-router-rules.json +46 -14
- package/docs/workflow-router-rules.md +19 -16
- package/docs/workflow-router-rules.schema.json +4 -0
- package/docs/workflow-stage-contracts.json +22 -2
- package/docs/workflow-stage-contracts.md +15 -13
- package/docs/workflow-stage-contracts.schema.json +12 -1
- package/package.json +1 -1
- package/templates/workspace/.agents/skills/using-aiws/SKILL.md +10 -6
- package/templates/workspace/.agents/skills/ws-commit/SKILL.md +5 -5
- package/templates/workspace/.agents/skills/ws-deliver/SKILL.md +5 -5
- package/templates/workspace/.agents/skills/ws-dev/SKILL.md +30 -0
- package/templates/workspace/.agents/skills/ws-finish/SKILL.md +9 -5
- package/templates/workspace/.agents/skills/ws-handoff/SKILL.md +5 -5
- package/templates/workspace/.agents/skills/ws-migrate/SKILL.md +18 -0
- package/templates/workspace/.agents/skills/ws-plan-verify/SKILL.md +5 -5
- package/templates/workspace/.agents/skills/ws-pull/SKILL.md +18 -0
- package/templates/workspace/.agents/skills/ws-push/SKILL.md +18 -0
- package/templates/workspace/.agents/skills/ws-submodule-setup/SKILL.md +18 -0
- package/templates/workspace/.agents/skills/ws-verify-before-complete/SKILL.md +5 -5
- package/templates/workspace/{changes → .aiws/changes}/README.md +13 -13
- package/templates/workspace/{changes → .aiws/changes}/templates/proposal.md +12 -12
- package/templates/workspace/{changes → .aiws/changes}/templates/tasks.md +8 -8
- package/templates/workspace/{issues → .aiws/issues}/problem-issues.csv +1 -1
- package/templates/workspace/.aiws/journal/.gitkeep +1 -0
- package/templates/workspace/{requirements → .aiws/requirements}/requirements-issues.csv +1 -1
- package/templates/workspace/.aiws/tmp/.gitkeep +0 -0
- package/templates/workspace/{tools → .aiws/tools}/requirements_contract.py +2 -2
- package/templates/workspace/{tools → .aiws/tools}/requirements_contract_sync.py +2 -2
- package/templates/workspace/{tools → .aiws/tools}/requirements_flow_gen.py +1 -1
- package/templates/workspace/{tools → .aiws/tools}/server_test_runner.py +10 -10
- package/templates/workspace/{tools → .aiws/tools}/ws_change_check.py +23 -23
- package/templates/workspace/{tools → .aiws/tools}/ws_resolve_sub_target.sh +2 -2
- package/templates/workspace/{tools → .aiws/tools}/ws_tasks_plan.py +3 -3
- package/templates/workspace/.claude/skills/ws-commit/SKILL.md +5 -5
- package/templates/workspace/.claude/skills/ws-deliver/SKILL.md +5 -5
- package/templates/workspace/.claude/skills/ws-finish/SKILL.md +9 -5
- package/templates/workspace/.claude/skills/ws-handoff/SKILL.md +5 -5
- package/templates/workspace/.claude/skills/ws-migrate/SKILL.md +18 -0
- package/templates/workspace/.claude/skills/ws-plan-verify/SKILL.md +5 -5
- package/templates/workspace/.claude/skills/ws-pull/SKILL.md +18 -0
- package/templates/workspace/.claude/skills/ws-push/SKILL.md +18 -0
- package/templates/workspace/.claude/skills/ws-submodule-setup/SKILL.md +18 -0
- package/templates/workspace/.claude/skills/ws-verify-before-complete/SKILL.md +5 -5
- package/templates/workspace/.githooks/pre-commit +13 -0
- package/templates/workspace/.githooks/pre-push +7 -0
- package/templates/workspace/.opencode/commands/ws-finish.md +66 -1
- package/templates/workspace/.opencode/helpers/approval-whitelist-check.sh +1 -1
- package/templates/workspace/.opencode/helpers/approval-whitelist-run.sh +1 -1
- package/templates/workspace/.opencode/helpers/approval-whitelist-watchdog.sh +1 -1
- package/templates/workspace/.opencode/helpers/tmux-swarm-rescue.sh +1 -1
- package/templates/workspace/.opencode/helpers/tmux-swarm-scan.sh +1 -1
- package/templates/workspace/.opencode/lib/aiws-context.js +953 -0
- package/templates/workspace/.opencode/plugins/aiws-inject-context.js +201 -0
- package/templates/workspace/.opencode/plugins/aiws-session-start.js +86 -0
- package/templates/workspace/.opencode/plugins/aiws-workflow-state.js +116 -0
- package/templates/workspace/.opencode/scripts/ws-plan-gen-submodule-targets.sh +27 -0
- package/templates/workspace/.opencode/scripts/ws-plan-setup-worktree.sh +31 -0
- package/templates/workspace/.opencode/skills/using-aiws/SKILL.md +39 -2
- package/templates/workspace/.opencode/skills/ws-commit/SKILL.md +5 -5
- package/templates/workspace/.opencode/skills/ws-delegate/SKILL.md +22 -0
- package/templates/workspace/.opencode/skills/ws-deliver/SKILL.md +5 -5
- package/templates/workspace/.opencode/skills/ws-dev/SKILL.md +52 -4
- package/templates/workspace/.opencode/skills/ws-dev-lite/SKILL.md +4 -1
- package/templates/workspace/.opencode/skills/ws-finish/SKILL.md +9 -5
- package/templates/workspace/.opencode/skills/ws-handoff/SKILL.md +5 -5
- package/templates/workspace/.opencode/skills/ws-intake/SKILL.md +32 -2
- package/templates/workspace/.opencode/skills/ws-migrate/SKILL.md +5 -5
- package/templates/workspace/.opencode/skills/ws-plan/SKILL.md +11 -53
- package/templates/workspace/.opencode/skills/ws-plan-verify/SKILL.md +5 -5
- package/templates/workspace/.opencode/skills/ws-pull/SKILL.md +5 -5
- package/templates/workspace/.opencode/skills/ws-push/SKILL.md +5 -5
- package/templates/workspace/.opencode/skills/ws-quality-review/SKILL.md +6 -1
- package/templates/workspace/.opencode/skills/ws-review/SKILL.md +25 -5
- package/templates/workspace/.opencode/skills/ws-submodule-setup/SKILL.md +5 -5
- package/templates/workspace/.opencode/skills/ws-verify-before-complete/SKILL.md +36 -5
- package/templates/workspace/AGENTS.md +32 -87
- package/templates/workspace/AI_PROJECT.md +4 -4
- package/templates/workspace/AI_WORKSPACE.md +1 -1
- package/templates/workspace/REQUIREMENTS.md +1 -1
- package/templates/workspace/gitignore +1 -1
- package/templates/workspace/manifest.json +96 -334
- /package/templates/workspace/{changes → .aiws/changes}/templates/design.md +0 -0
- /package/templates/workspace/{memory-bank → .aiws/memory-bank}/README.md +0 -0
- /package/templates/workspace/{memory-bank → .aiws/memory-bank}/architecture.md +0 -0
- /package/templates/workspace/{memory-bank → .aiws/memory-bank}/implementation-plan.md +0 -0
- /package/templates/workspace/{memory-bank → .aiws/memory-bank}/progress.md +0 -0
- /package/templates/workspace/{memory-bank → .aiws/memory-bank}/tech-stack.md +0 -0
- /package/templates/workspace/{requirements → .aiws/requirements}/CHANGELOG.md +0 -0
- /package/templates/workspace/{secrets → .aiws/secrets}/test-accounts.example.json +0 -0
|
@@ -1,91 +1,36 @@
|
|
|
1
1
|
<!-- AIWS_MANAGED_BEGIN:agents -->
|
|
2
|
-
本仓库启用 AIWS(AI Workspace
|
|
3
|
-
1) `AI_PROJECT.md
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
-
|
|
18
|
-
- `
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
- intake:`plan/*.intake.md`
|
|
35
|
-
- planning:`plan/...`、`changes/<change-id>/proposal.md`、`tasks.md`
|
|
36
|
-
- implementation:代码 / 配置改动 + Verify 命令记录
|
|
37
|
-
- collaboration:`changes/<change-id>/analysis/...`、`patches/...`、`review/...`
|
|
38
|
-
- review:`changes/<change-id>/review/...` 或回退 `.agentdocs/tmp/review/...`
|
|
39
|
-
- validate:`.agentdocs/tmp/aiws-validate/*.json`
|
|
40
|
-
- handoff / archive:`changes/<change-id>/evidence/...`、`changes/archive/.../handoff.md`
|
|
41
|
-
|
|
42
|
-
OpenCode(如果你主要用 OpenCode,优先):
|
|
43
|
-
- native skills 在 `.opencode/skills/`;native commands 在 `.opencode/commands/`
|
|
44
|
-
- 若项目启用了 `.opencode/oh-my-opencode.json`:`ws-plan` / `ws-review` / `ws-spec-review` / `ws-quality-review` / `ws-delegate` 会优先借用 oMo 的 `planner-sisyphus` / `explore` / `librarian` / `oracle`
|
|
45
|
-
- 若你想按项目固定这组 agent,可参考 `.opencode/oh-my-opencode.json.example`;它提供 autonomy 示例配置,但仍不接管 hooks/MCP/LSP/runtime
|
|
46
|
-
- 若你要做实验性的“尽量无人值守直到完成”:先看 `/ws-auto`、`/ws-autonomy`、`.claude/settings.json.example` 与 `.opencode/helpers/tmux-swarm-*.sh`
|
|
47
|
-
- 常用手动入口继续保留在 `.opencode/commands/`(migration window 内 `.opencode/command/` 也会保留);直接使用 `/ws-*`
|
|
48
|
-
- 若你不确定当前任务该先 plan、dev、review 还是 finish:先用 `/using-aiws`
|
|
49
|
-
- 需求还没冻结、想逐条把问题聊清楚:先用 `/ws-intake`
|
|
50
|
-
- `/ws-preflight`:读取真值文件并输出约束摘要
|
|
51
|
-
- `/ws-plan` / `/ws-plan-verify`:先生成计划,再做执行前质检与多视角方案审查
|
|
52
|
-
- `/ws-dev`:常规实现/改配置/改测试
|
|
53
|
-
- `/ws-dev-lite`:小问题直修;若复杂度升高,立刻回到 `/ws-dev` 或 `/ws-plan`
|
|
54
|
-
- `/ws-delegate`:按 AIWS 委托合同拆分子任务,并优先借用 oMo agent
|
|
55
|
-
- `/ws-auto`:OpenCode/oMo 自动 bootstrap 入口;会先检查托管内容/是否需要 update,再按条件确保 watchdog 已启动
|
|
56
|
-
- `/ws-autonomy`:OpenCode/oMo 自主协作实验入口;声明 completion/retry/rescue 合同,不接管 runtime controller
|
|
57
|
-
- `/ws-bugfix`:缺陷修复 + 证据落盘 + CSV 汇总
|
|
58
|
-
- `/ws-review` / `/ws-commit`:提交前审计、门禁与 commit
|
|
59
|
-
- `/ws-spec-review` / `/ws-quality-review`:高风险改动建议显式拆成流程审查 + 质量审查
|
|
60
|
-
- `/ws-verify-before-complete`:finish / handoff 前检查双审查和 validate/evidence
|
|
61
|
-
- `/ws-finish` / `/ws-deliver`:交付收尾(fast-forward / submodule 感知)
|
|
62
|
-
- `/ws-pull` / `/ws-push` / `/ws-submodule-setup`:submodule 场景辅助
|
|
63
|
-
- `/p-aiws-*` 为底层原子入口;模板会同时写入 `.opencode/commands/` 与 `.opencode/command/`,一般不需要直接调用
|
|
64
|
-
|
|
65
|
-
Claude Code(如果你主要用 Claude Code):
|
|
66
|
-
- native skills 在 `.claude/skills/`;command-style 兼容入口保留在 `.claude/commands/`
|
|
67
|
-
- 常用链路可按 `ws-*` / `p-aiws-*` 理解;native skills 与 compatibility commands 指向同一套 AIWS workflow
|
|
68
|
-
- 若你不确定当前任务该走哪个阶段:先用 `/using-aiws`
|
|
69
|
-
- 需求还没冻结、想逐条把问题聊清楚:先用 `/ws-intake`
|
|
70
|
-
- 高风险改动或准备 finish 时,建议额外跑 `/ws-spec-review`、`/ws-quality-review`、`/ws-verify-before-complete`
|
|
71
|
-
|
|
72
|
-
Codex(对应入口,可选):
|
|
73
|
-
- 若你不想先记住阶段,先用 `$using-aiws` 让 router 判定下一步
|
|
74
|
-
- 对应入口在 `.agents/skills/`;显式调用时使用 `$ws-*`
|
|
75
|
-
- `$using-aiws`
|
|
76
|
-
- `$ws-preflight` / `$ws-intake` / `$ws-plan` / `$ws-plan-verify` / `$ws-dev` / `$ws-dev-lite` / `$ws-delegate` / `$ws-frontend-design`
|
|
77
|
-
- `$ws-review` / `$ws-spec-review` / `$ws-quality-review` / `$ws-commit`
|
|
78
|
-
- `$ws-verify-before-complete` / `$ws-finish` / `$ws-deliver`
|
|
79
|
-
- `$ws-pull` / `$ws-push` / `$ws-submodule-setup`
|
|
80
|
-
- 其它入口见 `.agents/skills/`:`ws-*` 为常用链路;`p-*` 为底层原子入口,一般不需要直接调用
|
|
81
|
-
|
|
82
|
-
Codex 全局入口(可选):
|
|
83
|
-
- `npx @aipper/aiws codex install-skills`(推荐;安装全局 skills)
|
|
84
|
-
- `npx @aipper/aiws codex install-prompts`(遗留兼容;prompts 已 deprecated)
|
|
85
|
-
|
|
86
|
-
缺文件或模板漂移时:
|
|
87
|
-
- `npx @aipper/aiws init`(初始化)
|
|
88
|
-
- `npx @aipper/aiws update`(按模板更新托管内容)
|
|
2
|
+
本仓库启用 AIWS(AI Workspace)约定。真值文件(按优先读取):
|
|
3
|
+
1) `AI_PROJECT.md`(规则/边界)→ 2) `REQUIREMENTS.md`(需求与验收真值)→ 3) `AI_WORKSPACE.md`(运行/测试入口真值)
|
|
4
|
+
|
|
5
|
+
快速分流:
|
|
6
|
+
- 小修(≤3 文件,≤100 行)→ `/ws-dev-lite`
|
|
7
|
+
- 常规实现 → `/ws-plan` → `ws-dev`
|
|
8
|
+
- 高风险变更 → 加 `ws-spec-review` + `ws-quality-review` 双审查
|
|
9
|
+
- 不确定 → `/using-aiws`(先读真值,再路由)
|
|
10
|
+
|
|
11
|
+
协作约束:
|
|
12
|
+
- 变更绑定 `change/<id>`,走 plan→verify→dev→review→commit→finish
|
|
13
|
+
- review 完成 → `ws-verify-before-complete` 确认验证通过 → 再 finish
|
|
14
|
+
- review 三方(spec/quality/verify)需 triage 确定是否有 HIGH blocker
|
|
15
|
+
- 主 session 编排收敛,不直接写业务代码;实现与验证由 subagent 产出
|
|
16
|
+
- 提交前 `aiws validate .`;敏感信息不入 git
|
|
17
|
+
- 缺真值文件先 stop,不直接开工
|
|
18
|
+
- handoff 产出 `handoff-evidence.md` 供后续 session 恢复
|
|
19
|
+
|
|
20
|
+
Red Flags(这些想法都是错的):
|
|
21
|
+
| 你想的 | 实际 |
|
|
22
|
+
|--------|------|
|
|
23
|
+
| "看着简单直接改" | 简单→ws-dev-lite,不确定→先 /using-aiws |
|
|
24
|
+
| "先动手再说" | 评估先于行动,分流在实现之前 |
|
|
25
|
+
| "跳过 review" | review 是门禁,不是建议 |
|
|
26
|
+
| "主 session 自己写代码" | 编排收敛,subagent 实现 |
|
|
27
|
+
| "不想走流程直接改" | escape-hatch: 可走 ws-dev-lite,但须遵守最小约束(降级需标明) |
|
|
28
|
+
|
|
29
|
+
阶段产物(最少):intake=`.aiws/plan/*.intake.md` | planning=`.aiws/plan/...`+`proposal.md`+`tasks.md` | dev=代码+Verify | review=`review/...` | validate=`aiws-validate/*.json` | archive=`evidence/...`+`handoff.md`
|
|
30
|
+
|
|
31
|
+
平台前缀:OpenCode/Claude=`/` Codex=`$` | 例:`/ws-dev` 或 `$ws-dev`
|
|
32
|
+
Codex 全局安装:`npx @aipper/aiws codex install-skills`
|
|
33
|
+
缺文件/漂移时:`npx @aipper/aiws init` / `npx @aipper/aiws update`
|
|
89
34
|
<!-- AIWS_MANAGED_END:agents -->
|
|
90
35
|
|
|
91
36
|
你可以在本段下方追加项目自定义说明;`aiws update` 不会改动托管块以外内容。
|
|
@@ -29,14 +29,14 @@
|
|
|
29
29
|
## 3) 产物与证据(强制)
|
|
30
30
|
|
|
31
31
|
每轮迭代必须落盘至少一个“可追溯产物”(三选一即可):
|
|
32
|
-
- 证据:`.
|
|
32
|
+
- 证据:`.aiws/tmp/...`(report/log/resp)
|
|
33
33
|
- 合同:`issues/*.csv`(状态变化:TODO/DOING/DONE/BLOCKED/SKIP)
|
|
34
|
-
-
|
|
34
|
+
- 变更工件:`.aiws/changes/<change-id>/`(proposal/tasks/design;详见 `.aiws/changes/README.md`)
|
|
35
35
|
|
|
36
36
|
不得只在对话里口头描述“已验证/已修复”。
|
|
37
37
|
|
|
38
38
|
推荐(防规则/范围漂移):
|
|
39
|
-
- 创建工件:补齐
|
|
39
|
+
- 创建工件:补齐 `.aiws/changes/<change-id>/proposal.md`、`tasks.md`(可选 `design.md`)
|
|
40
40
|
- 声明 active change(团队共享):切到分支 `change/<change-id>`(也支持 `changes/`、`ws/`、`ws-change/`)
|
|
41
41
|
- 若仓库存在 `.gitmodules`:使用 `aiws change start <change-id> --switch`;不要在当前 superproject 里直接手工切分支。
|
|
42
42
|
- 若 submodule 因 gitlink checkout 处于 detached HEAD:只允许挂到 `aiws/pin/<target-branch>`;不要直接切 `change/<change-id>` / `main` / `master` 等业务分支来“解 detached”。
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
|
|
75
75
|
- `X-Request-Id`:自动化测试请求必须携带;服务端必须回传同名响应头;日志应包含 `request_id=<id>` 以便按单次请求定位问题。
|
|
76
76
|
- 接口清单真值:优先使用 `docs/openapi.json`。若缺失,先补齐导出方式并生成到该路径,再做全量覆盖测试(避免“覆盖范围不可复现”)。
|
|
77
|
-
- 证据落盘:每轮至少更新一次 `.
|
|
77
|
+
- 证据落盘:每轮至少更新一次 `.aiws/tmp/...` 或 `issues/*.csv`(禁止只在对话里口头宣称“已验证/已修复”)。
|
|
78
78
|
|
|
79
79
|
<!-- AIWS_MANAGED_END:ai-project:core -->
|
|
80
80
|
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
- `issues/server-api-issues.csv`:每个 endpoint 的验收字段与状态机(TODO/DOING/DONE/BLOCKED/SKIP)
|
|
72
72
|
- `issues/server-fix-issues.csv`:当出现 BLOCKED 时自动生成的“下一步修复清单”(用于持续闭环;包含 Failure_Category/Failure_Analysis/Suggestion)
|
|
73
73
|
- `issues/server-triage-issues.csv`:当 runner 无法稳定归因/需要人工判断时生成的“人工介入清单”(避免把噪声混进 fix issues)
|
|
74
|
-
- `.
|
|
74
|
+
- `.aiws/tmp/server-test/`:响应与日志片段(不入库)
|
|
75
75
|
|
|
76
76
|
当出现 BLOCKED:
|
|
77
77
|
- 若属于业务/需求不清:先补齐本文件对应接口的期望,再改代码
|