@undeemed/get-shit-done-codex 1.6.12 → 1.20.3

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 (114) hide show
  1. package/README.md +40 -7
  2. package/agents/gsd-codebase-mapper.md +761 -0
  3. package/agents/gsd-debugger.md +1198 -0
  4. package/agents/gsd-executor.md +419 -0
  5. package/agents/gsd-integration-checker.md +423 -0
  6. package/agents/gsd-phase-researcher.md +469 -0
  7. package/agents/gsd-plan-checker.md +622 -0
  8. package/agents/gsd-planner.md +1159 -0
  9. package/agents/gsd-project-researcher.md +618 -0
  10. package/agents/gsd-research-synthesizer.md +236 -0
  11. package/agents/gsd-roadmapper.md +639 -0
  12. package/agents/gsd-verifier.md +541 -0
  13. package/bin/install.js +108 -102
  14. package/commands/gsd/add-phase.md +17 -185
  15. package/commands/gsd/add-todo.md +23 -163
  16. package/commands/gsd/audit-milestone.md +3 -219
  17. package/commands/gsd/check-todos.md +20 -196
  18. package/commands/gsd/cleanup.md +18 -0
  19. package/commands/gsd/complete-milestone.md +2 -2
  20. package/commands/gsd/debug.md +13 -0
  21. package/commands/gsd/discuss-phase.md +13 -6
  22. package/commands/gsd/execute-phase.md +4 -266
  23. package/commands/gsd/health.md +22 -0
  24. package/commands/gsd/help.md +8 -369
  25. package/commands/gsd/insert-phase.md +9 -203
  26. package/commands/gsd/join-discord.md +18 -0
  27. package/commands/gsd/list-phase-assumptions.md +4 -4
  28. package/commands/gsd/map-codebase.md +1 -1
  29. package/commands/gsd/new-milestone.md +16 -682
  30. package/commands/gsd/new-project.md +12 -866
  31. package/commands/gsd/new-project.md.bak +1041 -0
  32. package/commands/gsd/pause-work.md +17 -105
  33. package/commands/gsd/plan-milestone-gaps.md +3 -247
  34. package/commands/gsd/plan-phase.md +13 -444
  35. package/commands/gsd/progress.md +5 -337
  36. package/commands/gsd/quick.md +40 -0
  37. package/commands/gsd/reapply-patches.md +110 -0
  38. package/commands/gsd/remove-phase.md +9 -315
  39. package/commands/gsd/research-phase.md +27 -20
  40. package/commands/gsd/resume-work.md +2 -2
  41. package/commands/gsd/set-profile.md +34 -0
  42. package/commands/gsd/settings.md +36 -0
  43. package/commands/gsd/update.md +25 -160
  44. package/commands/gsd/verify-work.md +6 -186
  45. package/get-shit-done/bin/gsd-tools.cjs +5243 -0
  46. package/get-shit-done/bin/gsd-tools.test.cjs +2273 -0
  47. package/get-shit-done/references/checkpoints.md +270 -283
  48. package/get-shit-done/references/decimal-phase-calculation.md +65 -0
  49. package/get-shit-done/references/git-integration.md +7 -13
  50. package/get-shit-done/references/git-planning-commit.md +38 -0
  51. package/get-shit-done/references/model-profile-resolution.md +34 -0
  52. package/get-shit-done/references/model-profiles.md +92 -0
  53. package/get-shit-done/references/phase-argument-parsing.md +61 -0
  54. package/get-shit-done/references/planning-config.md +196 -0
  55. package/get-shit-done/references/questioning.md +5 -1
  56. package/get-shit-done/references/verification-patterns.md +17 -0
  57. package/get-shit-done/templates/DEBUG.md +4 -4
  58. package/get-shit-done/templates/UAT.md +1 -1
  59. package/get-shit-done/templates/codebase/architecture.md +1 -1
  60. package/get-shit-done/templates/codebase/concerns.md +1 -1
  61. package/get-shit-done/templates/codebase/conventions.md +1 -1
  62. package/get-shit-done/templates/codebase/structure.md +9 -9
  63. package/get-shit-done/templates/config.json +10 -0
  64. package/get-shit-done/templates/context.md +7 -15
  65. package/get-shit-done/templates/continue-here.md +1 -1
  66. package/get-shit-done/templates/phase-prompt.md +32 -41
  67. package/get-shit-done/templates/planner-subagent-prompt.md +4 -4
  68. package/get-shit-done/templates/project.md +1 -1
  69. package/get-shit-done/templates/research-project/ARCHITECTURE.md +1 -1
  70. package/get-shit-done/templates/research.md +27 -4
  71. package/get-shit-done/templates/state.md +1 -31
  72. package/get-shit-done/templates/summary-complex.md +59 -0
  73. package/get-shit-done/templates/summary-minimal.md +41 -0
  74. package/get-shit-done/templates/summary-standard.md +48 -0
  75. package/get-shit-done/templates/summary.md +5 -28
  76. package/get-shit-done/templates/user-setup.md +8 -20
  77. package/get-shit-done/templates/verification-report.md +3 -3
  78. package/get-shit-done/workflows/add-phase.md +111 -0
  79. package/get-shit-done/workflows/add-todo.md +157 -0
  80. package/get-shit-done/workflows/audit-milestone.md +242 -0
  81. package/get-shit-done/workflows/check-todos.md +176 -0
  82. package/get-shit-done/workflows/cleanup.md +152 -0
  83. package/get-shit-done/workflows/complete-milestone.md +225 -301
  84. package/get-shit-done/workflows/diagnose-issues.md +3 -17
  85. package/get-shit-done/workflows/discovery-phase.md +11 -15
  86. package/get-shit-done/workflows/discuss-phase.md +105 -42
  87. package/get-shit-done/workflows/execute-phase.md +205 -349
  88. package/get-shit-done/workflows/execute-plan.md +179 -1569
  89. package/get-shit-done/workflows/health.md +156 -0
  90. package/get-shit-done/workflows/help.md +486 -0
  91. package/get-shit-done/workflows/insert-phase.md +129 -0
  92. package/get-shit-done/workflows/list-phase-assumptions.md +9 -9
  93. package/get-shit-done/workflows/map-codebase.md +56 -18
  94. package/get-shit-done/workflows/new-milestone.md +373 -0
  95. package/get-shit-done/workflows/new-project.md +1113 -0
  96. package/get-shit-done/workflows/pause-work.md +122 -0
  97. package/get-shit-done/workflows/plan-milestone-gaps.md +256 -0
  98. package/get-shit-done/workflows/plan-phase.md +448 -0
  99. package/get-shit-done/workflows/progress.md +393 -0
  100. package/get-shit-done/workflows/quick.md +444 -0
  101. package/get-shit-done/workflows/remove-phase.md +154 -0
  102. package/get-shit-done/workflows/research-phase.md +74 -0
  103. package/get-shit-done/workflows/resume-project.md +18 -23
  104. package/get-shit-done/workflows/set-profile.md +80 -0
  105. package/get-shit-done/workflows/settings.md +200 -0
  106. package/get-shit-done/workflows/transition.md +78 -103
  107. package/get-shit-done/workflows/update.md +214 -0
  108. package/get-shit-done/workflows/verify-phase.md +109 -496
  109. package/get-shit-done/workflows/verify-work.md +22 -15
  110. package/hooks/dist/gsd-check-update.js +66 -0
  111. package/hooks/dist/gsd-statusline.js +91 -0
  112. package/package.json +19 -3
  113. package/scripts/build-hooks.js +42 -0
  114. package/commands/gsd/whats-new.md +0 -124
@@ -15,7 +15,7 @@ Template for `.planning/codebase/STRUCTURE.md` - captures physical file organiza
15
15
 
16
16
  ## Directory Layout
17
17
 
18
- [ASCII tree of top-level directories with purpose]
18
+ [ASCII box-drawing tree of top-level directories with purpose - use ├── └── │ characters for tree structure only]
19
19
 
20
20
  ```
21
21
  [project-root]/
@@ -146,7 +146,7 @@ get-shit-done/
146
146
  - Subdirectories: None
147
147
 
148
148
  **commands/gsd/**
149
- - Purpose: Slash command definitions for Claude Code
149
+ - Purpose: Slash command definitions for Codex CLI
150
150
  - Contains: *.md files (one per command)
151
151
  - Key files: new-project.md, plan-phase.md, execute-plan.md
152
152
  - Subdirectories: None (flat structure)
@@ -186,14 +186,14 @@ get-shit-done/
186
186
 
187
187
  **Documentation:**
188
188
  - `README.md` - User-facing installation and usage guide
189
- - `CLAUDE.md` - Instructions for Claude Code when working in this repo
189
+ - `CODEX.md` - Instructions for Codex CLI when working in this repo
190
190
 
191
191
  ## Naming Conventions
192
192
 
193
193
  **Files:**
194
194
  - kebab-case.md: Markdown documents
195
195
  - kebab-case.js: JavaScript source files
196
- - UPPERCASE.md: Important project files (README, CLAUDE, CHANGELOG)
196
+ - UPPERCASE.md: Important project files (README, CODEX, CHANGELOG)
197
197
 
198
198
  **Directories:**
199
199
  - kebab-case: All directories
@@ -216,7 +216,7 @@ get-shit-done/
216
216
 
217
217
  **New Workflow:**
218
218
  - Implementation: `get-shit-done/workflows/{name}.md`
219
- - Usage: Reference from command with `@~/.claude/get-shit-done/workflows/{name}.md`
219
+ - Usage: Reference from command with `@~/.codex/get-shit-done/workflows/{name}.md`
220
220
 
221
221
  **New Reference Document:**
222
222
  - Implementation: `get-shit-done/references/{name}.md`
@@ -229,12 +229,12 @@ get-shit-done/
229
229
  ## Special Directories
230
230
 
231
231
  **get-shit-done/**
232
- - Purpose: Resources installed to ~/.claude/
232
+ - Purpose: Resources installed to ~/.codex/
233
233
  - Source: Copied by bin/install.js during installation
234
234
  - Committed: Yes (source of truth)
235
235
 
236
236
  **commands/**
237
- - Purpose: Slash commands installed to ~/.claude/commands/
237
+ - Purpose: Slash commands installed to ~/.codex/commands/
238
238
  - Source: Copied by bin/install.js during installation
239
239
  - Committed: Yes (source of truth)
240
240
 
@@ -247,7 +247,7 @@ get-shit-done/
247
247
 
248
248
  <guidelines>
249
249
  **What belongs in STRUCTURE.md:**
250
- - Directory layout (ASCII tree)
250
+ - Directory layout (ASCII box-drawing tree for structure visualization)
251
251
  - Purpose of each directory
252
252
  - Key file locations (entry points, configs, core logic)
253
253
  - Naming conventions
@@ -267,7 +267,7 @@ get-shit-done/
267
267
  - Locate entry points, configs, and main logic areas
268
268
  - Keep directory tree concise (max 2-3 levels)
269
269
 
270
- **ASCII tree format:**
270
+ **Tree format (ASCII box-drawing characters for structure only):**
271
271
  ```
272
272
  root/
273
273
  ├── dir1/ # Purpose
@@ -1,6 +1,16 @@
1
1
  {
2
2
  "mode": "interactive",
3
3
  "depth": "standard",
4
+ "workflow": {
5
+ "research": true,
6
+ "plan_check": true,
7
+ "verifier": true,
8
+ "auto_advance": false
9
+ },
10
+ "planning": {
11
+ "commit_docs": true,
12
+ "search_gitignored": false
13
+ },
4
14
  "parallelization": {
5
15
  "enabled": true,
6
16
  "plan_level": true,
@@ -1,6 +1,6 @@
1
1
  # Phase Context Template
2
2
 
3
- Template for `.planning/phases/XX-name/{phase}-CONTEXT.md` - captures implementation decisions for a phase.
3
+ Template for `.planning/phases/XX-name/{phase_num}-CONTEXT.md` - captures implementation decisions for a phase.
4
4
 
5
5
  **Purpose:** Document decisions that downstream agents need. Researcher uses this to know WHAT to investigate. Planner uses this to know WHAT choices are locked vs flexible.
6
6
 
@@ -40,8 +40,8 @@ Template for `.planning/phases/XX-name/{phase}-CONTEXT.md` - captures implementa
40
40
  ### [Area 3 that was discussed]
41
41
  - [Specific decision made]
42
42
 
43
- ### Claude's Discretion
44
- [Areas where user explicitly said "you decide" — Claude has flexibility here during planning/implementation]
43
+ ### Codex's Discretion
44
+ [Areas where user explicitly said "you decide" — Codex has flexibility here during planning/implementation]
45
45
 
46
46
  </decisions>
47
47
 
@@ -103,7 +103,7 @@ Display posts from followed users in a scrollable feed. Users can view posts and
103
103
  - Friendly illustration + "Follow people to see posts here"
104
104
  - Suggest 3-5 accounts to follow based on interests
105
105
 
106
- ### Claude's Discretion
106
+ ### Codex's Discretion
107
107
  - Loading skeleton design
108
108
  - Exact spacing and typography
109
109
  - Error state handling
@@ -165,7 +165,7 @@ CLI command to backup database to local file or S3. Supports full and incrementa
165
165
  - --no-retry flag to fail fast
166
166
  - Partial backups are deleted on failure (no corrupt files)
167
167
 
168
- ### Claude's Discretion
168
+ ### Codex's Discretion
169
169
  - Exact progress bar implementation
170
170
  - Compression algorithm choice
171
171
  - Temp file handling
@@ -227,7 +227,7 @@ Organize existing photo library into structured folders. Handle duplicates and a
227
227
  - Preserve original filename as suffix for searchability
228
228
  - Handle name collisions with incrementing suffix
229
229
 
230
- ### Claude's Discretion
230
+ ### Codex's Discretion
231
231
  - Exact clustering algorithm
232
232
  - How to handle photos with no EXIF data
233
233
  - Folder emoji usage
@@ -275,16 +275,8 @@ The output should answer: "What does the researcher need to investigate? What ch
275
275
  - "Fast and responsive"
276
276
  - "Easy to use"
277
277
 
278
- **Sections explained:**
279
-
280
- - **Domain** — The scope anchor. Copied/derived from ROADMAP.md. Fixed boundary.
281
- - **Decisions** — Organized by areas discussed (NOT predefined categories). Section headers come from the actual discussion — "Layout style", "Flag design", "Grouping criteria", etc.
282
- - **Claude's Discretion** — Explicit acknowledgment of what Claude can decide during implementation.
283
- - **Specifics** — Product references, examples, "like X but..." statements.
284
- - **Deferred** — Ideas captured but explicitly out of scope. Prevents scope creep while preserving good ideas.
285
-
286
278
  **After creation:**
287
- - File lives in phase directory: `.planning/phases/XX-name/{phase}-CONTEXT.md`
279
+ - File lives in phase directory: `.planning/phases/XX-name/{phase_num}-CONTEXT.md`
288
280
  - `gsd-phase-researcher` uses decisions to focus investigation
289
281
  - `gsd-planner` uses decisions + research to create executable tasks
290
282
  - Downstream agents should NOT need to ask the user again about captured decisions
@@ -71,7 +71,7 @@ Required YAML frontmatter:
71
71
  </yaml_fields>
72
72
 
73
73
  <guidelines>
74
- - Be specific enough that a fresh Claude instance understands immediately
74
+ - Be specific enough that a fresh Codex instance understands immediately
75
75
  - Include WHY decisions were made, not just what
76
76
  - The `<next_action>` should be actionable without reading anything else
77
77
  - This file gets DELETED after resume - it's not permanent storage
@@ -20,7 +20,7 @@ wave: N # Execution wave (1, 2, 3...). Pre-computed at plan
20
20
  depends_on: [] # Plan IDs this plan requires (e.g., ["01-01"]).
21
21
  files_modified: [] # Files this plan modifies.
22
22
  autonomous: true # false if plan has checkpoints requiring user interaction
23
- user_setup: [] # Human-required setup Claude cannot automate (see below)
23
+ user_setup: [] # Human-required setup Codex cannot automate (see below)
24
24
 
25
25
  # Goal-backward verification (derived during planning, verified after execution)
26
26
  must_haves:
@@ -37,10 +37,10 @@ Output: [What artifacts will be created]
37
37
  </objective>
38
38
 
39
39
  <execution_context>
40
- @~/.claude/get-shit-done/workflows/execute-plan.md
41
- @~/.claude/get-shit-done/templates/summary.md
40
+ @~/.codex/get-shit-done/workflows/execute-plan.md
41
+ @~/.codex/get-shit-done/templates/summary.md
42
42
  [If plan contains checkpoint tasks (type="checkpoint:*"), add:]
43
- @~/.claude/get-shit-done/references/checkpoints.md
43
+ @~/.codex/get-shit-done/references/checkpoints.md
44
44
  </execution_context>
45
45
 
46
46
  <context>
@@ -75,33 +75,23 @@ Output: [What artifacts will be created]
75
75
  <done>[Acceptance criteria]</done>
76
76
  </task>
77
77
 
78
+ <!-- For checkpoint task examples and patterns, see @~/.codex/get-shit-done/references/checkpoints.md -->
79
+ <!-- Key rule: Codex starts dev server BEFORE human-verify checkpoints. User only visits URLs. -->
80
+
78
81
  <task type="checkpoint:decision" gate="blocking">
79
82
  <decision>[What needs deciding]</decision>
80
83
  <context>[Why this decision matters]</context>
81
84
  <options>
82
- <option id="option-a">
83
- <name>[Option name]</name>
84
- <pros>[Benefits and advantages]</pros>
85
- <cons>[Tradeoffs and limitations]</cons>
86
- </option>
87
- <option id="option-b">
88
- <name>[Option name]</name>
89
- <pros>[Benefits and advantages]</pros>
90
- <cons>[Tradeoffs and limitations]</cons>
91
- </option>
85
+ <option id="option-a"><name>[Name]</name><pros>[Benefits]</pros><cons>[Tradeoffs]</cons></option>
86
+ <option id="option-b"><name>[Name]</name><pros>[Benefits]</pros><cons>[Tradeoffs]</cons></option>
92
87
  </options>
93
- <resume-signal>[How to indicate choice - "Select: option-a or option-b"]</resume-signal>
88
+ <resume-signal>Select: option-a or option-b</resume-signal>
94
89
  </task>
95
90
 
96
91
  <task type="checkpoint:human-verify" gate="blocking">
97
- <what-built>[What Claude just built that needs verification]</what-built>
98
- <how-to-verify>
99
- 1. Run: [command to start dev server/app]
100
- 2. Visit: [URL to check]
101
- 3. Test: [Specific interactions]
102
- 4. Confirm: [Expected behaviors]
103
- </how-to-verify>
104
- <resume-signal>Type "approved" to continue, or describe issues to fix</resume-signal>
92
+ <what-built>[What Codex built] - server running at [URL]</what-built>
93
+ <how-to-verify>Visit [URL] and verify: [visual checks only, NO CLI commands]</how-to-verify>
94
+ <resume-signal>Type "approved" or describe issues</resume-signal>
105
95
  </task>
106
96
 
107
97
  </tasks>
@@ -278,7 +268,7 @@ TDD features get dedicated plans with `type: tdd`.
278
268
  → Yes: Create a TDD plan
279
269
  → No: Standard task in standard plan
280
270
 
281
- See `~/.claude/get-shit-done/references/tdd.md` for TDD plan structure.
271
+ See `~/.codex/get-shit-done/references/tdd.md` for TDD plan structure.
282
272
 
283
273
  ---
284
274
 
@@ -286,7 +276,7 @@ See `~/.claude/get-shit-done/references/tdd.md` for TDD plan structure.
286
276
 
287
277
  | Type | Use For | Autonomy |
288
278
  |------|---------|----------|
289
- | `auto` | Everything Claude can do independently | Fully autonomous |
279
+ | `auto` | Everything Codex can do independently | Fully autonomous |
290
280
  | `checkpoint:human-verify` | Visual/functional verification | Pauses, returns to orchestrator |
291
281
  | `checkpoint:decision` | Implementation choices | Pauses, returns to orchestrator |
292
282
  | `checkpoint:human-action` | Truly unavoidable manual steps (rare) | Pauses, returns to orchestrator |
@@ -382,9 +372,9 @@ Output: Working dashboard component.
382
372
  </objective>
383
373
 
384
374
  <execution_context>
385
- @~/.claude/get-shit-done/workflows/execute-plan.md
386
- @~/.claude/get-shit-done/templates/summary.md
387
- @~/.claude/get-shit-done/references/checkpoints.md
375
+ @~/.codex/get-shit-done/workflows/execute-plan.md
376
+ @~/.codex/get-shit-done/templates/summary.md
377
+ @~/.codex/get-shit-done/references/checkpoints.md
388
378
  </execution_context>
389
379
 
390
380
  <context>
@@ -403,15 +393,16 @@ Output: Working dashboard component.
403
393
  <done>Dashboard renders without errors</done>
404
394
  </task>
405
395
 
396
+ <!-- Checkpoint pattern: Codex starts server, user visits URL. See checkpoints.md for full patterns. -->
397
+ <task type="auto">
398
+ <name>Start dev server</name>
399
+ <action>Run `npm run dev` in background, wait for ready</action>
400
+ <verify>curl localhost:3000 returns 200</verify>
401
+ </task>
402
+
406
403
  <task type="checkpoint:human-verify" gate="blocking">
407
- <what-built>Responsive dashboard with user and product sections</what-built>
408
- <how-to-verify>
409
- 1. Run: npm run dev
410
- 2. Visit: http://localhost:3000/dashboard
411
- 3. Desktop: Verify two-column grid
412
- 4. Mobile: Verify stacked layout
413
- 5. Check: No layout shift, no scroll issues
414
- </how-to-verify>
404
+ <what-built>Dashboard - server at http://localhost:3000</what-built>
405
+ <how-to-verify>Visit localhost:3000/dashboard. Check: desktop grid, mobile stack, no scroll issues.</how-to-verify>
415
406
  <resume-signal>Type "approved" or describe issues</resume-signal>
416
407
  </task>
417
408
  </tasks>
@@ -467,7 +458,7 @@ files_modified: [...]
467
458
 
468
459
  ## Guidelines
469
460
 
470
- - Always use XML structure for Claude parsing
461
+ - Always use XML structure for Codex parsing
471
462
  - Include `wave`, `depends_on`, `files_modified`, `autonomous` in every plan
472
463
  - Prefer vertical slices over horizontal layers
473
464
  - Only reference prior SUMMARYs when genuinely needed
@@ -497,16 +488,16 @@ user_setup:
497
488
  - "stripe listen --forward-to localhost:3000/api/webhooks/stripe"
498
489
  ```
499
490
 
500
- **The automation-first rule:** `user_setup` contains ONLY what Claude literally cannot do:
491
+ **The automation-first rule:** `user_setup` contains ONLY what Codex literally cannot do:
501
492
  - Account creation (requires human signup)
502
493
  - Secret retrieval (requires dashboard access)
503
494
  - Dashboard configuration (requires human in browser)
504
495
 
505
- **NOT included:** Package installs, code changes, file creation, CLI commands Claude can run.
496
+ **NOT included:** Package installs, code changes, file creation, CLI commands Codex can run.
506
497
 
507
498
  **Result:** Execute-plan generates `{phase}-USER-SETUP.md` with checklist for the user.
508
499
 
509
- See `~/.claude/get-shit-done/templates/user-setup.md` for full schema and examples
500
+ See `~/.codex/get-shit-done/templates/user-setup.md` for full schema and examples
510
501
 
511
502
  ---
512
503
 
@@ -573,4 +564,4 @@ Task completion ≠ Goal achievement. A task "create chat component" can complet
573
564
  5. Gaps found → fix plans created → execute → re-verify
574
565
  6. All must_haves pass → phase complete
575
566
 
576
- See `~/.claude/get-shit-done/workflows/verify-phase.md` for verification logic.
567
+ See `~/.codex/get-shit-done/workflows/verify-phase.md` for verification logic.
@@ -22,14 +22,14 @@ Template for spawning gsd-planner agent. The agent contains all planning experti
22
22
  @.planning/REQUIREMENTS.md
23
23
 
24
24
  **Phase Context (if exists):**
25
- @.planning/phases/{phase_dir}/{phase}-CONTEXT.md
25
+ @.planning/phases/{phase_dir}/{phase_num}-CONTEXT.md
26
26
 
27
27
  **Research (if exists):**
28
- @.planning/phases/{phase_dir}/{phase}-RESEARCH.md
28
+ @.planning/phases/{phase_dir}/{phase_num}-RESEARCH.md
29
29
 
30
30
  **Gap Closure (if --gaps mode):**
31
- @.planning/phases/{phase_dir}/{phase}-VERIFICATION.md
32
- @.planning/phases/{phase_dir}/{phase}-UAT.md
31
+ @.planning/phases/{phase_dir}/{phase_num}-VERIFICATION.md
32
+ @.planning/phases/{phase_dir}/{phase_num}-UAT.md
33
33
 
34
34
  </planning_context>
35
35
 
@@ -179,6 +179,6 @@ See: .planning/PROJECT.md (updated [date])
179
179
  **Current focus:** [Current phase name]
180
180
  ```
181
181
 
182
- This ensures Claude reads current PROJECT.md context.
182
+ This ensures Codex reads current PROJECT.md context.
183
183
 
184
184
  </state_reference>
@@ -177,7 +177,7 @@ src/
177
177
  <guidelines>
178
178
 
179
179
  **System Overview:**
180
- - Use ASCII diagrams for clarity
180
+ - Use ASCII box-drawing diagrams for clarity (├── └── │ ─ for structure visualization only)
181
181
  - Show major components and their relationships
182
182
  - Don't over-detail — this is conceptual, not implementation
183
183
 
@@ -1,8 +1,8 @@
1
1
  # Research Template
2
2
 
3
- Template for `.planning/phases/XX-name/{phase}-RESEARCH.md` - comprehensive ecosystem research before planning.
3
+ Template for `.planning/phases/XX-name/{phase_num}-RESEARCH.md` - comprehensive ecosystem research before planning.
4
4
 
5
- **Purpose:** Document what Claude needs to know to implement a phase well - not just "which library" but "how do experts build this."
5
+ **Purpose:** Document what Codex needs to know to implement a phase well - not just "which library" but "how do experts build this."
6
6
 
7
7
  ---
8
8
 
@@ -15,6 +15,29 @@ Template for `.planning/phases/XX-name/{phase}-RESEARCH.md` - comprehensive ecos
15
15
  **Domain:** [primary technology/problem domain]
16
16
  **Confidence:** [HIGH/MEDIUM/LOW]
17
17
 
18
+ <user_constraints>
19
+ ## User Constraints (from CONTEXT.md)
20
+
21
+ **CRITICAL:** If CONTEXT.md exists from /gsd:discuss-phase, copy locked decisions here verbatim. These MUST be honored by the planner.
22
+
23
+ ### Locked Decisions
24
+ [Copy from CONTEXT.md `## Decisions` section - these are NON-NEGOTIABLE]
25
+ - [Decision 1]
26
+ - [Decision 2]
27
+
28
+ ### Codex's Discretion
29
+ [Copy from CONTEXT.md - areas where researcher/planner can choose]
30
+ - [Area 1]
31
+ - [Area 2]
32
+
33
+ ### Deferred Ideas (OUT OF SCOPE)
34
+ [Copy from CONTEXT.md - do NOT research or plan these]
35
+ - [Deferred 1]
36
+ - [Deferred 2]
37
+
38
+ **If no CONTEXT.md exists:** Write "No user constraints - all decisions at Codex's discretion"
39
+ </user_constraints>
40
+
18
41
  <research_summary>
19
42
  ## Summary
20
43
 
@@ -501,7 +524,7 @@ function useVehicleControls(rigidBodyRef) {
501
524
 
502
525
  **When to create:**
503
526
  - Before planning phases in niche/complex domains
504
- - When Claude's training data is likely stale or sparse
527
+ - When Codex's training data is likely stale or sparse
505
528
  - When "how do experts do this" matters more than "which library"
506
529
 
507
530
  **Structure:**
@@ -524,6 +547,6 @@ function useVehicleControls(rigidBodyRef) {
524
547
  - Code examples can be referenced in task actions
525
548
 
526
549
  **After creation:**
527
- - File lives in phase directory: `.planning/phases/XX-name/{phase}-RESEARCH.md`
550
+ - File lives in phase directory: `.planning/phases/XX-name/{phase_num}-RESEARCH.md`
528
551
  - Referenced during planning workflow
529
552
  - plan-phase loads it automatically when present
@@ -120,7 +120,7 @@ Points to PROJECT.md for full context. Includes:
120
120
  - Current focus (which phase)
121
121
  - Last update date (triggers re-read if stale)
122
122
 
123
- Claude reads PROJECT.md directly for requirements, constraints, and decisions.
123
+ Codex reads PROJECT.md directly for requirements, constraints, and decisions.
124
124
 
125
125
  ### Current Position
126
126
  Where we are right now:
@@ -174,33 +174,3 @@ It's a DIGEST, not an archive. If accumulated context grows too large:
174
174
  The goal is "read once, know where we are" — if it's too long, that fails.
175
175
 
176
176
  </size_constraint>
177
-
178
- <guidelines>
179
-
180
- **When created:**
181
- - During project initialization (after ROADMAP.md)
182
- - Reference PROJECT.md (extract core value and current focus)
183
- - Initialize empty sections
184
-
185
- **When read:**
186
- - Every workflow starts by reading STATE.md
187
- - Then read PROJECT.md for full context
188
- - Provides instant context restoration
189
-
190
- **When updated:**
191
- - After each plan execution (update position, note decisions, update issues/blockers)
192
- - After phase transitions (update progress bar, clear resolved blockers, refresh project reference)
193
-
194
- **Size management:**
195
- - Keep under 100 lines total
196
- - Recent decisions only in STATE.md (full log in PROJECT.md)
197
- - Keep only active blockers
198
-
199
- **Sections:**
200
- - Project Reference: Pointer to PROJECT.md with core value
201
- - Current Position: Where we are now (phase, plan, status)
202
- - Performance Metrics: Velocity tracking
203
- - Accumulated Context: Recent decisions, pending todos, blockers
204
- - Session Continuity: Resume information
205
-
206
- </guidelines>
@@ -0,0 +1,59 @@
1
+ ---
2
+ phase: XX-name
3
+ plan: YY
4
+ subsystem: [primary category]
5
+ tags: [searchable tech]
6
+ requires:
7
+ - phase: [prior phase]
8
+ provides: [what that phase built]
9
+ provides:
10
+ - [bullet list of what was built/delivered]
11
+ affects: [list of phase names or keywords]
12
+ tech-stack:
13
+ added: [libraries/tools]
14
+ patterns: [architectural/code patterns]
15
+ key-files:
16
+ created: [important files created]
17
+ modified: [important files modified]
18
+ key-decisions:
19
+ - "Decision 1"
20
+ patterns-established:
21
+ - "Pattern 1: description"
22
+ duration: Xmin
23
+ completed: YYYY-MM-DD
24
+ ---
25
+
26
+ # Phase [X]: [Name] Summary (Complex)
27
+
28
+ **[Substantive one-liner describing outcome]**
29
+
30
+ ## Performance
31
+ - **Duration:** [time]
32
+ - **Tasks:** [count completed]
33
+ - **Files modified:** [count]
34
+
35
+ ## Accomplishments
36
+ - [Key outcome 1]
37
+ - [Key outcome 2]
38
+
39
+ ## Task Commits
40
+ 1. **Task 1: [task name]** - `hash`
41
+ 2. **Task 2: [task name]** - `hash`
42
+ 3. **Task 3: [task name]** - `hash`
43
+
44
+ ## Files Created/Modified
45
+ - `path/to/file.ts` - What it does
46
+ - `path/to/another.ts` - What it does
47
+
48
+ ## Decisions Made
49
+ [Key decisions with brief rationale]
50
+
51
+ ## Deviations from Plan (Auto-fixed)
52
+ [Detailed auto-fix records per GSD deviation rules]
53
+
54
+ ## Issues Encountered
55
+ [Problems during planned work and resolutions]
56
+
57
+ ## Next Phase Readiness
58
+ [What's ready for next phase]
59
+ [Blockers or concerns]
@@ -0,0 +1,41 @@
1
+ ---
2
+ phase: XX-name
3
+ plan: YY
4
+ subsystem: [primary category]
5
+ tags: [searchable tech]
6
+ provides:
7
+ - [bullet list of what was built/delivered]
8
+ affects: [list of phase names or keywords]
9
+ tech-stack:
10
+ added: [libraries/tools]
11
+ patterns: [architectural/code patterns]
12
+ key-files:
13
+ created: [important files created]
14
+ modified: [important files modified]
15
+ key-decisions: []
16
+ duration: Xmin
17
+ completed: YYYY-MM-DD
18
+ ---
19
+
20
+ # Phase [X]: [Name] Summary (Minimal)
21
+
22
+ **[Substantive one-liner describing outcome]**
23
+
24
+ ## Performance
25
+ - **Duration:** [time]
26
+ - **Tasks:** [count]
27
+ - **Files modified:** [count]
28
+
29
+ ## Accomplishments
30
+ - [Most important outcome]
31
+ - [Second key accomplishment]
32
+
33
+ ## Task Commits
34
+ 1. **Task 1: [task name]** - `hash`
35
+ 2. **Task 2: [task name]** - `hash`
36
+
37
+ ## Files Created/Modified
38
+ - `path/to/file.ts` - What it does
39
+
40
+ ## Next Phase Readiness
41
+ [Ready for next phase]
@@ -0,0 +1,48 @@
1
+ ---
2
+ phase: XX-name
3
+ plan: YY
4
+ subsystem: [primary category]
5
+ tags: [searchable tech]
6
+ provides:
7
+ - [bullet list of what was built/delivered]
8
+ affects: [list of phase names or keywords]
9
+ tech-stack:
10
+ added: [libraries/tools]
11
+ patterns: [architectural/code patterns]
12
+ key-files:
13
+ created: [important files created]
14
+ modified: [important files modified]
15
+ key-decisions:
16
+ - "Decision 1"
17
+ duration: Xmin
18
+ completed: YYYY-MM-DD
19
+ ---
20
+
21
+ # Phase [X]: [Name] Summary
22
+
23
+ **[Substantive one-liner describing outcome]**
24
+
25
+ ## Performance
26
+ - **Duration:** [time]
27
+ - **Tasks:** [count completed]
28
+ - **Files modified:** [count]
29
+
30
+ ## Accomplishments
31
+ - [Key outcome 1]
32
+ - [Key outcome 2]
33
+
34
+ ## Task Commits
35
+ 1. **Task 1: [task name]** - `hash`
36
+ 2. **Task 2: [task name]** - `hash`
37
+ 3. **Task 3: [task name]** - `hash`
38
+
39
+ ## Files Created/Modified
40
+ - `path/to/file.ts` - What it does
41
+ - `path/to/another.ts` - What it does
42
+
43
+ ## Decisions & Deviations
44
+ [Key decisions or "None - followed plan as specified"]
45
+ [Minor deviations if any, or "None"]
46
+
47
+ ## Next Phase Readiness
48
+ [What's ready for next phase]
@@ -233,37 +233,14 @@ The one-liner should tell someone what actually shipped.
233
233
  </example>
234
234
 
235
235
  <guidelines>
236
- **When to create:**
237
- - After completing each phase plan
238
- - Required output from execute-plan workflow
239
- - Documents what actually happened vs what was planned
240
-
241
- **Frontmatter completion:**
242
- - MANDATORY: Complete all frontmatter fields during summary creation
243
- - See <frontmatter_guidance> for field purposes
244
- - Frontmatter enables automatic context assembly for future planning
245
-
246
- **One-liner requirements:**
247
- - Must be substantive (describe what shipped, not "phase complete")
248
- - Should tell someone what was accomplished
249
- - Examples: "JWT auth with refresh rotation using jose library" not "Authentication implemented"
250
-
251
- **Performance tracking:**
252
- - Include duration, start/end timestamps
253
- - Used for velocity metrics in STATE.md
254
-
255
- **Deviations section:**
256
- - Documents unplanned work handled via deviation rules
257
- - Separate from "Issues Encountered" (which is planned work problems)
258
- - Auto-fixed issues: What was wrong, how fixed, verification
236
+ **Frontmatter:** MANDATORY - complete all fields. Enables automatic context assembly for future planning.
237
+
238
+ **One-liner:** Must be substantive. "JWT auth with refresh rotation using jose library" not "Authentication implemented".
259
239
 
260
240
  **Decisions section:**
261
- - Key decisions made during execution
262
- - Include rationale (why this choice)
241
+ - Key decisions made during execution with rationale
263
242
  - Extracted to STATE.md accumulated context
264
243
  - Use "None - followed plan as specified" if no deviations
265
244
 
266
- **After creation:**
267
- - STATE.md updated with position, decisions, issues
268
- - Next plan can reference decisions made
245
+ **After creation:** STATE.md updated with position, decisions, issues.
269
246
  </guidelines>