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 +31 -0
- package/README.md +1 -1
- package/agents/god-deploy-engineer.md +23 -3
- package/agents/god-launch-strategist.md +15 -2
- package/agents/god-observability-engineer.md +8 -2
- package/agents/god-orchestrator.md +40 -3
- package/package.json +1 -1
- package/skills/god-deploy.md +15 -0
- package/skills/god-launch.md +11 -0
- package/skills/god-mode.md +9 -0
- package/skills/god-observe.md +5 -0
- package/workflows/full-arc.yaml +11 -0
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
|
[](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.**
|
|
@@ -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
|
|
65
|
-
|
|
66
|
-
run after access
|
|
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
|
|
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,
|
|
68
|
-
|
|
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
|
|
352
|
-
|
|
353
|
-
|
|
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.
|
|
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"
|
package/skills/god-deploy.md
CHANGED
|
@@ -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
|
|
package/skills/god-launch.md
CHANGED
|
@@ -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
|
|
package/skills/god-mode.md
CHANGED
|
@@ -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
|
package/skills/god-observe.md
CHANGED
|
@@ -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
|
|
package/workflows/full-arc.yaml
CHANGED
|
@@ -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
|