godpowers 0.15.10 → 0.15.12

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 CHANGED
@@ -5,6 +5,34 @@ All notable changes to Godpowers will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.15.12] - 2026-05-11
9
+
10
+ Shipping closure release. Prevents `/god-mode --yolo` from stopping with broad
11
+ staging/provider checklists.
12
+
13
+ ### Changed
14
+ - Added a Shipping Closure Protocol for deploy, observe, harden, and launch:
15
+ verify a real environment when reachable, otherwise create local or
16
+ CI-verifiable automation, then pause only for one exact external access
17
+ bundle.
18
+ - Deploy, observability, and launch agents now treat missing provider access as
19
+ `waiting-for-external-access` with a concrete artifact instead of a generic
20
+ next-step checklist.
21
+ - Full-arc workflow metadata now records closure behavior for missing external
22
+ access.
23
+
24
+ ## [0.15.11] - 2026-05-11
25
+
26
+ God Mode resume release. Fixes `/god-mode --yolo` prompting for a project
27
+ description when durable Godpowers state already exists.
28
+
29
+ ### Changed
30
+ - `/god-mode` now treats existing `.godpowers` state as a resume signal and
31
+ rehydrates intent from checkpoint, state, progress, intent, prep, and tier
32
+ artifacts before asking the user anything.
33
+ - The orchestrator now documents that asking "what do you want to build?" in a
34
+ brownfield repo with existing Godpowers artifacts is a routing bug.
35
+
8
36
  ## [0.15.10] - 2026-05-11
9
37
 
10
38
  God Mode continuity release. Makes red verification output repair work inside
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![CI](https://github.com/aihxp/godpowers/actions/workflows/ci.yml/badge.svg)](https://github.com/aihxp/godpowers/actions/workflows/ci.yml)
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
5
- [![Version](https://img.shields.io/badge/version-0.15.10-blue)](CHANGELOG.md)
5
+ [![Version](https://img.shields.io/badge/version-0.15.12-blue)](CHANGELOG.md)
6
6
  [![npm](https://img.shields.io/npm/v/godpowers.svg)](https://www.npmjs.com/package/godpowers)
7
7
 
8
8
  **Ship fast. Ship right. Ship everything. Ship accountably.**
@@ -153,6 +153,9 @@ going through build, verification, repair, launch, and final sync. Red tests,
153
153
  typecheck, lint, build, or check output enter the repair loop instead of being
154
154
  reported as the final result.
155
155
 
156
+ If `.godpowers` state already exists, `/god-mode --yolo` resumes from disk
157
+ instead of asking for the project description again.
158
+
156
159
  ## Architecture
157
160
 
158
161
  ### Slash Command + Specialist Agent Pattern
@@ -20,7 +20,13 @@ Build is complete. All tests pass. `.godpowers/build/STATE.md` shows green.
20
20
 
21
21
  1. Read ARCH for deployment topology
22
22
  2. Read stack DECISION for hosting/CI choices
23
- 3. Configure pipeline:
23
+ 3. Detect what can be verified now:
24
+ - real staging or production URL and credentials
25
+ - local staging harness or mock provider harness
26
+ - CI provider and deploy scripts
27
+ - provider CLIs, env files, Docker files, reverse proxy config, database,
28
+ backup, and restore scripts
29
+ 4. Configure pipeline:
24
30
 
25
31
  ### Same-Artifact Promotion
26
32
  - Build the artifact ONCE (Docker image, binary, bundle)
@@ -49,6 +55,18 @@ Build is complete. All tests pass. `.godpowers/build/STATE.md` shows green.
49
55
  - Post-deploy smoke test that hits real endpoints
50
56
  - Fails the deploy if smoke test fails (auto-rollback)
51
57
 
58
+ ### External Access Closure
59
+ - If real staging is reachable, run the real smoke and rollback checks.
60
+ - If real staging is not reachable, build the closest local staging harness and
61
+ run the same smoke command against it.
62
+ - If provider credentials, DNS, TLS, dashboard access, or production secrets are
63
+ missing, write `.godpowers/deploy/WAITING-FOR-EXTERNAL-ACCESS.md`.
64
+ - That file must contain one smallest access bundle, exact env var names,
65
+ exact dashboard/provider links or placeholders, and the command Godpowers will
66
+ run after access exists.
67
+ - Do not return a broad checklist as the final answer. Either return tested
68
+ deploy readiness or the one access bundle.
69
+
52
70
  ## Output
53
71
 
54
72
  Write `.godpowers/deploy/STATE.md`:
@@ -85,3 +103,5 @@ Write `.godpowers/deploy/STATE.md`:
85
103
  - Health check is TCP-only
86
104
  - No smoke tests
87
105
  - Paper canary (label without traffic split)
106
+ - Broad provider checklist with no scripts or exact access bundle
107
+ - Marks deploy done when the only verified target is missing
@@ -65,6 +65,18 @@ For each channel:
65
65
  - D+1 to D+3: respond to all comments, gather feedback
66
66
  - D+7: post-launch retrospective
67
67
 
68
+ ### 6. Shipping Closure
69
+ - Read `.godpowers/deploy/STATE.md`,
70
+ `.godpowers/deploy/WAITING-FOR-EXTERNAL-ACCESS.md` if present, and
71
+ `.godpowers/observe/STATE.md`.
72
+ - If deploy or observe is waiting on external access, do not create a broad
73
+ dashboard checklist. Reference the single waiting access bundle and write
74
+ launch state as `waiting-for-external-access`.
75
+ - If a staging or production URL is available, run or specify the exact smoke
76
+ command and record the result.
77
+ - If only local staging is available, run local launch-readiness checks and
78
+ clearly label scope as local readiness, not live launch.
79
+
68
80
  ## Output
69
81
 
70
82
  Write `.godpowers/launch/STATE.md` with all artifacts.
@@ -78,6 +90,8 @@ Write `.godpowers/launch/STATE.md` with all artifacts.
78
90
  - Launch with no source attribution
79
91
  - No D+1 to D+7 follow-up plan
80
92
  - "We'll figure out marketing later"
93
+ - Broad provider checklist instead of one exact external access bundle
94
+ - Declares live launch without a verified live target
81
95
 
82
96
  ## Pause Conditions
83
97
 
@@ -15,7 +15,9 @@ Wire observability.
15
15
 
16
16
  ## Gate Check
17
17
 
18
- `.godpowers/deploy/STATE.md` exists. App is deployed and reachable.
18
+ `.godpowers/deploy/STATE.md` exists. App is deployed and reachable, or deploy
19
+ state documents a tested local staging harness plus a single external access
20
+ bundle.
19
21
 
20
22
  ## Process
21
23
 
@@ -57,6 +59,16 @@ For each PRD success metric, define an SLO:
57
59
  - No "vanity metrics" dashboards
58
60
  - Top-level dashboard shows SLO status at a glance
59
61
 
62
+ ### 7. External Access Closure
63
+ - If the observability provider is reachable, create or verify the real alerts,
64
+ dashboards, and runbooks.
65
+ - If the provider is not reachable, create provider-neutral dashboard and alert
66
+ definitions as code when possible.
67
+ - If dashboard/API credentials are missing, append them to the single waiting
68
+ access bundle instead of returning a broad checklist.
69
+ - Under `/god-mode --yolo`, continue through every local or CI-verifiable
70
+ observability check before pausing for external access.
71
+
60
72
  ## Output
61
73
 
62
74
  Write `.godpowers/observe/STATE.md` with:
@@ -74,3 +86,5 @@ Write `.godpowers/observe/STATE.md` with:
74
86
  - Dashboard not tied to an SLO
75
87
  - Sensitive data in log output
76
88
  - Alert with no runbook
89
+ - Broad dashboard checklist instead of definitions as code or one exact access
90
+ bundle
@@ -324,6 +324,37 @@ after tests pass. If a git remote exists and the user passed an explicit push
324
324
  flag or the project intent says pushing is allowed, push after the green commit
325
325
  and then continue the arc. Pushing is not a terminal state.
326
326
 
327
+ ## Shipping Closure Protocol
328
+
329
+ The shipping tier must not end by listing a broad provider checklist. God Mode
330
+ either ships, creates the automation needed to ship, or pauses on one precise
331
+ external access bundle.
332
+
333
+ For deploy, observe, harden, and launch:
334
+ 1. Detect the target environment from deploy config, org context, env files,
335
+ CI config, README, existing scripts, and provider CLIs.
336
+ 2. If a real staging or production target is reachable, run the real smoke,
337
+ rollback, health, observability, and launch checks against it.
338
+ 3. If no real target is reachable but the stack can run locally, create or
339
+ update a local staging harness that exercises the same routes, health
340
+ checks, smoke checks, and launch gates. Run it.
341
+ 4. If provider credentials, DNS, TLS, dashboards, or production secrets are
342
+ missing, create the missing automation and documentation first:
343
+ - scripts for deploy, smoke, rollback, health, backup, and restore
344
+ - env var manifest with exact variable names
345
+ - CI jobs or documented commands that call those scripts
346
+ - `.godpowers/deploy/WAITING-FOR-EXTERNAL-ACCESS.md` with the smallest
347
+ access bundle needed
348
+ 5. Under `--yolo`, auto-pick safe defaults for provider-neutral choices and
349
+ continue through every local and CI-verifiable gate.
350
+ 6. Only pause when real external access is required and absent. The pause must
351
+ ask for one concrete thing, such as "provide STAGING_URL and these 5 secrets"
352
+ or "confirm production DNS host and token." Do not output a long checklist
353
+ as the stopping condition.
354
+ 7. Do not say "Suggested next" for a blocked shipping tier. Say either
355
+ `Arc complete` or `PAUSE: external access required`, with the exact artifact
356
+ that lists the required bundle.
357
+
327
358
  ## YOLO Behavior with Design + Linkage
328
359
 
329
360
  | Concern | Default | --yolo |
@@ -567,10 +598,19 @@ Default: If you say "go", I'll pick [X] because [Y].
567
598
  ## Resume Protocol
568
599
 
569
600
  On every invocation:
570
- 1. Read PROGRESS.md from disk (NEVER trust conversation memory)
571
- 2. Scan ALL artifact paths to verify what actually exists
572
- 3. If PROGRESS.md and disk disagree: disk wins. Repair PROGRESS.md.
573
- 4. Continue from the first non-done sub-step
601
+ 1. Read `.godpowers/CHECKPOINT.md`, `.godpowers/state.json`,
602
+ `.godpowers/PROGRESS.md`, and `.godpowers/intent.yaml` from disk. NEVER
603
+ trust conversation memory.
604
+ 2. Scan ALL artifact paths to verify what actually exists.
605
+ 3. If durable state exists, do not ask the user to describe the project again.
606
+ Reconstruct intent from disk and continue.
607
+ 4. If PROGRESS.md and disk disagree: disk wins. Repair PROGRESS.md.
608
+ 5. Continue from the first non-done sub-step or the first red verification
609
+ step.
610
+
611
+ Only ask "what do you want to build?" when no `.godpowers` state, no intent,
612
+ no checkpoint, and no completed artifact exists. In a brownfield repo with
613
+ existing Godpowers artifacts, asking that question is a routing bug.
574
614
 
575
615
  ## Mode Detection (Tier 0 setup)
576
616
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "godpowers",
3
- "version": "0.15.10",
3
+ "version": "0.15.12",
4
4
  "description": "AI-powered development system: 104 slash commands and 38 specialist agents that take a project from raw idea to hardened production. Runs inside Claude Code, Codex, Cursor, Windsurf, Gemini, and 10+ other AI coding tools.",
5
5
  "bin": {
6
6
  "godpowers": "./bin/install.js"
@@ -23,7 +23,15 @@ Spawn the **god-deploy-engineer** agent in a fresh context via Task tool.
23
23
  After god-deploy-engineer returns:
24
24
  1. Verify STATE.md exists on disk
25
25
  2. Verify rollback procedure has been tested (not paper-only)
26
- 3. Update `.godpowers/PROGRESS.md`: Deploy status = done
26
+ 3. Verify the deploy path is one of:
27
+ - real staging or production target tested
28
+ - local staging harness tested with equivalent health, smoke, and rollback
29
+ commands
30
+ - paused on `.godpowers/deploy/WAITING-FOR-EXTERNAL-ACCESS.md` with one
31
+ exact missing access bundle
32
+ 4. Update `.godpowers/PROGRESS.md`: Deploy status = done only for a tested real
33
+ target or tested local staging harness. If external access is missing, mark
34
+ Deploy = waiting-for-external-access, not done.
27
35
 
28
36
  ## On Completion
29
37
 
@@ -33,6 +41,12 @@ Deploy pipeline complete: .godpowers/deploy/STATE.md
33
41
  Suggested next: /god-observe (wire SLOs, alerts, runbooks)
34
42
  ```
35
43
 
44
+ Under `/god-mode --yolo`, do not stop with a provider checklist. Create or
45
+ update the deploy scripts, smoke command, rollback command, health endpoints,
46
+ env manifest, and local staging harness first. If real external access is still
47
+ required, pause on the single access bundle in
48
+ `.godpowers/deploy/WAITING-FOR-EXTERNAL-ACCESS.md`.
49
+
36
50
 
37
51
  ## Re-invocation contract
38
52
 
@@ -25,7 +25,13 @@ After god-launch-strategist returns:
25
25
  1. Verify STATE.md exists on disk
26
26
  2. Verify landing copy passes substitution test
27
27
  3. Verify OG cards rendered (not just meta tags)
28
- 4. Update `.godpowers/PROGRESS.md`: Launch status = done
28
+ 4. Verify one of:
29
+ - launch target is live and smoke checked
30
+ - local launch-readiness harness passed and external access bundle is the
31
+ only missing item
32
+ 5. Update `.godpowers/PROGRESS.md`: Launch status = done only when live launch
33
+ or explicit local launch-readiness scope is complete. If external access is
34
+ missing, mark Launch = waiting-for-external-access.
29
35
 
30
36
  ## Pause Conditions
31
37
 
@@ -43,6 +49,11 @@ Suggested next: /god-audit (score all artifacts retrospectively)
43
49
  Or: /god-status (see the final state)
44
50
  ```
45
51
 
52
+ Under `/god-mode --yolo`, do not stop by listing provider dashboards. Create
53
+ the launch runbook, smoke command, source attribution plan, and local
54
+ launch-readiness checks. If real launch is blocked by missing external access,
55
+ pause on the single access bundle from deploy or launch state.
56
+
46
57
 
47
58
  ## Re-invocation contract
48
59
 
@@ -16,7 +16,15 @@ You are receiving a /god-mode invocation. Your job is to spawn the
16
16
 
17
17
  ## Process
18
18
 
19
- 1. Greet the user briefly: "God Mode engaged. Describe what you want to build."
19
+ 1. Resolve whether this is a new arc or a resume:
20
+ - If `.godpowers/state.json`, `.godpowers/PROGRESS.md`, or
21
+ `.godpowers/CHECKPOINT.md` exists, this is a resume. Do not ask the user
22
+ to describe the project again. Rehydrate intent from disk and continue.
23
+ - If no durable Godpowers state exists and no project description was
24
+ supplied in the invocation, greet briefly: "God Mode engaged. Describe
25
+ what you want to build."
26
+ - If no durable state exists and the invocation includes a description, use
27
+ that description immediately.
20
28
 
21
29
  2. **Auto-detect project type in background** (no jargon to user):
22
30
  - Scan working directory for code presence (package.json, src/, etc.)
@@ -25,7 +33,22 @@ You are receiving a /god-mode invocation. Your job is to spawn the
25
33
  - Announce in plain English what was detected (see god-orchestrator
26
34
  "How to announce" section)
27
35
 
28
- 3. Wait for the user's project description (any format).
36
+ 3. Load durable resume context before asking anything:
37
+ - `.godpowers/CHECKPOINT.md` first, when present
38
+ - `.godpowers/state.json`
39
+ - `.godpowers/PROGRESS.md`
40
+ - `.godpowers/intent.yaml`, when present
41
+ - `.godpowers/prep/INITIAL-FINDINGS.md`, when present
42
+ - `.godpowers/prep/IMPORTED-CONTEXT.md`, when present
43
+ - Existing tier artifacts on disk
44
+
45
+ If these files contain enough information to identify the project and next
46
+ unfinished or red step, continue automatically. If the only missing data is
47
+ a nice-to-have description, use a `[HYPOTHESIS]` from existing artifacts and
48
+ keep moving.
49
+
50
+ Ask for a description only when there is no durable intent, no completed
51
+ artifact, and no resumable state.
29
52
 
30
53
  4. Parse flags from the invocation:
31
54
  - `--yolo` (skip pauses, pick defaults)
@@ -43,9 +66,10 @@ You are receiving a /god-mode invocation. Your job is to spawn the
43
66
  - `--greenfield` (force greenfield, skip archaeology even if code exists)
44
67
 
45
68
  5. Spawn the **god-orchestrator** agent via Task tool with:
46
- - The user's project description
69
+ - The user's project description, or durable intent recovered from disk
47
70
  - The detected mode (A/B/C/E)
48
71
  - The active flags
72
+ - Instruction that existing `.godpowers` state means resume, not prompt
49
73
  - Instruction to read `.godpowers/PROGRESS.md` from disk if it exists
50
74
  - Instruction to read `.godpowers/prep/INITIAL-FINDINGS.md` and
51
75
  `.godpowers/prep/IMPORTED-CONTEXT.md` if present before choosing the
@@ -57,6 +81,10 @@ You are receiving a /god-mode invocation. Your job is to spawn the
57
81
  not a completed arc. It must enter the autonomous repair loop and continue
58
82
  the same `/god-mode` run until green, except for Critical security or a
59
83
  genuine human-only decision.
84
+ - Instruction that deploy, observe, harden, and launch must follow the
85
+ Shipping Closure Protocol: verify a real environment when available,
86
+ otherwise create local/CI-verifiable deploy automation and pause only for
87
+ one exact external access bundle.
60
88
 
61
89
  6. Orchestrator runs the appropriate workflow:
62
90
  - Greenfield -> full-arc
@@ -23,7 +23,14 @@ After god-observability-engineer returns:
23
23
  1. Verify STATE.md exists on disk
24
24
  2. Verify each SLO has an error budget policy
25
25
  3. Verify each alert has a runbook
26
- 4. Update `.godpowers/PROGRESS.md`: Observe status = done
26
+ 4. Verify provider work is one of:
27
+ - real provider alerts and dashboards verified
28
+ - provider-neutral definitions as code created and locally checked
29
+ - missing dashboard/API credentials appended to the single external access
30
+ bundle
31
+ 5. Update `.godpowers/PROGRESS.md`: Observe status = done only for verified
32
+ real provider config or local definitions as code. If external access is
33
+ missing, mark Observe = waiting-for-external-access.
27
34
 
28
35
  ## On Completion
29
36
 
@@ -33,6 +40,11 @@ Observability complete: .godpowers/observe/STATE.md
33
40
  Suggested next: /god-harden (adversarial security review, gates Launch)
34
41
  ```
35
42
 
43
+ Under `/god-mode --yolo`, do not stop with a dashboard checklist. Create or
44
+ update alert definitions, dashboard definitions, runbooks, and local checks
45
+ first. If real provider access is still required, append the exact missing
46
+ credentials to `.godpowers/deploy/WAITING-FOR-EXTERNAL-ACCESS.md`.
47
+
36
48
 
37
49
  ## Re-invocation contract
38
50
 
@@ -66,6 +66,9 @@ jobs:
66
66
  tier: 3
67
67
  needs: build
68
68
  uses: god-deploy-engineer@^1.0.0
69
+ closure:
70
+ on-missing-external-access: create-waiting-access-bundle
71
+ local-verification-required: true
69
72
 
70
73
  observe:
71
74
  tier: 3
@@ -85,3 +88,6 @@ jobs:
85
88
  uses: god-launch-strategist@^1.0.0
86
89
  with:
87
90
  template: HARDEN-FINDINGS.md
91
+ closure:
92
+ no-broad-checklists: true
93
+ on-missing-external-access: pause-with-single-access-bundle