@zmice/zc 0.2.8 → 0.3.0

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 (84) hide show
  1. package/README.md +430 -430
  2. package/dist/cli/__tests__/platform.test.js +89 -112
  3. package/dist/cli/__tests__/platform.test.js.map +1 -1
  4. package/dist/cli/__tests__/surface.test.js +1 -1
  5. package/dist/cli/__tests__/surface.test.js.map +1 -1
  6. package/dist/cli/platform.d.ts.map +1 -1
  7. package/dist/cli/platform.js +5 -62
  8. package/dist/cli/platform.js.map +1 -1
  9. package/dist/node_modules/@zmice/platform-core/dist/index.test.js +3 -5
  10. package/dist/node_modules/@zmice/platform-core/dist/index.test.js.map +1 -1
  11. package/dist/runtime/worktree-manager.js +2 -2
  12. package/dist/runtime/worktree-manager.js.map +1 -1
  13. package/dist/utils/install-target.test.js +2 -3
  14. package/dist/utils/install-target.test.js.map +1 -1
  15. package/dist/utils/qwen-extension-cli.d.ts.map +1 -1
  16. package/dist/utils/qwen-extension-cli.js +4 -4
  17. package/dist/utils/qwen-extension-cli.js.map +1 -1
  18. package/dist/utils/qwen-extension-cli.test.js +6 -9
  19. package/dist/utils/qwen-extension-cli.test.js.map +1 -1
  20. package/dist/utils/workspace.js +1 -1
  21. package/dist/utils/workspace.js.map +1 -1
  22. package/dist/utils/workspace.test.js +0 -14
  23. package/dist/utils/workspace.test.js.map +1 -1
  24. package/package.json +5 -5
  25. package/vendor/node_modules/@zmice/platform-core/dist/index.test.js +3 -5
  26. package/vendor/node_modules/@zmice/platform-core/dist/index.test.js.map +1 -1
  27. package/vendor/packages/platform-claude/dist/index.js +75 -75
  28. package/vendor/packages/platform-claude/dist/index.test.js +8 -11
  29. package/vendor/packages/platform-claude/dist/index.test.js.map +1 -1
  30. package/vendor/packages/platform-codex/dist/index.js +194 -194
  31. package/vendor/packages/platform-codex/dist/index.test.js +13 -16
  32. package/vendor/packages/platform-codex/dist/index.test.js.map +1 -1
  33. package/vendor/packages/platform-opencode/dist/index.js +75 -75
  34. package/vendor/packages/platform-opencode/dist/index.test.js +15 -19
  35. package/vendor/packages/platform-opencode/dist/index.test.js.map +1 -1
  36. package/vendor/packages/platform-qwen/dist/index.js +75 -75
  37. package/vendor/packages/platform-qwen/dist/index.test.js +7 -9
  38. package/vendor/packages/platform-qwen/dist/index.test.js.map +1 -1
  39. package/vendor/packages/toolkit/dist/content-lint.test.js +161 -1
  40. package/vendor/packages/toolkit/dist/content-lint.test.js.map +1 -1
  41. package/vendor/packages/toolkit/dist/lint/content-lint.d.ts.map +1 -1
  42. package/vendor/packages/toolkit/dist/lint/content-lint.js +183 -2
  43. package/vendor/packages/toolkit/dist/lint/content-lint.js.map +1 -1
  44. package/vendor/packages/toolkit/dist/manifests.test.js +9 -0
  45. package/vendor/packages/toolkit/dist/manifests.test.js.map +1 -1
  46. package/vendor/packages/toolkit/src/content/agents/architect/body.md +42 -42
  47. package/vendor/packages/toolkit/src/content/agents/code-reviewer/body.md +41 -41
  48. package/vendor/packages/toolkit/src/content/agents/product-owner/body.md +40 -40
  49. package/vendor/packages/toolkit/src/content/commands/plan-review/body.md +42 -31
  50. package/vendor/packages/toolkit/src/content/commands/start/body.md +236 -197
  51. package/vendor/packages/toolkit/src/content/commands/start/meta.yaml +55 -55
  52. package/vendor/packages/toolkit/src/content/skills/branch-finish-and-cleanup/body.md +172 -172
  53. package/vendor/packages/toolkit/src/content/skills/browser-qa-testing/body.md +111 -111
  54. package/vendor/packages/toolkit/src/content/skills/ci-cd-and-automation/body.md +86 -86
  55. package/vendor/packages/toolkit/src/content/skills/code-review-and-quality/body.md +140 -140
  56. package/vendor/packages/toolkit/src/content/skills/code-simplification/body.md +80 -80
  57. package/vendor/packages/toolkit/src/content/skills/context-engineering/body.md +67 -67
  58. package/vendor/packages/toolkit/src/content/skills/continuous-learning/body.md +102 -102
  59. package/vendor/packages/toolkit/src/content/skills/documentation-and-adrs/body.md +8 -6
  60. package/vendor/packages/toolkit/src/content/skills/engineering-principles/body.md +10 -5
  61. package/vendor/packages/toolkit/src/content/skills/git-workflow-and-versioning/body.md +9 -9
  62. package/vendor/packages/toolkit/src/content/skills/multi-perspective-review/body.md +129 -81
  63. package/vendor/packages/toolkit/src/content/skills/parallel-agent-dispatch/body.md +143 -113
  64. package/vendor/packages/toolkit/src/content/skills/performance-optimization/body.md +75 -75
  65. package/vendor/packages/toolkit/src/content/skills/planning-and-task-breakdown/body.md +162 -83
  66. package/vendor/packages/toolkit/src/content/skills/sdd-tdd-workflow/body.md +130 -95
  67. package/vendor/packages/toolkit/src/content/skills/sprint-retrospective/body.md +99 -99
  68. package/vendor/packages/toolkit/src/content/skills/subagent-driven-development/body.md +49 -7
  69. package/vendor/packages/toolkit/src/content/skills/team-orchestration/body.md +133 -126
  70. package/vendor/packages/toolkit/src/content/skills/test-driven-development/body.md +78 -78
  71. package/vendor/packages/toolkit/src/content/skills/using-agent-skills/body.md +193 -193
  72. package/vendor/references/upstreams.yaml +94 -94
  73. package/dist/cli/setup.d.ts +0 -3
  74. package/dist/cli/setup.d.ts.map +0 -1
  75. package/dist/cli/setup.js +0 -41
  76. package/dist/cli/setup.js.map +0 -1
  77. package/dist/utils/codex-config-merge.d.ts +0 -3
  78. package/dist/utils/codex-config-merge.d.ts.map +0 -1
  79. package/dist/utils/codex-config-merge.js +0 -43
  80. package/dist/utils/codex-config-merge.js.map +0 -1
  81. package/dist/utils/codex-config-merge.test.d.ts +0 -2
  82. package/dist/utils/codex-config-merge.test.d.ts.map +0 -1
  83. package/dist/utils/codex-config-merge.test.js +0 -64
  84. package/dist/utils/codex-config-merge.test.js.map +0 -1
@@ -1,83 +1,162 @@
1
- # 规划与任务拆解
2
-
3
- ## 何时使用
4
-
5
- - 已有规格,需要拆成可执行单元
6
- - 任务太大、太模糊或依赖顺序不明显
7
- - 需要并行推进多个切片
8
- - 需要向人类清楚表达范围、风险和检查点
9
-
10
- 不适用于单文件且边界显而易见的小改动。
11
-
12
- ## 输入前提
13
-
14
- - 已有规格,或至少有清楚的问题定义
15
- - 已读相关代码并识别主要约束
16
- - 愿意在规划阶段保持只读,不边做边改
17
-
18
- ## 执行步骤
19
-
20
- 1. 进入只读分析模式,先看规格和现有代码
21
- 2. 识别依赖图,确定哪些必须先做
22
- 3. 优先做纵向切片,而不是按数据库、API、UI 横向分层
23
- 4. 为每个任务写清:
24
- - 描述
25
- - Acceptance criteria
26
- - Verification
27
- - Dependencies
28
- - Files likely touched
29
- 5. 排出顺序,并设置阶段性检查点
30
-
31
- ## 提问纪律
32
-
33
- - 能从规格、代码、配置、测试或用户原话判断的,不问。
34
- - 只有缺失信息会改变架构、数据模型、任务顺序、破坏性操作或并行边界时才问。
35
- - 一轮最多问 1-3 个关键问题,问题要说明选择会避免什么风险或解锁什么能力。
36
- - 用户已经给出偏好时,把它写进计划假设;不要把偏好扩展成长期配置或跨会话记忆授权。
37
-
38
- ## 计划产物要求
39
-
40
- 计划不是任务名列表,至少要包含:
41
-
42
- - `decision log`:关键取舍和采用原因
43
- - `evidence`:读取过的规格、代码、配置、测试或上游证据
44
- - `open risks`:尚未证明的风险和验证方式
45
- - `fan-out eligibility`:是否能并行、按哪些文件或模块拆、是否需要 `zc team plan`
46
- - `fan-in gate`:实现后如何合流、审查、验证和清理
47
-
48
- ## 决策日志格式
49
-
50
- 每个关键取舍都要写成可审查的推荐,而不是只写“建议这样做”:
51
-
52
- ```text
53
- Recommendation: <chosen action> because <evidence and trade-off>.
54
- - Chosen:
55
- - Rejected alternative:
56
- - Evidence:
57
- - Cost / risk:
58
- - Verification gate:
59
- ```
60
-
61
- 理由必须说明被放弃的替代方案,以及当前选择为什么更适合本任务。不能只写“更稳”“更简单”“更符合最佳实践”。
62
-
63
- ## 成功标准
64
-
65
- - 每个任务都能独立实现、测试和验证
66
- - 任务粒度足够小,不会一次触碰过多文件
67
- - 依赖顺序和可并行项是显式的
68
- - 人类看完计划后能明确判断“方案对不对”
69
- - 计划中的问题和风险都能落到后续验证命令或审查项
70
- - 并行任务必须有明确文件所有权或隔离理由
71
-
72
- ## 相关原则
73
-
74
- - 计划服务实现,不是形式化文档
75
- - 先控制复杂度,再讨论并行度
76
- - 任务必须能验证,不能只写动作名
77
- - 计划阶段发现的问题要进入计划本身,不能只留在聊天里
78
-
79
- ## 与其他技能的衔接
80
-
81
- - 接在 `spec-driven-development` 之后
82
- - 计划确认后交给 `incremental-implementation`
83
- - 涉及方案争议时,可搭配 `multi-perspective-review`
1
+ # 规划与任务拆解
2
+
3
+ ## 何时使用
4
+
5
+ - 已有规格,需要拆成可执行单元
6
+ - 任务太大、太模糊或依赖顺序不明显
7
+ - 需要并行推进多个切片
8
+ - 需要向人类清楚表达范围、风险和检查点
9
+
10
+ 不适用于单文件且边界显而易见的小改动。
11
+
12
+ ## 输入前提
13
+
14
+ - 已有规格,或至少有清楚的问题定义
15
+ - 已读相关代码并识别主要约束
16
+ - 愿意在规划阶段保持只读,不边做边改
17
+
18
+ ## 执行步骤
19
+
20
+ 1. 进入只读分析模式,先看规格和现有代码
21
+ 2. 识别依赖图,确定哪些必须先做
22
+ 3. 优先做纵向切片,而不是按数据库、API、UI 横向分层
23
+ 4. 为每个任务写清:
24
+ - 描述
25
+ - Acceptance criteria
26
+ - Verification
27
+ - Dependencies
28
+ - Files likely touched
29
+ 5. 排出顺序,并设置阶段性检查点
30
+ 6. 如果发现会改变计划路线的阻塞问题,先进入 `stop gate`,不要把问题静默写进计划后继续推进
31
+
32
+ ## 提问纪律
33
+
34
+ - 能从规格、代码、配置、测试或用户原话判断的,不问。
35
+ - 只有缺失信息会改变架构、数据模型、任务顺序、破坏性操作或并行边界时才问。
36
+ - 一轮最多问 1-3 个关键问题,问题要说明选择会避免什么风险或解锁什么能力。
37
+ - 用户已经给出偏好时,把它写进计划假设;不要把偏好扩展成长期配置或跨会话记忆授权。
38
+
39
+ ## 计划产物要求
40
+
41
+ 计划不是任务名列表,至少要包含:
42
+
43
+ - `decision log`:关键取舍和采用原因
44
+ - `evidence`:读取过的规格、代码、配置、测试或上游证据
45
+ - `open risks`:尚未证明的风险和验证方式
46
+ - `stop gates`:会改变架构、数据模型、破坏性边界、并行边界或验收口径的阻塞决策
47
+ - `agent_opportunity`:本计划是否需要只读协助、串行子代理、上下文级并行或 `zc team`
48
+ - `fan-out eligibility`:是否能并行、按哪些文件或模块拆、是否有确认边界、是否需要 `zc team plan`
49
+ - `fan-in gate`:实现后如何合流、审查、回归、验证和清理
50
+ - `implementation tasks`:从计划或评审发现转化来的可执行任务列表
51
+
52
+ ## 决策日志格式
53
+
54
+ 每个关键取舍都要写成可审查的推荐,而不是只写“建议这样做”:
55
+
56
+ ```text
57
+ Recommendation: <chosen action> because <evidence and trade-off>.
58
+ - Chosen:
59
+ - Rejected alternative:
60
+ - Evidence:
61
+ - Cost / risk:
62
+ - Verification gate:
63
+ ```
64
+
65
+ 理由必须说明被放弃的替代方案,以及当前选择为什么更适合本任务。不能只写“更稳”“更简单”“更符合最佳实践”。
66
+
67
+ ## Stop Gate
68
+
69
+ 以下发现必须先停下来收敛,不允许直接写进计划然后继续:
70
+
71
+ - 现有证据推翻了原始目标或核心假设
72
+ - 任务顺序、数据模型、权限边界、破坏性操作或并行边界需要重新选择
73
+ - 评审发现如果不处理会导致后续实现返工
74
+ - 缺少验证方式,导致任务无法判断完成
75
+
76
+ Stop gate 输出格式:
77
+
78
+ ```text
79
+ STOP: <阻塞发现>
80
+ - Evidence:
81
+ - Impact:
82
+ - Options:
83
+ - Recommendation:
84
+ - Required decision:
85
+ ```
86
+
87
+ 只有用户已经给出明确偏好,或仓库证据能支持保守路线时,才把 `Required decision` 写成显式假设并继续;否则先问。
88
+
89
+ ## Implementation Tasks
90
+
91
+ 从计划或评审发现生成任务时,统一使用这个可执行格式:
92
+
93
+ ```text
94
+ - [ ] T1 (P1) — <component> — <imperative title>
95
+ - Source finding:
96
+ - Files likely touched:
97
+ - Acceptance criteria:
98
+ - Verification:
99
+ - Dependencies:
100
+ ```
101
+
102
+ 规则:
103
+
104
+ - `P1`:阻塞当前交付,必须本轮处理
105
+ - `P2`:应在同一分支处理,否则会留下明显质量缺口
106
+ - `P3`:可延后的跟进项,必须说明为什么不阻塞当前目标
107
+ - 每个任务必须来自具体发现、需求或证据;不能为了填表新增空任务
108
+ - 任务标题用动作开头,能直接交给实现阶段
109
+
110
+ ## Agent Opportunity
111
+
112
+ 计划阶段必须给出明确的多 agent 结论,而不是只写“可并行”:
113
+
114
+ ```text
115
+ agent_opportunity:
116
+ - mode: none | readonly-consult | serial-subagent | context-fanout | zc-team
117
+ - trigger:
118
+ - recommended agents/workers:
119
+ - ownership:
120
+ - confirmation:
121
+ - fan-in gate:
122
+ ```
123
+
124
+ 判断规则:
125
+
126
+ - `readonly-consult`:适合架构、测试、安全、性能、产品或审查侧评;用户已授权只读 agent 默认启用时通知式启动,否则先预告并等待确认,不能改文件。
127
+ - `serial-subagent`:任务独立但存在依赖顺序,主线程逐个委派并 fan-in。
128
+ - `context-fanout`:任务可按文件、模块或证据问题拆开,写入前必须确认文件所有权。
129
+ - `zc-team`:只有用户明确要求或确认,且 `zc team plan` 返回可启动时才进入。
130
+ - `none`:任务简单、强耦合、同文件冲突或缺少验证方式。
131
+
132
+ fan-in gate 必须说明:
133
+
134
+ - 主线程如何整合结果。
135
+ - 谁负责修复问题:`producer owns fix`。
136
+ - 谁负责回归确认:`reviewer owns regression`。
137
+ - 哪些命令或人工检查作为最终验证。
138
+ - 是否需要保留、合并或清理分支 / worktree / 临时文件。
139
+
140
+ ## 成功标准
141
+
142
+ - 每个任务都能独立实现、测试和验证
143
+ - 任务粒度足够小,不会一次触碰过多文件
144
+ - 依赖顺序和可并行项是显式的
145
+ - 人类看完计划后能明确判断“方案对不对”
146
+ - 计划中的问题和风险都能落到后续验证命令或审查项
147
+ - `agent_opportunity` 已给出 mode、触发原因、确认边界和 fan-in gate
148
+ - 并行任务必须有明确文件所有权或隔离理由
149
+ - 阻塞发现已经进入 stop gate 或被转成 P1 implementation task
150
+
151
+ ## 相关原则
152
+
153
+ - 计划服务实现,不是形式化文档
154
+ - 先控制复杂度,再讨论并行度
155
+ - 任务必须能验证,不能只写动作名
156
+ - 计划阶段发现的问题要进入计划本身,不能只留在聊天里
157
+
158
+ ## 与其他技能的衔接
159
+
160
+ - 接在 `spec-driven-development` 之后
161
+ - 计划确认后交给 `incremental-implementation`
162
+ - 涉及方案争议时,可搭配 `multi-perspective-review`
@@ -1,95 +1,130 @@
1
- # SDD + TDD 开发工作流
2
-
3
- ## 角色定位
4
-
5
- 这是完整交付的编排 skill,不是每个阶段的详细教程。它负责把需求按阶段推进,并在进入具体阶段时再读取对应专项 skill。
6
-
7
- 渐进式披露规则:
8
-
9
- - 当前只需要路由和门控时,只读取本文。
10
- - 进入某个阶段时,再加载该阶段 skill。
11
- - 不把所有阶段规则同时塞进上下文。
12
- - 发现任务变成 bug、文档、发布或上下文问题时,切换到对应入口,不继续硬走完整流程。
13
-
14
- ## 快速路径
15
-
16
- 1. 判断任务是否需要完整交付;简单修复、文档或调查任务不要套完整流程。
17
- 2. 若需求模糊,先进入 `brainstorming-and-design` 或 `spec-driven-development`。
18
- 3. 若规格清楚,进入 `planning-and-task-breakdown`。
19
- 4. 计划确认后,进入 `incremental-implementation` + `test-driven-development`。
20
- 5. 实现完成后,进入 `code-review-and-quality`。
21
- 6. 准备声明完成前,进入 `verification-before-completion`。
22
- 7. 需要提交时,进入 `git-workflow-and-versioning`,并等待用户确认。
23
- 8. 周期结束或需要沉淀经验时,进入 `sprint-retrospective`。
24
-
25
- ## 阶段门控
26
-
27
- | 阶段 | 默认入口 | 通过条件 |
28
- |---|---|---|
29
- | Brainstorm(可选) | `brainstorming-and-design` | 目标、约束、方案方向已收敛 |
30
- | Specify | `spec-driven-development` | 规格可测试,假设已显式列出 |
31
- | Plan | `planning-and-task-breakdown` | 任务有依赖、文件边界和验证方式 |
32
- | Plan Review(可选) | `multi-perspective-review` | `GO / REVISE / NO-GO` 结论明确 |
33
- | Build | `incremental-implementation` + `test-driven-development` | 每个切片实现、测试、回归通过 |
34
- | Review | `code-review-and-quality` | Critical/Important 已处理或有明确延后理由 |
35
- | Verify | `verification-before-completion` | 新鲜验证命令通过,输出已读 |
36
- | Commit(可选) | `git-workflow-and-versioning` | 用户确认提交范围和消息 |
37
- | Retro(可选) | `sprint-retrospective` | 偏差、复盘和行动项已记录 |
38
-
39
- ## 构建模式选择
40
-
41
- - **Manual(默认)**:你自己按任务串行实现。适合大多数改动。
42
- - **Subagent-Driven**:任务彼此独立,但用户没有要求并行时,可作为串行委派建议。
43
- - **Parallel**:用户明确要求多 agent / 并行 / team 模式,且任务有清晰文件所有权时,使用 `parallel-agent-dispatch`。
44
- - **Team Orchestration**:需要 tmux + git worktree 文件系统隔离或多 CLI worker 时,使用 `team-orchestration`。
45
-
46
- 除非用户已经明确要求并行,否则只给并行建议,不直接启动子代理或 `zc team`。
47
-
48
- 推荐提示格式:
49
-
50
- ```text
51
- Recommendation: Manual / Parallel / Team 模式推进 because <证据与 trade-off>。
52
- - 并行收益:
53
- - 并行代价:
54
- - 文件所有权:
55
- - fan-in 验证:
56
- ```
57
-
58
- ## 阶段切换纪律
59
-
60
- - 进入新阶段前,说明当前阶段已满足的证据。
61
- - 阶段中发现前提失真时,回退到上游阶段,不继续堆实现。
62
- - 长会话变慢或内容开始混乱时,切到 `context-budget-audit` / `context-engineering`。
63
- - 变更涉及浏览器体验时,在单元/API 测试之外补 `browser-qa-testing`。
64
- - 涉及高风险命令、生产数据或敏感文件时,先切到 `safety-guardrails`。
65
-
66
- ## 停线条件
67
-
68
- 立即停止当前阶段并重新定位:
69
-
70
- - 测试、构建或 lint 失败但原因未读清。
71
- - 用户纠正了需求、范围或安全边界。
72
- - 计划要求修改的文件和实际代码结构明显不一致。
73
- - 出现破坏性操作、凭据、生产数据或不可逆迁移风险。
74
- - 需要并行但没有文件所有权、隔离策略和 fan-in 验证。
75
-
76
- ## 输出契约
77
-
78
- 完整交付过程中的关键结论都要使用可审查的推荐格式:
79
-
80
- ```text
81
- Recommendation: <下一步动作> because <具体证据、取舍和被放弃的替代方案>。
82
- ```
83
-
84
- 不要只说“更稳”“更好”“建议继续”。必须说明为什么这个动作优于至少一个替代方案,以及如何验证它成立。
85
-
86
- ## 验证
87
-
88
- 声明完成前至少给出:
89
-
90
- - 实际运行的验证命令
91
- - 退出结果
92
- - 与本次任务相关的关键输出
93
- - 未运行的验证及原因
94
-
95
- 不能用历史结果、主观判断或“应该没问题”替代验证证据。
1
+ # SDD + TDD 开发工作流
2
+
3
+ ## 角色定位
4
+
5
+ 这是完整交付的编排 skill,不是每个阶段的详细教程。它负责把需求按阶段推进,并在进入具体阶段时再读取对应专项 skill。
6
+
7
+ 渐进式披露规则:
8
+
9
+ - 当前只需要路由和门控时,只读取本文。
10
+ - 进入某个阶段时,再加载该阶段 skill。
11
+ - 不把所有阶段规则同时塞进上下文。
12
+ - 发现任务变成 bug、文档、发布或上下文问题时,切换到对应入口,不继续硬走完整流程。
13
+
14
+ ## 快速路径
15
+
16
+ 1. 判断任务是否需要完整交付;简单修复、文档或调查任务不要套完整流程。
17
+ 2. 若需求模糊,先进入 `brainstorming-and-design` 或 `spec-driven-development`。
18
+ 3. 若规格清楚,进入 `planning-and-task-breakdown`。
19
+ 4. 计划确认后,进入 `incremental-implementation` + `test-driven-development`。
20
+ 5. 实现完成后,进入 `code-review-and-quality`。
21
+ 6. 准备声明完成前,进入 `verification-before-completion`。
22
+ 7. 需要提交时,进入 `git-workflow-and-versioning`,并等待用户确认。
23
+ 8. 周期结束或需要沉淀经验时,进入 `sprint-retrospective`。
24
+
25
+ ## 阶段门控
26
+
27
+ | 阶段 | 默认入口 | 通过条件 |
28
+ |---|---|---|
29
+ | Brainstorm(可选) | `brainstorming-and-design` | 目标、约束、方案方向已收敛 |
30
+ | Specify | `spec-driven-development` | 规格可测试,假设已显式列出 |
31
+ | Plan | `planning-and-task-breakdown` | 任务有依赖、文件边界和验证方式 |
32
+ | Plan Review(可选) | `multi-perspective-review` | `GO / REVISE / NO-GO` 结论明确 |
33
+ | Build | `incremental-implementation` + `test-driven-development` | 每个切片实现、测试、回归通过 |
34
+ | Review | `code-review-and-quality` | Critical/Important 已处理或有明确延后理由 |
35
+ | Verify | `verification-before-completion` | 新鲜验证命令通过,输出已读 |
36
+ | Commit(可选) | `git-workflow-and-versioning` | 用户确认提交范围和消息 |
37
+ | Retro(可选) | `sprint-retrospective` | 偏差、复盘和行动项已记录 |
38
+
39
+ ## 构建模式选择
40
+
41
+ 进入 Build 前先选择执行模式,而不是直接默认手动实现:
42
+
43
+ - **Manual**:简单任务、小修复或同一文件内紧耦合改动,主线程直接实现。
44
+ - **Readonly Consult**:复杂任务需要架构、测试、安全、性能、产品或审查侧评;只有用户已授权本会话或项目默认启用只读 agent 时,才可通知式启动,不改文件。
45
+ - **Serial Subagent**:已有计划,任务彼此独立但有依赖顺序;使用 `subagent-driven-development` 串行委派。
46
+ - **Context Fan-Out**:任务可以按文件、模块或证据问题并行,且有清晰 fan-in gate;使用 `parallel-agent-dispatch`。
47
+ - **Team Orchestration**:需要 tmux + git worktree 文件系统隔离、长时间多 worker 或 Codex / Qwen 多 CLI 协作;使用 `team-orchestration`,必须用户明确要求或确认。
48
+
49
+ 主线程是 controller / integrator:
50
+
51
+ - 主线程负责目标、计划、分派、文件所有权、stop gate、fan-in 和最终验证。
52
+ - 只读 agent 只汇报结构化结论,不改文件。
53
+ - 写入 agent 只处理被分配的任务和文件,并返回修改文件、验证结果、风险和待 fan-in 项。
54
+ - 审查 agent 默认只读;提出 finding 后负责回归确认。
55
+ - 主线程可以处理小任务、集成冲突、最终修补和验证失败分析,但在已经选择多 agent 模式后,不抢占已分配给 worker 的任务。
56
+
57
+ 推荐提示格式:
58
+
59
+ ```text
60
+ Recommendation: 按 Manual / Readonly Consult / Serial Subagent / Context Fan-Out / Team 模式推进 because <证据与 trade-off>。
61
+ - agent_opportunity:
62
+ - 只读协助:
63
+ - 写入边界:
64
+ - fan-in 验证:
65
+ - 是否需要确认:
66
+ ```
67
+
68
+ ## 审查与回归闭环
69
+
70
+ agent 任务必须遵循闭环所有权:
71
+
72
+ ```text
73
+ producer owns fix
74
+ reviewer owns regression
75
+ controller owns fan-in
76
+ ```
77
+
78
+ - 实现方或产生方负责优先修复自己引入的问题。
79
+ - 审查方或提出方负责给出复现条件、断言、期望行为、风险等级,并在修复后复验原 finding。
80
+ - 主线程负责判断 finding 是否成立、优先级是否阻塞、是否转派、是否接受结果。
81
+ - 实现方两次修不好时,主线程可以缩小问题后转给更合适的 agent 或自己接手。
82
+ - 审查方默认不直接修;机械小修或用户明确要求时,主线程可以把 finding 转成修复任务。
83
+
84
+ 审查等级:
85
+
86
+ - `light review`:实现方自审 + 主线程检查。
87
+ - `standard review`:实现方自审 + 独立 reviewer + 提出方回归。
88
+ - `strict review`:规格审查 + 代码质量审查 + 测试 / 安全 / 性能按风险加入。
89
+
90
+ 中等以上任务默认 `standard review`,高风险任务默认 `strict review`。
91
+
92
+ ## 阶段切换纪律
93
+
94
+ - 进入新阶段前,说明当前阶段已满足的证据。
95
+ - 阶段中发现前提失真时,回退到上游阶段,不继续堆实现。
96
+ - 长会话变慢或内容开始混乱时,切到 `context-budget-audit` / `context-engineering`。
97
+ - 变更涉及浏览器体验时,在单元/API 测试之外补 `browser-qa-testing`。
98
+ - 涉及高风险命令、生产数据或敏感文件时,先切到 `safety-guardrails`。
99
+
100
+ ## 停线条件
101
+
102
+ 立即停止当前阶段并重新定位:
103
+
104
+ - 测试、构建或 lint 失败但原因未读清。
105
+ - 用户纠正了需求、范围或安全边界。
106
+ - 计划要求修改的文件和实际代码结构明显不一致。
107
+ - 出现破坏性操作、凭据、生产数据或不可逆迁移风险。
108
+ - 需要并行但没有文件所有权、隔离策略和 fan-in 验证。
109
+ - review finding 未闭环,或提出方尚未完成回归确认。
110
+
111
+ ## 输出契约
112
+
113
+ 完整交付过程中的关键结论都要使用可审查的推荐格式:
114
+
115
+ ```text
116
+ Recommendation: <下一步动作> because <具体证据、取舍和被放弃的替代方案>。
117
+ ```
118
+
119
+ 不要只说“更稳”“更好”“建议继续”。必须说明为什么这个动作优于至少一个替代方案,以及如何验证它成立。
120
+
121
+ ## 验证
122
+
123
+ 声明完成前至少给出:
124
+
125
+ - 实际运行的验证命令
126
+ - 退出结果
127
+ - 与本次任务相关的关键输出
128
+ - 未运行的验证及原因
129
+
130
+ 不能用历史结果、主观判断或“应该没问题”替代验证证据。
@@ -1,99 +1,99 @@
1
- # Sprint Retrospective
2
-
3
- ## 角色定位
4
-
5
- 在一个交付周期结束后,用证据复盘计划、实现、审查和验证的质量,并把下一轮要改变的行为写成少量可执行行动项。
6
-
7
- Retro 不是情绪总结,也不是长篇过程记录。没有行动项的 retro 通常只是仪式。
8
-
9
- ## 何时使用
10
-
11
- - 完成一次 SDD+TDD 周期后。
12
- - 一周或一个里程碑结束后。
13
- - 生产事故、重大返工或计划偏差后。
14
- - 发现重复摩擦,但还没有明确改进项时。
15
- - 开始新大任务前,需要先复盘上一轮。
16
-
17
- ## 快速路径
18
-
19
- 1. 收集事实:提交、diff、测试、验证、PR/issue、事故记录。
20
- 2. 对照原始 spec / plan,检查 scope drift。
21
- 3. 识别有效做法、失败模式和根因。
22
- 4. 评估流程健康:TDD、review、verify、build、handoff。
23
- 5. 选出最多 3-5 个行动项。
24
- 6. 给每个行动项写 owner、deadline、success metric。
25
- 7. 判断哪些经验应该进入 ADR、docs、skill、memory 或保持为聊天结论。
26
-
27
- ## 推荐数据
28
-
29
- 按当前任务范围收集即可,不要为了复盘跑无关统计:
30
-
31
- - commit count / changed files / insertions / deletions
32
- - tests added or changed
33
- - verification commands and failures
34
- - review findings and resolution time
35
- - spec items delivered / modified / deferred / dropped
36
- - CI/build stability
37
-
38
- monorepo 中必须限定路径范围,避免 unrelated diff 污染结论。
39
-
40
- ## Drift 判断
41
-
42
- ```text
43
- Spec drift:
44
- - Delivered as planned:
45
- - Modified:
46
- - Deferred:
47
- - Added:
48
- - Dropped:
49
- - Reason:
50
- ```
51
-
52
- drift 不一定是坏事。没有记录的 drift 才危险,因为下一轮会基于错误文档继续推进。
53
-
54
- ## 行动项格式
55
-
56
- ```text
57
- Action item:
58
- - What:
59
- - Why:
60
- - Owner:
61
- - Deadline:
62
- - Success metric:
63
- - Verification:
64
- ```
65
-
66
- 行动项最多 3-5 个。超过这个数量,优先级通常还没有收敛。
67
-
68
- ## 知识沉淀边界
69
-
70
- - 架构或公共接口决策:进入 ADR / docs。
71
- - 项目长期约定:进入项目文档或入口规则。
72
- - 用户偏好或跨会话经验:只有明确授权后才进入 memory。
73
- - 一次性上下文和临时事故细节:只保留在本次记录中。
74
-
75
- ## 输出契约
76
-
77
- ```markdown
78
- # Retrospective: <period / milestone>
79
-
80
- ## Evidence
81
- - ...
82
-
83
- ## What Worked
84
- - ...
85
-
86
- ## What Failed
87
- - ...
88
-
89
- ## Drift
90
- - ...
91
-
92
- ## Action Items
93
- - ...
94
-
95
- ## Recommendation
96
- Recommendation: <keep / change / document / escalate> because <evidence, trade-off, and rejected alternative>.
97
- ```
98
-
99
- 推荐必须说明下一轮具体改变什么,而不是只说“继续保持”。
1
+ # Sprint Retrospective
2
+
3
+ ## 角色定位
4
+
5
+ 在一个交付周期结束后,用证据复盘计划、实现、审查和验证的质量,并把下一轮要改变的行为写成少量可执行行动项。
6
+
7
+ Retro 不是情绪总结,也不是长篇过程记录。没有行动项的 retro 通常只是仪式。
8
+
9
+ ## 何时使用
10
+
11
+ - 完成一次 SDD+TDD 周期后。
12
+ - 一周或一个里程碑结束后。
13
+ - 生产事故、重大返工或计划偏差后。
14
+ - 发现重复摩擦,但还没有明确改进项时。
15
+ - 开始新大任务前,需要先复盘上一轮。
16
+
17
+ ## 快速路径
18
+
19
+ 1. 收集事实:提交、diff、测试、验证、PR/issue、事故记录。
20
+ 2. 对照原始 spec / plan,检查 scope drift。
21
+ 3. 识别有效做法、失败模式和根因。
22
+ 4. 评估流程健康:TDD、review、verify、build、handoff。
23
+ 5. 选出最多 3-5 个行动项。
24
+ 6. 给每个行动项写 owner、deadline、success metric。
25
+ 7. 判断哪些经验应该进入 ADR、docs、skill、memory 或保持为聊天结论。
26
+
27
+ ## 推荐数据
28
+
29
+ 按当前任务范围收集即可,不要为了复盘跑无关统计:
30
+
31
+ - commit count / changed files / insertions / deletions
32
+ - tests added or changed
33
+ - verification commands and failures
34
+ - review findings and resolution time
35
+ - spec items delivered / modified / deferred / dropped
36
+ - CI/build stability
37
+
38
+ monorepo 中必须限定路径范围,避免 unrelated diff 污染结论。
39
+
40
+ ## Drift 判断
41
+
42
+ ```text
43
+ Spec drift:
44
+ - Delivered as planned:
45
+ - Modified:
46
+ - Deferred:
47
+ - Added:
48
+ - Dropped:
49
+ - Reason:
50
+ ```
51
+
52
+ drift 不一定是坏事。没有记录的 drift 才危险,因为下一轮会基于错误文档继续推进。
53
+
54
+ ## 行动项格式
55
+
56
+ ```text
57
+ Action item:
58
+ - What:
59
+ - Why:
60
+ - Owner:
61
+ - Deadline:
62
+ - Success metric:
63
+ - Verification:
64
+ ```
65
+
66
+ 行动项最多 3-5 个。超过这个数量,优先级通常还没有收敛。
67
+
68
+ ## 知识沉淀边界
69
+
70
+ - 架构或公共接口决策:进入 ADR / docs。
71
+ - 项目长期约定:进入项目文档或入口规则。
72
+ - 用户偏好或跨会话经验:只有明确授权后才进入 memory。
73
+ - 一次性上下文和临时事故细节:只保留在本次记录中。
74
+
75
+ ## 输出契约
76
+
77
+ ```markdown
78
+ # Retrospective: <period / milestone>
79
+
80
+ ## Evidence
81
+ - ...
82
+
83
+ ## What Worked
84
+ - ...
85
+
86
+ ## What Failed
87
+ - ...
88
+
89
+ ## Drift
90
+ - ...
91
+
92
+ ## Action Items
93
+ - ...
94
+
95
+ ## Recommendation
96
+ Recommendation: <keep / change / document / escalate> because <evidence, trade-off, and rejected alternative>.
97
+ ```
98
+
99
+ 推荐必须说明下一轮具体改变什么,而不是只说“继续保持”。