← back to Shopify Sample Shipping

README.md

57 lines

# Shopify sample shipping — TK-11333

Status (updated 2026-09-09): a customer-facing fix IS LIVE. The prior session
(authorized by Steve's "do for me") changed the General profile's
`Free Shipping (No Tracking)` rate from weight `0–0.5 lb` to a subtotal band
`$0–$30`. Verified live: 6 samples ($25.50) ship free; 8+ samples ($34+) are
charged (GAP 1 cliff); regular products ≤$30 also ship free untracked (GAP 2);
and a redundant `Priority Sample Only` $24.95 rate overlaps the free band on
small carts. The dedicated-profile approach below is SHELVED — its pilot
returned zero rates and the store is on Advanced (no Plus / no delivery
Functions). Decision + gated next actions: see
`~/.claude/yolo-queue/pending-approval/TK-11333-sample-shipping-decision-2026-09-09.md`.

--- historical notes (pre-2026-09-09, the abandoned dedicated-profile path) ---

Steve authorized offering Free Shipping (No Tracking) for Shopify samples.
The existing General profile's free domestic rate has a total-weight maximum
of 0.5 lb. Many sample variants weigh 0.25 lb, so three or more samples lose
the free option. Six real sample pieces reproduced the failure at 1.5 lb.

Prepared profile: `gid://shopify/DeliveryProfile/96764067891`,
Samples — Free Shipping (No Tracking). It copies General's shipping origin,
geographic coverage and paid options, with a domestic free rate and no maximum
weight. It is currently EMPTY, with zero variants assigned.

Shopify accepts profile creation and sample assignment, but the pilot returns
no shipping rates through both the storefront cart API and the independent
Admin delivery-quote API. Geographic, active-rate and inventory-location reads
appear correct. Explicit weight minimum zero and all-US-provinces normalization
did not fix the failure. `marketDrivenShipping` is false.

All three pilot variants were restored to General. General's complete profile
matches its before snapshot exactly. Fresh Chromium carts confirm the original
rates are restored. No checkout/order/payment was submitted.

Next step: inspect this profile in authenticated Shopify Admin:
https://admin.shopify.com/store/designer-laboratory-sandbox/settings/shipping/profiles/96764067891
The browser on CDP port 18800 has a dedicated login tab open. Do not navigate
other users' browser tabs. Resolve the empty-rate issue before assigning any
more variants.

The full catalog export identified 96,360 active, explicitly named sample
variants in General, including compound sample sizes. The uncompressed local
manifest is `verification/sample-variants.json`. It is untracked because of its
size. `association-journal.jsonl` does NOT exist: no bulk rollout was executed.
Some pilot variants were excluded from the second export while temporarily
assigned to the new profile; merge verified pilot IDs before any final rollout.

Only run `profile.mjs associate-all` after successful sample-only, large-sample,
mixed-cart and regular-only checkout validation. Re-export before resuming;
the preparation snapshot may be stale. Before broad rollout, implement a
full-catalog persisted readback and an all-batches rollback path; the current
script contains only pilot rollback and is NOT cleared for broad execution.

Evidence: `verification/e2e-proof.json` and
`verification/cart-rollback-verification.json`.