@tekyzinc/gsd-t 2.31.18 → 2.33.12

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,581 +1,626 @@
1
- # Changelog
2
-
3
- All notable changes to GSD-T are documented here. Updated with each release.
4
-
5
- ## [2.28.10] - 2026-02-18
6
-
7
- ### Added
8
- - **Milestone 13: Tooling & UX** — Infrastructure and UX improvements:
9
- - **`scripts/gsd-t-tools.js`**: New zero-dependency Node.js CLI utility returning compact JSON. Subcommands: `state get/set` (read/write progress.md keys), `validate` (check required files), `parse progress --section` (extract named sections), `list domains|contracts`, `git pre-commit-check` (branch/status/last-commit), `template scope|tasks <domain>`
10
- - **`scripts/gsd-t-statusline.js`**: New statusline script for Claude Code. Reads GSD-T project state and optionally reads `CLAUDE_CONTEXT_TOKENS_USED`/`CLAUDE_CONTEXT_TOKENS_MAX` env vars to show a color-coded context usage bar (green→yellow→orange→red). Configure via `"statusLine": "node ~/.claude/scripts/gsd-t-statusline.js"` in `settings.json`
11
- - **`gsd-t-health`**: New slash command validating `.gsd-t/` project structure. Checks all required files, directories, version consistency, status validity, contract integrity, and domain integrity. `--repair` creates any missing files from templates. Reports HEALTHY / DEGRADED / BROKEN
12
- - **`gsd-t-pause`**: New slash command saving exact position to `.gsd-t/continue-here-{timestamp}.md` with milestone, phase, domain, task, last completed action, next action, and open items
13
- - Both scripts automatically installed to `~/.claude/scripts/` during `npx @tekyzinc/gsd-t install/update`
14
-
15
- ### Changed
16
- - **`gsd-t-resume`**: Now reads the most recent `.gsd-t/continue-here-*.md` file (if present) as the primary resume point before falling back to `progress.md`. Deletes the continue-here file after consuming it
17
- - **`gsd-t-plan`**: Wave Execution Groups added to `integration-points.md` format groups tasks into parallel-safe waves with checkpoints between them. Wave rules: same-wave tasks share no files and have no dependencies; different-wave tasks depend on each other's output or modify shared files
18
- - **`gsd-t-execute`**: Reads Wave Execution Groups from `integration-points.md` and executes wave-by-wave. Tasks within a wave are parallel-safe; checkpoints between waves verify contract compliance before proceeding. Team mode now spawns teammates only within the same wave
19
- - **`gsd-t-health`** and **`gsd-t-pause`** added to all reference files (help, README, GSD-T-README, CLAUDE-global template, user CLAUDE.md)
20
- - Total command count: 43 → **45** (41 GSD-T workflow + 4 utility)
21
-
22
- ## [2.27.10] - 2026-02-18
23
-
24
- ### Changed
25
- - **Milestone 12: Planning Intelligence** Three improvements to correctness across milestones:
26
- - **CONTEXT.md from discuss**: `gsd-t-discuss` now creates `.gsd-t/CONTEXT.md` with three sections Locked Decisions (plan must implement exactly), Deferred Ideas (plan must NOT implement), and Claude's Discretion (free to decide). New Step 5 added to discuss; steps renumbered
27
- - **Plan fidelity enforcement**: `gsd-t-plan` reads CONTEXT.md and maps every Locked Decision to at least one task. Also produces a REQ-ID domain/task traceability table in `docs/requirements.md`
28
- - **Plan validation checker**: A Task subagent validates the plan after creation — checks REQ coverage, Locked Decision mapping, task completeness, cross-domain dependencies, and contract existence. Max 3 fix iterations before stopping
29
- - **Requirements close-out in verify**: `gsd-t-verify` marks matched requirements as `complete` in the traceability table and reports orphaned requirements and unanchored tasks
30
-
31
- ## [2.26.10] - 2026-02-18
32
-
33
- ### Changed
34
- - **Milestone 11: Execution Quality** — Three improvements to execution reliability:
35
- - **Deviation Rules**: `execute`, `quick`, and `debug` now include a 4-rule deviation protocol — auto-fix bugs (3-attempt limit), add minimum missing dependencies, fix blockers, and STOP for architectural changes. Failed attempts log to `.gsd-t/deferred-items.md`
36
- - **Atomic per-task commits**: `execute` now commits after each task using `feat({domain}/task-{N}): {description}` format instead of batching at phase end. Team mode instructions updated with the same requirement
37
- - **Wave spot-check**: Between-phase verification in `wave` now checks git log (commits present), filesystem (output files exist), and FAILED markers in progress.md — not just agent-reported status
38
-
39
- ## [2.25.10] - 2026-02-18
40
-
41
- ### Changed
42
- - **Milestone 10: Token Efficiency** QA overhead significantly reduced across all phases:
43
- - `partition` and `plan`: QA spawn removed (no code produced in these phases)
44
- - `test-sync`, `verify`, `complete-milestone`: contract testing and gap analysis performed inline (no QA teammate)
45
- - `execute`, `integrate`: QA now spawned via lightweight Task subagent instead of TeamCreate teammate
46
- - `quick`, `debug`: QA spawn removed; tests run inline in the existing Test & Verify step; both commands now self-spawn as Task subagents (Step 0) for fresh context windows
47
- - `scan`, `status`: wrap themselves as Task subagents for fresh context on each invocation
48
- - Global CLAUDE.md QA Mandatory section updated to reflect the new per-command QA method
49
-
50
- ## [2.24.10] - 2026-02-18
51
-
52
- ### Changed
53
- - **Versioning scheme: patch numbers are always 2 digits**: Patch segment now starts at 10 (not 0) after any minor or major reset. Incrementing continues normally (10→11→12…). Semver validity is preserved no leading zeros. `checkin.md` and `gsd-t-complete-milestone.md` updated with the new convention. `gsd-t-init` will initialize new projects at `0.1.10`
54
-
55
- ## [2.24.9] - 2026-02-18
56
-
57
- ### Changed
58
- - **Default model**: Example settings.json updated from `claude-opus-4-6` to `claude-sonnet-4-6` (faster, lower token usage)
59
-
60
- ## [2.24.8] - 2026-02-18
61
-
62
- ### Fixed
63
- - **CLAUDE.md update no longer overwrites user content**: Installer now uses marker-based merging (`<!-- GSD-T:START -->` / `<!-- GSD-T:END -->`). Updates only replace the GSD-T section between markers, preserving all user customizations. Existing installs without markers are auto-migrated. Backup still created for reference
64
-
65
- ## [2.24.7] - 2026-02-18
66
-
67
- ### Changed
68
- - **Next Command Hint redesigned**: Replaced plain `Next →` text with GSD-style "Next Up" visual block — divider lines, `▶ Next Up` header, phase name with description, command in backticks, and alternatives section. Format designed to trigger Claude Code's prompt suggestion engine, making the next command appear as ghost text in the user's input field
69
-
70
- ## [2.24.6] - 2026-02-18
71
-
72
- ### Added
73
- - **Auto-update on session start**: SessionStart hook now automatically installs new GSD-T versions when detected runs `npm install -g` + `gsd-t update-all`. Falls back to manual instructions if auto-update fails
74
- - **Changelog link in all version messages**: All three output modes (`[GSD-T AUTO-UPDATE]`, `[GSD-T UPDATE]`, `[GSD-T]`) now include the changelog URL
75
- - **Update check installer**: `bin/gsd-t.js` now deploys the update check script and configures the SessionStart hook automatically during install, with auto-fix for incorrect matchers
76
-
77
- ### Fixed
78
- - **SessionStart hook matcher**: Changed from `"startup"` to `""` (empty) to match all session types including compact/resumed sessions
79
-
80
- ## [2.24.5] - 2026-02-18
81
-
82
- ### Fixed
83
- - **Dead code removed**: `PKG_EXAMPLES` constant in `bin/gsd-t.js` and dead imports (`writeTemplateFile`, `showStatusVersion`) in `test/cli-quality.test.js` (TD-057, TD-058)
84
- - **summarize() case fallthrough**: Combined identical `Read`/`Edit`/`Write` cases using switch fallthrough, saving 4 lines (TD-056)
85
- - **checkForUpdates() condition**: Simplified redundant `!cached && isStale` to `if (!cached) ... else if (stale)` (TD-061)
86
- - **Notification title scrubbing**: Applied `scrubSecrets()` to `h.title` in heartbeat notification handler (TD-063)
87
- - **SEC-N16 note corrected**: Updated informational note during scan #5 (TD-062)
88
- - **Wave integrity check contract**: Updated `wave-phase-sequence.md` to match actual implementation checks Status, Milestone name, Domains table (not version) (TD-064)
89
- - **Duplicate format contract**: Deleted `file-format-contract.md` `backlog-file-formats.md` is authoritative (TD-065)
90
-
91
- ### Added
92
- - 9 new tests: 3 `readSettingsJson()` tests in `cli-quality.test.js`, 6 `shortPath()` tests in `security.test.js` (TD-059, TD-060)
93
- - Total tests: 125 (was 116)
94
-
95
- ## [2.24.4] - 2026-02-18
96
-
97
- ### Fixed
98
- - **progress.md status**: Now uses contract-recognized values (READY between milestones, not ACTIVE)
99
- - **CLAUDE.md version**: Removed hardcoded version — references `package.json` directly to prevent recurring drift (TD-048)
100
- - **CHANGELOG.md**: Added missing entries for v2.23.1 through v2.24.3 covering milestones 3-7 (TD-045)
101
- - **Orphaned domains**: Deleted stale `cli-quality/` and `cmd-cleanup/` directories from previous milestones (TD-046)
102
- - **Git line endings**: Applied `git add --renormalize .` to enforce LF across all tracked files (TD-049)
103
- - **Notification scrubbing**: Applied `scrubSecrets()` to heartbeat notification messages (TD-052)
104
-
105
- ### Changed
106
- - **Contracts synced**: `progress-file-format.md` enriched with milestone table + optional fields. `wave-phase-sequence.md` updated with integrity check (M7) and security considerations (M5). `command-interface-contract.md` renamed to `backlog-command-interface.md`. `integration-points.md` rewritten to reflect current state (TD-047, TD-053, TD-054, TD-055)
107
- - **readSettingsJson()**: Extracted helper to deduplicate 3 `JSON.parse(readFileSync)` call sites in CLI (TD-050)
108
- - **prepublishOnly**: Added `npm test` gate before `npm publish` (TD-051)
109
- - **TD-029 (TOCTOU)**: Formally accepted as risk with 5-point rationale — single-threaded Node.js, user-owned dirs, Windows symlink requires admin
110
-
111
- ## [2.24.3] - 2026-02-19
112
-
113
- ### Changed
114
- - **Command file cleanup**: 85 fractional step numbers renumbered to integers across 17 command files. Autonomy Behavior sections added to `gsd-t-discuss` and `gsd-t-impact`. QA agent hardened with file-path boundary constraints, multi-framework test detection, and Document Ripple section. Wave integrity check validates progress.md fields before starting. Structured 3-condition discuss-skip heuristic. Consistent "QA failure blocks" language across all 10 QA-spawning commands
115
-
116
- ### Fixed
117
- - 8 tech debt items resolved: TD-030, TD-031, TD-036, TD-037, TD-038, TD-039, TD-040, TD-041
118
-
119
- ## [2.24.2] - 2026-02-19
120
-
121
- ### Changed
122
- - **CLI quality improvement**: All 86 functions across `bin/gsd-t.js` (80) and `scripts/gsd-t-heartbeat.js` (6) are now <= 30 lines. 3 code duplication patterns resolved (`readProjectDeps`, `writeTemplateFile`, `readPyContent` extracted). `buildEvent()` refactored to handler map pattern. `checkForUpdates` inline JS extracted to `scripts/gsd-t-fetch-version.js`. `doUpdateAll` has per-project error isolation
123
-
124
- ### Added
125
- - `.gitattributes` and `.editorconfig` for consistent file formatting
126
- - 22 new tests in `test/cli-quality.test.js` (buildEvent, readProjectDeps, readPyContent, insertGuardSection, readUpdateCache, addHeartbeatHook)
127
-
128
- ### Fixed
129
- - Heartbeat cleanup now only runs on SessionStart (not every event)
130
- - 7 tech debt items resolved: TD-017, TD-021, TD-024, TD-025, TD-032, TD-033, TD-034
131
-
132
- ## [2.24.1] - 2026-02-18
133
-
134
- ### Added
135
- - **Security hardening**: `scrubSecrets()` and `scrubUrl()` in heartbeat script scrub sensitive data (passwords, tokens, API keys, bearer tokens) before logging. 30 new security tests in `test/security.test.js`
136
- - `hasSymlinkInPath()` validates parent directories for symlink attacks
137
- - HTTP response accumulation bounded to 1MB in both fetch paths
138
- - Security Considerations section in `gsd-t-wave.md` documenting `bypassPermissions` implications
139
-
140
- ### Fixed
141
- - `npm-update-check.js` validates cache path within `~/.claude/` and checks for symlinks before writing
142
- - 6 tech debt items resolved: TD-019, TD-020, TD-026, TD-027, TD-028, TD-035
143
-
144
- ## [2.24.0] - 2026-02-18
145
-
146
- ### Added
147
- - **Testing foundation**: 64 automated tests in 2 test files (`test/helpers.test.js`: 27 tests, `test/filesystem.test.js`: 37 tests) using Node.js built-in test runner (`node --test`). Zero external test dependencies
148
- - `module.exports` added to `bin/gsd-t.js` for 20 testable functions with `require.main` guard
149
- - CLI subcommand tests (--version, help, status, doctor)
150
- - Helper function tests (validateProjectName, applyTokens, normalizeEol, validateVersion, isNewerVersion)
151
- - Filesystem tests (isSymlink, ensureDir, validateProjectPath, copyFile, hasPlaywright, hasSwagger, hasApi)
152
- - Command listing tests (getCommandFiles, getGsdtCommands, getUtilityCommands with count validation)
153
-
154
- ### Fixed
155
- - Tech debt item TD-003 (no test coverage) resolved
156
-
157
- ## [2.23.1] - 2026-02-18
158
-
159
- ### Fixed
160
- - **Count fix**: All command count references updated to 43/39/4 across CLAUDE.md, README.md, package.json, and docs (TD-022)
161
- - QA agent contract now includes test-sync phase with "During Test-Sync" section and updated output table (TD-042)
162
- - Orphaned domain files from previous milestones archived to `.gsd-t/milestones/` (TD-043)
163
-
164
- ## [2.23.0] - 2026-02-17
165
-
166
- ### Changed
167
- - **Wave orchestrator rewrite**: `gsd-t-wave` now spawns an independent agent for each phase instead of executing all phases inline. Each phase agent gets a fresh context window (~200K tokens), eliminating cross-phase context accumulation and preventing mid-wave compaction. The orchestrator stays lightweight (~30KB), reading only progress.md between phases. Phase sequence is unchanged only the execution model changed. Estimated 75-85% reduction in peak context usage during waves
168
-
169
- ## [2.22.0] - 2026-02-17
170
-
171
- ### Added
172
- - **gsd-t-qa**: New QA Agent command — dedicated teammate for test generation, execution, and gap reporting. Spawned automatically by 10 GSD-T phase commands
173
- - **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)
174
- - **Contract-to-test mapping rules**: API contracts Playwright API tests, Schema contracts → constraint tests, Component contracts → E2E tests
175
- - **QA Agent (Mandatory) section**: Added to global CLAUDE.md template QA failure blocks phase completion
176
-
177
- ## [2.21.1] - 2026-02-18
178
-
179
- ### Fixed
180
- - **PR #7 Fix 12 scan items**: Security symlink validation gaps, contract/doc alignment, scope template hardening, heartbeat crash guard, progress template field ordering
181
- - **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`)
182
-
183
- ## [2.21.0] - 2026-02-17
184
-
185
- ### Added
186
- - **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
187
-
188
- ## [2.20.7] - 2026-02-17
189
-
190
- ### Added
191
- - **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
192
-
193
- ## [2.20.6] - 2026-02-16
194
-
195
- ### Fixed
196
- - Stale command/template counts in project CLAUDE.md (25→41 commands, 7→9 templates, v2.0.0→v2.20.x)
197
- - Duplicate step numbering in `gsd-t-execute.md` (two step 10s)
198
- - Windows CRLF/LF comparison causing false "changed" detection in CLI update
199
-
200
- ### Added
201
- - Document Ripple sections to `gsd-t-execute`, `gsd-t-scan`, `gsd-t-test-sync`, `gsd-t-verify`
202
- - Heartbeat auto-cleanup: files older than 7 days are automatically removed
203
- - Error handling wrapping around file operations in CLI (copy, unlink, write)
204
- - `applyTokens()` and `normalizeEol()` helpers to reduce duplication
205
- - Extracted `updateProjectClaudeMd()`, `createProjectChangelog()`, `checkProjectHealth()` from `doUpdateAll()`
206
-
207
- ## [2.20.5] - 2026-02-16
208
-
209
- ### Added
210
- - **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)
211
-
212
- ## [2.20.4] - 2026-02-16
213
-
214
- ### Changed
215
- - **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
216
-
217
- ## [2.20.3] - 2026-02-16
218
-
219
- ### Added
220
- - **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
221
-
222
- ## [2.20.2] - 2026-02-16
223
-
224
- ### Added
225
- - **CLI health checks**: `update-all` and `doctor` now check all projects for missing Playwright and Swagger/OpenAPI
226
- - Smart API detection: scans `package.json`, `requirements.txt`, `pyproject.toml` for API frameworks (Express, Fastify, Hono, Django, FastAPI, etc.)
227
- - Swagger detection: checks for spec files (`openapi.json/yaml`, `swagger.json/yaml`) and swagger packages in dependencies
228
- - Health summary in `update-all` shows counts of missing Playwright and Swagger across all registered projects
229
-
230
- ## [2.20.1] - 2026-02-16
231
-
232
- ### Added
233
- - **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
234
- - Pre-Commit Gate now checks for Swagger spec updates on any API endpoint change
235
-
236
- ## [2.20.0] - 2026-02-16
237
-
238
- ### Added
239
- - **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
240
- - **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"
241
-
242
- ## [2.19.1] - 2026-02-16
243
-
244
- ### Changed
245
- - **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."
246
-
247
- ## [2.19.0] - 2026-02-16
248
-
249
- ### Changed
250
- - **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
251
- - **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
252
- - **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
253
-
254
- ## [2.18.2] - 2026-02-16
255
-
256
- ### Added
257
- - Gap Analysis Gate in `gsd-t-complete-milestone` — mandatory requirements verification before archiving
258
- - Self-correction loop: auto-fixes gaps, re-verifies, re-analyzes (up to 2 cycles), stops if unresolvable
259
- - Explicit Playwright E2E test execution in milestone test verification step
260
-
261
- ## [2.18.1] - 2026-02-16
262
-
263
- ### Added
264
- - Auto-Init Guard — GSD-T workflow commands automatically run `gsd-t-init` if any init files are missing, then continue with the original command
265
- - `gsd-t-init` copies `~/.claude/settings.local` `.claude/settings.local.json` during project initialization
266
- - 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`
267
-
268
- ## [2.18.0] - 2026-02-16
269
-
270
- ### Added
271
- - Heartbeat system real-time event streaming from Claude Code sessions via async hooks
272
- - `scripts/gsd-t-heartbeat.js` hook handler that writes JSONL events to `.gsd-t/heartbeat-{session_id}.jsonl`
273
- - 9 Claude Code hooks: SessionStart, PostToolUse, SubagentStart, SubagentStop, TaskCompleted, TeammateIdle, Notification, Stop, SessionEnd
274
- - Installer auto-configures heartbeat hooks in settings.json (all async, zero performance impact)
275
- - Event types: session lifecycle, tool calls with file/command summaries, agent spawn/stop/idle, task completions
276
-
277
- ## [2.17.0] - 2026-02-16
278
-
279
- ### Added
280
- - `/user:gsd-t-log` command — sync progress.md Decision Log with recent git activity by scanning commits since last logged entry
281
- - Incremental updates (only new commits) and first-time full reconstruction from git history
282
- - Total commands: 38 GSD-T + 3 utility = 41
283
-
284
- ## [2.16.5] - 2026-02-16
285
-
286
- ### Added
287
- - `gsd-t-populate` now reconstructs Decision Log from git history — parses all commits, generates timestamped entries, merges with existing log
288
- - Pre-Commit Gate explicitly lists all 30 file-modifying commands that must log to progress.md
289
-
290
- ### Changed
291
- - Rebuilt GSD-T project Decision Log with full `YYYY-MM-DD HH:MM` timestamps from 54 git commits
292
-
293
- ## [2.16.4] - 2026-02-16
294
-
295
- ### Changed
296
- - Smart router renamed from `/user:gsd-t` to `/user:gsd` sorts first in autocomplete, shorter to type
297
- - Pre-Commit Gate now requires timestamped progress.md entry (`YYYY-MM-DD HH:MM`) after every completed task, not just architectural decisions
298
-
299
- ## [2.16.3] - 2026-02-16
300
-
301
- ### Fixed
302
- - Reverted smart router rename (`/gsd` back to `/gsd-t`)superseded by 2.16.4 which re-applies the rename
303
-
304
- ## [2.16.2] - 2026-02-16
305
-
306
- ### Changed
307
- - Smart router renamed from `/user:gsd-t` to `/user:gsd` (reverted in 2.16.3)
308
-
309
- ## [2.16.1] - 2026-02-16
310
-
311
- ### Fixed
312
- - `gsd-t-init-scan-setup` now pulls existing code from remote before scanning — prevents treating repos with existing code as greenfield
313
-
314
- ## [2.16.0] - 2026-02-13
315
-
316
- ### Changed
317
- - 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
318
- - Router shows runner-up command when confidence is close: `(also considered: gsd-t-{x} Esc to switch)`
319
- - New commands automatically participate in routing without updating a routing table
320
-
321
- ### Added
322
- - Backlog item B1: Agentic Workflow Architecture (future exploration when Claude Code agents mature)
323
-
324
- ## [2.15.4] - 2026-02-13
325
-
326
- ### Changed
327
- - `gsd-t-gap-analysis` team scaling: one teammate per requirement (3–10), cap at 10 with even batching for 11+, solo for 1–2
328
-
329
- ## [2.15.3] - 2026-02-13
330
-
331
- ### Fixed
332
- - `gsd-t-gap-analysis` hard cap of 4 teammates maxscales by requirement count (2 for 5–10, 3 for 11–15, 4 for 16+), solo for < 5
333
-
334
- ## [2.15.2] - 2026-02-13
335
-
336
- ### Changed
337
- - `gsd-t-gap-analysis` team mode now handles flat requirement lists — chunks into batches of ~8–10 per teammate instead of requiring sections
338
-
339
- ## [2.15.1] - 2026-02-13
340
-
341
- ### Changed
342
- - `gsd-t-gap-analysis` now uses agent team mode automatically one teammate per requirement section for parallel scanning and classification, with solo fallback
343
-
344
- ## [2.15.0] - 2026-02-13
345
-
346
- ### Added
347
- - `/user:gsd-t-gap-analysis` command requirements gap analysis against existing codebase
348
- - Parses spec into discrete numbered requirements, scans codebase, classifies each as implemented/partial/incorrect/not-implemented
349
- - Evidence-based classification with file:line references for each requirement
350
- - Severity levels: Critical (incorrect), High (partial), Medium (not implemented), Low (deferrable)
351
- - Generates `.gsd-t/gap-analysis.md` with requirements breakdown, gap matrix, and summary stats
352
- - Re-run support with diff against previous gap analysis (resolved, new, changed, unchanged)
353
- - Optional merge of parsed requirements into `docs/requirements.md`
354
- - Auto-groups gaps into recommended milestones/features/quick-fixes for promotion
355
- - Autonomy-aware: Level 3 proceeds with flagged assumptions, Level 1-2 pauses for clarification
356
- - Total commands: 37 GSD-T + 3 utility = 40
357
-
358
- ## [2.14.2] - 2026-02-13
359
-
360
- ### Changed
361
- - Smart router (`/gsd-t`) now displays selected command as the first line of output (mandatory routing confirmation)
362
-
363
- ## [2.14.1] - 2026-02-13
364
-
365
- ### Changed
366
- - Update Notices section in CLAUDE-global template now handles both `[GSD-T UPDATE]` (update available) and `[GSD-T]` (up to date) version banners
367
- - Update command in notification changed from raw npm command to `/user:gsd-t-version-update-all`
368
-
369
- ## [2.14.0] - 2026-02-12
370
-
371
- ### Added
372
- - `/user:gsd-t` smart router command describe what you need in plain language, auto-routes to the correct GSD-T command
373
- - Intent classification routes to: quick, feature, project, debug, scan, brainstorm, milestone, wave, status, resume, backlog-add, and more
374
- - Total commands: 36 GSD-T + 3 utility = 39
375
-
376
- ## [2.13.4] - 2026-02-12
377
-
378
- ### Added
379
- - Auto-invoked status column on all command tables in README and GSD-T-README (Manual / In wave)
380
- - `[auto]` markers on wave-invoked commands in `gsd-t-help` main listing
381
- - Section headers in `gsd-t-help` now show Manual or Auto label
382
-
383
- ## [2.13.3] - 2026-02-12
384
-
385
- ### Changed
386
- - `gsd-t-init-scan-setup` now asks "Is {current folder} your project root?" before prompting for a folder name
387
-
388
- ## [2.13.2] - 2026-02-12
389
-
390
- ### Changed
391
- - `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
392
-
393
- ## [2.13.1] - 2026-02-12
394
-
395
- ### Changed
396
- - Update notification now includes changelog link (https://github.com/Tekyz-Inc/get-stuff-done-teams/blob/main/CHANGELOG.md)
397
-
398
- ## [2.13.0] - 2026-02-12
399
-
400
- ### Added
401
- - `/user:gsd-t-init-scan-setup` slash command full project onboarding combining git setup, init, scan, and setup in one command
402
- - Prompts for GitHub repo URL if not already connected; skips if remote exists
403
- - Total commands: 35 GSD-T + 3 utility = 38
404
-
405
- ## [2.12.0] - 2026-02-12
406
-
407
- ### Added
408
- - `/user:gsd-t-version-update` slash command — update GSD-T to latest version from within Claude Code
409
- - `/user:gsd-t-version-update-all` slash command — update GSD-T + all registered projects from within Claude Code
410
- - Total commands: 34 GSD-T + 3 utility = 37
411
-
412
- ## [2.11.6] - 2026-02-12
413
-
414
- ### Changed
415
- - Update notice now shown at both beginning and end of Claude's first response
416
-
417
- ## [2.11.5] - 2026-02-12
418
-
419
- ### Added
420
- - SessionStart hook script (`~/.claude/scripts/gsd-t-update-check.js`) for automatic update notifications in Claude Code sessions
421
- - "Update Notices" instruction in global CLAUDE.md template — Claude relays update notices to the user on first response
422
-
423
- ## [2.11.4] - 2026-02-12
424
-
425
- ### Fixed
426
- - First-run update check now fetches synchronously when no cache exists — notification shows immediately instead of requiring a second run
427
-
428
- ## [2.11.3] - 2026-02-12
429
-
430
- ### Changed
431
- - Reduced update check cache duration from 24 hours to 1 hour new releases are detected faster
432
-
433
- ## [2.11.2] - 2026-02-12
434
-
435
- ### Fixed
436
- - CLI update check used `!==` instead of semver comparison would show incorrect downgrade notices when cache had an older version
437
- - Added `isNewerVersion()` helper for proper semver comparison in update notifications
438
-
439
- ## [2.11.1] - 2026-02-12
440
-
441
- ### Changed
442
- - `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
443
- - 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
444
-
445
- ## [2.11.0] - 2026-02-12
446
-
447
- ### Added
448
- - 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
449
- - Wave error recovery auto-remediates at Level 3 (up to 2 fix attempts before stopping)
450
- - Discuss phase always pauses for user input regardless of autonomy level
451
- - Autonomy levels documentation added to GSD-T-README Configuration section
452
-
453
- ## [2.10.3] - 2026-02-11
454
-
455
- ### Changed
456
- - Default autonomy level changed from Level 2 (Standard) to Level 3 (Full Auto) across all templates and commands
457
- - `gsd-t-init` now sets Level 3 in generated CLAUDE.md
458
- - `gsd-t-setup` defaults to Level 3 when asking autonomy level
459
-
460
- ## [2.10.2] - 2026-02-11
461
-
462
- ### Added
463
- - Version update check in `gsd-t-status` slash command — works inside Claude Code and ClaudeWebCLI sessions, not just the CLI binary
464
-
465
- ### Fixed
466
- - Normalized `repository.url` in package.json (`git+https://` prefix)
467
-
468
- ## [2.10.1] - 2026-02-10
469
-
470
- ### Added
471
- - 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
472
-
473
- ## [2.10.0] - 2026-02-10
474
-
475
- ### Added
476
- - `CHANGELOG.md` release notes document with full version history
477
- - `changelog` CLI subcommand — opens changelog in the browser (`gsd-t changelog`)
478
- - Clickable version links in CLI output (OSC 8 hyperlinks to changelog)
479
- - `checkin` command now auto-updates CHANGELOG.md on every version bump
480
- - `update-all` now creates CHANGELOG.md for registered projects that don't have one
481
-
482
- ## [2.9.0] - 2026-02-10
483
-
484
- ### Added
485
- - `gsd-t-setup` command — generates or restructures project CLAUDE.md by scanning codebase, detecting tech stack/conventions, and removing global duplicates
486
-
487
- ## [2.8.1] - 2026-02-10
488
-
489
- ### Added
490
- - Workflow Preferences section in global and project CLAUDE.md templates (Research Policy, Phase Flow defaults with per-project override support)
491
-
492
- ## [2.8.0] - 2026-02-10
493
-
494
- ### Added
495
- - Backlog management system: 7 new commands (`backlog-add`, `backlog-list`, `backlog-move`, `backlog-edit`, `backlog-remove`, `backlog-promote`, `backlog-settings`)
496
- - 2 new templates (`backlog.md`, `backlog-settings.md`)
497
- - Backlog initialization in `gsd-t-init` with auto-category derivation
498
- - Backlog summary in `gsd-t-status` report
499
- - Backlog section in `gsd-t-help`
500
-
501
- ### Changed
502
- - Updated `gsd-t-init`, `gsd-t-status`, `gsd-t-help`, CLAUDE-global template, README with backlog integration
503
-
504
- ## [2.7.0] - 2026-02-09
505
-
506
- ### Added
507
- - `update-all` CLI command — updates global install + all registered project CLAUDE.md files
508
- - `register` CLI command — manually register a project in the GSD-T project registry
509
- - Auto-registration on `gsd-t init`
510
- - Project registry at `~/.claude/.gsd-t-projects`
511
-
512
- ## [2.6.0] - 2026-02-09
513
-
514
- ### Added
515
- - Destructive Action Guard — mandatory safeguard requiring explicit user approval before destructive or structural changes (schema drops, architecture replacements, module removal)
516
- - Guard enforced in global CLAUDE.md, project template, and all execution commands
517
-
518
- ## [2.5.0] - 2026-02-09
519
-
520
- ### Changed
521
- - Audited all 27 command files added Document Ripple and Test Verification steps to 15 commands that were missing them
522
- - All code-modifying commands now enforce doc updates and test runs before completion
523
-
524
- ## [2.4.0] - 2026-02-09
525
-
526
- ### Added
527
- - Automatic version bumping in `checkin` command — determines patch/minor/major from change type
528
-
529
- ## [2.3.0] - 2026-02-09
530
-
531
- ### Added
532
- - Branch Guard — prevents commits on wrong branch by checking `Expected branch` in CLAUDE.md
533
-
534
- ## [2.2.1] - 2026-02-09
535
-
536
- ### Fixed
537
- - `gsd-t-discuss` now stops for user review when manually invoked (was auto-continuing even in manual mode)
538
-
539
- ## [2.2.0] - 2026-02-09
540
-
541
- ### Added
542
- - E2E test support in `test-sync`, `verify`, and `execute` commands
543
-
544
- ## [2.1.0] - 2026-02-09
545
-
546
- ### Added
547
- - `gsd-t-populate` command — auto-populate living docs from existing codebase
548
- - Semantic versioning system tracked in `progress.md`
549
- - Auto-update README on version changes
550
-
551
- ## [2.0.2] - 2026-02-07
552
-
553
- ### Changed
554
- - `gsd-t-init` now creates all 4 living document templates (`requirements.md`, `architecture.md`, `workflows.md`, `infrastructure.md`)
555
- - `gsd-t-scan` cross-populates findings into living docs
556
-
557
- ## [2.0.1] - 2026-02-07
558
-
559
- ### Fixed
560
- - Added `gsd-t-brainstorm` to all 4 reference files (README, GSD-T-README, CLAUDE-global, gsd-t-help)
561
- - Fixed workflow diagram alignment
562
-
563
- ## [2.0.0] - 2026-02-07
564
-
565
- ### Added
566
- - Renamed package to `@tekyzinc/gsd-t`
567
- - `gsd-t-brainstorm` command creative exploration, rethinking, and idea generation
568
- - Initialized GSD-T state (`.gsd-t/` directory) on itself
569
-
570
- ### Changed
571
- - Complete framework rewrite from GSD to GSD-T (contract-driven development)
572
- - npm package with CLI installer (`bin/gsd-t.js`)
573
- - 6 CLI subcommands: install, update, init, status, doctor, uninstall
574
-
575
- ## [1.0.0] - 2026-02-07
576
-
577
- ### Added
578
- - Initial GSD-T framework implementation
579
- - Full milestone workflow: partition, discuss, plan, impact, execute, test-sync, integrate, verify, complete
580
- - Agent Teams support for parallel execution
581
- - 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.33.12] - 2026-03-06
6
+
7
+ ### Fixed
8
+ - **Dashboard graph now shows the current session** — heartbeat.js now emits `session_start`/`session_end` events (agent_id=session_id) so the session appears as a root node
9
+ - **Tool calls attributed to session** PostToolUse events now carry session_id as agent_id fallback; all activity visible in single-agent sessions
10
+ - **Readable node labels** sessions display as "Session · Mar 6 · abc1234" (blue-bordered); subagents show their type
11
+ - 3 new tests (178/178 passing); event-schema-contract.md updated with new event types
12
+
13
+ ## [2.33.11] - 2026-03-05
14
+
15
+ ### Added
16
+ - `.gitignore` excludes `.claude/worktrees/` (Claude Code internal) and `nul` (Windows artifact)
17
+ - `ai-evals-analysis.md`, `gsd-t-command-doc-matrix.csv` — development reference documents
18
+ - `scripts/gsd-t-dashboard-mockup.html` interactive mockup from M15 brainstorm (historical reference)
19
+ - `.gsd-t/brainstorm-2026-02-18.md` brainstorm notes from Feb 18 ideation session
20
+
21
+ ## [2.33.10] - 2026-03-04
22
+
23
+ ### Added
24
+ - **Milestone 15: Real-Time Agent Dashboard** — Zero-dependency live browser dashboard for GSD-T execution:
25
+ - **`scripts/gsd-t-dashboard-server.js`** (141 lines): Node.js HTTP+SSE server (zero external deps). Watches `.gsd-t/events/*.jsonl`, streams up to 500 existing events on connect, tails for new events, keepalive every 15s. Runs detached with PID file. All functions exported for testability (23 unit tests in `test/dashboard-server.test.js`).
26
+ - **`scripts/gsd-t-dashboard.html`** (194 lines): Browser dashboard using React 17 + React Flow v11.11.4 + Dagre via CDN (no build step, no npm deps). Dark theme. Renders agent hierarchy as directed graph from `parent_agent_id` relationships. Live event feed (max 200 events, outcome color-coded: green=success, red=failure, yellow=learning). Auto-reconnects on disconnect.
27
+ - **`commands/gsd-t-visualize`**: 48th GSD-T command. Starts server via `--detach`, polls `/ping` up to 5s, opens browser cross-platform (win32/darwin/linux). Accepts `stop` argument. Includes Step 0 self-spawn with OBSERVABILITY LOGGING.
28
+ - Both `gsd-t-dashboard-server.js` and `gsd-t-dashboard.html` automatically installed to `~/.claude/scripts/` during `npx @tekyzinc/gsd-t install/update`
29
+ - 23 new tests in `test/dashboard-server.test.js` total: 176/176 passing
30
+
31
+ ### Changed
32
+ - Total command count: 47 → **48** (44 GSD-T workflow + 4 utility)
33
+
34
+ ## [2.32.10] - 2026-03-04
35
+
36
+ ### Added
37
+ - **Milestone 14: Execution Intelligence Layer** Structured observability, learning, and reflection:
38
+ - **`scripts/gsd-t-event-writer.js`**: New zero-dependency CLI + module.exports. Writes structured JSONL events to `.gsd-t/events/YYYY-MM-DD.jsonl`. Validates 8 event_type values and 5 outcome values. Symlink-safe. Resolves events dir from `GSD_T_PROJECT_DIR` or cwd. 26 new tests.
39
+ - **Heartbeat enrichment**: `scripts/gsd-t-heartbeat.js` maps `SubagentStart`/`SubagentStop`/`PostToolUse` hook events to the events/ schema, appending them to daily JSONL files alongside existing heartbeat writes.
40
+ - **Outcome-tagged Decision Log**: `execute`, `debug`, and `wave` now prefix all new Decision Log entries with `[success]`, `[failure]`, `[learning]`, or `[deferred]`.
41
+ - **Pre-task experience retrieval (Reflexion pattern)**: `execute` and `debug` grep the Decision Log for `[failure]`/`[learning]` entries matching the current domain before spawning subagents. Relevant past failures prepended as `⚠️ Past Failures` block in subagent prompt.
42
+ - **Phase transition events**: `wave` writes `phase_transition` event with outcome:success/failure at each phase boundary.
43
+ - **Distillation step** (Step 2.5 in `complete-milestone`): Scans event stream for patterns seen ≥3 times, proposes CLAUDE.md / constraints.md rule additions, requires user confirmation before any write.
44
+ - **`commands/gsd-t-reflect`** (134 lines, 47th command): On-demand retrospective from event stream. Generates `.gsd-t/retrospectives/YYYY-MM-DD-{milestone}.md` with What Worked / What Failed / Patterns Found / Proposed Memory Updates. Includes Step 0 self-spawn with OBSERVABILITY LOGGING.
45
+ - `gsd-t-event-writer.js` installed to `~/.claude/scripts/` during install/update
46
+
47
+ ### Changed
48
+ - Total command count: 46 **47** (43 GSD-T workflow + 4 utility)
49
+
50
+ ## [2.28.10] - 2026-02-18
51
+
52
+ ### Added
53
+ - **Milestone 13: Tooling & UX**Infrastructure and UX improvements:
54
+ - **`scripts/gsd-t-tools.js`**: New zero-dependency Node.js CLI utility returning compact JSON. Subcommands: `state get/set` (read/write progress.md keys), `validate` (check required files), `parse progress --section` (extract named sections), `list domains|contracts`, `git pre-commit-check` (branch/status/last-commit), `template scope|tasks <domain>`
55
+ - **`scripts/gsd-t-statusline.js`**: New statusline script for Claude Code. Reads GSD-T project state and optionally reads `CLAUDE_CONTEXT_TOKENS_USED`/`CLAUDE_CONTEXT_TOKENS_MAX` env vars to show a color-coded context usage bar (green→yellow→orange→red). Configure via `"statusLine": "node ~/.claude/scripts/gsd-t-statusline.js"` in `settings.json`
56
+ - **`gsd-t-health`**: New slash command validating `.gsd-t/` project structure. Checks all required files, directories, version consistency, status validity, contract integrity, and domain integrity. `--repair` creates any missing files from templates. Reports HEALTHY / DEGRADED / BROKEN
57
+ - **`gsd-t-pause`**: New slash command saving exact position to `.gsd-t/continue-here-{timestamp}.md` with milestone, phase, domain, task, last completed action, next action, and open items
58
+ - Both scripts automatically installed to `~/.claude/scripts/` during `npx @tekyzinc/gsd-t install/update`
59
+
60
+ ### Changed
61
+ - **`gsd-t-resume`**: Now reads the most recent `.gsd-t/continue-here-*.md` file (if present) as the primary resume point before falling back to `progress.md`. Deletes the continue-here file after consuming it
62
+ - **`gsd-t-plan`**: Wave Execution Groups added to `integration-points.md` format — groups tasks into parallel-safe waves with checkpoints between them. Wave rules: same-wave tasks share no files and have no dependencies; different-wave tasks depend on each other's output or modify shared files
63
+ - **`gsd-t-execute`**: Reads Wave Execution Groups from `integration-points.md` and executes wave-by-wave. Tasks within a wave are parallel-safe; checkpoints between waves verify contract compliance before proceeding. Team mode now spawns teammates only within the same wave
64
+ - **`gsd-t-health`** and **`gsd-t-pause`** added to all reference files (help, README, GSD-T-README, CLAUDE-global template, user CLAUDE.md)
65
+ - Total command count: 43 → **45** (41 GSD-T workflow + 4 utility)
66
+
67
+ ## [2.27.10] - 2026-02-18
68
+
69
+ ### Changed
70
+ - **Milestone 12: Planning Intelligence** — Three improvements to correctness across milestones:
71
+ - **CONTEXT.md from discuss**: `gsd-t-discuss` now creates `.gsd-t/CONTEXT.md` with three sections — Locked Decisions (plan must implement exactly), Deferred Ideas (plan must NOT implement), and Claude's Discretion (free to decide). New Step 5 added to discuss; steps renumbered
72
+ - **Plan fidelity enforcement**: `gsd-t-plan` reads CONTEXT.md and maps every Locked Decision to at least one task. Also produces a REQ-ID → domain/task traceability table in `docs/requirements.md`
73
+ - **Plan validation checker**: A Task subagent validates the plan after creation checks REQ coverage, Locked Decision mapping, task completeness, cross-domain dependencies, and contract existence. Max 3 fix iterations before stopping
74
+ - **Requirements close-out in verify**: `gsd-t-verify` marks matched requirements as `complete` in the traceability table and reports orphaned requirements and unanchored tasks
75
+
76
+ ## [2.26.10] - 2026-02-18
77
+
78
+ ### Changed
79
+ - **Milestone 11: Execution Quality** — Three improvements to execution reliability:
80
+ - **Deviation Rules**: `execute`, `quick`, and `debug` now include a 4-rule deviation protocol — auto-fix bugs (3-attempt limit), add minimum missing dependencies, fix blockers, and STOP for architectural changes. Failed attempts log to `.gsd-t/deferred-items.md`
81
+ - **Atomic per-task commits**: `execute` now commits after each task using `feat({domain}/task-{N}): {description}` format instead of batching at phase end. Team mode instructions updated with the same requirement
82
+ - **Wave spot-check**: Between-phase verification in `wave` now checks git log (commits present), filesystem (output files exist), and FAILED markers in progress.md — not just agent-reported status
83
+
84
+ ## [2.25.10] - 2026-02-18
85
+
86
+ ### Changed
87
+ - **Milestone 10: Token Efficiency** QA overhead significantly reduced across all phases:
88
+ - `partition` and `plan`: QA spawn removed (no code produced in these phases)
89
+ - `test-sync`, `verify`, `complete-milestone`: contract testing and gap analysis performed inline (no QA teammate)
90
+ - `execute`, `integrate`: QA now spawned via lightweight Task subagent instead of TeamCreate teammate
91
+ - `quick`, `debug`: QA spawn removed; tests run inline in the existing Test & Verify step; both commands now self-spawn as Task subagents (Step 0) for fresh context windows
92
+ - `scan`, `status`: wrap themselves as Task subagents for fresh context on each invocation
93
+ - Global CLAUDE.md QA Mandatory section updated to reflect the new per-command QA method
94
+
95
+ ## [2.24.10] - 2026-02-18
96
+
97
+ ### Changed
98
+ - **Versioning scheme: patch numbers are always 2 digits**: Patch segment now starts at 10 (not 0) after any minor or major reset. Incrementing continues normally (10→11→12…). Semver validity is preserved — no leading zeros. `checkin.md` and `gsd-t-complete-milestone.md` updated with the new convention. `gsd-t-init` will initialize new projects at `0.1.10`
99
+
100
+ ## [2.24.9] - 2026-02-18
101
+
102
+ ### Changed
103
+ - **Default model**: Example settings.json updated from `claude-opus-4-6` to `claude-sonnet-4-6` (faster, lower token usage)
104
+
105
+ ## [2.24.8] - 2026-02-18
106
+
107
+ ### Fixed
108
+ - **CLAUDE.md update no longer overwrites user content**: Installer now uses marker-based merging (`<!-- GSD-T:START -->` / `<!-- GSD-T:END -->`). Updates only replace the GSD-T section between markers, preserving all user customizations. Existing installs without markers are auto-migrated. Backup still created for reference
109
+
110
+ ## [2.24.7] - 2026-02-18
111
+
112
+ ### Changed
113
+ - **Next Command Hint redesigned**: Replaced plain `Next →` text with GSD-style "Next Up" visual block — divider lines, `▶ Next Up` header, phase name with description, command in backticks, and alternatives section. Format designed to trigger Claude Code's prompt suggestion engine, making the next command appear as ghost text in the user's input field
114
+
115
+ ## [2.24.6] - 2026-02-18
116
+
117
+ ### Added
118
+ - **Auto-update on session start**: SessionStart hook now automatically installs new GSD-T versions when detected — runs `npm install -g` + `gsd-t update-all`. Falls back to manual instructions if auto-update fails
119
+ - **Changelog link in all version messages**: All three output modes (`[GSD-T AUTO-UPDATE]`, `[GSD-T UPDATE]`, `[GSD-T]`) now include the changelog URL
120
+ - **Update check installer**: `bin/gsd-t.js` now deploys the update check script and configures the SessionStart hook automatically during install, with auto-fix for incorrect matchers
121
+
122
+ ### Fixed
123
+ - **SessionStart hook matcher**: Changed from `"startup"` to `""` (empty) to match all session types including compact/resumed sessions
124
+
125
+ ## [2.24.5] - 2026-02-18
126
+
127
+ ### Fixed
128
+ - **Dead code removed**: `PKG_EXAMPLES` constant in `bin/gsd-t.js` and dead imports (`writeTemplateFile`, `showStatusVersion`) in `test/cli-quality.test.js` (TD-057, TD-058)
129
+ - **summarize() case fallthrough**: Combined identical `Read`/`Edit`/`Write` cases using switch fallthrough, saving 4 lines (TD-056)
130
+ - **checkForUpdates() condition**: Simplified redundant `!cached && isStale` to `if (!cached) ... else if (stale)` (TD-061)
131
+ - **Notification title scrubbing**: Applied `scrubSecrets()` to `h.title` in heartbeat notification handler (TD-063)
132
+ - **SEC-N16 note corrected**: Updated informational note during scan #5 (TD-062)
133
+ - **Wave integrity check contract**: Updated `wave-phase-sequence.md` to match actual implementation — checks Status, Milestone name, Domains table (not version) (TD-064)
134
+ - **Duplicate format contract**: Deleted `file-format-contract.md` — `backlog-file-formats.md` is authoritative (TD-065)
135
+
136
+ ### Added
137
+ - 9 new tests: 3 `readSettingsJson()` tests in `cli-quality.test.js`, 6 `shortPath()` tests in `security.test.js` (TD-059, TD-060)
138
+ - Total tests: 125 (was 116)
139
+
140
+ ## [2.24.4] - 2026-02-18
141
+
142
+ ### Fixed
143
+ - **progress.md status**: Now uses contract-recognized values (READY between milestones, not ACTIVE)
144
+ - **CLAUDE.md version**: Removed hardcoded version — references `package.json` directly to prevent recurring drift (TD-048)
145
+ - **CHANGELOG.md**: Added missing entries for v2.23.1 through v2.24.3 covering milestones 3-7 (TD-045)
146
+ - **Orphaned domains**: Deleted stale `cli-quality/` and `cmd-cleanup/` directories from previous milestones (TD-046)
147
+ - **Git line endings**: Applied `git add --renormalize .` to enforce LF across all tracked files (TD-049)
148
+ - **Notification scrubbing**: Applied `scrubSecrets()` to heartbeat notification messages (TD-052)
149
+
150
+ ### Changed
151
+ - **Contracts synced**: `progress-file-format.md` enriched with milestone table + optional fields. `wave-phase-sequence.md` updated with integrity check (M7) and security considerations (M5). `command-interface-contract.md` renamed to `backlog-command-interface.md`. `integration-points.md` rewritten to reflect current state (TD-047, TD-053, TD-054, TD-055)
152
+ - **readSettingsJson()**: Extracted helper to deduplicate 3 `JSON.parse(readFileSync)` call sites in CLI (TD-050)
153
+ - **prepublishOnly**: Added `npm test` gate before `npm publish` (TD-051)
154
+ - **TD-029 (TOCTOU)**: Formally accepted as risk with 5-point rationale — single-threaded Node.js, user-owned dirs, Windows symlink requires admin
155
+
156
+ ## [2.24.3] - 2026-02-19
157
+
158
+ ### Changed
159
+ - **Command file cleanup**: 85 fractional step numbers renumbered to integers across 17 command files. Autonomy Behavior sections added to `gsd-t-discuss` and `gsd-t-impact`. QA agent hardened with file-path boundary constraints, multi-framework test detection, and Document Ripple section. Wave integrity check validates progress.md fields before starting. Structured 3-condition discuss-skip heuristic. Consistent "QA failure blocks" language across all 10 QA-spawning commands
160
+
161
+ ### Fixed
162
+ - 8 tech debt items resolved: TD-030, TD-031, TD-036, TD-037, TD-038, TD-039, TD-040, TD-041
163
+
164
+ ## [2.24.2] - 2026-02-19
165
+
166
+ ### Changed
167
+ - **CLI quality improvement**: All 86 functions across `bin/gsd-t.js` (80) and `scripts/gsd-t-heartbeat.js` (6) are now <= 30 lines. 3 code duplication patterns resolved (`readProjectDeps`, `writeTemplateFile`, `readPyContent` extracted). `buildEvent()` refactored to handler map pattern. `checkForUpdates` inline JS extracted to `scripts/gsd-t-fetch-version.js`. `doUpdateAll` has per-project error isolation
168
+
169
+ ### Added
170
+ - `.gitattributes` and `.editorconfig` for consistent file formatting
171
+ - 22 new tests in `test/cli-quality.test.js` (buildEvent, readProjectDeps, readPyContent, insertGuardSection, readUpdateCache, addHeartbeatHook)
172
+
173
+ ### Fixed
174
+ - Heartbeat cleanup now only runs on SessionStart (not every event)
175
+ - 7 tech debt items resolved: TD-017, TD-021, TD-024, TD-025, TD-032, TD-033, TD-034
176
+
177
+ ## [2.24.1] - 2026-02-18
178
+
179
+ ### Added
180
+ - **Security hardening**: `scrubSecrets()` and `scrubUrl()` in heartbeat script scrub sensitive data (passwords, tokens, API keys, bearer tokens) before logging. 30 new security tests in `test/security.test.js`
181
+ - `hasSymlinkInPath()` validates parent directories for symlink attacks
182
+ - HTTP response accumulation bounded to 1MB in both fetch paths
183
+ - Security Considerations section in `gsd-t-wave.md` documenting `bypassPermissions` implications
184
+
185
+ ### Fixed
186
+ - `npm-update-check.js` validates cache path within `~/.claude/` and checks for symlinks before writing
187
+ - 6 tech debt items resolved: TD-019, TD-020, TD-026, TD-027, TD-028, TD-035
188
+
189
+ ## [2.24.0] - 2026-02-18
190
+
191
+ ### Added
192
+ - **Testing foundation**: 64 automated tests in 2 test files (`test/helpers.test.js`: 27 tests, `test/filesystem.test.js`: 37 tests) using Node.js built-in test runner (`node --test`). Zero external test dependencies
193
+ - `module.exports` added to `bin/gsd-t.js` for 20 testable functions with `require.main` guard
194
+ - CLI subcommand tests (--version, help, status, doctor)
195
+ - Helper function tests (validateProjectName, applyTokens, normalizeEol, validateVersion, isNewerVersion)
196
+ - Filesystem tests (isSymlink, ensureDir, validateProjectPath, copyFile, hasPlaywright, hasSwagger, hasApi)
197
+ - Command listing tests (getCommandFiles, getGsdtCommands, getUtilityCommands with count validation)
198
+
199
+ ### Fixed
200
+ - Tech debt item TD-003 (no test coverage) resolved
201
+
202
+ ## [2.23.1] - 2026-02-18
203
+
204
+ ### Fixed
205
+ - **Count fix**: All command count references updated to 43/39/4 across CLAUDE.md, README.md, package.json, and docs (TD-022)
206
+ - QA agent contract now includes test-sync phase with "During Test-Sync" section and updated output table (TD-042)
207
+ - Orphaned domain files from previous milestones archived to `.gsd-t/milestones/` (TD-043)
208
+
209
+ ## [2.23.0] - 2026-02-17
210
+
211
+ ### Changed
212
+ - **Wave orchestrator rewrite**: `gsd-t-wave` now spawns an independent agent for each phase instead of executing all phases inline. Each phase agent gets a fresh context window (~200K tokens), eliminating cross-phase context accumulation and preventing mid-wave compaction. The orchestrator stays lightweight (~30KB), reading only progress.md between phases. Phase sequence is unchanged — only the execution model changed. Estimated 75-85% reduction in peak context usage during waves
213
+
214
+ ## [2.22.0] - 2026-02-17
215
+
216
+ ### Added
217
+ - **gsd-t-qa**: New QA Agent command — dedicated teammate for test generation, execution, and gap reporting. Spawned automatically by 10 GSD-T phase commands
218
+ - **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)
219
+ - **Contract-to-test mapping rules**: API contracts → Playwright API tests, Schema contracts → constraint tests, Component contracts → E2E tests
220
+ - **QA Agent (Mandatory) section**: Added to global CLAUDE.md template QA failure blocks phase completion
221
+
222
+ ## [2.21.1] - 2026-02-18
223
+
224
+ ### Fixed
225
+ - **PR #7 — Fix 12 scan items**: Security symlink validation gaps, contract/doc alignment, scope template hardening, heartbeat crash guard, progress template field ordering
226
+ - **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`)
227
+
228
+ ## [2.21.0] - 2026-02-17
229
+
230
+ ### Added
231
+ - **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
232
+
233
+ ## [2.20.7] - 2026-02-17
234
+
235
+ ### Added
236
+ - **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
237
+
238
+ ## [2.20.6] - 2026-02-16
239
+
240
+ ### Fixed
241
+ - Stale command/template counts in project CLAUDE.md (25→41 commands, 7→9 templates, v2.0.0→v2.20.x)
242
+ - Duplicate step numbering in `gsd-t-execute.md` (two step 10s)
243
+ - Windows CRLF/LF comparison causing false "changed" detection in CLI update
244
+
245
+ ### Added
246
+ - Document Ripple sections to `gsd-t-execute`, `gsd-t-scan`, `gsd-t-test-sync`, `gsd-t-verify`
247
+ - Heartbeat auto-cleanup: files older than 7 days are automatically removed
248
+ - Error handling wrapping around file operations in CLI (copy, unlink, write)
249
+ - `applyTokens()` and `normalizeEol()` helpers to reduce duplication
250
+ - Extracted `updateProjectClaudeMd()`, `createProjectChangelog()`, `checkProjectHealth()` from `doUpdateAll()`
251
+
252
+ ## [2.20.5] - 2026-02-16
253
+
254
+ ### Added
255
+ - **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)
256
+
257
+ ## [2.20.4] - 2026-02-16
258
+
259
+ ### Changed
260
+ - **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
261
+
262
+ ## [2.20.3] - 2026-02-16
263
+
264
+ ### Added
265
+ - **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
266
+
267
+ ## [2.20.2] - 2026-02-16
268
+
269
+ ### Added
270
+ - **CLI health checks**: `update-all` and `doctor` now check all projects for missing Playwright and Swagger/OpenAPI
271
+ - Smart API detection: scans `package.json`, `requirements.txt`, `pyproject.toml` for API frameworks (Express, Fastify, Hono, Django, FastAPI, etc.)
272
+ - Swagger detection: checks for spec files (`openapi.json/yaml`, `swagger.json/yaml`) and swagger packages in dependencies
273
+ - Health summary in `update-all` shows counts of missing Playwright and Swagger across all registered projects
274
+
275
+ ## [2.20.1] - 2026-02-16
276
+
277
+ ### Added
278
+ - **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
279
+ - Pre-Commit Gate now checks for Swagger spec updates on any API endpoint change
280
+
281
+ ## [2.20.0] - 2026-02-16
282
+
283
+ ### Added
284
+ - **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
285
+ - **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"
286
+
287
+ ## [2.19.1] - 2026-02-16
288
+
289
+ ### Changed
290
+ - **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."
291
+
292
+ ## [2.19.0] - 2026-02-16
293
+
294
+ ### Changed
295
+ - **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
296
+ - **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
297
+ - **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
298
+
299
+ ## [2.18.2] - 2026-02-16
300
+
301
+ ### Added
302
+ - Gap Analysis Gate in `gsd-t-complete-milestone` — mandatory requirements verification before archiving
303
+ - Self-correction loop: auto-fixes gaps, re-verifies, re-analyzes (up to 2 cycles), stops if unresolvable
304
+ - Explicit Playwright E2E test execution in milestone test verification step
305
+
306
+ ## [2.18.1] - 2026-02-16
307
+
308
+ ### Added
309
+ - Auto-Init Guard — GSD-T workflow commands automatically run `gsd-t-init` if any init files are missing, then continue with the original command
310
+ - `gsd-t-init` copies `~/.claude/settings.local` → `.claude/settings.local.json` during project initialization
311
+ - 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`
312
+
313
+ ## [2.18.0] - 2026-02-16
314
+
315
+ ### Added
316
+ - Heartbeat system — real-time event streaming from Claude Code sessions via async hooks
317
+ - `scripts/gsd-t-heartbeat.js` — hook handler that writes JSONL events to `.gsd-t/heartbeat-{session_id}.jsonl`
318
+ - 9 Claude Code hooks: SessionStart, PostToolUse, SubagentStart, SubagentStop, TaskCompleted, TeammateIdle, Notification, Stop, SessionEnd
319
+ - Installer auto-configures heartbeat hooks in settings.json (all async, zero performance impact)
320
+ - Event types: session lifecycle, tool calls with file/command summaries, agent spawn/stop/idle, task completions
321
+
322
+ ## [2.17.0] - 2026-02-16
323
+
324
+ ### Added
325
+ - `/user:gsd-t-log` command — sync progress.md Decision Log with recent git activity by scanning commits since last logged entry
326
+ - Incremental updates (only new commits) and first-time full reconstruction from git history
327
+ - Total commands: 38 GSD-T + 3 utility = 41
328
+
329
+ ## [2.16.5] - 2026-02-16
330
+
331
+ ### Added
332
+ - `gsd-t-populate` now reconstructs Decision Log from git history parses all commits, generates timestamped entries, merges with existing log
333
+ - Pre-Commit Gate explicitly lists all 30 file-modifying commands that must log to progress.md
334
+
335
+ ### Changed
336
+ - Rebuilt GSD-T project Decision Log with full `YYYY-MM-DD HH:MM` timestamps from 54 git commits
337
+
338
+ ## [2.16.4] - 2026-02-16
339
+
340
+ ### Changed
341
+ - Smart router renamed from `/user:gsd-t` to `/user:gsd` — sorts first in autocomplete, shorter to type
342
+ - Pre-Commit Gate now requires timestamped progress.md entry (`YYYY-MM-DD HH:MM`) after every completed task, not just architectural decisions
343
+
344
+ ## [2.16.3] - 2026-02-16
345
+
346
+ ### Fixed
347
+ - Reverted smart router rename (`/gsd` back to `/gsd-t`)superseded by 2.16.4 which re-applies the rename
348
+
349
+ ## [2.16.2] - 2026-02-16
350
+
351
+ ### Changed
352
+ - Smart router renamed from `/user:gsd-t` to `/user:gsd` (reverted in 2.16.3)
353
+
354
+ ## [2.16.1] - 2026-02-16
355
+
356
+ ### Fixed
357
+ - `gsd-t-init-scan-setup` now pulls existing code from remote before scanning — prevents treating repos with existing code as greenfield
358
+
359
+ ## [2.16.0] - 2026-02-13
360
+
361
+ ### Changed
362
+ - 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
363
+ - Router shows runner-up command when confidence is close: `(also considered: gsd-t-{x} — Esc to switch)`
364
+ - New commands automatically participate in routing without updating a routing table
365
+
366
+ ### Added
367
+ - Backlog item B1: Agentic Workflow Architecture (future exploration when Claude Code agents mature)
368
+
369
+ ## [2.15.4] - 2026-02-13
370
+
371
+ ### Changed
372
+ - `gsd-t-gap-analysis` team scaling: one teammate per requirement (3–10), cap at 10 with even batching for 11+, solo for 1–2
373
+
374
+ ## [2.15.3] - 2026-02-13
375
+
376
+ ### Fixed
377
+ - `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
378
+
379
+ ## [2.15.2] - 2026-02-13
380
+
381
+ ### Changed
382
+ - `gsd-t-gap-analysis` team mode now handles flat requirement lists — chunks into batches of ~8–10 per teammate instead of requiring sections
383
+
384
+ ## [2.15.1] - 2026-02-13
385
+
386
+ ### Changed
387
+ - `gsd-t-gap-analysis` now uses agent team mode automatically — one teammate per requirement section for parallel scanning and classification, with solo fallback
388
+
389
+ ## [2.15.0] - 2026-02-13
390
+
391
+ ### Added
392
+ - `/user:gsd-t-gap-analysis` command — requirements gap analysis against existing codebase
393
+ - Parses spec into discrete numbered requirements, scans codebase, classifies each as implemented/partial/incorrect/not-implemented
394
+ - Evidence-based classification with file:line references for each requirement
395
+ - Severity levels: Critical (incorrect), High (partial), Medium (not implemented), Low (deferrable)
396
+ - Generates `.gsd-t/gap-analysis.md` with requirements breakdown, gap matrix, and summary stats
397
+ - Re-run support with diff against previous gap analysis (resolved, new, changed, unchanged)
398
+ - Optional merge of parsed requirements into `docs/requirements.md`
399
+ - Auto-groups gaps into recommended milestones/features/quick-fixes for promotion
400
+ - Autonomy-aware: Level 3 proceeds with flagged assumptions, Level 1-2 pauses for clarification
401
+ - Total commands: 37 GSD-T + 3 utility = 40
402
+
403
+ ## [2.14.2] - 2026-02-13
404
+
405
+ ### Changed
406
+ - Smart router (`/gsd-t`) now displays selected command as the first line of output (mandatory routing confirmation)
407
+
408
+ ## [2.14.1] - 2026-02-13
409
+
410
+ ### Changed
411
+ - Update Notices section in CLAUDE-global template now handles both `[GSD-T UPDATE]` (update available) and `[GSD-T]` (up to date) version banners
412
+ - Update command in notification changed from raw npm command to `/user:gsd-t-version-update-all`
413
+
414
+ ## [2.14.0] - 2026-02-12
415
+
416
+ ### Added
417
+ - `/user:gsd-t` smart router command — describe what you need in plain language, auto-routes to the correct GSD-T command
418
+ - Intent classification routes to: quick, feature, project, debug, scan, brainstorm, milestone, wave, status, resume, backlog-add, and more
419
+ - Total commands: 36 GSD-T + 3 utility = 39
420
+
421
+ ## [2.13.4] - 2026-02-12
422
+
423
+ ### Added
424
+ - Auto-invoked status column on all command tables in README and GSD-T-README (Manual / In wave)
425
+ - `[auto]` markers on wave-invoked commands in `gsd-t-help` main listing
426
+ - Section headers in `gsd-t-help` now show Manual or Auto label
427
+
428
+ ## [2.13.3] - 2026-02-12
429
+
430
+ ### Changed
431
+ - `gsd-t-init-scan-setup` now asks "Is {current folder} your project root?" before prompting for a folder name
432
+
433
+ ## [2.13.2] - 2026-02-12
434
+
435
+ ### Changed
436
+ - `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
437
+
438
+ ## [2.13.1] - 2026-02-12
439
+
440
+ ### Changed
441
+ - Update notification now includes changelog link (https://github.com/Tekyz-Inc/get-stuff-done-teams/blob/main/CHANGELOG.md)
442
+
443
+ ## [2.13.0] - 2026-02-12
444
+
445
+ ### Added
446
+ - `/user:gsd-t-init-scan-setup` slash command — full project onboarding combining git setup, init, scan, and setup in one command
447
+ - Prompts for GitHub repo URL if not already connected; skips if remote exists
448
+ - Total commands: 35 GSD-T + 3 utility = 38
449
+
450
+ ## [2.12.0] - 2026-02-12
451
+
452
+ ### Added
453
+ - `/user:gsd-t-version-update` slash command — update GSD-T to latest version from within Claude Code
454
+ - `/user:gsd-t-version-update-all` slash command — update GSD-T + all registered projects from within Claude Code
455
+ - Total commands: 34 GSD-T + 3 utility = 37
456
+
457
+ ## [2.11.6] - 2026-02-12
458
+
459
+ ### Changed
460
+ - Update notice now shown at both beginning and end of Claude's first response
461
+
462
+ ## [2.11.5] - 2026-02-12
463
+
464
+ ### Added
465
+ - SessionStart hook script (`~/.claude/scripts/gsd-t-update-check.js`) for automatic update notifications in Claude Code sessions
466
+ - "Update Notices" instruction in global CLAUDE.md template — Claude relays update notices to the user on first response
467
+
468
+ ## [2.11.4] - 2026-02-12
469
+
470
+ ### Fixed
471
+ - First-run update check now fetches synchronously when no cache exists notification shows immediately instead of requiring a second run
472
+
473
+ ## [2.11.3] - 2026-02-12
474
+
475
+ ### Changed
476
+ - Reduced update check cache duration from 24 hours to 1 hour — new releases are detected faster
477
+
478
+ ## [2.11.2] - 2026-02-12
479
+
480
+ ### Fixed
481
+ - CLI update check used `!==` instead of semver comparison — would show incorrect downgrade notices when cache had an older version
482
+ - Added `isNewerVersion()` helper for proper semver comparison in update notifications
483
+
484
+ ## [2.11.1] - 2026-02-12
485
+
486
+ ### Changed
487
+ - `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
488
+ - 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
489
+
490
+ ## [2.11.0] - 2026-02-12
491
+
492
+ ### Added
493
+ - 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
494
+ - Wave error recovery auto-remediates at Level 3 (up to 2 fix attempts before stopping)
495
+ - Discuss phase always pauses for user input regardless of autonomy level
496
+ - Autonomy levels documentation added to GSD-T-README Configuration section
497
+
498
+ ## [2.10.3] - 2026-02-11
499
+
500
+ ### Changed
501
+ - Default autonomy level changed from Level 2 (Standard) to Level 3 (Full Auto) across all templates and commands
502
+ - `gsd-t-init` now sets Level 3 in generated CLAUDE.md
503
+ - `gsd-t-setup` defaults to Level 3 when asking autonomy level
504
+
505
+ ## [2.10.2] - 2026-02-11
506
+
507
+ ### Added
508
+ - Version update check in `gsd-t-status` slash command — works inside Claude Code and ClaudeWebCLI sessions, not just the CLI binary
509
+
510
+ ### Fixed
511
+ - Normalized `repository.url` in package.json (`git+https://` prefix)
512
+
513
+ ## [2.10.1] - 2026-02-10
514
+
515
+ ### Added
516
+ - 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
517
+
518
+ ## [2.10.0] - 2026-02-10
519
+
520
+ ### Added
521
+ - `CHANGELOG.md` release notes document with full version history
522
+ - `changelog` CLI subcommand opens changelog in the browser (`gsd-t changelog`)
523
+ - Clickable version links in CLI output (OSC 8 hyperlinks to changelog)
524
+ - `checkin` command now auto-updates CHANGELOG.md on every version bump
525
+ - `update-all` now creates CHANGELOG.md for registered projects that don't have one
526
+
527
+ ## [2.9.0] - 2026-02-10
528
+
529
+ ### Added
530
+ - `gsd-t-setup` command — generates or restructures project CLAUDE.md by scanning codebase, detecting tech stack/conventions, and removing global duplicates
531
+
532
+ ## [2.8.1] - 2026-02-10
533
+
534
+ ### Added
535
+ - Workflow Preferences section in global and project CLAUDE.md templates (Research Policy, Phase Flow defaults with per-project override support)
536
+
537
+ ## [2.8.0] - 2026-02-10
538
+
539
+ ### Added
540
+ - Backlog management system: 7 new commands (`backlog-add`, `backlog-list`, `backlog-move`, `backlog-edit`, `backlog-remove`, `backlog-promote`, `backlog-settings`)
541
+ - 2 new templates (`backlog.md`, `backlog-settings.md`)
542
+ - Backlog initialization in `gsd-t-init` with auto-category derivation
543
+ - Backlog summary in `gsd-t-status` report
544
+ - Backlog section in `gsd-t-help`
545
+
546
+ ### Changed
547
+ - Updated `gsd-t-init`, `gsd-t-status`, `gsd-t-help`, CLAUDE-global template, README with backlog integration
548
+
549
+ ## [2.7.0] - 2026-02-09
550
+
551
+ ### Added
552
+ - `update-all` CLI command — updates global install + all registered project CLAUDE.md files
553
+ - `register` CLI command — manually register a project in the GSD-T project registry
554
+ - Auto-registration on `gsd-t init`
555
+ - Project registry at `~/.claude/.gsd-t-projects`
556
+
557
+ ## [2.6.0] - 2026-02-09
558
+
559
+ ### Added
560
+ - Destructive Action Guard mandatory safeguard requiring explicit user approval before destructive or structural changes (schema drops, architecture replacements, module removal)
561
+ - Guard enforced in global CLAUDE.md, project template, and all execution commands
562
+
563
+ ## [2.5.0] - 2026-02-09
564
+
565
+ ### Changed
566
+ - Audited all 27 command files — added Document Ripple and Test Verification steps to 15 commands that were missing them
567
+ - All code-modifying commands now enforce doc updates and test runs before completion
568
+
569
+ ## [2.4.0] - 2026-02-09
570
+
571
+ ### Added
572
+ - Automatic version bumping in `checkin` command — determines patch/minor/major from change type
573
+
574
+ ## [2.3.0] - 2026-02-09
575
+
576
+ ### Added
577
+ - Branch Guard — prevents commits on wrong branch by checking `Expected branch` in CLAUDE.md
578
+
579
+ ## [2.2.1] - 2026-02-09
580
+
581
+ ### Fixed
582
+ - `gsd-t-discuss` now stops for user review when manually invoked (was auto-continuing even in manual mode)
583
+
584
+ ## [2.2.0] - 2026-02-09
585
+
586
+ ### Added
587
+ - E2E test support in `test-sync`, `verify`, and `execute` commands
588
+
589
+ ## [2.1.0] - 2026-02-09
590
+
591
+ ### Added
592
+ - `gsd-t-populate` command — auto-populate living docs from existing codebase
593
+ - Semantic versioning system tracked in `progress.md`
594
+ - Auto-update README on version changes
595
+
596
+ ## [2.0.2] - 2026-02-07
597
+
598
+ ### Changed
599
+ - `gsd-t-init` now creates all 4 living document templates (`requirements.md`, `architecture.md`, `workflows.md`, `infrastructure.md`)
600
+ - `gsd-t-scan` cross-populates findings into living docs
601
+
602
+ ## [2.0.1] - 2026-02-07
603
+
604
+ ### Fixed
605
+ - Added `gsd-t-brainstorm` to all 4 reference files (README, GSD-T-README, CLAUDE-global, gsd-t-help)
606
+ - Fixed workflow diagram alignment
607
+
608
+ ## [2.0.0] - 2026-02-07
609
+
610
+ ### Added
611
+ - Renamed package to `@tekyzinc/gsd-t`
612
+ - `gsd-t-brainstorm` command — creative exploration, rethinking, and idea generation
613
+ - Initialized GSD-T state (`.gsd-t/` directory) on itself
614
+
615
+ ### Changed
616
+ - Complete framework rewrite from GSD to GSD-T (contract-driven development)
617
+ - npm package with CLI installer (`bin/gsd-t.js`)
618
+ - 6 CLI subcommands: install, update, init, status, doctor, uninstall
619
+
620
+ ## [1.0.0] - 2026-02-07
621
+
622
+ ### Added
623
+ - Initial GSD-T framework implementation
624
+ - Full milestone workflow: partition, discuss, plan, impact, execute, test-sync, integrate, verify, complete
625
+ - Agent Teams support for parallel execution
626
+ - Living documents system (requirements, architecture, workflows, infrastructure)