@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.
Files changed (96) hide show
  1. package/docs/workflow-delegation-contracts.json +40 -1
  2. package/docs/workflow-delegation-contracts.md +10 -0
  3. package/docs/workflow-delegation-contracts.schema.json +57 -0
  4. package/docs/workflow-governance-rules.md +1 -1
  5. package/docs/workflow-review-gates.json +6 -0
  6. package/docs/workflow-review-gates.md +14 -5
  7. package/docs/workflow-review-gates.schema.json +4 -0
  8. package/docs/workflow-router-rules.json +46 -14
  9. package/docs/workflow-router-rules.md +19 -16
  10. package/docs/workflow-router-rules.schema.json +4 -0
  11. package/docs/workflow-stage-contracts.json +22 -2
  12. package/docs/workflow-stage-contracts.md +15 -13
  13. package/docs/workflow-stage-contracts.schema.json +12 -1
  14. package/package.json +1 -1
  15. package/templates/workspace/.agents/skills/using-aiws/SKILL.md +10 -6
  16. package/templates/workspace/.agents/skills/ws-commit/SKILL.md +5 -5
  17. package/templates/workspace/.agents/skills/ws-deliver/SKILL.md +5 -5
  18. package/templates/workspace/.agents/skills/ws-dev/SKILL.md +30 -0
  19. package/templates/workspace/.agents/skills/ws-finish/SKILL.md +9 -5
  20. package/templates/workspace/.agents/skills/ws-handoff/SKILL.md +5 -5
  21. package/templates/workspace/.agents/skills/ws-migrate/SKILL.md +18 -0
  22. package/templates/workspace/.agents/skills/ws-plan-verify/SKILL.md +5 -5
  23. package/templates/workspace/.agents/skills/ws-pull/SKILL.md +18 -0
  24. package/templates/workspace/.agents/skills/ws-push/SKILL.md +18 -0
  25. package/templates/workspace/.agents/skills/ws-submodule-setup/SKILL.md +18 -0
  26. package/templates/workspace/.agents/skills/ws-verify-before-complete/SKILL.md +5 -5
  27. package/templates/workspace/{changes → .aiws/changes}/README.md +13 -13
  28. package/templates/workspace/{changes → .aiws/changes}/templates/proposal.md +12 -12
  29. package/templates/workspace/{changes → .aiws/changes}/templates/tasks.md +8 -8
  30. package/templates/workspace/{issues → .aiws/issues}/problem-issues.csv +1 -1
  31. package/templates/workspace/.aiws/journal/.gitkeep +1 -0
  32. package/templates/workspace/{requirements → .aiws/requirements}/requirements-issues.csv +1 -1
  33. package/templates/workspace/.aiws/tmp/.gitkeep +0 -0
  34. package/templates/workspace/{tools → .aiws/tools}/requirements_contract.py +2 -2
  35. package/templates/workspace/{tools → .aiws/tools}/requirements_contract_sync.py +2 -2
  36. package/templates/workspace/{tools → .aiws/tools}/requirements_flow_gen.py +1 -1
  37. package/templates/workspace/{tools → .aiws/tools}/server_test_runner.py +10 -10
  38. package/templates/workspace/{tools → .aiws/tools}/ws_change_check.py +23 -23
  39. package/templates/workspace/{tools → .aiws/tools}/ws_resolve_sub_target.sh +2 -2
  40. package/templates/workspace/{tools → .aiws/tools}/ws_tasks_plan.py +3 -3
  41. package/templates/workspace/.claude/skills/ws-commit/SKILL.md +5 -5
  42. package/templates/workspace/.claude/skills/ws-deliver/SKILL.md +5 -5
  43. package/templates/workspace/.claude/skills/ws-finish/SKILL.md +9 -5
  44. package/templates/workspace/.claude/skills/ws-handoff/SKILL.md +5 -5
  45. package/templates/workspace/.claude/skills/ws-migrate/SKILL.md +18 -0
  46. package/templates/workspace/.claude/skills/ws-plan-verify/SKILL.md +5 -5
  47. package/templates/workspace/.claude/skills/ws-pull/SKILL.md +18 -0
  48. package/templates/workspace/.claude/skills/ws-push/SKILL.md +18 -0
  49. package/templates/workspace/.claude/skills/ws-submodule-setup/SKILL.md +18 -0
  50. package/templates/workspace/.claude/skills/ws-verify-before-complete/SKILL.md +5 -5
  51. package/templates/workspace/.githooks/pre-commit +13 -0
  52. package/templates/workspace/.githooks/pre-push +7 -0
  53. package/templates/workspace/.opencode/commands/ws-finish.md +66 -1
  54. package/templates/workspace/.opencode/helpers/approval-whitelist-check.sh +1 -1
  55. package/templates/workspace/.opencode/helpers/approval-whitelist-run.sh +1 -1
  56. package/templates/workspace/.opencode/helpers/approval-whitelist-watchdog.sh +1 -1
  57. package/templates/workspace/.opencode/helpers/tmux-swarm-rescue.sh +1 -1
  58. package/templates/workspace/.opencode/helpers/tmux-swarm-scan.sh +1 -1
  59. package/templates/workspace/.opencode/lib/aiws-context.js +953 -0
  60. package/templates/workspace/.opencode/plugins/aiws-inject-context.js +201 -0
  61. package/templates/workspace/.opencode/plugins/aiws-session-start.js +86 -0
  62. package/templates/workspace/.opencode/plugins/aiws-workflow-state.js +116 -0
  63. package/templates/workspace/.opencode/scripts/ws-plan-gen-submodule-targets.sh +27 -0
  64. package/templates/workspace/.opencode/scripts/ws-plan-setup-worktree.sh +31 -0
  65. package/templates/workspace/.opencode/skills/using-aiws/SKILL.md +39 -2
  66. package/templates/workspace/.opencode/skills/ws-commit/SKILL.md +5 -5
  67. package/templates/workspace/.opencode/skills/ws-delegate/SKILL.md +22 -0
  68. package/templates/workspace/.opencode/skills/ws-deliver/SKILL.md +5 -5
  69. package/templates/workspace/.opencode/skills/ws-dev/SKILL.md +52 -4
  70. package/templates/workspace/.opencode/skills/ws-dev-lite/SKILL.md +4 -1
  71. package/templates/workspace/.opencode/skills/ws-finish/SKILL.md +9 -5
  72. package/templates/workspace/.opencode/skills/ws-handoff/SKILL.md +5 -5
  73. package/templates/workspace/.opencode/skills/ws-intake/SKILL.md +32 -2
  74. package/templates/workspace/.opencode/skills/ws-migrate/SKILL.md +5 -5
  75. package/templates/workspace/.opencode/skills/ws-plan/SKILL.md +11 -53
  76. package/templates/workspace/.opencode/skills/ws-plan-verify/SKILL.md +5 -5
  77. package/templates/workspace/.opencode/skills/ws-pull/SKILL.md +5 -5
  78. package/templates/workspace/.opencode/skills/ws-push/SKILL.md +5 -5
  79. package/templates/workspace/.opencode/skills/ws-quality-review/SKILL.md +6 -1
  80. package/templates/workspace/.opencode/skills/ws-review/SKILL.md +25 -5
  81. package/templates/workspace/.opencode/skills/ws-submodule-setup/SKILL.md +5 -5
  82. package/templates/workspace/.opencode/skills/ws-verify-before-complete/SKILL.md +36 -5
  83. package/templates/workspace/AGENTS.md +32 -87
  84. package/templates/workspace/AI_PROJECT.md +4 -4
  85. package/templates/workspace/AI_WORKSPACE.md +1 -1
  86. package/templates/workspace/REQUIREMENTS.md +1 -1
  87. package/templates/workspace/gitignore +1 -1
  88. package/templates/workspace/manifest.json +96 -334
  89. /package/templates/workspace/{changes → .aiws/changes}/templates/design.md +0 -0
  90. /package/templates/workspace/{memory-bank → .aiws/memory-bank}/README.md +0 -0
  91. /package/templates/workspace/{memory-bank → .aiws/memory-bank}/architecture.md +0 -0
  92. /package/templates/workspace/{memory-bank → .aiws/memory-bank}/implementation-plan.md +0 -0
  93. /package/templates/workspace/{memory-bank → .aiws/memory-bank}/progress.md +0 -0
  94. /package/templates/workspace/{memory-bank → .aiws/memory-bank}/tech-stack.md +0 -0
  95. /package/templates/workspace/{requirements → .aiws/requirements}/CHANGELOG.md +0 -0
  96. /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
- 2) `REQUIREMENTS.md`(需求与验收真值)
5
- 3) `AI_WORKSPACE.md`(运行/测试入口真值)
6
- 4) `changes/README.md`(变更工件流程与归档)
7
-
8
- 最小协作约束:
9
- - 不确定先跑 `/using-aiws`(Codex 对应 `$using-aiws`);它会先读真值,再把任务路由到合适的 `ws-*` 入口。
10
- - 若你已经明确只是做预检,也可以直接跑 `/ws-preflight`(Codex 对应 `$ws-preflight`);所有实现/修复都以 `AI_PROJECT.md` / `REQUIREMENTS.md` / `AI_WORKSPACE.md` 为准。
11
- - 每次变更建议进入 `change/<change-id>`,并维护 `changes/<change-id>/proposal.md`、`tasks.md`(可选 `design.md`)。
12
- - 若仓库存在 `.gitmodules`:使用 `aiws change start <change-id> --switch`;不要在当前 superproject 里直接手工切分支。
13
- - 提交前执行 `aiws validate .`;需要本机门禁时运行 `aiws hooks install .`(或 `git config core.hooksPath .githooks`)。
14
- - 不要把敏感信息写入 git:`secrets/test-accounts.json`、`.env*`、token、内网地址等。
15
-
16
- 标准链路(建议默认):
17
- - `using-aiws`:默认 bootstrap/router;先读真值,先判 workflow,再进入具体阶段;意图不明确时先澄清。
18
- - `ws-preflight`:读取真值文件,输出约束摘要;若真值缺失,先停止,不直接开工。
19
- - `ws-intake`:计划前置澄清;适用于新需求或中大型变更,按“一题一线程”逐条冻结问题,产出 `plan/*.intake.md` 轻量草案。
20
- - `ws-plan`:建立 `change/<change-id>` 绑定,落盘 `plan/...`,明确 Verify / Risks / Evidence。
21
- - `ws-plan-verify`:在编码前做计划质检 + 多视角方案审查;不过门禁就先修 plan,不跳步进实现。
22
- - `ws-dev`:只做可归因、可验证的小步实现;输出 Changed / Verify / Evidence。
23
- - `ws-dev-lite`:`ws-dev` 的轻量入口;适用于 simple/local 单点修复,默认不建 `plan/...`、不跑 `ws-plan-verify`,治理归属仍收敛到 `ws-dev`。
24
- - `ws-delegate`:仅在任务已绑定且 scope 可控时,使用原生多 agent / sub-agent;否则明确降级为单 agent + 协同工件模式。
25
- - `ws-review`:对当前改动做通用审计;高风险或准备交付时,继续细化到 `ws-spec-review` + `ws-quality-review`。
26
- - `ws-spec-review`:审查 requirements 归因、plan/change 绑定、evidence workflow gate 完整性。
27
- - `ws-quality-review`:审查行为回归、边界条件、测试覆盖与实现质量。
28
- - `ws-commit`:串联 review + validate stamp + commit message 确认;不跳过 hooks。
29
- - `ws-verify-before-complete`:在 finish / handoff 前检查双审查、validate stamp 与交付证据是否齐全。
30
- - `ws-deliver` / `ws-finish`:做交付收尾、fast-forward 合并、submodule 感知 push,并在完整 finish 后自动归档。
31
- - `ws-handoff`:查看/补充归档后的 handoff,给下一次会话或下一位协作者接力。
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
- - 证据:`.agentdocs/tmp/...`(report/log/resp)
32
+ - 证据:`.aiws/tmp/...`(report/log/resp)
33
33
  - 合同:`issues/*.csv`(状态变化:TODO/DOING/DONE/BLOCKED/SKIP)
34
- - 变更工件:`changes/<change-id>/`(proposal/tasks/design;详见 `changes/README.md`)
34
+ - 变更工件:`.aiws/changes/<change-id>/`(proposal/tasks/design;详见 `.aiws/changes/README.md`)
35
35
 
36
36
  不得只在对话里口头描述“已验证/已修复”。
37
37
 
38
38
  推荐(防规则/范围漂移):
39
- - 创建工件:补齐 `changes/<change-id>/proposal.md`、`tasks.md`(可选 `design.md`)
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
- - 证据落盘:每轮至少更新一次 `.agentdocs/tmp/...` 或 `issues/*.csv`(禁止只在对话里口头宣称“已验证/已修复”)。
77
+ - 证据落盘:每轮至少更新一次 `.aiws/tmp/...` 或 `issues/*.csv`(禁止只在对话里口头宣称“已验证/已修复”)。
78
78
 
79
79
  <!-- AIWS_MANAGED_END:ai-project:core -->
80
80
 
@@ -16,7 +16,7 @@
16
16
 
17
17
  - base_url: "http://127.0.0.1:8080"
18
18
  - health_path: "/health"
19
- - log_path: ".agentdocs/tmp/server-test/app.log"
19
+ - log_path: ".aiws/tmp/server-test/app.log"
20
20
 
21
21
  - environment: "test"
22
22
  - base_url_allowlist:
@@ -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
- - `.agentdocs/tmp/server-test/`:响应与日志片段(不入库)
74
+ - `.aiws/tmp/server-test/`:响应与日志片段(不入库)
75
75
 
76
76
  当出现 BLOCKED:
77
77
  - 若属于业务/需求不清:先补齐本文件对应接口的期望,再改代码
@@ -1,5 +1,5 @@
1
1
  # AIWS_MANAGED_BEGIN:gitignore
2
- .agentdocs/
2
+ .aiws/tmp/
3
3
  .aiws/backups/
4
4
  secrets/test-accounts.json
5
5
  .env