@tekyzinc/gsd-t 2.50.12 → 2.53.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +379 -372
  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 -399
  34. package/commands/gsd-t-discuss.md +174 -174
  35. package/commands/gsd-t-execute.md +758 -634
  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.md +320 -280
  41. package/commands/gsd-t-integrate.md +365 -249
  42. package/commands/gsd-t-milestone.md +87 -87
  43. package/commands/gsd-t-partition.md +442 -361
  44. package/commands/gsd-t-pause.md +82 -82
  45. package/commands/gsd-t-plan.md +345 -344
  46. package/commands/gsd-t-populate.md +111 -111
  47. package/commands/gsd-t-prd.md +326 -326
  48. package/commands/gsd-t-project.md +211 -211
  49. package/commands/gsd-t-promote-debt.md +123 -123
  50. package/commands/gsd-t-prompt.md +137 -137
  51. package/commands/gsd-t-qa.md +266 -266
  52. package/commands/gsd-t-quick.md +357 -234
  53. package/commands/gsd-t-reflect.md +134 -134
  54. package/commands/gsd-t-resume.md +72 -72
  55. package/commands/gsd-t-scan.md +615 -615
  56. package/commands/gsd-t-setup.md +76 -0
  57. package/commands/gsd-t-status.md +192 -166
  58. package/commands/gsd-t-test-sync.md +381 -381
  59. package/commands/gsd-t-triage-and-merge.md +171 -171
  60. package/commands/gsd-t-verify.md +382 -382
  61. package/commands/gsd-t-visualize.md +118 -118
  62. package/commands/gsd-t-wave.md +401 -378
  63. package/docs/GSD-T-README.md +425 -422
  64. package/docs/architecture.md +385 -369
  65. package/docs/harness-design-analysis.md +371 -0
  66. package/docs/infrastructure.md +205 -205
  67. package/docs/prd-graph-engine.md +398 -398
  68. package/docs/prd-gsd2-hybrid.md +559 -559
  69. package/docs/prd-harness-evolution.md +583 -0
  70. package/docs/requirements.md +14 -0
  71. package/docs/workflows.md +226 -226
  72. package/examples/.gsd-t/domains/example-domain/scope.md +13 -13
  73. package/package.json +40 -40
  74. package/scripts/gsd-t-auto-route.js +39 -39
  75. package/scripts/gsd-t-dashboard-mockup.html +1143 -1143
  76. package/scripts/gsd-t-dashboard-server.js +171 -171
  77. package/scripts/gsd-t-dashboard.html +262 -262
  78. package/scripts/gsd-t-event-writer.js +128 -128
  79. package/scripts/gsd-t-statusline.js +94 -94
  80. package/scripts/gsd-t-tools.js +175 -175
  81. package/templates/CLAUDE-global.md +639 -614
  82. package/templates/CLAUDE-project.md +24 -0
  83. package/templates/backlog-settings.md +18 -18
  84. package/templates/backlog.md +1 -1
  85. package/templates/progress.md +40 -40
  86. package/templates/shared-services-contract.md +60 -60
  87. package/templates/stacks/desktop.ini +2 -2
  88. package/bin/desktop.ini +0 -2
  89. package/commands/desktop.ini +0 -2
  90. package/docs/ci-examples/desktop.ini +0 -2
  91. package/docs/desktop.ini +0 -2
  92. package/examples/.gsd-t/contracts/desktop.ini +0 -2
  93. package/examples/.gsd-t/desktop.ini +0 -2
  94. package/examples/.gsd-t/domains/desktop.ini +0 -2
  95. package/examples/.gsd-t/domains/example-domain/desktop.ini +0 -2
  96. package/examples/desktop.ini +0 -2
  97. package/examples/rules/desktop.ini +0 -2
  98. package/scripts/desktop.ini +0 -2
  99. 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.