gsd-lite 0.2.1 → 0.3.2

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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "name": "gsd-lite",
2
+ "name": "gsd",
3
3
  "owner": {
4
4
  "name": "sdsrss",
5
5
  "email": "sdsrss@users.noreply.github.com"
@@ -10,10 +10,10 @@
10
10
  },
11
11
  "plugins": [
12
12
  {
13
- "name": "gsd-lite",
13
+ "name": "gsd",
14
14
  "source": "./",
15
15
  "description": "AI orchestration tool — GSD management shell + Superpowers quality core. 5 commands, 4 agents, 5 workflows, MCP server, context monitoring.",
16
- "version": "0.1.0",
16
+ "version": "0.3.1",
17
17
  "keywords": ["orchestration", "mcp", "tdd", "task-management"],
18
18
  "category": "Development workflows"
19
19
  }
@@ -1,6 +1,6 @@
1
1
  {
2
- "name": "gsd-lite",
3
- "version": "0.1.0",
2
+ "name": "gsd",
3
+ "version": "0.3.1",
4
4
  "description": "AI orchestration tool for Claude Code — GSD management shell + Superpowers quality core",
5
5
  "author": {
6
6
  "name": "sdsrss",
package/.mcp.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "mcpServers": {
3
- "gsd-lite": {
4
- "command": "npx",
5
- "args": ["-y", "gsd-lite@latest"]
3
+ "gsd": {
4
+ "command": "node",
5
+ "args": ["${CLAUDE_PLUGIN_ROOT}/launcher.js"]
6
6
  }
7
7
  }
8
8
  }
package/README.md CHANGED
@@ -39,10 +39,10 @@ GSD-Lite 是一个面向 Claude Code 的 AI 编排工具,将 [GSD](https://git
39
39
 
40
40
  | Agent | 职责 | 内置纪律 |
41
41
  |-------|------|---------|
42
- | **gsd-executor** | 执行单 task (TDD + 自审 + checkpoint) | 铁律 + 红旗 + 偏差规则 |
43
- | **gsd-reviewer** | 双阶段审查 (规格→质量) | 独立验证 + HARD-GATE |
44
- | **gsd-researcher** | 生态系统研究 (Context7→官方文档→WebSearch) | 置信度标注 |
45
- | **gsd-debugger** | 4 阶段系统性根因分析 | 根因铁律 |
42
+ | **executor** | 执行单 task (TDD + 自审 + checkpoint) | 铁律 + 红旗 + 偏差规则 |
43
+ | **reviewer** | 双阶段审查 (规格→质量) | 独立验证 + HARD-GATE |
44
+ | **researcher** | 生态系统研究 (Context7→官方文档→WebSearch) | 置信度标注 |
45
+ | **debugger** | 4 阶段系统性根因分析 | 根因铁律 |
46
46
 
47
47
  ## 核心能力
48
48
 
@@ -60,7 +60,7 @@ GSD-Lite 是一个面向 Claude Code 的 AI 编排工具,将 [GSD](https://git
60
60
  ```bash
61
61
  # 方式一:Claude Code 插件市场 (推荐)
62
62
  /plugin marketplace add sdsrss/gsd-lite
63
- /plugin install gsd-lite
63
+ /plugin install gsd
64
64
 
65
65
  # 方式二:npx
66
66
  npx gsd-lite install
@@ -78,7 +78,7 @@ cd gsd-lite && npm install && node cli.js install
78
78
 
79
79
  ```bash
80
80
  # 插件方式
81
- /plugin update gsd-lite
81
+ /plugin update gsd
82
82
 
83
83
  # 源码方式
84
84
  git pull && npm install && node cli.js install
@@ -88,6 +88,7 @@ npx gsd-lite install
88
88
  ```
89
89
 
90
90
  - 安装器支持重复执行,通常**不需要先卸载**
91
+ - 从旧版 (gsd-lite) 升级会自动清理旧文件
91
92
  - 更新后建议重启 Claude Code 或重开会话,以加载最新 MCP server / hooks
92
93
 
93
94
  ## 快速开始
@@ -1,7 +1,7 @@
1
1
  ---
2
- name: gsd-debugger
2
+ name: debugger
3
3
  description: Systematic debugging with root cause analysis
4
- tools: [Read, Write, Edit, Bash, Grep, Glob]
4
+ tools: Read, Write, Edit, Bash, Grep, Glob
5
5
  ---
6
6
 
7
7
  <role>
@@ -1,7 +1,7 @@
1
1
  ---
2
- name: gsd-executor
2
+ name: executor
3
3
  description: Execute one task with TDD/self-review and return structured result
4
- tools: [Read, Write, Edit, Bash, Grep, Glob]
4
+ tools: Read, Write, Edit, Bash, Grep, Glob
5
5
  ---
6
6
 
7
7
  <role>
@@ -1,7 +1,7 @@
1
1
  ---
2
- name: gsd-researcher
2
+ name: researcher
3
3
  description: Research domain ecosystem before planning
4
- tools: [Read, Write, Bash, WebSearch, WebFetch, mcp__context7__*]
4
+ tools: Read, Write, Bash, WebSearch, WebFetch, mcp__plugin_context7_context7__*
5
5
  ---
6
6
 
7
7
  <role>
@@ -1,7 +1,7 @@
1
1
  ---
2
- name: gsd-reviewer
2
+ name: reviewer
3
3
  description: Two-stage code review after executor completes
4
- tools: [Read, Bash, Grep, Glob]
4
+ tools: Read, Bash, Grep, Glob
5
5
  ---
6
6
 
7
7
  <EXTREMELY-IMPORTANT>
package/cli.js CHANGED
@@ -4,11 +4,11 @@ function printHelp() {
4
4
  console.log(`GSD-Lite — AI orchestration tool for Claude Code
5
5
 
6
6
  Usage:
7
- gsd-lite # Start MCP stdio server (default)
8
- gsd-lite serve # Start MCP stdio server (explicit)
9
- gsd-lite install # Install hooks/commands into Claude Code
10
- gsd-lite uninstall # Remove hooks/commands from Claude Code
11
- gsd-lite help # Show this help
7
+ gsd # Start MCP stdio server (default)
8
+ gsd serve # Start MCP stdio server (explicit)
9
+ gsd install # Install hooks/commands into Claude Code
10
+ gsd uninstall # Remove hooks/commands from Claude Code
11
+ gsd help # Show this help
12
12
  `);
13
13
  }
14
14
 
@@ -0,0 +1,291 @@
1
+ ---
2
+ description: Start project from requirements document or description text
3
+ argument-hint: File path to requirements doc, or inline description text
4
+ ---
5
+
6
+ <role>
7
+ 你是 GSD-Lite 编排器。从需求文档或描述文本启动项目,快速进入计划阶段。
8
+ 用用户输入的语言进行所有后续输出。
9
+ </role>
10
+
11
+ <usage>
12
+ ```
13
+ /gsd:prd docs/requirements.md # 从需求文件启动
14
+ /gsd:prd "实现用户认证,支持 JWT" # 从描述文本启动
15
+ ```
16
+ </usage>
17
+
18
+ <process>
19
+
20
+ ## STEP 1: 解析输入
21
+
22
+ 判断 `$ARGUMENTS` 的类型:
23
+
24
+ **如果是文件路径** (包含 `/` 或 `.` 且文件存在):
25
+ - 使用 Read 工具读取文件内容
26
+ - 如果文件不存在 → 告知用户并停止
27
+
28
+ **如果是文本描述**:
29
+ - 直接作为需求描述使用
30
+
31
+ ## STEP 2: 分析代码库
32
+
33
+ - 使用 Glob/Grep/Read 分析代码库中与需求相关的部分
34
+ - 识别: 已有代码结构、技术栈、现有约定
35
+ - 目的: 让后续计划能与现有代码库无缝衔接
36
+
37
+ ## STEP 3: 提取关键需求点
38
+
39
+ - 从输入内容中提取所有关键需求点
40
+ - 整理为结构化列表
41
+ - 向用户确认理解是否正确:
42
+ - "以下是我从需求中提取的关键点,请确认:"
43
+ - 逐条列出,标注优先级
44
+
45
+ ## STEP 4: 提出补充问题
46
+
47
+ - 基于需求分析,识别模糊点和缺失信息
48
+ - 提出补充问题,每个问题提供选项:
49
+ - 标识推荐选项
50
+ - 允许用户自定义回答
51
+ - 使用 references/questioning.md 的提问技巧 (如可用)
52
+ - 用户回答后,可适当追问直到需求清晰
53
+
54
+ <!-- 以下 STEP 5-12 同 start.md -->
55
+
56
+ ## STEP 5: 智能判断是否需要研究
57
+
58
+ - 新项目 / 涉及新技术栈 → 必须研究
59
+ - 简单 bug 修复 / 已有研究且未过期 → 跳过
60
+ - 用户明确要求 → 研究
61
+ - 需要时 → 派发 researcher 子代理 → 展示关键发现
62
+ - 不需要 → 跳过,进入下一步
63
+
64
+ ## STEP 6: 深度思考
65
+
66
+ - 如有 sequential-thinking MCP → 调用深入思考
67
+ - 无则跳过,不影响流程
68
+
69
+ ## STEP 7: 生成分阶段计划
70
+
71
+ - phase 负责管理与验收,task 负责执行
72
+ - 每阶段控制在 5-8 个 task (便于 phase-level 收口)
73
+ - 每个 task = 原子化 todo (含文件、操作、验证条件)
74
+ - 每个 task 补充元数据: `requires` / `review_required` / `research_basis`
75
+ - 审查级别按影响面判定: L0(无运行时语义变化) / L1(普通) / L2(高风险)
76
+ - 标注可并行任务组 [PARALLEL] (当前仅作未来升级标记)
77
+
78
+ ## STEP 8: 计划自审
79
+
80
+ 轻量替代 plan-checker:
81
+ - 检查: 是否有遗漏的需求点?
82
+ - 检查: 阶段划分是否合理?(phase 过大则拆分)
83
+ - 检查: 任务依赖关系是否正确?
84
+ - 检查: 验证条件是否可执行?
85
+ - 如属高风险项目 → 升级为增强计划审查:
86
+
87
+ <enhanced_plan_review>
88
+ 触发条件: 涉及 auth / payment / security / public API / DB migration / 核心架构变更
89
+
90
+ 审查维度:
91
+ 1. 需求覆盖: 原始需求的每个要点是否都映射到了至少一个 task?
92
+ 2. 风险排序: 高风险 task 是否排在前面?(fail-fast 原则)
93
+ 3. 依赖安全: L2 task 的下游是否都用了 gate:accepted?
94
+ 4. 验证充分: 涉及 auth/payment 的 task 是否都有明确的安全验证条件?
95
+ 5. 陷阱规避: research/PITFALLS.md 中的每个陷阱是否都有对应的防御 task 或验证条件?
96
+
97
+ 输出: pass / revise (附具体修正建议)
98
+ 轮次: 最多 2 轮自审修正;2 轮后仍有问题 → 标注风险展示给用户
99
+ </enhanced_plan_review>
100
+
101
+ → 自审修正后再展示给用户
102
+
103
+ ## STEP 9: 展示计划,等待用户确认
104
+
105
+ - 展示完整分阶段计划
106
+ - 用户指出问题 → 调整 → 再展示
107
+ - 用户确认 → 继续
108
+
109
+ ## STEP 10: 生成文档
110
+
111
+ - 创建 .gsd/ 目录
112
+ - 写入 state.json + plan.md + phases/*.md
113
+ - 初始化 `workflow_mode` / `current_task` / `current_review` / phase 状态与 handoff 信息
114
+ - 如有研究: 写入 .gsd/research/
115
+
116
+ <HARD-GATE id="docs-written">
117
+ □ state.json 已写入且包含所有 canonical fields
118
+ □ plan.md 已写入
119
+ □ phases/*.md 已写入 (每个 phase 一个文件)
120
+ □ 所有 task 都有 lifecycle / level / requires / review_required
121
+ → 全部满足才可继续
122
+ </HARD-GATE>
123
+
124
+ ## STEP 11 — 自动执行主路径
125
+
126
+ 进入执行主循环。phase = 管理边界,task = 执行边界。
127
+
128
+ <execution_loop>
129
+
130
+ ### 11.1 — 加载 phase 计划
131
+
132
+ ```
133
+ for each pending phase:
134
+ 加载 phase 计划 + todo DAG
135
+ ```
136
+
137
+ ### 11.2 — 选择 runnable task
138
+
139
+ 选择条件:
140
+ - `lifecycle` 属于 `{pending, needs_revalidation}`
141
+ - `requires` 中每个依赖都满足对应 gate
142
+ - 不被 unresolved blocker 阻塞
143
+ - 未超过 retry 上限
144
+
145
+ 如果 0 个 runnable task 且 phase 未完成:
146
+ ```
147
+ ├── 全部 blocked → workflow_mode = awaiting_user,展示所有 blocker
148
+ └── 全部等待 review → 触发 batch review (L1) 或等待 L2 review 完成
149
+ ```
150
+
151
+ ### 11.3 — 构建 executor 上下文 + 串行派发
152
+
153
+ executor 上下文传递协议 (orchestrator → executor):
154
+ ```
155
+ ├── task_spec: 从 phases/*.md 提取当前 task 的规格段落
156
+ ├── research_decisions: 从 research_basis 引用的 decision 摘要
157
+ ├── predecessor_outputs: 前置依赖 task 的 files_changed + checkpoint_commit
158
+ ├── project_conventions: CLAUDE.md 路径 (executor 自行读取)
159
+ ├── workflows: 需加载的工作流文件路径 (如 tdd-cycle.md)
160
+ └── constraints: retry_count / level / review_required
161
+ ```
162
+
163
+ 派发 `executor` 子代理执行单个 task。
164
+
165
+ ### 11.4 — 处理 executor 结果
166
+
167
+ 严格按 agent result contract 处理:
168
+ ```
169
+ ├── checkpointed → 写入 checkpoint commit + evidence refs → 进入审查 (11.5)
170
+ ├── blocked → 写入 blocked_reason / unblock_condition
171
+ │ → 编排器检查 decisions 数组,能自动回答则重新派发
172
+ │ → 不能回答 → workflow_mode = awaiting_user,向用户转达
173
+ ├── failed → retry_count + 1
174
+ │ → 未超限 → 重新派发 executor
175
+ │ → 超限 (3次) 或返回 [FAILED] 且错误指纹重复
176
+ │ 或修复尝试未收敛 → 触发 debugger (见下方)
177
+ ```
178
+
179
+ **Debugger 触发流程:**
180
+ 1. 编排器派发 `debugger` 子代理,传入: 错误信息 + executor 修复尝试记录 + 相关代码路径
181
+ 2. debugger 返回: 根因分析 + 修复方向建议
182
+ 3. 编排器决定:
183
+ - 带修复方向重新派发 executor
184
+ - 标记 task failed
185
+ - 标记 phase failed
186
+
187
+ **Decisions 累积:**
188
+ - executor 返回 `[DECISION]` → 编排器追加到 `state.json` 的 `decisions` 数组
189
+ - 每条 decision 记录: `id` / `task` / `summary` / `phase`
190
+ - decisions 跨 task、跨 phase、跨 `/clear` + `/gsd:resume` 持久保留
191
+ - 编排器收到 `[BLOCKED]` 时,先查 `decisions` 数组尝试自动回答
192
+
193
+ ### 11.5 — 分层审查
194
+
195
+ ```
196
+ ├── L0: checkpoint commit 后可直接 accepted (无需 reviewer)
197
+ ├── L1: phase 结束后批量 reviewer 审查
198
+ │ → 派发 reviewer 子代理,scope = phase
199
+ └── L2: checkpoint commit 后立即独立审查
200
+ → 派发 reviewer 子代理,scope = task
201
+ → 未 accepted 前不释放其下游依赖
202
+ ```
203
+
204
+ **审查级别运行时重分类:**
205
+ - executor 报告 `contract_changed: true` + 涉及 auth/payment/public API → 自动升级为 L2
206
+ - executor 标注 `[LEVEL-UP]` → 编排器采纳
207
+ - 不主动降级 (安全优先)
208
+
209
+ ### 11.6 — 处理 reviewer 结果
210
+
211
+ ```
212
+ ├── 无 Critical → 更新 accepted 状态 + evidence refs
213
+ └── 有 Critical → 标记返工 task + 失效传播 → 重新审查 (最多 3 轮)
214
+ ```
215
+
216
+ **返工失效传播规则:**
217
+ - 返工修改了 contract / schema / shared behavior:
218
+ → 所有直接和间接依赖 task → `needs_revalidation`
219
+ → 清空其旧 `evidence_refs`
220
+ → 已 accepted 则退回到 `checkpointed` 或 `pending_review`
221
+ - 返工只影响局部实现、外部契约未变:
222
+ → 下游 task 保持现状
223
+ → 但受影响验证范围必须重跑并刷新 evidence
224
+ - 触发判定: `contract_changed` (executor 运行时报告) 是主触发源
225
+ `invalidate_downstream_on_change` (planner 静态标记) 是预判辅助
226
+ → executor 报告 `contract_changed: true` → 一定传播
227
+ → planner 标记但 executor 报告 false → 不传播 (以运行时实际为准)
228
+
229
+ ### 11.7 — Phase handoff gate
230
+
231
+ <HARD-GATE id="phase-handoff">
232
+ 所有条件必须满足才能进入下一 phase:
233
+ - [ ] 所有 required task = `accepted`
234
+ - [ ] required review = `passed`
235
+ - [ ] critical issues = 0
236
+ - [ ] tests/lint/typecheck 满足计划验证条件
237
+ - [ ] 方向校验: 当前阶段产出是否仍与 plan.md 中的项目目标一致?
238
+
239
+ → 全部满足 → 自动进入下一阶段
240
+ → 任一不满足 → 标注问题,尝试修复,3 次失败停止
241
+ → 方向漂移 → workflow_mode = awaiting_user,展示偏差让用户决定
242
+ </HARD-GATE>
243
+
244
+ ### 11.8 — 批量更新 state.json
245
+
246
+ 阶段完成后,编排器批量更新 state.json:
247
+ - 更新 phase lifecycle → `accepted`
248
+ - 更新 phase_handoff 信息
249
+ - 归档旧 phase 的 evidence (只保留当前 phase 和上一 phase)
250
+ - 推进 `current_phase` 到下一个 pending phase
251
+
252
+ **规则:** 只有编排器写 state.json,避免并发竞态。
253
+
254
+ ### 11.9 — 上下文检查
255
+
256
+ 每次派发子代理前和阶段切换时检查上下文健康度:
257
+
258
+ ```
259
+ remaining < 35%:
260
+ 1. 保存完整状态到 state.json
261
+ 2. workflow_mode = awaiting_clear
262
+ 3. 输出: "上下文剩余 <35%,已保存进度。请执行 /clear 然后 /gsd:resume 继续"
263
+ 4. 停止执行
264
+
265
+ remaining < 25%:
266
+ 1. 紧急保存状态到 state.json
267
+ 2. workflow_mode = awaiting_clear
268
+ 3. 输出: "上下文即将耗尽,已保存进度。请立即执行 /clear 然后 /gsd:resume"
269
+ 4. 立即停止
270
+ ```
271
+
272
+ </execution_loop>
273
+
274
+ ## STEP 12 — 全部完成
275
+
276
+ 全部 phase 完成后,输出最终报告:
277
+ - 项目总结
278
+ - 各阶段完成情况
279
+ - 关键 decisions 汇总
280
+ - 验证 evidence 汇总
281
+ - 遗留问题 / 后续建议 (如有)
282
+
283
+ </process>
284
+
285
+ <EXTREMELY-IMPORTANT>
286
+ ## 编排器纪律
287
+ - 只有编排器写 state.json,子代理不直接写
288
+ - 所有摘要/提示在展示时从 canonical fields 推导,不持久化 derived fields
289
+ - 子代理返回结构化 JSON,不解析自然语言
290
+ - 上下文 < 35% → 保存状态 + workflow_mode = awaiting_clear + 停止执行
291
+ </EXTREMELY-IMPORTANT>
@@ -1,5 +1,4 @@
1
1
  ---
2
- name: gsd-resume
3
2
  description: Resume project execution from saved state with workspace validation
4
3
  ---
5
4
 
@@ -68,8 +67,8 @@ description: Resume project execution from saved state with workspace validation
68
67
  - lifecycle 在 {pending, needs_revalidation}
69
68
  - requires 中每个依赖都满足对应 gate
70
69
  - 未超过 retry 上限
71
- - 构建 executor 上下文 → 派发 gsd-executor 子代理
72
- - 继续自动执行主路径 (按 gsd-start.md STEP 11 执行循环)
70
+ - 构建 executor 上下文 → 派发 executor 子代理
71
+ - 继续自动执行主路径 (按 start.md STEP 11 执行循环)
73
72
 
74
73
  ---
75
74
 
@@ -77,7 +76,7 @@ description: Resume project execution from saved state with workspace validation
77
76
 
78
77
  - 读取 `current_review` (scope=task, scope_id, stage)
79
78
  - 加载对应 task 的 checkpoint 信息
80
- - 派发 gsd-reviewer 子代理,传递:
79
+ - 派发 reviewer 子代理,传递:
81
80
  - task_id + checkpoint_commit + files_changed
82
81
  - 当前审查阶段 (spec / quality)
83
82
  - 审查完成后恢复正常调度
@@ -88,7 +87,7 @@ description: Resume project execution from saved state with workspace validation
88
87
 
89
88
  - 读取 `current_review` (scope=phase, scope_id)
90
89
  - 收集该 phase 中所有 L1 task 的 checkpoint 信息
91
- - 派发 gsd-reviewer 子代理进行批量审查
90
+ - 派发 reviewer 子代理进行批量审查
92
91
  - 审查完成后:
93
92
  - 全部通过 → phase handoff gate 校验
94
93
  - 有 Critical → 标记返工 task + 失效传播 → 重新派发 executor
@@ -98,7 +97,7 @@ description: Resume project execution from saved state with workspace validation
98
97
  ### `awaiting_clear` — 继续自动执行
99
98
 
100
99
  - 上下文已通过 /clear 清理
101
- - 直接继续自动执行主路径 (§4.3)
100
+ - 直接继续自动执行主路径
102
101
  - 从 `current_phase` + `current_task` 恢复调度
103
102
 
104
103
  ---
@@ -158,7 +157,7 @@ description: Resume project execution from saved state with workspace validation
158
157
  - 过期的研究内容摘要
159
158
  - 过期时间
160
159
  - 可能受影响的 task (引用了过期 decision 的 task)
161
- - 自动派发 gsd-researcher 子代理刷新研究
160
+ - 自动派发 researcher 子代理刷新研究
162
161
  - 刷新后处理 decision ID 变更:
163
162
  - 结论一致 → 保留引用,更新 expires_at
164
163
  - 结论变了 → 标记引用 task 为 needs_revalidation
@@ -212,5 +211,5 @@ description: Resume project execution from saved state with workspace validation
212
211
  - 校验覆写 workflow_mode 时,首个命中生效,不累积
213
212
  - awaiting_user / reconcile_workspace / replan_required 模式下不自动执行代码
214
213
  - 只有编排器写 state.json,子代理不直接写
215
- - 上下文 < 40% → 保存状态 + workflow_mode = awaiting_clear + 停止执行
214
+ - 上下文 < 35% → 保存状态 + workflow_mode = awaiting_clear + 停止执行
216
215
  </EXTREMELY-IMPORTANT>
@@ -1,7 +1,6 @@
1
1
  ---
2
- name: gsd-start
3
2
  description: Interactive project start — discuss requirements, research, plan, then auto-execute
4
- argument-hint: ""
3
+ argument-hint: Optional feature or project description
5
4
  ---
6
5
 
7
6
  <role>
@@ -58,7 +57,7 @@ argument-hint: ""
58
57
  ```
59
58
 
60
59
  需要研究时:
61
- 1. 派发 `gsd-researcher` 子代理 (新鲜上下文)
60
+ 1. 派发 `researcher` 子代理 (新鲜上下文)
62
61
  2. 研究输出写入 `.gsd/research/` (STACK.md, ARCHITECTURE.md, PITFALLS.md, SUMMARY.md)
63
62
  3. 向用户展示关键发现: 技术栈推荐 + 陷阱警告 + ⭐ 推荐方案
64
63
 
@@ -181,7 +180,7 @@ executor 上下文传递协议 (orchestrator → executor):
181
180
  └── constraints: retry_count / level / review_required
182
181
  ```
183
182
 
184
- 派发 `gsd-executor` 子代理执行单个 task。
183
+ 派发 `executor` 子代理执行单个 task。
185
184
 
186
185
  ### 11.4 — 处理 executor 结果
187
186
 
@@ -198,7 +197,7 @@ executor 上下文传递协议 (orchestrator → executor):
198
197
  ```
199
198
 
200
199
  **Debugger 触发流程:**
201
- 1. 编排器派发 `gsd-debugger` 子代理,传入: 错误信息 + executor 修复尝试记录 + 相关代码路径
200
+ 1. 编排器派发 `debugger` 子代理,传入: 错误信息 + executor 修复尝试记录 + 相关代码路径
202
201
  2. debugger 返回: 根因分析 + 修复方向建议
203
202
  3. 编排器决定:
204
203
  - 带修复方向重新派发 executor
@@ -216,9 +215,9 @@ executor 上下文传递协议 (orchestrator → executor):
216
215
  ```
217
216
  ├── L0: checkpoint commit 后可直接 accepted (无需 reviewer)
218
217
  ├── L1: phase 结束后批量 reviewer 审查
219
- │ → 派发 gsd-reviewer 子代理,scope = phase
218
+ │ → 派发 reviewer 子代理,scope = phase
220
219
  └── L2: checkpoint commit 后立即独立审查
221
- → 派发 gsd-reviewer 子代理,scope = task
220
+ → 派发 reviewer 子代理,scope = task
222
221
  → 未 accepted 前不释放其下游依赖
223
222
  ```
224
223
 
@@ -277,13 +276,13 @@ executor 上下文传递协议 (orchestrator → executor):
277
276
  每次派发子代理前和阶段切换时检查上下文健康度:
278
277
 
279
278
  ```
280
- remaining < 40%:
279
+ remaining < 35%:
281
280
  1. 保存完整状态到 state.json
282
281
  2. workflow_mode = awaiting_clear
283
- 3. 输出: "上下文剩余 <40%,已保存进度。请执行 /clear 然后 /gsd:resume 继续"
282
+ 3. 输出: "上下文剩余 <35%,已保存进度。请执行 /clear 然后 /gsd:resume 继续"
284
283
  4. 停止执行
285
284
 
286
- remaining < 20%:
285
+ remaining < 25%:
287
286
  1. 紧急保存状态到 state.json
288
287
  2. workflow_mode = awaiting_clear
289
288
  3. 输出: "上下文即将耗尽,已保存进度。请立即执行 /clear 然后 /gsd:resume"
@@ -1,5 +1,4 @@
1
1
  ---
2
- name: gsd-status
3
2
  description: Display project progress overview derived from canonical state fields
4
3
  ---
5
4
 
@@ -1,5 +1,4 @@
1
1
  ---
2
- name: gsd-stop
3
2
  description: Save current state and pause project execution
4
3
  ---
5
4
 
@@ -1,13 +1,13 @@
1
1
  // hooks/context-monitor.js
2
- // This file exports TWO hook handlers used by Claude Code's hooks system.
3
- // Can also be invoked via CLI: node context-monitor.js <statusLine|postToolUse>
2
+ // ESM wrapper exports functions for unit tests.
3
+ // Production hooks use gsd-statusline.js (CJS) and gsd-context-monitor.js (CJS) directly.
4
4
 
5
5
  import { readFileSync, writeFileSync, mkdirSync } from 'node:fs';
6
6
  import { join } from 'node:path';
7
7
 
8
8
  /**
9
- * StatusLine hook — called after each tool use.
10
- * Reads remaining_percentage and writes to .gsd/.context-health
9
+ * StatusLine hook — reads context_window data and writes bridge file.
10
+ * Used by unit tests; production uses gsd-statusline.js (CJS).
11
11
  */
12
12
  export function statusLine(data, basePath) {
13
13
  try {
@@ -23,18 +23,18 @@ export function statusLine(data, basePath) {
23
23
  }
24
24
 
25
25
  /**
26
- * PostToolUse hook — called after each tool use.
27
- * Reads .context-health and returns warning/stop text if threshold breached.
26
+ * PostToolUse hook — reads .context-health and returns warning text.
27
+ * Used by unit tests; production uses gsd-context-monitor.js (CJS).
28
28
  */
29
29
  export function postToolUse(basePath) {
30
30
  try {
31
31
  const gsdDir = join(basePath || process.cwd(), '.gsd');
32
32
  const health = parseInt(readFileSync(join(gsdDir, '.context-health'), 'utf-8'), 10);
33
33
 
34
- if (health < 20) {
34
+ if (health < 25) {
35
35
  return `🛑 CONTEXT EMERGENCY (${health}% remaining): Save state NOW. Set workflow_mode = awaiting_clear. Tell user to /clear then /gsd:resume.`;
36
36
  }
37
- if (health < 40) {
37
+ if (health < 35) {
38
38
  return `⚠️ CONTEXT LOW (${health}% remaining): Complete current task, save state, set workflow_mode = awaiting_clear. Tell user to /clear then /gsd:resume.`;
39
39
  }
40
40
  } catch (err) {
@@ -42,23 +42,3 @@ export function postToolUse(basePath) {
42
42
  }
43
43
  return null;
44
44
  }
45
-
46
- // I-6: CLI dispatch — allows hook registration as shell command
47
- const cmd = process.argv[2];
48
- if (cmd === 'statusLine') {
49
- // Read JSON data from stdin for statusLine
50
- let input = '';
51
- process.stdin.setEncoding('utf-8');
52
- process.stdin.on('data', chunk => { input += chunk; });
53
- process.stdin.on('end', () => {
54
- try {
55
- const data = JSON.parse(input);
56
- statusLine(data);
57
- } catch (err) {
58
- if (process.env.GSD_DEBUG) console.error('[context-monitor:cli]', err);
59
- }
60
- });
61
- } else if (cmd === 'postToolUse') {
62
- const result = postToolUse();
63
- if (result) console.log(result);
64
- }