← back to Dw Checkout Guard
RESTORE-RUNBOOK-TK-10860.md
53 lines
# TK-10860 — Restore the DW Checkout Guard ($0-order block) — runbook
Approved by Steve (option A), 2026-09-04. Goal: re-deploy + install + activate the
`cart.validations.generate.run` function on the LIVE store so the 1,743 $0 quote-only
lines are blocked at checkout again (back to the verified-good 2026-07-30 state).
Do NOT change any product prices. This only restores the checkout validation.
---
## Step 1 — deploy (YOUR terminal, interactive Partner login)
```sh
cd ~/Projects/dw-checkout-guard
shopify auth login # opens browser → log in to the DW Partner org
shopify app deploy # re-releases the function version (wasm already built)
```
- `shopify app deploy` pushes a new **version** of the "DW Checkout Guard" app
(client_id `8c4da59ed5a0c037d4bf85589f9d12c4`). Say **yes** to release.
- If it asks to select an app/org, pick the org that owns **DW Checkout Guard**.
## Step 2 — install the custom app on the LIVE store
The store currently has the app NOT installed (verified: 0/130 apps). After deploy:
- Partner Dashboard → **Apps → DW Checkout Guard → Test/Install on store** →
choose **designer-laboratory-sandbox** → Install. (Or use the app's install link.)
## Step 3 — ACTIVATE the validation (the step that actually enforces)
Shopify Admin (designer-laboratory-sandbox):
> **Settings → Checkout →** "**Checkout rules**" / "**Validations**" ("Manage checkout rules")
> → **Add** → select **DW Checkout Guard** → **Turn on / Active**.
Deploying without this leaves it uploaded-but-inactive (looks done, isn't).
---
## Step 4 — tell me "deployed" and I verify + close (automated, $0)
I re-read the live store with the …2ea5 token and confirm:
- `validations.nodes` now lists **DW Checkout Guard** with `enabled:true`
- (optional) live `POST /cart/add.js` a $0 variant → drive to checkout → confirm the
$0 order is blocked while the $4.25 sample still checks out
Then I swap the staged guard-aware canary live (reports **WARN — 1,743 guarded**, not
false-green), log to the executed-reversible ledger, and `tk done TK-10860`.
**Rollback:** if anything misbehaves, toggle the validation OFF in Step 3's screen
(instant, reversible) — the store returns to exactly today's state.