godpowers 0.15.13 → 0.15.15

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,35 @@ 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.15] - 2026-05-11
9
+
10
+ Transcript hygiene release. Keeps God Mode orchestration scaffolding out of the
11
+ normal user-visible transcript.
12
+
13
+ ### Changed
14
+ - Added a User-Visible Transcript Contract to `/god-mode` and
15
+ `god-orchestrator`.
16
+ - God Mode now explicitly hides raw Task input, "Hard instructions", spawned
17
+ agent prompts, complete file loadout lists, and internal routing metadata from
18
+ the user-facing transcript.
19
+ - Private rules that affect a pause must be translated into the smallest
20
+ user-facing question instead of exposing the underlying prompt.
21
+
22
+ ## [0.15.14] - 2026-05-11
23
+
24
+ Origin evidence release. Prevents `/god-mode --yolo` from inventing staging,
25
+ preview, or production domains during shipping closure.
26
+
27
+ ### Changed
28
+ - Added an Origin Evidence Rule to the Shipping Closure Protocol: deployed
29
+ origins must come from user input, env/config, deployment config, CI variable
30
+ references, IaC output, hosting CLI output, or deployment docs that explicitly
31
+ label the URL as owned and current.
32
+ - Deploy and launch instructions now forbid guessing domains from product name,
33
+ repo name, package name, README title, brand name, or common TLDs.
34
+ - Full-arc workflow metadata now marks deploy and launch closure as requiring
35
+ evidence-backed origins and forbidding inferred domains.
36
+
8
37
  ## [0.15.13] - 2026-05-11
9
38
 
10
39
  Access ladder release. Tightens `/god-mode --yolo` shipping closure so keys,
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.13-blue)](CHANGELOG.md)
5
+ [![Version](https://img.shields.io/badge/version-0.15.15-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.**
@@ -70,6 +70,15 @@ Build is complete. All tests pass. `.godpowers/build/STATE.md` shows green.
70
70
  dashboards, DNS tokens, production secrets, admin consoles, or test users
71
71
  until a named deploy, smoke, rollback, health, callback, webhook, export, or
72
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.
73
82
  - Add at most one new external access item per pause unless one command
74
83
  invocation genuinely requires several values together.
75
84
  - Do not return a broad checklist as the final answer. Either return tested
@@ -114,3 +123,5 @@ Write `.godpowers/deploy/STATE.md`:
114
123
  - Broad provider checklist with no scripts or exact access bundle
115
124
  - Marks deploy done when the only verified target is missing
116
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
@@ -79,6 +79,13 @@ For each channel:
79
79
  - Do not ask for launch-channel accounts, analytics dashboards, provider
80
80
  dashboards, API keys, or admin consoles until a named launch-readiness or
81
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>`.
82
89
 
83
90
  ## Output
84
91
 
@@ -97,6 +104,7 @@ Write `.godpowers/launch/STATE.md` with all artifacts.
97
104
  - Declares live launch without a verified live target
98
105
  - Requests launch or provider credentials before the live staging smoke check
99
106
  proves they are needed
107
+ - Invents or guesses launch, staging, or production domains
100
108
 
101
109
  ## Pause Conditions
102
110
 
@@ -361,7 +361,8 @@ For deploy, observe, harden, and launch:
361
361
 
362
362
  Use this order when external access is missing:
363
363
 
364
- 1. Ask for the deployed staging origin only if no live target URL is known.
364
+ 1. Ask for the deployed staging origin only if no live target URL is known from
365
+ explicit evidence.
365
366
  2. Run the real staging smoke command against that origin.
366
367
  3. Ask for a provider key, dashboard, admin console, or test user only when a
367
368
  named smoke, callback, webhook, export, observability, or rollback check
@@ -374,6 +375,23 @@ Use this order when external access is missing:
374
375
  Never request every possible key or API at the start of shipping. Keys and API
375
376
  tokens are last-mile inputs.
376
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
+
377
395
  ## YOLO Behavior with Design + Linkage
378
396
 
379
397
  | Concern | Default | --yolo |
@@ -614,6 +632,32 @@ Options:
614
632
  Default: If you say "go", I'll pick [X] because [Y].
615
633
  ```
616
634
 
635
+ ## User-Visible Transcript Contract
636
+
637
+ The user-facing God Mode transcript is an operator console, not a prompt
638
+ debugger. Keep orchestration scaffolding private.
639
+
640
+ Show:
641
+ - concise phase status
642
+ - durable state detected from disk
643
+ - commands being run and whether they passed or failed
644
+ - scoped file changes
645
+ - final validation summary
646
+ - `Arc complete` or `PAUSE: external access required`
647
+
648
+ Hide:
649
+ - raw Task input
650
+ - "Hard instructions" sections
651
+ - spawned-agent prompt text
652
+ - system, developer, AGENTS.md, or internal policy recitations
653
+ - complete file loadout lists
654
+ - routing metadata unless it changes a user decision
655
+
656
+ When a private rule affects a pause, translate it into the smallest
657
+ user-facing question. Do not expose the rule itself. Example: ask for
658
+ `STAGING_APP_URL=<deployed staging origin>` rather than showing the Shipping
659
+ Closure Protocol.
660
+
617
661
  ## Resume Protocol
618
662
 
619
663
  On every invocation:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "godpowers",
3
- "version": "0.15.13",
3
+ "version": "0.15.15",
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"
@@ -54,6 +54,14 @@ Do not ask for provider keys, API tokens, dashboards, DNS tokens, production
54
54
  secrets, admin consoles, or test users until a specific scripted check proves
55
55
  that exact item is required.
56
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
+
57
65
 
58
66
  ## Re-invocation contract
59
67
 
@@ -59,6 +59,12 @@ provider credential. Ask only for the next missing access item needed to run a
59
59
  named live smoke, launch-readiness, attribution, or monitoring check. If no
60
60
  live target URL is known, ask only for `STAGING_APP_URL=<staging-origin>`.
61
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
+
62
68
 
63
69
  ## Re-invocation contract
64
70
 
@@ -90,18 +90,54 @@ You are receiving a /god-mode invocation. Your job is to spawn the
90
90
  should ask only for the smallest next item needed by a concrete command,
91
91
  usually `STAGING_APP_URL=<staging-origin>`. Ask for additional provider
92
92
  access only after a named check proves it is needed.
93
-
94
- 6. Orchestrator runs the appropriate workflow:
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>`.
97
+
98
+ 6. Keep the spawn payload private. Do not echo or summarize raw Task input,
99
+ "Hard instructions", hidden orchestration rules, agent prompts, file
100
+ loadout lists, or internal routing payloads into the user-visible transcript.
101
+ The visible transcript may say only what phase is running, what durable state
102
+ was detected, what commands are running, what changed, and the final
103
+ `Arc complete` or `PAUSE: external access required` block.
104
+
105
+ 7. Orchestrator runs the appropriate workflow:
95
106
  - Greenfield -> full-arc
96
107
  - Brownfield -> brownfield-arc (archaeology -> reconstruct -> debt-assess -> proceed)
97
108
  - Bluefield -> bluefield-arc (org-context -> arc with constraints)
98
109
 
99
- 7. Relay the orchestrator's output to the user.
110
+ 8. Relay only the orchestrator's user-facing output to the user. If the
111
+ platform displays raw spawn details automatically, immediately follow with a
112
+ clean public summary and never repeat the leaked payload.
100
113
 
101
- 8. When the orchestrator pauses, present the question to the user using the
114
+ 9. When the orchestrator pauses, present the question to the user using the
102
115
  pause format (What / Why / Options / Default).
103
116
 
104
- 9. When the user answers, re-spawn god-orchestrator with the answer.
117
+ 10. When the user answers, re-spawn god-orchestrator with the answer.
118
+
119
+ ## User-Visible Transcript Contract
120
+
121
+ The God Mode transcript is an operator console, not a prompt debugger.
122
+
123
+ Show:
124
+ - detected resume or project mode in plain language
125
+ - short progress updates for phases, commands, validations, and file edits
126
+ - concise validation summaries instead of full command noise when possible
127
+ - final changed paths, validation results, and completion or pause status
128
+
129
+ Hide:
130
+ - raw Task input
131
+ - "Hard instructions" sections
132
+ - spawned-agent prompt text
133
+ - system, developer, or AGENTS.md rule recitations
134
+ - complete file loadout lists
135
+ - internal routing metadata unless it directly affects a user decision
136
+
137
+ If an internal instruction must influence a pause, translate it into the
138
+ smallest user-facing question. For example, ask for
139
+ `STAGING_APP_URL=<deployed staging origin>` instead of exposing the full
140
+ Shipping Closure Protocol.
105
141
 
106
142
  ## Pause Format (relay from orchestrator)
107
143
 
@@ -71,6 +71,8 @@ jobs:
71
71
  local-verification-required: true
72
72
  access-order: ask-for-staging-url-before-provider-keys
73
73
  max-new-access-items-per-pause: 1
74
+ origin-evidence-required: true
75
+ no-inferred-domains: true
74
76
 
75
77
  observe:
76
78
  tier: 3
@@ -98,3 +100,5 @@ jobs:
98
100
  on-missing-external-access: pause-with-single-access-bundle
99
101
  access-order: ask-for-staging-url-before-provider-keys
100
102
  max-new-access-items-per-pause: 1
103
+ origin-evidence-required: true
104
+ no-inferred-domains: true