@tekyzinc/gsd-t 2.50.12 → 2.53.10
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/CHANGELOG.md +24 -0
- package/README.md +379 -372
- package/bin/component-registry.js +250 -0
- package/bin/graph-cgc.js +510 -510
- package/bin/graph-indexer.js +147 -147
- package/bin/graph-overlay.js +195 -195
- package/bin/graph-parsers.js +327 -327
- package/bin/graph-query.js +453 -452
- package/bin/graph-store.js +154 -154
- package/bin/qa-calibrator.js +194 -0
- package/bin/scan-data-collector.js +153 -153
- package/bin/scan-diagrams-generators.js +187 -187
- package/bin/scan-diagrams.js +79 -79
- package/bin/scan-renderer.js +92 -92
- package/bin/scan-report-sections.js +121 -121
- package/bin/scan-report.js +184 -184
- package/bin/scan-schema-parsers.js +199 -199
- package/bin/scan-schema.js +103 -103
- package/bin/token-budget.js +246 -0
- package/commands/Claude-md.md +10 -10
- package/commands/branch.md +15 -15
- package/commands/checkin.md +45 -45
- package/commands/global-change.md +209 -209
- package/commands/gsd-t-audit.md +199 -0
- package/commands/gsd-t-backlog-add.md +94 -94
- package/commands/gsd-t-backlog-edit.md +111 -111
- package/commands/gsd-t-backlog-list.md +63 -63
- package/commands/gsd-t-backlog-move.md +94 -94
- package/commands/gsd-t-backlog-promote.md +123 -123
- package/commands/gsd-t-backlog-remove.md +86 -86
- package/commands/gsd-t-backlog-settings.md +158 -158
- package/commands/gsd-t-complete-milestone.md +528 -515
- package/commands/gsd-t-debug.md +506 -399
- package/commands/gsd-t-discuss.md +174 -174
- package/commands/gsd-t-execute.md +758 -634
- package/commands/gsd-t-feature.md +276 -276
- package/commands/gsd-t-health.md +142 -142
- package/commands/gsd-t-help.md +465 -457
- package/commands/gsd-t-impact.md +302 -302
- package/commands/gsd-t-init.md +320 -280
- package/commands/gsd-t-integrate.md +365 -249
- package/commands/gsd-t-milestone.md +87 -87
- package/commands/gsd-t-partition.md +442 -361
- package/commands/gsd-t-pause.md +82 -82
- package/commands/gsd-t-plan.md +345 -344
- package/commands/gsd-t-populate.md +111 -111
- package/commands/gsd-t-prd.md +326 -326
- package/commands/gsd-t-project.md +211 -211
- package/commands/gsd-t-promote-debt.md +123 -123
- package/commands/gsd-t-prompt.md +137 -137
- package/commands/gsd-t-qa.md +266 -266
- package/commands/gsd-t-quick.md +357 -234
- package/commands/gsd-t-reflect.md +134 -134
- package/commands/gsd-t-resume.md +72 -72
- package/commands/gsd-t-scan.md +615 -615
- package/commands/gsd-t-setup.md +76 -0
- package/commands/gsd-t-status.md +192 -166
- package/commands/gsd-t-test-sync.md +381 -381
- package/commands/gsd-t-triage-and-merge.md +171 -171
- package/commands/gsd-t-verify.md +382 -382
- package/commands/gsd-t-visualize.md +118 -118
- package/commands/gsd-t-wave.md +401 -378
- package/docs/GSD-T-README.md +425 -422
- package/docs/architecture.md +385 -369
- package/docs/harness-design-analysis.md +371 -0
- package/docs/infrastructure.md +205 -205
- package/docs/prd-graph-engine.md +398 -398
- package/docs/prd-gsd2-hybrid.md +559 -559
- package/docs/prd-harness-evolution.md +583 -0
- package/docs/requirements.md +14 -0
- package/docs/workflows.md +226 -226
- package/examples/.gsd-t/domains/example-domain/scope.md +13 -13
- package/package.json +40 -40
- package/scripts/gsd-t-auto-route.js +39 -39
- package/scripts/gsd-t-dashboard-mockup.html +1143 -1143
- package/scripts/gsd-t-dashboard-server.js +171 -171
- package/scripts/gsd-t-dashboard.html +262 -262
- package/scripts/gsd-t-event-writer.js +128 -128
- package/scripts/gsd-t-statusline.js +94 -94
- package/scripts/gsd-t-tools.js +175 -175
- package/templates/CLAUDE-global.md +639 -614
- package/templates/CLAUDE-project.md +24 -0
- package/templates/backlog-settings.md +18 -18
- package/templates/backlog.md +1 -1
- package/templates/progress.md +40 -40
- package/templates/shared-services-contract.md +60 -60
- package/templates/stacks/desktop.ini +2 -2
- package/bin/desktop.ini +0 -2
- package/commands/desktop.ini +0 -2
- package/docs/ci-examples/desktop.ini +0 -2
- package/docs/desktop.ini +0 -2
- package/examples/.gsd-t/contracts/desktop.ini +0 -2
- package/examples/.gsd-t/desktop.ini +0 -2
- package/examples/.gsd-t/domains/desktop.ini +0 -2
- package/examples/.gsd-t/domains/example-domain/desktop.ini +0 -2
- package/examples/desktop.ini +0 -2
- package/examples/rules/desktop.ini +0 -2
- package/scripts/desktop.ini +0 -2
- package/templates/desktop.ini +0 -2
|
@@ -1,174 +1,174 @@
|
|
|
1
|
-
# GSD-T: Discuss — Multi-Perspective Design Exploration
|
|
2
|
-
|
|
3
|
-
You are the lead agent exploring design decisions before committing to a plan. The goal of this phase is to produce or refine **contracts** — not just recommendations.
|
|
4
|
-
|
|
5
|
-
## IMPORTANT: Manual vs Auto-Invoked Behavior
|
|
6
|
-
|
|
7
|
-
**When manually invoked** (user typed `/user:gsd-t-discuss`):
|
|
8
|
-
- Focus on the user's specific topic from `$ARGUMENTS`
|
|
9
|
-
- Present analysis, options, and recommendations — do NOT auto-implement anything
|
|
10
|
-
- At the end, **STOP and wait for user input** — even in bypass/yolo mode
|
|
11
|
-
- The user wants to review and decide before proceeding
|
|
12
|
-
- Do NOT continue to the plan or execute phase
|
|
13
|
-
|
|
14
|
-
**When auto-invoked** (called by `gsd-t-wave` or another workflow command):
|
|
15
|
-
- Work through all open questions automatically
|
|
16
|
-
- Make recommendations and log decisions
|
|
17
|
-
- Continue to the next phase without stopping
|
|
18
|
-
|
|
19
|
-
**How to tell:** If `$ARGUMENTS` contains a specific topic or question, the user invoked this manually. If `$ARGUMENTS` is empty or contains only a milestone reference, it was auto-invoked by the workflow.
|
|
20
|
-
|
|
21
|
-
## Step 1: Load Context
|
|
22
|
-
|
|
23
|
-
Read in order:
|
|
24
|
-
1. `CLAUDE.md`
|
|
25
|
-
2. `.gsd-t/progress.md`
|
|
26
|
-
3. `.gsd-t/contracts/` — all existing contracts
|
|
27
|
-
4. `.gsd-t/domains/` — all domain scopes
|
|
28
|
-
5. `docs/` — requirements, architecture, schema, design docs
|
|
29
|
-
|
|
30
|
-
## Step 2: Identify Open Questions
|
|
31
|
-
|
|
32
|
-
**If manually invoked with a topic:** Focus on THAT topic. The user's question/topic is the priority. You may surface related questions, but the user's topic comes first.
|
|
33
|
-
|
|
34
|
-
**If auto-invoked:** Based on the milestone and current contracts, identify what's unresolved:
|
|
35
|
-
- Architecture decisions not yet made
|
|
36
|
-
- Contract details that are vague or missing
|
|
37
|
-
- Technical approaches with multiple viable options
|
|
38
|
-
- Risk areas that need exploration
|
|
39
|
-
|
|
40
|
-
List these as numbered questions.
|
|
41
|
-
|
|
42
|
-
## Step 3: Explore (Solo or Team)
|
|
43
|
-
|
|
44
|
-
### Solo Mode (default, no teams):
|
|
45
|
-
Work through each open question systematically:
|
|
46
|
-
- For each question, consider at least 2 approaches
|
|
47
|
-
- Evaluate each against: project requirements, existing patterns in CLAUDE.md, complexity, risk
|
|
48
|
-
- Make a recommendation with rationale
|
|
49
|
-
- Document the decision in `.gsd-t/progress.md` Decision Log
|
|
50
|
-
|
|
51
|
-
### Team Mode (when agent teams are enabled):
|
|
52
|
-
If the user requests team exploration or there are 3+ complex open questions:
|
|
53
|
-
|
|
54
|
-
**OBSERVABILITY LOGGING (MANDATORY):**
|
|
55
|
-
Before spawning the team — run via Bash:
|
|
56
|
-
`T_START=$(date +%s) && DT_START=$(date +"%Y-%m-%d %H:%M") && TOK_START=${CLAUDE_CONTEXT_TOKENS_USED:-0} && TOK_MAX=${CLAUDE_CONTEXT_TOKENS_MAX:-200000}`
|
|
57
|
-
|
|
58
|
-
```
|
|
59
|
-
Create an agent team:
|
|
60
|
-
|
|
61
|
-
ALL TEAMMATES read first:
|
|
62
|
-
- CLAUDE.md
|
|
63
|
-
- .gsd-t/contracts/ (all files)
|
|
64
|
-
- docs/ (relevant docs)
|
|
65
|
-
|
|
66
|
-
Assign each teammate a distinct perspective:
|
|
67
|
-
- Teammate 1: Advocate for approach A — build strongest case
|
|
68
|
-
- Teammate 2: Advocate for approach B — build strongest case
|
|
69
|
-
- Teammate 3: Critic — find weaknesses in both, identify risks
|
|
70
|
-
|
|
71
|
-
Lead: Synthesize into decisions and update contracts.
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
After team completes — run via Bash:
|
|
75
|
-
`T_END=$(date +%s) && DT_END=$(date +"%Y-%m-%d %H:%M") && TOK_END=${CLAUDE_CONTEXT_TOKENS_USED:-0} && DURATION=$((T_END-T_START))`
|
|
76
|
-
Compute tokens and compaction:
|
|
77
|
-
- No compaction (TOK_END >= TOK_START): `TOKENS=$((TOK_END-TOK_START))`, COMPACTED=null
|
|
78
|
-
- Compaction detected (TOK_END < TOK_START): `TOKENS=$(((TOK_MAX-TOK_START)+TOK_END))`, COMPACTED=$DT_END
|
|
79
|
-
Append to `.gsd-t/token-log.md` (create with header `| Datetime-start | Datetime-end | Command | Step | Model | Duration(s) | Notes | Tokens | Compacted |` if missing):
|
|
80
|
-
`| {DT_START} | {DT_END} | gsd-t-discuss | Step 3 | sonnet | {DURATION}s | team discuss: {topic summary} | {TOKENS} | {COMPACTED} |`
|
|
81
|
-
|
|
82
|
-
Assign teammates based on the nature of the questions:
|
|
83
|
-
- **Technical choice** (e.g., which database): one advocate per option + critic
|
|
84
|
-
- **Architecture pattern** (e.g., monolith vs microservice): one advocate per pattern + someone evaluating migration path
|
|
85
|
-
- **Risk assessment**: one optimist, one pessimist, one pragmatist
|
|
86
|
-
|
|
87
|
-
## Step 4: Update Contracts
|
|
88
|
-
|
|
89
|
-
Every decision MUST result in a contract update. This is the output that matters.
|
|
90
|
-
|
|
91
|
-
For each decision:
|
|
92
|
-
1. Update or create the relevant contract file in `.gsd-t/contracts/`
|
|
93
|
-
2. Update domain `scope.md` and `constraints.md` if the decision affects boundaries
|
|
94
|
-
3. Add to `.gsd-t/progress.md` Decision Log with date and rationale
|
|
95
|
-
|
|
96
|
-
## Step 5: Create CONTEXT.md
|
|
97
|
-
|
|
98
|
-
After finalizing decisions, create or update `.gsd-t/CONTEXT.md`:
|
|
99
|
-
|
|
100
|
-
```markdown
|
|
101
|
-
# Discuss CONTEXT — {Milestone Name}
|
|
102
|
-
Generated: {date}
|
|
103
|
-
|
|
104
|
-
## Locked Decisions
|
|
105
|
-
Decisions made in this session. The plan phase MUST implement each of these exactly.
|
|
106
|
-
- {Decision 1 — specific and implementable}
|
|
107
|
-
- {Decision 2}
|
|
108
|
-
|
|
109
|
-
## Deferred Ideas
|
|
110
|
-
Good ideas surfaced but NOT in scope for this milestone. Plan must NOT implement these.
|
|
111
|
-
- {Idea 1 — brief description of what was deferred and why}
|
|
112
|
-
|
|
113
|
-
## Claude's Discretion
|
|
114
|
-
Implementation details not specified — Claude can choose freely when executing.
|
|
115
|
-
- {Detail 1 — e.g., "Use either X or Y approach for the logging layer"}
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
The plan phase planner must read this file and map every Locked Decision to at least one task. If a Locked Decision has no corresponding task, the plan is incomplete.
|
|
119
|
-
|
|
120
|
-
## Step 6: Document Ripple
|
|
121
|
-
|
|
122
|
-
Decisions don't just affect contracts — they can change the broader documentation:
|
|
123
|
-
|
|
124
|
-
### Always update:
|
|
125
|
-
1. **`.gsd-t/progress.md`** — Decision Log with date, decision, and rationale
|
|
126
|
-
|
|
127
|
-
### Check if affected:
|
|
128
|
-
2. **`docs/architecture.md`** — Did a decision change the architecture pattern, tech stack, data flow, or component relationships? Update it
|
|
129
|
-
3. **`docs/requirements.md`** — Did a decision add, remove, or change a requirement? Update it
|
|
130
|
-
4. **`docs/schema.md`** — Did a decision affect the data model? Update it
|
|
131
|
-
5. **`CLAUDE.md`** — Did a decision establish a new convention or pattern? Add it so all future work follows it
|
|
132
|
-
6. **Domain `constraints.md`** — Already updated in Step 4, but double-check all domains are consistent with the decisions
|
|
133
|
-
|
|
134
|
-
### Skip what's not affected.
|
|
135
|
-
|
|
136
|
-
## Step 7: Test Verification
|
|
137
|
-
|
|
138
|
-
If decisions resulted in contract or code changes:
|
|
139
|
-
|
|
140
|
-
1. **Run affected tests**: Execute tests related to any files modified by contract updates
|
|
141
|
-
2. **Verify passing**: All tests must pass. If any fail from contract changes, fix before proceeding (up to 2 attempts)
|
|
142
|
-
3. **Flag test gaps**: If decisions created new requirements with no test coverage, note them for the plan phase
|
|
143
|
-
|
|
144
|
-
## Step 8: Validate Contracts
|
|
145
|
-
|
|
146
|
-
After all updates:
|
|
147
|
-
- [ ] All contracts are internally consistent (no conflicting types/shapes)
|
|
148
|
-
- [ ] Cross-references between contracts are valid
|
|
149
|
-
- [ ] Every domain's constraints reflect the decisions made
|
|
150
|
-
- [ ] Integration points are updated with any new dependencies
|
|
151
|
-
|
|
152
|
-
## Step 9: Report and Stop
|
|
153
|
-
|
|
154
|
-
Present to the user:
|
|
155
|
-
1. Decisions made (with brief rationale)
|
|
156
|
-
2. Contracts created or updated
|
|
157
|
-
3. Any remaining open questions that need user input
|
|
158
|
-
4. Recommended next step (usually: plan phase)
|
|
159
|
-
|
|
160
|
-
Update `.gsd-t/progress.md` status to `DISCUSSED`.
|
|
161
|
-
|
|
162
|
-
### Autonomy Behavior
|
|
163
|
-
|
|
164
|
-
**When manually invoked** (any autonomy level): **STOP HERE.** Do NOT proceed to the plan phase or any other phase. Present your findings and ask the user: "Discussion complete. Here's what I found and recommend. Want to proceed with these decisions, revise anything, or explore further?" This is mandatory — even at Level 3 / bypass permissions. The user invoked discuss to THINK, not to auto-pilot.
|
|
165
|
-
|
|
166
|
-
**Level 3 (Full Auto) — when auto-invoked by wave**: Work through all open questions automatically, make recommendations, log decisions, and return control to the calling command. Do NOT wait for user input.
|
|
167
|
-
|
|
168
|
-
**Level 1–2 — when auto-invoked**: Present decisions and open questions. Wait for user confirmation before returning control to the calling command.
|
|
169
|
-
|
|
170
|
-
$ARGUMENTS
|
|
171
|
-
|
|
172
|
-
## Auto-Clear
|
|
173
|
-
|
|
174
|
-
All work is committed to project files. Execute `/clear` to free the context window for the next command.
|
|
1
|
+
# GSD-T: Discuss — Multi-Perspective Design Exploration
|
|
2
|
+
|
|
3
|
+
You are the lead agent exploring design decisions before committing to a plan. The goal of this phase is to produce or refine **contracts** — not just recommendations.
|
|
4
|
+
|
|
5
|
+
## IMPORTANT: Manual vs Auto-Invoked Behavior
|
|
6
|
+
|
|
7
|
+
**When manually invoked** (user typed `/user:gsd-t-discuss`):
|
|
8
|
+
- Focus on the user's specific topic from `$ARGUMENTS`
|
|
9
|
+
- Present analysis, options, and recommendations — do NOT auto-implement anything
|
|
10
|
+
- At the end, **STOP and wait for user input** — even in bypass/yolo mode
|
|
11
|
+
- The user wants to review and decide before proceeding
|
|
12
|
+
- Do NOT continue to the plan or execute phase
|
|
13
|
+
|
|
14
|
+
**When auto-invoked** (called by `gsd-t-wave` or another workflow command):
|
|
15
|
+
- Work through all open questions automatically
|
|
16
|
+
- Make recommendations and log decisions
|
|
17
|
+
- Continue to the next phase without stopping
|
|
18
|
+
|
|
19
|
+
**How to tell:** If `$ARGUMENTS` contains a specific topic or question, the user invoked this manually. If `$ARGUMENTS` is empty or contains only a milestone reference, it was auto-invoked by the workflow.
|
|
20
|
+
|
|
21
|
+
## Step 1: Load Context
|
|
22
|
+
|
|
23
|
+
Read in order:
|
|
24
|
+
1. `CLAUDE.md`
|
|
25
|
+
2. `.gsd-t/progress.md`
|
|
26
|
+
3. `.gsd-t/contracts/` — all existing contracts
|
|
27
|
+
4. `.gsd-t/domains/` — all domain scopes
|
|
28
|
+
5. `docs/` — requirements, architecture, schema, design docs
|
|
29
|
+
|
|
30
|
+
## Step 2: Identify Open Questions
|
|
31
|
+
|
|
32
|
+
**If manually invoked with a topic:** Focus on THAT topic. The user's question/topic is the priority. You may surface related questions, but the user's topic comes first.
|
|
33
|
+
|
|
34
|
+
**If auto-invoked:** Based on the milestone and current contracts, identify what's unresolved:
|
|
35
|
+
- Architecture decisions not yet made
|
|
36
|
+
- Contract details that are vague or missing
|
|
37
|
+
- Technical approaches with multiple viable options
|
|
38
|
+
- Risk areas that need exploration
|
|
39
|
+
|
|
40
|
+
List these as numbered questions.
|
|
41
|
+
|
|
42
|
+
## Step 3: Explore (Solo or Team)
|
|
43
|
+
|
|
44
|
+
### Solo Mode (default, no teams):
|
|
45
|
+
Work through each open question systematically:
|
|
46
|
+
- For each question, consider at least 2 approaches
|
|
47
|
+
- Evaluate each against: project requirements, existing patterns in CLAUDE.md, complexity, risk
|
|
48
|
+
- Make a recommendation with rationale
|
|
49
|
+
- Document the decision in `.gsd-t/progress.md` Decision Log
|
|
50
|
+
|
|
51
|
+
### Team Mode (when agent teams are enabled):
|
|
52
|
+
If the user requests team exploration or there are 3+ complex open questions:
|
|
53
|
+
|
|
54
|
+
**OBSERVABILITY LOGGING (MANDATORY):**
|
|
55
|
+
Before spawning the team — run via Bash:
|
|
56
|
+
`T_START=$(date +%s) && DT_START=$(date +"%Y-%m-%d %H:%M") && TOK_START=${CLAUDE_CONTEXT_TOKENS_USED:-0} && TOK_MAX=${CLAUDE_CONTEXT_TOKENS_MAX:-200000}`
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
Create an agent team:
|
|
60
|
+
|
|
61
|
+
ALL TEAMMATES read first:
|
|
62
|
+
- CLAUDE.md
|
|
63
|
+
- .gsd-t/contracts/ (all files)
|
|
64
|
+
- docs/ (relevant docs)
|
|
65
|
+
|
|
66
|
+
Assign each teammate a distinct perspective:
|
|
67
|
+
- Teammate 1: Advocate for approach A — build strongest case
|
|
68
|
+
- Teammate 2: Advocate for approach B — build strongest case
|
|
69
|
+
- Teammate 3: Critic — find weaknesses in both, identify risks
|
|
70
|
+
|
|
71
|
+
Lead: Synthesize into decisions and update contracts.
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
After team completes — run via Bash:
|
|
75
|
+
`T_END=$(date +%s) && DT_END=$(date +"%Y-%m-%d %H:%M") && TOK_END=${CLAUDE_CONTEXT_TOKENS_USED:-0} && DURATION=$((T_END-T_START))`
|
|
76
|
+
Compute tokens and compaction:
|
|
77
|
+
- No compaction (TOK_END >= TOK_START): `TOKENS=$((TOK_END-TOK_START))`, COMPACTED=null
|
|
78
|
+
- Compaction detected (TOK_END < TOK_START): `TOKENS=$(((TOK_MAX-TOK_START)+TOK_END))`, COMPACTED=$DT_END
|
|
79
|
+
Append to `.gsd-t/token-log.md` (create with header `| Datetime-start | Datetime-end | Command | Step | Model | Duration(s) | Notes | Tokens | Compacted |` if missing):
|
|
80
|
+
`| {DT_START} | {DT_END} | gsd-t-discuss | Step 3 | sonnet | {DURATION}s | team discuss: {topic summary} | {TOKENS} | {COMPACTED} |`
|
|
81
|
+
|
|
82
|
+
Assign teammates based on the nature of the questions:
|
|
83
|
+
- **Technical choice** (e.g., which database): one advocate per option + critic
|
|
84
|
+
- **Architecture pattern** (e.g., monolith vs microservice): one advocate per pattern + someone evaluating migration path
|
|
85
|
+
- **Risk assessment**: one optimist, one pessimist, one pragmatist
|
|
86
|
+
|
|
87
|
+
## Step 4: Update Contracts
|
|
88
|
+
|
|
89
|
+
Every decision MUST result in a contract update. This is the output that matters.
|
|
90
|
+
|
|
91
|
+
For each decision:
|
|
92
|
+
1. Update or create the relevant contract file in `.gsd-t/contracts/`
|
|
93
|
+
2. Update domain `scope.md` and `constraints.md` if the decision affects boundaries
|
|
94
|
+
3. Add to `.gsd-t/progress.md` Decision Log with date and rationale
|
|
95
|
+
|
|
96
|
+
## Step 5: Create CONTEXT.md
|
|
97
|
+
|
|
98
|
+
After finalizing decisions, create or update `.gsd-t/CONTEXT.md`:
|
|
99
|
+
|
|
100
|
+
```markdown
|
|
101
|
+
# Discuss CONTEXT — {Milestone Name}
|
|
102
|
+
Generated: {date}
|
|
103
|
+
|
|
104
|
+
## Locked Decisions
|
|
105
|
+
Decisions made in this session. The plan phase MUST implement each of these exactly.
|
|
106
|
+
- {Decision 1 — specific and implementable}
|
|
107
|
+
- {Decision 2}
|
|
108
|
+
|
|
109
|
+
## Deferred Ideas
|
|
110
|
+
Good ideas surfaced but NOT in scope for this milestone. Plan must NOT implement these.
|
|
111
|
+
- {Idea 1 — brief description of what was deferred and why}
|
|
112
|
+
|
|
113
|
+
## Claude's Discretion
|
|
114
|
+
Implementation details not specified — Claude can choose freely when executing.
|
|
115
|
+
- {Detail 1 — e.g., "Use either X or Y approach for the logging layer"}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
The plan phase planner must read this file and map every Locked Decision to at least one task. If a Locked Decision has no corresponding task, the plan is incomplete.
|
|
119
|
+
|
|
120
|
+
## Step 6: Document Ripple
|
|
121
|
+
|
|
122
|
+
Decisions don't just affect contracts — they can change the broader documentation:
|
|
123
|
+
|
|
124
|
+
### Always update:
|
|
125
|
+
1. **`.gsd-t/progress.md`** — Decision Log with date, decision, and rationale
|
|
126
|
+
|
|
127
|
+
### Check if affected:
|
|
128
|
+
2. **`docs/architecture.md`** — Did a decision change the architecture pattern, tech stack, data flow, or component relationships? Update it
|
|
129
|
+
3. **`docs/requirements.md`** — Did a decision add, remove, or change a requirement? Update it
|
|
130
|
+
4. **`docs/schema.md`** — Did a decision affect the data model? Update it
|
|
131
|
+
5. **`CLAUDE.md`** — Did a decision establish a new convention or pattern? Add it so all future work follows it
|
|
132
|
+
6. **Domain `constraints.md`** — Already updated in Step 4, but double-check all domains are consistent with the decisions
|
|
133
|
+
|
|
134
|
+
### Skip what's not affected.
|
|
135
|
+
|
|
136
|
+
## Step 7: Test Verification
|
|
137
|
+
|
|
138
|
+
If decisions resulted in contract or code changes:
|
|
139
|
+
|
|
140
|
+
1. **Run affected tests**: Execute tests related to any files modified by contract updates
|
|
141
|
+
2. **Verify passing**: All tests must pass. If any fail from contract changes, fix before proceeding (up to 2 attempts)
|
|
142
|
+
3. **Flag test gaps**: If decisions created new requirements with no test coverage, note them for the plan phase
|
|
143
|
+
|
|
144
|
+
## Step 8: Validate Contracts
|
|
145
|
+
|
|
146
|
+
After all updates:
|
|
147
|
+
- [ ] All contracts are internally consistent (no conflicting types/shapes)
|
|
148
|
+
- [ ] Cross-references between contracts are valid
|
|
149
|
+
- [ ] Every domain's constraints reflect the decisions made
|
|
150
|
+
- [ ] Integration points are updated with any new dependencies
|
|
151
|
+
|
|
152
|
+
## Step 9: Report and Stop
|
|
153
|
+
|
|
154
|
+
Present to the user:
|
|
155
|
+
1. Decisions made (with brief rationale)
|
|
156
|
+
2. Contracts created or updated
|
|
157
|
+
3. Any remaining open questions that need user input
|
|
158
|
+
4. Recommended next step (usually: plan phase)
|
|
159
|
+
|
|
160
|
+
Update `.gsd-t/progress.md` status to `DISCUSSED`.
|
|
161
|
+
|
|
162
|
+
### Autonomy Behavior
|
|
163
|
+
|
|
164
|
+
**When manually invoked** (any autonomy level): **STOP HERE.** Do NOT proceed to the plan phase or any other phase. Present your findings and ask the user: "Discussion complete. Here's what I found and recommend. Want to proceed with these decisions, revise anything, or explore further?" This is mandatory — even at Level 3 / bypass permissions. The user invoked discuss to THINK, not to auto-pilot.
|
|
165
|
+
|
|
166
|
+
**Level 3 (Full Auto) — when auto-invoked by wave**: Work through all open questions automatically, make recommendations, log decisions, and return control to the calling command. Do NOT wait for user input.
|
|
167
|
+
|
|
168
|
+
**Level 1–2 — when auto-invoked**: Present decisions and open questions. Wait for user confirmation before returning control to the calling command.
|
|
169
|
+
|
|
170
|
+
$ARGUMENTS
|
|
171
|
+
|
|
172
|
+
## Auto-Clear
|
|
173
|
+
|
|
174
|
+
All work is committed to project files. Execute `/clear` to free the context window for the next command.
|