@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,134 +1,134 @@
|
|
|
1
|
-
# GSD-T: Reflect — Generate Retrospective from Event Stream
|
|
2
|
-
|
|
3
|
-
You are generating a structured retrospective for the current (or specified) milestone by reading the JSONL event stream and proposing memory updates.
|
|
4
|
-
|
|
5
|
-
## Step 0: Launch via Subagent
|
|
6
|
-
|
|
7
|
-
When invoked directly by the user, spawn yourself as a Task subagent for a fresh context window.
|
|
8
|
-
|
|
9
|
-
**OBSERVABILITY LOGGING — before spawning:**
|
|
10
|
-
|
|
11
|
-
Run via Bash:
|
|
12
|
-
`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}`
|
|
13
|
-
|
|
14
|
-
```
|
|
15
|
-
Task subagent (general-purpose, model: sonnet):
|
|
16
|
-
"Run the GSD-T reflect command. Read commands/gsd-t-reflect.md for your full instructions.
|
|
17
|
-
Arguments: {$ARGUMENTS}
|
|
18
|
-
Skip Step 0 — you are already the subagent."
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
**OBSERVABILITY LOGGING — after subagent returns:**
|
|
22
|
-
|
|
23
|
-
Run via Bash:
|
|
24
|
-
`T_END=$(date +%s) && DT_END=$(date +"%Y-%m-%d %H:%M") && TOK_END=${CLAUDE_CONTEXT_TOKENS_USED:-0} && DURATION=$((T_END-T_START))`
|
|
25
|
-
|
|
26
|
-
Compute tokens:
|
|
27
|
-
- No compaction (TOK_END >= TOK_START): `TOKENS=$((TOK_END-TOK_START))`, COMPACTED=null
|
|
28
|
-
- Compaction detected (TOK_END < TOK_START): `TOKENS=$(((TOK_MAX-TOK_START)+TOK_END))`, COMPACTED=$DT_END
|
|
29
|
-
|
|
30
|
-
Append to `.gsd-t/token-log.md` (create with header `| Datetime-start | Datetime-end | Command | Step | Model | Duration(s) | Notes | Tokens | Compacted |` if missing):
|
|
31
|
-
`| {DT_START} | {DT_END} | gsd-t-reflect | Step 0 | sonnet | {DURATION}s | retrospective generated | {TOKENS} | {COMPACTED} |`
|
|
32
|
-
|
|
33
|
-
Return the subagent's output and stop. Only skip Step 0 if you are already running as a subagent.
|
|
34
|
-
|
|
35
|
-
## Step 1: Load State
|
|
36
|
-
|
|
37
|
-
Read:
|
|
38
|
-
1. `CLAUDE.md` — project context
|
|
39
|
-
2. `.gsd-t/progress.md` — current milestone name and start date
|
|
40
|
-
3. `.gsd-t/contracts/event-schema-contract.md` — event fields available for reading
|
|
41
|
-
|
|
42
|
-
Identify the current milestone name and its start date from the `## Current Milestone` table in `progress.md`.
|
|
43
|
-
|
|
44
|
-
If `$ARGUMENTS` is provided, treat it as a milestone name filter — search for a past milestone matching that name in the `## Completed Milestones` table and use its completion date as the date boundary instead.
|
|
45
|
-
|
|
46
|
-
## Step 2: Find Events
|
|
47
|
-
|
|
48
|
-
Look for `.gsd-t/events/*.jsonl` files.
|
|
49
|
-
|
|
50
|
-
If no `.gsd-t/events/` directory or no `.jsonl` files exist:
|
|
51
|
-
```
|
|
52
|
-
No events recorded for this milestone yet.
|
|
53
|
-
Events are written during execute/wave/debug phases once the event-writer is installed.
|
|
54
|
-
```
|
|
55
|
-
Stop and exit.
|
|
56
|
-
|
|
57
|
-
Filter events by milestone period: include only JSONL lines with `"ts"` values on or after the milestone start date (from Step 1). Read all matching `.jsonl` files and collect the event objects.
|
|
58
|
-
|
|
59
|
-
## Step 3: Generate Retrospective
|
|
60
|
-
|
|
61
|
-
Parse the collected events and categorize:
|
|
62
|
-
|
|
63
|
-
**By outcome:**
|
|
64
|
-
- `success` events — commands/phases that completed successfully
|
|
65
|
-
- `failure` events — commands/phases that failed (capture `reasoning` field)
|
|
66
|
-
- `learning` events — insights captured during execution (capture `reasoning`)
|
|
67
|
-
- `deferred` events — items postponed (capture `reasoning`)
|
|
68
|
-
|
|
69
|
-
**Command patterns:**
|
|
70
|
-
- Which `command` values appear most in failure events
|
|
71
|
-
- Which `phase` values appear most in failure events
|
|
72
|
-
|
|
73
|
-
**Repeating patterns (threshold ≥ 2):**
|
|
74
|
-
- Group events by `reasoning` field value (exact string match)
|
|
75
|
-
- Identify any `reasoning` string that appears in 2 or more events
|
|
76
|
-
|
|
77
|
-
**Summary:**
|
|
78
|
-
- What worked: `command`/`phase` values that have only `success` outcomes
|
|
79
|
-
- What failed: failure events with their `reasoning` and `command`
|
|
80
|
-
- What was learned: `learning` outcome events and their `reasoning`
|
|
81
|
-
|
|
82
|
-
## Step 4: Write Retrospective File
|
|
83
|
-
|
|
84
|
-
Create `.gsd-t/retrospectives/` directory if it does not exist.
|
|
85
|
-
|
|
86
|
-
Determine the output filename:
|
|
87
|
-
- Current milestone: `{YYYY-MM-DD}-{milestone-name-kebab-case}.md` (today's date)
|
|
88
|
-
- Past milestone (from $ARGUMENTS): use that milestone's completion date
|
|
89
|
-
|
|
90
|
-
Write the retrospective file:
|
|
91
|
-
|
|
92
|
-
```markdown
|
|
93
|
-
# Retrospective: {Milestone Name}
|
|
94
|
-
**Generated**: {YYYY-MM-DD}
|
|
95
|
-
**Milestone period**: {start date} → {end date}
|
|
96
|
-
**Events analyzed**: {N}
|
|
97
|
-
|
|
98
|
-
## What Worked
|
|
99
|
-
{List each command/phase that had only success outcomes — one per line}
|
|
100
|
-
{If none: _No commands with exclusively success outcomes recorded._}
|
|
101
|
-
|
|
102
|
-
## What Failed
|
|
103
|
-
{For each failure event: `- [{command}] {reasoning}`}
|
|
104
|
-
{If none: _No failure events recorded._}
|
|
105
|
-
|
|
106
|
-
## Patterns Found
|
|
107
|
-
{For each reasoning string with ≥ 2 occurrences: `- ({N}×) {reasoning}`}
|
|
108
|
-
{If none: _No repeating patterns found (threshold: 2 occurrences)._}
|
|
109
|
-
|
|
110
|
-
## Proposed Memory Updates
|
|
111
|
-
{For each pattern found: suggest a concrete rule}
|
|
112
|
-
{Format: `- Pattern ({N}×): "{reasoning}" → Rule: "Always/Never {concrete action}"`}
|
|
113
|
-
{If none: _No patterns met the threshold for a proposed rule._}
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
## Step 5: Present Proposed Memory Updates
|
|
117
|
-
|
|
118
|
-
For each item in the **Proposed Memory Updates** section:
|
|
119
|
-
|
|
120
|
-
1. Present to user: `"Proposed rule (seen {N} times): '{rule}'. Add to CLAUDE.md? [y/n]"`
|
|
121
|
-
2. **Wait for user confirmation before writing** (Destructive Action Guard — CLAUDE.md changes require explicit approval)
|
|
122
|
-
3. If approved: append the rule to `CLAUDE.md` under the relevant section
|
|
123
|
-
4. If none to propose: report "No repeating patterns found — no memory updates proposed."
|
|
124
|
-
|
|
125
|
-
## Document Ripple
|
|
126
|
-
|
|
127
|
-
Update `.gsd-t/progress.md` Decision Log:
|
|
128
|
-
- Add entry: `- {YYYY-MM-DD HH:MM}: [learning] gsd-t-reflect run — retrospective written to .gsd-t/retrospectives/{filename}.md; {N} events analyzed, {N} patterns found, {N} rules proposed`
|
|
129
|
-
|
|
130
|
-
$ARGUMENTS
|
|
131
|
-
|
|
132
|
-
## Auto-Clear
|
|
133
|
-
|
|
134
|
-
All work is committed to project files. Execute `/clear` to free the context window for the next command.
|
|
1
|
+
# GSD-T: Reflect — Generate Retrospective from Event Stream
|
|
2
|
+
|
|
3
|
+
You are generating a structured retrospective for the current (or specified) milestone by reading the JSONL event stream and proposing memory updates.
|
|
4
|
+
|
|
5
|
+
## Step 0: Launch via Subagent
|
|
6
|
+
|
|
7
|
+
When invoked directly by the user, spawn yourself as a Task subagent for a fresh context window.
|
|
8
|
+
|
|
9
|
+
**OBSERVABILITY LOGGING — before spawning:**
|
|
10
|
+
|
|
11
|
+
Run via Bash:
|
|
12
|
+
`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}`
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
Task subagent (general-purpose, model: sonnet):
|
|
16
|
+
"Run the GSD-T reflect command. Read commands/gsd-t-reflect.md for your full instructions.
|
|
17
|
+
Arguments: {$ARGUMENTS}
|
|
18
|
+
Skip Step 0 — you are already the subagent."
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**OBSERVABILITY LOGGING — after subagent returns:**
|
|
22
|
+
|
|
23
|
+
Run via Bash:
|
|
24
|
+
`T_END=$(date +%s) && DT_END=$(date +"%Y-%m-%d %H:%M") && TOK_END=${CLAUDE_CONTEXT_TOKENS_USED:-0} && DURATION=$((T_END-T_START))`
|
|
25
|
+
|
|
26
|
+
Compute tokens:
|
|
27
|
+
- No compaction (TOK_END >= TOK_START): `TOKENS=$((TOK_END-TOK_START))`, COMPACTED=null
|
|
28
|
+
- Compaction detected (TOK_END < TOK_START): `TOKENS=$(((TOK_MAX-TOK_START)+TOK_END))`, COMPACTED=$DT_END
|
|
29
|
+
|
|
30
|
+
Append to `.gsd-t/token-log.md` (create with header `| Datetime-start | Datetime-end | Command | Step | Model | Duration(s) | Notes | Tokens | Compacted |` if missing):
|
|
31
|
+
`| {DT_START} | {DT_END} | gsd-t-reflect | Step 0 | sonnet | {DURATION}s | retrospective generated | {TOKENS} | {COMPACTED} |`
|
|
32
|
+
|
|
33
|
+
Return the subagent's output and stop. Only skip Step 0 if you are already running as a subagent.
|
|
34
|
+
|
|
35
|
+
## Step 1: Load State
|
|
36
|
+
|
|
37
|
+
Read:
|
|
38
|
+
1. `CLAUDE.md` — project context
|
|
39
|
+
2. `.gsd-t/progress.md` — current milestone name and start date
|
|
40
|
+
3. `.gsd-t/contracts/event-schema-contract.md` — event fields available for reading
|
|
41
|
+
|
|
42
|
+
Identify the current milestone name and its start date from the `## Current Milestone` table in `progress.md`.
|
|
43
|
+
|
|
44
|
+
If `$ARGUMENTS` is provided, treat it as a milestone name filter — search for a past milestone matching that name in the `## Completed Milestones` table and use its completion date as the date boundary instead.
|
|
45
|
+
|
|
46
|
+
## Step 2: Find Events
|
|
47
|
+
|
|
48
|
+
Look for `.gsd-t/events/*.jsonl` files.
|
|
49
|
+
|
|
50
|
+
If no `.gsd-t/events/` directory or no `.jsonl` files exist:
|
|
51
|
+
```
|
|
52
|
+
No events recorded for this milestone yet.
|
|
53
|
+
Events are written during execute/wave/debug phases once the event-writer is installed.
|
|
54
|
+
```
|
|
55
|
+
Stop and exit.
|
|
56
|
+
|
|
57
|
+
Filter events by milestone period: include only JSONL lines with `"ts"` values on or after the milestone start date (from Step 1). Read all matching `.jsonl` files and collect the event objects.
|
|
58
|
+
|
|
59
|
+
## Step 3: Generate Retrospective
|
|
60
|
+
|
|
61
|
+
Parse the collected events and categorize:
|
|
62
|
+
|
|
63
|
+
**By outcome:**
|
|
64
|
+
- `success` events — commands/phases that completed successfully
|
|
65
|
+
- `failure` events — commands/phases that failed (capture `reasoning` field)
|
|
66
|
+
- `learning` events — insights captured during execution (capture `reasoning`)
|
|
67
|
+
- `deferred` events — items postponed (capture `reasoning`)
|
|
68
|
+
|
|
69
|
+
**Command patterns:**
|
|
70
|
+
- Which `command` values appear most in failure events
|
|
71
|
+
- Which `phase` values appear most in failure events
|
|
72
|
+
|
|
73
|
+
**Repeating patterns (threshold ≥ 2):**
|
|
74
|
+
- Group events by `reasoning` field value (exact string match)
|
|
75
|
+
- Identify any `reasoning` string that appears in 2 or more events
|
|
76
|
+
|
|
77
|
+
**Summary:**
|
|
78
|
+
- What worked: `command`/`phase` values that have only `success` outcomes
|
|
79
|
+
- What failed: failure events with their `reasoning` and `command`
|
|
80
|
+
- What was learned: `learning` outcome events and their `reasoning`
|
|
81
|
+
|
|
82
|
+
## Step 4: Write Retrospective File
|
|
83
|
+
|
|
84
|
+
Create `.gsd-t/retrospectives/` directory if it does not exist.
|
|
85
|
+
|
|
86
|
+
Determine the output filename:
|
|
87
|
+
- Current milestone: `{YYYY-MM-DD}-{milestone-name-kebab-case}.md` (today's date)
|
|
88
|
+
- Past milestone (from $ARGUMENTS): use that milestone's completion date
|
|
89
|
+
|
|
90
|
+
Write the retrospective file:
|
|
91
|
+
|
|
92
|
+
```markdown
|
|
93
|
+
# Retrospective: {Milestone Name}
|
|
94
|
+
**Generated**: {YYYY-MM-DD}
|
|
95
|
+
**Milestone period**: {start date} → {end date}
|
|
96
|
+
**Events analyzed**: {N}
|
|
97
|
+
|
|
98
|
+
## What Worked
|
|
99
|
+
{List each command/phase that had only success outcomes — one per line}
|
|
100
|
+
{If none: _No commands with exclusively success outcomes recorded._}
|
|
101
|
+
|
|
102
|
+
## What Failed
|
|
103
|
+
{For each failure event: `- [{command}] {reasoning}`}
|
|
104
|
+
{If none: _No failure events recorded._}
|
|
105
|
+
|
|
106
|
+
## Patterns Found
|
|
107
|
+
{For each reasoning string with ≥ 2 occurrences: `- ({N}×) {reasoning}`}
|
|
108
|
+
{If none: _No repeating patterns found (threshold: 2 occurrences)._}
|
|
109
|
+
|
|
110
|
+
## Proposed Memory Updates
|
|
111
|
+
{For each pattern found: suggest a concrete rule}
|
|
112
|
+
{Format: `- Pattern ({N}×): "{reasoning}" → Rule: "Always/Never {concrete action}"`}
|
|
113
|
+
{If none: _No patterns met the threshold for a proposed rule._}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Step 5: Present Proposed Memory Updates
|
|
117
|
+
|
|
118
|
+
For each item in the **Proposed Memory Updates** section:
|
|
119
|
+
|
|
120
|
+
1. Present to user: `"Proposed rule (seen {N} times): '{rule}'. Add to CLAUDE.md? [y/n]"`
|
|
121
|
+
2. **Wait for user confirmation before writing** (Destructive Action Guard — CLAUDE.md changes require explicit approval)
|
|
122
|
+
3. If approved: append the rule to `CLAUDE.md` under the relevant section
|
|
123
|
+
4. If none to propose: report "No repeating patterns found — no memory updates proposed."
|
|
124
|
+
|
|
125
|
+
## Document Ripple
|
|
126
|
+
|
|
127
|
+
Update `.gsd-t/progress.md` Decision Log:
|
|
128
|
+
- Add entry: `- {YYYY-MM-DD HH:MM}: [learning] gsd-t-reflect run — retrospective written to .gsd-t/retrospectives/{filename}.md; {N} events analyzed, {N} patterns found, {N} rules proposed`
|
|
129
|
+
|
|
130
|
+
$ARGUMENTS
|
|
131
|
+
|
|
132
|
+
## Auto-Clear
|
|
133
|
+
|
|
134
|
+
All work is committed to project files. Execute `/clear` to free the context window for the next command.
|
package/commands/gsd-t-resume.md
CHANGED
|
@@ -1,72 +1,72 @@
|
|
|
1
|
-
# GSD-T: Resume — Continue From Last State
|
|
2
|
-
|
|
3
|
-
You are resuming work after an interruption. This handles both same-session pauses (user pressed Esc to interject) and cross-session recovery (new Claude Code session).
|
|
4
|
-
|
|
5
|
-
## Step 0: Detect Resume Mode
|
|
6
|
-
|
|
7
|
-
**Same-session** (conversation context still available — you can see prior messages about the active phase/task):
|
|
8
|
-
- Skip to Step 2 — you already have the context loaded
|
|
9
|
-
- Do NOT re-read all state files
|
|
10
|
-
|
|
11
|
-
**Cross-session** (first command in a new session, no prior conversation context):
|
|
12
|
-
- Run Step 1 to load full state
|
|
13
|
-
|
|
14
|
-
## Step 1: Load Full State (cross-session only)
|
|
15
|
-
|
|
16
|
-
Read in this exact order:
|
|
17
|
-
1. `CLAUDE.md` — project context and conventions
|
|
18
|
-
2. **Check for continue-here files first**: List `.gsd-t/continue-here-*.md` files. If any exist, read the most recent one (highest timestamp). It contains exact position, next action, and open items — use this as the primary resume point.
|
|
19
|
-
3. `.gsd-t/progress.md` — current status, decisions, blockers (always read this too)
|
|
20
|
-
4. `.gsd-t/contracts/` — all contract files
|
|
21
|
-
4. `.gsd-t/domains/*/scope.md` — domain boundaries
|
|
22
|
-
5. `.gsd-t/domains/*/tasks.md` — task lists with completion status
|
|
23
|
-
6. `.gsd-t/domains/*/constraints.md` — domain rules
|
|
24
|
-
7. `.gsd-t/contracts/integration-points.md` — dependency graph
|
|
25
|
-
8. `.gsd-t/verify-report.md` (if exists) — verification findings
|
|
26
|
-
|
|
27
|
-
## Step 2: Determine Current Position
|
|
28
|
-
|
|
29
|
-
From the continue-here file (if present) OR progress.md (or conversation context if same-session), identify:
|
|
30
|
-
- Current milestone and status
|
|
31
|
-
- Which phase we're in
|
|
32
|
-
- Which tasks are done, in progress, or blocked
|
|
33
|
-
- Any pending decisions or user-input-needed items
|
|
34
|
-
- Last entry in the Decision Log
|
|
35
|
-
|
|
36
|
-
**If a continue-here file was found**: Use its "Next Action" field as the primary resume point. The continue-here file is more precise than progress.md alone. After resuming, delete the continue-here file (it has been consumed).
|
|
37
|
-
|
|
38
|
-
## Step 3: Report and Continue
|
|
39
|
-
|
|
40
|
-
**Level 3 (Full Auto)**: Log a brief status line and auto-resume from the current task/phase. Do NOT wait for user input.
|
|
41
|
-
|
|
42
|
-
```
|
|
43
|
-
🔄 Resuming: {milestone name} — {phase} — {next task or action}
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
**Level 1–2**: Present fuller context and wait for confirmation:
|
|
47
|
-
|
|
48
|
-
```
|
|
49
|
-
🔄 GSD-T Resuming: {milestone name}
|
|
50
|
-
Phase: {current phase}
|
|
51
|
-
Last activity: {last Decision Log entry}
|
|
52
|
-
|
|
53
|
-
Progress:
|
|
54
|
-
{domain-1}: {completed}/{total} tasks
|
|
55
|
-
{domain-2}: {completed}/{total} tasks
|
|
56
|
-
|
|
57
|
-
Next up: {specific next action}
|
|
58
|
-
Blockers: {any pending items} | None
|
|
59
|
-
|
|
60
|
-
Ready to continue? Or run /user:gsd-t-status for full details.
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## Step 4: Continue
|
|
64
|
-
|
|
65
|
-
If $ARGUMENTS specifies what to do next, proceed with that.
|
|
66
|
-
Otherwise, pick up from the logical next action based on current state:
|
|
67
|
-
- Mid-execution → Continue with next unblocked task
|
|
68
|
-
- Between phases → Start next phase
|
|
69
|
-
- Blocked → Explain what's needed to unblock
|
|
70
|
-
- Verify failed → Show remediation tasks
|
|
71
|
-
|
|
72
|
-
$ARGUMENTS
|
|
1
|
+
# GSD-T: Resume — Continue From Last State
|
|
2
|
+
|
|
3
|
+
You are resuming work after an interruption. This handles both same-session pauses (user pressed Esc to interject) and cross-session recovery (new Claude Code session).
|
|
4
|
+
|
|
5
|
+
## Step 0: Detect Resume Mode
|
|
6
|
+
|
|
7
|
+
**Same-session** (conversation context still available — you can see prior messages about the active phase/task):
|
|
8
|
+
- Skip to Step 2 — you already have the context loaded
|
|
9
|
+
- Do NOT re-read all state files
|
|
10
|
+
|
|
11
|
+
**Cross-session** (first command in a new session, no prior conversation context):
|
|
12
|
+
- Run Step 1 to load full state
|
|
13
|
+
|
|
14
|
+
## Step 1: Load Full State (cross-session only)
|
|
15
|
+
|
|
16
|
+
Read in this exact order:
|
|
17
|
+
1. `CLAUDE.md` — project context and conventions
|
|
18
|
+
2. **Check for continue-here files first**: List `.gsd-t/continue-here-*.md` files. If any exist, read the most recent one (highest timestamp). It contains exact position, next action, and open items — use this as the primary resume point.
|
|
19
|
+
3. `.gsd-t/progress.md` — current status, decisions, blockers (always read this too)
|
|
20
|
+
4. `.gsd-t/contracts/` — all contract files
|
|
21
|
+
4. `.gsd-t/domains/*/scope.md` — domain boundaries
|
|
22
|
+
5. `.gsd-t/domains/*/tasks.md` — task lists with completion status
|
|
23
|
+
6. `.gsd-t/domains/*/constraints.md` — domain rules
|
|
24
|
+
7. `.gsd-t/contracts/integration-points.md` — dependency graph
|
|
25
|
+
8. `.gsd-t/verify-report.md` (if exists) — verification findings
|
|
26
|
+
|
|
27
|
+
## Step 2: Determine Current Position
|
|
28
|
+
|
|
29
|
+
From the continue-here file (if present) OR progress.md (or conversation context if same-session), identify:
|
|
30
|
+
- Current milestone and status
|
|
31
|
+
- Which phase we're in
|
|
32
|
+
- Which tasks are done, in progress, or blocked
|
|
33
|
+
- Any pending decisions or user-input-needed items
|
|
34
|
+
- Last entry in the Decision Log
|
|
35
|
+
|
|
36
|
+
**If a continue-here file was found**: Use its "Next Action" field as the primary resume point. The continue-here file is more precise than progress.md alone. After resuming, delete the continue-here file (it has been consumed).
|
|
37
|
+
|
|
38
|
+
## Step 3: Report and Continue
|
|
39
|
+
|
|
40
|
+
**Level 3 (Full Auto)**: Log a brief status line and auto-resume from the current task/phase. Do NOT wait for user input.
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
🔄 Resuming: {milestone name} — {phase} — {next task or action}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
**Level 1–2**: Present fuller context and wait for confirmation:
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
🔄 GSD-T Resuming: {milestone name}
|
|
50
|
+
Phase: {current phase}
|
|
51
|
+
Last activity: {last Decision Log entry}
|
|
52
|
+
|
|
53
|
+
Progress:
|
|
54
|
+
{domain-1}: {completed}/{total} tasks
|
|
55
|
+
{domain-2}: {completed}/{total} tasks
|
|
56
|
+
|
|
57
|
+
Next up: {specific next action}
|
|
58
|
+
Blockers: {any pending items} | None
|
|
59
|
+
|
|
60
|
+
Ready to continue? Or run /user:gsd-t-status for full details.
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Step 4: Continue
|
|
64
|
+
|
|
65
|
+
If $ARGUMENTS specifies what to do next, proceed with that.
|
|
66
|
+
Otherwise, pick up from the logical next action based on current state:
|
|
67
|
+
- Mid-execution → Continue with next unblocked task
|
|
68
|
+
- Between phases → Start next phase
|
|
69
|
+
- Blocked → Explain what's needed to unblock
|
|
70
|
+
- Verify failed → Show remediation tasks
|
|
71
|
+
|
|
72
|
+
$ARGUMENTS
|