gsd-remix 1.0.2 → 1.1.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.
Files changed (230) hide show
  1. package/README.md +13 -81
  2. package/README.zh-CN.md +13 -57
  3. package/agents/gsd-debugger.md +0 -3
  4. package/agents/gsd-executor.md +5 -11
  5. package/agents/gsd-phase-researcher.md +3 -107
  6. package/agents/gsd-plan-checker.md +0 -61
  7. package/agents/gsd-planner.md +4 -63
  8. package/agents/gsd-roadmapper.md +0 -29
  9. package/agents/gsd-security-auditor.md +62 -114
  10. package/agents/gsd-verifier.md +0 -3
  11. package/bin/install.js +20 -118
  12. package/commands/gsd/complete-milestone.md +0 -22
  13. package/commands/gsd/plan-phase.md +1 -2
  14. package/get-shit-done/bin/gsd-tools.cjs +5 -224
  15. package/get-shit-done/bin/lib/claude-md.cjs +427 -0
  16. package/get-shit-done/bin/lib/config-schema.cjs +2 -12
  17. package/get-shit-done/bin/lib/config.cjs +3 -12
  18. package/get-shit-done/bin/lib/core.cjs +4 -5
  19. package/get-shit-done/bin/lib/init.cjs +0 -163
  20. package/get-shit-done/bin/lib/model-profiles.cjs +12 -18
  21. package/get-shit-done/bin/lib/verify.cjs +0 -66
  22. package/get-shit-done/references/agent-contracts.md +0 -6
  23. package/get-shit-done/references/artifact-types.md +0 -30
  24. package/get-shit-done/references/continuation-format.md +0 -1
  25. package/get-shit-done/references/model-profiles.md +39 -37
  26. package/get-shit-done/references/planning-config.md +7 -12
  27. package/get-shit-done/references/verification-overrides.md +1 -1
  28. package/get-shit-done/templates/README.md +2 -9
  29. package/get-shit-done/templates/claude-md.md +0 -14
  30. package/get-shit-done/templates/config.json +5 -19
  31. package/get-shit-done/workflows/autonomous.md +9 -141
  32. package/get-shit-done/workflows/complete-milestone.md +3 -4
  33. package/get-shit-done/workflows/discuss-phase-assumptions.md +1 -18
  34. package/get-shit-done/workflows/discuss-phase.md +10 -104
  35. package/get-shit-done/workflows/do.md +1 -5
  36. package/get-shit-done/workflows/execute-phase.md +53 -103
  37. package/get-shit-done/workflows/execute-plan.md +4 -4
  38. package/get-shit-done/workflows/health.md +2 -5
  39. package/get-shit-done/workflows/help.md +0 -165
  40. package/get-shit-done/workflows/new-milestone.md +0 -51
  41. package/get-shit-done/workflows/new-project.md +2 -63
  42. package/get-shit-done/workflows/next.md +0 -23
  43. package/get-shit-done/workflows/pause-work.md +7 -15
  44. package/get-shit-done/workflows/plan-phase.md +20 -304
  45. package/get-shit-done/workflows/pr-branch.md +0 -1
  46. package/get-shit-done/workflows/progress.md +1 -68
  47. package/get-shit-done/workflows/quick.md +0 -3
  48. package/get-shit-done/workflows/research-phase.md +0 -1
  49. package/get-shit-done/workflows/settings.md +1 -57
  50. package/get-shit-done/workflows/transition.md +3 -86
  51. package/get-shit-done/workflows/verify-work.md +0 -64
  52. package/package.json +1 -1
  53. package/scripts/build-hooks.js +0 -2
  54. package/sdk/prompts/agents/gsd-executor.md +2 -0
  55. package/sdk/prompts/agents/gsd-plan-checker.md +0 -3
  56. package/sdk/prompts/agents/gsd-roadmapper.md +0 -29
  57. package/sdk/src/config.ts +4 -5
  58. package/sdk/src/golden/golden-integration-covered.ts +0 -2
  59. package/sdk/src/golden/golden-policy.ts +1 -1
  60. package/sdk/src/golden/golden.integration.test.ts +0 -27
  61. package/sdk/src/golden/read-only-golden-rows.ts +0 -15
  62. package/sdk/src/query/QUERY-HANDLERS.md +3 -34
  63. package/sdk/src/query/claude-md.ts +421 -0
  64. package/sdk/src/query/commit.test.ts +155 -1
  65. package/sdk/src/query/commit.ts +71 -17
  66. package/sdk/src/query/config-gates.test.ts +1 -2
  67. package/sdk/src/query/config-gates.ts +1 -5
  68. package/sdk/src/query/config-mutation.test.ts +0 -1
  69. package/sdk/src/query/config-mutation.ts +5 -6
  70. package/sdk/src/query/config-query.test.ts +2 -2
  71. package/sdk/src/query/config-query.ts +12 -18
  72. package/sdk/src/query/decomposed-handlers.test.ts +0 -64
  73. package/sdk/src/query/index.ts +4 -68
  74. package/sdk/src/query/init.test.ts +0 -64
  75. package/sdk/src/query/init.ts +0 -189
  76. package/sdk/src/query/normalize-query-command.ts +0 -2
  77. package/sdk/src/query/profile.test.ts +0 -43
  78. package/sdk/src/query/profile.ts +1 -141
  79. package/sdk/src/query/state-mutation.ts +18 -0
  80. package/sdk/src/runtime-health.ts +3 -3
  81. package/agents/gsd-ai-researcher.md +0 -133
  82. package/agents/gsd-doc-classifier.md +0 -168
  83. package/agents/gsd-doc-synthesizer.md +0 -204
  84. package/agents/gsd-doc-verifier.md +0 -217
  85. package/agents/gsd-doc-writer.md +0 -615
  86. package/agents/gsd-domain-researcher.md +0 -153
  87. package/agents/gsd-eval-auditor.md +0 -191
  88. package/agents/gsd-eval-planner.md +0 -154
  89. package/agents/gsd-framework-selector.md +0 -160
  90. package/agents/gsd-intel-updater.md +0 -334
  91. package/agents/gsd-nyquist-auditor.md +0 -203
  92. package/agents/gsd-ui-auditor.md +0 -495
  93. package/agents/gsd-ui-checker.md +0 -309
  94. package/agents/gsd-ui-researcher.md +0 -380
  95. package/agents/gsd-user-profiler.md +0 -171
  96. package/commands/gsd/ai-integration-phase.md +0 -36
  97. package/commands/gsd/analyze-dependencies.md +0 -34
  98. package/commands/gsd/audit-fix.md +0 -33
  99. package/commands/gsd/audit-milestone.md +0 -36
  100. package/commands/gsd/audit-uat.md +0 -24
  101. package/commands/gsd/docs-update.md +0 -48
  102. package/commands/gsd/eval-review.md +0 -32
  103. package/commands/gsd/explore.md +0 -27
  104. package/commands/gsd/extract_learnings.md +0 -22
  105. package/commands/gsd/forensics.md +0 -56
  106. package/commands/gsd/from-gsd2.md +0 -47
  107. package/commands/gsd/graphify.md +0 -201
  108. package/commands/gsd/import.md +0 -37
  109. package/commands/gsd/inbox.md +0 -38
  110. package/commands/gsd/ingest-docs.md +0 -42
  111. package/commands/gsd/intel.md +0 -179
  112. package/commands/gsd/join-discord.md +0 -19
  113. package/commands/gsd/list-phase-assumptions.md +0 -46
  114. package/commands/gsd/list-workspaces.md +0 -19
  115. package/commands/gsd/manager.md +0 -40
  116. package/commands/gsd/milestone-summary.md +0 -51
  117. package/commands/gsd/new-workspace.md +0 -44
  118. package/commands/gsd/plan-milestone-gaps.md +0 -34
  119. package/commands/gsd/plan-review-convergence.md +0 -52
  120. package/commands/gsd/plant-seed.md +0 -28
  121. package/commands/gsd/profile-user.md +0 -46
  122. package/commands/gsd/reapply-patches.md +0 -331
  123. package/commands/gsd/remove-workspace.md +0 -26
  124. package/commands/gsd/review.md +0 -40
  125. package/commands/gsd/scan.md +0 -26
  126. package/commands/gsd/secure-phase.md +0 -35
  127. package/commands/gsd/session-report.md +0 -19
  128. package/commands/gsd/set-profile.md +0 -12
  129. package/commands/gsd/ship.md +0 -23
  130. package/commands/gsd/sketch-wrap-up.md +0 -31
  131. package/commands/gsd/sketch.md +0 -49
  132. package/commands/gsd/spec-phase.md +0 -62
  133. package/commands/gsd/spike-wrap-up.md +0 -31
  134. package/commands/gsd/spike.md +0 -46
  135. package/commands/gsd/stats.md +0 -18
  136. package/commands/gsd/sync-skills.md +0 -19
  137. package/commands/gsd/thread.md +0 -227
  138. package/commands/gsd/ui-phase.md +0 -34
  139. package/commands/gsd/ui-review.md +0 -32
  140. package/commands/gsd/ultraplan-phase.md +0 -33
  141. package/commands/gsd/update.md +0 -37
  142. package/commands/gsd/validate-phase.md +0 -35
  143. package/commands/gsd/workstreams.md +0 -69
  144. package/get-shit-done/bin/lib/docs.cjs +0 -267
  145. package/get-shit-done/bin/lib/graphify.cjs +0 -494
  146. package/get-shit-done/bin/lib/gsd2-import.cjs +0 -511
  147. package/get-shit-done/bin/lib/intel.cjs +0 -639
  148. package/get-shit-done/bin/lib/profile-output.cjs +0 -1080
  149. package/get-shit-done/bin/lib/profile-pipeline.cjs +0 -539
  150. package/get-shit-done/bin/lib/workstream.cjs +0 -495
  151. package/get-shit-done/references/ai-evals.md +0 -156
  152. package/get-shit-done/references/ai-frameworks.md +0 -186
  153. package/get-shit-done/references/doc-conflict-engine.md +0 -91
  154. package/get-shit-done/references/model-profile-resolution.md +0 -38
  155. package/get-shit-done/references/planner-reviews.md +0 -39
  156. package/get-shit-done/references/sketch-interactivity.md +0 -41
  157. package/get-shit-done/references/sketch-theme-system.md +0 -94
  158. package/get-shit-done/references/sketch-tooling.md +0 -45
  159. package/get-shit-done/references/sketch-variant-patterns.md +0 -81
  160. package/get-shit-done/references/thinking-models-debug.md +0 -44
  161. package/get-shit-done/references/thinking-models-execution.md +0 -50
  162. package/get-shit-done/references/thinking-models-planning.md +0 -62
  163. package/get-shit-done/references/thinking-models-research.md +0 -50
  164. package/get-shit-done/references/thinking-models-verification.md +0 -55
  165. package/get-shit-done/references/thinking-partner.md +0 -96
  166. package/get-shit-done/references/user-profiling.md +0 -681
  167. package/get-shit-done/references/workstream-flag.md +0 -111
  168. package/get-shit-done/templates/AI-SPEC.md +0 -246
  169. package/get-shit-done/templates/SECURITY.md +0 -61
  170. package/get-shit-done/templates/UI-SPEC.md +0 -100
  171. package/get-shit-done/templates/VALIDATION.md +0 -76
  172. package/get-shit-done/templates/dev-preferences.md +0 -21
  173. package/get-shit-done/templates/user-profile.md +0 -146
  174. package/get-shit-done/workflows/ai-integration-phase.md +0 -284
  175. package/get-shit-done/workflows/analyze-dependencies.md +0 -96
  176. package/get-shit-done/workflows/audit-fix.md +0 -175
  177. package/get-shit-done/workflows/audit-milestone.md +0 -340
  178. package/get-shit-done/workflows/audit-uat.md +0 -109
  179. package/get-shit-done/workflows/docs-update.md +0 -1155
  180. package/get-shit-done/workflows/eval-review.md +0 -155
  181. package/get-shit-done/workflows/explore.md +0 -141
  182. package/get-shit-done/workflows/extract_learnings.md +0 -242
  183. package/get-shit-done/workflows/forensics.md +0 -265
  184. package/get-shit-done/workflows/import.md +0 -246
  185. package/get-shit-done/workflows/inbox.md +0 -387
  186. package/get-shit-done/workflows/ingest-docs.md +0 -328
  187. package/get-shit-done/workflows/list-phase-assumptions.md +0 -178
  188. package/get-shit-done/workflows/list-workspaces.md +0 -56
  189. package/get-shit-done/workflows/manager.md +0 -365
  190. package/get-shit-done/workflows/milestone-summary.md +0 -223
  191. package/get-shit-done/workflows/new-workspace.md +0 -239
  192. package/get-shit-done/workflows/plan-milestone-gaps.md +0 -273
  193. package/get-shit-done/workflows/plan-review-convergence.md +0 -254
  194. package/get-shit-done/workflows/plant-seed.md +0 -172
  195. package/get-shit-done/workflows/profile-user.md +0 -452
  196. package/get-shit-done/workflows/remove-workspace.md +0 -92
  197. package/get-shit-done/workflows/review.md +0 -344
  198. package/get-shit-done/workflows/scan.md +0 -102
  199. package/get-shit-done/workflows/secure-phase.md +0 -166
  200. package/get-shit-done/workflows/session-report.md +0 -146
  201. package/get-shit-done/workflows/ship.md +0 -302
  202. package/get-shit-done/workflows/sketch-wrap-up.md +0 -283
  203. package/get-shit-done/workflows/sketch.md +0 -286
  204. package/get-shit-done/workflows/spec-phase.md +0 -262
  205. package/get-shit-done/workflows/spike-wrap-up.md +0 -281
  206. package/get-shit-done/workflows/spike.md +0 -362
  207. package/get-shit-done/workflows/stats.md +0 -60
  208. package/get-shit-done/workflows/sync-skills.md +0 -182
  209. package/get-shit-done/workflows/ui-phase.md +0 -323
  210. package/get-shit-done/workflows/ui-review.md +0 -190
  211. package/get-shit-done/workflows/ultraplan-phase.md +0 -189
  212. package/get-shit-done/workflows/update.md +0 -587
  213. package/get-shit-done/workflows/validate-phase.md +0 -176
  214. package/hooks/dist/gsd-check-update-worker.js +0 -108
  215. package/hooks/dist/gsd-check-update.js +0 -63
  216. package/hooks/gsd-check-update-worker.js +0 -108
  217. package/hooks/gsd-check-update.js +0 -63
  218. package/sdk/src/golden/fixtures/profile-sample-sessions/demo-project/sample.jsonl +0 -3
  219. package/sdk/src/query/docs-init.ts +0 -257
  220. package/sdk/src/query/intel.test.ts +0 -90
  221. package/sdk/src/query/intel.ts +0 -404
  222. package/sdk/src/query/profile-extract-messages.ts +0 -247
  223. package/sdk/src/query/profile-output.ts +0 -908
  224. package/sdk/src/query/profile-questionnaire-data.ts +0 -181
  225. package/sdk/src/query/profile-sample.ts +0 -184
  226. package/sdk/src/query/profile-scan-sessions.ts +0 -174
  227. package/sdk/src/query/workspace.test.ts +0 -119
  228. package/sdk/src/query/workspace.ts +0 -131
  229. package/sdk/src/query/workstream.test.ts +0 -51
  230. package/sdk/src/query/workstream.ts +0 -434
@@ -1,111 +0,0 @@
1
- # Workstream Flag (`--ws`)
2
-
3
- ## Overview
4
-
5
- The `--ws <name>` flag scopes GSD operations to a specific workstream, enabling
6
- parallel milestone work by multiple Claude Code instances on the same codebase.
7
-
8
- ## Resolution Priority
9
-
10
- 1. `--ws <name>` flag (explicit, highest priority)
11
- 2. `GSD_WORKSTREAM` environment variable (per-instance)
12
- 3. Session-scoped active workstream pointer in temp storage (per runtime session / terminal)
13
- 4. `.planning/active-workstream` file (legacy shared fallback when no session key exists)
14
- 5. `null` — flat mode (no workstreams)
15
-
16
- ## Why session-scoped pointers exist
17
-
18
- The shared `.planning/active-workstream` file is fundamentally unsafe when multiple
19
- Claude/Codex instances are active on the same repo at the same time. One session can
20
- silently repoint another session's `STATE.md`, `ROADMAP.md`, and phase paths.
21
-
22
- GSD now prefers a session-scoped pointer keyed by runtime/session identity
23
- (`GSD_SESSION_KEY`, `CODEX_THREAD_ID`, `CLAUDE_CODE_SSE_PORT`, terminal session IDs,
24
- or the controlling TTY). This keeps concurrent sessions isolated while preserving
25
- legacy compatibility for runtimes that do not expose a stable session key.
26
-
27
- ## Session Identity Resolution
28
-
29
- When GSD resolves the session-scoped pointer in step 3 above, it uses this order:
30
-
31
- 1. Explicit runtime/session env vars such as `GSD_SESSION_KEY`, `CODEX_THREAD_ID`,
32
- `CLAUDE_SESSION_ID`, `CLAUDE_CODE_SSE_PORT`, `OPENCODE_SESSION_ID`,
33
- `GEMINI_SESSION_ID`, `CURSOR_SESSION_ID`, `WINDSURF_SESSION_ID`,
34
- `TERM_SESSION_ID`, `WT_SESSION`, `TMUX_PANE`, and `ZELLIJ_SESSION_NAME`
35
- 2. `TTY` or `SSH_TTY` if the shell/runtime already exposes the terminal path
36
- 3. A single best-effort `tty` probe, but only when stdin is interactive
37
-
38
- If none of those produce a stable identity, GSD does not keep probing. It falls
39
- back directly to the legacy shared `.planning/active-workstream` file.
40
-
41
- This matters in headless or stripped environments: when stdin is already
42
- non-interactive, GSD intentionally skips shelling out to `tty` because that path
43
- cannot discover a stable session identity and only adds avoidable failures on the
44
- routing hot path.
45
-
46
- ## Pointer Lifecycle
47
-
48
- Session-scoped pointers are intentionally lightweight and best-effort:
49
-
50
- - Clearing a workstream for one session removes only that session's pointer file
51
- - If that was the last pointer for the repo, GSD also removes the now-empty
52
- per-project temp directory
53
- - If sibling session pointers still exist, the temp directory is left in place
54
- - When a pointer refers to a workstream directory that no longer exists, GSD
55
- treats it as stale state: it removes that pointer file and resolves to `null`
56
- until the session explicitly sets a new active workstream again
57
-
58
- GSD does not currently run a background garbage collector for historical temp
59
- directories. Cleanup is opportunistic at the pointer being cleared or self-healed,
60
- and broader temp hygiene is left to OS temp cleanup or future maintenance work.
61
-
62
- ## Routing Propagation
63
-
64
- All workflow routing commands include `${GSD_WS}` which:
65
- - Expands to `--ws <name>` when a workstream is active
66
- - Expands to empty string in flat mode (backward compatible)
67
-
68
- This ensures workstream scope chains automatically through the workflow:
69
- `new-milestone → discuss-phase → plan-phase → execute-phase → transition`
70
-
71
- ## Directory Structure
72
-
73
- ```
74
- .planning/
75
- ├── PROJECT.md # Shared
76
- ├── config.json # Shared
77
- ├── milestones/ # Shared
78
- ├── codebase/ # Shared
79
- ├── active-workstream # Legacy shared fallback only
80
- └── workstreams/
81
- ├── feature-a/ # Workstream A
82
- │ ├── STATE.md
83
- │ ├── ROADMAP.md
84
- │ ├── REQUIREMENTS.md
85
- │ └── phases/
86
- └── feature-b/ # Workstream B
87
- ├── STATE.md
88
- ├── ROADMAP.md
89
- ├── REQUIREMENTS.md
90
- └── phases/
91
- ```
92
-
93
- ## CLI Usage
94
-
95
- ```bash
96
- # All gsd-remix-sdk query commands accept --ws
97
- gsd-remix-sdk query state.json --ws feature-a
98
- gsd-remix-sdk query find-phase 3 --ws feature-b
99
-
100
- # Session-local switching without --ws on every command
101
- GSD_SESSION_KEY=my-terminal-a gsd-remix-sdk query workstream.set feature-a
102
- GSD_SESSION_KEY=my-terminal-a gsd-remix-sdk query state.json
103
- GSD_SESSION_KEY=my-terminal-b gsd-remix-sdk query workstream.set feature-b
104
- GSD_SESSION_KEY=my-terminal-b gsd-remix-sdk query state.json
105
-
106
- # Workstream CRUD
107
- gsd-remix-sdk query workstream.create <name>
108
- gsd-remix-sdk query workstream.list
109
- gsd-remix-sdk query workstream.status <name>
110
- gsd-remix-sdk query workstream.complete <name>
111
- ```
@@ -1,246 +0,0 @@
1
- # AI-SPEC — Phase {N}: {phase_name}
2
-
3
- > AI design contract generated by `/gsd-ai-integration-phase`. Consumed by `gsd-planner` and `gsd-eval-auditor`.
4
- > Locks framework selection, implementation guidance, and evaluation strategy before planning begins.
5
-
6
- ---
7
-
8
- ## 1. System Classification
9
-
10
- **System Type:** <!-- RAG | Multi-Agent | Conversational | Extraction | Autonomous Agent | Content Generation | Code Automation | Hybrid -->
11
-
12
- **Description:**
13
- <!-- One-paragraph description of what this AI system does, who uses it, and what "good" looks like -->
14
-
15
- **Critical Failure Modes:**
16
- <!-- The 3-5 behaviors that absolutely cannot go wrong in this system -->
17
- 1.
18
- 2.
19
- 3.
20
-
21
- ---
22
-
23
- ## 1b. Domain Context
24
-
25
- > Researched by `gsd-domain-researcher`. Grounds the evaluation strategy in domain expert knowledge.
26
-
27
- **Industry Vertical:** <!-- healthcare | legal | finance | customer service | education | developer tooling | e-commerce | etc. -->
28
-
29
- **User Population:** <!-- who uses this system and in what context -->
30
-
31
- **Stakes Level:** <!-- Low | Medium | High | Critical -->
32
-
33
- **Output Consequence:** <!-- what happens downstream when the AI output is acted on -->
34
-
35
- ### What Domain Experts Evaluate Against
36
-
37
- <!-- Domain-specific rubric ingredients — in practitioner language, not AI jargon -->
38
- <!-- Format: Dimension / Good (expert accepts) / Bad (expert flags) / Stakes / Source -->
39
-
40
- ### Known Failure Modes in This Domain
41
-
42
- <!-- Domain-specific failure modes from research — not generic hallucination, but how it manifests here -->
43
-
44
- ### Regulatory / Compliance Context
45
-
46
- <!-- Relevant regulations or constraints — or "None identified" if genuinely none apply -->
47
-
48
- ### Domain Expert Roles for Evaluation
49
-
50
- | Role | Responsibility |
51
- |------|---------------|
52
- | <!-- e.g., Senior practitioner --> | <!-- Dataset labeling / rubric calibration / production sampling --> |
53
-
54
- ---
55
-
56
- ## 2. Framework Decision
57
-
58
- **Selected Framework:** <!-- e.g., LlamaIndex v0.10.x -->
59
-
60
- **Version:** <!-- Pin the version -->
61
-
62
- **Rationale:**
63
- <!-- Why this framework fits this system type, team context, and production requirements -->
64
-
65
- **Alternatives Considered:**
66
-
67
- | Framework | Ruled Out Because |
68
- |-----------|------------------|
69
- | | |
70
-
71
- **Vendor Lock-In Accepted:** <!-- Yes / No / Partial — document the trade-off consciously -->
72
-
73
- ---
74
-
75
- ## 3. Framework Quick Reference
76
-
77
- > Fetched from official docs by `gsd-ai-researcher`. Distilled for this specific use case.
78
-
79
- ### Installation
80
- ```bash
81
- # Install command(s)
82
- ```
83
-
84
- ### Core Imports
85
- ```python
86
- # Key imports for this use case
87
- ```
88
-
89
- ### Entry Point Pattern
90
- ```python
91
- # Minimal working example for this system type
92
- ```
93
-
94
- ### Key Abstractions
95
- <!-- Framework-specific concepts the developer must understand before coding -->
96
- | Concept | What It Is | When You Use It |
97
- |---------|-----------|-----------------|
98
- | | | |
99
-
100
- ### Common Pitfalls
101
- <!-- Gotchas specific to this framework and system type — from docs, issues, and community reports -->
102
- 1.
103
- 2.
104
- 3.
105
-
106
- ### Recommended Project Structure
107
- ```
108
- project/
109
- ├── # Framework-specific folder layout
110
- ```
111
-
112
- ---
113
-
114
- ## 4. Implementation Guidance
115
-
116
- **Model Configuration:**
117
- <!-- Which model(s), temperature, max tokens, and other key parameters -->
118
-
119
- **Core Pattern:**
120
- <!-- The primary implementation pattern for this system type in this framework -->
121
-
122
- **Tool Use:**
123
- <!-- Tools/integrations needed and how to configure them -->
124
-
125
- **State Management:**
126
- <!-- How state is persisted, retrieved, and updated -->
127
-
128
- **Context Window Strategy:**
129
- <!-- How to manage context limits for this system type -->
130
-
131
- ---
132
-
133
- ## 4b. AI Systems Best Practices
134
-
135
- > Written by `gsd-ai-researcher`. Cross-cutting patterns every developer building AI systems needs — independent of framework choice.
136
-
137
- ### Structured Outputs with Pydantic
138
-
139
- <!-- Framework-specific Pydantic integration pattern for this use case -->
140
- <!-- Include: output model definition, how the framework uses it, retry logic on validation failure -->
141
-
142
- ```python
143
- # Pydantic output model for this system type
144
- ```
145
-
146
- ### Async-First Design
147
-
148
- <!-- How async is handled in this framework, the one common mistake, and when to stream vs. await -->
149
-
150
- ### Prompt Engineering Discipline
151
-
152
- <!-- System vs. user prompt separation, few-shot guidance, token budget strategy -->
153
-
154
- ### Context Window Management
155
-
156
- <!-- Strategy specific to this system type: RAG chunking / conversation summarisation / agent compaction -->
157
-
158
- ### Cost and Latency Budget
159
-
160
- <!-- Per-call cost estimate, caching strategy, sub-task model routing -->
161
-
162
- ---
163
-
164
- ## 5. Evaluation Strategy
165
-
166
- ### Dimensions
167
-
168
- | Dimension | Rubric (Pass/Fail or 1-5) | Measurement Approach | Priority |
169
- |-----------|--------------------------|---------------------|----------|
170
- | | | Code / LLM Judge / Human | Critical / High / Medium |
171
-
172
- ### Eval Tooling
173
-
174
- **Primary Tool:** <!-- e.g., RAGAS + Langfuse -->
175
-
176
- **Setup:**
177
- ```bash
178
- # Install and configure
179
- ```
180
-
181
- **CI/CD Integration:**
182
- ```bash
183
- # Command to run evals in CI/CD pipeline
184
- ```
185
-
186
- ### Reference Dataset
187
-
188
- **Size:** <!-- e.g., 20 examples to start -->
189
-
190
- **Composition:**
191
- <!-- What scenario types the dataset covers: critical paths, edge cases, failure modes -->
192
-
193
- **Labeling:**
194
- <!-- Who labels examples and how (domain expert, LLM judge with calibration, etc.) -->
195
-
196
- ---
197
-
198
- ## 6. Guardrails
199
-
200
- ### Online (Real-Time)
201
-
202
- | Guardrail | Trigger | Intervention |
203
- |-----------|---------|--------------|
204
- | | | Block / Escalate / Flag |
205
-
206
- ### Offline (Flywheel)
207
-
208
- | Metric | Sampling Strategy | Action on Degradation |
209
- |--------|------------------|----------------------|
210
- | | | |
211
-
212
- ---
213
-
214
- ## 7. Production Monitoring
215
-
216
- **Tracing Tool:** <!-- e.g., Langfuse self-hosted -->
217
-
218
- **Key Metrics to Track:**
219
- <!-- 3-5 metrics that will be monitored in production -->
220
-
221
- **Alert Thresholds:**
222
- <!-- When to page/alert -->
223
-
224
- **Smart Sampling Strategy:**
225
- <!-- How to select interactions for human review — signal-based filters -->
226
-
227
- ---
228
-
229
- ## Checklist
230
-
231
- - [ ] System type classified
232
- - [ ] Critical failure modes identified (≥ 3)
233
- - [ ] Domain context researched (Section 1b: vertical, stakes, expert criteria, failure modes)
234
- - [ ] Regulatory/compliance context identified or explicitly noted as none
235
- - [ ] Domain expert roles defined for evaluation involvement
236
- - [ ] Framework selected with rationale documented
237
- - [ ] Alternatives considered and ruled out
238
- - [ ] Framework quick reference written (install, imports, pattern, pitfalls)
239
- - [ ] AI systems best practices written (Section 4b: Pydantic, async, prompt discipline, context)
240
- - [ ] Evaluation dimensions grounded in domain rubric ingredients
241
- - [ ] Each eval dimension has a concrete rubric (Good/Bad in domain language)
242
- - [ ] Eval tooling selected — Arize Phoenix default confirmed or override noted
243
- - [ ] Reference dataset spec written (size ≥ 10, composition + labeling defined)
244
- - [ ] CI/CD eval integration specified
245
- - [ ] Online guardrails defined
246
- - [ ] Production monitoring configured (tracing tool + sampling strategy)
@@ -1,61 +0,0 @@
1
- ---
2
- phase: {N}
3
- slug: {phase-slug}
4
- status: draft
5
- threats_open: 0
6
- asvs_level: 1
7
- created: {date}
8
- ---
9
-
10
- # Phase {N} — Security
11
-
12
- > Per-phase security contract: threat register, accepted risks, and audit trail.
13
-
14
- ---
15
-
16
- ## Trust Boundaries
17
-
18
- | Boundary | Description | Data Crossing |
19
- |----------|-------------|---------------|
20
- | {boundary} | {description} | {data type / sensitivity} |
21
-
22
- ---
23
-
24
- ## Threat Register
25
-
26
- | Threat ID | Category | Component | Disposition | Mitigation | Status |
27
- |-----------|----------|-----------|-------------|------------|--------|
28
- | T-{N}-01 | {STRIDE category} | {component} | {mitigate / accept / transfer} | {control or reference} | open |
29
-
30
- *Status: open · closed*
31
- *Disposition: mitigate (implementation required) · accept (documented risk) · transfer (third-party)*
32
-
33
- ---
34
-
35
- ## Accepted Risks Log
36
-
37
- | Risk ID | Threat Ref | Rationale | Accepted By | Date |
38
- |---------|------------|-----------|-------------|------|
39
-
40
- *Accepted risks do not resurface in future audit runs.*
41
-
42
- *If none: "No accepted risks."*
43
-
44
- ---
45
-
46
- ## Security Audit Trail
47
-
48
- | Audit Date | Threats Total | Closed | Open | Run By |
49
- |------------|---------------|--------|------|--------|
50
- | {YYYY-MM-DD} | {N} | {N} | {N} | {name / agent} |
51
-
52
- ---
53
-
54
- ## Sign-Off
55
-
56
- - [ ] All threats have a disposition (mitigate / accept / transfer)
57
- - [ ] Accepted risks documented in Accepted Risks Log
58
- - [ ] `threats_open: 0` confirmed
59
- - [ ] `status: verified` set in frontmatter
60
-
61
- **Approval:** {pending / verified YYYY-MM-DD}
@@ -1,100 +0,0 @@
1
- ---
2
- phase: {N}
3
- slug: {phase-slug}
4
- status: draft
5
- shadcn_initialized: false
6
- preset: none
7
- created: {date}
8
- ---
9
-
10
- # Phase {N} — UI Design Contract
11
-
12
- > Visual and interaction contract for frontend phases. Generated by gsd-ui-researcher, verified by gsd-ui-checker.
13
-
14
- ---
15
-
16
- ## Design System
17
-
18
- | Property | Value |
19
- |----------|-------|
20
- | Tool | {shadcn / none} |
21
- | Preset | {preset string or "not applicable"} |
22
- | Component library | {radix / base-ui / none} |
23
- | Icon library | {library} |
24
- | Font | {font} |
25
-
26
- ---
27
-
28
- ## Spacing Scale
29
-
30
- Declared values (must be multiples of 4):
31
-
32
- | Token | Value | Usage |
33
- |-------|-------|-------|
34
- | xs | 4px | Icon gaps, inline padding |
35
- | sm | 8px | Compact element spacing |
36
- | md | 16px | Default element spacing |
37
- | lg | 24px | Section padding |
38
- | xl | 32px | Layout gaps |
39
- | 2xl | 48px | Major section breaks |
40
- | 3xl | 64px | Page-level spacing |
41
-
42
- Exceptions: {list any, or "none"}
43
-
44
- ---
45
-
46
- ## Typography
47
-
48
- | Role | Size | Weight | Line Height |
49
- |------|------|--------|-------------|
50
- | Body | {px} | {weight} | {ratio} |
51
- | Label | {px} | {weight} | {ratio} |
52
- | Heading | {px} | {weight} | {ratio} |
53
- | Display | {px} | {weight} | {ratio} |
54
-
55
- ---
56
-
57
- ## Color
58
-
59
- | Role | Value | Usage |
60
- |------|-------|-------|
61
- | Dominant (60%) | {hex} | Background, surfaces |
62
- | Secondary (30%) | {hex} | Cards, sidebar, nav |
63
- | Accent (10%) | {hex} | {list specific elements only} |
64
- | Destructive | {hex} | Destructive actions only |
65
-
66
- Accent reserved for: {explicit list — never "all interactive elements"}
67
-
68
- ---
69
-
70
- ## Copywriting Contract
71
-
72
- | Element | Copy |
73
- |---------|------|
74
- | Primary CTA | {specific verb + noun} |
75
- | Empty state heading | {copy} |
76
- | Empty state body | {copy + next step} |
77
- | Error state | {problem + solution path} |
78
- | Destructive confirmation | {action name}: {confirmation copy} |
79
-
80
- ---
81
-
82
- ## Registry Safety
83
-
84
- | Registry | Blocks Used | Safety Gate |
85
- |----------|-------------|-------------|
86
- | shadcn official | {list} | not required |
87
- | {third-party name} | {list} | shadcn view + diff required |
88
-
89
- ---
90
-
91
- ## Checker Sign-Off
92
-
93
- - [ ] Dimension 1 Copywriting: PASS
94
- - [ ] Dimension 2 Visuals: PASS
95
- - [ ] Dimension 3 Color: PASS
96
- - [ ] Dimension 4 Typography: PASS
97
- - [ ] Dimension 5 Spacing: PASS
98
- - [ ] Dimension 6 Registry Safety: PASS
99
-
100
- **Approval:** {pending / approved YYYY-MM-DD}
@@ -1,76 +0,0 @@
1
- ---
2
- phase: {N}
3
- slug: {phase-slug}
4
- status: draft
5
- nyquist_compliant: false
6
- wave_0_complete: false
7
- created: {date}
8
- ---
9
-
10
- # Phase {N} — Validation Strategy
11
-
12
- > Per-phase validation contract for feedback sampling during execution.
13
-
14
- ---
15
-
16
- ## Test Infrastructure
17
-
18
- | Property | Value |
19
- |----------|-------|
20
- | **Framework** | {pytest 7.x / jest 29.x / vitest / go test / other} |
21
- | **Config file** | {path or "none — Wave 0 installs"} |
22
- | **Quick run command** | `{quick command}` |
23
- | **Full suite command** | `{full command}` |
24
- | **Estimated runtime** | ~{N} seconds |
25
-
26
- ---
27
-
28
- ## Sampling Rate
29
-
30
- - **After every task commit:** Run `{quick run command}`
31
- - **After every plan wave:** Run `{full suite command}`
32
- - **Before `/gsd-verify-work`:** Full suite must be green
33
- - **Max feedback latency:** {N} seconds
34
-
35
- ---
36
-
37
- ## Per-Task Verification Map
38
-
39
- | Task ID | Plan | Wave | Requirement | Threat Ref | Secure Behavior | Test Type | Automated Command | File Exists | Status |
40
- |---------|------|------|-------------|------------|-----------------|-----------|-------------------|-------------|--------|
41
- | {N}-01-01 | 01 | 1 | REQ-{XX} | T-{N}-01 / — | {expected secure behavior or "N/A"} | unit | `{command}` | ✅ / ❌ W0 | ⬜ pending |
42
-
43
- *Status: ⬜ pending · ✅ green · ❌ red · ⚠️ flaky*
44
-
45
- ---
46
-
47
- ## Wave 0 Requirements
48
-
49
- - [ ] `{tests/test_file.py}` — stubs for REQ-{XX}
50
- - [ ] `{tests/conftest.py}` — shared fixtures
51
- - [ ] `{framework install}` — if no framework detected
52
-
53
- *If none: "Existing infrastructure covers all phase requirements."*
54
-
55
- ---
56
-
57
- ## Manual-Only Verifications
58
-
59
- | Behavior | Requirement | Why Manual | Test Instructions |
60
- |----------|-------------|------------|-------------------|
61
- | {behavior} | REQ-{XX} | {reason} | {steps} |
62
-
63
- *If none: "All phase behaviors have automated verification."*
64
-
65
- ---
66
-
67
- ## Validation Sign-Off
68
-
69
- - [ ] All tasks have `<automated>` verify or Wave 0 dependencies
70
- - [ ] Sampling continuity: no 3 consecutive tasks without automated verify
71
- - [ ] Wave 0 covers all MISSING references
72
- - [ ] No watch-mode flags
73
- - [ ] Feedback latency < {N}s
74
- - [ ] `nyquist_compliant: true` set in frontmatter
75
-
76
- **Approval:** {pending / approved YYYY-MM-DD}
@@ -1,21 +0,0 @@
1
- ---
2
- description: Load developer preferences into this session
3
- ---
4
-
5
- # Developer Preferences
6
-
7
- > Generated by GSD on {{generated_at}} from {{data_source}}.
8
- > Run `/gsd-profile-user --refresh` to regenerate.
9
-
10
- ## Behavioral Directives
11
-
12
- Follow these directives when working with this developer. Higher confidence
13
- directives should be applied directly. Lower confidence directives should be
14
- tried with hedging ("Based on your profile, I'll try X -- let me know if
15
- that's off").
16
-
17
- {{behavioral_directives}}
18
-
19
- ## Stack Preferences
20
-
21
- {{stack_preferences}}