godpowers 1.6.7 → 1.6.8

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,31 @@ 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
+ ## [1.6.8] - 2026-05-16
9
+
10
+ Staging deferral patch. Keeps Godpowers moving through local and CI-verifiable
11
+ shipping work instead of pausing early for a deployed staging URL.
12
+
13
+ ### Changed
14
+ - `god-orchestrator` now treats deployed staging verification as deferred by
15
+ default when no live target URL is evidenced and the user did not request
16
+ staging.
17
+ - `/god-mode`, `/god-deploy`, and `/god-launch` now ask for
18
+ `STAGING_APP_URL` only when the user explicitly requests staging, invokes
19
+ deployed verification, or reaches final project sign-off.
20
+ - Deploy, observe, and launch specialists now record missing deployed access in
21
+ `.godpowers/deploy/WAITING-FOR-EXTERNAL-ACCESS.md` while continuing through
22
+ local and CI-verifiable gates.
23
+
24
+ ### Guardrails
25
+ - Godpowers still never invents staging or production domains from names,
26
+ brands, titles, or common TLDs.
27
+ - Provider keys, dashboards, DNS tokens, production secrets, and admin consoles
28
+ are requested only after a named scripted check proves that exact access is
29
+ needed.
30
+ - Final sign-off can still run deployed smoke immediately when the user
31
+ provides `STAGING_APP_URL=<deployed staging origin>`.
32
+
8
33
  ## [1.6.7] - 2026-05-16
9
34
 
10
35
  Progress visibility patch. Makes Godpowers easier to follow while preserving
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-1.6.7-blue)](CHANGELOG.md)
5
+ [![Version](https://img.shields.io/badge/version-1.6.8-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.**
@@ -12,10 +12,9 @@ idea to hardened production. It runs as **slash commands inside your AI coding
12
12
  tool** (Claude Code, Codex, Cursor, etc.) that orchestrate **specialist agents**
13
13
  in fresh contexts to do the work.
14
14
 
15
- Version 1.6.7 keeps the stable Godpowers surface while making the live arc
16
- easier to follow: progress reports now show percent complete, current step,
17
- recent work, and what happens next. The orchestrator also documents compact
18
- "Next step" and "Step result" cards around visible tier/sub-step work.
15
+ Version 1.6.8 keeps the stable Godpowers surface while making shipping less
16
+ interruptive: deployed staging verification is deferred until you request
17
+ staging, run deployed verification, or reach final project sign-off.
19
18
 
20
19
  It fuses four disciplines into one unified workflow:
21
20
 
package/RELEASE.md CHANGED
@@ -1,10 +1,11 @@
1
- # Godpowers 1.6.7 Release
1
+ # Godpowers 1.6.8 Release
2
2
 
3
3
  Date: 2026-05-16
4
4
 
5
- Godpowers 1.6.7 makes the live workflow easier to track. The goal of this
6
- patch is to answer "what is Godpowers doing, how far along is it, what just
7
- happened, and what happens next" from disk state.
5
+ Godpowers 1.6.8 keeps shipping work moving when a deployed staging URL is not
6
+ ready yet. The goal of this patch is to finish local and CI-verifiable deploy,
7
+ observe, harden, and launch gates first, then ask for `STAGING_APP_URL` only
8
+ when the user requests staging or reaches final sign-off.
8
9
 
9
10
  ## What is stable
10
11
 
@@ -26,36 +27,31 @@ happened, and what happens next" from disk state.
26
27
 
27
28
  ## What is new
28
29
 
29
- - `lib/state.progressSummary` computes percentage complete, completed step
30
- count, total step count, current step number, and current tier/sub-step from
31
- `state.json`.
32
- - `CHECKPOINT.md` can persist progress frontmatter and now includes
33
- "What happened recently" and "What happens next" sections.
34
- - `god-orchestrator` now has a Step Narration Protocol for compact
35
- "Next step" and "Step result" cards around visible tier/sub-step work.
36
- - `/god-mode`, `/god-next`, `/god-status`, and `/god-locate` now document
37
- progress, path-ahead, recent-work, and next-action summaries.
38
- - `templates/PROGRESS.md` now includes a current step plan and recent step
39
- result shape.
40
- - Package publication now allowlists `agents/god-*.md`, preventing local
41
- Pillars files under `agents/` from entering the npm payload.
42
- - Package contents checks now fail if non-specialist files under `agents/`
43
- would be published.
44
- - `AGENTS.md` now includes the Pillars Protocol for loading durable project
45
- context and workflow-state files.
46
- - Installer local mode now resolves runtime destinations under the current
47
- directory and installs only `god-*.md` specialist agent files.
48
-
49
- ## What 1.6.7 means
50
-
51
- Godpowers 1.6.7 does not expand the public command surface. It makes the
52
- existing arc more legible by showing a disk-derived progress report, a short
53
- plan before visible work starts, and a short result after work completes or
54
- pauses.
55
-
56
- The release also tightens npm packaging around specialist agents. Local
57
- project Pillars can live under `agents/` during development, but only
58
- `agents/god-*.md` files are packaged as Godpowers specialist agents.
30
+ - `god-orchestrator` now documents staging URL deferral as the default shipping
31
+ closure policy.
32
+ - `/god-mode`, `/god-deploy`, and `/god-launch` now continue through local and
33
+ CI-verifiable gates when no live deployed origin is evidenced.
34
+ - `god-deploy-engineer`, `god-observability-engineer`, and
35
+ `god-launch-strategist` now treat missing deployed staging as deferred unless
36
+ the user explicitly requested staging.
37
+ - Missing deployed access is recorded in
38
+ `.godpowers/deploy/WAITING-FOR-EXTERNAL-ACCESS.md` with the exact command to
39
+ run later.
40
+ - At final sign-off, Godpowers offers three clear choices: provide
41
+ `STAGING_APP_URL=<deployed staging origin>`, sign off local-only with
42
+ deployed verification deferred, or run `/god-deploy --stage` later.
43
+
44
+ ## What 1.6.8 means
45
+
46
+ Godpowers 1.6.8 does not expand the public command surface. It changes when
47
+ staging access is requested: not during ordinary mid-arc progress, but at an
48
+ explicit staging request, deployed verification command, or final project
49
+ sign-off.
50
+
51
+ The release keeps the no-guessed-domain rule intact. Godpowers must not invent
52
+ a staging URL from a product name, brand name, README title, or common TLD.
53
+ If only local URLs exist, it runs local smoke, records deployed verification as
54
+ deferred, and continues.
59
55
 
60
56
  Safe sync and unresolved Critical harden findings remain release-truth gates.
61
57
  Per-repo Quarterback ownership remains intact for Mode D suite work.
@@ -65,8 +61,8 @@ Per-repo Quarterback ownership remains intact for Mode D suite work.
65
61
  During the 1.x stability window, do not add broad new command families, change
66
62
  schema formats, or rename public artifacts without evidence from real use.
67
63
 
68
- The `v1.6.7` git tag points to the release commit that matches the npm
69
- `godpowers@1.6.7` package. Public publishes should prefer the tag-triggered
64
+ The `v1.6.8` git tag points to the release commit that matches the npm
65
+ `godpowers@1.6.8` package. Public publishes should prefer the tag-triggered
70
66
  GitHub workflow so npm provenance, git history, and release notes stay aligned.
71
67
 
72
68
  Allowed changes:
@@ -65,11 +65,16 @@ Build is complete. All tests pass. `.godpowers/build/STATE.md` shows green.
65
65
  only when needed by the next command, exact provider links only when a failed
66
66
  check proves they are needed, and the command Godpowers will run after access
67
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.
68
+ - Default behavior: do not pause mid-arc only to ask for
69
+ `STAGING_APP_URL=<staging-origin>`. Record deployed staging as deferred, keep
70
+ the exact smoke command in the waiting artifact, and continue through local
71
+ and CI-verifiable deploy readiness.
72
+ - Ask for `STAGING_APP_URL` only when the user explicitly requested deployed
73
+ staging, invokes `/god-deploy` for deployed verification, or reaches final
74
+ project sign-off. Do not ask for provider keys, API tokens, dashboards, DNS
75
+ tokens, production secrets, admin consoles, or test users until a named
76
+ deploy, smoke, rollback, health, callback, webhook, export, or observability
77
+ check cannot run without that exact item.
73
78
  - Treat a staging or production origin as known only when it appears in direct
74
79
  evidence: current user input, env/config values, deployment config, CI
75
80
  variable references, IaC output, hosting CLI output, or deployment docs that
@@ -122,6 +127,6 @@ Write `.godpowers/deploy/STATE.md`:
122
127
  - Paper canary (label without traffic split)
123
128
  - Broad provider checklist with no scripts or exact access bundle
124
129
  - Marks deploy done when the only verified target is missing
125
- - Requests all provider keys before the staging URL smoke check has run
130
+ - Requests provider keys before an exact scripted check proves they are needed
126
131
  - Invents or guesses a staging or production domain
127
132
  - Treats production as staging without explicit user approval
@@ -71,7 +71,8 @@ For each channel:
71
71
  `.godpowers/observe/STATE.md`.
72
72
  - If deploy or observe is waiting on external access, do not create a broad
73
73
  dashboard checklist. Reference only the smallest next access item from the
74
- waiting bundle and write launch state as `waiting-for-external-access`.
74
+ waiting bundle and write launch state as local-ready with deployed
75
+ verification deferred unless the user explicitly requested staging now.
75
76
  - If a staging or production URL is available, run or specify the exact smoke
76
77
  command and record the result.
77
78
  - If only local staging is available, run local launch-readiness checks and
@@ -85,7 +86,10 @@ For each channel:
85
86
  current. Never infer a launch URL from product name, repo name, package name,
86
87
  README title, brand name, or common TLDs.
87
88
  - 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>`.
89
+ origin is known, do not pause mid-arc for the staging URL. Record deployed
90
+ launch verification as deferred and ask for
91
+ `STAGING_APP_URL=<deployed staging origin>` only when the user requests
92
+ staging or final project sign-off begins.
89
93
 
90
94
  ## Output
91
95
 
@@ -17,7 +17,8 @@ Wire observability.
17
17
 
18
18
  `.godpowers/deploy/STATE.md` exists. App is deployed and reachable, or deploy
19
19
  state documents a tested local staging harness plus a single external access
20
- bundle.
20
+ bundle. A deferred staging URL must not block observability setup when local or
21
+ CI-verifiable checks can still run.
21
22
 
22
23
  ## Process
23
24
 
@@ -69,7 +70,9 @@ For each PRD success metric, define an SLO:
69
70
  Prefer local definitions as code, runbook dry-runs, log-shape checks, and CI
70
71
  verification first.
71
72
  - 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
+ waiting access bundle, with the command that will run next. Do not pause
74
+ mid-arc just to request the deployed staging origin unless the user has
75
+ explicitly asked to stage now.
73
76
  - Under `/god-mode --yolo`, continue through every local or CI-verifiable
74
77
  observability check before pausing for external access.
75
78
 
@@ -382,6 +382,14 @@ The shipping tier must not end by listing a broad provider checklist. God Mode
382
382
  either ships, creates the automation needed to ship, or pauses on one precise
383
383
  external access bundle.
384
384
 
385
+ Default behavior: do not pause mid-arc just to ask for a staging URL. If the
386
+ user has not explicitly requested deployed staging verification and no live
387
+ target URL is evidenced, complete every local and CI-verifiable shipping gate,
388
+ write the missing deployed-origin item to
389
+ `.godpowers/deploy/WAITING-FOR-EXTERNAL-ACCESS.md`, and continue. Ask for
390
+ `STAGING_APP_URL` only when the user requests staging, invokes `/god-deploy`
391
+ or `/god-launch` for deployed verification, or reaches final project sign-off.
392
+
385
393
  For deploy, observe, harden, and launch:
386
394
  1. Detect the target environment from deploy config, org context, env files,
387
395
  CI config, README, existing scripts, and provider CLIs.
@@ -399,29 +407,41 @@ For deploy, observe, harden, and launch:
399
407
  access bundle needed
400
408
  5. Under `--yolo`, auto-pick safe defaults for provider-neutral choices and
401
409
  continue through every local and CI-verifiable gate.
402
- 6. Only pause when real external access is required and absent. The pause must
403
- ask for the smallest next input needed to run the next concrete check. The
404
- first pause should usually ask only for the deployed staging origin, for
405
- example `STAGING_APP_URL=<staging-origin>`. Do not ask for API keys,
406
- provider dashboards, DNS tokens, production secrets, or admin consoles until
407
- a specific scripted check cannot run without that exact access.
408
- 7. Do not say "Suggested next" for a blocked shipping tier. Say either
409
- `Arc complete` or `PAUSE: external access required`, with the exact artifact
410
- that lists the required bundle.
410
+ 6. If deployed verification is deferred by default, mark the shipping artifact
411
+ as local/CI ready and continue. Do not pause for `STAGING_APP_URL` yet.
412
+ 7. Only pause when the user explicitly requested deployed staging or final
413
+ sign-off requires a real deployed check. The pause must ask for the smallest
414
+ next input needed to run the next concrete check. The first external pause
415
+ should usually ask only for the deployed staging origin, for example
416
+ `STAGING_APP_URL=<staging-origin>`. Do not ask for API keys, provider
417
+ dashboards, DNS tokens, production secrets, or admin consoles until a
418
+ specific scripted check cannot run without that exact access.
419
+ 8. At final sign-off, if deployed verification is still deferred, present:
420
+ "Local and CI-verifiable closure is complete. Provide
421
+ `STAGING_APP_URL=<deployed staging origin>` to run deployed smoke now, say
422
+ `sign off local-only` to finish with deployed verification deferred, or run
423
+ `/god-deploy --stage` later."
424
+ 9. Do not say "Suggested next" for a blocked shipping tier. Say either
425
+ `Arc complete`, `Arc complete with deployed verification deferred`, or
426
+ `PAUSE: external access required`, with the exact artifact that lists the
427
+ required bundle.
411
428
 
412
429
  ### External Access Ladder
413
430
 
414
431
  Use this order when external access is missing:
415
432
 
416
- 1. Ask for the deployed staging origin only if no live target URL is known from
417
- explicit evidence.
418
- 2. Run the real staging smoke command against that origin.
419
- 3. Ask for a provider key, dashboard, admin console, or test user only when a
433
+ 1. If no live target URL is known from explicit evidence, defer the deployed
434
+ staging origin request unless the user asked to stage now or the arc has
435
+ reached final sign-off.
436
+ 2. When staging is requested or final sign-off begins, ask for the deployed
437
+ staging origin only.
438
+ 3. Run the real staging smoke command against that origin.
439
+ 4. Ask for a provider key, dashboard, admin console, or test user only when a
420
440
  named smoke, callback, webhook, export, observability, or rollback check
421
441
  fails or cannot execute without that exact item.
422
- 4. Add at most one new access item per pause unless several items are required
442
+ 5. Add at most one new access item per pause unless several items are required
423
443
  by the same command invocation.
424
- 5. Every access request must include the command that will run next and the
444
+ 6. Every access request must include the command that will run next and the
425
445
  artifact that will be updated after it runs.
426
446
 
427
447
  Never request every possible key or API at the start of shipping. Keys and API
@@ -441,8 +461,10 @@ evidence:
441
461
  Never invent domains from the product name, package name, repo name, README
442
462
  title, brand name, or common TLDs. Never turn `scriven` into
443
463
  `https://scriven.app`, or any similar guessed URL. If only production is known,
444
- do not call it staging. If only local URLs exist, run local smoke only and pause
445
- for `STAGING_APP_URL=<deployed staging origin>` before deployed staging smoke.
464
+ do not call it staging. If only local URLs exist, run local smoke only, record
465
+ deployed staging as deferred, and ask for
466
+ `STAGING_APP_URL=<deployed staging origin>` only when staging is explicitly
467
+ requested or final sign-off begins.
446
468
 
447
469
  ## YOLO Behavior with Design + Linkage
448
470
 
@@ -726,8 +748,8 @@ Hide:
726
748
 
727
749
  When a private rule affects a pause, translate it into the smallest
728
750
  user-facing question. Do not expose the rule itself. Example: ask for
729
- `STAGING_APP_URL=<deployed staging origin>` rather than showing the Shipping
730
- Closure Protocol.
751
+ `STAGING_APP_URL=<deployed staging origin>` at final sign-off rather than
752
+ showing the Shipping Closure Protocol.
731
753
 
732
754
  ## Step Narration Protocol
733
755
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "godpowers",
3
- "version": "1.6.7",
3
+ "version": "1.6.8",
4
4
  "description": "AI-powered development system: 106 slash commands and 39 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"
@@ -27,11 +27,12 @@ After god-deploy-engineer returns:
27
27
  - real staging or production target tested
28
28
  - local staging harness tested with equivalent health, smoke, and rollback
29
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.
30
+ - local/CI deploy readiness complete with deployed staging verification
31
+ deferred in `.godpowers/deploy/WAITING-FOR-EXTERNAL-ACCESS.md`
32
+ 4. Update `.godpowers/PROGRESS.md`: Deploy status can be done when a tested
33
+ real target or tested local staging harness exists. If deployed staging is
34
+ deferred, annotate Deploy as done-local with the waiting artifact path and
35
+ do not pause unless the user explicitly requested staging.
35
36
 
36
37
  ## On Completion
37
38
 
@@ -44,11 +45,14 @@ Suggested next: /god-observe (wire SLOs, alerts, runbooks)
44
45
  Under `/god-mode --yolo`, do not stop with a provider checklist. Create or
45
46
  update the deploy scripts, smoke command, rollback command, health endpoints,
46
47
  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
48
+ required, record the single access bundle in
49
+ `.godpowers/deploy/WAITING-FOR-EXTERNAL-ACCESS.md` and continue until the user
50
+ requests staging or final sign-off begins.
51
+
52
+ The single access bundle must be incremental. Do not ask for
53
+ `STAGING_APP_URL` mid-arc unless the user requested deployed staging. At final
54
+ sign-off or explicit staging, ask for the smallest next item needed to run the
55
+ next command. If no live target URL is known, ask only for
52
56
  `STAGING_APP_URL=<staging-origin>` and the exact smoke command that will run.
53
57
  Do not ask for provider keys, API tokens, dashboards, DNS tokens, production
54
58
  secrets, admin consoles, or test users until a specific scripted check proves
@@ -59,8 +63,8 @@ values, deployment config, CI variable references, IaC output, hosting CLI
59
63
  output, or deployment docs that explicitly label the URL as owned and current.
60
64
  Never invent a domain from the product name, repo name, package name, README
61
65
  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.
66
+ only, record deployed staging as deferred, and continue. If only production is
67
+ known, do not use it as staging without explicit user approval.
64
68
 
65
69
 
66
70
  ## Re-invocation contract
@@ -52,12 +52,15 @@ Or: /god-status (see the final state)
52
52
  Under `/god-mode --yolo`, do not stop by listing provider dashboards. Create
53
53
  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
- pause on the single access bundle from deploy or launch state.
55
+ record the single access bundle from deploy or launch state and continue until
56
+ the user requests staging or final sign-off begins.
56
57
 
57
58
  The launch pause must not expand into every possible channel, analytics, or
58
59
  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>`.
60
+ named live smoke, launch-readiness, attribution, or monitoring check. Do not
61
+ ask mid-arc for `STAGING_APP_URL` unless the user requested deployed staging.
62
+ At final sign-off, if no live target URL is known, ask only for
63
+ `STAGING_APP_URL=<staging-origin>`.
61
64
 
62
65
  Live target URLs must be evidence-backed. Never invent a domain from the
63
66
  product name, repo name, package name, README title, brand name, or common TLDs.
@@ -94,18 +94,20 @@ You are receiving a /god-mode invocation. Your job is to spawn the
94
94
  security or a genuine human-only decision.
95
95
  - Instruction that deploy, observe, harden, and launch must follow the
96
96
  Shipping Closure Protocol: verify a real environment when available,
97
- otherwise create local/CI-verifiable deploy automation and pause only
98
- for one exact external access bundle.
97
+ otherwise create local/CI-verifiable deploy automation, defer deployed
98
+ staging by default, and continue until the user requests staging or the
99
+ arc reaches final sign-off.
99
100
  - Instruction that keys, API tokens, dashboards, admin consoles, and
100
- provider-specific access are last-mile inputs. The first external pause
101
- should ask only for the smallest next item needed by a concrete command,
102
- usually `STAGING_APP_URL=<staging-origin>`. Ask for additional provider
103
- access only after a named check proves it is needed.
101
+ provider-specific access are last-mile inputs. Do not pause mid-arc for
102
+ `STAGING_APP_URL` unless the user requested deployed staging. At final
103
+ sign-off, ask only for the smallest next item needed by a concrete
104
+ command, usually `STAGING_APP_URL=<staging-origin>`. Ask for additional
105
+ provider access only after a named check proves it is needed.
104
106
  - Instruction that staging, preview, and production URLs must come from
105
107
  direct evidence. Never infer or invent a domain from project name,
106
108
  package name, repo name, README title, or brand name. If no deployed
107
- origin is evidenced, pause for
108
- `STAGING_APP_URL=<deployed staging origin>`.
109
+ origin is evidenced, record deployed staging as deferred and continue
110
+ until staging is requested or final sign-off begins.
109
111
  - Instruction that brownfield and bluefield greenfield simulation audits
110
112
  must be acted on by god-greenfieldifier. The greenfieldifier writes
111
113
  `.godpowers/audit/GREENFIELDIFY-PLAN.md`, pauses before risky canonical
@@ -181,8 +183,8 @@ Hide:
181
183
 
182
184
  If an internal instruction must influence a pause, translate it into the
183
185
  smallest user-facing question. For example, ask for
184
- `STAGING_APP_URL=<deployed staging origin>` instead of exposing the full
185
- Shipping Closure Protocol.
186
+ `STAGING_APP_URL=<deployed staging origin>` at final sign-off instead of
187
+ exposing the full Shipping Closure Protocol.
186
188
 
187
189
  ## Step Cards
188
190