@tekyzinc/gsd-t 2.16.4 → 2.17.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
@@ -2,6 +2,22 @@
2
2
 
3
3
  All notable changes to GSD-T are documented here. Updated with each release.
4
4
 
5
+ ## [2.17.0] - 2026-02-16
6
+
7
+ ### Added
8
+ - `/user:gsd-t-log` command — sync progress.md Decision Log with recent git activity by scanning commits since last logged entry
9
+ - Incremental updates (only new commits) and first-time full reconstruction from git history
10
+ - Total commands: 38 GSD-T + 3 utility = 41
11
+
12
+ ## [2.16.5] - 2026-02-16
13
+
14
+ ### Added
15
+ - `gsd-t-populate` now reconstructs Decision Log from git history — parses all commits, generates timestamped entries, merges with existing log
16
+ - Pre-Commit Gate explicitly lists all 30 file-modifying commands that must log to progress.md
17
+
18
+ ### Changed
19
+ - Rebuilt GSD-T project Decision Log with full `YYYY-MM-DD HH:MM` timestamps from 54 git commits
20
+
5
21
  ## [2.16.4] - 2026-02-16
6
22
 
7
23
  ### Changed
package/README.md CHANGED
@@ -18,7 +18,7 @@ A methodology for reliable, parallelizable development using Claude Code with op
18
18
  npx @tekyzinc/gsd-t install
19
19
  ```
20
20
 
21
- This installs 37 GSD-T commands + 3 utility commands to `~/.claude/commands/` and the global CLAUDE.md to `~/.claude/CLAUDE.md`. Works on Windows, Mac, and Linux.
21
+ This installs 38 GSD-T commands + 3 utility commands to `~/.claude/commands/` and the global CLAUDE.md to `~/.claude/CLAUDE.md`. Works on Windows, Mac, and Linux.
22
22
 
23
23
  ### Start Using It
24
24
 
@@ -142,6 +142,7 @@ This will replace changed command files, back up your CLAUDE.md if customized, a
142
142
  | `/user:gsd-t-resume` | Restore context, continue | Manual |
143
143
  | `/user:gsd-t-quick` | Fast task with GSD-T guarantees | Manual |
144
144
  | `/user:gsd-t-debug` | Systematic debugging with state | Manual |
145
+ | `/user:gsd-t-log` | Sync progress Decision Log with recent git activity | Manual |
145
146
  | `/user:gsd-t-version-update` | Update GSD-T to latest version | Manual |
146
147
  | `/user:gsd-t-version-update-all` | Update GSD-T + all registered projects | Manual |
147
148
 
@@ -280,8 +281,8 @@ get-stuff-done-teams/
280
281
  ├── LICENSE
281
282
  ├── bin/
282
283
  │ └── gsd-t.js # CLI installer
283
- ├── commands/ # 40 slash commands
284
- │ ├── gsd-t-*.md # 37 GSD-T workflow commands
284
+ ├── commands/ # 41 slash commands
285
+ │ ├── gsd-t-*.md # 38 GSD-T workflow commands
285
286
  │ ├── branch.md # Git branch helper
286
287
  │ ├── checkin.md # Auto-version + commit/push helper
287
288
  │ └── Claude-md.md # Reload CLAUDE.md directives
@@ -52,6 +52,7 @@ UTILITIES Manual
52
52
  debug Systematic debugging with state
53
53
  promote-debt Convert techdebt items to milestones
54
54
  populate Auto-populate docs from existing codebase
55
+ log Sync progress Decision Log with recent git activity
55
56
  version-update Update GSD-T package to latest version
56
57
  version-update-all Update GSD-T package + all registered projects
57
58
 
@@ -295,6 +296,13 @@ Use these when user asks for help on a specific command:
295
296
  - **Updates**: `docs/requirements.md`, `docs/architecture.md`, `docs/workflows.md`, `docs/infrastructure.md`, `.gsd-t/progress.md`
296
297
  - **Use when**: You have an existing codebase and want to fill docs with real findings instead of placeholders
297
298
 
299
+ ### log
300
+ - **Summary**: Sync progress.md Decision Log with recent git activity
301
+ - **Auto-invoked**: No
302
+ - **Files**: `.gsd-t/progress.md`, git history
303
+ - **Use when**: Progress.md Decision Log is behind — catches up by scanning git commits since the last logged entry
304
+ - **Features**: Incremental updates, first-time full reconstruction from git history, groups same-day changes
305
+
298
306
  ### backlog-add
299
307
  - **Summary**: Capture a new backlog item with auto-categorization
300
308
  - **Auto-invoked**: No
@@ -0,0 +1,87 @@
1
+ # GSD-T: Log — Sync Progress Decision Log with Recent Activity
2
+
3
+ Update `.gsd-t/progress.md` Decision Log by scanning git history for commits not yet recorded. Works on any GSD-T project.
4
+
5
+ ## Step 1: Load State
6
+
7
+ Read:
8
+ 1. `.gsd-t/progress.md` — current Decision Log entries
9
+ 2. Note the **last entry's timestamp** — this is the cutoff; only commits after this time need processing
10
+
11
+ If `.gsd-t/progress.md` doesn't exist, inform user: "No GSD-T state found. Run `/user:gsd-t-init` first."
12
+
13
+ ## Step 2: Get Recent Commits
14
+
15
+ Run: `git log --reverse --format="%ai|%s" --after="{last entry date}"`
16
+
17
+ If no cutoff exists (empty Decision Log), get the full history:
18
+ `git log --reverse --format="%ai|%s"`
19
+
20
+ ## Step 3: Filter and Format
21
+
22
+ For each commit since the last logged entry:
23
+
24
+ 1. **Skip** merge commits, whitespace-only changes, and commits already in the Decision Log
25
+ 2. **Group** multiple commits on the same day that cover the same logical change into one entry
26
+ 3. **Format** each entry:
27
+ ```
28
+ - YYYY-MM-DD HH:MM: {commit summary} — {brief context}
29
+ ```
30
+ 4. If the commit message includes a version tag like `(vX.Y.Z)`, append it to the entry
31
+
32
+ ### What to include:
33
+ - Feature additions, bug fixes, refactors
34
+ - Config/dependency changes
35
+ - Documentation updates
36
+ - Version bumps and releases
37
+ - Any commit that modified documents, scripts, or code
38
+
39
+ ### What to exclude:
40
+ - Pure merge commits with no additional context
41
+ - Commits that only change whitespace or formatting
42
+ - Entries already in the Decision Log (check by date+content match)
43
+
44
+ ## Step 4: Append to Decision Log
45
+
46
+ Append the new entries chronologically at the end of the existing Decision Log section in `.gsd-t/progress.md`.
47
+
48
+ Do NOT modify or rewrite existing entries — only add new ones.
49
+
50
+ ## Step 5: Report
51
+
52
+ Show a summary:
53
+
54
+ ```
55
+ Progress Log Updated
56
+
57
+ Commits scanned: {N}
58
+ New entries added: {M}
59
+ Last entry: {date and summary of most recent entry}
60
+
61
+ Decision Log now has {total} entries covering {first date} to {last date}.
62
+ ```
63
+
64
+ If no new commits were found:
65
+ ```
66
+ Progress Log — already up to date
67
+
68
+ Last entry: {date and summary}
69
+ No new commits since last log entry.
70
+ ```
71
+
72
+ ## Step 6: First-Time Reconstruction
73
+
74
+ If the Decision Log is empty or has fewer than 3 entries and git history has 5+ commits, offer full reconstruction:
75
+
76
+ ```
77
+ The Decision Log appears sparse but this project has {N} commits.
78
+ Reconstructing full history from git...
79
+ ```
80
+
81
+ Then run the full reconstruction (same as the populate command's git history reconstruction):
82
+ 1. Parse all commits
83
+ 2. Generate timestamped entries
84
+ 3. Group by logical change
85
+ 4. Mark reconstructed entries: `(Entries before {date} reconstructed from git history)`
86
+
87
+ $ARGUMENTS
@@ -35,6 +35,36 @@ Scan this codebase and populate the GSD-T documentation. Analyze the actual code
35
35
  - Set status: VERIFIED
36
36
  - Log today session: "GSD-T documentation populated from existing codebase"
37
37
 
38
+ ## Reconstruct Decision Log from Git History
39
+
40
+ Rebuild the progress.md Decision Log from the project's commit history:
41
+
42
+ 1. **Read existing Decision Log entries** — note what's already recorded to avoid duplicates
43
+ 2. **Run `git log --reverse --format="%ai|%s"`** — get all commits with timestamps and messages
44
+ 3. **Filter meaningful commits** — skip merge commits, trivial whitespace/formatting-only commits
45
+ 4. **Generate entries** in the standard format:
46
+ ```
47
+ - YYYY-MM-DD HH:MM: {commit summary} — {brief context from commit message}
48
+ ```
49
+ 5. **Group by date** — if multiple commits on the same day cover the same logical change, combine them into one entry rather than listing each commit separately
50
+ 6. **Merge with existing entries** — insert reconstructed entries chronologically, keeping any hand-written entries that already exist (they may have richer context than commit messages)
51
+ 7. **Mark the reconstruction** — add a note at the top of the reconstructed section:
52
+ ```
53
+ (Entries before {date} reconstructed from git history)
54
+ ```
55
+
56
+ ### What to include:
57
+ - Feature additions, bug fixes, refactors
58
+ - Config/dependency changes
59
+ - Documentation updates
60
+ - Version bumps and releases
61
+ - Any commit that modified documents, scripts, or code
62
+
63
+ ### What to exclude:
64
+ - Pure merge commits with no additional context
65
+ - Commits that only change whitespace or formatting
66
+ - Duplicate entries already in the Decision Log
67
+
38
68
  ---
39
69
 
40
70
  ## Document Ripple
@@ -111,6 +111,7 @@ GSD-T reads all state files and tells you exactly where you left off.
111
111
  | `/user:gsd-t-resume` | Restore context, continue | Manual |
112
112
  | `/user:gsd-t-quick` | Fast task with GSD-T guarantees | Manual |
113
113
  | `/user:gsd-t-debug` | Systematic debugging with state | Manual |
114
+ | `/user:gsd-t-log` | Sync progress Decision Log with recent git activity | Manual |
114
115
  | `/user:gsd-t-version-update` | Update GSD-T to latest version | Manual |
115
116
  | `/user:gsd-t-version-update-all` | Update GSD-T + all registered projects | Manual |
116
117
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tekyzinc/gsd-t",
3
- "version": "2.16.4",
4
- "description": "GSD-T: Contract-Driven Development for Claude Code — 40 slash commands with backlog management, impact analysis, test sync, and milestone archival",
3
+ "version": "2.17.0",
4
+ "description": "GSD-T: Contract-Driven Development for Claude Code — 41 slash commands with backlog management, impact analysis, test sync, and milestone archival",
5
5
  "author": "Tekyz, Inc.",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -54,6 +54,7 @@ PROJECT or FEATURE or SCAN
54
54
  | `/user:gsd-t-debug` | Systematic debugging |
55
55
  | `/user:gsd-t-quick` | Fast task, respects contracts |
56
56
  | `/user:gsd-t-populate` | Auto-populate docs from existing codebase |
57
+ | `/user:gsd-t-log` | Sync progress Decision Log with recent git activity |
57
58
  | `/user:gsd-t-resume` | Restore context, continue |
58
59
  | `/user:gsd-t-version-update` | Update GSD-T to latest version |
59
60
  | `/user:gsd-t-version-update-all` | Update GSD-T + all registered projects |
@@ -205,11 +206,16 @@ BEFORE EVERY COMMIT:
205
206
  │ YES → Update docs/requirements.md (mark complete or revise)
206
207
  ├── Did I add/change/remove a component or change data flow?
207
208
  │ YES → Update docs/architecture.md
208
- ├── Did I complete a task or make a meaningful change?
209
+ ├── Did I modify any document, script, or code file?
209
210
  │ YES → Add timestamped entry to .gsd-t/progress.md Decision Log
210
211
  │ Format: `- YYYY-MM-DD HH:MM: {what was done} — {brief context or result}`
212
+ │ This includes ALL file-modifying activities:
213
+ │ project, feature, scan, gap-analysis, milestone, partition, discuss,
214
+ │ plan, impact, execute, test-sync, integrate, verify, complete-milestone,
215
+ │ wave, quick, debug, promote-debt, populate, setup, init, init-scan-setup,
216
+ │ backlog-add/edit/move/remove/promote/settings, and any manual code changes
211
217
  ├── Did I make an architectural or design decision?
212
- │ YES → Add to .gsd-t/progress.md Decision Log (with decision rationale)
218
+ │ YES → Also include decision rationale in the progress.md entry
213
219
  ├── Did I discover or fix tech debt?
214
220
  │ YES → Update .gsd-t/techdebt.md
215
221
  ├── Did I establish a pattern future work should follow?