@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,174 +1,174 @@
1
- # GSD-T: Discuss — Multi-Perspective Design Exploration
2
-
3
- You are the lead agent exploring design decisions before committing to a plan. The goal of this phase is to produce or refine **contracts** — not just recommendations.
4
-
5
- ## IMPORTANT: Manual vs Auto-Invoked Behavior
6
-
7
- **When manually invoked** (user typed `/user:gsd-t-discuss`):
8
- - Focus on the user's specific topic from `$ARGUMENTS`
9
- - Present analysis, options, and recommendations — do NOT auto-implement anything
10
- - At the end, **STOP and wait for user input** — even in bypass/yolo mode
11
- - The user wants to review and decide before proceeding
12
- - Do NOT continue to the plan or execute phase
13
-
14
- **When auto-invoked** (called by `gsd-t-wave` or another workflow command):
15
- - Work through all open questions automatically
16
- - Make recommendations and log decisions
17
- - Continue to the next phase without stopping
18
-
19
- **How to tell:** If `$ARGUMENTS` contains a specific topic or question, the user invoked this manually. If `$ARGUMENTS` is empty or contains only a milestone reference, it was auto-invoked by the workflow.
20
-
21
- ## Step 1: Load Context
22
-
23
- Read in order:
24
- 1. `CLAUDE.md`
25
- 2. `.gsd-t/progress.md`
26
- 3. `.gsd-t/contracts/` — all existing contracts
27
- 4. `.gsd-t/domains/` — all domain scopes
28
- 5. `docs/` — requirements, architecture, schema, design docs
29
-
30
- ## Step 2: Identify Open Questions
31
-
32
- **If manually invoked with a topic:** Focus on THAT topic. The user's question/topic is the priority. You may surface related questions, but the user's topic comes first.
33
-
34
- **If auto-invoked:** Based on the milestone and current contracts, identify what's unresolved:
35
- - Architecture decisions not yet made
36
- - Contract details that are vague or missing
37
- - Technical approaches with multiple viable options
38
- - Risk areas that need exploration
39
-
40
- List these as numbered questions.
41
-
42
- ## Step 3: Explore (Solo or Team)
43
-
44
- ### Solo Mode (default, no teams):
45
- Work through each open question systematically:
46
- - For each question, consider at least 2 approaches
47
- - Evaluate each against: project requirements, existing patterns in CLAUDE.md, complexity, risk
48
- - Make a recommendation with rationale
49
- - Document the decision in `.gsd-t/progress.md` Decision Log
50
-
51
- ### Team Mode (when agent teams are enabled):
52
- If the user requests team exploration or there are 3+ complex open questions:
53
-
54
- **OBSERVABILITY LOGGING (MANDATORY):**
55
- Before spawning the team — run via Bash:
56
- `T_START=$(date +%s) && DT_START=$(date +"%Y-%m-%d %H:%M") && TOK_START=${CLAUDE_CONTEXT_TOKENS_USED:-0} && TOK_MAX=${CLAUDE_CONTEXT_TOKENS_MAX:-200000}`
57
-
58
- ```
59
- Create an agent team:
60
-
61
- ALL TEAMMATES read first:
62
- - CLAUDE.md
63
- - .gsd-t/contracts/ (all files)
64
- - docs/ (relevant docs)
65
-
66
- Assign each teammate a distinct perspective:
67
- - Teammate 1: Advocate for approach A — build strongest case
68
- - Teammate 2: Advocate for approach B — build strongest case
69
- - Teammate 3: Critic — find weaknesses in both, identify risks
70
-
71
- Lead: Synthesize into decisions and update contracts.
72
- ```
73
-
74
- After team completes — run via Bash:
75
- `T_END=$(date +%s) && DT_END=$(date +"%Y-%m-%d %H:%M") && TOK_END=${CLAUDE_CONTEXT_TOKENS_USED:-0} && DURATION=$((T_END-T_START))`
76
- Compute tokens and compaction:
77
- - No compaction (TOK_END >= TOK_START): `TOKENS=$((TOK_END-TOK_START))`, COMPACTED=null
78
- - Compaction detected (TOK_END < TOK_START): `TOKENS=$(((TOK_MAX-TOK_START)+TOK_END))`, COMPACTED=$DT_END
79
- Append to `.gsd-t/token-log.md` (create with header `| Datetime-start | Datetime-end | Command | Step | Model | Duration(s) | Notes | Tokens | Compacted |` if missing):
80
- `| {DT_START} | {DT_END} | gsd-t-discuss | Step 3 | sonnet | {DURATION}s | team discuss: {topic summary} | {TOKENS} | {COMPACTED} |`
81
-
82
- Assign teammates based on the nature of the questions:
83
- - **Technical choice** (e.g., which database): one advocate per option + critic
84
- - **Architecture pattern** (e.g., monolith vs microservice): one advocate per pattern + someone evaluating migration path
85
- - **Risk assessment**: one optimist, one pessimist, one pragmatist
86
-
87
- ## Step 4: Update Contracts
88
-
89
- Every decision MUST result in a contract update. This is the output that matters.
90
-
91
- For each decision:
92
- 1. Update or create the relevant contract file in `.gsd-t/contracts/`
93
- 2. Update domain `scope.md` and `constraints.md` if the decision affects boundaries
94
- 3. Add to `.gsd-t/progress.md` Decision Log with date and rationale
95
-
96
- ## Step 5: Create CONTEXT.md
97
-
98
- After finalizing decisions, create or update `.gsd-t/CONTEXT.md`:
99
-
100
- ```markdown
101
- # Discuss CONTEXT — {Milestone Name}
102
- Generated: {date}
103
-
104
- ## Locked Decisions
105
- Decisions made in this session. The plan phase MUST implement each of these exactly.
106
- - {Decision 1 — specific and implementable}
107
- - {Decision 2}
108
-
109
- ## Deferred Ideas
110
- Good ideas surfaced but NOT in scope for this milestone. Plan must NOT implement these.
111
- - {Idea 1 — brief description of what was deferred and why}
112
-
113
- ## Claude's Discretion
114
- Implementation details not specified — Claude can choose freely when executing.
115
- - {Detail 1 — e.g., "Use either X or Y approach for the logging layer"}
116
- ```
117
-
118
- The plan phase planner must read this file and map every Locked Decision to at least one task. If a Locked Decision has no corresponding task, the plan is incomplete.
119
-
120
- ## Step 6: Document Ripple
121
-
122
- Decisions don't just affect contracts — they can change the broader documentation:
123
-
124
- ### Always update:
125
- 1. **`.gsd-t/progress.md`** — Decision Log with date, decision, and rationale
126
-
127
- ### Check if affected:
128
- 2. **`docs/architecture.md`** — Did a decision change the architecture pattern, tech stack, data flow, or component relationships? Update it
129
- 3. **`docs/requirements.md`** — Did a decision add, remove, or change a requirement? Update it
130
- 4. **`docs/schema.md`** — Did a decision affect the data model? Update it
131
- 5. **`CLAUDE.md`** — Did a decision establish a new convention or pattern? Add it so all future work follows it
132
- 6. **Domain `constraints.md`** — Already updated in Step 4, but double-check all domains are consistent with the decisions
133
-
134
- ### Skip what's not affected.
135
-
136
- ## Step 7: Test Verification
137
-
138
- If decisions resulted in contract or code changes:
139
-
140
- 1. **Run affected tests**: Execute tests related to any files modified by contract updates
141
- 2. **Verify passing**: All tests must pass. If any fail from contract changes, fix before proceeding (up to 2 attempts)
142
- 3. **Flag test gaps**: If decisions created new requirements with no test coverage, note them for the plan phase
143
-
144
- ## Step 8: Validate Contracts
145
-
146
- After all updates:
147
- - [ ] All contracts are internally consistent (no conflicting types/shapes)
148
- - [ ] Cross-references between contracts are valid
149
- - [ ] Every domain's constraints reflect the decisions made
150
- - [ ] Integration points are updated with any new dependencies
151
-
152
- ## Step 9: Report and Stop
153
-
154
- Present to the user:
155
- 1. Decisions made (with brief rationale)
156
- 2. Contracts created or updated
157
- 3. Any remaining open questions that need user input
158
- 4. Recommended next step (usually: plan phase)
159
-
160
- Update `.gsd-t/progress.md` status to `DISCUSSED`.
161
-
162
- ### Autonomy Behavior
163
-
164
- **When manually invoked** (any autonomy level): **STOP HERE.** Do NOT proceed to the plan phase or any other phase. Present your findings and ask the user: "Discussion complete. Here's what I found and recommend. Want to proceed with these decisions, revise anything, or explore further?" This is mandatory — even at Level 3 / bypass permissions. The user invoked discuss to THINK, not to auto-pilot.
165
-
166
- **Level 3 (Full Auto) — when auto-invoked by wave**: Work through all open questions automatically, make recommendations, log decisions, and return control to the calling command. Do NOT wait for user input.
167
-
168
- **Level 1–2 — when auto-invoked**: Present decisions and open questions. Wait for user confirmation before returning control to the calling command.
169
-
170
- $ARGUMENTS
171
-
172
- ## Auto-Clear
173
-
174
- All work is committed to project files. Execute `/clear` to free the context window for the next command.
1
+ # GSD-T: Discuss — Multi-Perspective Design Exploration
2
+
3
+ You are the lead agent exploring design decisions before committing to a plan. The goal of this phase is to produce or refine **contracts** — not just recommendations.
4
+
5
+ ## IMPORTANT: Manual vs Auto-Invoked Behavior
6
+
7
+ **When manually invoked** (user typed `/user:gsd-t-discuss`):
8
+ - Focus on the user's specific topic from `$ARGUMENTS`
9
+ - Present analysis, options, and recommendations — do NOT auto-implement anything
10
+ - At the end, **STOP and wait for user input** — even in bypass/yolo mode
11
+ - The user wants to review and decide before proceeding
12
+ - Do NOT continue to the plan or execute phase
13
+
14
+ **When auto-invoked** (called by `gsd-t-wave` or another workflow command):
15
+ - Work through all open questions automatically
16
+ - Make recommendations and log decisions
17
+ - Continue to the next phase without stopping
18
+
19
+ **How to tell:** If `$ARGUMENTS` contains a specific topic or question, the user invoked this manually. If `$ARGUMENTS` is empty or contains only a milestone reference, it was auto-invoked by the workflow.
20
+
21
+ ## Step 1: Load Context
22
+
23
+ Read in order:
24
+ 1. `CLAUDE.md`
25
+ 2. `.gsd-t/progress.md`
26
+ 3. `.gsd-t/contracts/` — all existing contracts
27
+ 4. `.gsd-t/domains/` — all domain scopes
28
+ 5. `docs/` — requirements, architecture, schema, design docs
29
+
30
+ ## Step 2: Identify Open Questions
31
+
32
+ **If manually invoked with a topic:** Focus on THAT topic. The user's question/topic is the priority. You may surface related questions, but the user's topic comes first.
33
+
34
+ **If auto-invoked:** Based on the milestone and current contracts, identify what's unresolved:
35
+ - Architecture decisions not yet made
36
+ - Contract details that are vague or missing
37
+ - Technical approaches with multiple viable options
38
+ - Risk areas that need exploration
39
+
40
+ List these as numbered questions.
41
+
42
+ ## Step 3: Explore (Solo or Team)
43
+
44
+ ### Solo Mode (default, no teams):
45
+ Work through each open question systematically:
46
+ - For each question, consider at least 2 approaches
47
+ - Evaluate each against: project requirements, existing patterns in CLAUDE.md, complexity, risk
48
+ - Make a recommendation with rationale
49
+ - Document the decision in `.gsd-t/progress.md` Decision Log
50
+
51
+ ### Team Mode (when agent teams are enabled):
52
+ If the user requests team exploration or there are 3+ complex open questions:
53
+
54
+ **OBSERVABILITY LOGGING (MANDATORY):**
55
+ Before spawning the team — run via Bash:
56
+ `T_START=$(date +%s) && DT_START=$(date +"%Y-%m-%d %H:%M") && TOK_START=${CLAUDE_CONTEXT_TOKENS_USED:-0} && TOK_MAX=${CLAUDE_CONTEXT_TOKENS_MAX:-200000}`
57
+
58
+ ```
59
+ Create an agent team:
60
+
61
+ ALL TEAMMATES read first:
62
+ - CLAUDE.md
63
+ - .gsd-t/contracts/ (all files)
64
+ - docs/ (relevant docs)
65
+
66
+ Assign each teammate a distinct perspective:
67
+ - Teammate 1: Advocate for approach A — build strongest case
68
+ - Teammate 2: Advocate for approach B — build strongest case
69
+ - Teammate 3: Critic — find weaknesses in both, identify risks
70
+
71
+ Lead: Synthesize into decisions and update contracts.
72
+ ```
73
+
74
+ After team completes — run via Bash:
75
+ `T_END=$(date +%s) && DT_END=$(date +"%Y-%m-%d %H:%M") && TOK_END=${CLAUDE_CONTEXT_TOKENS_USED:-0} && DURATION=$((T_END-T_START))`
76
+ Compute tokens and compaction:
77
+ - No compaction (TOK_END >= TOK_START): `TOKENS=$((TOK_END-TOK_START))`, COMPACTED=null
78
+ - Compaction detected (TOK_END < TOK_START): `TOKENS=$(((TOK_MAX-TOK_START)+TOK_END))`, COMPACTED=$DT_END
79
+ Append to `.gsd-t/token-log.md` (create with header `| Datetime-start | Datetime-end | Command | Step | Model | Duration(s) | Notes | Tokens | Compacted |` if missing):
80
+ `| {DT_START} | {DT_END} | gsd-t-discuss | Step 3 | sonnet | {DURATION}s | team discuss: {topic summary} | {TOKENS} | {COMPACTED} |`
81
+
82
+ Assign teammates based on the nature of the questions:
83
+ - **Technical choice** (e.g., which database): one advocate per option + critic
84
+ - **Architecture pattern** (e.g., monolith vs microservice): one advocate per pattern + someone evaluating migration path
85
+ - **Risk assessment**: one optimist, one pessimist, one pragmatist
86
+
87
+ ## Step 4: Update Contracts
88
+
89
+ Every decision MUST result in a contract update. This is the output that matters.
90
+
91
+ For each decision:
92
+ 1. Update or create the relevant contract file in `.gsd-t/contracts/`
93
+ 2. Update domain `scope.md` and `constraints.md` if the decision affects boundaries
94
+ 3. Add to `.gsd-t/progress.md` Decision Log with date and rationale
95
+
96
+ ## Step 5: Create CONTEXT.md
97
+
98
+ After finalizing decisions, create or update `.gsd-t/CONTEXT.md`:
99
+
100
+ ```markdown
101
+ # Discuss CONTEXT — {Milestone Name}
102
+ Generated: {date}
103
+
104
+ ## Locked Decisions
105
+ Decisions made in this session. The plan phase MUST implement each of these exactly.
106
+ - {Decision 1 — specific and implementable}
107
+ - {Decision 2}
108
+
109
+ ## Deferred Ideas
110
+ Good ideas surfaced but NOT in scope for this milestone. Plan must NOT implement these.
111
+ - {Idea 1 — brief description of what was deferred and why}
112
+
113
+ ## Claude's Discretion
114
+ Implementation details not specified — Claude can choose freely when executing.
115
+ - {Detail 1 — e.g., "Use either X or Y approach for the logging layer"}
116
+ ```
117
+
118
+ The plan phase planner must read this file and map every Locked Decision to at least one task. If a Locked Decision has no corresponding task, the plan is incomplete.
119
+
120
+ ## Step 6: Document Ripple
121
+
122
+ Decisions don't just affect contracts — they can change the broader documentation:
123
+
124
+ ### Always update:
125
+ 1. **`.gsd-t/progress.md`** — Decision Log with date, decision, and rationale
126
+
127
+ ### Check if affected:
128
+ 2. **`docs/architecture.md`** — Did a decision change the architecture pattern, tech stack, data flow, or component relationships? Update it
129
+ 3. **`docs/requirements.md`** — Did a decision add, remove, or change a requirement? Update it
130
+ 4. **`docs/schema.md`** — Did a decision affect the data model? Update it
131
+ 5. **`CLAUDE.md`** — Did a decision establish a new convention or pattern? Add it so all future work follows it
132
+ 6. **Domain `constraints.md`** — Already updated in Step 4, but double-check all domains are consistent with the decisions
133
+
134
+ ### Skip what's not affected.
135
+
136
+ ## Step 7: Test Verification
137
+
138
+ If decisions resulted in contract or code changes:
139
+
140
+ 1. **Run affected tests**: Execute tests related to any files modified by contract updates
141
+ 2. **Verify passing**: All tests must pass. If any fail from contract changes, fix before proceeding (up to 2 attempts)
142
+ 3. **Flag test gaps**: If decisions created new requirements with no test coverage, note them for the plan phase
143
+
144
+ ## Step 8: Validate Contracts
145
+
146
+ After all updates:
147
+ - [ ] All contracts are internally consistent (no conflicting types/shapes)
148
+ - [ ] Cross-references between contracts are valid
149
+ - [ ] Every domain's constraints reflect the decisions made
150
+ - [ ] Integration points are updated with any new dependencies
151
+
152
+ ## Step 9: Report and Stop
153
+
154
+ Present to the user:
155
+ 1. Decisions made (with brief rationale)
156
+ 2. Contracts created or updated
157
+ 3. Any remaining open questions that need user input
158
+ 4. Recommended next step (usually: plan phase)
159
+
160
+ Update `.gsd-t/progress.md` status to `DISCUSSED`.
161
+
162
+ ### Autonomy Behavior
163
+
164
+ **When manually invoked** (any autonomy level): **STOP HERE.** Do NOT proceed to the plan phase or any other phase. Present your findings and ask the user: "Discussion complete. Here's what I found and recommend. Want to proceed with these decisions, revise anything, or explore further?" This is mandatory — even at Level 3 / bypass permissions. The user invoked discuss to THINK, not to auto-pilot.
165
+
166
+ **Level 3 (Full Auto) — when auto-invoked by wave**: Work through all open questions automatically, make recommendations, log decisions, and return control to the calling command. Do NOT wait for user input.
167
+
168
+ **Level 1–2 — when auto-invoked**: Present decisions and open questions. Wait for user confirmation before returning control to the calling command.
169
+
170
+ $ARGUMENTS
171
+
172
+ ## Auto-Clear
173
+
174
+ All work is committed to project files. Execute `/clear` to free the context window for the next command.