godpowers 0.15.11 → 0.15.13

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,38 @@ 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.13] - 2026-05-11
9
+
10
+ Access ladder release. Tightens `/god-mode --yolo` shipping closure so keys,
11
+ API tokens, dashboards, admin consoles, and provider access are requested only
12
+ when a concrete check proves they are needed.
13
+
14
+ ### Changed
15
+ - Added an External Access Ladder to the Shipping Closure Protocol: ask first
16
+ for the deployed staging origin, run the real staging smoke command, then ask
17
+ for one additional access item only when the next named check requires it.
18
+ - Deploy, observability, launch, and full-arc instructions now cap blocked
19
+ shipping pauses to one new external access item unless a single command
20
+ genuinely requires several values together.
21
+ - God Mode now treats provider keys and API tokens as last-mile inputs, not
22
+ upfront rollout prerequisites.
23
+
24
+ ## [0.15.12] - 2026-05-11
25
+
26
+ Shipping closure release. Prevents `/god-mode --yolo` from stopping with broad
27
+ staging/provider checklists.
28
+
29
+ ### Changed
30
+ - Added a Shipping Closure Protocol for deploy, observe, harden, and launch:
31
+ verify a real environment when reachable, otherwise create local or
32
+ CI-verifiable automation, then pause only for one exact external access
33
+ bundle.
34
+ - Deploy, observability, and launch agents now treat missing provider access as
35
+ `waiting-for-external-access` with a concrete artifact instead of a generic
36
+ next-step checklist.
37
+ - Full-arc workflow metadata now records closure behavior for missing external
38
+ access.
39
+
8
40
  ## [0.15.11] - 2026-05-11
9
41
 
10
42
  God Mode resume release. Fixes `/god-mode --yolo` prompting for a project
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.11-blue)](CHANGELOG.md)
5
+ [![Version](https://img.shields.io/badge/version-0.15.13-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.**
@@ -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,26 @@ 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 the smallest next access item, exact env var names
65
+ only when needed by the next command, exact provider links only when a failed
66
+ check proves they are needed, and the command Godpowers will run after access
67
+ exists.
68
+ - Default first pause: ask only for `STAGING_APP_URL=<staging-origin>` so the
69
+ real smoke command can run. Do not ask for provider keys, API tokens,
70
+ dashboards, DNS tokens, production secrets, admin consoles, or test users
71
+ until a named deploy, smoke, rollback, health, callback, webhook, export, or
72
+ observability check cannot run without that exact item.
73
+ - Add at most one new external access item per pause unless one command
74
+ invocation genuinely requires several values together.
75
+ - Do not return a broad checklist as the final answer. Either return tested
76
+ deploy readiness or the one access bundle.
77
+
52
78
  ## Output
53
79
 
54
80
  Write `.godpowers/deploy/STATE.md`:
@@ -85,3 +111,6 @@ Write `.godpowers/deploy/STATE.md`:
85
111
  - Health check is TCP-only
86
112
  - No smoke tests
87
113
  - Paper canary (label without traffic split)
114
+ - Broad provider checklist with no scripts or exact access bundle
115
+ - Marks deploy done when the only verified target is missing
116
+ - Requests all provider keys before the staging URL smoke check has run
@@ -65,6 +65,21 @@ 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 only the smallest next access item from the
74
+ waiting bundle and write 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
+ - Do not ask for launch-channel accounts, analytics dashboards, provider
80
+ dashboards, API keys, or admin consoles until a named launch-readiness or
81
+ smoke check cannot run without that exact access.
82
+
68
83
  ## Output
69
84
 
70
85
  Write `.godpowers/launch/STATE.md` with all artifacts.
@@ -78,6 +93,10 @@ Write `.godpowers/launch/STATE.md` with all artifacts.
78
93
  - Launch with no source attribution
79
94
  - No D+1 to D+7 follow-up plan
80
95
  - "We'll figure out marketing later"
96
+ - Broad provider checklist instead of one exact external access bundle
97
+ - Declares live launch without a verified live target
98
+ - Requests launch or provider credentials before the live staging smoke check
99
+ proves they are needed
81
100
 
82
101
  ## Pause Conditions
83
102
 
@@ -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,20 @@ 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, do not request them until the next
68
+ executable observability check specifically requires that provider access.
69
+ Prefer local definitions as code, runbook dry-runs, log-shape checks, and CI
70
+ verification first.
71
+ - If a credential is truly required, append one exact access item to the single
72
+ waiting access bundle, with the command that will run next.
73
+ - Under `/god-mode --yolo`, continue through every local or CI-verifiable
74
+ observability check before pausing for external access.
75
+
60
76
  ## Output
61
77
 
62
78
  Write `.godpowers/observe/STATE.md` with:
@@ -74,3 +90,7 @@ Write `.godpowers/observe/STATE.md` with:
74
90
  - Dashboard not tied to an SLO
75
91
  - Sensitive data in log output
76
92
  - Alert with no runbook
93
+ - Broad dashboard checklist instead of definitions as code or one exact access
94
+ bundle
95
+ - Requests dashboards or API keys before local observability definitions are
96
+ created and checked
@@ -324,6 +324,56 @@ 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 the smallest next input needed to run the next concrete check. The
352
+ first pause should usually ask only for the deployed staging origin, for
353
+ example `STAGING_APP_URL=<staging-origin>`. Do not ask for API keys,
354
+ provider dashboards, DNS tokens, production secrets, or admin consoles until
355
+ a specific scripted check cannot run without that exact access.
356
+ 7. Do not say "Suggested next" for a blocked shipping tier. Say either
357
+ `Arc complete` or `PAUSE: external access required`, with the exact artifact
358
+ that lists the required bundle.
359
+
360
+ ### External Access Ladder
361
+
362
+ Use this order when external access is missing:
363
+
364
+ 1. Ask for the deployed staging origin only if no live target URL is known.
365
+ 2. Run the real staging smoke command against that origin.
366
+ 3. Ask for a provider key, dashboard, admin console, or test user only when a
367
+ named smoke, callback, webhook, export, observability, or rollback check
368
+ fails or cannot execute without that exact item.
369
+ 4. Add at most one new access item per pause unless several items are required
370
+ by the same command invocation.
371
+ 5. Every access request must include the command that will run next and the
372
+ artifact that will be updated after it runs.
373
+
374
+ Never request every possible key or API at the start of shipping. Keys and API
375
+ tokens are last-mile inputs.
376
+
327
377
  ## YOLO Behavior with Design + Linkage
328
378
 
329
379
  | Concern | Default | --yolo |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "godpowers",
3
- "version": "0.15.11",
3
+ "version": "0.15.13",
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,19 @@ 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
+
50
+ The single access bundle must be incremental. Ask for the smallest next item
51
+ needed to run the next command. If no live target URL is known, ask only for
52
+ `STAGING_APP_URL=<staging-origin>` and the exact smoke command that will run.
53
+ Do not ask for provider keys, API tokens, dashboards, DNS tokens, production
54
+ secrets, admin consoles, or test users until a specific scripted check proves
55
+ that exact item is required.
56
+
36
57
 
37
58
  ## Re-invocation contract
38
59
 
@@ -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,16 @@ 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
+
57
+ The launch pause must not expand into every possible channel, analytics, or
58
+ provider credential. Ask only for the next missing access item needed to run a
59
+ named live smoke, launch-readiness, attribution, or monitoring check. If no
60
+ live target URL is known, ask only for `STAGING_APP_URL=<staging-origin>`.
61
+
46
62
 
47
63
  ## Re-invocation contract
48
64
 
@@ -81,6 +81,15 @@ You are receiving a /god-mode invocation. Your job is to spawn the
81
81
  not a completed arc. It must enter the autonomous repair loop and continue
82
82
  the same `/god-mode` run until green, except for Critical security or a
83
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.
88
+ - Instruction that keys, API tokens, dashboards, admin consoles, and
89
+ provider-specific access are last-mile inputs. The first external pause
90
+ should ask only for the smallest next item needed by a concrete command,
91
+ usually `STAGING_APP_URL=<staging-origin>`. Ask for additional provider
92
+ access only after a named check proves it is needed.
84
93
 
85
94
  6. Orchestrator runs the appropriate workflow:
86
95
  - 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,16 @@ 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
+
48
+ Provider credentials are last-mile inputs. Do not ask for dashboard access,
49
+ API keys, or observability admin consoles until the local definitions, runbook
50
+ dry-runs, log-shape checks, and CI-verifiable checks are done and the next
51
+ named command cannot run without one exact credential.
52
+
36
53
 
37
54
  ## Re-invocation contract
38
55
 
@@ -66,11 +66,19 @@ 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
72
+ access-order: ask-for-staging-url-before-provider-keys
73
+ max-new-access-items-per-pause: 1
69
74
 
70
75
  observe:
71
76
  tier: 3
72
77
  needs: deploy
73
78
  uses: god-observability-engineer@^1.0.0
79
+ closure:
80
+ access-order: ask-for-local-definitions-before-provider-keys
81
+ max-new-access-items-per-pause: 1
74
82
 
75
83
  harden:
76
84
  tier: 3
@@ -85,3 +93,8 @@ jobs:
85
93
  uses: god-launch-strategist@^1.0.0
86
94
  with:
87
95
  template: HARDEN-FINDINGS.md
96
+ closure:
97
+ no-broad-checklists: true
98
+ on-missing-external-access: pause-with-single-access-bundle
99
+ access-order: ask-for-staging-url-before-provider-keys
100
+ max-new-access-items-per-pause: 1