@aipper/aiws-spec 0.0.25 → 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.
Files changed (100) hide show
  1. package/docs/aiws-governance-positioning.md +1 -1
  2. package/docs/cli-interface.md +6 -3
  3. package/docs/collaboration-artifacts.md +1 -1
  4. package/docs/spec-contract.md +5 -12
  5. package/docs/workflow-governance-rules.json +3 -3
  6. package/docs/workflow-governance-rules.md +3 -3
  7. package/docs/workflow-router-rules.json +2 -2
  8. package/docs/workflow-router-rules.md +2 -2
  9. package/docs/workflow-stage-contracts.json +9 -9
  10. package/docs/workflow-stage-contracts.md +5 -5
  11. package/package.json +1 -1
  12. package/templates/workspace/.agents/skills/using-aiws/SKILL.md +5 -1
  13. package/templates/workspace/.agents/skills/ws-commit/SKILL.md +4 -1
  14. package/templates/workspace/.agents/skills/ws-deliver/SKILL.md +3 -4
  15. package/templates/workspace/.agents/skills/ws-dev-lite/SKILL.md +58 -0
  16. package/templates/workspace/.agents/skills/ws-finish/SKILL.md +1 -12
  17. package/templates/workspace/.agents/skills/ws-handoff/SKILL.md +8 -8
  18. package/templates/workspace/.aiws/manifest.json +2 -6
  19. package/templates/workspace/.claude/commands/using-aiws.md +3 -2
  20. package/templates/workspace/.claude/commands/ws-dev-lite.md +31 -0
  21. package/templates/workspace/.claude/commands/ws-finish.md +1 -1
  22. package/templates/workspace/.claude/commands/ws-handoff.md +3 -2
  23. package/templates/workspace/.claude/commands/ws-review.md +2 -2
  24. package/templates/workspace/.claude/skills/using-aiws/SKILL.md +5 -1
  25. package/templates/workspace/.claude/skills/ws-commit/SKILL.md +4 -1
  26. package/templates/workspace/.claude/skills/ws-deliver/SKILL.md +3 -4
  27. package/templates/workspace/.claude/skills/ws-dev-lite/SKILL.md +58 -0
  28. package/templates/workspace/.claude/skills/ws-finish/SKILL.md +1 -12
  29. package/templates/workspace/.claude/skills/ws-handoff/SKILL.md +8 -8
  30. package/templates/workspace/.githooks/commit-msg +10 -0
  31. package/templates/workspace/.opencode/command/using-aiws.md +3 -2
  32. package/templates/workspace/.opencode/command/ws-dev-lite.md +34 -0
  33. package/templates/workspace/.opencode/command/ws-finish.md +1 -1
  34. package/templates/workspace/.opencode/command/ws-handoff.md +4 -3
  35. package/templates/workspace/.opencode/command/ws-review.md +2 -2
  36. package/templates/workspace/.opencode/commands/using-aiws.md +3 -2
  37. package/templates/workspace/.opencode/commands/ws-dev-lite.md +34 -0
  38. package/templates/workspace/.opencode/commands/ws-finish.md +1 -1
  39. package/templates/workspace/.opencode/commands/ws-handoff.md +4 -3
  40. package/templates/workspace/.opencode/commands/ws-review.md +2 -2
  41. package/templates/workspace/.opencode/skills/using-aiws/SKILL.md +5 -1
  42. package/templates/workspace/.opencode/skills/ws-commit/SKILL.md +4 -1
  43. package/templates/workspace/.opencode/skills/ws-deliver/SKILL.md +3 -4
  44. package/templates/workspace/.opencode/skills/ws-dev-lite/SKILL.md +58 -0
  45. package/templates/workspace/.opencode/skills/ws-finish/SKILL.md +1 -12
  46. package/templates/workspace/.opencode/skills/ws-handoff/SKILL.md +8 -8
  47. package/templates/workspace/AGENTS.md +5 -3
  48. package/templates/workspace/AI_PROJECT.md +1 -1
  49. package/templates/workspace/AI_WORKSPACE.md +1 -1
  50. package/templates/workspace/changes/README.md +8 -5
  51. package/templates/workspace/changes/templates/tasks.md +1 -1
  52. package/templates/workspace/manifest.json +63 -80
  53. package/templates/workspace/memory-bank/README.md +1 -2
  54. package/templates/workspace/.iflow/agents/feature-reviewer.md +0 -27
  55. package/templates/workspace/.iflow/agents/requirements-analyst.md +0 -24
  56. package/templates/workspace/.iflow/agents/server-commit-manager.md +0 -28
  57. package/templates/workspace/.iflow/agents/server-fix-implementer.md +0 -31
  58. package/templates/workspace/.iflow/agents/server-test-planner.md +0 -28
  59. package/templates/workspace/.iflow/agents/server-test-triager.md +0 -30
  60. package/templates/workspace/.iflow/commands/aiws-init.toml +0 -24
  61. package/templates/workspace/.iflow/commands/aiws-rollback.toml +0 -18
  62. package/templates/workspace/.iflow/commands/aiws-update.toml +0 -23
  63. package/templates/workspace/.iflow/commands/aiws-validate.toml +0 -18
  64. package/templates/workspace/.iflow/commands/server-commit.toml +0 -27
  65. package/templates/workspace/.iflow/commands/server-drain.toml +0 -99
  66. package/templates/workspace/.iflow/commands/server-fix-and-commit.toml +0 -27
  67. package/templates/workspace/.iflow/commands/server-fix.toml +0 -65
  68. package/templates/workspace/.iflow/commands/server-test-plan.toml +0 -62
  69. package/templates/workspace/.iflow/commands/server-test.toml +0 -58
  70. package/templates/workspace/.iflow/commands/server-triage.toml +0 -38
  71. package/templates/workspace/.iflow/commands/server_test-plan.toml +0 -12
  72. package/templates/workspace/.iflow/commands/server_test.toml +0 -12
  73. package/templates/workspace/.iflow/commands/ws-analyze.toml +0 -33
  74. package/templates/workspace/.iflow/commands/ws-commit.toml +0 -46
  75. package/templates/workspace/.iflow/commands/ws-contract-check.toml +0 -69
  76. package/templates/workspace/.iflow/commands/ws-deliver.toml +0 -58
  77. package/templates/workspace/.iflow/commands/ws-dev.toml +0 -34
  78. package/templates/workspace/.iflow/commands/ws-doctor.toml +0 -141
  79. package/templates/workspace/.iflow/commands/ws-env-doctor.toml +0 -74
  80. package/templates/workspace/.iflow/commands/ws-feature-deliver.toml +0 -44
  81. package/templates/workspace/.iflow/commands/ws-feature-plan.toml +0 -47
  82. package/templates/workspace/.iflow/commands/ws-finish.toml +0 -54
  83. package/templates/workspace/.iflow/commands/ws-init.toml +0 -53
  84. package/templates/workspace/.iflow/commands/ws-memory-bank-init.toml +0 -100
  85. package/templates/workspace/.iflow/commands/ws-migrate.toml +0 -59
  86. package/templates/workspace/.iflow/commands/ws-preflight.toml +0 -30
  87. package/templates/workspace/.iflow/commands/ws-pull.toml +0 -47
  88. package/templates/workspace/.iflow/commands/ws-push.toml +0 -40
  89. package/templates/workspace/.iflow/commands/ws-req-change.toml +0 -64
  90. package/templates/workspace/.iflow/commands/ws-req-contract-sync.toml +0 -25
  91. package/templates/workspace/.iflow/commands/ws-req-contract-validate.toml +0 -16
  92. package/templates/workspace/.iflow/commands/ws-req-flow-sync.toml +0 -36
  93. package/templates/workspace/.iflow/commands/ws-req-review.toml +0 -56
  94. package/templates/workspace/.iflow/commands/ws-review.toml +0 -33
  95. package/templates/workspace/.iflow/commands/ws-rule.toml +0 -43
  96. package/templates/workspace/.iflow/commands/ws-submodule-setup.toml +0 -32
  97. package/templates/workspace/tools/iflow_watchdog.sh +0 -138
  98. package/templates/workspace/tools/install_iflow_watchdog_systemd_user.sh +0 -118
  99. package/templates/workspace/tools/systemd/iflow-watchdog@.service +0 -16
  100. package/templates/workspace/tools/systemd/iflow-watchdog@.timer +0 -11
@@ -53,7 +53,7 @@ description: 默认 workflow bootstrap/router:先读真值,再路由到正
53
53
  - finish / merge / push / cleanup:`$ws-finish`
54
54
  - handoff / archive summary:`$ws-handoff`
55
55
  - 中大型实现、需要方案、需要 change/worktree:`$ws-plan`
56
- - 小步明确实现/修复/配置调整:`$ws-dev`
56
+ - 小步明确实现/修复/配置调整:`$ws-dev`(若是 simple/local 单点修复,且用户明确希望走轻量入口,可显式进入 `$ws-dev-lite`)
57
57
  4) 若任务意图或归因不明确:
58
58
  - 只问 1-3 个关键澄清问题
59
59
  - 明确写出缺的是什么:意图、`Req_ID` / `Problem_ID`、verify、change 上下文
@@ -64,6 +64,10 @@ description: 默认 workflow bootstrap/router:先读真值,再路由到正
64
64
  - `Binding:`
65
65
  - `Route:`
66
66
  - `Why:`
67
+ - 若 `Route: $ws-dev` 且任务属于 simple/local 单点修复:
68
+ - `Next:` 可优先进入 `$ws-dev-lite`
69
+ - 否则:
70
+ - `Next:` 进入对应主 skill
67
71
  - 然后在同一轮中继续遵循对应 skill 的契约
68
72
  6) 路由约束:
69
73
  - router 自己不是实现阶段;不要在给出 route 之前直接改代码
@@ -19,7 +19,10 @@ description: 提交(当前分支可直提;submodule 感知;先审计/门
19
19
  - 不写入任何 secrets
20
20
  - 检测到 submodule 有未提交改动时,不允许直接提交 superproject(先处理 submodule)
21
21
  - commit message 优先使用中文(命令/路径/代码标识符保持原样不翻译);格式建议:`<类型>: <简述>`(例如 `修复: 登录页空指针`、`功能: 新增 submodule targets 校验`、`重构: 提取共享脚本`)
22
- - 若启用了 `.githooks/commit-msg`:默认会提示优先中文;只有在 `git config aiws.commitMessagePolicy strict` 时才会拒绝全英文首行(`Merge/Revert/fixup!/squash!` 例外)
22
+ - 若启用了 `.githooks/commit-msg`:默认按仓库角色区分
23
+ - superproject / root 仓库(存在 `.gitmodules`)默认允许自由 commit message
24
+ - submodule / 普通仓库默认提示优先中文
25
+ - 只有在 `git config aiws.commitMessagePolicy strict` 时才会拒绝全英文首行(`Merge/Revert/fixup!/squash!` 例外)
23
26
 
24
27
  阶段定位:
25
28
  - commit gate;负责在提交前收敛 review、validate 和 message 确认,不允许跳过 hooks。
@@ -218,10 +218,9 @@ aiws change state "${change_id}" --write
218
218
  aiws change finish <change-id> --into <base-branch>
219
219
  ```
220
220
 
221
- ## F) (可选)归档变更工件
222
- ```bash
223
- aiws change archive <change-id>
224
- ```
221
+ ## F) 归档说明
222
+ - 标准链路下不需要再单独执行 `aiws change archive <change-id>`。
223
+ - 进入 `$ws-finish` 并使用 `aiws change finish --push` 时,会自动完成 archive + handoff。
225
224
 
226
225
  输出要求:
227
226
  - `Submodules:` 每个 submodule 的分支/提交摘要(repo → commit sha → message)
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: ws-dev-lite
3
+ description: 轻量开发(simple/local 单点修复;最小改动 + 最小验证)
4
+ ---
5
+
6
+ 用中文输出(命令/路径/代码标识符保持原样不翻译)。
7
+
8
+ 目标:在不引入完整重流程的前提下,完成一次 simple/local 小问题修复,并保持可验证、可追溯。
9
+
10
+ 定位:
11
+ - `ws-dev` 的轻量入口,不是新的 workflow stage。
12
+ - 适用于单点修复、局部配置调整、明确回归修复;不适用于中大型任务。
13
+
14
+ 适用前提:
15
+ - 目标明确,且能归因到 `Req_ID` 或 `Problem_ID`
16
+ - 验证入口明确,且能做最小可复现验证
17
+ - 一般只影响单文件或紧密相关的小范围文件
18
+ - 不需要先改 `REQUIREMENTS.md`,也不需要先单独做 review
19
+
20
+ 立即升级回主流程的情形:
21
+ - 发现任务其实是 medium/complex、跨模块、跨目录或需要方案设计
22
+ - 无法明确归因、verify、change 上下文
23
+ - 需要新建复杂 change/worktree 或处理 submodule 目标分支真值
24
+ - 修复过程中出现连锁改动、需要补系统性测试或需求调整
25
+
26
+ 默认约束:
27
+ - 先做 `$ws-preflight`
28
+ - 默认不创建 `plan/...`
29
+ - 默认不跑 `$ws-plan-verify`
30
+ - 默认不要求先做双 review
31
+ - 若后续准备提交/交付,仍需进入 `$ws-review` / `$ws-commit` / `$ws-finish`
32
+
33
+ 执行步骤:
34
+ 1) 先读取 `AI_PROJECT.md` / `REQUIREMENTS.md` / `AI_WORKSPACE.md`,输出约束摘要。
35
+ 2) 先判断自己是否真的属于 lite:
36
+ - 用一句话写清 `Goal`
37
+ - 用一句话写清 `Why lite`
38
+ - 若说不清,立刻回退到 `$ws-dev` 或 `$ws-plan`
39
+ 3) 在当前 change 上下文内实施最小改动:
40
+ - 不为“形式完整”额外扩 scope
41
+ - 不默认补与本问题无关的重构或测试矩阵
42
+ 4) 运行最小可复现验证:
43
+ - 优先使用 `AI_WORKSPACE.md` 已声明的命令
44
+ - 若只需局部回归,允许运行更窄的验证,但要说明为什么足够
45
+ 5) 留下至少一个可追溯证据:
46
+ - 实际改动文件
47
+ - 或 `.agentdocs/tmp/...`
48
+ - 或 `changes/<change-id>/...`
49
+ 6) 输出:
50
+ - `变更文件(Changed):`
51
+ - `验证(Verify):`
52
+ - `证据(Evidence):`
53
+ - `Next:` 若准备提交,进入 `$ws-review` 或 `$ws-commit`
54
+
55
+ 输出要求:
56
+ - 明确说明为什么这是 lite,而不是完整 `ws-dev`
57
+ - 未运行不声称已运行
58
+ - 一旦发现复杂度升高,立刻停止 lite 叙事,切回 `$ws-dev` 或 `$ws-plan`
@@ -206,15 +206,4 @@ fi
206
206
  ```
207
207
  说明:
208
208
  - 该命令内部已经包含主仓库 push 成功后安全清理独立 change worktree 的逻辑。
209
-
210
- 7) (可选)归档变更工件(完成交付后推荐):
211
- ```bash
212
- change_id="<change-id>"
213
- if [[ -x "./node_modules/.bin/aiws" ]]; then
214
- ./node_modules/.bin/aiws change archive "${change_id}"
215
- elif command -v aiws >/dev/null 2>&1; then
216
- aiws change archive "${change_id}"
217
- else
218
- npx @aipper/aiws change archive "${change_id}"
219
- fi
220
- ```
209
+ - 当 `--push` 完整成功时,还会自动把 `changes/<change-id>/` 归档到 `changes/archive/...`,生成 `handoff.md`,并补一个 `归档: <change-id>` commit。
@@ -11,15 +11,15 @@ description: 交接(归档后生成/查看 changes/archive/.../handoff.md)
11
11
  - 指引在归档与依赖场景下如何使用 handoff
12
12
 
13
13
  说明:
14
- - `handoff.md` `aiws change archive` 自动生成:`changes/archive/<date>-<change-id>/handoff.md`
14
+ - `handoff.md` 默认由 `aiws change finish --push` 自动归档时生成:`changes/archive/<date>-<change-id>/handoff.md`
15
15
  - `Depends_On` 依赖若已归档,`aiws change start` 会尝试读取依赖的 `handoff.md` 并输出摘要
16
16
 
17
17
  阶段定位:
18
- - handoff / archive 阶段;负责把已完成 change 的上下文压缩成后续协作者可直接接手的说明。
18
+ - handoff / archive 阶段;负责查看或补充已归档 change 的交接说明。
19
19
 
20
20
  必需输入:
21
- - 当前或已归档的 `change/<change-id>`
22
- - 对应 archive 目录或准备归档的 change 工件
21
+ - 已归档的 `change/<change-id>`
22
+ - 对应 archive 目录
23
23
 
24
24
  必需输出:
25
25
  - `Change_ID:` 当前交接对象
@@ -28,7 +28,6 @@ description: 交接(归档后生成/查看 changes/archive/.../handoff.md)
28
28
 
29
29
  阻断条件:
30
30
  - 无法定位目标 change
31
- - 未归档且无法执行 `aiws change archive <change-id>`
32
31
  - `handoff.md` 无法生成或读取
33
32
 
34
33
  完成判定:
@@ -36,15 +35,16 @@ description: 交接(归档后生成/查看 changes/archive/.../handoff.md)
36
35
 
37
36
  执行建议:
38
37
  1) 先运行 `$ws-preflight`。
39
- 2) 若本 change 已完成并准备归档:运行 `aiws change archive <change-id>`(会先做严格校验,并移动目录到 `changes/archive/`,同时生成 `handoff.md`)。
38
+ 2) 先确认本 change 已通过 `aiws change finish <change-id> --push` 完成自动归档。
40
39
  3) 查看 handoff:
41
40
  ```bash
42
41
  change_id="<change-id>"
43
42
  ls -1 changes/archive/*-"${change_id}"/handoff.md
44
43
  sed -n '1,160p' changes/archive/*-"${change_id}"/handoff.md
45
44
  ```
46
- 4) 若要让后续 change 可接力:在 `proposal.md` 里声明 `Blocks`(下一步建议会据此生成)。
47
- 5) 若本 change 使用了外部 / 子 agent 协作:确认关键结论已经进入 `review/` `evidence/`,避免 handoff 只留下原始 patch/分析文件而没有最终结论。
45
+ 4) 若是历史/异常场景,尚未归档且需要手工恢复,再运行 `aiws change archive <change-id>`。
46
+ 5) 若要让后续 change 可接力:在 `proposal.md` 里声明 `Blocks`(下一步建议会据此生成)。
47
+ 6) 若本 change 使用了外部 / 子 agent 协作:确认关键结论已经进入 `review/` 或 `evidence/`,避免 handoff 只留下原始 patch/分析文件而没有最终结论。
48
48
 
49
49
  输出要求:
50
50
  - `Change_ID:` <change-id>
@@ -13,6 +13,16 @@ policy="${AIWS_COMMIT_MSG_POLICY:-}"
13
13
  if [[ -z "${policy:-}" ]]; then
14
14
  policy="$(git config --get aiws.commitMessagePolicy 2>/dev/null || true)"
15
15
  fi
16
+ if [[ -z "${policy:-}" ]]; then
17
+ superproject_root="$(git rev-parse --show-superproject-working-tree 2>/dev/null || true)"
18
+ if [[ -n "${superproject_root:-}" ]]; then
19
+ policy="warn"
20
+ elif [[ -f ".gitmodules" ]]; then
21
+ policy="off"
22
+ else
23
+ policy="warn"
24
+ fi
25
+ fi
16
26
  policy="${policy:-warn}"
17
27
 
18
28
  case "$policy" in
@@ -18,12 +18,13 @@ description: 默认 workflow router:先判定阶段,再进入具体 ws-* 入
18
18
  4) 路由规则:
19
19
  - 需求/验收/合同变更:`/ws-req-review`
20
20
  - 中大型实现或需要 change/worktree:`/ws-plan`
21
- - 小步明确实现:`/ws-dev`
21
+ - 小步明确实现:`/ws-dev`(若是 simple/local 单点修复,可显式进入 `/ws-dev-lite`)
22
22
  - 评审/审计:`/ws-review`
23
23
  - finish / merge / push / cleanup:`/ws-finish`
24
24
  - handoff / archive summary:`/ws-handoff`
25
25
  5) 输出 `OpenCode mode:` / `Task intent:` / `Binding:` / `Route:` / `Why:` / `Next:`。
26
- 6) 除非用户只要路由判断,否则给出 route 后继续遵循对应入口的契约。
26
+ 6) `Route: ws-dev` 且任务属于 simple/local 单点修复:`Next` 可显式建议 `/ws-dev-lite`。
27
+ 7) 除非用户只要路由判断,否则给出 route 后继续遵循对应入口的契约。
27
28
  <!-- AIWS_MANAGED_END:opencode:using-aiws -->
28
29
 
29
30
  可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
@@ -0,0 +1,34 @@
1
+ ---
2
+ description: 轻量开发:simple/local 单点修复;最小改动 + 最小验证
3
+ ---
4
+ <!-- AIWS_MANAGED_BEGIN:opencode:ws-dev-lite -->
5
+ # ws dev lite
6
+
7
+ 用中文输出(命令/路径/代码标识符保持原样不翻译)。
8
+
9
+ 目标:处理 simple/local 单点修复,走最小改动 + 最小验证,不默认拉起完整重流程。
10
+
11
+ 使用条件:
12
+ - 目标明确、归因明确、验证入口明确
13
+ - 一般只影响单文件或紧密相关的小范围文件
14
+ - 不需要先改 `REQUIREMENTS.md`
15
+
16
+ 强制流程:
17
+ 1) 先运行 `/ws-preflight`。
18
+ 2) 先说明:
19
+ - `Goal:`
20
+ - `Why lite:`
21
+ - 若说不清,立刻回到 `/ws-dev` 或 `/ws-plan`
22
+ 3) 实施最小改动;不要为形式完整额外扩 scope。
23
+ 4) 运行最小可复现验证;允许比全量更窄,但必须说明为什么足够。
24
+ 5) 输出 `Changed / Verify / Evidence / Next`。
25
+ 6) 若准备提交或交付:后续仍进入 `/ws-review`、`/ws-commit`、`/ws-finish`。
26
+
27
+ 边界:
28
+ - 默认不创建 `plan/...`
29
+ - 默认不跑 `ws-plan-verify`
30
+ - 默认不要求先做双 review
31
+ - 一旦复杂度升高,停止 lite,切回主流程
32
+ <!-- AIWS_MANAGED_END:opencode:ws-dev-lite -->
33
+
34
+ 可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
@@ -61,7 +61,7 @@ fi
61
61
  6) 任一 submodule 不满足 fast-forward 条件时立即停止(不要继续 push 主仓库)。
62
62
  7) submodules 全部成功后,再回到主仓库执行:
63
63
  - `aiws change finish <change-id> --push`
64
- 8) (可选)交付完成后归档变更工件:`aiws change archive <change-id>`。
64
+ 8) `aiws change finish --push` 成功后会自动归档并生成 handoff;只有历史/异常场景才需要手工运行 `aiws change archive <change-id>`。
65
65
 
66
66
  安全:
67
67
  - push 前先输出状态并说明远端/分支。
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: 交接:查看归档 change 的 handoff.md(由 aiws change archive 生成)
2
+ description: 交接:查看归档 change 的 handoff.md(标准由 aiws change finish --push 自动归档生成)
3
3
  ---
4
4
  <!-- AIWS_MANAGED_BEGIN:opencode:ws-handoff -->
5
5
  # ws handoff
@@ -8,10 +8,10 @@ description: 交接:查看归档 change 的 handoff.md(由 aiws change archi
8
8
 
9
9
  目标:
10
10
  - 交接与回放:通过 `handoff.md` 让已归档的 change 可被下一位/下一次会话快速接力。
11
- - handoff 文件位置:`changes/archive/<date>-<change-id>/handoff.md`(由 `aiws change archive` 自动生成)。
11
+ - handoff 文件位置:`changes/archive/<date>-<change-id>/handoff.md`(默认由 `aiws change finish --push` 自动归档时生成)。
12
12
 
13
13
  执行建议:
14
- 1) change 已完成并准备归档:运行 `/p-aiws-change-archive`(会先严格校验,再归档并生成 `handoff.md`)。
14
+ 1) 先确认 change 已通过 `/ws-finish` 或 `aiws change finish --push` 完成自动归档。
15
15
  2) 查看 handoff:
16
16
  ```bash
17
17
  change_id="<change-id>"
@@ -20,6 +20,7 @@ sed -n '1,160p' changes/archive/*-"${change_id}"/handoff.md
20
20
  ```
21
21
  3) 依赖提示:
22
22
  - 若你在某个 change 的 `proposal.md` 声明了 `Depends_On`,`aiws change start` 会尝试读取依赖 change 的 `handoff.md` 并输出摘要(前提:依赖已归档且 handoff 存在)。
23
+ - 若是历史/异常场景尚未归档,再手工运行 `/p-aiws-change-archive`。
23
24
  <!-- AIWS_MANAGED_END:opencode:ws-handoff -->
24
25
 
25
26
  可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
@@ -17,8 +17,8 @@ description: 评审:提交前审计改动并落盘证据
17
17
  - 是否有可复现验证命令与证据
18
18
  - 是否维护了 `changes/<change-id>/` 或相关 `issues/*.csv`
19
19
  3) 将审计落盘到(目录不存在则创建):
20
- - 默认:`changes/<change-id>/review/opencode-review.md`
21
- - 回退:`.agentdocs/tmp/review/opencode-review.md`(仅在无法确定 `change-id` 时使用)
20
+ - 默认:`changes/<change-id>/review/codex-review.md`
21
+ - 回退:`.agentdocs/tmp/review/codex-review.md`(仅在无法确定 `change-id` 时使用)
22
22
  4) 回复中输出:
23
23
  - `证据(Evidence):` 证据文件路径
24
24
  - `主要风险(Top risks):` 3–8 条(高→低)
@@ -18,12 +18,13 @@ description: 默认 workflow router:先判定阶段,再进入具体 ws-* 入
18
18
  4) 路由规则:
19
19
  - 需求/验收/合同变更:`/ws-req-review`
20
20
  - 中大型实现或需要 change/worktree:`/ws-plan`
21
- - 小步明确实现:`/ws-dev`
21
+ - 小步明确实现:`/ws-dev`(若是 simple/local 单点修复,可显式进入 `/ws-dev-lite`)
22
22
  - 评审/审计:`/ws-review`
23
23
  - finish / merge / push / cleanup:`/ws-finish`
24
24
  - handoff / archive summary:`/ws-handoff`
25
25
  5) 输出 `OpenCode mode:` / `Task intent:` / `Binding:` / `Route:` / `Why:` / `Next:`。
26
- 6) 除非用户只要路由判断,否则给出 route 后继续遵循对应入口的契约。
26
+ 6) `Route: ws-dev` 且任务属于 simple/local 单点修复:`Next` 可显式建议 `/ws-dev-lite`。
27
+ 7) 除非用户只要路由判断,否则给出 route 后继续遵循对应入口的契约。
27
28
  <!-- AIWS_MANAGED_END:opencode:using-aiws -->
28
29
 
29
30
  可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
@@ -0,0 +1,34 @@
1
+ ---
2
+ description: 轻量开发:simple/local 单点修复;最小改动 + 最小验证
3
+ ---
4
+ <!-- AIWS_MANAGED_BEGIN:opencode:ws-dev-lite -->
5
+ # ws dev lite
6
+
7
+ 用中文输出(命令/路径/代码标识符保持原样不翻译)。
8
+
9
+ 目标:处理 simple/local 单点修复,走最小改动 + 最小验证,不默认拉起完整重流程。
10
+
11
+ 使用条件:
12
+ - 目标明确、归因明确、验证入口明确
13
+ - 一般只影响单文件或紧密相关的小范围文件
14
+ - 不需要先改 `REQUIREMENTS.md`
15
+
16
+ 强制流程:
17
+ 1) 先运行 `/ws-preflight`。
18
+ 2) 先说明:
19
+ - `Goal:`
20
+ - `Why lite:`
21
+ - 若说不清,立刻回到 `/ws-dev` 或 `/ws-plan`
22
+ 3) 实施最小改动;不要为形式完整额外扩 scope。
23
+ 4) 运行最小可复现验证;允许比全量更窄,但必须说明为什么足够。
24
+ 5) 输出 `Changed / Verify / Evidence / Next`。
25
+ 6) 若准备提交或交付:后续仍进入 `/ws-review`、`/ws-commit`、`/ws-finish`。
26
+
27
+ 边界:
28
+ - 默认不创建 `plan/...`
29
+ - 默认不跑 `ws-plan-verify`
30
+ - 默认不要求先做双 review
31
+ - 一旦复杂度升高,停止 lite,切回主流程
32
+ <!-- AIWS_MANAGED_END:opencode:ws-dev-lite -->
33
+
34
+ 可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
@@ -61,7 +61,7 @@ fi
61
61
  6) 任一 submodule 不满足 fast-forward 条件时立即停止(不要继续 push 主仓库)。
62
62
  7) submodules 全部成功后,再回到主仓库执行:
63
63
  - `aiws change finish <change-id> --push`
64
- 8) (可选)交付完成后归档变更工件:`aiws change archive <change-id>`。
64
+ 8) `aiws change finish --push` 成功后会自动归档并生成 handoff;只有历史/异常场景才需要手工运行 `aiws change archive <change-id>`。
65
65
 
66
66
  安全:
67
67
  - push 前先输出状态并说明远端/分支。
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: 交接:查看归档 change 的 handoff.md(由 aiws change archive 生成)
2
+ description: 交接:查看归档 change 的 handoff.md(标准由 aiws change finish --push 自动归档生成)
3
3
  ---
4
4
  <!-- AIWS_MANAGED_BEGIN:opencode:ws-handoff -->
5
5
  # ws handoff
@@ -8,10 +8,10 @@ description: 交接:查看归档 change 的 handoff.md(由 aiws change archi
8
8
 
9
9
  目标:
10
10
  - 交接与回放:通过 `handoff.md` 让已归档的 change 可被下一位/下一次会话快速接力。
11
- - handoff 文件位置:`changes/archive/<date>-<change-id>/handoff.md`(由 `aiws change archive` 自动生成)。
11
+ - handoff 文件位置:`changes/archive/<date>-<change-id>/handoff.md`(默认由 `aiws change finish --push` 自动归档时生成)。
12
12
 
13
13
  执行建议:
14
- 1) change 已完成并准备归档:运行 `/p-aiws-change-archive`(会先严格校验,再归档并生成 `handoff.md`)。
14
+ 1) 先确认 change 已通过 `/ws-finish` 或 `aiws change finish --push` 完成自动归档。
15
15
  2) 查看 handoff:
16
16
  ```bash
17
17
  change_id="<change-id>"
@@ -20,6 +20,7 @@ sed -n '1,160p' changes/archive/*-"${change_id}"/handoff.md
20
20
  ```
21
21
  3) 依赖提示:
22
22
  - 若你在某个 change 的 `proposal.md` 声明了 `Depends_On`,`aiws change start` 会尝试读取依赖 change 的 `handoff.md` 并输出摘要(前提:依赖已归档且 handoff 存在)。
23
+ - 若是历史/异常场景尚未归档,再手工运行 `/p-aiws-change-archive`。
23
24
  <!-- AIWS_MANAGED_END:opencode:ws-handoff -->
24
25
 
25
26
  可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
@@ -17,8 +17,8 @@ description: 评审:提交前审计改动并落盘证据
17
17
  - 是否有可复现验证命令与证据
18
18
  - 是否维护了 `changes/<change-id>/` 或相关 `issues/*.csv`
19
19
  3) 将审计落盘到(目录不存在则创建):
20
- - 默认:`changes/<change-id>/review/opencode-review.md`
21
- - 回退:`.agentdocs/tmp/review/opencode-review.md`(仅在无法确定 `change-id` 时使用)
20
+ - 默认:`changes/<change-id>/review/codex-review.md`
21
+ - 回退:`.agentdocs/tmp/review/codex-review.md`(仅在无法确定 `change-id` 时使用)
22
22
  4) 回复中输出:
23
23
  - `证据(Evidence):` 证据文件路径
24
24
  - `主要风险(Top risks):` 3–8 条(高→低)
@@ -56,7 +56,7 @@ description: 默认 workflow bootstrap/router:先读真值,再路由到正
56
56
  - finish / merge / push / cleanup:`$ws-finish`
57
57
  - handoff / archive summary:`$ws-handoff`
58
58
  - 中大型实现、需要方案、需要 change/worktree:`$ws-plan`
59
- - 小步明确实现/修复/配置调整:`$ws-dev`
59
+ - 小步明确实现/修复/配置调整:`$ws-dev`(若是 simple/local 单点修复,且用户明确希望走轻量入口,可显式进入 `$ws-dev-lite`)
60
60
  4) 若任务意图或归因不明确:
61
61
  - 只问 1-3 个关键澄清问题
62
62
  - 明确写出缺的是什么:意图、`Req_ID` / `Problem_ID`、verify、change 上下文
@@ -67,6 +67,10 @@ description: 默认 workflow bootstrap/router:先读真值,再路由到正
67
67
  - `Binding:`
68
68
  - `Route:`
69
69
  - `Why:`
70
+ - 若 `Route: $ws-dev` 且任务属于 simple/local 单点修复:
71
+ - `Next:` 可优先进入 `$ws-dev-lite`
72
+ - 否则:
73
+ - `Next:` 进入对应主 skill
70
74
  - 然后在同一轮中继续遵循对应 skill 的契约
71
75
  6) 路由约束:
72
76
  - router 自己不是实现阶段;不要在给出 route 之前直接改代码
@@ -19,7 +19,10 @@ description: 提交(当前分支可直提;submodule 感知;先审计/门
19
19
  - 不写入任何 secrets
20
20
  - 检测到 submodule 有未提交改动时,不允许直接提交 superproject(先处理 submodule)
21
21
  - commit message 优先使用中文(命令/路径/代码标识符保持原样不翻译);格式建议:`<类型>: <简述>`(例如 `修复: 登录页空指针`、`功能: 新增 submodule targets 校验`、`重构: 提取共享脚本`)
22
- - 若启用了 `.githooks/commit-msg`:默认会提示优先中文;只有在 `git config aiws.commitMessagePolicy strict` 时才会拒绝全英文首行(`Merge/Revert/fixup!/squash!` 例外)
22
+ - 若启用了 `.githooks/commit-msg`:默认按仓库角色区分
23
+ - superproject / root 仓库(存在 `.gitmodules`)默认允许自由 commit message
24
+ - submodule / 普通仓库默认提示优先中文
25
+ - 只有在 `git config aiws.commitMessagePolicy strict` 时才会拒绝全英文首行(`Merge/Revert/fixup!/squash!` 例外)
23
26
 
24
27
  阶段定位:
25
28
  - commit gate;负责在提交前收敛 review、validate 和 message 确认,不允许跳过 hooks。
@@ -218,10 +218,9 @@ aiws change state "${change_id}" --write
218
218
  aiws change finish <change-id> --into <base-branch>
219
219
  ```
220
220
 
221
- ## F) (可选)归档变更工件
222
- ```bash
223
- aiws change archive <change-id>
224
- ```
221
+ ## F) 归档说明
222
+ - 标准链路下不需要再单独执行 `aiws change archive <change-id>`。
223
+ - 进入 `$ws-finish` 并使用 `aiws change finish --push` 时,会自动完成 archive + handoff。
225
224
 
226
225
  输出要求:
227
226
  - `Submodules:` 每个 submodule 的分支/提交摘要(repo → commit sha → message)
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: ws-dev-lite
3
+ description: 轻量开发(simple/local 单点修复;最小改动 + 最小验证)
4
+ ---
5
+
6
+ 用中文输出(命令/路径/代码标识符保持原样不翻译)。
7
+
8
+ 目标:在不引入完整重流程的前提下,完成一次 simple/local 小问题修复,并保持可验证、可追溯。
9
+
10
+ 定位:
11
+ - `ws-dev` 的轻量入口,不是新的 workflow stage。
12
+ - 适用于单点修复、局部配置调整、明确回归修复;不适用于中大型任务。
13
+
14
+ 适用前提:
15
+ - 目标明确,且能归因到 `Req_ID` 或 `Problem_ID`
16
+ - 验证入口明确,且能做最小可复现验证
17
+ - 一般只影响单文件或紧密相关的小范围文件
18
+ - 不需要先改 `REQUIREMENTS.md`,也不需要先单独做 review
19
+
20
+ 立即升级回主流程的情形:
21
+ - 发现任务其实是 medium/complex、跨模块、跨目录或需要方案设计
22
+ - 无法明确归因、verify、change 上下文
23
+ - 需要新建复杂 change/worktree 或处理 submodule 目标分支真值
24
+ - 修复过程中出现连锁改动、需要补系统性测试或需求调整
25
+
26
+ 默认约束:
27
+ - 先做 `$ws-preflight`
28
+ - 默认不创建 `plan/...`
29
+ - 默认不跑 `$ws-plan-verify`
30
+ - 默认不要求先做双 review
31
+ - 若后续准备提交/交付,仍需进入 `$ws-review` / `$ws-commit` / `$ws-finish`
32
+
33
+ 执行步骤:
34
+ 1) 先读取 `AI_PROJECT.md` / `REQUIREMENTS.md` / `AI_WORKSPACE.md`,输出约束摘要。
35
+ 2) 先判断自己是否真的属于 lite:
36
+ - 用一句话写清 `Goal`
37
+ - 用一句话写清 `Why lite`
38
+ - 若说不清,立刻回退到 `$ws-dev` 或 `$ws-plan`
39
+ 3) 在当前 change 上下文内实施最小改动:
40
+ - 不为“形式完整”额外扩 scope
41
+ - 不默认补与本问题无关的重构或测试矩阵
42
+ 4) 运行最小可复现验证:
43
+ - 优先使用 `AI_WORKSPACE.md` 已声明的命令
44
+ - 若只需局部回归,允许运行更窄的验证,但要说明为什么足够
45
+ 5) 留下至少一个可追溯证据:
46
+ - 实际改动文件
47
+ - 或 `.agentdocs/tmp/...`
48
+ - 或 `changes/<change-id>/...`
49
+ 6) 输出:
50
+ - `变更文件(Changed):`
51
+ - `验证(Verify):`
52
+ - `证据(Evidence):`
53
+ - `Next:` 若准备提交,进入 `$ws-review` 或 `$ws-commit`
54
+
55
+ 输出要求:
56
+ - 明确说明为什么这是 lite,而不是完整 `ws-dev`
57
+ - 未运行不声称已运行
58
+ - 一旦发现复杂度升高,立刻停止 lite 叙事,切回 `$ws-dev` 或 `$ws-plan`
@@ -206,15 +206,4 @@ fi
206
206
  ```
207
207
  说明:
208
208
  - 该命令内部已经包含主仓库 push 成功后安全清理独立 change worktree 的逻辑。
209
-
210
- 7) (可选)归档变更工件(完成交付后推荐):
211
- ```bash
212
- change_id="<change-id>"
213
- if [[ -x "./node_modules/.bin/aiws" ]]; then
214
- ./node_modules/.bin/aiws change archive "${change_id}"
215
- elif command -v aiws >/dev/null 2>&1; then
216
- aiws change archive "${change_id}"
217
- else
218
- npx @aipper/aiws change archive "${change_id}"
219
- fi
220
- ```
209
+ - 当 `--push` 完整成功时,还会自动把 `changes/<change-id>/` 归档到 `changes/archive/...`,生成 `handoff.md`,并补一个 `归档: <change-id>` commit。
@@ -11,15 +11,15 @@ description: 交接(归档后生成/查看 changes/archive/.../handoff.md)
11
11
  - 指引在归档与依赖场景下如何使用 handoff
12
12
 
13
13
  说明:
14
- - `handoff.md` `aiws change archive` 自动生成:`changes/archive/<date>-<change-id>/handoff.md`
14
+ - `handoff.md` 默认由 `aiws change finish --push` 自动归档时生成:`changes/archive/<date>-<change-id>/handoff.md`
15
15
  - `Depends_On` 依赖若已归档,`aiws change start` 会尝试读取依赖的 `handoff.md` 并输出摘要
16
16
 
17
17
  阶段定位:
18
- - handoff / archive 阶段;负责把已完成 change 的上下文压缩成后续协作者可直接接手的说明。
18
+ - handoff / archive 阶段;负责查看或补充已归档 change 的交接说明。
19
19
 
20
20
  必需输入:
21
- - 当前或已归档的 `change/<change-id>`
22
- - 对应 archive 目录或准备归档的 change 工件
21
+ - 已归档的 `change/<change-id>`
22
+ - 对应 archive 目录
23
23
 
24
24
  必需输出:
25
25
  - `Change_ID:` 当前交接对象
@@ -28,7 +28,6 @@ description: 交接(归档后生成/查看 changes/archive/.../handoff.md)
28
28
 
29
29
  阻断条件:
30
30
  - 无法定位目标 change
31
- - 未归档且无法执行 `aiws change archive <change-id>`
32
31
  - `handoff.md` 无法生成或读取
33
32
 
34
33
  完成判定:
@@ -36,15 +35,16 @@ description: 交接(归档后生成/查看 changes/archive/.../handoff.md)
36
35
 
37
36
  执行建议:
38
37
  1) 先运行 `$ws-preflight`。
39
- 2) 若本 change 已完成并准备归档:运行 `aiws change archive <change-id>`(会先做严格校验,并移动目录到 `changes/archive/`,同时生成 `handoff.md`)。
38
+ 2) 先确认本 change 已通过 `aiws change finish <change-id> --push` 完成自动归档。
40
39
  3) 查看 handoff:
41
40
  ```bash
42
41
  change_id="<change-id>"
43
42
  ls -1 changes/archive/*-"${change_id}"/handoff.md
44
43
  sed -n '1,160p' changes/archive/*-"${change_id}"/handoff.md
45
44
  ```
46
- 4) 若要让后续 change 可接力:在 `proposal.md` 里声明 `Blocks`(下一步建议会据此生成)。
47
- 5) 若本 change 使用了外部 / 子 agent 协作:确认关键结论已经进入 `review/` `evidence/`,避免 handoff 只留下原始 patch/分析文件而没有最终结论。
45
+ 4) 若是历史/异常场景,尚未归档且需要手工恢复,再运行 `aiws change archive <change-id>`。
46
+ 5) 若要让后续 change 可接力:在 `proposal.md` 里声明 `Blocks`(下一步建议会据此生成)。
47
+ 6) 若本 change 使用了外部 / 子 agent 协作:确认关键结论已经进入 `review/` 或 `evidence/`,避免 handoff 只留下原始 patch/分析文件而没有最终结论。
48
48
 
49
49
  输出要求:
50
50
  - `Change_ID:` <change-id>
@@ -19,14 +19,15 @@
19
19
  - `ws-plan`:建立 `change/<change-id>` 绑定,落盘 `plan/...`,明确 Verify / Risks / Evidence。
20
20
  - `ws-plan-verify`:在编码前做计划质检;不过门禁就先修 plan,不跳步进实现。
21
21
  - `ws-dev`:只做可归因、可验证的小步实现;输出 Changed / Verify / Evidence。
22
+ - `ws-dev-lite`:`ws-dev` 的轻量入口;适用于 simple/local 单点修复,默认不建 `plan/...`、不跑 `ws-plan-verify`,治理归属仍收敛到 `ws-dev`。
22
23
  - `ws-delegate`:仅在任务已绑定且 scope 可控时,使用原生多 agent / sub-agent;否则明确降级为单 agent + 协同工件模式。
23
24
  - `ws-review`:对当前改动做通用审计;高风险或准备交付时,继续细化到 `ws-spec-review` + `ws-quality-review`。
24
25
  - `ws-spec-review`:审查 requirements 归因、plan/change 绑定、evidence 与 workflow gate 完整性。
25
26
  - `ws-quality-review`:审查行为回归、边界条件、测试覆盖与实现质量。
26
27
  - `ws-commit`:串联 review + validate stamp + commit message 确认;不跳过 hooks。
27
28
  - `ws-verify-before-complete`:在 finish / handoff 前检查双审查、validate stamp 与交付证据是否齐全。
28
- - `ws-deliver` / `ws-finish`:做交付收尾、fast-forward 合并、submodule 感知 push 与证据收敛。
29
- - `ws-handoff`:在归档后输出 handoff,给下一次会话或下一位协作者接力。
29
+ - `ws-deliver` / `ws-finish`:做交付收尾、fast-forward 合并、submodule 感知 push,并在完整 finish 后自动归档。
30
+ - `ws-handoff`:查看/补充归档后的 handoff,给下一次会话或下一位协作者接力。
30
31
 
31
32
  阶段产物(最少):
32
33
  - planning:`plan/...`、`changes/<change-id>/proposal.md`、`tasks.md`
@@ -45,6 +46,7 @@ OpenCode(如果你主要用 OpenCode,优先):
45
46
  - `/ws-preflight`:读取真值文件并输出约束摘要
46
47
  - `/ws-plan` / `/ws-plan-verify`:先生成计划,再做执行前质检
47
48
  - `/ws-dev`:常规实现/改配置/改测试
49
+ - `/ws-dev-lite`:小问题直修;若复杂度升高,立刻回到 `/ws-dev` 或 `/ws-plan`
48
50
  - `/ws-delegate`:按 AIWS 委托合同拆分子任务,并优先借用 oMo agent
49
51
  - `/ws-bugfix`:缺陷修复 + 证据落盘 + CSV 汇总
50
52
  - `/ws-review` / `/ws-commit`:提交前审计、门禁与 commit
@@ -64,7 +66,7 @@ Codex(对应入口,可选):
64
66
  - 若你不想先记住阶段,先用 `$using-aiws` 让 router 判定下一步
65
67
  - 对应入口在 `.agents/skills/`;显式调用时使用 `$ws-*`
66
68
  - `$using-aiws`
67
- - `$ws-preflight` / `$ws-plan` / `$ws-plan-verify` / `$ws-dev` / `$ws-delegate` / `$ws-frontend-design`
69
+ - `$ws-preflight` / `$ws-plan` / `$ws-plan-verify` / `$ws-dev` / `$ws-dev-lite` / `$ws-delegate` / `$ws-frontend-design`
68
70
  - `$ws-review` / `$ws-spec-review` / `$ws-quality-review` / `$ws-commit`
69
71
  - `$ws-verify-before-complete` / `$ws-finish` / `$ws-deliver`
70
72
  - `$ws-pull` / `$ws-push` / `$ws-submodule-setup`
@@ -3,7 +3,7 @@
3
3
  <!-- AIWS_MANAGED_BEGIN:ai-project:core -->
4
4
  <!-- AI_PROJECT_VERSION: 2 -->
5
5
 
6
- 本文件用于在**具体项目/工作区**内统一 Codex / Claude / OpenCode / iFlow 的执行约束与协作方式,避免多套规则各写一份导致漂移。
6
+ 本文件用于在**具体项目/工作区**内统一 Codex / Claude / OpenCode 的执行约束与协作方式,避免多套规则各写一份导致漂移。
7
7
 
8
8
  定位:
9
9
  - `REQUIREMENTS.md`:定义“要做什么/验收是什么”(需求真值)
@@ -32,7 +32,7 @@
32
32
 
33
33
  <!-- AIWS_MANAGED_BEGIN:ai-workspace:core -->
34
34
 
35
- 本文件描述“AI Workspace(多子项目工作区)”的结构与运行方式,供 Codex / Claude / OpenCode / iFlow 共同读取。
35
+ 本文件描述“AI Workspace(多子项目工作区)”的结构与运行方式,供 Codex / Claude / OpenCode 共同读取。
36
36
 
37
37
  ## 1) 目录发现规则
38
38