@tekyzinc/gsd-t 2.51.10 → 2.53.11

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.
Files changed (100) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +379 -373
  3. package/bin/component-registry.js +250 -0
  4. package/bin/graph-cgc.js +510 -510
  5. package/bin/graph-indexer.js +147 -147
  6. package/bin/graph-overlay.js +195 -195
  7. package/bin/graph-parsers.js +327 -327
  8. package/bin/graph-query.js +453 -452
  9. package/bin/graph-store.js +154 -154
  10. package/bin/qa-calibrator.js +194 -0
  11. package/bin/scan-data-collector.js +153 -153
  12. package/bin/scan-diagrams-generators.js +187 -187
  13. package/bin/scan-diagrams.js +79 -79
  14. package/bin/scan-renderer.js +92 -92
  15. package/bin/scan-report-sections.js +121 -121
  16. package/bin/scan-report.js +184 -184
  17. package/bin/scan-schema-parsers.js +199 -199
  18. package/bin/scan-schema.js +103 -103
  19. package/bin/token-budget.js +246 -0
  20. package/commands/Claude-md.md +10 -10
  21. package/commands/branch.md +15 -15
  22. package/commands/checkin.md +45 -45
  23. package/commands/global-change.md +209 -209
  24. package/commands/gsd-t-audit.md +199 -0
  25. package/commands/gsd-t-backlog-add.md +94 -94
  26. package/commands/gsd-t-backlog-edit.md +111 -111
  27. package/commands/gsd-t-backlog-list.md +63 -63
  28. package/commands/gsd-t-backlog-move.md +94 -94
  29. package/commands/gsd-t-backlog-promote.md +123 -123
  30. package/commands/gsd-t-backlog-remove.md +86 -86
  31. package/commands/gsd-t-backlog-settings.md +158 -158
  32. package/commands/gsd-t-complete-milestone.md +528 -515
  33. package/commands/gsd-t-debug.md +506 -482
  34. package/commands/gsd-t-discuss.md +174 -174
  35. package/commands/gsd-t-execute.md +758 -715
  36. package/commands/gsd-t-feature.md +276 -276
  37. package/commands/gsd-t-health.md +142 -142
  38. package/commands/gsd-t-help.md +465 -457
  39. package/commands/gsd-t-impact.md +302 -302
  40. package/commands/gsd-t-init-scan-setup.md +1 -5
  41. package/commands/gsd-t-init.md +314 -280
  42. package/commands/gsd-t-integrate.md +365 -333
  43. package/commands/gsd-t-milestone.md +87 -87
  44. package/commands/gsd-t-partition.md +442 -361
  45. package/commands/gsd-t-pause.md +82 -82
  46. package/commands/gsd-t-plan.md +345 -344
  47. package/commands/gsd-t-populate.md +111 -111
  48. package/commands/gsd-t-prd.md +326 -326
  49. package/commands/gsd-t-project.md +211 -211
  50. package/commands/gsd-t-promote-debt.md +123 -123
  51. package/commands/gsd-t-prompt.md +137 -137
  52. package/commands/gsd-t-qa.md +266 -266
  53. package/commands/gsd-t-quick.md +357 -315
  54. package/commands/gsd-t-reflect.md +134 -134
  55. package/commands/gsd-t-resume.md +72 -72
  56. package/commands/gsd-t-scan.md +615 -615
  57. package/commands/gsd-t-setup.md +76 -0
  58. package/commands/gsd-t-status.md +192 -166
  59. package/commands/gsd-t-test-sync.md +381 -381
  60. package/commands/gsd-t-triage-and-merge.md +171 -171
  61. package/commands/gsd-t-verify.md +382 -382
  62. package/commands/gsd-t-visualize.md +118 -118
  63. package/commands/gsd-t-wave.md +401 -378
  64. package/docs/GSD-T-README.md +425 -424
  65. package/docs/architecture.md +385 -369
  66. package/docs/harness-design-analysis.md +371 -0
  67. package/docs/infrastructure.md +205 -205
  68. package/docs/prd-graph-engine.md +398 -398
  69. package/docs/prd-gsd2-hybrid.md +559 -559
  70. package/docs/prd-harness-evolution.md +583 -0
  71. package/docs/requirements.md +14 -0
  72. package/docs/workflows.md +226 -226
  73. package/examples/.gsd-t/domains/example-domain/scope.md +13 -13
  74. package/package.json +40 -40
  75. package/scripts/gsd-t-auto-route.js +39 -39
  76. package/scripts/gsd-t-dashboard-mockup.html +1143 -1143
  77. package/scripts/gsd-t-dashboard-server.js +171 -171
  78. package/scripts/gsd-t-dashboard.html +262 -262
  79. package/scripts/gsd-t-event-writer.js +128 -128
  80. package/scripts/gsd-t-statusline.js +94 -94
  81. package/scripts/gsd-t-tools.js +175 -175
  82. package/templates/CLAUDE-global.md +638 -634
  83. package/templates/CLAUDE-project.md +24 -0
  84. package/templates/backlog-settings.md +18 -18
  85. package/templates/backlog.md +1 -1
  86. package/templates/progress.md +40 -40
  87. package/templates/shared-services-contract.md +60 -60
  88. package/templates/stacks/desktop.ini +2 -2
  89. package/bin/desktop.ini +0 -2
  90. package/commands/desktop.ini +0 -2
  91. package/docs/ci-examples/desktop.ini +0 -2
  92. package/docs/desktop.ini +0 -2
  93. package/examples/.gsd-t/contracts/desktop.ini +0 -2
  94. package/examples/.gsd-t/desktop.ini +0 -2
  95. package/examples/.gsd-t/domains/desktop.ini +0 -2
  96. package/examples/.gsd-t/domains/example-domain/desktop.ini +0 -2
  97. package/examples/desktop.ini +0 -2
  98. package/examples/rules/desktop.ini +0 -2
  99. package/scripts/desktop.ini +0 -2
  100. package/templates/desktop.ini +0 -2
@@ -1,94 +1,94 @@
1
- # GSD-T: Backlog Move — Reorder Items by Position
2
-
3
- You are reordering a backlog item from one position to another. Position in the backlog represents priority — item 1 is highest priority.
4
-
5
- ## Step 1: Read Backlog
6
-
7
- Read `.gsd-t/backlog.md` and parse all entries.
8
-
9
- Each entry follows this format:
10
- ```
11
- ## {position}. {title}
12
- - **Type:** {type} | **App:** {app} | **Category:** {category}
13
- - **Added:** {YYYY-MM-DD}
14
- - {description}
15
- ```
16
-
17
- Count the total number of entries. If the backlog is empty (no entries), inform the user:
18
- "Backlog is empty. Nothing to move."
19
- Stop here.
20
-
21
- ## Step 2: Parse Arguments
22
-
23
- Extract from $ARGUMENTS:
24
- - `<from-position>` — the current position number of the item to move
25
- - `<to-position>` — the target position number to move it to
26
-
27
- Both arguments are required. If either is missing, show usage:
28
- "Usage: /gsd-t-backlog-move <from-position> <to-position>"
29
- "Example: /gsd-t-backlog-move 5 2 — moves item 5 to position 2"
30
- Stop here.
31
-
32
- ## Step 3: Validate Positions
33
-
34
- Check that:
35
- 1. Both `from-position` and `to-position` are positive integers
36
- 2. Both positions exist in the backlog (between 1 and total entry count)
37
- 3. `from-position` and `to-position` are different
38
-
39
- If any check fails, inform the user:
40
- - Invalid number: "Position must be a positive integer. Got: {value}"
41
- - Out of range: "Position {value} is out of range. Backlog has {count} items (valid: 1-{count})."
42
- - Same position: "From and to positions are the same. Nothing to move."
43
- Stop here.
44
-
45
- ## Step 4: Move Item
46
-
47
- 1. Remove the entry at `from-position` from the list
48
- 2. Insert it at `to-position` in the list
49
- 3. This shifts other entries up or down accordingly
50
-
51
- ## Step 5: Renumber and Rewrite
52
-
53
- 1. Renumber ALL entries sequentially starting from 1 (update the `## {N}. {title}` heading for each)
54
- 2. Rewrite `.gsd-t/backlog.md` with the reordered entries
55
- 3. Preserve the `# Backlog` heading at the top
56
- 4. Preserve all entry content (metadata, date, description) — only the position number in the heading changes
57
-
58
- ## Step 6: Confirm
59
-
60
- Show the user what happened:
61
- ```
62
- Moved: "{title}" from position {from} to position {to}
63
-
64
- Updated backlog order (top 5):
65
- 1. {title}
66
- 2. {title}
67
- 3. {title}
68
- 4. {title}
69
- 5. {title}
70
- ```
71
-
72
- If the backlog has fewer than 5 items, show all of them.
73
-
74
- ## Step 7: Document Ripple
75
-
76
- If `.gsd-t/progress.md` exists, log the move in the Decision Log:
77
- - Date: today's date
78
- - Entry: "Backlog reorder: moved '{title}' from position {from} to {to}"
79
-
80
- ## Step 8: Test Verification
81
-
82
- Verify the rewritten `.gsd-t/backlog.md` is well-formed:
83
- 1. Re-read the file
84
- 2. Confirm all entries parse correctly (heading, metadata, date, description)
85
- 3. Confirm positions are sequential (1, 2, 3... with no gaps or duplicates)
86
- 4. Confirm total entry count is unchanged from before the move
87
-
88
- If any check fails, report the issue and attempt to fix (up to 2 attempts).
89
-
90
- $ARGUMENTS
91
-
92
- ## Auto-Clear
93
-
94
- All work is committed to project files. Execute `/clear` to free the context window for the next command.
1
+ # GSD-T: Backlog Move — Reorder Items by Position
2
+
3
+ You are reordering a backlog item from one position to another. Position in the backlog represents priority — item 1 is highest priority.
4
+
5
+ ## Step 1: Read Backlog
6
+
7
+ Read `.gsd-t/backlog.md` and parse all entries.
8
+
9
+ Each entry follows this format:
10
+ ```
11
+ ## {position}. {title}
12
+ - **Type:** {type} | **App:** {app} | **Category:** {category}
13
+ - **Added:** {YYYY-MM-DD}
14
+ - {description}
15
+ ```
16
+
17
+ Count the total number of entries. If the backlog is empty (no entries), inform the user:
18
+ "Backlog is empty. Nothing to move."
19
+ Stop here.
20
+
21
+ ## Step 2: Parse Arguments
22
+
23
+ Extract from $ARGUMENTS:
24
+ - `<from-position>` — the current position number of the item to move
25
+ - `<to-position>` — the target position number to move it to
26
+
27
+ Both arguments are required. If either is missing, show usage:
28
+ "Usage: /gsd-t-backlog-move <from-position> <to-position>"
29
+ "Example: /gsd-t-backlog-move 5 2 — moves item 5 to position 2"
30
+ Stop here.
31
+
32
+ ## Step 3: Validate Positions
33
+
34
+ Check that:
35
+ 1. Both `from-position` and `to-position` are positive integers
36
+ 2. Both positions exist in the backlog (between 1 and total entry count)
37
+ 3. `from-position` and `to-position` are different
38
+
39
+ If any check fails, inform the user:
40
+ - Invalid number: "Position must be a positive integer. Got: {value}"
41
+ - Out of range: "Position {value} is out of range. Backlog has {count} items (valid: 1-{count})."
42
+ - Same position: "From and to positions are the same. Nothing to move."
43
+ Stop here.
44
+
45
+ ## Step 4: Move Item
46
+
47
+ 1. Remove the entry at `from-position` from the list
48
+ 2. Insert it at `to-position` in the list
49
+ 3. This shifts other entries up or down accordingly
50
+
51
+ ## Step 5: Renumber and Rewrite
52
+
53
+ 1. Renumber ALL entries sequentially starting from 1 (update the `## {N}. {title}` heading for each)
54
+ 2. Rewrite `.gsd-t/backlog.md` with the reordered entries
55
+ 3. Preserve the `# Backlog` heading at the top
56
+ 4. Preserve all entry content (metadata, date, description) — only the position number in the heading changes
57
+
58
+ ## Step 6: Confirm
59
+
60
+ Show the user what happened:
61
+ ```
62
+ Moved: "{title}" from position {from} to position {to}
63
+
64
+ Updated backlog order (top 5):
65
+ 1. {title}
66
+ 2. {title}
67
+ 3. {title}
68
+ 4. {title}
69
+ 5. {title}
70
+ ```
71
+
72
+ If the backlog has fewer than 5 items, show all of them.
73
+
74
+ ## Step 7: Document Ripple
75
+
76
+ If `.gsd-t/progress.md` exists, log the move in the Decision Log:
77
+ - Date: today's date
78
+ - Entry: "Backlog reorder: moved '{title}' from position {from} to {to}"
79
+
80
+ ## Step 8: Test Verification
81
+
82
+ Verify the rewritten `.gsd-t/backlog.md` is well-formed:
83
+ 1. Re-read the file
84
+ 2. Confirm all entries parse correctly (heading, metadata, date, description)
85
+ 3. Confirm positions are sequential (1, 2, 3... with no gaps or duplicates)
86
+ 4. Confirm total entry count is unchanged from before the move
87
+
88
+ If any check fails, report the issue and attempt to fix (up to 2 attempts).
89
+
90
+ $ARGUMENTS
91
+
92
+ ## Auto-Clear
93
+
94
+ All work is committed to project files. Execute `/clear` to free the context window for the next command.
@@ -1,123 +1,123 @@
1
- # GSD-T: Backlog Promote — Refine, Classify, and Launch GSD-T Workflow
2
-
3
- You are promoting a backlog item into the GSD-T workflow. This is the bridge from a captured idea to actionable work: refine the description, classify the scope, remove it from the backlog, and hand off to the appropriate GSD-T command.
4
-
5
- ## Step 1: Load Context
6
-
7
- Read:
8
- 1. `CLAUDE.md`
9
- 2. `.gsd-t/progress.md` (if exists)
10
- 3. `.gsd-t/backlog.md` — the backlog file
11
-
12
- Parse $ARGUMENTS to extract:
13
- - `<position>` — the entry number to promote
14
-
15
- If no position is provided, show an error:
16
- "Usage: `/user:gsd-t-backlog-promote <position>`"
17
-
18
- ## Step 2: Find and Display Entry
19
-
20
- Find the entry at the specified position in `.gsd-t/backlog.md`.
21
-
22
- If the position doesn't exist, show an error:
23
- "No backlog entry at position {position}. Run `/user:gsd-t-backlog-list` to see available entries."
24
-
25
- Display the entry to the user:
26
- ```
27
- Promoting backlog item #{position}:
28
-
29
- {title}
30
- Type: {type} | App: {app} | Category: {category}
31
- Added: {date}
32
- {description}
33
- ```
34
-
35
- ## Step 3: Refine Description
36
-
37
- The backlog entry has a 1-2 sentence description. Expand it into full context:
38
-
39
- 1. Read `CLAUDE.md` and relevant docs (`docs/requirements.md`, `docs/architecture.md`, `docs/workflows.md`) to understand the project context
40
- 2. Read `.gsd-t/contracts/` to understand existing domain boundaries and interfaces
41
- 3. Build a comprehensive refined description that includes:
42
- - **What** needs to be done (concrete deliverables)
43
- - **Why** it matters (business or technical motivation)
44
- - **Where** in the codebase it applies (affected files, modules, or domains)
45
- - **Constraints** or considerations (existing patterns to follow, things to avoid)
46
-
47
- If the original description is ambiguous or could be interpreted multiple ways, ask the user clarifying questions before proceeding.
48
-
49
- Present the refined description to the user for confirmation:
50
- ```
51
- Refined description:
52
- {refined description}
53
-
54
- Does this capture the intent? (Adjust if needed, or confirm to proceed)
55
- ```
56
-
57
- ## Step 4: Classify
58
-
59
- Based on the refined description, determine which GSD-T workflow to create:
60
-
61
- | Classification | Criteria | Triggers |
62
- |---------------|----------|----------|
63
- | **Milestone** | Multi-file, multi-phase work that needs partitioning (complex feature, large refactor) | `gsd-t-milestone` |
64
- | **Quick** | Small scope, obvious implementation, can be done in one focused session | `gsd-t-quick` |
65
- | **Debug** | Specific broken behavior that needs diagnosis and fix | `gsd-t-debug` |
66
- | **Feature** | Significant new capability that needs impact assessment first | `gsd-t-feature` |
67
-
68
- Present the classification to the user with rationale:
69
- ```
70
- Classification: {classification}
71
-
72
- Rationale: {why this classification fits}
73
-
74
- If you disagree, tell me the correct classification and I'll adjust.
75
- ```
76
-
77
- Wait for user confirmation or override before proceeding.
78
-
79
- ## Step 5: Remove from Backlog
80
-
81
- After classification is confirmed:
82
-
83
- 1. Remove the entry at position {position} from `.gsd-t/backlog.md`
84
- 2. Renumber all remaining entries sequentially (1, 2, 3...)
85
- 3. Preserve all other entry content exactly as-is
86
-
87
- ## Step 6: Launch Workflow
88
-
89
- Based on the classification, present the command for the user to invoke:
90
-
91
- - **Milestone**: "Run `/user:gsd-t-milestone {refined description}`"
92
- - **Quick**: "Run `/user:gsd-t-quick {refined description}`"
93
- - **Debug**: "Run `/user:gsd-t-debug {refined description}`"
94
- - **Feature**: "Run `/user:gsd-t-feature {refined description}`"
95
-
96
- Display the full command with the refined description ready to copy.
97
-
98
- ## Step 7: Document Ripple
99
-
100
- Update affected documentation:
101
-
102
- ### Always update:
103
- 1. **`.gsd-t/progress.md`** — Add to Decision Log: "{date}: Promoted backlog item #{position} '{title}' as {classification}"
104
-
105
- ### Check if affected:
106
- 2. **`docs/requirements.md`** — If the promoted item implies a new requirement, note it
107
- 3. **`.gsd-t/techdebt.md`** — If this was a debt item being promoted, cross-reference it
108
-
109
- ### Skip what's not affected.
110
-
111
- ## Step 8: Test Verification
112
-
113
- Verify the backlog file is well-formed after removal and renumbering:
114
-
115
- 1. **Check format**: Confirm `.gsd-t/backlog.md` follows the file-format-contract (sequential numbering, correct entry structure)
116
- 2. **Check integrity**: Verify no entries were lost or corrupted during renumbering
117
- 3. **Check empty state**: If all entries were removed, verify file contains only the `# Backlog` heading
118
-
119
- $ARGUMENTS
120
-
121
- ## Auto-Clear
122
-
123
- All work is committed to project files. Execute `/clear` to free the context window for the next command.
1
+ # GSD-T: Backlog Promote — Refine, Classify, and Launch GSD-T Workflow
2
+
3
+ You are promoting a backlog item into the GSD-T workflow. This is the bridge from a captured idea to actionable work: refine the description, classify the scope, remove it from the backlog, and hand off to the appropriate GSD-T command.
4
+
5
+ ## Step 1: Load Context
6
+
7
+ Read:
8
+ 1. `CLAUDE.md`
9
+ 2. `.gsd-t/progress.md` (if exists)
10
+ 3. `.gsd-t/backlog.md` — the backlog file
11
+
12
+ Parse $ARGUMENTS to extract:
13
+ - `<position>` — the entry number to promote
14
+
15
+ If no position is provided, show an error:
16
+ "Usage: `/user:gsd-t-backlog-promote <position>`"
17
+
18
+ ## Step 2: Find and Display Entry
19
+
20
+ Find the entry at the specified position in `.gsd-t/backlog.md`.
21
+
22
+ If the position doesn't exist, show an error:
23
+ "No backlog entry at position {position}. Run `/user:gsd-t-backlog-list` to see available entries."
24
+
25
+ Display the entry to the user:
26
+ ```
27
+ Promoting backlog item #{position}:
28
+
29
+ {title}
30
+ Type: {type} | App: {app} | Category: {category}
31
+ Added: {date}
32
+ {description}
33
+ ```
34
+
35
+ ## Step 3: Refine Description
36
+
37
+ The backlog entry has a 1-2 sentence description. Expand it into full context:
38
+
39
+ 1. Read `CLAUDE.md` and relevant docs (`docs/requirements.md`, `docs/architecture.md`, `docs/workflows.md`) to understand the project context
40
+ 2. Read `.gsd-t/contracts/` to understand existing domain boundaries and interfaces
41
+ 3. Build a comprehensive refined description that includes:
42
+ - **What** needs to be done (concrete deliverables)
43
+ - **Why** it matters (business or technical motivation)
44
+ - **Where** in the codebase it applies (affected files, modules, or domains)
45
+ - **Constraints** or considerations (existing patterns to follow, things to avoid)
46
+
47
+ If the original description is ambiguous or could be interpreted multiple ways, ask the user clarifying questions before proceeding.
48
+
49
+ Present the refined description to the user for confirmation:
50
+ ```
51
+ Refined description:
52
+ {refined description}
53
+
54
+ Does this capture the intent? (Adjust if needed, or confirm to proceed)
55
+ ```
56
+
57
+ ## Step 4: Classify
58
+
59
+ Based on the refined description, determine which GSD-T workflow to create:
60
+
61
+ | Classification | Criteria | Triggers |
62
+ |---------------|----------|----------|
63
+ | **Milestone** | Multi-file, multi-phase work that needs partitioning (complex feature, large refactor) | `gsd-t-milestone` |
64
+ | **Quick** | Small scope, obvious implementation, can be done in one focused session | `gsd-t-quick` |
65
+ | **Debug** | Specific broken behavior that needs diagnosis and fix | `gsd-t-debug` |
66
+ | **Feature** | Significant new capability that needs impact assessment first | `gsd-t-feature` |
67
+
68
+ Present the classification to the user with rationale:
69
+ ```
70
+ Classification: {classification}
71
+
72
+ Rationale: {why this classification fits}
73
+
74
+ If you disagree, tell me the correct classification and I'll adjust.
75
+ ```
76
+
77
+ Wait for user confirmation or override before proceeding.
78
+
79
+ ## Step 5: Remove from Backlog
80
+
81
+ After classification is confirmed:
82
+
83
+ 1. Remove the entry at position {position} from `.gsd-t/backlog.md`
84
+ 2. Renumber all remaining entries sequentially (1, 2, 3...)
85
+ 3. Preserve all other entry content exactly as-is
86
+
87
+ ## Step 6: Launch Workflow
88
+
89
+ Based on the classification, present the command for the user to invoke:
90
+
91
+ - **Milestone**: "Run `/user:gsd-t-milestone {refined description}`"
92
+ - **Quick**: "Run `/user:gsd-t-quick {refined description}`"
93
+ - **Debug**: "Run `/user:gsd-t-debug {refined description}`"
94
+ - **Feature**: "Run `/user:gsd-t-feature {refined description}`"
95
+
96
+ Display the full command with the refined description ready to copy.
97
+
98
+ ## Step 7: Document Ripple
99
+
100
+ Update affected documentation:
101
+
102
+ ### Always update:
103
+ 1. **`.gsd-t/progress.md`** — Add to Decision Log: "{date}: Promoted backlog item #{position} '{title}' as {classification}"
104
+
105
+ ### Check if affected:
106
+ 2. **`docs/requirements.md`** — If the promoted item implies a new requirement, note it
107
+ 3. **`.gsd-t/techdebt.md`** — If this was a debt item being promoted, cross-reference it
108
+
109
+ ### Skip what's not affected.
110
+
111
+ ## Step 8: Test Verification
112
+
113
+ Verify the backlog file is well-formed after removal and renumbering:
114
+
115
+ 1. **Check format**: Confirm `.gsd-t/backlog.md` follows the file-format-contract (sequential numbering, correct entry structure)
116
+ 2. **Check integrity**: Verify no entries were lost or corrupted during renumbering
117
+ 3. **Check empty state**: If all entries were removed, verify file contains only the `# Backlog` heading
118
+
119
+ $ARGUMENTS
120
+
121
+ ## Auto-Clear
122
+
123
+ All work is committed to project files. Execute `/clear` to free the context window for the next command.
@@ -1,86 +1,86 @@
1
- # GSD-T: Backlog Remove — Drop Item with Optional Reason
2
-
3
- You are removing an entry from the backlog. This deletes the item, renumbers remaining entries, and logs the removal.
4
-
5
- ## Step 1: Read Backlog
6
-
7
- Read `.gsd-t/backlog.md` and parse all entries.
8
-
9
- Find the entry at the specified position from $ARGUMENTS.
10
-
11
- If the file doesn't exist or has no entries:
12
- - "No backlog found. Nothing to remove."
13
- - Stop.
14
-
15
- If the position doesn't exist (out of range or invalid):
16
- - "Position {N} not found. The backlog has {count} entries."
17
- - Stop.
18
-
19
- ## Step 2: Confirm Removal
20
-
21
- Display the entry details to the user:
22
-
23
- ```
24
- Remove this backlog item?
25
-
26
- ## {position}. {title}
27
- - Type: {type} | App: {app} | Category: {category}
28
- - Added: {date}
29
- - {description}
30
-
31
- Confirm removal? (y/n)
32
- ```
33
-
34
- Wait for user confirmation before proceeding. If the user declines, stop.
35
-
36
- ## Step 3: Remove Entry
37
-
38
- Delete the entry from `.gsd-t/backlog.md`.
39
-
40
- ## Step 4: Renumber Entries
41
-
42
- Renumber ALL remaining entries sequentially starting from 1.
43
-
44
- Each entry heading must follow the format: `## {position}. {title}`
45
-
46
- Rewrite `.gsd-t/backlog.md` with the updated entries. If no entries remain, the file should contain only the `# Backlog` heading.
47
-
48
- ## Step 5: Log Removal
49
-
50
- Parse $ARGUMENTS for the optional `--reason "..."` flag.
51
-
52
- Add a Decision Log entry in `.gsd-t/progress.md`:
53
-
54
- ```
55
- | {YYYY-MM-DD} | Removed backlog item "{title}"{reason_suffix} |
56
- ```
57
-
58
- Where `{reason_suffix}` is ` — Reason: {reason}` if `--reason` was provided, or empty if not.
59
-
60
- ## Step 6: Document Ripple
61
-
62
- If `.gsd-t/progress.md` exists, update:
63
-
64
- ### Always update:
65
- 1. **`.gsd-t/progress.md`** — Decision Log entry for the removal (done in Step 5)
66
-
67
- ### Check if affected:
68
- 2. **`.gsd-t/techdebt.md`** — If the removed item was related to tracked debt, note its removal
69
-
70
- ### Skip what's not affected — most removals only touch progress.md.
71
-
72
- ## Step 7: Test Verification
73
-
74
- Verify the backlog file is well-formed after removal:
75
-
76
- 1. Read `.gsd-t/backlog.md` and confirm:
77
- - Entries are numbered sequentially (1, 2, 3...) with no gaps
78
- - Each entry follows the format: `## {N}. {title}` + metadata line + date line + description
79
- - No orphaned content or broken formatting
80
- 2. If any issues found, fix them before finishing
81
-
82
- $ARGUMENTS
83
-
84
- ## Auto-Clear
85
-
86
- All work is committed to project files. Execute `/clear` to free the context window for the next command.
1
+ # GSD-T: Backlog Remove — Drop Item with Optional Reason
2
+
3
+ You are removing an entry from the backlog. This deletes the item, renumbers remaining entries, and logs the removal.
4
+
5
+ ## Step 1: Read Backlog
6
+
7
+ Read `.gsd-t/backlog.md` and parse all entries.
8
+
9
+ Find the entry at the specified position from $ARGUMENTS.
10
+
11
+ If the file doesn't exist or has no entries:
12
+ - "No backlog found. Nothing to remove."
13
+ - Stop.
14
+
15
+ If the position doesn't exist (out of range or invalid):
16
+ - "Position {N} not found. The backlog has {count} entries."
17
+ - Stop.
18
+
19
+ ## Step 2: Confirm Removal
20
+
21
+ Display the entry details to the user:
22
+
23
+ ```
24
+ Remove this backlog item?
25
+
26
+ ## {position}. {title}
27
+ - Type: {type} | App: {app} | Category: {category}
28
+ - Added: {date}
29
+ - {description}
30
+
31
+ Confirm removal? (y/n)
32
+ ```
33
+
34
+ Wait for user confirmation before proceeding. If the user declines, stop.
35
+
36
+ ## Step 3: Remove Entry
37
+
38
+ Delete the entry from `.gsd-t/backlog.md`.
39
+
40
+ ## Step 4: Renumber Entries
41
+
42
+ Renumber ALL remaining entries sequentially starting from 1.
43
+
44
+ Each entry heading must follow the format: `## {position}. {title}`
45
+
46
+ Rewrite `.gsd-t/backlog.md` with the updated entries. If no entries remain, the file should contain only the `# Backlog` heading.
47
+
48
+ ## Step 5: Log Removal
49
+
50
+ Parse $ARGUMENTS for the optional `--reason "..."` flag.
51
+
52
+ Add a Decision Log entry in `.gsd-t/progress.md`:
53
+
54
+ ```
55
+ | {YYYY-MM-DD} | Removed backlog item "{title}"{reason_suffix} |
56
+ ```
57
+
58
+ Where `{reason_suffix}` is ` — Reason: {reason}` if `--reason` was provided, or empty if not.
59
+
60
+ ## Step 6: Document Ripple
61
+
62
+ If `.gsd-t/progress.md` exists, update:
63
+
64
+ ### Always update:
65
+ 1. **`.gsd-t/progress.md`** — Decision Log entry for the removal (done in Step 5)
66
+
67
+ ### Check if affected:
68
+ 2. **`.gsd-t/techdebt.md`** — If the removed item was related to tracked debt, note its removal
69
+
70
+ ### Skip what's not affected — most removals only touch progress.md.
71
+
72
+ ## Step 7: Test Verification
73
+
74
+ Verify the backlog file is well-formed after removal:
75
+
76
+ 1. Read `.gsd-t/backlog.md` and confirm:
77
+ - Entries are numbered sequentially (1, 2, 3...) with no gaps
78
+ - Each entry follows the format: `## {N}. {title}` + metadata line + date line + description
79
+ - No orphaned content or broken formatting
80
+ 2. If any issues found, fix them before finishing
81
+
82
+ $ARGUMENTS
83
+
84
+ ## Auto-Clear
85
+
86
+ All work is committed to project files. Execute `/clear` to free the context window for the next command.