[object Object]

← back to Shopify Sample Shipping

5x: 3 clean sweeps verifying TK-11333 live shipping invariants (no fixes needed)

68cba17bf4e4f7f453bed0ee8628295873806a19 · 2026-09-09 14:55:04 -0700 · Steve Abrams

Verified against Shopify's live rate engine: samples free, redundant $24.95 gone,
>$30 roll not free, $0-30 band intact, accepted 8-sample cliff confirmed. All 5
invariants PASS x3 consecutive sweeps. Read-only; no store writes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QiMydL4hVbmto91Ty7tRss

Files touched

Diff

commit 68cba17bf4e4f7f453bed0ee8628295873806a19
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Wed Sep 9 14:55:04 2026 -0700

    5x: 3 clean sweeps verifying TK-11333 live shipping invariants (no fixes needed)
    
    Verified against Shopify's live rate engine: samples free, redundant $24.95 gone,
    >$30 roll not free, $0-30 band intact, accepted 8-sample cliff confirmed. All 5
    invariants PASS x3 consecutive sweeps. Read-only; no store writes.
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01QiMydL4hVbmto91Ty7tRss
---
 5x/REPORT.md  | 27 +++++++++++++++++++++++++++
 verify-5x.mjs | 26 ++++++++++++++++++++++++++
 2 files changed, 53 insertions(+)

diff --git a/5x/REPORT.md b/5x/REPORT.md
new file mode 100644
index 0000000..cd90639
--- /dev/null
+++ b/5x/REPORT.md
@@ -0,0 +1,27 @@
+# /5x REPORT — TK-11333 sample free-shipping (live Shopify)
+
+Target: LIVE shipping behavior on designer-laboratory-sandbox (no web app — verified
+against Shopify's authoritative rate engine `draftOrderAvailableDeliveryOptions`, the
+same engine checkout uses; real-browser storefront checkout omitted because it would
+create live carts on the production store).
+
+| Sweep | Passed | Caught | Fixed | Result |
+|------|--------|--------|-------|--------|
+| 1 | 5/5 | 0 | 0 | CLEAN |
+| 2 | 5/5 | 0 | 0 | CLEAN |
+| 3 | 5/5 | 0 | 0 | CLEAN |
+
+Stop condition met: 3 consecutive clean sweeps (≥2 required). Cap not reached. No
+fixes were applied — nothing was caught, so nothing was papered over.
+
+## Invariants verified each sweep
+- INV1 samples free — 6-sample cart ($25.50) offers "Free Shipping (No Tracking)" $0.00 ✅
+- INV2 redundant rate gone — no "Priority Sample Only" $24.95 in profile OR on a $17 cart ✅
+- INV3 no over-generous leak — $168 / 4 lb roll gets NO free shipping ✅
+- INV4 free band intact — General Domestic "Free Shipping (No Tracking)" $0, condition $0–$30 ✅
+- INV5 accepted cliff (expected, not a defect) — 8-sample cart ($34) is NOT free ✅
+
+## Open items
+None from verification. Known/accepted by Steve: GAP 1 (8+ samples charged) and GAP 2
+(regular products ≤$30 ship free untracked) — both structural to a price band, no cheap
+clean fix (weight band refuted; dedicated profile broken; Plus overkill).
diff --git a/verify-5x.mjs b/verify-5x.mjs
new file mode 100644
index 0000000..10c1e6c
--- /dev/null
+++ b/verify-5x.mjs
@@ -0,0 +1,26 @@
+import {query} from './query.mjs';
+const S=['gid://shopify/ProductVariant/44090076954675','gid://shopify/ProductVariant/44086096756787','gid://shopify/ProductVariant/44044973408307'];
+const ROLL='gid://shopify/ProductVariant/40348093055027'; // $168 4lb roll
+const qq=`query($items:[DraftOrderLineItemInput!]!){draftOrderAvailableDeliveryOptions(input:{lineItems:$items,shippingAddress:{address1:"15442 Ventura Blvd",city:"Sherman Oaks",provinceCode:"CA",countryCode:US,zip:"91403"}}){availableShippingRates{title price{amount currencyCode}}}}`;
+const rates=async items=>(await query(qq,{items})).draftOrderAvailableDeliveryOptions.availableShippingRates;
+const hasFree=r=>r.some(x=>parseFloat(x.price.amount)===0);
+const hasTitle=(r,t)=>r.some(x=>x.title.includes(t));
+const spread=(n)=>{const it=[];let l=n;for(let i=0;i<S.length;i++){const q=Math.ceil(l/(S.length-i));if(q>0)it.push({variantId:S[i],quantity:q});l-=q;}return it;};
+
+// live profile state
+const prof=(await query(`{deliveryProfile(id:"gid://shopify/DeliveryProfile/29033627699"){profileLocationGroups{locationGroupZones(first:20){nodes{zone{name}methodDefinitions(first:30){nodes{name rateProvider{__typename ... on DeliveryRateDefinition{price{amount}}} methodConditions{operator conditionCriteria{__typename ... on MoneyV2{amount}}}}}}}}}}`)).deliveryProfile;
+let freeBand=null, hasPriority=false;
+for(const g of prof.profileLocationGroups)for(const z of g.locationGroupZones.nodes){if(z.zone.name!=='Domestic')continue;for(const m of z.methodDefinitions.nodes){if(m.name==='Free Shipping (No Tracking)'){const c=m.methodConditions.filter(x=>x.conditionCriteria?.__typename==='MoneyV2').map(x=>x.conditionCriteria.amount);freeBand=`$${m.rateProvider?.price?.amount} [${c.join('-')}]`;}if(m.name==='Priority Sample Only')hasPriority=true;}}
+
+const r6=await rates(spread(6)), r17=await rates([{variantId:S[0],quantity:2},{variantId:S[1],quantity:1},{variantId:S[2],quantity:1}]), r8=await rates(spread(8)), rRoll=await rates([{variantId:ROLL,quantity:1}]);
+const checks=[
+  ['INV1 samples free (6 samples $25.50)', hasFree(r6)===true],
+  ['INV2 redundant $24.95 gone (profile + $17 cart)', hasPriority===false && hasTitle(r17,'Priority Sample Only')===false],
+  ['INV3 >$30 roll NOT free ($168 roll)', hasFree(rRoll)===false],
+  ['INV4 free band intact ($0, $0-30)', freeBand==='$0.0 [0.0-30.0]'],
+  ['INV5 accepted cliff: 8 samples NOT free (expected)', hasFree(r8)===false],
+];
+let fails=0; for(const [n,ok] of checks){ if(!ok)fails++; console.log(`${ok?'PASS':'FAIL'}  ${n}`); }
+console.log(`\nfreeBand=${freeBand} priorityStillPresent=${hasPriority}`);
+console.log(`RESULT: ${fails===0?'CLEAN':fails+' DEFECT(S)'}`);
+process.exitCode=fails===0?0:1;

← 48c00bb Weight-band feasibility check for TK-11333: REFUTED (no stor  ·  back to Shopify Sample Shipping  ·  TK-11333: create live test order #33047 proving sample free- 8911e53 →