← 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.