godpowers 2.1.1 → 2.2.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.
- package/CHANGELOG.md +43 -0
- package/README.md +14 -3
- package/RELEASE.md +44 -48
- package/SKILL.md +3 -3
- package/agents/god-architect.md +3 -0
- package/agents/god-executor.md +17 -0
- package/agents/god-greenfieldifier.md +10 -2
- package/agents/god-launch-strategist.md +3 -0
- package/agents/god-orchestrator.md +27 -1
- package/agents/god-planner.md +9 -1
- package/agents/god-pm.md +23 -1
- package/agents/god-quality-reviewer.md +8 -1
- package/agents/god-reconstructor.md +17 -0
- package/agents/god-roadmap-reconciler.md +7 -0
- package/agents/god-roadmap-updater.md +16 -1
- package/agents/god-roadmapper.md +18 -7
- package/agents/god-spec-reviewer.md +8 -0
- package/agents/god-storyteller.md +5 -0
- package/agents/god-updater.md +6 -0
- package/bin/install.js +1 -1
- package/hooks/session-start.sh +1 -0
- package/lib/dashboard.js +20 -0
- package/lib/feature-awareness.js +6 -0
- package/lib/requirements.js +524 -0
- package/lib/reverse-sync.js +19 -1
- package/lib/route-quality-sync.js +1 -0
- package/lib/state.js +5 -0
- package/package.json +2 -2
- package/routing/god-progress.yaml +27 -0
- package/routing/recipes/whats-done.yaml +28 -0
- package/schema/state.v1.json +25 -0
- package/skills/god-doctor.md +2 -2
- package/skills/god-locate.md +1 -0
- package/skills/god-progress.md +105 -0
- package/skills/god-status.md +11 -0
- package/skills/god-version.md +2 -2
- package/templates/PRD.md +12 -4
- package/templates/PROGRESS.md +2 -0
- package/templates/REQUIREMENTS.md +45 -0
- package/templates/ROADMAP.md +23 -5
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,49 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [2.2.0] - 2026-05-30
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- Deliverable progress tracking, so a project run always communicates which
|
|
14
|
+
requirements are finished, which are in flight, and which are untouched:
|
|
15
|
+
- `/god-progress` reports requirement and roadmap-increment status (done / in
|
|
16
|
+
progress / not started, grouped by increment and priority) and refreshes a
|
|
17
|
+
human-readable `.godpowers/REQUIREMENTS.md` checklist the user can open or
|
|
18
|
+
share.
|
|
19
|
+
- Status is derived from disk by `lib/requirements.js` (PRD requirements +
|
|
20
|
+
ROADMAP increments + the linkage map + build state), so it cannot drift from
|
|
21
|
+
what is actually implemented.
|
|
22
|
+
- The Godpowers Dashboard (`/god-status`, `/god-next`, `/god-mode` closeout)
|
|
23
|
+
gains a `Deliverable progress` section, and `/god-mode` build steps report
|
|
24
|
+
requirement completion as it happens.
|
|
25
|
+
- PRD functional requirements now carry stable ids (`P-MUST-NN` /
|
|
26
|
+
`P-SHOULD-NN` / `P-COULD-NN`) and ROADMAP delivery increments carry
|
|
27
|
+
`M-slug` ids with a per-increment `Status` and the requirement ids they
|
|
28
|
+
deliver, so requirements map to increments and to implementing code.
|
|
29
|
+
- `reverse-sync` and `/god-sync` refresh the ledger and cache the summary in
|
|
30
|
+
`state.json.deliverables` whenever the linkage map changes.
|
|
31
|
+
- A `whats-done` intent recipe so phrases like "how far along are we" and
|
|
32
|
+
"what's done" route to `/god-progress`.
|
|
33
|
+
- A reconstructed self-ledger for Godpowers itself (`.godpowers/prd/PRD.md`,
|
|
34
|
+
`.godpowers/roadmap/ROADMAP.md`, `.godpowers/REQUIREMENTS.md`) via
|
|
35
|
+
`scripts/reconstruct-self-ledger.js`, so the project dogfoods its own
|
|
36
|
+
deliverable tracking.
|
|
37
|
+
- `deliverable-progress-tracking` registered in the feature-awareness set so
|
|
38
|
+
existing projects learn about `/god-progress` on the next refresh.
|
|
39
|
+
|
|
40
|
+
### Changed
|
|
41
|
+
- Build agents thread requirement ids end to end: `god-planner` names the
|
|
42
|
+
requirement ids each slice delivers and `god-executor` stamps
|
|
43
|
+
`// Implements: P-...` annotations into code, which the reviewers now verify,
|
|
44
|
+
so the linkage map (and therefore the ledger) populates during real builds.
|
|
45
|
+
- Sibling agents that produce or consume the PRD and ROADMAP
|
|
46
|
+
(`god-reconstructor`, `god-roadmap-updater`, `god-roadmap-reconciler`,
|
|
47
|
+
`god-greenfieldifier`, and others) now preserve stable requirement and
|
|
48
|
+
increment ids and refresh the ledger.
|
|
49
|
+
- Reconciled documentation surface counts and version references to v2.2.0
|
|
50
|
+
(111 slash commands, 41 recipes) and added `/god-progress` and
|
|
51
|
+
`REQUIREMENTS.md` to command lists, artifact inventories, and the linkage doc.
|
|
52
|
+
|
|
10
53
|
## [2.1.1] - 2026-05-30
|
|
11
54
|
|
|
12
55
|
### Changed
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://github.com/aihxp/godpowers/actions/workflows/ci.yml)
|
|
4
4
|
[](LICENSE)
|
|
5
|
-
[](CHANGELOG.md)
|
|
6
6
|
[](https://www.npmjs.com/package/godpowers)
|
|
7
7
|
|
|
8
8
|
**Ship fast. Ship right. Ship everything. Ship accountably.**
|
|
@@ -21,7 +21,7 @@ Godpowers makes AI coding accountable: every serious run should leave disk
|
|
|
21
21
|
state, artifacts, validation gates, host guarantees, and a next action. Code is
|
|
22
22
|
only one output. The project memory and proof trail matter too.
|
|
23
23
|
|
|
24
|
-
Version 2.
|
|
24
|
+
Version 2.2.0 keeps the proof loop executable. `npx godpowers quick-proof
|
|
25
25
|
--project=.` now renders a shipped fixture with real `.godpowers/state.json`,
|
|
26
26
|
computed next action, missing-artifact visibility, and host guarantees. The
|
|
27
27
|
2.0 line also ships a proof transcript, adoption canary harness, published npm
|
|
@@ -236,6 +236,7 @@ extension files, with parser coverage in `scripts/test-yaml-parser.js`.
|
|
|
236
236
|
| `/god-launch` | Launch (gated on harden) | god-launch-strategist |
|
|
237
237
|
| `/god-harden` | Adversarial security review | god-harden-auditor |
|
|
238
238
|
| `/god-status` | Re-derive state from disk | (built-in) |
|
|
239
|
+
| `/god-progress` | Deliverable progress: requirements and increments done / in progress / left | (built-in) |
|
|
239
240
|
| `/god-automation-status` | Show host automation provider support | (built-in) |
|
|
240
241
|
| `/god-automation-setup` | Prepare opt-in automation setup | (built-in) |
|
|
241
242
|
| `/god-dogfood` | Run messy-repo dogfood scenarios for release and autonomy readiness | (built-in) |
|
|
@@ -304,6 +305,15 @@ ends in a vague "done" state. The dashboard is backed by
|
|
|
304
305
|
engine is available. Audit, hygiene, and remediation scores are reported as
|
|
305
306
|
separate scores rather than being reused as workflow progress.
|
|
306
307
|
|
|
308
|
+
That dashboard reports **workflow progress** (which pipeline stage you are on).
|
|
309
|
+
For **deliverable progress** (how much of the actual product is built), run
|
|
310
|
+
`/god-progress`: it lists every PRD requirement as done, in progress, or not
|
|
311
|
+
started, groups them by roadmap increment, and writes a `.godpowers/REQUIREMENTS.md`
|
|
312
|
+
checklist you can open or share. Status is derived from the linkage map (code
|
|
313
|
+
that implements each requirement), so it can never drift from what is actually
|
|
314
|
+
on disk. The dashboard also surfaces a `Deliverable progress` line, and during a
|
|
315
|
+
`/god-mode` build each step reports how many requirements moved to done.
|
|
316
|
+
|
|
307
317
|
Godpowers can also inspect automation support:
|
|
308
318
|
|
|
309
319
|
```bash
|
|
@@ -386,6 +396,7 @@ Skill updates: PROGRESS.md
|
|
|
386
396
|
|
|
387
397
|
```
|
|
388
398
|
.godpowers/PROGRESS.md Cross-tier progress ledger
|
|
399
|
+
.godpowers/REQUIREMENTS.md Requirement checklist (done / in progress / not started)
|
|
389
400
|
.godpowers/prd/PRD.md Product Requirements Document
|
|
390
401
|
.godpowers/domain/GLOSSARY.md Domain vocabulary and resolved ambiguities
|
|
391
402
|
.godpowers/arch/ARCH.md System Architecture
|
|
@@ -474,7 +485,7 @@ Pi. T3 Code inherits from the underlying agent (Codex / Claude / OpenCode).
|
|
|
474
485
|
- [Getting Started](docs/getting-started.md)
|
|
475
486
|
- [Quick Proof](docs/quick-proof.md)
|
|
476
487
|
- [Concepts](docs/concepts.md)
|
|
477
|
-
- [Command reference (all
|
|
488
|
+
- [Command reference (all 111 skills + 40 agents)](docs/reference.md)
|
|
478
489
|
- [Feature awareness](docs/feature-awareness.md)
|
|
479
490
|
- [Adoption Canary](docs/adoption-canary.md)
|
|
480
491
|
- [Repository documentation sync](docs/repo-doc-sync.md)
|
package/RELEASE.md
CHANGED
|
@@ -1,59 +1,55 @@
|
|
|
1
|
-
# Godpowers 2.
|
|
1
|
+
# Godpowers 2.2.0 Release
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> Status: Ready for release
|
|
4
|
+
> Date: 2026-05-30
|
|
4
5
|
|
|
5
|
-
Godpowers 2.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
off-switch.
|
|
6
|
+
Godpowers 2.2.0 adds deliverable progress tracking on top of the 2.1.1
|
|
7
|
+
documentation and off-switch safety patch. It keeps the public slash-command
|
|
8
|
+
surface stable and backward compatible.
|
|
9
9
|
|
|
10
|
-
## What
|
|
10
|
+
## What's in this release
|
|
11
11
|
|
|
12
|
-
-
|
|
12
|
+
- 111 slash commands
|
|
13
13
|
- 40 specialist agents
|
|
14
14
|
- 13 executable workflows
|
|
15
|
-
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
`
|
|
23
|
-
|
|
24
|
-
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
relate.
|
|
37
|
-
|
|
38
|
-
## Guardrails
|
|
39
|
-
|
|
40
|
-
- The public slash-command surface remains frozen.
|
|
41
|
-
- The runtime remains dependency-free.
|
|
42
|
-
- `bin/install.js` stays a thin CLI entry point and delegates install behavior
|
|
43
|
-
to `lib/installer-core.js`.
|
|
15
|
+
- 41 intent recipes
|
|
16
|
+
|
|
17
|
+
## Highlights
|
|
18
|
+
|
|
19
|
+
- Deliverable progress tracking: the new `/god-progress` command and the
|
|
20
|
+
`.godpowers/REQUIREMENTS.md` ledger report which PRD requirements and roadmap
|
|
21
|
+
increments are done, in progress, or not started. Status is derived from the
|
|
22
|
+
linkage map by `lib/requirements.js`, so it cannot drift from the code that is
|
|
23
|
+
actually implemented.
|
|
24
|
+
- Stable requirement and increment ids: PRD requirements carry
|
|
25
|
+
`P-MUST-NN`/`P-SHOULD-NN`/`P-COULD-NN`, and ROADMAP increments carry `M-slug`
|
|
26
|
+
ids with a per-increment `Status` and member requirement ids.
|
|
27
|
+
- The build chain populates the ledger during real runs: `god-planner` names the
|
|
28
|
+
requirement ids each slice delivers, `god-executor` stamps `// Implements: P-...`
|
|
29
|
+
annotations, and the spec and quality reviewers verify them.
|
|
30
|
+
- The dashboard (`/god-status`, `/god-next`, `/god-mode` closeout) gains a
|
|
31
|
+
`Deliverable progress` section, and a `whats-done` recipe routes natural
|
|
32
|
+
language like "how far along are we" to `/god-progress`.
|
|
33
|
+
- Documentation reconciled with the shipped surface and version: accurate
|
|
34
|
+
counts and `/god-progress`/`REQUIREMENTS.md` awareness across README,
|
|
35
|
+
ARCHITECTURE, reference, linkage, recipes, and the artifact inventories.
|
|
44
36
|
|
|
45
37
|
## Validation
|
|
46
38
|
|
|
47
|
-
|
|
39
|
+
- `npm test` green across the full suite
|
|
40
|
+
- `npm run lint` clean
|
|
41
|
+
- `npm run release:check` green (tests, audit, package contents)
|
|
48
42
|
|
|
49
|
-
|
|
50
|
-
- `npm run test:audit`
|
|
51
|
-
- `npm run pack:check`
|
|
52
|
-
- `npm run release:check`
|
|
53
|
-
- `npm pack --json`
|
|
54
|
-
- local install smoke tests across supported runtime shapes
|
|
55
|
-
- npm publish when registry credentials are available
|
|
56
|
-
- GitHub release creation for `v2.1.1`
|
|
43
|
+
## Upgrade
|
|
57
44
|
|
|
58
|
-
|
|
59
|
-
`
|
|
45
|
+
- `npm install -g godpowers@2.2.0` or `npx godpowers@2.2.0`
|
|
46
|
+
- Re-run `/god-context` in each project to refresh installed runtime metadata
|
|
47
|
+
- No breaking changes; existing `.godpowers/` state is compatible. Projects gain
|
|
48
|
+
a `REQUIREMENTS.md` ledger the next time `/god-progress` or `/god-sync` runs.
|
|
49
|
+
|
|
50
|
+
## Notes
|
|
51
|
+
|
|
52
|
+
- GitHub release creation for `v2.2.0`
|
|
53
|
+
- The tag should match the npm package version
|
|
54
|
+
- The `v2.2.0` tag should point to the release commit that matches the npm
|
|
55
|
+
`godpowers@2.2.0` package.
|
package/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: godpowers
|
|
3
|
-
version: 2.
|
|
3
|
+
version: 2.2.0
|
|
4
4
|
description: |
|
|
5
5
|
AI-powered development system that takes a project from raw idea to hardened
|
|
6
6
|
production. Fuses artifact discipline, execution engine, quality enforcement,
|
|
@@ -121,8 +121,8 @@ with a disk-derived closeout that tells the user the current state and what is
|
|
|
121
121
|
next.
|
|
122
122
|
|
|
123
123
|
Every closeout must include a **Godpowers Dashboard**. This dashboard is the
|
|
124
|
-
same mental model across `/god-status`, `/god-
|
|
125
|
-
command that completes, pauses, or proposes work.
|
|
124
|
+
same mental model across `/god-status`, `/god-progress`, `/god-next`,
|
|
125
|
+
`/god-mode`, and every command that completes, pauses, or proposes work.
|
|
126
126
|
|
|
127
127
|
When the runtime bundle is available, compute this with
|
|
128
128
|
`lib/dashboard.compute(projectRoot)` and render it with
|
package/agents/god-architect.md
CHANGED
|
@@ -97,6 +97,9 @@ ADRs to `.godpowers/arch/adr/`.
|
|
|
97
97
|
- Consequences (what this makes easier/harder)
|
|
98
98
|
|
|
99
99
|
4. **NFR-to-Architecture Map** - every PRD NFR maps to an architectural choice.
|
|
100
|
+
Where a decision serves a specific PRD functional requirement, reference its
|
|
101
|
+
id (P-MUST-NN / P-SHOULD-NN / P-COULD-NN) so the rationale traces back to the
|
|
102
|
+
requirement it supports.
|
|
100
103
|
|
|
101
104
|
5. **Trust Boundaries** - every external integration has a boundary. Auth/authz
|
|
102
105
|
model documented. Data classification (sensitive vs public).
|
package/agents/god-executor.md
CHANGED
|
@@ -44,6 +44,22 @@ For every behavior in this slice:
|
|
|
44
44
|
2. Run the full test suite
|
|
45
45
|
3. All tests must still pass
|
|
46
46
|
|
|
47
|
+
## Requirement traceability (load-bearing)
|
|
48
|
+
|
|
49
|
+
The slice plan lists the PRD requirement ids this slice delivers (its
|
|
50
|
+
`Requirements:` field). Stamp them into the code so the linkage map,
|
|
51
|
+
reverse-sync, and the deliverable ledger (`/god-progress`) can trace each
|
|
52
|
+
requirement to its implementation. Without this, the ledger shows the
|
|
53
|
+
requirement as "not started" even after you ship it.
|
|
54
|
+
|
|
55
|
+
- Put a `// Implements: P-MUST-01` annotation near the top of the primary
|
|
56
|
+
file(s) you create or modify for the slice. Use the file's comment syntax
|
|
57
|
+
(`#`, `/* */`, `<!-- -->`). Combine ids when one file serves several:
|
|
58
|
+
`// Implements: P-MUST-01, P-MUST-02`.
|
|
59
|
+
- Prefer naming at least one test with the id, e.g.
|
|
60
|
+
`describe('P-MUST-01: user can sign in', ...)`; the scanner reads these too.
|
|
61
|
+
- Use the exact ids from the slice plan. Do not invent ids.
|
|
62
|
+
|
|
47
63
|
## Rules (non-negotiable)
|
|
48
64
|
|
|
49
65
|
- **Code before test**: VIOLATION. Delete the implementation. Write the test first.
|
|
@@ -102,6 +118,7 @@ happen.
|
|
|
102
118
|
demanded by the slice
|
|
103
119
|
- Drive-by formatting, renaming, refactoring, or dead-code deletion unrelated
|
|
104
120
|
to the slice
|
|
121
|
+
- A requirement id from the slice plan is not annotated in the code (`// Implements: P-...`)
|
|
105
122
|
|
|
106
123
|
## Repair Mode
|
|
107
124
|
|
|
@@ -101,11 +101,15 @@ canonical artifact loses existing concrete evidence.
|
|
|
101
101
|
|
|
102
102
|
When approved, update all affected artifacts, not just the first one:
|
|
103
103
|
|
|
104
|
-
- PRD: product goals, requirements, metrics, no-gos, open questions.
|
|
104
|
+
- PRD: product goals, requirements, metrics, no-gos, open questions. Preserve or
|
|
105
|
+
assign stable requirement ids (P-MUST-NN / P-SHOULD-NN / P-COULD-NN); never
|
|
106
|
+
renumber or reuse a shipped id.
|
|
105
107
|
- DESIGN: product experience, UI surface, accessibility, workflow, brand.
|
|
106
108
|
- PRODUCT: screens, journeys, user promises, operational UX.
|
|
107
109
|
- ARCH: components, trust boundaries, ADRs, NFR mappings.
|
|
108
|
-
- ROADMAP: sequence, gates, dependencies, delivery increments.
|
|
110
|
+
- ROADMAP: sequence, gates, dependencies, delivery increments. Keep increment
|
|
111
|
+
ids (`M-<slug>`) stable and preserve each increment's `**Status**:` field and
|
|
112
|
+
`**Features (from PRD)**:` requirement-id list.
|
|
109
113
|
- STACK: decisions, flip points, org constraints, incompatibilities.
|
|
110
114
|
- REPO: repository shape, CI, tests, security docs, install docs.
|
|
111
115
|
- BUILD: build state, test expectations, review gates.
|
|
@@ -118,6 +122,10 @@ When approved, update all affected artifacts, not just the first one:
|
|
|
118
122
|
|
|
119
123
|
After approved rewrites:
|
|
120
124
|
|
|
125
|
+
- If the PRD or ROADMAP changed, refresh the deliverable ledger with
|
|
126
|
+
`lib/requirements.writeLedger(projectRoot)` so `.godpowers/REQUIREMENTS.md`
|
|
127
|
+
stays consistent with the rewritten ids and any `// Implements:` annotations
|
|
128
|
+
already in code.
|
|
121
129
|
- Update `.godpowers/SYNC-LOG.md`.
|
|
122
130
|
- Update `.godpowers/PROGRESS.md`.
|
|
123
131
|
- Update `.godpowers/state.json` with:
|
|
@@ -19,6 +19,9 @@ Put the product in front of users.
|
|
|
19
19
|
If Critical findings are unresolved, REFUSE to proceed and tell orchestrator
|
|
20
20
|
to pause for human resolution.
|
|
21
21
|
|
|
22
|
+
Confirm all P-MUST requirements show done in `.godpowers/REQUIREMENTS.md` before
|
|
23
|
+
launch.
|
|
24
|
+
|
|
22
25
|
## Process
|
|
23
26
|
|
|
24
27
|
### 1. Landing Page Copy
|
|
@@ -609,6 +609,11 @@ LOOP for this slice:
|
|
|
609
609
|
- If FAIL: return slice to god-executor with findings, GOTO step 1
|
|
610
610
|
- If PASS: atomic commit
|
|
611
611
|
5. Update .godpowers/build/STATE.md with slice completion
|
|
612
|
+
6. Refresh deliverable progress: run
|
|
613
|
+
`lib/requirements.writeLedger(projectRoot)` to update
|
|
614
|
+
`.godpowers/REQUIREMENTS.md` from the new linkage, then read the new done
|
|
615
|
+
count so the slice's step-result card can print the requirement line
|
|
616
|
+
(`Requirements: <done>/<total> done (+<delta> this slice)`).
|
|
612
617
|
END LOOP
|
|
613
618
|
```
|
|
614
619
|
|
|
@@ -622,6 +627,11 @@ After all waves complete:
|
|
|
622
627
|
4. If any verification fails, run the autonomous repair loop. Do not mark
|
|
623
628
|
Build done and do not recommend later work while verification is red.
|
|
624
629
|
5. Update PROGRESS.md: Build = done
|
|
630
|
+
6. Refresh `.godpowers/REQUIREMENTS.md` (`lib/requirements.writeLedger`) and
|
|
631
|
+
cache the summary into `state.json` `deliverables`
|
|
632
|
+
(`lib/requirements.summarizeForState`). Report final requirement coverage in
|
|
633
|
+
the Build step-result card, and flag any gaps (a done increment with no
|
|
634
|
+
linked code) as an open item rather than declaring the build clean.
|
|
625
635
|
|
|
626
636
|
CRITICAL RULES (build phase):
|
|
627
637
|
- Never skip god-spec-reviewer
|
|
@@ -711,6 +721,11 @@ Planning visibility:
|
|
|
711
721
|
Current milestone: <roadmap milestone, tier, or next planning gate when known>
|
|
712
722
|
Completion basis: <state.json, PROGRESS.md, artifacts, or audit score source>
|
|
713
723
|
|
|
724
|
+
Deliverable progress:
|
|
725
|
+
Requirements: <done>/<total> done (<pct>%); <in-progress> in progress, <untouched> not started
|
|
726
|
+
Increments: <done> done, <building> building, <pending> pending
|
|
727
|
+
Ledger: .godpowers/REQUIREMENTS.md
|
|
728
|
+
|
|
714
729
|
What changed:
|
|
715
730
|
1. <highest-signal user-visible change>
|
|
716
731
|
2. <highest-signal user-visible change>
|
|
@@ -748,13 +763,14 @@ Project is now in steady state. From here, ongoing work uses these workflows:
|
|
|
748
763
|
Periodic hygiene:
|
|
749
764
|
Quality audit: /god-audit
|
|
750
765
|
Health check: /god-hygiene (combines audit + deps + docs)
|
|
766
|
+
Deliverable status: /god-progress (requirements + increments done/left)
|
|
751
767
|
|
|
752
768
|
Next:
|
|
753
769
|
Recommended: <single safest command or decision>
|
|
754
770
|
Why: <one sentence tied to disk state>
|
|
755
771
|
|
|
756
772
|
Proposition:
|
|
757
|
-
1. Review status: /god-status
|
|
773
|
+
1. Review status: /god-status (pipeline) or /god-progress (deliverables)
|
|
758
774
|
2. Continue work: /god-next or describe the next intent
|
|
759
775
|
3. Commit release-ready changes: stage only the intended files, then commit
|
|
760
776
|
4. Run deployed staging: provide STAGING_APP_URL=<deployed staging origin> when needed
|
|
@@ -899,6 +915,10 @@ Show:
|
|
|
899
915
|
- plain-language workflow names. Say "project run" or "workflow" instead of
|
|
900
916
|
unexplained "arc" in visible output
|
|
901
917
|
- PRD and roadmap visibility when those artifacts exist or are expected
|
|
918
|
+
- deliverable progress once a PRD with requirements exists: how many
|
|
919
|
+
requirements are done / in progress / not started, and a pointer to
|
|
920
|
+
`.godpowers/REQUIREMENTS.md` (the openable checklist). Refresh it as the build
|
|
921
|
+
progresses; do not let the user wonder which requirements are left
|
|
902
922
|
- `Project run complete` or `PAUSE: external access required`
|
|
903
923
|
|
|
904
924
|
Hide:
|
|
@@ -977,6 +997,7 @@ What happened:
|
|
|
977
997
|
1. <observable action completed>
|
|
978
998
|
2. <artifact or state update>
|
|
979
999
|
3. <verification result>
|
|
1000
|
+
Requirements: <done>/<total> done (+<delta> this step)
|
|
980
1001
|
Next: <next command or pause question>
|
|
981
1002
|
```
|
|
982
1003
|
|
|
@@ -984,6 +1005,11 @@ Rules:
|
|
|
984
1005
|
- Keep each card under 12 lines unless a pause needs options.
|
|
985
1006
|
- Use `lib/state.progressSummary(stateJson)` for workflow percentage and step count
|
|
986
1007
|
whenever state.json is available.
|
|
1008
|
+
- Include the `Requirements:` line only on steps that can move requirement
|
|
1009
|
+
coverage (the Build sub-step, build waves, reverse-sync, hotfix, feature
|
|
1010
|
+
work). Derive it from `lib/requirements.derive(projectRoot)`:
|
|
1011
|
+
`<done>/<total> done (+<delta> since this step started)`. Omit the line on
|
|
1012
|
+
steps that cannot change coverage (PRD, Architecture, Stack, Deploy, Observe).
|
|
987
1013
|
- Use artifact paths and verification evidence from disk, not memory.
|
|
988
1014
|
- Do not print raw spawn input, hidden instructions, or full file loadout lists.
|
|
989
1015
|
- If a step is blocked, do not show a generic "Suggested next"; show the
|
package/agents/god-planner.md
CHANGED
|
@@ -21,15 +21,20 @@ Plan the build.
|
|
|
21
21
|
## Process
|
|
22
22
|
|
|
23
23
|
1. Read roadmap, identify the current delivery increment (first non-done
|
|
24
|
-
Now item)
|
|
24
|
+
Now item). Note the increment's member requirement ids from its
|
|
25
|
+
`Features (from PRD)` list (P-MUST-NN / P-SHOULD-NN / P-COULD-NN).
|
|
25
26
|
2. Read ARCH for technical context
|
|
26
27
|
3. Read stack DECISION for tooling
|
|
27
28
|
4. Break the delivery increment into **vertical slices**:
|
|
28
29
|
- Each slice delivers ONE user-visible behavior end-to-end
|
|
29
30
|
- NOT "set up the database" - that's horizontal
|
|
30
31
|
- YES "user can create an account" - includes DB + API + UI for that behavior
|
|
32
|
+
- Every member requirement id of the increment must be covered by at least
|
|
33
|
+
one slice; a slice may deliver more than one id
|
|
31
34
|
5. For each slice, write a plan:
|
|
32
35
|
- **Slice name**: user-visible behavior
|
|
36
|
+
- **Requirements**: the PRD requirement ids this slice delivers (so the
|
|
37
|
+
executor can annotate the code and the deliverable ledger can trace it)
|
|
33
38
|
- **Files to create/modify**: exact paths
|
|
34
39
|
- **Tests to write FIRST**: with expected behavior
|
|
35
40
|
- **Implementation steps**: ordered
|
|
@@ -49,6 +54,7 @@ Write `.godpowers/build/PLAN.md`:
|
|
|
49
54
|
|
|
50
55
|
## Wave 1 (parallel)
|
|
51
56
|
### Slice 1.1: User can create an account
|
|
57
|
+
- Requirements: P-MUST-01
|
|
52
58
|
- Files: src/auth/signup.ts, src/auth/signup.test.ts, src/db/users.ts
|
|
53
59
|
- Tests first:
|
|
54
60
|
- signup_creates_user_record
|
|
@@ -69,6 +75,8 @@ Write `.godpowers/build/PLAN.md`:
|
|
|
69
75
|
|
|
70
76
|
- `.godpowers/build/PLAN.md` exists
|
|
71
77
|
- Every slice has tests-first sequence
|
|
78
|
+
- Every slice names the PRD requirement ids it delivers
|
|
79
|
+
- Every member requirement id of the increment is covered by at least one slice
|
|
72
80
|
- Every slice has verification criteria
|
|
73
81
|
- Dependencies are explicit
|
|
74
82
|
- Waves are correctly grouped (no parallel slices share state)
|
package/agents/god-pm.md
CHANGED
|
@@ -23,12 +23,33 @@ required sections:
|
|
|
23
23
|
1. **Problem Statement** (substitution-tested)
|
|
24
24
|
2. **Target Users** (specific personas, not "developers")
|
|
25
25
|
3. **Success Metrics** (with numbers and timelines)
|
|
26
|
-
4. **Functional Requirements** (MUST/SHOULD/COULD with acceptance criteria
|
|
26
|
+
4. **Functional Requirements** (MUST/SHOULD/COULD with acceptance criteria; each
|
|
27
|
+
carries a stable id)
|
|
27
28
|
5. **Non-Functional Requirements** (latency, availability, security, scale)
|
|
28
29
|
6. **Scope and No-Gos** (explicit list of what is NOT being built)
|
|
29
30
|
7. **Appetite** (time/resource/technical constraints)
|
|
30
31
|
8. **Open Questions** (with owner and due date)
|
|
31
32
|
|
|
33
|
+
## Stable requirement ids
|
|
34
|
+
|
|
35
|
+
Give every functional requirement a stable id, numbered sequentially within its
|
|
36
|
+
priority: `P-MUST-01`, `P-MUST-02`, `P-SHOULD-01`, `P-COULD-01`. Put the id at
|
|
37
|
+
the start of the bullet, before the label:
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
- P-MUST-01 [DECISION] User can sign in with email and password -- Acceptance: valid credentials return a session token
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
These ids are load-bearing downstream and you must not skip them:
|
|
44
|
+
- `god-roadmapper` groups them into delivery increments.
|
|
45
|
+
- Code and tests reference them (`// Implements: P-MUST-01`,
|
|
46
|
+
`describe('P-MUST-01: ...')`), which feeds the linkage map.
|
|
47
|
+
- `/god-progress` and the dashboard derive done / in-progress / not-started
|
|
48
|
+
status per requirement from those links.
|
|
49
|
+
|
|
50
|
+
Never renumber or reuse an id once it has shipped; add new ids at the end of the
|
|
51
|
+
priority instead.
|
|
52
|
+
|
|
32
53
|
## Imported Preparation Context
|
|
33
54
|
|
|
34
55
|
Before drafting, compute the Pillars load set for the PRD task with
|
|
@@ -90,6 +111,7 @@ Tag sentences inline: `[DECISION]`, `[HYPOTHESIS]`, `[OPEN QUESTION]`
|
|
|
90
111
|
- Success metric has no number
|
|
91
112
|
- Success metric has no timeline
|
|
92
113
|
- Requirement has no acceptance criteria
|
|
114
|
+
- Any functional requirement has no stable id (P-MUST-NN / P-SHOULD-NN / P-COULD-NN)
|
|
93
115
|
- No-gos section is empty or absent
|
|
94
116
|
- Open question has no owner
|
|
95
117
|
- Open question has no due date
|
|
@@ -57,6 +57,12 @@ Your job: would you ship this code in production?
|
|
|
57
57
|
- Any follow-up cleanup is reported separately instead of being smuggled into
|
|
58
58
|
the diff
|
|
59
59
|
|
|
60
|
+
### 7. Requirement Traceability
|
|
61
|
+
- Code that delivers a planned PRD requirement bears an accurate
|
|
62
|
+
`// Implements: P-...` annotation
|
|
63
|
+
- Flag missing or inaccurate annotations: the deliverable ledger derives
|
|
64
|
+
requirement status from them, so a gap here understates delivered work
|
|
65
|
+
|
|
60
66
|
## Output
|
|
61
67
|
|
|
62
68
|
Return verdict to orchestrator:
|
|
@@ -71,6 +77,7 @@ Return verdict to orchestrator:
|
|
|
71
77
|
- [PASS/FAIL] Performance: [evidence]
|
|
72
78
|
- [PASS/FAIL] Maintainability: [evidence]
|
|
73
79
|
- [PASS/FAIL] Simplicity and surgicality: [evidence]
|
|
80
|
+
- [PASS/FAIL] Requirement traceability: [evidence]
|
|
74
81
|
|
|
75
82
|
### Verdict: PASS / FAIL
|
|
76
83
|
|
|
@@ -79,7 +86,7 @@ Return verdict to orchestrator:
|
|
|
79
86
|
|
|
80
87
|
## Pass Criteria
|
|
81
88
|
|
|
82
|
-
ALL
|
|
89
|
+
ALL seven dimensions must PASS. Any FAIL blocks the commit.
|
|
83
90
|
|
|
84
91
|
If FAIL: orchestrator returns the slice to god-executor.
|
|
85
92
|
If PASS: orchestrator commits the slice atomically.
|
|
@@ -40,6 +40,10 @@ From the code, derive:
|
|
|
40
40
|
- **Target users**: who uses this? (from auth, user types, customer-facing strings)
|
|
41
41
|
- **Success metrics**: what does the code measure? (from observability, logs, metrics)
|
|
42
42
|
- **Functional requirements**: what features exist? (from routes, public APIs, UI)
|
|
43
|
+
- Assign every functional requirement a stable id, numbered sequentially
|
|
44
|
+
within its priority (P-MUST-01, P-MUST-02, P-SHOULD-01, P-COULD-01), placed
|
|
45
|
+
at the start of the bullet. These ids are load-bearing for the deliverable
|
|
46
|
+
ledger and the linkage map.
|
|
43
47
|
- **Non-functional requirements**: what NFRs are enforced? (from rate limits, caching, indexes)
|
|
44
48
|
- **Scope and no-gos**: what's deliberately NOT in the code?
|
|
45
49
|
|
|
@@ -68,6 +72,10 @@ From git history + current state:
|
|
|
68
72
|
- **Next**: TODOs at module level, unimplemented endpoints, stubs
|
|
69
73
|
- **Later**: high-level themes from issue tracker if accessible
|
|
70
74
|
|
|
75
|
+
Give each delivery increment a stable `M-<slug>` id, a `**Status**:` field
|
|
76
|
+
(pending/building/done), and a `**Features (from PRD)**:` list of the
|
|
77
|
+
reconstructed requirement ids it delivers.
|
|
78
|
+
|
|
71
79
|
Write to `.godpowers/roadmap/ROADMAP.md`. Mark Done section explicitly so we don't "rebuild" things that already exist.
|
|
72
80
|
|
|
73
81
|
### 4. Reconstruct STACK
|
|
@@ -80,6 +88,15 @@ From package.json/pyproject.toml/Cargo.toml/etc:
|
|
|
80
88
|
|
|
81
89
|
Write to `.godpowers/stack/DECISION.md`.
|
|
82
90
|
|
|
91
|
+
### 5. Regenerate the deliverable ledger
|
|
92
|
+
|
|
93
|
+
After the PRD and ROADMAP are written (both carry the new ids), regenerate the
|
|
94
|
+
deliverable ledger by calling `lib/requirements.writeLedger(projectRoot)` so
|
|
95
|
+
`.godpowers/REQUIREMENTS.md` reflects the reconstructed state. Requirement
|
|
96
|
+
status is derived from the linkage map (code that carries `// Implements: P-...`
|
|
97
|
+
annotations), so reconstructed requirements without linked code will show as
|
|
98
|
+
not started until that linkage exists.
|
|
99
|
+
|
|
83
100
|
## Outputs
|
|
84
101
|
|
|
85
102
|
All four artifacts written to `.godpowers/<tier>/<artifact>.md` with:
|
|
@@ -26,6 +26,8 @@ Before doing feature work, ask: does this overlap with ROADMAP.md?
|
|
|
26
26
|
|
|
27
27
|
Parse milestones from Now / Next / Later sections. Extract:
|
|
28
28
|
- Each milestone's goal and features
|
|
29
|
+
- The increment's `**Status**:` field (pending/building/done)
|
|
30
|
+
- The member PRD requirement ids from its `**Features (from PRD)**:` list
|
|
29
31
|
- Status (in-progress / planned / themed)
|
|
30
32
|
- Dependencies between milestones
|
|
31
33
|
|
|
@@ -36,6 +38,11 @@ For each milestone, check if the user intent overlaps:
|
|
|
36
38
|
- **Semantic match**: same user-facing behavior described differently?
|
|
37
39
|
- **Requirement match**: does PRD.md already include this requirement?
|
|
38
40
|
|
|
41
|
+
Also weigh the increment's `**Status**:` and its member requirement ids: an
|
|
42
|
+
increment marked `done`, or one whose `**Features (from PRD)**:` ids already
|
|
43
|
+
cover the intent, signals already-done or already-committed work rather than
|
|
44
|
+
something new.
|
|
45
|
+
|
|
39
46
|
### 3. Classify
|
|
40
47
|
|
|
41
48
|
Pick exactly one:
|
|
@@ -43,7 +43,16 @@ When a planned milestone is no longer needed:
|
|
|
43
43
|
- Mark superseded with reason
|
|
44
44
|
- Don't silently delete; preserve history
|
|
45
45
|
|
|
46
|
-
### 5.
|
|
46
|
+
### 5. Preserve increment ids and fields
|
|
47
|
+
When editing any increment, keep its structured fields intact:
|
|
48
|
+
- Keep the increment id (`M-<slug>`) stable; never renumber or reassign it.
|
|
49
|
+
- Preserve and update the `**Status**:` field (pending/building/done) to match
|
|
50
|
+
reality; do not drop it.
|
|
51
|
+
- Preserve and update the `**Features (from PRD)**:` requirement-id list; do not
|
|
52
|
+
drop it. Add ids when an increment gains a requirement; never silently remove
|
|
53
|
+
shipped ones.
|
|
54
|
+
|
|
55
|
+
### 6. Re-validate
|
|
47
56
|
|
|
48
57
|
After any update, re-check roadmap have-nots:
|
|
49
58
|
- R-01: milestone goal substitution-tested
|
|
@@ -60,6 +69,12 @@ Updated `.godpowers/roadmap/ROADMAP.md` with:
|
|
|
60
69
|
- Diff annotations: what was added, removed, moved
|
|
61
70
|
- Updated dates
|
|
62
71
|
- Re-validated have-nots
|
|
72
|
+
- Increment ids, `**Status**:` fields, and `**Features (from PRD)**:` lists
|
|
73
|
+
preserved
|
|
74
|
+
|
|
75
|
+
After updating, the deliverable ledger can be refreshed via
|
|
76
|
+
`lib/requirements.writeLedger(projectRoot)` (or `/god-progress`) so
|
|
77
|
+
`.godpowers/REQUIREMENTS.md` reflects the roadmap changes.
|
|
63
78
|
|
|
64
79
|
Append a `## Changelog` section at the bottom:
|
|
65
80
|
|
package/agents/god-roadmapper.md
CHANGED
|
@@ -70,13 +70,20 @@ Rules:
|
|
|
70
70
|
## Process
|
|
71
71
|
|
|
72
72
|
1. Read PRD (priorities) and ARCH (technical dependencies)
|
|
73
|
-
2. List all
|
|
73
|
+
2. List all requirements from PRD by their stable id
|
|
74
|
+
(P-MUST-NN / P-SHOULD-NN / P-COULD-NN) and priority
|
|
74
75
|
3. Build dependency graph from ARCH (component A depends on component B)
|
|
75
76
|
4. Topologically sort
|
|
76
|
-
5. Group
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
|
|
77
|
+
5. Group requirements into delivery increments. Each increment gets:
|
|
78
|
+
- A stable id `M-<slug>` derived from the increment name
|
|
79
|
+
- An initial `Status: pending`. Status is later derived from the linkage map
|
|
80
|
+
(code linked to the increment's requirements); set `done` explicitly only
|
|
81
|
+
when the completion gate has been verified
|
|
82
|
+
- A clear, substitution-tested goal
|
|
83
|
+
- An observable completion gate
|
|
84
|
+
- A size: S/M/L (no day-level precision without capacity input)
|
|
85
|
+
- A Features list of the exact PRD requirement ids it delivers
|
|
86
|
+
(P-MUST-01, P-MUST-02, ...), so each requirement maps to one increment
|
|
80
87
|
6. Assign Now/Next/Later horizons:
|
|
81
88
|
- **Now**: building right now, committed
|
|
82
89
|
- **Next**: planned next, flexible
|
|
@@ -92,11 +99,13 @@ as the structural starting point. Write `.godpowers/roadmap/ROADMAP.md`:
|
|
|
92
99
|
|
|
93
100
|
## Now
|
|
94
101
|
### Delivery Increment 1: [substitution-tested name]
|
|
102
|
+
- ID: M-[slug]
|
|
103
|
+
- Status: pending
|
|
95
104
|
- Goal: [what users can do when this ships]
|
|
96
105
|
- Gate: [observable completion criteria]
|
|
97
106
|
- Size: S/M/L
|
|
98
|
-
- Depends on: [list]
|
|
99
|
-
- Features: [
|
|
107
|
+
- Depends on: [M-slug list]
|
|
108
|
+
- Features (from PRD): [P-MUST-01, P-MUST-02, ...]
|
|
100
109
|
|
|
101
110
|
## Next
|
|
102
111
|
[delivery increments]
|
|
@@ -111,6 +120,8 @@ Roadmap FAILS if:
|
|
|
111
120
|
- Delivery increment goal passes substitution test
|
|
112
121
|
- Completion gate is not observable
|
|
113
122
|
- Feature appears that is not in the PRD
|
|
123
|
+
- Any increment has no stable M-slug id
|
|
124
|
+
- A committed (Now or Next) increment lists no PRD requirement ids
|
|
114
125
|
- All increments the same size (no prioritization)
|
|
115
126
|
- No dependency edges between increments
|
|
116
127
|
- Day-level precision without capacity input
|