godpowers 0.15.12 → 0.15.14

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,37 @@ 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.14] - 2026-05-11
9
+
10
+ Origin evidence release. Prevents `/god-mode --yolo` from inventing staging,
11
+ preview, or production domains during shipping closure.
12
+
13
+ ### Changed
14
+ - Added an Origin Evidence Rule to the Shipping Closure Protocol: deployed
15
+ origins must come from user input, env/config, deployment config, CI variable
16
+ references, IaC output, hosting CLI output, or deployment docs that explicitly
17
+ label the URL as owned and current.
18
+ - Deploy and launch instructions now forbid guessing domains from product name,
19
+ repo name, package name, README title, brand name, or common TLDs.
20
+ - Full-arc workflow metadata now marks deploy and launch closure as requiring
21
+ evidence-backed origins and forbidding inferred domains.
22
+
23
+ ## [0.15.13] - 2026-05-11
24
+
25
+ Access ladder release. Tightens `/god-mode --yolo` shipping closure so keys,
26
+ API tokens, dashboards, admin consoles, and provider access are requested only
27
+ when a concrete check proves they are needed.
28
+
29
+ ### Changed
30
+ - Added an External Access Ladder to the Shipping Closure Protocol: ask first
31
+ for the deployed staging origin, run the real staging smoke command, then ask
32
+ for one additional access item only when the next named check requires it.
33
+ - Deploy, observability, launch, and full-arc instructions now cap blocked
34
+ shipping pauses to one new external access item unless a single command
35
+ genuinely requires several values together.
36
+ - God Mode now treats provider keys and API tokens as last-mile inputs, not
37
+ upfront rollout prerequisites.
38
+
8
39
  ## [0.15.12] - 2026-05-11
9
40
 
10
41
  Shipping closure release. Prevents `/god-mode --yolo` from stopping with broad
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.12-blue)](CHANGELOG.md)
5
+ [![Version](https://img.shields.io/badge/version-0.15.14-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.**
@@ -61,9 +61,26 @@ Build is complete. All tests pass. `.godpowers/build/STATE.md` shows green.
61
61
  run the same smoke command against it.
62
62
  - If provider credentials, DNS, TLS, dashboard access, or production secrets are
63
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.
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
+ - Treat a staging or production origin as known only when it appears in direct
74
+ evidence: current user input, env/config values, deployment config, CI
75
+ variable references, IaC output, hosting CLI output, or deployment docs that
76
+ explicitly label the URL as owned and current. Never guess domains from the
77
+ product name, package name, repo name, README title, brand name, or common
78
+ TLDs.
79
+ - If only localhost or `127.0.0.1` exists, run local smoke only. If only
80
+ production is known, do not call it staging and do not use it as a yolo
81
+ default for staging smoke.
82
+ - Add at most one new external access item per pause unless one command
83
+ invocation genuinely requires several values together.
67
84
  - Do not return a broad checklist as the final answer. Either return tested
68
85
  deploy readiness or the one access bundle.
69
86
 
@@ -105,3 +122,6 @@ Write `.godpowers/deploy/STATE.md`:
105
122
  - Paper canary (label without traffic split)
106
123
  - Broad provider checklist with no scripts or exact access bundle
107
124
  - Marks deploy done when the only verified target is missing
125
+ - Requests all provider keys before the staging URL smoke check has run
126
+ - Invents or guesses a staging or production domain
127
+ - Treats production as staging without explicit user approval
@@ -70,12 +70,22 @@ For each channel:
70
70
  `.godpowers/deploy/WAITING-FOR-EXTERNAL-ACCESS.md` if present, and
71
71
  `.godpowers/observe/STATE.md`.
72
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`.
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
75
  - If a staging or production URL is available, run or specify the exact smoke
76
76
  command and record the result.
77
77
  - If only local staging is available, run local launch-readiness checks and
78
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
+ - A URL is available only when it comes from direct evidence: current user
83
+ input, env/config, deployment config, CI variable references, IaC output,
84
+ hosting CLI output, or deployment docs that explicitly label it as owned and
85
+ current. Never infer a launch URL from product name, repo name, package name,
86
+ README title, brand name, or common TLDs.
87
+ - If only production is known, do not treat it as staging. If no deployed
88
+ origin is known, pause for `STAGING_APP_URL=<deployed staging origin>`.
79
89
 
80
90
  ## Output
81
91
 
@@ -92,6 +102,9 @@ Write `.godpowers/launch/STATE.md` with all artifacts.
92
102
  - "We'll figure out marketing later"
93
103
  - Broad provider checklist instead of one exact external access bundle
94
104
  - Declares live launch without a verified live target
105
+ - Requests launch or provider credentials before the live staging smoke check
106
+ proves they are needed
107
+ - Invents or guesses launch, staging, or production domains
95
108
 
96
109
  ## Pause Conditions
97
110
 
@@ -64,8 +64,12 @@ For each PRD success metric, define an SLO:
64
64
  dashboards, and runbooks.
65
65
  - If the provider is not reachable, create provider-neutral dashboard and alert
66
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.
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.
69
73
  - Under `/god-mode --yolo`, continue through every local or CI-verifiable
70
74
  observability check before pausing for external access.
71
75
 
@@ -88,3 +92,5 @@ Write `.godpowers/observe/STATE.md` with:
88
92
  - Alert with no runbook
89
93
  - Broad dashboard checklist instead of definitions as code or one exact access
90
94
  bundle
95
+ - Requests dashboards or API keys before local observability definitions are
96
+ created and checked
@@ -348,13 +348,50 @@ For deploy, observe, harden, and launch:
348
348
  5. Under `--yolo`, auto-pick safe defaults for provider-neutral choices and
349
349
  continue through every local and CI-verifiable gate.
350
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.
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.
354
356
  7. Do not say "Suggested next" for a blocked shipping tier. Say either
355
357
  `Arc complete` or `PAUSE: external access required`, with the exact artifact
356
358
  that lists the required bundle.
357
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 from
365
+ explicit evidence.
366
+ 2. Run the real staging smoke command against that origin.
367
+ 3. Ask for a provider key, dashboard, admin console, or test user only when a
368
+ named smoke, callback, webhook, export, observability, or rollback check
369
+ fails or cannot execute without that exact item.
370
+ 4. Add at most one new access item per pause unless several items are required
371
+ by the same command invocation.
372
+ 5. Every access request must include the command that will run next and the
373
+ artifact that will be updated after it runs.
374
+
375
+ Never request every possible key or API at the start of shipping. Keys and API
376
+ tokens are last-mile inputs.
377
+
378
+ ### Origin Evidence Rule
379
+
380
+ A staging, production, or preview origin is known only when it appears in direct
381
+ evidence:
382
+
383
+ - user-provided value in the current session
384
+ - `STAGING_APP_URL`, `PUBLIC_APP_URL`, `APP_URL`, or equivalent env/config value
385
+ - deployment config, CI variable reference, IaC output, hosting CLI output, or
386
+ checked-in deployment docs that explicitly label the URL as owned and current
387
+ - an existing Godpowers artifact that cites one of the sources above
388
+
389
+ Never invent domains from the product name, package name, repo name, README
390
+ title, brand name, or common TLDs. Never turn `scriven` into
391
+ `https://scriven.app`, or any similar guessed URL. If only production is known,
392
+ do not call it staging. If only local URLs exist, run local smoke only and pause
393
+ for `STAGING_APP_URL=<deployed staging origin>` before deployed staging smoke.
394
+
358
395
  ## YOLO Behavior with Design + Linkage
359
396
 
360
397
  | Concern | Default | --yolo |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "godpowers",
3
- "version": "0.15.12",
3
+ "version": "0.15.14",
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"
@@ -47,6 +47,21 @@ env manifest, and local staging harness first. If real external access is still
47
47
  required, pause on the single access bundle in
48
48
  `.godpowers/deploy/WAITING-FOR-EXTERNAL-ACCESS.md`.
49
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
+
57
+ Live target URLs must be evidence-backed. Accept current user input, env/config
58
+ values, deployment config, CI variable references, IaC output, hosting CLI
59
+ output, or deployment docs that explicitly label the URL as owned and current.
60
+ Never invent a domain from the product name, repo name, package name, README
61
+ title, brand name, or common TLDs. If only local URLs exist, run local smoke
62
+ only and pause for `STAGING_APP_URL=<deployed staging origin>`. If only
63
+ production is known, do not use it as staging without explicit user approval.
64
+
50
65
 
51
66
  ## Re-invocation contract
52
67
 
@@ -54,6 +54,17 @@ the launch runbook, smoke command, source attribution plan, and local
54
54
  launch-readiness checks. If real launch is blocked by missing external access,
55
55
  pause on the single access bundle from deploy or launch state.
56
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
+
62
+ Live target URLs must be evidence-backed. Never invent a domain from the
63
+ product name, repo name, package name, README title, brand name, or common TLDs.
64
+ If only localhost or `127.0.0.1` exists, launch can only mark local readiness.
65
+ If only production is known, do not treat it as staging without explicit user
66
+ approval.
67
+
57
68
 
58
69
  ## Re-invocation contract
59
70
 
@@ -85,6 +85,15 @@ You are receiving a /god-mode invocation. Your job is to spawn the
85
85
  Shipping Closure Protocol: verify a real environment when available,
86
86
  otherwise create local/CI-verifiable deploy automation and pause only for
87
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.
93
+ - Instruction that staging, preview, and production URLs must come from
94
+ direct evidence. Never infer or invent a domain from project name, package
95
+ name, repo name, README title, or brand name. If no deployed origin is
96
+ evidenced, pause for `STAGING_APP_URL=<deployed staging origin>`.
88
97
 
89
98
  6. Orchestrator runs the appropriate workflow:
90
99
  - Greenfield -> full-arc
@@ -45,6 +45,11 @@ update alert definitions, dashboard definitions, runbooks, and local checks
45
45
  first. If real provider access is still required, append the exact missing
46
46
  credentials to `.godpowers/deploy/WAITING-FOR-EXTERNAL-ACCESS.md`.
47
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
+
48
53
 
49
54
  ## Re-invocation contract
50
55
 
@@ -69,11 +69,18 @@ jobs:
69
69
  closure:
70
70
  on-missing-external-access: create-waiting-access-bundle
71
71
  local-verification-required: true
72
+ access-order: ask-for-staging-url-before-provider-keys
73
+ max-new-access-items-per-pause: 1
74
+ origin-evidence-required: true
75
+ no-inferred-domains: true
72
76
 
73
77
  observe:
74
78
  tier: 3
75
79
  needs: deploy
76
80
  uses: god-observability-engineer@^1.0.0
81
+ closure:
82
+ access-order: ask-for-local-definitions-before-provider-keys
83
+ max-new-access-items-per-pause: 1
77
84
 
78
85
  harden:
79
86
  tier: 3
@@ -91,3 +98,7 @@ jobs:
91
98
  closure:
92
99
  no-broad-checklists: true
93
100
  on-missing-external-access: pause-with-single-access-bundle
101
+ access-order: ask-for-staging-url-before-provider-keys
102
+ max-new-access-items-per-pause: 1
103
+ origin-evidence-required: true
104
+ no-inferred-domains: true