← 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
M README.mdA verify-general-live.mjs
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 →