@undeemed/get-shit-done-codex 1.20.3 → 1.20.7
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.
- package/README.md +13 -3
- package/agents/gsd-codebase-mapper.md +3 -0
- package/agents/gsd-debugger.md +3 -0
- package/agents/gsd-executor.md +52 -2
- package/agents/gsd-integration-checker.md +20 -0
- package/agents/gsd-phase-researcher.md +96 -4
- package/agents/gsd-plan-checker.md +125 -3
- package/agents/gsd-planner.md +38 -3
- package/agents/gsd-project-researcher.md +3 -0
- package/agents/gsd-research-synthesizer.md +3 -0
- package/agents/gsd-roadmapper.md +3 -0
- package/agents/gsd-verifier.md +25 -8
- package/commands/gsd/add-phase.md +6 -2
- package/commands/gsd/add-todo.md +6 -1
- package/commands/gsd/audit-milestone.md +1 -7
- package/commands/gsd/check-todos.md +6 -2
- package/commands/gsd/debug.md +3 -1
- package/commands/gsd/discuss-phase.md +1 -5
- package/commands/gsd/execute-phase.md +1 -2
- package/commands/gsd/insert-phase.md +1 -2
- package/commands/gsd/list-phase-assumptions.md +1 -5
- package/commands/gsd/new-milestone.md +1 -8
- package/commands/gsd/pause-work.md +4 -1
- package/commands/gsd/plan-milestone-gaps.md +1 -7
- package/commands/gsd/quick.md +2 -1
- package/commands/gsd/remove-phase.md +1 -2
- package/commands/gsd/research-phase.md +17 -15
- package/commands/gsd/verify-work.md +1 -2
- package/get-shit-done/bin/gsd-tools.cjs +168 -4858
- package/get-shit-done/bin/lib/commands.cjs +556 -0
- package/get-shit-done/bin/lib/config.cjs +162 -0
- package/get-shit-done/bin/lib/core.cjs +398 -0
- package/get-shit-done/bin/lib/frontmatter.cjs +299 -0
- package/get-shit-done/bin/lib/init.cjs +694 -0
- package/get-shit-done/bin/lib/milestone.cjs +215 -0
- package/get-shit-done/bin/lib/phase.cjs +873 -0
- package/get-shit-done/bin/lib/roadmap.cjs +298 -0
- package/get-shit-done/bin/lib/state.cjs +490 -0
- package/get-shit-done/bin/lib/template.cjs +222 -0
- package/get-shit-done/bin/lib/verify.cjs +772 -0
- package/get-shit-done/references/checkpoints.md +1 -0
- package/get-shit-done/templates/VALIDATION.md +104 -0
- package/get-shit-done/templates/config.json +2 -1
- package/get-shit-done/templates/phase-prompt.md +2 -0
- package/get-shit-done/templates/roadmap.md +1 -1
- package/get-shit-done/templates/summary.md +2 -0
- package/get-shit-done/workflows/audit-milestone.md +63 -8
- package/get-shit-done/workflows/complete-milestone.md +26 -0
- package/get-shit-done/workflows/diagnose-issues.md +1 -1
- package/get-shit-done/workflows/discuss-phase.md +68 -13
- package/get-shit-done/workflows/execute-phase.md +54 -9
- package/get-shit-done/workflows/execute-plan.md +17 -13
- package/get-shit-done/workflows/map-codebase.md +32 -44
- package/get-shit-done/workflows/new-milestone.md +16 -7
- package/get-shit-done/workflows/new-project.md +34 -31
- package/get-shit-done/workflows/plan-milestone-gaps.md +23 -5
- package/get-shit-done/workflows/plan-phase.md +106 -76
- package/get-shit-done/workflows/progress.md +14 -26
- package/get-shit-done/workflows/quick.md +24 -15
- package/get-shit-done/workflows/research-phase.md +10 -11
- package/get-shit-done/workflows/settings.md +16 -3
- package/get-shit-done/workflows/transition.md +5 -0
- package/get-shit-done/workflows/verify-work.md +11 -12
- package/hooks/dist/gsd-context-monitor.js +122 -0
- package/hooks/dist/gsd-statusline.js +17 -0
- package/package.json +2 -2
- package/scripts/build-hooks.js +1 -0
- package/get-shit-done/bin/gsd-tools.test.cjs +0 -2273
package/agents/gsd-verifier.md
CHANGED
|
@@ -10,6 +10,9 @@ You are a GSD phase verifier. You verify that a phase achieved its GOAL, not jus
|
|
|
10
10
|
|
|
11
11
|
Your job: Goal-backward verification. Start from what the phase SHOULD deliver, verify it actually exists and works in the codebase.
|
|
12
12
|
|
|
13
|
+
**CRITICAL: Mandatory Initial Read**
|
|
14
|
+
If the prompt contains a `<files_to_read>` block, you MUST use the `Read` tool to load every file listed there before performing any other actions. This is your primary context.
|
|
15
|
+
|
|
13
16
|
**Critical mindset:** Do NOT trust SUMMARY.md claims. SUMMARYs document what Codex SAID it did. You verify what ACTUALLY exists in the code. These often differ.
|
|
14
17
|
</role>
|
|
15
18
|
|
|
@@ -233,17 +236,31 @@ Status: WIRED (state displayed) | NOT_WIRED (state exists, not rendered)
|
|
|
233
236
|
|
|
234
237
|
## Step 6: Check Requirements Coverage
|
|
235
238
|
|
|
236
|
-
|
|
239
|
+
**6a. Extract requirement IDs from PLAN frontmatter:**
|
|
237
240
|
|
|
238
241
|
```bash
|
|
239
|
-
grep -
|
|
242
|
+
grep -A5 "^requirements:" "$PHASE_DIR"/*-PLAN.md 2>/dev/null
|
|
240
243
|
```
|
|
241
244
|
|
|
242
|
-
|
|
245
|
+
Collect ALL requirement IDs declared across plans for this phase.
|
|
246
|
+
|
|
247
|
+
**6b. Cross-reference against REQUIREMENTS.md:**
|
|
248
|
+
|
|
249
|
+
For each requirement ID from plans:
|
|
250
|
+
1. Find its full description in REQUIREMENTS.md (`**REQ-ID**: description`)
|
|
251
|
+
2. Map to supporting truths/artifacts verified in Steps 3-5
|
|
252
|
+
3. Determine status:
|
|
253
|
+
- ✓ SATISFIED: Implementation evidence found that fulfills the requirement
|
|
254
|
+
- ✗ BLOCKED: No evidence or contradicting evidence
|
|
255
|
+
- ? NEEDS HUMAN: Can't verify programmatically (UI behavior, UX quality)
|
|
256
|
+
|
|
257
|
+
**6c. Check for orphaned requirements:**
|
|
258
|
+
|
|
259
|
+
```bash
|
|
260
|
+
grep -E "Phase $PHASE_NUM" .planning/REQUIREMENTS.md 2>/dev/null
|
|
261
|
+
```
|
|
243
262
|
|
|
244
|
-
|
|
245
|
-
- ✗ BLOCKED: One or more supporting truths failed
|
|
246
|
-
- ? NEEDS HUMAN: Can't verify programmatically
|
|
263
|
+
If REQUIREMENTS.md maps additional IDs to this phase that don't appear in ANY plan's `requirements` field, flag as **ORPHANED** — these requirements were expected but no plan claimed them. ORPHANED requirements MUST appear in the verification report.
|
|
247
264
|
|
|
248
265
|
## Step 7: Scan for Anti-Patterns
|
|
249
266
|
|
|
@@ -396,8 +413,8 @@ human_verification: # Only if status: human_needed
|
|
|
396
413
|
|
|
397
414
|
### Requirements Coverage
|
|
398
415
|
|
|
399
|
-
| Requirement |
|
|
400
|
-
| ----------- | ------ |
|
|
416
|
+
| Requirement | Source Plan | Description | Status | Evidence |
|
|
417
|
+
| ----------- | ---------- | ----------- | ------ | -------- |
|
|
401
418
|
|
|
402
419
|
### Anti-Patterns Found
|
|
403
420
|
|
|
@@ -19,11 +19,15 @@ Routes to the add-phase workflow which handles:
|
|
|
19
19
|
</objective>
|
|
20
20
|
|
|
21
21
|
<execution_context>
|
|
22
|
-
@.planning/ROADMAP.md
|
|
23
|
-
@.planning/STATE.md
|
|
24
22
|
@~/.codex/get-shit-done/workflows/add-phase.md
|
|
25
23
|
</execution_context>
|
|
26
24
|
|
|
25
|
+
<context>
|
|
26
|
+
Arguments: $ARGUMENTS (phase description)
|
|
27
|
+
|
|
28
|
+
Roadmap and state are resolved in-workflow via `init phase-op` and targeted tool calls.
|
|
29
|
+
</context>
|
|
30
|
+
|
|
27
31
|
<process>
|
|
28
32
|
**Follow the add-phase workflow** from `@~/.codex/get-shit-done/workflows/add-phase.md`.
|
|
29
33
|
|
package/commands/gsd/add-todo.md
CHANGED
|
@@ -23,10 +23,15 @@ Routes to the add-todo workflow which handles:
|
|
|
23
23
|
</objective>
|
|
24
24
|
|
|
25
25
|
<execution_context>
|
|
26
|
-
@.planning/STATE.md
|
|
27
26
|
@~/.codex/get-shit-done/workflows/add-todo.md
|
|
28
27
|
</execution_context>
|
|
29
28
|
|
|
29
|
+
<context>
|
|
30
|
+
Arguments: $ARGUMENTS (optional todo description)
|
|
31
|
+
|
|
32
|
+
State is resolved in-workflow via `init todos` and targeted reads.
|
|
33
|
+
</context>
|
|
34
|
+
|
|
30
35
|
<process>
|
|
31
36
|
**Follow the add-todo workflow** from `@~/.codex/get-shit-done/workflows/add-todo.md`.
|
|
32
37
|
|
|
@@ -23,13 +23,7 @@ Verify milestone achieved its definition of done. Check requirements coverage, c
|
|
|
23
23
|
<context>
|
|
24
24
|
Version: $ARGUMENTS (optional — defaults to current milestone)
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
@.planning/PROJECT.md
|
|
28
|
-
@.planning/REQUIREMENTS.md
|
|
29
|
-
|
|
30
|
-
**Planned Work:**
|
|
31
|
-
@.planning/ROADMAP.md
|
|
32
|
-
@.planning/config.json (if exists)
|
|
26
|
+
Core planning files are resolved in-workflow (`init milestone-op`) and loaded only as needed.
|
|
33
27
|
|
|
34
28
|
**Completed Work:**
|
|
35
29
|
Glob: .planning/phases/*/*-SUMMARY.md
|
|
@@ -21,11 +21,15 @@ Routes to the check-todos workflow which handles:
|
|
|
21
21
|
</objective>
|
|
22
22
|
|
|
23
23
|
<execution_context>
|
|
24
|
-
@.planning/STATE.md
|
|
25
|
-
@.planning/ROADMAP.md
|
|
26
24
|
@~/.codex/get-shit-done/workflows/check-todos.md
|
|
27
25
|
</execution_context>
|
|
28
26
|
|
|
27
|
+
<context>
|
|
28
|
+
Arguments: $ARGUMENTS (optional area filter)
|
|
29
|
+
|
|
30
|
+
Todo state and roadmap correlation are loaded in-workflow using `init todos` and targeted reads.
|
|
31
|
+
</context>
|
|
32
|
+
|
|
29
33
|
<process>
|
|
30
34
|
**Follow the check-todos workflow** from `@~/.codex/get-shit-done/workflows/check-todos.md`.
|
|
31
35
|
|
package/commands/gsd/debug.md
CHANGED
|
@@ -129,7 +129,9 @@ Continue debugging {slug}. Evidence is in the debug file.
|
|
|
129
129
|
</objective>
|
|
130
130
|
|
|
131
131
|
<prior_state>
|
|
132
|
-
|
|
132
|
+
<files_to_read>
|
|
133
|
+
- .planning/debug/{slug}.md (Debug session state)
|
|
134
|
+
</files_to_read>
|
|
133
135
|
</prior_state>
|
|
134
136
|
|
|
135
137
|
<checkpoint_response>
|
|
@@ -32,11 +32,7 @@ Extract implementation decisions that downstream agents need — researcher and
|
|
|
32
32
|
<context>
|
|
33
33
|
Phase number: $ARGUMENTS (required)
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
@.planning/STATE.md
|
|
37
|
-
|
|
38
|
-
**Load roadmap:**
|
|
39
|
-
@.planning/ROADMAP.md
|
|
35
|
+
Context files are resolved in-workflow using `init phase-op` and roadmap/state tool calls.
|
|
40
36
|
</context>
|
|
41
37
|
|
|
42
38
|
<process>
|
|
@@ -32,8 +32,7 @@ Phase: $ARGUMENTS
|
|
|
32
32
|
**Flags:**
|
|
33
33
|
- `--gaps-only` — Execute only gap closure plans (plans with `gap_closure: true` in frontmatter). Use after verify-work creates fix plans.
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
@.planning/STATE.md
|
|
35
|
+
Context files are resolved inside the workflow via `gsd-tools init execute-phase` and per-subagent `<files_to_read>` blocks.
|
|
37
36
|
</context>
|
|
38
37
|
|
|
39
38
|
<process>
|
|
@@ -23,8 +23,7 @@ Purpose: Handle urgent work discovered during execution without renumbering enti
|
|
|
23
23
|
<context>
|
|
24
24
|
Arguments: $ARGUMENTS (format: <after-phase-number> <description>)
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
@.planning/STATE.md
|
|
26
|
+
Roadmap and state are resolved in-workflow via `init phase-op` and targeted tool calls.
|
|
28
27
|
</context>
|
|
29
28
|
|
|
30
29
|
<process>
|
|
@@ -23,11 +23,7 @@ Output: Conversational output only (no file creation) - ends with "What do you t
|
|
|
23
23
|
<context>
|
|
24
24
|
Phase number: $ARGUMENTS (required)
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
@.planning/STATE.md
|
|
28
|
-
|
|
29
|
-
**Load roadmap:**
|
|
30
|
-
@.planning/ROADMAP.md
|
|
26
|
+
Project state and roadmap are loaded in-workflow using targeted reads.
|
|
31
27
|
</context>
|
|
32
28
|
|
|
33
29
|
<process>
|
|
@@ -35,14 +35,7 @@ Brownfield equivalent of new-project. Project exists, PROJECT.md has history. Ga
|
|
|
35
35
|
<context>
|
|
36
36
|
Milestone name: $ARGUMENTS (optional - will prompt if not provided)
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
@.planning/PROJECT.md
|
|
40
|
-
@.planning/STATE.md
|
|
41
|
-
@.planning/MILESTONES.md
|
|
42
|
-
@.planning/config.json
|
|
43
|
-
|
|
44
|
-
**Load milestone context (if exists, from /gsd:discuss-milestone):**
|
|
45
|
-
@.planning/MILESTONE-CONTEXT.md
|
|
38
|
+
Project and milestone context files are resolved inside the workflow (`init new-milestone`) and delegated via `<files_to_read>` blocks where subagents are used.
|
|
46
39
|
</context>
|
|
47
40
|
|
|
48
41
|
<process>
|
|
@@ -19,10 +19,13 @@ Routes to the pause-work workflow which handles:
|
|
|
19
19
|
</objective>
|
|
20
20
|
|
|
21
21
|
<execution_context>
|
|
22
|
-
@.planning/STATE.md
|
|
23
22
|
@~/.codex/get-shit-done/workflows/pause-work.md
|
|
24
23
|
</execution_context>
|
|
25
24
|
|
|
25
|
+
<context>
|
|
26
|
+
State and phase progress are gathered in-workflow with targeted reads.
|
|
27
|
+
</context>
|
|
28
|
+
|
|
26
29
|
<process>
|
|
27
30
|
**Follow the pause-work workflow** from `@~/.codex/get-shit-done/workflows/pause-work.md`.
|
|
28
31
|
|
|
@@ -25,13 +25,7 @@ One command creates all fix phases — no manual `/gsd:add-phase` per gap.
|
|
|
25
25
|
**Audit results:**
|
|
26
26
|
Glob: .planning/v*-MILESTONE-AUDIT.md (use most recent)
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
@.planning/PROJECT.md
|
|
30
|
-
@.planning/REQUIREMENTS.md
|
|
31
|
-
|
|
32
|
-
**Current state:**
|
|
33
|
-
@.planning/ROADMAP.md
|
|
34
|
-
@.planning/STATE.md
|
|
28
|
+
Original intent and current planning state are loaded on demand inside the workflow.
|
|
35
29
|
</context>
|
|
36
30
|
|
|
37
31
|
<process>
|
package/commands/gsd/quick.md
CHANGED
|
@@ -30,8 +30,9 @@ Quick mode is the same system with a shorter path:
|
|
|
30
30
|
</execution_context>
|
|
31
31
|
|
|
32
32
|
<context>
|
|
33
|
-
@.planning/STATE.md
|
|
34
33
|
$ARGUMENTS
|
|
34
|
+
|
|
35
|
+
Context files are resolved inside the workflow (`init quick`) and delegated via `<files_to_read>` blocks.
|
|
35
36
|
</context>
|
|
36
37
|
|
|
37
38
|
<process>
|
|
@@ -22,8 +22,7 @@ Output: Phase deleted, all subsequent phases renumbered, git commit as historica
|
|
|
22
22
|
<context>
|
|
23
23
|
Phase: $ARGUMENTS
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
@.planning/STATE.md
|
|
25
|
+
Roadmap and state are resolved in-workflow via `init phase-op` and targeted reads.
|
|
27
26
|
</context>
|
|
28
27
|
|
|
29
28
|
<process>
|
|
@@ -37,7 +37,7 @@ Normalize phase input in step 1 before any directory lookups.
|
|
|
37
37
|
INIT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs init phase-op "$ARGUMENTS")
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
-
Extract from init JSON: `phase_dir`, `phase_number`, `phase_name`, `phase_found`, `commit_docs`, `has_research`.
|
|
40
|
+
Extract from init JSON: `phase_dir`, `phase_number`, `phase_name`, `phase_found`, `commit_docs`, `has_research`, `state_path`, `requirements_path`, `context_path`, `research_path`.
|
|
41
41
|
|
|
42
42
|
Resolve researcher model:
|
|
43
43
|
```bash
|
|
@@ -64,15 +64,12 @@ ls .planning/phases/${PHASE}-*/RESEARCH.md 2>/dev/null
|
|
|
64
64
|
|
|
65
65
|
## 3. Gather Phase Context
|
|
66
66
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
cat .planning/phases/${PHASE}-*/*-CONTEXT.md 2>/dev/null
|
|
72
|
-
grep -A30 "### Decisions Made" .planning/STATE.md 2>/dev/null
|
|
73
|
-
```
|
|
67
|
+
Use paths from INIT (do not inline file contents in orchestrator context):
|
|
68
|
+
- `requirements_path`
|
|
69
|
+
- `context_path`
|
|
70
|
+
- `state_path`
|
|
74
71
|
|
|
75
|
-
Present summary with phase description
|
|
72
|
+
Present summary with phase description and what files the researcher will load.
|
|
76
73
|
|
|
77
74
|
## 4. Spawn gsd-phase-researcher Agent
|
|
78
75
|
|
|
@@ -101,12 +98,15 @@ Research implementation approach for Phase {phase_number}: {phase_name}
|
|
|
101
98
|
Mode: ecosystem
|
|
102
99
|
</objective>
|
|
103
100
|
|
|
104
|
-
<
|
|
101
|
+
<files_to_read>
|
|
102
|
+
- {requirements_path} (Requirements)
|
|
103
|
+
- {context_path} (Phase context from discuss-phase, if exists)
|
|
104
|
+
- {state_path} (Prior project decisions and blockers)
|
|
105
|
+
</files_to_read>
|
|
106
|
+
|
|
107
|
+
<additional_context>
|
|
105
108
|
**Phase description:** {phase_description}
|
|
106
|
-
|
|
107
|
-
**Prior decisions:** {decisions_if_any}
|
|
108
|
-
**Phase context:** {context_md_content}
|
|
109
|
-
</context>
|
|
109
|
+
</additional_context>
|
|
110
110
|
|
|
111
111
|
<downstream_consumer>
|
|
112
112
|
Your RESEARCH.md will be loaded by `/gsd:plan-phase` which uses specific sections:
|
|
@@ -158,7 +158,9 @@ Continue research for Phase {phase_number}: {phase_name}
|
|
|
158
158
|
</objective>
|
|
159
159
|
|
|
160
160
|
<prior_state>
|
|
161
|
-
|
|
161
|
+
<files_to_read>
|
|
162
|
+
- .planning/phases/${PHASE}-{slug}/${PHASE}-RESEARCH.md (Existing research)
|
|
163
|
+
</files_to_read>
|
|
162
164
|
</prior_state>
|
|
163
165
|
|
|
164
166
|
<checkpoint_response>
|
|
@@ -29,8 +29,7 @@ Phase: $ARGUMENTS (optional)
|
|
|
29
29
|
- If provided: Test specific phase (e.g., "4")
|
|
30
30
|
- If not provided: Check for active sessions or prompt for phase
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
@.planning/ROADMAP.md
|
|
32
|
+
Context files are resolved inside the workflow (`init verify-work`) and delegated via `<files_to_read>` blocks.
|
|
34
33
|
</context>
|
|
35
34
|
|
|
36
35
|
<process>
|