@tekyzinc/gsd-t 2.20.7 → 2.22.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.
package/CHANGELOG.md CHANGED
@@ -1,398 +1,417 @@
1
- # Changelog
2
-
3
- All notable changes to GSD-T are documented here. Updated with each release.
4
-
5
- ## [2.20.7] - 2026-02-17
6
-
7
- ### Added
8
- - **Formal contracts**: 5 contract definitions for core GSD-T interfaces backlog file formats, domain structure, pre-commit gate, progress.md format, and wave phase sequence. Formalizes existing conventions as machine-readable reference docs
9
-
10
- ## [2.20.6] - 2026-02-16
11
-
12
- ### Fixed
13
- - Stale command/template counts in project CLAUDE.md (25→41 commands, 7→9 templates, v2.0.0→v2.20.x)
14
- - Duplicate step numbering in `gsd-t-execute.md` (two step 10s)
15
- - Windows CRLF/LF comparison causing false "changed" detection in CLI update
16
-
17
- ### Added
18
- - Document Ripple sections to `gsd-t-execute`, `gsd-t-scan`, `gsd-t-test-sync`, `gsd-t-verify`
19
- - Heartbeat auto-cleanup: files older than 7 days are automatically removed
20
- - Error handling wrapping around file operations in CLI (copy, unlink, write)
21
- - `applyTokens()` and `normalizeEol()` helpers to reduce duplication
22
- - Extracted `updateProjectClaudeMd()`, `createProjectChangelog()`, `checkProjectHealth()` from `doUpdateAll()`
23
-
24
- ## [2.20.5] - 2026-02-16
25
-
26
- ### Added
27
- - **Next Command Hint**: After each GSD-T phase completes, displays the recommended next command (e.g., `Next → /user:gsd-t-partition`). Full successor mapping for all workflow commands. Skipped during auto-advancing (Level 3 mid-wave)
28
-
29
- ## [2.20.4] - 2026-02-16
30
-
31
- ### Changed
32
- - **Scan always uses team mode**: `gsd-t-scan` and `gsd-t-init-scan-setup` now spawn a team by default. Solo mode only for trivially small codebases (< 5 files) or when teams are explicitly disabled
33
-
34
- ## [2.20.3] - 2026-02-16
35
-
36
- ### Added
37
- - **Playwright Cleanup**: After Playwright tests finish, kill any app/server processes that were started for the tests. Prevents orphaned dev servers from lingering after test runs
38
-
39
- ## [2.20.2] - 2026-02-16
40
-
41
- ### Added
42
- - **CLI health checks**: `update-all` and `doctor` now check all projects for missing Playwright and Swagger/OpenAPI
43
- - Smart API detection: scans `package.json`, `requirements.txt`, `pyproject.toml` for API frameworks (Express, Fastify, Hono, Django, FastAPI, etc.)
44
- - Swagger detection: checks for spec files (`openapi.json/yaml`, `swagger.json/yaml`) and swagger packages in dependencies
45
- - Health summary in `update-all` shows counts of missing Playwright and Swagger across all registered projects
46
-
47
- ## [2.20.1] - 2026-02-16
48
-
49
- ### Added
50
- - **API Documentation Guard (Swagger/OpenAPI)**: Every API endpoint must be documented in Swagger/OpenAPI spec — no exceptions. Auto-detects framework and installs appropriate Swagger integration. Swagger URL must be published in CLAUDE.md, README.md, and docs/infrastructure.md
51
- - Pre-Commit Gate now checks for Swagger spec updates on any API endpoint change
52
-
53
- ## [2.20.0] - 2026-02-16
54
-
55
- ### Added
56
- - **Playwright Setup in Init**: `gsd-t-init` now installs Playwright, creates `playwright.config.ts`, and sets up E2E test directory for every project. Detects package manager (bun, npm, yarn, pnpm, pip) automatically
57
- - **Playwright Readiness Guard**: Before any testing command (execute, test-sync, verify, quick, wave, milestone, complete-milestone, debug), checks for `playwright.config.*` and auto-installs if missing. Playwright must always be ready — no deferring to "later"
58
-
59
- ## [2.19.1] - 2026-02-16
60
-
61
- ### Changed
62
- - **Quick**: Now runs the FULL test suite (not just affected tests), requires comprehensive test creation for new/changed code paths including Playwright E2E, and verifies against requirements and contracts. "Quick doesn't mean skip testing."
63
-
64
- ## [2.19.0] - 2026-02-16
65
-
66
- ### Changed
67
- - **Execute**: "No feature code without test code" — every task must include comprehensive unit tests AND Playwright E2E specs for all new code paths, modes, and flows. Tests are part of the deliverable, not a follow-up
68
- - **Test-Sync**: Creates tests immediately during execute phase instead of deferring gaps to verify. Missing Playwright specs for new features/modes are created on the spot
69
- - **Verify**: Zero test coverage on new functionality is now a FAIL (not WARN). Coverage audit checks that every new feature, mode, page, and flow has comprehensive Playwright specs covering happy path, error states, edge cases, and all modes/flags
70
-
71
- ## [2.18.2] - 2026-02-16
72
-
73
- ### Added
74
- - Gap Analysis Gate in `gsd-t-complete-milestone` — mandatory requirements verification before archiving
75
- - Self-correction loop: auto-fixes gaps, re-verifies, re-analyzes (up to 2 cycles), stops if unresolvable
76
- - Explicit Playwright E2E test execution in milestone test verification step
77
-
78
- ## [2.18.1] - 2026-02-16
79
-
80
- ### Added
81
- - Auto-Init Guard GSD-T workflow commands automatically run `gsd-t-init` if any init files are missing, then continue with the original command
82
- - `gsd-t-init` copies `~/.claude/settings.local` → `.claude/settings.local.json` during project initialization
83
- - Exempt commands that skip auto-init: `gsd-t-init`, `gsd-t-init-scan-setup`, `gsd-t-help`, `gsd-t-version-update`, `gsd-t-version-update-all`, `gsd-t-prompt`, `gsd-t-brainstorm`
84
-
85
- ## [2.18.0] - 2026-02-16
86
-
87
- ### Added
88
- - Heartbeat system real-time event streaming from Claude Code sessions via async hooks
89
- - `scripts/gsd-t-heartbeat.js` — hook handler that writes JSONL events to `.gsd-t/heartbeat-{session_id}.jsonl`
90
- - 9 Claude Code hooks: SessionStart, PostToolUse, SubagentStart, SubagentStop, TaskCompleted, TeammateIdle, Notification, Stop, SessionEnd
91
- - Installer auto-configures heartbeat hooks in settings.json (all async, zero performance impact)
92
- - Event types: session lifecycle, tool calls with file/command summaries, agent spawn/stop/idle, task completions
93
-
94
- ## [2.17.0] - 2026-02-16
95
-
96
- ### Added
97
- - `/user:gsd-t-log` command — sync progress.md Decision Log with recent git activity by scanning commits since last logged entry
98
- - Incremental updates (only new commits) and first-time full reconstruction from git history
99
- - Total commands: 38 GSD-T + 3 utility = 41
100
-
101
- ## [2.16.5] - 2026-02-16
102
-
103
- ### Added
104
- - `gsd-t-populate` now reconstructs Decision Log from git history — parses all commits, generates timestamped entries, merges with existing log
105
- - Pre-Commit Gate explicitly lists all 30 file-modifying commands that must log to progress.md
106
-
107
- ### Changed
108
- - Rebuilt GSD-T project Decision Log with full `YYYY-MM-DD HH:MM` timestamps from 54 git commits
109
-
110
- ## [2.16.4] - 2026-02-16
111
-
112
- ### Changed
113
- - Smart router renamed from `/user:gsd-t` to `/user:gsd` — sorts first in autocomplete, shorter to type
114
- - Pre-Commit Gate now requires timestamped progress.md entry (`YYYY-MM-DD HH:MM`) after every completed task, not just architectural decisions
115
-
116
- ## [2.16.3] - 2026-02-16
117
-
118
- ### Fixed
119
- - Reverted smart router rename (`/gsd` back to `/gsd-t`) — superseded by 2.16.4 which re-applies the rename
120
-
121
- ## [2.16.2] - 2026-02-16
122
-
123
- ### Changed
124
- - Smart router renamed from `/user:gsd-t` to `/user:gsd` (reverted in 2.16.3)
125
-
126
- ## [2.16.1] - 2026-02-16
127
-
128
- ### Fixed
129
- - `gsd-t-init-scan-setup` now pulls existing code from remote before scanning — prevents treating repos with existing code as greenfield
130
-
131
- ## [2.16.0] - 2026-02-13
132
-
133
- ### Changed
134
- - Smart router (`/gsd-t`) replaced signal-word lookup table with **semantic evaluation** — evaluates user intent against each command's purpose and "Use when" criteria from help summaries
135
- - Router shows runner-up command when confidence is close: `(also considered: gsd-t-{x} — Esc to switch)`
136
- - New commands automatically participate in routing without updating a routing table
137
-
138
- ### Added
139
- - Backlog item B1: Agentic Workflow Architecture (future exploration when Claude Code agents mature)
140
-
141
- ## [2.15.4] - 2026-02-13
142
-
143
- ### Changed
144
- - `gsd-t-gap-analysis` team scaling: one teammate per requirement (3–10), cap at 10 with even batching for 11+, solo for 1–2
145
-
146
- ## [2.15.3] - 2026-02-13
147
-
148
- ### Fixed
149
- - `gsd-t-gap-analysis` hard cap of 4 teammates max — scales by requirement count (2 for 5–10, 3 for 11–15, 4 for 16+), solo for < 5
150
-
151
- ## [2.15.2] - 2026-02-13
152
-
153
- ### Changed
154
- - `gsd-t-gap-analysis` team mode now handles flat requirement lists chunks into batches of ~8–10 per teammate instead of requiring sections
155
-
156
- ## [2.15.1] - 2026-02-13
157
-
158
- ### Changed
159
- - `gsd-t-gap-analysis` now uses agent team mode automatically — one teammate per requirement section for parallel scanning and classification, with solo fallback
160
-
161
- ## [2.15.0] - 2026-02-13
162
-
163
- ### Added
164
- - `/user:gsd-t-gap-analysis` command — requirements gap analysis against existing codebase
165
- - Parses spec into discrete numbered requirements, scans codebase, classifies each as implemented/partial/incorrect/not-implemented
166
- - Evidence-based classification with file:line references for each requirement
167
- - Severity levels: Critical (incorrect), High (partial), Medium (not implemented), Low (deferrable)
168
- - Generates `.gsd-t/gap-analysis.md` with requirements breakdown, gap matrix, and summary stats
169
- - Re-run support with diff against previous gap analysis (resolved, new, changed, unchanged)
170
- - Optional merge of parsed requirements into `docs/requirements.md`
171
- - Auto-groups gaps into recommended milestones/features/quick-fixes for promotion
172
- - Autonomy-aware: Level 3 proceeds with flagged assumptions, Level 1-2 pauses for clarification
173
- - Total commands: 37 GSD-T + 3 utility = 40
174
-
175
- ## [2.14.2] - 2026-02-13
176
-
177
- ### Changed
178
- - Smart router (`/gsd-t`) now displays selected command as the first line of output (mandatory routing confirmation)
179
-
180
- ## [2.14.1] - 2026-02-13
181
-
182
- ### Changed
183
- - Update Notices section in CLAUDE-global template now handles both `[GSD-T UPDATE]` (update available) and `[GSD-T]` (up to date) version banners
184
- - Update command in notification changed from raw npm command to `/user:gsd-t-version-update-all`
185
-
186
- ## [2.14.0] - 2026-02-12
187
-
188
- ### Added
189
- - `/user:gsd-t` smart router command describe what you need in plain language, auto-routes to the correct GSD-T command
190
- - Intent classification routes to: quick, feature, project, debug, scan, brainstorm, milestone, wave, status, resume, backlog-add, and more
191
- - Total commands: 36 GSD-T + 3 utility = 39
192
-
193
- ## [2.13.4] - 2026-02-12
194
-
195
- ### Added
196
- - Auto-invoked status column on all command tables in README and GSD-T-README (Manual / In wave)
197
- - `[auto]` markers on wave-invoked commands in `gsd-t-help` main listing
198
- - Section headers in `gsd-t-help` now show Manual or Auto label
199
-
200
- ## [2.13.3] - 2026-02-12
201
-
202
- ### Changed
203
- - `gsd-t-init-scan-setup` now asks "Is {current folder} your project root?" before prompting for a folder name
204
-
205
- ## [2.13.2] - 2026-02-12
206
-
207
- ### Changed
208
- - `gsd-t-init-scan-setup` now asks for project folder name, creates it if needed, and `cd`s into it can be run from anywhere
209
-
210
- ## [2.13.1] - 2026-02-12
211
-
212
- ### Changed
213
- - Update notification now includes changelog link (https://github.com/Tekyz-Inc/get-stuff-done-teams/blob/main/CHANGELOG.md)
214
-
215
- ## [2.13.0] - 2026-02-12
216
-
217
- ### Added
218
- - `/user:gsd-t-init-scan-setup` slash command — full project onboarding combining git setup, init, scan, and setup in one command
219
- - Prompts for GitHub repo URL if not already connected; skips if remote exists
220
- - Total commands: 35 GSD-T + 3 utility = 38
221
-
222
- ## [2.12.0] - 2026-02-12
223
-
224
- ### Added
225
- - `/user:gsd-t-version-update` slash command — update GSD-T to latest version from within Claude Code
226
- - `/user:gsd-t-version-update-all` slash command — update GSD-T + all registered projects from within Claude Code
227
- - Total commands: 34 GSD-T + 3 utility = 37
228
-
229
- ## [2.11.6] - 2026-02-12
230
-
231
- ### Changed
232
- - Update notice now shown at both beginning and end of Claude's first response
233
-
234
- ## [2.11.5] - 2026-02-12
235
-
236
- ### Added
237
- - SessionStart hook script (`~/.claude/scripts/gsd-t-update-check.js`) for automatic update notifications in Claude Code sessions
238
- - "Update Notices" instruction in global CLAUDE.md template Claude relays update notices to the user on first response
239
-
240
- ## [2.11.4] - 2026-02-12
241
-
242
- ### Fixed
243
- - First-run update check now fetches synchronously when no cache exists — notification shows immediately instead of requiring a second run
244
-
245
- ## [2.11.3] - 2026-02-12
246
-
247
- ### Changed
248
- - Reduced update check cache duration from 24 hours to 1 hour — new releases are detected faster
249
-
250
- ## [2.11.2] - 2026-02-12
251
-
252
- ### Fixed
253
- - CLI update check used `!==` instead of semver comparison — would show incorrect downgrade notices when cache had an older version
254
- - Added `isNewerVersion()` helper for proper semver comparison in update notifications
255
-
256
- ## [2.11.1] - 2026-02-12
257
-
258
- ### Changed
259
- - `gsd-t-resume` now detects same-session vs cross-session mode — skips full state reload when context is already available, auto-resumes at Level 3
260
- - Added "Conversation vs. Work" rule to global CLAUDE.md template — plain text questions are answered conversationally, workflow only runs when a `/gsd-t-*` command is invoked
261
-
262
- ## [2.11.0] - 2026-02-12
263
-
264
- ### Added
265
- - Autonomy-level-aware auto-advancing for all phase commands — at Level 3 (Full Auto), partition, plan, impact, execute, test-sync, integrate, verify, and complete-milestone auto-advance without waiting for user input
266
- - Wave error recovery auto-remediates at Level 3 (up to 2 fix attempts before stopping)
267
- - Discuss phase always pauses for user input regardless of autonomy level
268
- - Autonomy levels documentation added to GSD-T-README Configuration section
269
-
270
- ## [2.10.3] - 2026-02-11
271
-
272
- ### Changed
273
- - Default autonomy level changed from Level 2 (Standard) to Level 3 (Full Auto) across all templates and commands
274
- - `gsd-t-init` now sets Level 3 in generated CLAUDE.md
275
- - `gsd-t-setup` defaults to Level 3 when asking autonomy level
276
-
277
- ## [2.10.2] - 2026-02-11
278
-
279
- ### Added
280
- - Version update check in `gsd-t-status` slash command — works inside Claude Code and ClaudeWebCLI sessions, not just the CLI binary
281
-
282
- ### Fixed
283
- - Normalized `repository.url` in package.json (`git+https://` prefix)
284
-
285
- ## [2.10.1] - 2026-02-10
286
-
287
- ### Added
288
- - Automatic update check — CLI queries npm registry (cached 24h, background refresh) and shows a notice box with update commands when a newer version is available
289
-
290
- ## [2.10.0] - 2026-02-10
291
-
292
- ### Added
293
- - `CHANGELOG.md` release notes document with full version history
294
- - `changelog` CLI subcommand opens changelog in the browser (`gsd-t changelog`)
295
- - Clickable version links in CLI output (OSC 8 hyperlinks to changelog)
296
- - `checkin` command now auto-updates CHANGELOG.md on every version bump
297
- - `update-all` now creates CHANGELOG.md for registered projects that don't have one
298
-
299
- ## [2.9.0] - 2026-02-10
300
-
301
- ### Added
302
- - `gsd-t-setup` command — generates or restructures project CLAUDE.md by scanning codebase, detecting tech stack/conventions, and removing global duplicates
303
-
304
- ## [2.8.1] - 2026-02-10
305
-
306
- ### Added
307
- - Workflow Preferences section in global and project CLAUDE.md templates (Research Policy, Phase Flow defaults with per-project override support)
308
-
309
- ## [2.8.0] - 2026-02-10
310
-
311
- ### Added
312
- - Backlog management system: 7 new commands (`backlog-add`, `backlog-list`, `backlog-move`, `backlog-edit`, `backlog-remove`, `backlog-promote`, `backlog-settings`)
313
- - 2 new templates (`backlog.md`, `backlog-settings.md`)
314
- - Backlog initialization in `gsd-t-init` with auto-category derivation
315
- - Backlog summary in `gsd-t-status` report
316
- - Backlog section in `gsd-t-help`
317
-
318
- ### Changed
319
- - Updated `gsd-t-init`, `gsd-t-status`, `gsd-t-help`, CLAUDE-global template, README with backlog integration
320
-
321
- ## [2.7.0] - 2026-02-09
322
-
323
- ### Added
324
- - `update-all` CLI command — updates global install + all registered project CLAUDE.md files
325
- - `register` CLI command — manually register a project in the GSD-T project registry
326
- - Auto-registration on `gsd-t init`
327
- - Project registry at `~/.claude/.gsd-t-projects`
328
-
329
- ## [2.6.0] - 2026-02-09
330
-
331
- ### Added
332
- - Destructive Action Guard — mandatory safeguard requiring explicit user approval before destructive or structural changes (schema drops, architecture replacements, module removal)
333
- - Guard enforced in global CLAUDE.md, project template, and all execution commands
334
-
335
- ## [2.5.0] - 2026-02-09
336
-
337
- ### Changed
338
- - Audited all 27 command files added Document Ripple and Test Verification steps to 15 commands that were missing them
339
- - All code-modifying commands now enforce doc updates and test runs before completion
340
-
341
- ## [2.4.0] - 2026-02-09
342
-
343
- ### Added
344
- - Automatic version bumping in `checkin` command — determines patch/minor/major from change type
345
-
346
- ## [2.3.0] - 2026-02-09
347
-
348
- ### Added
349
- - Branch Guard — prevents commits on wrong branch by checking `Expected branch` in CLAUDE.md
350
-
351
- ## [2.2.1] - 2026-02-09
352
-
353
- ### Fixed
354
- - `gsd-t-discuss` now stops for user review when manually invoked (was auto-continuing even in manual mode)
355
-
356
- ## [2.2.0] - 2026-02-09
357
-
358
- ### Added
359
- - E2E test support in `test-sync`, `verify`, and `execute` commands
360
-
361
- ## [2.1.0] - 2026-02-09
362
-
363
- ### Added
364
- - `gsd-t-populate` command — auto-populate living docs from existing codebase
365
- - Semantic versioning system tracked in `progress.md`
366
- - Auto-update README on version changes
367
-
368
- ## [2.0.2] - 2026-02-07
369
-
370
- ### Changed
371
- - `gsd-t-init` now creates all 4 living document templates (`requirements.md`, `architecture.md`, `workflows.md`, `infrastructure.md`)
372
- - `gsd-t-scan` cross-populates findings into living docs
373
-
374
- ## [2.0.1] - 2026-02-07
375
-
376
- ### Fixed
377
- - Added `gsd-t-brainstorm` to all 4 reference files (README, GSD-T-README, CLAUDE-global, gsd-t-help)
378
- - Fixed workflow diagram alignment
379
-
380
- ## [2.0.0] - 2026-02-07
381
-
382
- ### Added
383
- - Renamed package to `@tekyzinc/gsd-t`
384
- - `gsd-t-brainstorm` command creative exploration, rethinking, and idea generation
385
- - Initialized GSD-T state (`.gsd-t/` directory) on itself
386
-
387
- ### Changed
388
- - Complete framework rewrite from GSD to GSD-T (contract-driven development)
389
- - npm package with CLI installer (`bin/gsd-t.js`)
390
- - 6 CLI subcommands: install, update, init, status, doctor, uninstall
391
-
392
- ## [1.0.0] - 2026-02-07
393
-
394
- ### Added
395
- - Initial GSD-T framework implementation
396
- - Full milestone workflow: partition, discuss, plan, impact, execute, test-sync, integrate, verify, complete
397
- - Agent Teams support for parallel execution
398
- - Living documents system (requirements, architecture, workflows, infrastructure)
1
+ # Changelog
2
+
3
+ All notable changes to GSD-T are documented here. Updated with each release.
4
+
5
+ ## [2.22.0] - 2026-02-17
6
+
7
+ ### Added
8
+ - **gsd-t-qa**: New QA Agent commanddedicated teammate for test generation, execution, and gap reporting. Spawned automatically by 10 GSD-T phase commands
9
+ - **QA Agent spawn steps**: Added to partition (4.7), plan (4.7), execute (1.5 + team), verify (1.5 + team), complete-milestone (7.6), quick (2.5), debug (2.5), integrate (4.5), test-sync (1.5), wave (1.5)
10
+ - **Contract-to-test mapping rules**: API contracts → Playwright API tests, Schema contracts → constraint tests, Component contracts → E2E tests
11
+ - **QA Agent (Mandatory) section**: Added to global CLAUDE.md template — QA failure blocks phase completion
12
+
13
+ ## [2.21.1] - 2026-02-18
14
+
15
+ ### Fixed
16
+ - **PR #7 — Fix 12 scan items**: Security symlink validation gaps, contract/doc alignment, scope template hardening, heartbeat crash guard, progress template field ordering
17
+ - **PR #8 — Resolve final 4 scan items**: Function splitting in CLI (`doInit` helpers extracted), ownership validation for domain files, npm-update-check extracted to standalone script (`scripts/npm-update-check.js`)
18
+
19
+ ## [2.21.0] - 2026-02-17
20
+
21
+ ### Added
22
+ - **gsd-t-triage-and-merge**: New command to auto-review unmerged GitHub branches, score impact (auto-merge / review / skip), merge safe branches, and optionally version bump + publish. Publish gate respects autonomy level — auto in Level 3, prompted in Level 1-2. Sensitive file detection for commands, CLI, templates, and scripts
23
+
24
+ ## [2.20.7] - 2026-02-17
25
+
26
+ ### Added
27
+ - **Formal contracts**: 5 contract definitions for core GSD-T interfaces backlog file formats, domain structure, pre-commit gate, progress.md format, and wave phase sequence. Formalizes existing conventions as machine-readable reference docs
28
+
29
+ ## [2.20.6] - 2026-02-16
30
+
31
+ ### Fixed
32
+ - Stale command/template counts in project CLAUDE.md (25→41 commands, 7→9 templates, v2.0.0→v2.20.x)
33
+ - Duplicate step numbering in `gsd-t-execute.md` (two step 10s)
34
+ - Windows CRLF/LF comparison causing false "changed" detection in CLI update
35
+
36
+ ### Added
37
+ - Document Ripple sections to `gsd-t-execute`, `gsd-t-scan`, `gsd-t-test-sync`, `gsd-t-verify`
38
+ - Heartbeat auto-cleanup: files older than 7 days are automatically removed
39
+ - Error handling wrapping around file operations in CLI (copy, unlink, write)
40
+ - `applyTokens()` and `normalizeEol()` helpers to reduce duplication
41
+ - Extracted `updateProjectClaudeMd()`, `createProjectChangelog()`, `checkProjectHealth()` from `doUpdateAll()`
42
+
43
+ ## [2.20.5] - 2026-02-16
44
+
45
+ ### Added
46
+ - **Next Command Hint**: After each GSD-T phase completes, displays the recommended next command (e.g., `Next → /user:gsd-t-partition`). Full successor mapping for all workflow commands. Skipped during auto-advancing (Level 3 mid-wave)
47
+
48
+ ## [2.20.4] - 2026-02-16
49
+
50
+ ### Changed
51
+ - **Scan always uses team mode**: `gsd-t-scan` and `gsd-t-init-scan-setup` now spawn a team by default. Solo mode only for trivially small codebases (< 5 files) or when teams are explicitly disabled
52
+
53
+ ## [2.20.3] - 2026-02-16
54
+
55
+ ### Added
56
+ - **Playwright Cleanup**: After Playwright tests finish, kill any app/server processes that were started for the tests. Prevents orphaned dev servers from lingering after test runs
57
+
58
+ ## [2.20.2] - 2026-02-16
59
+
60
+ ### Added
61
+ - **CLI health checks**: `update-all` and `doctor` now check all projects for missing Playwright and Swagger/OpenAPI
62
+ - Smart API detection: scans `package.json`, `requirements.txt`, `pyproject.toml` for API frameworks (Express, Fastify, Hono, Django, FastAPI, etc.)
63
+ - Swagger detection: checks for spec files (`openapi.json/yaml`, `swagger.json/yaml`) and swagger packages in dependencies
64
+ - Health summary in `update-all` shows counts of missing Playwright and Swagger across all registered projects
65
+
66
+ ## [2.20.1] - 2026-02-16
67
+
68
+ ### Added
69
+ - **API Documentation Guard (Swagger/OpenAPI)**: Every API endpoint must be documented in Swagger/OpenAPI spec no exceptions. Auto-detects framework and installs appropriate Swagger integration. Swagger URL must be published in CLAUDE.md, README.md, and docs/infrastructure.md
70
+ - Pre-Commit Gate now checks for Swagger spec updates on any API endpoint change
71
+
72
+ ## [2.20.0] - 2026-02-16
73
+
74
+ ### Added
75
+ - **Playwright Setup in Init**: `gsd-t-init` now installs Playwright, creates `playwright.config.ts`, and sets up E2E test directory for every project. Detects package manager (bun, npm, yarn, pnpm, pip) automatically
76
+ - **Playwright Readiness Guard**: Before any testing command (execute, test-sync, verify, quick, wave, milestone, complete-milestone, debug), checks for `playwright.config.*` and auto-installs if missing. Playwright must always be ready — no deferring to "later"
77
+
78
+ ## [2.19.1] - 2026-02-16
79
+
80
+ ### Changed
81
+ - **Quick**: Now runs the FULL test suite (not just affected tests), requires comprehensive test creation for new/changed code paths including Playwright E2E, and verifies against requirements and contracts. "Quick doesn't mean skip testing."
82
+
83
+ ## [2.19.0] - 2026-02-16
84
+
85
+ ### Changed
86
+ - **Execute**: "No feature code without test code" — every task must include comprehensive unit tests AND Playwright E2E specs for all new code paths, modes, and flows. Tests are part of the deliverable, not a follow-up
87
+ - **Test-Sync**: Creates tests immediately during execute phase instead of deferring gaps to verify. Missing Playwright specs for new features/modes are created on the spot
88
+ - **Verify**: Zero test coverage on new functionality is now a FAIL (not WARN). Coverage audit checks that every new feature, mode, page, and flow has comprehensive Playwright specs covering happy path, error states, edge cases, and all modes/flags
89
+
90
+ ## [2.18.2] - 2026-02-16
91
+
92
+ ### Added
93
+ - Gap Analysis Gate in `gsd-t-complete-milestone` — mandatory requirements verification before archiving
94
+ - Self-correction loop: auto-fixes gaps, re-verifies, re-analyzes (up to 2 cycles), stops if unresolvable
95
+ - Explicit Playwright E2E test execution in milestone test verification step
96
+
97
+ ## [2.18.1] - 2026-02-16
98
+
99
+ ### Added
100
+ - Auto-Init Guard — GSD-T workflow commands automatically run `gsd-t-init` if any init files are missing, then continue with the original command
101
+ - `gsd-t-init` copies `~/.claude/settings.local` → `.claude/settings.local.json` during project initialization
102
+ - Exempt commands that skip auto-init: `gsd-t-init`, `gsd-t-init-scan-setup`, `gsd-t-help`, `gsd-t-version-update`, `gsd-t-version-update-all`, `gsd-t-prompt`, `gsd-t-brainstorm`
103
+
104
+ ## [2.18.0] - 2026-02-16
105
+
106
+ ### Added
107
+ - Heartbeat system — real-time event streaming from Claude Code sessions via async hooks
108
+ - `scripts/gsd-t-heartbeat.js` hook handler that writes JSONL events to `.gsd-t/heartbeat-{session_id}.jsonl`
109
+ - 9 Claude Code hooks: SessionStart, PostToolUse, SubagentStart, SubagentStop, TaskCompleted, TeammateIdle, Notification, Stop, SessionEnd
110
+ - Installer auto-configures heartbeat hooks in settings.json (all async, zero performance impact)
111
+ - Event types: session lifecycle, tool calls with file/command summaries, agent spawn/stop/idle, task completions
112
+
113
+ ## [2.17.0] - 2026-02-16
114
+
115
+ ### Added
116
+ - `/user:gsd-t-log` command — sync progress.md Decision Log with recent git activity by scanning commits since last logged entry
117
+ - Incremental updates (only new commits) and first-time full reconstruction from git history
118
+ - Total commands: 38 GSD-T + 3 utility = 41
119
+
120
+ ## [2.16.5] - 2026-02-16
121
+
122
+ ### Added
123
+ - `gsd-t-populate` now reconstructs Decision Log from git history — parses all commits, generates timestamped entries, merges with existing log
124
+ - Pre-Commit Gate explicitly lists all 30 file-modifying commands that must log to progress.md
125
+
126
+ ### Changed
127
+ - Rebuilt GSD-T project Decision Log with full `YYYY-MM-DD HH:MM` timestamps from 54 git commits
128
+
129
+ ## [2.16.4] - 2026-02-16
130
+
131
+ ### Changed
132
+ - Smart router renamed from `/user:gsd-t` to `/user:gsd` — sorts first in autocomplete, shorter to type
133
+ - Pre-Commit Gate now requires timestamped progress.md entry (`YYYY-MM-DD HH:MM`) after every completed task, not just architectural decisions
134
+
135
+ ## [2.16.3] - 2026-02-16
136
+
137
+ ### Fixed
138
+ - Reverted smart router rename (`/gsd` back to `/gsd-t`) — superseded by 2.16.4 which re-applies the rename
139
+
140
+ ## [2.16.2] - 2026-02-16
141
+
142
+ ### Changed
143
+ - Smart router renamed from `/user:gsd-t` to `/user:gsd` (reverted in 2.16.3)
144
+
145
+ ## [2.16.1] - 2026-02-16
146
+
147
+ ### Fixed
148
+ - `gsd-t-init-scan-setup` now pulls existing code from remote before scanning — prevents treating repos with existing code as greenfield
149
+
150
+ ## [2.16.0] - 2026-02-13
151
+
152
+ ### Changed
153
+ - Smart router (`/gsd-t`) replaced signal-word lookup table with **semantic evaluation** — evaluates user intent against each command's purpose and "Use when" criteria from help summaries
154
+ - Router shows runner-up command when confidence is close: `(also considered: gsd-t-{x} Esc to switch)`
155
+ - New commands automatically participate in routing without updating a routing table
156
+
157
+ ### Added
158
+ - Backlog item B1: Agentic Workflow Architecture (future exploration when Claude Code agents mature)
159
+
160
+ ## [2.15.4] - 2026-02-13
161
+
162
+ ### Changed
163
+ - `gsd-t-gap-analysis` team scaling: one teammate per requirement (3–10), cap at 10 with even batching for 11+, solo for 1–2
164
+
165
+ ## [2.15.3] - 2026-02-13
166
+
167
+ ### Fixed
168
+ - `gsd-t-gap-analysis` hard cap of 4 teammates max — scales by requirement count (2 for 5–10, 3 for 11–15, 4 for 16+), solo for < 5
169
+
170
+ ## [2.15.2] - 2026-02-13
171
+
172
+ ### Changed
173
+ - `gsd-t-gap-analysis` team mode now handles flat requirement lists — chunks into batches of ~8–10 per teammate instead of requiring sections
174
+
175
+ ## [2.15.1] - 2026-02-13
176
+
177
+ ### Changed
178
+ - `gsd-t-gap-analysis` now uses agent team mode automatically one teammate per requirement section for parallel scanning and classification, with solo fallback
179
+
180
+ ## [2.15.0] - 2026-02-13
181
+
182
+ ### Added
183
+ - `/user:gsd-t-gap-analysis` command requirements gap analysis against existing codebase
184
+ - Parses spec into discrete numbered requirements, scans codebase, classifies each as implemented/partial/incorrect/not-implemented
185
+ - Evidence-based classification with file:line references for each requirement
186
+ - Severity levels: Critical (incorrect), High (partial), Medium (not implemented), Low (deferrable)
187
+ - Generates `.gsd-t/gap-analysis.md` with requirements breakdown, gap matrix, and summary stats
188
+ - Re-run support with diff against previous gap analysis (resolved, new, changed, unchanged)
189
+ - Optional merge of parsed requirements into `docs/requirements.md`
190
+ - Auto-groups gaps into recommended milestones/features/quick-fixes for promotion
191
+ - Autonomy-aware: Level 3 proceeds with flagged assumptions, Level 1-2 pauses for clarification
192
+ - Total commands: 37 GSD-T + 3 utility = 40
193
+
194
+ ## [2.14.2] - 2026-02-13
195
+
196
+ ### Changed
197
+ - Smart router (`/gsd-t`) now displays selected command as the first line of output (mandatory routing confirmation)
198
+
199
+ ## [2.14.1] - 2026-02-13
200
+
201
+ ### Changed
202
+ - Update Notices section in CLAUDE-global template now handles both `[GSD-T UPDATE]` (update available) and `[GSD-T]` (up to date) version banners
203
+ - Update command in notification changed from raw npm command to `/user:gsd-t-version-update-all`
204
+
205
+ ## [2.14.0] - 2026-02-12
206
+
207
+ ### Added
208
+ - `/user:gsd-t` smart router command describe what you need in plain language, auto-routes to the correct GSD-T command
209
+ - Intent classification routes to: quick, feature, project, debug, scan, brainstorm, milestone, wave, status, resume, backlog-add, and more
210
+ - Total commands: 36 GSD-T + 3 utility = 39
211
+
212
+ ## [2.13.4] - 2026-02-12
213
+
214
+ ### Added
215
+ - Auto-invoked status column on all command tables in README and GSD-T-README (Manual / In wave)
216
+ - `[auto]` markers on wave-invoked commands in `gsd-t-help` main listing
217
+ - Section headers in `gsd-t-help` now show Manual or Auto label
218
+
219
+ ## [2.13.3] - 2026-02-12
220
+
221
+ ### Changed
222
+ - `gsd-t-init-scan-setup` now asks "Is {current folder} your project root?" before prompting for a folder name
223
+
224
+ ## [2.13.2] - 2026-02-12
225
+
226
+ ### Changed
227
+ - `gsd-t-init-scan-setup` now asks for project folder name, creates it if needed, and `cd`s into it — can be run from anywhere
228
+
229
+ ## [2.13.1] - 2026-02-12
230
+
231
+ ### Changed
232
+ - Update notification now includes changelog link (https://github.com/Tekyz-Inc/get-stuff-done-teams/blob/main/CHANGELOG.md)
233
+
234
+ ## [2.13.0] - 2026-02-12
235
+
236
+ ### Added
237
+ - `/user:gsd-t-init-scan-setup` slash command full project onboarding combining git setup, init, scan, and setup in one command
238
+ - Prompts for GitHub repo URL if not already connected; skips if remote exists
239
+ - Total commands: 35 GSD-T + 3 utility = 38
240
+
241
+ ## [2.12.0] - 2026-02-12
242
+
243
+ ### Added
244
+ - `/user:gsd-t-version-update` slash command — update GSD-T to latest version from within Claude Code
245
+ - `/user:gsd-t-version-update-all` slash command — update GSD-T + all registered projects from within Claude Code
246
+ - Total commands: 34 GSD-T + 3 utility = 37
247
+
248
+ ## [2.11.6] - 2026-02-12
249
+
250
+ ### Changed
251
+ - Update notice now shown at both beginning and end of Claude's first response
252
+
253
+ ## [2.11.5] - 2026-02-12
254
+
255
+ ### Added
256
+ - SessionStart hook script (`~/.claude/scripts/gsd-t-update-check.js`) for automatic update notifications in Claude Code sessions
257
+ - "Update Notices" instruction in global CLAUDE.md template — Claude relays update notices to the user on first response
258
+
259
+ ## [2.11.4] - 2026-02-12
260
+
261
+ ### Fixed
262
+ - First-run update check now fetches synchronously when no cache exists — notification shows immediately instead of requiring a second run
263
+
264
+ ## [2.11.3] - 2026-02-12
265
+
266
+ ### Changed
267
+ - Reduced update check cache duration from 24 hours to 1 hour — new releases are detected faster
268
+
269
+ ## [2.11.2] - 2026-02-12
270
+
271
+ ### Fixed
272
+ - CLI update check used `!==` instead of semver comparison — would show incorrect downgrade notices when cache had an older version
273
+ - Added `isNewerVersion()` helper for proper semver comparison in update notifications
274
+
275
+ ## [2.11.1] - 2026-02-12
276
+
277
+ ### Changed
278
+ - `gsd-t-resume` now detects same-session vs cross-session mode — skips full state reload when context is already available, auto-resumes at Level 3
279
+ - Added "Conversation vs. Work" rule to global CLAUDE.md template — plain text questions are answered conversationally, workflow only runs when a `/gsd-t-*` command is invoked
280
+
281
+ ## [2.11.0] - 2026-02-12
282
+
283
+ ### Added
284
+ - Autonomy-level-aware auto-advancing for all phase commands — at Level 3 (Full Auto), partition, plan, impact, execute, test-sync, integrate, verify, and complete-milestone auto-advance without waiting for user input
285
+ - Wave error recovery auto-remediates at Level 3 (up to 2 fix attempts before stopping)
286
+ - Discuss phase always pauses for user input regardless of autonomy level
287
+ - Autonomy levels documentation added to GSD-T-README Configuration section
288
+
289
+ ## [2.10.3] - 2026-02-11
290
+
291
+ ### Changed
292
+ - Default autonomy level changed from Level 2 (Standard) to Level 3 (Full Auto) across all templates and commands
293
+ - `gsd-t-init` now sets Level 3 in generated CLAUDE.md
294
+ - `gsd-t-setup` defaults to Level 3 when asking autonomy level
295
+
296
+ ## [2.10.2] - 2026-02-11
297
+
298
+ ### Added
299
+ - Version update check in `gsd-t-status` slash command — works inside Claude Code and ClaudeWebCLI sessions, not just the CLI binary
300
+
301
+ ### Fixed
302
+ - Normalized `repository.url` in package.json (`git+https://` prefix)
303
+
304
+ ## [2.10.1] - 2026-02-10
305
+
306
+ ### Added
307
+ - Automatic update check CLI queries npm registry (cached 24h, background refresh) and shows a notice box with update commands when a newer version is available
308
+
309
+ ## [2.10.0] - 2026-02-10
310
+
311
+ ### Added
312
+ - `CHANGELOG.md` release notes document with full version history
313
+ - `changelog` CLI subcommand — opens changelog in the browser (`gsd-t changelog`)
314
+ - Clickable version links in CLI output (OSC 8 hyperlinks to changelog)
315
+ - `checkin` command now auto-updates CHANGELOG.md on every version bump
316
+ - `update-all` now creates CHANGELOG.md for registered projects that don't have one
317
+
318
+ ## [2.9.0] - 2026-02-10
319
+
320
+ ### Added
321
+ - `gsd-t-setup` command — generates or restructures project CLAUDE.md by scanning codebase, detecting tech stack/conventions, and removing global duplicates
322
+
323
+ ## [2.8.1] - 2026-02-10
324
+
325
+ ### Added
326
+ - Workflow Preferences section in global and project CLAUDE.md templates (Research Policy, Phase Flow defaults with per-project override support)
327
+
328
+ ## [2.8.0] - 2026-02-10
329
+
330
+ ### Added
331
+ - Backlog management system: 7 new commands (`backlog-add`, `backlog-list`, `backlog-move`, `backlog-edit`, `backlog-remove`, `backlog-promote`, `backlog-settings`)
332
+ - 2 new templates (`backlog.md`, `backlog-settings.md`)
333
+ - Backlog initialization in `gsd-t-init` with auto-category derivation
334
+ - Backlog summary in `gsd-t-status` report
335
+ - Backlog section in `gsd-t-help`
336
+
337
+ ### Changed
338
+ - Updated `gsd-t-init`, `gsd-t-status`, `gsd-t-help`, CLAUDE-global template, README with backlog integration
339
+
340
+ ## [2.7.0] - 2026-02-09
341
+
342
+ ### Added
343
+ - `update-all` CLI command — updates global install + all registered project CLAUDE.md files
344
+ - `register` CLI command — manually register a project in the GSD-T project registry
345
+ - Auto-registration on `gsd-t init`
346
+ - Project registry at `~/.claude/.gsd-t-projects`
347
+
348
+ ## [2.6.0] - 2026-02-09
349
+
350
+ ### Added
351
+ - Destructive Action Guard — mandatory safeguard requiring explicit user approval before destructive or structural changes (schema drops, architecture replacements, module removal)
352
+ - Guard enforced in global CLAUDE.md, project template, and all execution commands
353
+
354
+ ## [2.5.0] - 2026-02-09
355
+
356
+ ### Changed
357
+ - Audited all 27 command files — added Document Ripple and Test Verification steps to 15 commands that were missing them
358
+ - All code-modifying commands now enforce doc updates and test runs before completion
359
+
360
+ ## [2.4.0] - 2026-02-09
361
+
362
+ ### Added
363
+ - Automatic version bumping in `checkin` command — determines patch/minor/major from change type
364
+
365
+ ## [2.3.0] - 2026-02-09
366
+
367
+ ### Added
368
+ - Branch Guard — prevents commits on wrong branch by checking `Expected branch` in CLAUDE.md
369
+
370
+ ## [2.2.1] - 2026-02-09
371
+
372
+ ### Fixed
373
+ - `gsd-t-discuss` now stops for user review when manually invoked (was auto-continuing even in manual mode)
374
+
375
+ ## [2.2.0] - 2026-02-09
376
+
377
+ ### Added
378
+ - E2E test support in `test-sync`, `verify`, and `execute` commands
379
+
380
+ ## [2.1.0] - 2026-02-09
381
+
382
+ ### Added
383
+ - `gsd-t-populate` command auto-populate living docs from existing codebase
384
+ - Semantic versioning system tracked in `progress.md`
385
+ - Auto-update README on version changes
386
+
387
+ ## [2.0.2] - 2026-02-07
388
+
389
+ ### Changed
390
+ - `gsd-t-init` now creates all 4 living document templates (`requirements.md`, `architecture.md`, `workflows.md`, `infrastructure.md`)
391
+ - `gsd-t-scan` cross-populates findings into living docs
392
+
393
+ ## [2.0.1] - 2026-02-07
394
+
395
+ ### Fixed
396
+ - Added `gsd-t-brainstorm` to all 4 reference files (README, GSD-T-README, CLAUDE-global, gsd-t-help)
397
+ - Fixed workflow diagram alignment
398
+
399
+ ## [2.0.0] - 2026-02-07
400
+
401
+ ### Added
402
+ - Renamed package to `@tekyzinc/gsd-t`
403
+ - `gsd-t-brainstorm` command — creative exploration, rethinking, and idea generation
404
+ - Initialized GSD-T state (`.gsd-t/` directory) on itself
405
+
406
+ ### Changed
407
+ - Complete framework rewrite from GSD to GSD-T (contract-driven development)
408
+ - npm package with CLI installer (`bin/gsd-t.js`)
409
+ - 6 CLI subcommands: install, update, init, status, doctor, uninstall
410
+
411
+ ## [1.0.0] - 2026-02-07
412
+
413
+ ### Added
414
+ - Initial GSD-T framework implementation
415
+ - Full milestone workflow: partition, discuss, plan, impact, execute, test-sync, integrate, verify, complete
416
+ - Agent Teams support for parallel execution
417
+ - Living documents system (requirements, architecture, workflows, infrastructure)