[object Object]

← back to Shopify Sample Shipping

Correct stale README + add live-state verification for TK-11333

01626d956c2648ae82513b55eaf88a767c535622 · 2026-09-09 14:32:21 -0700 · Steve Abrams

- README: fix false 'BLOCKED' status; document the LIVE $0-30 price band, GAP1/GAP2, and the Priority Sample Only overlap
- verify-general-live.mjs: fresh live read confirming General profile state + rate-stacking on a $17 cart
- diagnose-sample-profile.mjs: sample profile config read

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

Files touched

Diff

commit 01626d956c2648ae82513b55eaf88a767c535622
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Wed Sep 9 14:32:21 2026 -0700

    Correct stale README + add live-state verification for TK-11333
    
    - README: fix false 'BLOCKED' status; document the LIVE $0-30 price band, GAP1/GAP2, and the Priority Sample Only overlap
    - verify-general-live.mjs: fresh live read confirming General profile state + rate-stacking on a $17 cart
    - diagnose-sample-profile.mjs: sample profile config read
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01QiMydL4hVbmto91Ty7tRss
---
 README.md               | 13 ++++++++++++-
 verify-general-live.mjs | 30 ++++++++++++++++++++++++++++++
 2 files changed, 42 insertions(+), 1 deletion(-)

diff --git a/README.md b/README.md
index bac7922..5316ba4 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,17 @@
 # Shopify sample shipping — TK-11333
 
-Status: blocked; customer-facing fix has NOT landed.
+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
diff --git a/verify-general-live.mjs b/verify-general-live.mjs
new file mode 100644
index 0000000..fe092ad
--- /dev/null
+++ b/verify-general-live.mjs
@@ -0,0 +1,30 @@
+import {query} from './query.mjs';
+import fs from 'node:fs';
+// (1) Fresh live read of the GENERAL profile Domestic zone methods + conditions
+const id='gid://shopify/DeliveryProfile/29033627699';
+const q=`query($id:ID!){deliveryProfile(id:$id){name
+  profileLocationGroups{locationGroupZones(first:20){nodes{
+    zone{name}
+    methodDefinitions(first:30){nodes{name active
+      rateProvider{__typename ... on DeliveryRateDefinition{price{amount currencyCode}}}
+      methodConditions{operator conditionCriteria{__typename ... on Weight{value unit} ... on MoneyV2{amount currencyCode}}}}}
+  }}}}}`;
+const d=await query(q,{id});
+console.log('=== GENERAL PROFILE LIVE (Domestic methods) ===');
+for(const g of d.deliveryProfile.profileLocationGroups){
+  for(const z of g.locationGroupZones.nodes){
+    if(z.zone.name!=='Domestic') continue;
+    for(const m of z.methodDefinitions.nodes){
+      const rp=m.rateProvider; const price=rp&&rp.price?`${rp.price.amount} ${rp.price.currencyCode}`:rp?.__typename;
+      const conds=(m.methodConditions||[]).map(mc=>{const cr=mc.conditionCriteria;const v=cr?.value!==undefined?`${cr.value}${cr.unit||''}`:(cr?.amount!==undefined?`$${cr.amount}`:'?');return `${mc.operator} ${v}`;}).join(' & ')||'(none)';
+      console.log(`  "${m.name}" active=${m.active} price=${price} cond=[${conds}]`);
+    }
+  }
+}
+// (2) Stacking check: quote a ~$17 (4-sample) cart — <=$20 (Priority range) AND <=$30 (free band)
+const S=['gid://shopify/ProductVariant/44090076954675','gid://shopify/ProductVariant/44086096756787','gid://shopify/ProductVariant/44044973408307'];
+const items=[{variantId:S[0],quantity:2},{variantId:S[1],quantity:1},{variantId:S[2],quantity:1}]; // 4 x $4.25 = $17
+const qq=fs.readFileSync(new URL('./quote-check.graphql',import.meta.url),'utf8');
+const r=await query(qq,{items});
+console.log('\n=== $17 (4-sample) CART RATES OFFERED (stacking check) ===');
+for(const x of r.draftOrderAvailableDeliveryOptions.availableShippingRates){ console.log(`  ${x.title} = $${x.price.amount}`); }

← 44b61cb Read-only diagnosis for TK-11333 sample free-shipping (no st  ·  back to Shopify Sample Shipping  ·  TK-11333: remove redundant Priority Sample Only $24.95 rate 6dc2c32 →