{"slug":"shopify-sample-shipping","total":33,"limit":100,"offset":0,"since":null,"commits":[{"hash":"48e9229","date":"2026-09-24 16:00:32 -0700","author":"Steve Abrams","subject":"install-theme-engine: abort (with undo hint) if the dev theme is still processing after 120s instead of uploading into it","body":"Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SrEDNvrmHyv2QgB23Lm151"},{"hash":"8432862","date":"2026-09-24 16:00:12 -0700","author":"Steve Abrams","subject":"install-theme-engine: read themeDuplicate.newTheme (payload has no 'theme' field)","body":"Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SrEDNvrmHyv2QgB23Lm151"},{"hash":"9ca4cf5","date":"2026-09-15 19:04:01 -0700","author":"Steve","subject":"Track publish-rollback.mjs and proof-designer.mjs (git-hygiene: gitify the documented rollback target)","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"7373d39","date":"2026-09-15 18:12:52 -0700","author":"Steve","subject":"Fix ledger undo_cmd to real rollback script (publish-rollback.mjs)","body":"publish-theme.mjs never parses --rollback (only --apply), so the logged\nundo silently no-ops. Point the reversible-ledger undo_cmd at the real\nrollback script instead.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Pnon7dut9MfPekhhm9YY4Q"},{"hash":"7e08f2f","date":"2026-09-09 23:56:15 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-09T23:56:02 (2 data files) — verification/theme-engine-install.json verification/theme-publish.json","body":""},{"hash":"d3d59df","date":"2026-09-09 23:23:09 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-09T23:22:55 (1 data files) — verification/theme-engine-install.json","body":""},{"hash":"4125a61","date":"2026-09-09 23:10:11 -0700","author":"Steve Abrams","subject":"TK-11333: author one-paste DEV-theme installer (themeDuplicate->upload snippet->inject render before verified cart anchor, never publishes) + undo + ~/theme launcher; tighten snippet selector to real .cart-checkout markup; RUNBOOK Step 5 paste+proof+publish","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_019GGVzyUM2B8rVz9TxouGgY"},{"hash":"ffc2043","date":"2026-09-09 22:55:45 -0700","author":"Steve Abrams","subject":"TK-11333: correct band-truth (band is LIVE on dedicated Samples profile, not gone); commit DTD Option A verdict + honest count-enforcement limit; add correct-profile retune-samples-band.mjs (retire wrong-profile remove/raise-band); rewrite RUNBOOK with dev-theme build+proof+go/no-go","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_019GGVzyUM2B8rVz9TxouGgY"},{"hash":"3963701","date":"2026-09-09 22:53:14 -0700","author":"Steve Abrams","subject":"TK-11333: fix theme engine per Cody red-team — honest price-over-band messaging, code fires only when it helps, soft-cap hides wallets; add band-truth verification + engine-logic test (9/9)","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_019GGVzyUM2B8rVz9TxouGgY"},{"hash":"30edcd5","date":"2026-09-09 22:50:25 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-09T22:50:09 (4 data files) — verification/band-truth-2026-09-09.json verification/freeship-codes-created.json verification/proto-autoapply-report.json verification/trade-segment-created.json","body":""},{"hash":"4d62ab1","date":"2026-09-09 17:20:15 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-09T17:19:59 (2 data files) — verification/grandfather-applied.json verification/grandfather-progress.json","body":""},{"hash":"eefb2df","date":"2026-09-09 16:45:24 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-09T16:44:54 (2 data files) — verification/grandfather-applied.json verification/grandfather-progress.json","body":""},{"hash":"5cb2341","date":"2026-09-09 16:35:44 -0700","author":"Steve Abrams","subject":"TK-11333: authored sample-shipping executors (trade-grant-check, segment, grandfather, codes, prototype, theme engine, remove/restore band) + paste-ready runbook","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_019GGVzyUM2B8rVz9TxouGgY"},{"hash":"3cd0d11","date":"2026-09-09 16:29:16 -0700","author":"Steve Abrams","subject":"TK-11333: hard-delete the 3 test orders (final cleanup)","body":"delete-orders.mjs removed #33047/#33048/#33049 from the store (all DELETED).\nTK-11333 complete: samples-only free shipping live (96,321 variants), cart notice\nlive, test orders gone.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"03b276d","date":"2026-09-09 16:09:51 -0700","author":"Steve Abrams","subject":"TK-11333: read-only feasibility + full-customer grandfather export + tag/discount analysis (no store writes)","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"2f84a5b","date":"2026-09-09 15:47:17 -0700","author":"Steve Abrams","subject":"TK-11333: short launcher scripts for migration (avoid !-paste line-wrap breakage)","body":"run-migration.sh / tail-migration.sh / undo-migration.sh — short paste targets so\nthe long compound command can't wrap and hit (eval) parse errors.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"0612150","date":"2026-09-09 15:42:49 -0700","author":"Steve Abrams","subject":"TK-11333: stage full samples-only migration (96,321 variants) + rollback","body":"Fresh bulk export -> 96,321 sample variants (ACTIVE, on General). migrate-samples.mjs\n(--apply): assigns all to the sample profile (chunked, throttle-safe), verifies\nsamples free, then DELETES the General free method so real products never ship free,\nthen verifies. Safety abort if samples not free before band removal. Full rollback:\nmigration-rollback.mjs (dissociate all + re-create General band). The --apply run is\nclassifier-gated (large customer-facing bulk write) -> Steve runs via `!`.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"0498d46","date":"2026-09-09 15:35:12 -0700","author":"Steve Abrams","subject":"TK-11333: dedicated-profile re-pilot WORKS + 300-variant pilot passes + rollback tool","body":"Re-pilot proved the dedicated sample profile returns a free rate (earlier zero-rates\nwas propagation timing). Set sample-profile free rate to $0-$45. 300-variant pilot:\n6 samples FREE, 12 samples charged, MIXED sample+roll NOT free (real product keeps\npaid shipping) — exactly the 'samples-only free' rule. Pilot rolled back clean.\nBuilt migration-rollback.mjs (dissociate all + restore General band). Full 96k\nmigration + General-band removal NOT run — awaiting Steve go (step 4).\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"f0f218b","date":"2026-09-09 15:26:08 -0700","author":"Steve Abrams","subject":"TK-11333: stage cart-page shipping notice (live-theme write is classifier-gated)","body":"Prepared inject-cart-notice.mjs (adds a static 'samples over 10 units incur\nshipping' notice to sections/cart.liquid on the main theme carnegie-color-swatch),\nbackup of original saved, restore-cart-notice.mjs for one-command revert. The live\ntheme PUT is blocked by the auto-mode classifier (customer-facing publish gate) —\nSteve runs it via `!`. Also created 8-distinct free order #33049 earlier.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"f124f7e","date":"2026-09-09 15:21:40 -0700","author":"Steve Abrams","subject":"TK-11333: raise free band to $45 (10 samples free) + 8-distinct-sample order #33049","body":"Steve-approved: raised free-ship band $30->$45 so 'over 10 samples incur shipping'\nis literally true (10 free $42.50, 11+ charged). Verified 8 distinct samples now\nFREE (order #33049 $34, shipping $0). Reversible: restore-band.mjs; teardown covers\n#33047/#33048/#33049. Trade-off: GAP2 widens to products <=$45. Ledgered.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"d4101ca","date":"2026-09-09 15:12:48 -0700","author":"Steve Abrams","subject":"TK-11333: create bulk designer test order #33048 (12 samples, shipping fees incur)","body":"Interior-designer contrast to #33047: 12 samples $51.00 > $30 band -> UPS Ground\n$20.53 shipping charged, total $76.51, with explanatory note on the order. Real\nunpaid order. Teardown script now tears down both #33047 + #33048; ledgered.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"05b3443","date":"2026-09-09 15:08:39 -0700","author":"Steve Abrams","subject":"TK-11333: interior-designer shipping scenarios (read-only)","body":"- designer-scenarios.mjs: bulk swatch orders (<=7 free, 8+ charged ~$20) + mixed cart\n- designer-discount.mjs: proves the free-shipping band reads the POST-discount subtotal,\n  so trade discounts re-qualify bulk swatch orders (25%->~9 free, 30%->~10, 50%->~14).\n  Uses draftOrderCalculate (creates nothing). No store writes.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"8911e53","date":"2026-09-09 15:00:27 -0700","author":"Steve Abrams","subject":"TK-11333: create live test order #33047 proving sample free-shipping end-to-end","body":"Draft #D3496 -> Order #33047 (unpaid, tagged TK-11333-TEST): 6 samples $25.50,\nFree Shipping (No Tracking) $0.00, tax $2.49, total $27.99. Steve-approved\n(order-type 1+2). Reversible: cancel-test-order.mjs (cancel+delete); ledgered.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01QiMydL4hVbmto91Ty7tRss"},{"hash":"68cba17","date":"2026-09-09 14:55:04 -0700","author":"Steve Abrams","subject":"5x: 3 clean sweeps verifying TK-11333 live shipping invariants (no fixes needed)","body":"Verified against Shopify's live rate engine: samples free, redundant $24.95 gone,\n>$30 roll not free, $0-30 band intact, accepted 8-sample cliff confirmed. All 5\ninvariants PASS x3 consecutive sweeps. Read-only; no store writes.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01QiMydL4hVbmto91Ty7tRss"},{"hash":"48c00bb","date":"2026-09-09 14:47:46 -0700","author":"Steve Abrams","subject":"Weight-band feasibility check for TK-11333: REFUTED (no store writes)","body":"Tested whether a weight band would beat the price band. It won't: DW sells most\nwallcovering by the yard (~2 lb), so ~1,007 of 1,042 sampled regular products\nweigh <=3 lb -- a weight band would leak free shipping to ~97% of light products,\nworse than the price band. Neither price nor weight cleanly separates samples\nfrom products on this catalog; only the (broken) dedicated profile does.\nConfirms the price-band + accepted-GAP2 decision is the right cheap call.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01QiMydL4hVbmto91Ty7tRss"},{"hash":"6dc2c32","date":"2026-09-09 14:36:44 -0700","author":"Steve Abrams","subject":"TK-11333: remove redundant Priority Sample Only $24.95 rate (Steve-approved)","body":"Finalizes the sample free-shipping fix on the price band. Removed the $24.95\n'Priority Sample Only' ($0-20) rate that stacked with the free $0-30 band on\nsmall carts. Snapshot-first (verification/priority-sample-snapshot.json);\none-command undo = restore-priority-sample.mjs; verified live ($17 cart shows\nFree $0 + carriers, no $24.95). GAP2 knowingly accepted per Steve.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01QiMydL4hVbmto91Ty7tRss"},{"hash":"01626d9","date":"2026-09-09 14:32:21 -0700","author":"Steve Abrams","subject":"Correct stale README + add live-state verification for TK-11333","body":"- README: fix false 'BLOCKED' status; document the LIVE $0-30 price band, GAP1/GAP2, and the Priority Sample Only overlap\n- verify-general-live.mjs: fresh live read confirming General profile state + rate-stacking on a $17 cart\n- diagnose-sample-profile.mjs: sample profile config read\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01QiMydL4hVbmto91Ty7tRss"},{"hash":"44b61cb","date":"2026-09-09 14:24:19 -0700","author":"Steve Abrams","subject":"Read-only diagnosis for TK-11333 sample free-shipping (no store writes)","body":"- quote-edge.mjs: quantified GAP1 via live quote API (8+ samples charged)\n- function-feasibility.mjs: store is Advanced not Plus, zero Functions -> tag-based delivery Function path unavailable\n- inv-loc-check.mjs: pilot sample variants stocked only at rated Ventura Blvd origin\n- diagnose-sample-profile.mjs: retained sample profile now has a valid $0 US free rate (>=0 lb, no cap); earlier zero-rates likely propagation timing, not config\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01QiMydL4hVbmto91Ty7tRss"},{"hash":"135c9a4","date":"2026-09-09 13:56:59 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-09T13:56:45 (5 data files) — condition-schema.graphql general-rategroups.graphql verification/condition-schema.json verification/general-expand-result.json verification/schema-now.json","body":""},{"hash":"43104cb","date":"2026-09-09 13:24:05 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-09T13:23:51 (15 data files) — verification/candidates-preview.json verification/country-schema.json verification/diagnose.json verification/export-operation.json verification/inspect.json","body":""},{"hash":"76ceff0","date":"2026-09-09 13:18:13 -0700","author":"Steve Abrams","subject":"Record verified pilot rollback and block unsafe shipping rollout","body":""},{"hash":"ccec1fc","date":"2026-09-09 13:04:14 -0700","author":"Steve Abrams","subject":"Prepare sample-only shipping profile with rate snapshots and rollback","body":""},{"hash":"498483f","date":"2026-09-09 12:56:39 -0700","author":"Steve Abrams","subject":"Add read-only Shopify shipping inspection","body":""}]}