godpowers 2.1.1 → 2.2.1

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.
@@ -74,6 +74,31 @@
74
74
  "description": "Slot for linkage map summary. Authoritative file is .godpowers/linkage.json.",
75
75
  "additionalProperties": true
76
76
  },
77
+ "deliverables": {
78
+ "type": "object",
79
+ "description": "Cached deliverable summary (requirement and roadmap-increment status). Recomputed fresh by lib/requirements.js from PRD + ROADMAP + linkage + build state; the human-readable ledger is .godpowers/REQUIREMENTS.md.",
80
+ "additionalProperties": true,
81
+ "properties": {
82
+ "updated": { "type": "string" },
83
+ "source": { "type": "string" },
84
+ "requirements": {
85
+ "type": "object",
86
+ "additionalProperties": true,
87
+ "properties": {
88
+ "total": { "type": "integer", "minimum": 0 },
89
+ "done": { "type": "integer", "minimum": 0 },
90
+ "in-progress": { "type": "integer", "minimum": 0 },
91
+ "untouched": { "type": "integer", "minimum": 0 },
92
+ "percent": { "type": "integer", "minimum": 0, "maximum": 100 }
93
+ }
94
+ },
95
+ "increments": {
96
+ "type": "array",
97
+ "items": { "type": "object", "additionalProperties": true }
98
+ },
99
+ "gaps": { "type": "integer", "minimum": 0 }
100
+ }
101
+ },
77
102
  "source-systems": {
78
103
  "type": "array",
79
104
  "description": "Detected external planning systems imported into Godpowers and eligible for managed sync-back.",
@@ -48,9 +48,9 @@ Plain-text report grouped by severity:
48
48
  GODPOWERS DOCTOR
49
49
 
50
50
  Install: claude (~/.claude/)
51
- [OK] 110 skills installed
51
+ [OK] 111 skills installed
52
52
  [OK] 40 agents installed
53
- [OK] VERSION matches (2.1.1)
53
+ [OK] VERSION matches (2.2.1)
54
54
  [WARN] routing/god-doctor.yaml exists but skill file did not until now
55
55
 
56
56
  Project: /Users/.../my-project/.godpowers/
@@ -41,6 +41,7 @@ GODPOWERS LOCATE
41
41
  Project: <name> Mode: <A/B/C/E> Suite: <yes/no>
42
42
  Lifecycle: <phase> Current: <tier>/<substep>
43
43
  Progress: <pct>% (<complete> of <total> steps complete; current step <n> of <total>)
44
+ Deliverables: <done>/<total> requirements done (state.json cache; full list in .godpowers/REQUIREMENTS.md)
44
45
 
45
46
  Last action: <name> by <actor> at <ts>
46
47
  Last user instruction: <if available>
@@ -0,0 +1,105 @@
1
+ ---
2
+ name: god-progress
3
+ description: |
4
+ Deliverable progress report. Answers "what is done, what is in progress, and
5
+ what is left?" at the requirement and roadmap-increment level (not the
6
+ pipeline-stage level that /god-status leads with). Re-derives everything from
7
+ disk and refreshes the .godpowers/REQUIREMENTS.md ledger.
8
+
9
+ Triggers on: "god progress", "what's done", "what's left", "requirements
10
+ status", "how far along are we", "show me the checklist", "deliverable
11
+ progress", "what did we finish".
12
+ ---
13
+
14
+ # God Progress
15
+
16
+ Report deliverable progress: which requirements are done, in progress, or not
17
+ started, and which roadmap increments are complete. This is the requirement-level
18
+ companion to `/god-status` (which leads with pipeline-stage progress and
19
+ proactive ops). Never report from memory; re-derive from disk every time.
20
+
21
+ ## Process
22
+
23
+ 1. If `.godpowers/state.json` is missing: say
24
+ "No Godpowers project found. Run `/god-init` to start." and stop.
25
+ 2. Resolve the runtime root and load `<runtimeRoot>/lib/requirements.js`.
26
+ 3. Call `requirements.derive(projectRoot)`. This reads, all from disk:
27
+ - `.godpowers/prd/PRD.md` for declared requirements (P-MUST/SHOULD/COULD ids)
28
+ - `.godpowers/roadmap/ROADMAP.md` for delivery increments and their members
29
+ - `.godpowers/links/` for the linkage forward map (requirement -> code)
30
+ - `.godpowers/state.json` for build and increment completion
31
+ 4. Refresh the ledger: `requirements.writeLedger(projectRoot, derived)` so
32
+ `.godpowers/REQUIREMENTS.md` always reflects current disk truth.
33
+ 5. Compute "what's next": the highest-priority requirement that is not yet done
34
+ (MUST before SHOULD before COULD), preferring one whose increment is already
35
+ building. Fall back to `router.suggestNext(projectRoot)` for the command.
36
+ 6. Render the report below.
37
+
38
+ If `requirements.derive` reports `hasRequirements: false` (no PRD requirements
39
+ declared yet), say so plainly and route the user to `/god-prd`, then stop.
40
+
41
+ ## Output Format
42
+
43
+ ```text
44
+ Godpowers Progress
45
+
46
+ Source: disk (PRD + ROADMAP + linkage + build state)
47
+ Ledger: .godpowers/REQUIREMENTS.md
48
+
49
+ Requirements: [########------------] 8/14 done (57%)
50
+ In progress: 3
51
+ Not started: 3
52
+ By priority: MUST 6/8 | SHOULD 2/4 | COULD 0/2
53
+
54
+ Increments:
55
+ [x] M-auth: Authentication [now] - done - 3/3 requirements
56
+ [~] M-billing: Billing [now] - building - 1/4 requirements
57
+ [ ] M-reports: Reporting [next] - pending - 0/3 requirements
58
+
59
+ Recently done:
60
+ + P-MUST-05 Password reset emails send (M-auth)
61
+ + P-MUST-06 Sessions expire after 24h (M-auth)
62
+
63
+ In progress now:
64
+ ~ P-MUST-07 Stripe webhook handling (M-billing) - src/billing/webhook.ts
65
+
66
+ Up next:
67
+ P-MUST-08 Invoice PDF generation (M-billing, not started)
68
+ Recommended command: /god-build
69
+ Why: M-billing is the current increment and P-MUST-08 is its next MUST.
70
+
71
+ Gaps:
72
+ none
73
+ (or: P-MUST-09 is in a done increment but has no linked code)
74
+
75
+ Open the full checklist any time: .godpowers/REQUIREMENTS.md
76
+ ```
77
+
78
+ Use plain text. No emoji, no box-drawing. Ledger marks are `[x]` done, `[~]`
79
+ in progress, `[ ]` not started, matching the ledger file.
80
+
81
+ ## Proposition Closeout
82
+
83
+ End every progress report with a proposition block:
84
+
85
+ ```text
86
+ Proposition:
87
+ 1. Implement partial: [single next command, e.g. /god-build]
88
+ 2. Implement complete: /god-mode to continue the project run when unblocked
89
+ 3. Inspect deeper: open .godpowers/REQUIREMENTS.md or run /god-status
90
+ 4. Discuss more: /god-discuss [a gap, a blocked requirement, or scope]
91
+ Recommended: [one option and one sentence on why it fits the disk state]
92
+ ```
93
+
94
+ If `derived.gaps` is non-empty, make `/god-review-changes` (or fixing the gap)
95
+ the partial option and call the gap out first, since a done increment with
96
+ unlinked code is a real inconsistency.
97
+
98
+ ## Relationship to other commands
99
+
100
+ - `/god-status` - pipeline-stage progress (which tier/sub-step), proactive ops,
101
+ and overall readiness. Use when you want the operational picture.
102
+ - `/god-progress` - deliverable progress (which requirements/increments).
103
+ Use when you want to know how much of the actual product is built.
104
+ - `/god-next` - just the single recommended next command.
105
+ - `.godpowers/REQUIREMENTS.md` - the static checklist file to open or share.
@@ -33,6 +33,7 @@ Re-derive state from disk. Your memory is not authoritative. The file system is.
33
33
  - `.godpowers/harden/FINDINGS.md`
34
34
  - `.godpowers/SYNC-LOG.md`
35
35
  - `.godpowers/CHECKPOINT.md`
36
+ - `.godpowers/REQUIREMENTS.md`
36
37
  6. For each artifact found: run a lightweight have-nots check
37
38
  7. Compare disk state to PROGRESS.md state:
38
39
  - If PROGRESS.md says "done" but artifact is missing: FLAG as phantom resume
@@ -44,6 +45,9 @@ Re-derive state from disk. Your memory is not authoritative. The file system is.
44
45
  - Workflow progress summary: percentage, completed step count, current step number
45
46
  - Planning visibility: PRD status, roadmap status, active milestone, and
46
47
  completion basis
48
+ - Deliverable progress: requirement and increment status from
49
+ `lib/requirements` (requirements done / in progress / not started, by
50
+ priority, and increment counts), or "none declared yet" before a PRD exists
47
51
  - What happened recently, using CHECKPOINT.md actions when available
48
52
  - Last sync status, using SYNC-LOG.md when available
49
53
  - Proactive opportunities based on the auto-invoke policy
@@ -83,6 +87,12 @@ Planning visibility:
83
87
  Current milestone: Planning / Architecture
84
88
  Completion basis: .godpowers/state.json workflow steps
85
89
 
90
+ Deliverable progress:
91
+ Requirements: [########------------] 8/14 done (57%), 3 in progress, 3 not started
92
+ By priority: MUST 6/8, SHOULD 2/4, COULD 0/2
93
+ Increments: 2 done, 1 building, 1 pending
94
+ Ledger: .godpowers/REQUIREMENTS.md
95
+
86
96
  What happened recently:
87
97
  1. PRD artifact verified on disk
88
98
  2. Tier state refreshed from state.json
@@ -137,6 +147,7 @@ Linkage status (from .godpowers/links/):
137
147
  Drift: 1 (colors.removed referenced in src/old.css but missing in DESIGN.md)
138
148
  Pending reviews: 5 (see REVIEW-REQUIRED.md)
139
149
  Last scan: 2026-05-10T14:23:11Z
150
+ Requirement checklist: run /god-progress or open .godpowers/REQUIREMENTS.md
140
151
 
141
152
  Suite (Mode D) status:
142
153
  This repo is a sibling of suite "my-products" (hub: ../hub)
@@ -14,9 +14,9 @@ Print version and a short capability summary.
14
14
  ## Output
15
15
 
16
16
  ```
17
- Godpowers v2.1.1
17
+ Godpowers v2.2.1
18
18
  Install: /Users/.../.claude/ (matches package.json)
19
- Surface: 110 skills, 40 agents, 13 workflows, 40 recipes
19
+ Surface: 111 skills, 40 agents, 13 workflows, 41 recipes
20
20
  Schema: intent.v1, state.v1, events.v1, workflow.v1, routing.v1, recipe.v1
21
21
  External integrations available: impeccable, agent-browser (others lazy)
22
22
  Feature awareness: planning-system migration, source-system sync-back, context refresh, dashboard status labels, repo documentation sync, repo surface sync, quick proof, request trace, release hardening, maintenance hardening
package/templates/PRD.md CHANGED
@@ -26,15 +26,22 @@
26
26
 
27
27
  ## Functional Requirements
28
28
 
29
+ > Each requirement carries a stable id: `P-MUST-NN`, `P-SHOULD-NN`, `P-COULD-NN`.
30
+ > These ids are load-bearing. The roadmap groups them into delivery increments,
31
+ > code and tests reference them (`// Implements: P-MUST-01`,
32
+ > `describe('P-MUST-01: ...')`), and `/god-progress` derives
33
+ > done / in-progress / not-started status from them. Number sequentially within
34
+ > each priority. Never renumber or reuse a shipped id.
35
+
29
36
  ### MUST (V1 launch blockers)
30
- - [DECISION] [Requirement] -- Acceptance: [observable criterion]
31
- - [DECISION] [Requirement] -- Acceptance: [observable criterion]
37
+ - P-MUST-01 [DECISION] [Requirement] -- Acceptance: [observable criterion]
38
+ - P-MUST-02 [DECISION] [Requirement] -- Acceptance: [observable criterion]
32
39
 
33
40
  ### SHOULD (V1 if time permits)
34
- - [HYPOTHESIS] [Requirement] -- Acceptance: [criterion] -- Validation: [how we'll test if this matters]
41
+ - P-SHOULD-01 [HYPOTHESIS] [Requirement] -- Acceptance: [criterion] -- Validation: [how we'll test if this matters]
35
42
 
36
43
  ### COULD (post-V1)
37
- - [HYPOTHESIS] [Requirement]
44
+ - P-COULD-01 [HYPOTHESIS] [Requirement]
38
45
 
39
46
  ## Non-Functional Requirements
40
47
 
@@ -75,6 +82,7 @@ Before declaring done, verify:
75
82
  - [ ] Problem statement fails substitution test
76
83
  - [ ] Target user is specific (not "developers")
77
84
  - [ ] Every success metric has a number AND timeline
85
+ - [ ] Every functional requirement has a stable id (P-MUST-NN / P-SHOULD-NN / P-COULD-NN)
78
86
  - [ ] Every requirement has acceptance criteria
79
87
  - [ ] No-gos section is non-empty
80
88
  - [ ] Every open question has owner AND due date
@@ -8,6 +8,7 @@ Scale: [trivial | small | medium | large | enterprise]
8
8
  Started: [ISO 8601 timestamp]
9
9
  Last updated: [ISO 8601 timestamp]
10
10
  Progress: [0-100]% ([completed] of [total] steps complete; current step [n] of [total])
11
+ Requirements: [done] of [total] done ([percent]%); [in-progress] in progress, [untouched] not started -- see .godpowers/REQUIREMENTS.md
11
12
  Current: [Tier N label] / [sub-step label]
12
13
  Host guarantees: [full | degraded | unknown]
13
14
  Action brief: [next command or user decision; readiness; top attention item]
@@ -41,6 +42,7 @@ Release readiness signals:
41
42
  - Dogfood status: [not-run | pass | fail | not applicable]
42
43
  - Repo documentation sync: [fresh | drift detected | not checked]
43
44
  - Repo surface sync: [fresh | drift detected | not checked]
45
+ - Requirement coverage: [done]/[total] done; [gaps] gaps (see .godpowers/REQUIREMENTS.md)
44
46
 
45
47
  ## Tier Status
46
48
 
@@ -0,0 +1,45 @@
1
+ # Requirements Ledger
2
+
3
+ > Disk-derived. Status comes from the linkage map (code that implements each
4
+ > requirement) plus build and roadmap-increment state. Regenerate with
5
+ > `/god-progress`, `/god-status`, or `/god-sync`. Do not hand-edit statuses;
6
+ > they are recomputed from disk.
7
+ >
8
+ > This file is generated by `lib/requirements.js` (renderLedger). The block
9
+ > below is an illustrative shape, not a file you fill in by hand.
10
+
11
+ Updated: [ISO 8601 timestamp]
12
+ Source: PRD + ROADMAP + linkage forward map + build state
13
+ Progress: [########------------] 8/14 done (57%) | 3 in progress | 3 not started
14
+
15
+ ## By priority
16
+
17
+ | Priority | Done | In progress | Not started | Total |
18
+ |----------|------|-------------|-------------|-------|
19
+ | MUST | 6 | 1 | 1 | 8 |
20
+ | SHOULD | 2 | 1 | 1 | 4 |
21
+ | COULD | 0 | 1 | 1 | 2 |
22
+
23
+ ## Done (8)
24
+
25
+ - [x] **P-MUST-01** User can sign in _(increment: M-auth)_ - src/auth/signin.ts, tests/auth/signin.test.ts
26
+
27
+ ## In progress (3)
28
+
29
+ - [~] **P-MUST-07** Stripe webhook handling _(increment: M-billing)_ - src/billing/webhook.ts
30
+
31
+ ## Not started (3)
32
+
33
+ - [ ] **P-MUST-08** Invoice PDF generation _(increment: M-billing)_
34
+
35
+ ## Increments
36
+
37
+ - [x] **M-auth**: Authentication _[now]_ - done - 3/3 requirements done
38
+ - [~] **M-billing**: Billing _[now]_ - building - 1/4 requirements done
39
+ - [ ] **M-reports**: Reporting _[next]_ - pending - 0/3 requirements done
40
+
41
+ ## Gaps
42
+
43
+ Requirements whose increment is marked done but have no implementing code linked:
44
+
45
+ - (none)
@@ -2,32 +2,48 @@
2
2
 
3
3
  > Every delivery increment goal is substitution-tested. Every completion gate is
4
4
  > observable. No day-level precision without capacity input.
5
+ >
6
+ > Each increment carries a stable `**ID**: M-slug` and a `**Status**:` field, and
7
+ > lists the PRD requirement ids it delivers under Features. `/god-progress` reads
8
+ > these to show which increments are done, building, or pending, and to map each
9
+ > requirement to its increment. Status is normally auto-derived from the linkage
10
+ > map (code linked to the increment's requirements); set `**Status**: done`
11
+ > explicitly only when the completion gate has been verified.
5
12
 
6
13
  ## Now (currently building, committed)
7
14
 
8
15
  ### Delivery Increment 1: [Substitution-tested goal]
16
+ - **ID**: M-[slug]
17
+ - **Status**: pending
9
18
  - **Goal**: [What users can DO when this ships. Specific.]
10
19
  - **Completion gate**: [Observable criterion. Not "feels done".]
11
20
  - **Size**: S / M / L
12
21
  - **Depends on**: None (or list)
13
22
  - **Features (from PRD)**:
14
- - [PRD requirement reference]
15
- - [PRD requirement reference]
23
+ - P-MUST-01
24
+ - P-MUST-02
16
25
 
17
26
  ### Delivery Increment 2: [Substitution-tested goal]
27
+ - **ID**: M-[slug]
28
+ - **Status**: pending
18
29
  - **Goal**: ...
19
30
  - **Completion gate**: ...
20
31
  - **Size**: S / M / L
21
- - **Depends on**: Delivery Increment 1
22
- - **Features**: ...
32
+ - **Depends on**: M-[increment-1-slug]
33
+ - **Features (from PRD)**:
34
+ - P-SHOULD-01
23
35
 
24
36
  ## Next (planned, flexible)
25
37
 
26
38
  ### Delivery Increment 3: [Goal]
39
+ - **ID**: M-[slug]
40
+ - **Status**: pending
27
41
  - **Goal**: ...
28
42
  - **Completion gate**: ...
29
43
  - **Size**: ...
30
- - **Depends on**: Delivery Increment 2
44
+ - **Depends on**: M-[increment-2-slug]
45
+ - **Features (from PRD)**:
46
+ - P-COULD-01
31
47
 
32
48
  ## Later (intent, not commitment)
33
49
 
@@ -39,6 +55,8 @@
39
55
  ## Have-Nots Checklist
40
56
 
41
57
  - [ ] Every delivery increment goal fails substitution test
58
+ - [ ] Every increment has a stable M-slug id and a Status field
59
+ - [ ] Every committed increment lists the PRD requirement ids (P-MUST-NN / ...) it delivers
42
60
  - [ ] Every completion gate is observable (not subjective)
43
61
  - [ ] No feature appears that isn't in the PRD
44
62
  - [ ] Delivery increments are NOT all the same size (real prioritization)