godpowers 2.6.0 → 2.7.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 +22 -0
- package/README.md +26 -22
- package/RELEASE.md +38 -35
- package/SKILL.md +46 -48
- package/agents/god-deploy-engineer.md +2 -2
- package/agents/god-designer.md +3 -2
- package/agents/god-greenfieldifier.md +2 -4
- package/agents/god-launch-strategist.md +4 -5
- package/agents/god-observability-engineer.md +5 -5
- package/agents/god-reconciler.md +10 -4
- package/agents/god-retrospective.md +1 -1
- package/agents/god-updater.md +5 -5
- package/bin/install.js +6 -1
- package/fixtures/gate/build-pass/.godpowers/state.json +33 -0
- package/lib/README.md +2 -0
- package/lib/artifact-map.js +15 -3
- package/lib/cli-dispatch.js +39 -1
- package/lib/context-writer.js +4 -4
- package/lib/gate.js +107 -9
- package/lib/installer-args.js +24 -0
- package/lib/pillars.js +2 -4
- package/lib/recipes.js +16 -0
- package/lib/router.js +1 -5
- package/lib/source-sync.js +1 -1
- package/lib/state-advance.js +244 -0
- package/lib/state-lock.js +8 -4
- package/lib/state-views.js +460 -0
- package/lib/state.js +52 -3
- package/package.json +1 -1
- package/routing/god-audit.yaml +1 -1
- package/routing/god-build.yaml +1 -1
- package/routing/god-context.yaml +1 -1
- package/routing/god-deploy.yaml +3 -1
- package/routing/god-design.yaml +2 -2
- package/routing/god-launch.yaml +4 -1
- package/routing/god-migrate.yaml +0 -1
- package/routing/god-mode.yaml +1 -1
- package/routing/god-observe.yaml +4 -1
- package/routing/god-prd.yaml +1 -1
- package/routing/god-reconcile.yaml +2 -5
- package/routing/god-sync.yaml +1 -1
- package/routing/recipes/returning-after-break.yaml +1 -1
- package/schema/state.v1.json +68 -1
- package/skills/god-arch.md +1 -1
- package/skills/god-build.md +6 -4
- package/skills/god-deploy.md +16 -14
- package/skills/god-design.md +3 -3
- package/skills/god-fast.md +2 -2
- package/skills/god-feature.md +1 -1
- package/skills/god-harden.md +3 -3
- package/skills/god-hotfix.md +1 -1
- package/skills/god-init.md +14 -10
- package/skills/god-launch.md +14 -12
- package/skills/god-lifecycle.md +2 -1
- package/skills/god-mode.md +5 -4
- package/skills/god-observe.md +15 -13
- package/skills/god-pause-work.md +2 -2
- package/skills/god-prd.md +5 -4
- package/skills/god-quick.md +1 -1
- package/skills/god-repo.md +1 -1
- package/skills/god-resume-work.md +5 -4
- package/skills/god-roadmap-update.md +1 -1
- package/skills/god-roadmap.md +1 -1
- package/skills/god-rollback.md +1 -1
- package/skills/god-skip.md +2 -2
- package/skills/god-stack.md +1 -1
- package/skills/god-standards.md +1 -1
- package/skills/god-status.md +2 -2
- package/skills/god-story.md +1 -1
- package/skills/god-sync.md +2 -2
- package/workflows/bluefield-arc.yaml +2 -4
- package/workflows/brownfield-arc.yaml +2 -4
|
@@ -8,7 +8,7 @@ metadata:
|
|
|
8
8
|
|
|
9
9
|
prerequisites:
|
|
10
10
|
required:
|
|
11
|
-
- check:
|
|
11
|
+
- check: state:initialized == true
|
|
12
12
|
auto-complete: /god-init
|
|
13
13
|
human-required: true
|
|
14
14
|
|
|
@@ -21,11 +21,8 @@ execution:
|
|
|
21
21
|
- .godpowers/roadmap/ROADMAP.md
|
|
22
22
|
- .godpowers/stack/DECISION.md
|
|
23
23
|
- .godpowers/repo/AUDIT.md
|
|
24
|
-
- .godpowers/
|
|
25
|
-
- .godpowers/deploy/STATE.md
|
|
26
|
-
- .godpowers/observe/STATE.md
|
|
24
|
+
- .godpowers/state.json
|
|
27
25
|
- .godpowers/harden/FINDINGS.md
|
|
28
|
-
- .godpowers/launch/STATE.md
|
|
29
26
|
- .godpowers/backlog/BACKLOG.md
|
|
30
27
|
- .godpowers/seeds/
|
|
31
28
|
- .godpowers/todos/TODOS.md
|
package/routing/god-sync.yaml
CHANGED
package/schema/state.v1.json
CHANGED
|
@@ -269,7 +269,7 @@
|
|
|
269
269
|
"properties": {
|
|
270
270
|
"status": {
|
|
271
271
|
"type": "string",
|
|
272
|
-
"enum": ["pending", "in-flight", "done", "skipped", "imported", "failed", "re-invoked"]
|
|
272
|
+
"enum": ["pending", "in-flight", "done", "skipped", "imported", "failed", "re-invoked", "not-required"]
|
|
273
273
|
},
|
|
274
274
|
"artifact": {
|
|
275
275
|
"type": "string",
|
|
@@ -297,8 +297,75 @@
|
|
|
297
297
|
"notes": {
|
|
298
298
|
"type": "string",
|
|
299
299
|
"description": "Free-form for skip reason, failure detail, etc."
|
|
300
|
+
},
|
|
301
|
+
"readiness-scope": {
|
|
302
|
+
"type": "string",
|
|
303
|
+
"description": "Deploy, observe, or launch readiness scope such as local-readiness, local-staging, ci-readiness, deployed-staging, live-target, or deferred-external-access."
|
|
304
|
+
},
|
|
305
|
+
"verified-target-type": {
|
|
306
|
+
"type": "string",
|
|
307
|
+
"description": "Target class verified by deploy, observe, or launch work, such as local-staging, ci, deployed-staging, production, or live."
|
|
308
|
+
},
|
|
309
|
+
"target-evidence": {
|
|
310
|
+
"type": "string",
|
|
311
|
+
"description": "Evidence source for a deploy, observe, or launch target, such as config, CI variable, IaC output, provider CLI output, docs, or current user input."
|
|
312
|
+
},
|
|
313
|
+
"external-access-deferral": {
|
|
314
|
+
"type": "string",
|
|
315
|
+
"description": "Relative artifact path or concise reason when deployed staging, provider, dashboard, or live launch access is deferred."
|
|
316
|
+
},
|
|
317
|
+
"waiting-artifact": {
|
|
318
|
+
"type": "string",
|
|
319
|
+
"description": "Relative artifact path for the smallest outstanding external access bundle."
|
|
320
|
+
},
|
|
321
|
+
"rollback-evidence": {
|
|
322
|
+
"type": "string",
|
|
323
|
+
"description": "Deploy rollback command, run result, or artifact path proving rollback was tested."
|
|
324
|
+
},
|
|
325
|
+
"slo-evidence": {
|
|
326
|
+
"type": "string",
|
|
327
|
+
"description": "Observability evidence for SLO definitions and error budget policy coverage."
|
|
328
|
+
},
|
|
329
|
+
"alert-evidence": {
|
|
330
|
+
"type": "string",
|
|
331
|
+
"description": "Observability evidence for alert definitions and alert response coverage."
|
|
332
|
+
},
|
|
333
|
+
"runbook-evidence": {
|
|
334
|
+
"type": "string",
|
|
335
|
+
"description": "Observability or launch evidence for tested runbooks."
|
|
336
|
+
},
|
|
337
|
+
"launch-evidence": {
|
|
338
|
+
"type": "string",
|
|
339
|
+
"description": "Launch evidence for live launch, local launch-readiness, source attribution, or launch deferral."
|
|
340
|
+
},
|
|
341
|
+
"verification": {
|
|
342
|
+
"type": "object",
|
|
343
|
+
"description": "Structured verification evidence used by executable gates instead of markdown STATE.md parsing.",
|
|
344
|
+
"properties": {
|
|
345
|
+
"commands": {
|
|
346
|
+
"type": "array",
|
|
347
|
+
"items": { "$ref": "#/$defs/VerificationCommand" }
|
|
348
|
+
}
|
|
349
|
+
},
|
|
350
|
+
"additionalProperties": true
|
|
300
351
|
}
|
|
301
352
|
}
|
|
353
|
+
},
|
|
354
|
+
"VerificationCommand": {
|
|
355
|
+
"type": "object",
|
|
356
|
+
"required": ["command", "status"],
|
|
357
|
+
"properties": {
|
|
358
|
+
"command": { "type": "string" },
|
|
359
|
+
"status": {
|
|
360
|
+
"type": "string",
|
|
361
|
+
"enum": ["pass", "passed", "green", "success", "succeeded", "ok", "fail", "failed", "red", "error", "skipped"]
|
|
362
|
+
},
|
|
363
|
+
"exitCode": { "type": "integer" },
|
|
364
|
+
"ranAt": { "type": "string", "format": "date-time" },
|
|
365
|
+
"durationMs": { "type": "integer", "minimum": 0 },
|
|
366
|
+
"diagnostics": { "type": "string" }
|
|
367
|
+
},
|
|
368
|
+
"additionalProperties": true
|
|
302
369
|
}
|
|
303
370
|
},
|
|
304
371
|
"additionalProperties": false
|
package/skills/god-arch.md
CHANGED
|
@@ -27,7 +27,7 @@ After god-architect returns:
|
|
|
27
27
|
1. Verify ARCH.md and ADRs exist on disk
|
|
28
28
|
2. Spawn god-auditor to verify have-nots pass
|
|
29
29
|
3. Run `npx godpowers gate --tier=arch --project=.` and do not proceed on a non-zero exit
|
|
30
|
-
4.
|
|
30
|
+
4. Run `npx godpowers state advance --step=arch --status=done --project=.` to update `state.json` and regenerate `.godpowers/PROGRESS.md`.
|
|
31
31
|
|
|
32
32
|
## Pause Format
|
|
33
33
|
|
package/skills/god-build.md
CHANGED
|
@@ -61,7 +61,8 @@ For each slice in the wave (parallel):
|
|
|
61
61
|
- If FAIL: return slice to god-executor with findings, including any
|
|
62
62
|
overcomplication, speculative abstraction, or unrelated cleanup
|
|
63
63
|
- If PASS: commit the slice atomically
|
|
64
|
-
5.
|
|
64
|
+
5. Record build status and slice evidence in `.godpowers/state.json` so
|
|
65
|
+
`.godpowers/build/STATE.md` regenerates as a managed view.
|
|
65
66
|
|
|
66
67
|
Move to next wave only when current wave is fully committed.
|
|
67
68
|
|
|
@@ -76,9 +77,10 @@ After all waves:
|
|
|
76
77
|
decompose, prune, or escalate. Pass the exact failing diagnostics, rerun the
|
|
77
78
|
command, and repeat until green or until the same root failure exhausts the
|
|
78
79
|
repair budget.
|
|
79
|
-
5. Record the exact verification commands that passed in `.godpowers/
|
|
80
|
+
5. Record the exact verification commands that passed in `.godpowers/state.json`
|
|
81
|
+
under `tiers.tier-2.build.verification.commands`
|
|
80
82
|
6. Run `npx godpowers gate --tier=build --project=.` and do not proceed on a non-zero exit
|
|
81
|
-
7.
|
|
83
|
+
7. Run `npx godpowers state advance --step=build --status=done --project=.` to update `state.json` and regenerate `.godpowers/PROGRESS.md` plus `.godpowers/build/STATE.md`.
|
|
82
84
|
8. If the build plan or implementation establishes durable conventions, plan
|
|
83
85
|
pillar updates through `lib/pillars.planArtifactSync`. Under
|
|
84
86
|
`/god-mode --yolo`, apply those updates immediately and log the decision.
|
|
@@ -93,7 +95,7 @@ Pause for user ONLY if:
|
|
|
93
95
|
## On Completion
|
|
94
96
|
|
|
95
97
|
```
|
|
96
|
-
Build complete: .godpowers/build/STATE.md
|
|
98
|
+
Build complete: .godpowers/build/STATE.md (generated view)
|
|
97
99
|
[N] slices delivered. [N] commits. All tests passing.
|
|
98
100
|
|
|
99
101
|
Suggested next: /god-harden (adversarial review, gates Launch)
|
package/skills/god-deploy.md
CHANGED
|
@@ -13,15 +13,15 @@ Spawn the **god-deploy-engineer** agent in a fresh context via the host platform
|
|
|
13
13
|
|
|
14
14
|
## Setup
|
|
15
15
|
|
|
16
|
-
1. Verify build is complete
|
|
16
|
+
1. Verify build is complete through `.godpowers/state.json` `tier-2.build.status == done` and passing build verification commands.
|
|
17
17
|
2. Verify all tests pass.
|
|
18
18
|
3. Spawn god-deploy-engineer with ARCH and stack DECISION paths.
|
|
19
|
-
4. The agent
|
|
19
|
+
4. The agent returns structured deploy evidence for `.godpowers/state.json`; the generated `.godpowers/deploy/STATE.md` view refreshes after state mutation.
|
|
20
20
|
|
|
21
21
|
## Verification
|
|
22
22
|
|
|
23
23
|
After god-deploy-engineer returns:
|
|
24
|
-
1. Verify
|
|
24
|
+
1. Verify deploy evidence is recorded in `.godpowers/state.json`
|
|
25
25
|
2. Verify rollback procedure has been tested (not paper-only)
|
|
26
26
|
3. Verify the deploy path is one of:
|
|
27
27
|
- real staging or production target tested
|
|
@@ -29,15 +29,17 @@ After god-deploy-engineer returns:
|
|
|
29
29
|
commands
|
|
30
30
|
- local/CI deploy readiness complete with deployed staging verification
|
|
31
31
|
deferred in `.godpowers/deploy/WAITING-FOR-EXTERNAL-ACCESS.md`
|
|
32
|
-
4.
|
|
33
|
-
real target or tested local staging harness exists. If
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
4. Run `npx godpowers state advance --step=deploy --status=done --project=.`
|
|
33
|
+
only when a tested real target or tested local staging harness exists. If
|
|
34
|
+
deployed staging is deferred, record the waiting artifact path in
|
|
35
|
+
`.godpowers/deploy/WAITING-FOR-EXTERNAL-ACCESS.md` and keep that evidence
|
|
36
|
+
in `state.json` through the owning deploy command rather than editing the
|
|
37
|
+
generated progress or deploy state views.
|
|
36
38
|
|
|
37
39
|
## On Completion
|
|
38
40
|
|
|
39
41
|
```
|
|
40
|
-
Deploy pipeline complete: .godpowers/deploy/STATE.md
|
|
42
|
+
Deploy pipeline complete: .godpowers/deploy/STATE.md (generated view)
|
|
41
43
|
|
|
42
44
|
Suggested next: /god-observe (wire SLOs, alerts, runbooks)
|
|
43
45
|
```
|
|
@@ -69,15 +71,15 @@ known, do not use it as staging without explicit user approval.
|
|
|
69
71
|
|
|
70
72
|
## Re-invocation contract
|
|
71
73
|
|
|
72
|
-
What happens if `/god-deploy` is run when
|
|
74
|
+
What happens if `/god-deploy` is run when deploy state evidence already exists:
|
|
73
75
|
|
|
74
76
|
| Existing state | Behavior |
|
|
75
77
|
|---|---|
|
|
76
|
-
|
|
|
77
|
-
|
|
|
78
|
-
|
|
|
79
|
-
|
|
|
80
|
-
| `--force` flag passed | Snapshot existing
|
|
78
|
+
| State evidence does not exist | Spawn god-deploy-engineer; record deploy evidence; mark sub-step done |
|
|
79
|
+
| State evidence exists and state.json says `done` | Pause: ask user (A) re-run anyway with diff preview, (B) treat as imported (no-op), (C) cancel |
|
|
80
|
+
| State evidence fails checks or the owning wrapper reports a generated view checksum warning | Spawn god-deploy-engineer in update mode with current evidence plus findings as input. Diff preview before overwrite. |
|
|
81
|
+
| State evidence exists, state.json says `pending` | Treat as imported: hash + register, no agent spawn. User can `/god-deploy --force` to re-run. |
|
|
82
|
+
| `--force` flag passed | Snapshot existing evidence to `.godpowers/.trash/god-deploy-<ts>/`. Spawn agent fresh. |
|
|
81
83
|
| `--dry-run` flag passed | Show what would happen; touch nothing |
|
|
82
84
|
|
|
83
85
|
Snapshots in `.trash/` are recoverable via `/god-restore` for 30 days.
|
package/skills/god-design.md
CHANGED
|
@@ -96,9 +96,9 @@ applied to design.
|
|
|
96
96
|
|
|
97
97
|
After god-designer and god-design-reviewer return:
|
|
98
98
|
1. Verify `DESIGN.md` exists on disk
|
|
99
|
-
2.
|
|
99
|
+
2. Record design lint, review verdict, and command history in `.godpowers/state.json`
|
|
100
100
|
3. Run `npx godpowers gate --tier=design --project=.` and do not proceed on a non-zero exit
|
|
101
|
-
4.
|
|
101
|
+
4. Run `npx godpowers state advance --step=design --status=done --project=.` when the project requires design, or `npx godpowers state advance --step=design --status=not-required --project=.` when design is explicitly not required.
|
|
102
102
|
|
|
103
103
|
## Output
|
|
104
104
|
|
|
@@ -107,7 +107,7 @@ Project root:
|
|
|
107
107
|
- `PRODUCT.md` (impeccable strategic file, when impeccable installed)
|
|
108
108
|
|
|
109
109
|
Inside `.godpowers/design/`:
|
|
110
|
-
- `STATE.md` (
|
|
110
|
+
- `STATE.md` (generated design state view from `.godpowers/state.json`)
|
|
111
111
|
- `HISTORY.md` (append-only log of design changes; populated by god-designer)
|
|
112
112
|
- `REJECTED.md` (append-only log of blocked changes; populated by god-design-reviewer)
|
|
113
113
|
|
package/skills/god-fast.md
CHANGED
|
@@ -3,7 +3,7 @@ name: god-fast
|
|
|
3
3
|
description: |
|
|
4
4
|
Make a quick inline edit without full Godpowers planning overhead. For trivial
|
|
5
5
|
changes: typo fixes, config tweaks, single-line updates. No agents, no plans,
|
|
6
|
-
no
|
|
6
|
+
no state mutation.
|
|
7
7
|
|
|
8
8
|
Triggers on: "god fast", "/god-fast", "quick fix", "trivial change", "tiny tweak"
|
|
9
9
|
---
|
|
@@ -36,7 +36,7 @@ Skip the full pipeline. Make a small edit inline.
|
|
|
36
36
|
|
|
37
37
|
- If running tests reveals regressions: STOP. Switch to /god-build or /god-debug.
|
|
38
38
|
- If the change touches more than 3 lines: STOP. Switch to /god-build.
|
|
39
|
-
- Skip
|
|
39
|
+
- Skip state mutation and generated progress view refreshes because this is below the planning threshold.
|
|
40
40
|
|
|
41
41
|
## On Completion
|
|
42
42
|
|
package/skills/god-feature.md
CHANGED
|
@@ -57,7 +57,7 @@ Spawn **god-planner** scoped to the feature only.
|
|
|
57
57
|
Then run god-executor + god-spec-reviewer + god-quality-reviewer per slice.
|
|
58
58
|
|
|
59
59
|
### Phase 4: Deploy
|
|
60
|
-
Use existing deploy pipeline
|
|
60
|
+
Use existing deploy pipeline from `.godpowers/state.json` deploy evidence. No new pipeline.
|
|
61
61
|
Feature flag the rollout if the feature is high-risk.
|
|
62
62
|
|
|
63
63
|
### Phase 5: Harden (just the new code)
|
package/skills/god-harden.md
CHANGED
|
@@ -13,7 +13,7 @@ Spawn the **god-harden-auditor** agent in a fresh context via the host platform'
|
|
|
13
13
|
|
|
14
14
|
## Setup
|
|
15
15
|
|
|
16
|
-
1. Verify build is complete
|
|
16
|
+
1. Verify build is complete through `.godpowers/state.json` `tier-2.build.status == done`.
|
|
17
17
|
2. Spawn god-harden-auditor with full code access.
|
|
18
18
|
3. The agent writes `.godpowers/harden/FINDINGS.md`.
|
|
19
19
|
|
|
@@ -23,8 +23,8 @@ After god-harden-auditor returns:
|
|
|
23
23
|
1. Verify FINDINGS.md exists on disk
|
|
24
24
|
2. Run `npx godpowers gate --tier=harden --project=.` and do not proceed on a non-zero exit
|
|
25
25
|
3. Read findings classification:
|
|
26
|
-
- If any Critical:
|
|
27
|
-
- If only High/Medium/Low:
|
|
26
|
+
- If any Critical: run `npx godpowers state advance --step=harden --status=failed --project=.` and keep launch BLOCKED
|
|
27
|
+
- If only High/Medium/Low: run `npx godpowers state advance --step=harden --status=done --project=.`
|
|
28
28
|
|
|
29
29
|
## Have-Nots
|
|
30
30
|
|
package/skills/god-hotfix.md
CHANGED
|
@@ -72,7 +72,7 @@ Spawn **god-observability-engineer** briefly:
|
|
|
72
72
|
- Confirm recovery in metrics
|
|
73
73
|
|
|
74
74
|
### Phase 7: Schedule Postmortem
|
|
75
|
-
|
|
75
|
+
Record a state-backed follow-up TODO through the owning command wrapper:
|
|
76
76
|
"Run /god-postmortem within 48 hours for incident <id>"
|
|
77
77
|
|
|
78
78
|
Hotfix doesn't replace postmortem; it precedes it.
|
package/skills/god-init.md
CHANGED
|
@@ -3,7 +3,8 @@ name: god-init
|
|
|
3
3
|
description: |
|
|
4
4
|
Initialize a Godpowers project. Detects operating mode (greenfield, gap-fill,
|
|
5
5
|
audit, multi-repo) and project scale. Creates native Pillars project context
|
|
6
|
-
plus the .godpowers/ workflow state directory with
|
|
6
|
+
plus the .godpowers/ workflow state directory with state.json and generated
|
|
7
|
+
PROGRESS.md.
|
|
7
8
|
|
|
8
9
|
Triggers on: "god init", "start a project", "new project", "initialize"
|
|
9
10
|
---
|
|
@@ -18,9 +19,11 @@ This skill is a thin wrapper. Detection happens automatically; user never
|
|
|
18
19
|
needs to specify a mode.
|
|
19
20
|
|
|
20
21
|
1. Check if `.godpowers/` already exists:
|
|
21
|
-
- If yes: read
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
- If yes: read `.godpowers/state.json`, use generated `.godpowers/PROGRESS.md`
|
|
23
|
+
only as a legacy fallback, call
|
|
24
|
+
`lib/pillars.pillarizeExisting(projectRoot)` to ensure the existing
|
|
25
|
+
Godpowers project is also Pillar-ized, report current state, ask if user
|
|
26
|
+
wants to reset or resume
|
|
24
27
|
- If no: proceed with initialization
|
|
25
28
|
|
|
26
29
|
2. **Auto-detect what kind of project this is** (background, no user prompt):
|
|
@@ -124,7 +127,8 @@ needs to specify a mode.
|
|
|
124
127
|
- For brownfield: schedule preflight before archaeology + reconstruction
|
|
125
128
|
- For bluefield: load org-context, then schedule preflight as constraint intake
|
|
126
129
|
- Create directory structure
|
|
127
|
-
- Write
|
|
130
|
+
- Write `.godpowers/state.json` with mode, scale, timestamp, tier states,
|
|
131
|
+
then regenerate the managed `.godpowers/PROGRESS.md` view
|
|
128
132
|
- Return mode/scale/announcement to this skill
|
|
129
133
|
|
|
130
134
|
8. Detect scale by analyzing the description:
|
|
@@ -150,7 +154,7 @@ needs to specify a mode.
|
|
|
150
154
|
deploy.md
|
|
151
155
|
observe.md
|
|
152
156
|
.godpowers/
|
|
153
|
-
PROGRESS.md
|
|
157
|
+
PROGRESS.md # generated managed view
|
|
154
158
|
prep/
|
|
155
159
|
INITIAL-FINDINGS.md
|
|
156
160
|
IMPORTED-CONTEXT.md # only when legacy planning / Superpowers / BMAD context exists
|
|
@@ -167,7 +171,7 @@ needs to specify a mode.
|
|
|
167
171
|
harden/
|
|
168
172
|
```
|
|
169
173
|
|
|
170
|
-
10. Write
|
|
174
|
+
10. Write `state.json` with mode, scale, timestamp, and all tiers set to `pending`, then regenerate `.godpowers/PROGRESS.md`
|
|
171
175
|
|
|
172
176
|
11. Report to the user:
|
|
173
177
|
- Detected mode and scale
|
|
@@ -186,7 +190,7 @@ needs to specify a mode.
|
|
|
186
190
|
|
|
187
191
|
## Output
|
|
188
192
|
|
|
189
|
-
`.godpowers/
|
|
193
|
+
`.godpowers/state.json` created with initial state and `.godpowers/PROGRESS.md` generated as a managed human view.
|
|
190
194
|
|
|
191
195
|
Always create `.godpowers/prep/INITIAL-FINDINGS.md`. This is Godpowers'
|
|
192
196
|
durable answer to "what did init find in this codebase?" It captures codebase
|
|
@@ -201,7 +205,7 @@ as hypothesis-level input only.
|
|
|
201
205
|
|
|
202
206
|
## Native Pillars context and AI-tool context
|
|
203
207
|
|
|
204
|
-
After
|
|
208
|
+
After `state.json` is written and the progress view is generated, Pillars context is already present. Every
|
|
205
209
|
Godpowers project uses `AGENTS.md` plus `agents/*.md` as its native project
|
|
206
210
|
truth layer.
|
|
207
211
|
|
|
@@ -243,7 +247,7 @@ If the user later wants to enable it manually, they run `/god-context on`.
|
|
|
243
247
|
|
|
244
248
|
## Mode D detection (multi-repo workspace)
|
|
245
249
|
|
|
246
|
-
After
|
|
250
|
+
After `state.json` is written, also check whether this directory is
|
|
247
251
|
part of a multi-repo suite:
|
|
248
252
|
|
|
249
253
|
1. Call `lib/multi-repo-detector.detect(projectRoot)`.
|
package/skills/god-launch.md
CHANGED
|
@@ -17,21 +17,23 @@ Spawn the **god-launch-strategist** agent in a fresh context via the host platfo
|
|
|
17
17
|
2. If Critical findings exist: REFUSE to proceed. Tell user to resolve or
|
|
18
18
|
explicitly accept the risk first.
|
|
19
19
|
3. Spawn god-launch-strategist with PRD path and harden FINDINGS.md path.
|
|
20
|
-
4. The agent
|
|
20
|
+
4. The agent returns structured launch evidence for `.godpowers/state.json` plus landing copy artifacts; the generated `.godpowers/launch/STATE.md` view refreshes after state mutation.
|
|
21
21
|
|
|
22
22
|
## Verification
|
|
23
23
|
|
|
24
24
|
After god-launch-strategist returns:
|
|
25
|
-
1. Verify
|
|
25
|
+
1. Verify launch evidence is recorded in `.godpowers/state.json`
|
|
26
26
|
2. Verify landing copy passes substitution test
|
|
27
27
|
3. Verify OG cards rendered (not just meta tags)
|
|
28
28
|
4. Verify one of:
|
|
29
29
|
- launch target is live and smoke checked
|
|
30
30
|
- local launch-readiness harness passed and external access bundle is the
|
|
31
31
|
only missing item
|
|
32
|
-
5.
|
|
33
|
-
or explicit local launch-readiness scope is complete.
|
|
34
|
-
missing,
|
|
32
|
+
5. Run `npx godpowers state advance --step=launch --status=done --project=.`
|
|
33
|
+
only when live launch or explicit local launch-readiness scope is complete.
|
|
34
|
+
If external access is missing, record the waiting artifact path in launch
|
|
35
|
+
state through the owning command wrapper rather than editing the generated
|
|
36
|
+
progress or launch state views.
|
|
35
37
|
|
|
36
38
|
## Pause Conditions
|
|
37
39
|
|
|
@@ -41,7 +43,7 @@ approval require human input.
|
|
|
41
43
|
## On Completion
|
|
42
44
|
|
|
43
45
|
```
|
|
44
|
-
Launch complete: .godpowers/launch/STATE.md
|
|
46
|
+
Launch complete: .godpowers/launch/STATE.md (generated view)
|
|
45
47
|
|
|
46
48
|
All Godpowers tiers done. Project is live.
|
|
47
49
|
|
|
@@ -71,15 +73,15 @@ approval.
|
|
|
71
73
|
|
|
72
74
|
## Re-invocation contract
|
|
73
75
|
|
|
74
|
-
What happens if `/god-launch` is run when
|
|
76
|
+
What happens if `/god-launch` is run when launch state evidence already exists:
|
|
75
77
|
|
|
76
78
|
| Existing state | Behavior |
|
|
77
79
|
|---|---|
|
|
78
|
-
|
|
|
79
|
-
|
|
|
80
|
-
|
|
|
81
|
-
|
|
|
82
|
-
| `--force` flag passed | Snapshot existing
|
|
80
|
+
| State evidence does not exist | Spawn god-launch-strategist; record launch evidence; mark sub-step done |
|
|
81
|
+
| State evidence exists and state.json says `done` | Pause: ask user (A) re-run anyway with diff preview, (B) treat as imported (no-op), (C) cancel |
|
|
82
|
+
| State evidence fails checks or the owning wrapper reports a generated view checksum warning | Spawn god-launch-strategist in update mode with current evidence plus findings as input. Diff preview before overwrite. |
|
|
83
|
+
| State evidence exists, state.json says `pending` | Treat as imported: hash + register, no agent spawn. User can `/god-launch --force` to re-run. |
|
|
84
|
+
| `--force` flag passed | Snapshot existing evidence to `.godpowers/.trash/god-launch-<ts>/`. Spawn agent fresh. |
|
|
83
85
|
| `--dry-run` flag passed | Show what would happen; touch nothing |
|
|
84
86
|
|
|
85
87
|
Snapshots in `.trash/` are recoverable via `/god-restore` for 30 days.
|
package/skills/god-lifecycle.md
CHANGED
|
@@ -17,7 +17,8 @@ Show project phase and contextually appropriate workflows.
|
|
|
17
17
|
|
|
18
18
|
1. Detect lifecycle phase from disk:
|
|
19
19
|
- **No `.godpowers/`** -> Pre-init
|
|
20
|
-
- **`.godpowers/
|
|
20
|
+
- **`.godpowers/state.json` exists, not all tracked steps done** -> In progress
|
|
21
|
+
- **Only generated legacy `.godpowers/PROGRESS.md` exists** -> In progress after re-deriving state from disk
|
|
21
22
|
- **All tiers done, no special markers** -> Steady state
|
|
22
23
|
- **`.godpowers/postmortems/<id>/` exists with no POSTMORTEM.md** -> Post-incident pending
|
|
23
24
|
- **`.godpowers/migrations/<slug>/MIGRATION.md` exists, status != complete** -> In-migration
|
package/skills/god-mode.md
CHANGED
|
@@ -19,8 +19,9 @@ workflow.
|
|
|
19
19
|
|
|
20
20
|
1. Resolve whether this is a new project run or a resume:
|
|
21
21
|
- If `.godpowers/state.json`, `.godpowers/PROGRESS.md`, or
|
|
22
|
-
`.godpowers/CHECKPOINT.md` exists, this is a resume.
|
|
23
|
-
|
|
22
|
+
`.godpowers/CHECKPOINT.md` exists, this is a resume. Treat `state.json`
|
|
23
|
+
as the source of truth and `PROGRESS.md` as a generated legacy fallback.
|
|
24
|
+
Do not ask the user to describe the project again. Call
|
|
24
25
|
`lib/pillars.pillarizeExisting(projectRoot)` first, then rehydrate intent
|
|
25
26
|
from disk and continue.
|
|
26
27
|
- If no durable Godpowers state exists and no project description was
|
|
@@ -41,7 +42,7 @@ workflow.
|
|
|
41
42
|
starting with `agents/context.md` and `agents/repo.md`
|
|
42
43
|
- `.godpowers/CHECKPOINT.md` first, when present
|
|
43
44
|
- `.godpowers/state.json`
|
|
44
|
-
- `.godpowers/PROGRESS.md`
|
|
45
|
+
- `.godpowers/PROGRESS.md` only as a generated legacy fallback when state is missing
|
|
45
46
|
- `.godpowers/intent.yaml`, when present
|
|
46
47
|
- `.godpowers/prep/INITIAL-FINDINGS.md`, when present
|
|
47
48
|
- `.godpowers/prep/IMPORTED-CONTEXT.md`, when present
|
|
@@ -78,7 +79,7 @@ workflow.
|
|
|
78
79
|
- The detected mode (A/B/C/E)
|
|
79
80
|
- The active flags
|
|
80
81
|
- Instruction that existing `.godpowers` state means resume, not prompt
|
|
81
|
-
- Instruction to read `.godpowers/
|
|
82
|
+
- Instruction to read `.godpowers/state.json` from disk, using `.godpowers/PROGRESS.md` only as generated legacy fallback when state is missing
|
|
82
83
|
- Instruction to read `.godpowers/prep/INITIAL-FINDINGS.md` and
|
|
83
84
|
`.godpowers/prep/IMPORTED-CONTEXT.md` if present before choosing the
|
|
84
85
|
first planning or build step
|
package/skills/god-observe.md
CHANGED
|
@@ -13,14 +13,14 @@ Spawn the **god-observability-engineer** agent in a fresh context via the host p
|
|
|
13
13
|
|
|
14
14
|
## Setup
|
|
15
15
|
|
|
16
|
-
1. Verify `.godpowers/
|
|
16
|
+
1. Verify `.godpowers/state.json` records `tier-3.deploy.status == done`.
|
|
17
17
|
2. Spawn god-observability-engineer with PRD (for success metrics) and ARCH paths.
|
|
18
|
-
3. The agent
|
|
18
|
+
3. The agent returns structured observability evidence for `.godpowers/state.json`; the generated `.godpowers/observe/STATE.md` view refreshes after state mutation.
|
|
19
19
|
|
|
20
20
|
## Verification
|
|
21
21
|
|
|
22
22
|
After god-observability-engineer returns:
|
|
23
|
-
1. Verify
|
|
23
|
+
1. Verify observability evidence is recorded in `.godpowers/state.json`
|
|
24
24
|
2. Verify each SLO has an error budget policy
|
|
25
25
|
3. Verify each alert has a runbook
|
|
26
26
|
4. Verify provider work is one of:
|
|
@@ -28,14 +28,16 @@ After god-observability-engineer returns:
|
|
|
28
28
|
- provider-neutral definitions as code created and locally checked
|
|
29
29
|
- missing dashboard/API credentials appended to the single external access
|
|
30
30
|
bundle
|
|
31
|
-
5.
|
|
32
|
-
real provider config or local definitions as code. If
|
|
33
|
-
missing,
|
|
31
|
+
5. Run `npx godpowers state advance --step=observe --status=done --project=.`
|
|
32
|
+
only for verified real provider config or local definitions as code. If
|
|
33
|
+
external access is missing, record the missing access bundle in deploy or
|
|
34
|
+
observe state through the owning command wrapper rather than editing the
|
|
35
|
+
generated progress or observe state views.
|
|
34
36
|
|
|
35
37
|
## On Completion
|
|
36
38
|
|
|
37
39
|
```
|
|
38
|
-
Observability complete: .godpowers/observe/STATE.md
|
|
40
|
+
Observability complete: .godpowers/observe/STATE.md (generated view)
|
|
39
41
|
|
|
40
42
|
Suggested next: /god-harden (adversarial security review, gates Launch)
|
|
41
43
|
```
|
|
@@ -53,15 +55,15 @@ named command cannot run without one exact credential.
|
|
|
53
55
|
|
|
54
56
|
## Re-invocation contract
|
|
55
57
|
|
|
56
|
-
What happens if `/god-observe` is run when
|
|
58
|
+
What happens if `/god-observe` is run when observe state evidence already exists:
|
|
57
59
|
|
|
58
60
|
| Existing state | Behavior |
|
|
59
61
|
|---|---|
|
|
60
|
-
|
|
|
61
|
-
|
|
|
62
|
-
|
|
|
63
|
-
|
|
|
64
|
-
| `--force` flag passed | Snapshot existing
|
|
62
|
+
| State evidence does not exist | Spawn god-observability-engineer; record observability evidence; mark sub-step done |
|
|
63
|
+
| State evidence exists and state.json says `done` | Pause: ask user (A) re-run anyway with diff preview, (B) treat as imported (no-op), (C) cancel |
|
|
64
|
+
| State evidence fails checks or the owning wrapper reports a generated view checksum warning | Spawn god-observability-engineer in update mode with current evidence plus findings as input. Diff preview before overwrite. |
|
|
65
|
+
| State evidence exists, state.json says `pending` | Treat as imported: hash + register, no agent spawn. User can `/god-observe --force` to re-run. |
|
|
66
|
+
| `--force` flag passed | Snapshot existing evidence to `.godpowers/.trash/god-observe-<ts>/`. Spawn agent fresh. |
|
|
65
67
|
| `--dry-run` flag passed | Show what would happen; touch nothing |
|
|
66
68
|
|
|
67
69
|
Snapshots in `.trash/` are recoverable via `/god-restore` for 30 days.
|
package/skills/god-pause-work.md
CHANGED
|
@@ -15,7 +15,7 @@ Create a context handoff so you can resume cleanly later.
|
|
|
15
15
|
|
|
16
16
|
## Process
|
|
17
17
|
|
|
18
|
-
1. Read `.godpowers/
|
|
18
|
+
1. Read `.godpowers/state.json` to capture current state; use `.godpowers/PROGRESS.md` only as a generated legacy fallback when state is missing.
|
|
19
19
|
2. Identify what was actively being worked on:
|
|
20
20
|
- Which slice? Which agent was running?
|
|
21
21
|
- What was the next step?
|
|
@@ -53,7 +53,7 @@ Paused: [timestamp]
|
|
|
53
53
|
`/god-resume-work` to load this context, then continue.
|
|
54
54
|
```
|
|
55
55
|
|
|
56
|
-
5.
|
|
56
|
+
5. Run `npx godpowers state advance --step=<current-step> --status=in-flight --project=.` if the current sub-step is not already in flight.
|
|
57
57
|
|
|
58
58
|
## On Completion
|
|
59
59
|
|
package/skills/god-prd.md
CHANGED
|
@@ -13,11 +13,12 @@ Spawn the **god-pm** agent in a fresh context via the host platform's native age
|
|
|
13
13
|
|
|
14
14
|
## Setup
|
|
15
15
|
|
|
16
|
-
1. If `.godpowers/
|
|
16
|
+
1. If `.godpowers/state.json` does not exist: tell the user to run `/god-init` first.
|
|
17
17
|
2. Read `.godpowers/prep/INITIAL-FINDINGS.md` if present.
|
|
18
18
|
3. Read `.godpowers/prep/IMPORTED-CONTEXT.md` if present.
|
|
19
|
-
4. Spawn god-pm with the user's project description from
|
|
20
|
-
prep artifacts. Prep artifacts are
|
|
19
|
+
4. Spawn god-pm with the user's project description from `state.json`,
|
|
20
|
+
`.godpowers/intent.yaml`, and any prep artifacts. Prep artifacts are
|
|
21
|
+
context, not source of truth.
|
|
21
22
|
5. The agent writes `.godpowers/prd/PRD.md`
|
|
22
23
|
6. The agent runs have-nots checks before declaring done
|
|
23
24
|
7. If god-pm pauses for a human question: relay to user using pause format
|
|
@@ -31,7 +32,7 @@ After god-pm returns:
|
|
|
31
32
|
1. Verify `.godpowers/prd/PRD.md` exists on disk
|
|
32
33
|
2. Spawn god-auditor briefly to verify have-nots pass
|
|
33
34
|
3. Run `npx godpowers gate --tier=prd --project=.` and do not proceed on a non-zero exit
|
|
34
|
-
4.
|
|
35
|
+
4. Run `npx godpowers state advance --step=prd --status=done --project=.` to update `state.json` and regenerate `.godpowers/PROGRESS.md`.
|
|
35
36
|
|
|
36
37
|
## Pause Format
|
|
37
38
|
|
package/skills/god-quick.md
CHANGED
package/skills/god-repo.md
CHANGED
|
@@ -23,7 +23,7 @@ After god-repo-scaffolder returns:
|
|
|
23
23
|
1. Verify AUDIT.md exists on disk
|
|
24
24
|
2. Verify CI passes on the empty scaffold
|
|
25
25
|
3. Run `npx godpowers gate --tier=repo --project=.` and do not proceed on a non-zero exit
|
|
26
|
-
4.
|
|
26
|
+
4. Run `npx godpowers state advance --step=repo --status=done --project=.` to update `state.json` and regenerate `.godpowers/PROGRESS.md`.
|
|
27
27
|
|
|
28
28
|
## On Completion
|
|
29
29
|
|