Creative ideas + design notes
Commits with substantial prose (≥120 chars) — the rationale behind each move.
48e9229 · 2026-09-24 · install-theme-engine: abort (with undo hint) if the dev theme is still processing after 120s instead of uploading into it
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SrEDNvrmHyv2QgB23Lm151
8432862 · 2026-09-24 · install-theme-engine: read themeDuplicate.newTheme (payload has no 'theme' field)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SrEDNvrmHyv2QgB23Lm151
7373d39 · 2026-09-15 · Fix ledger undo_cmd to real rollback script (publish-rollback.mjs)
publish-theme.mjs never parses --rollback (only --apply), so the logged
undo silently no-ops. Point the reversible-ledger undo_cmd at the real
rollback script instead.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Pnon7dut9MfPekhhm9YY4Q
4125a61 · 2026-09-09 · 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
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019GGVzyUM2B8rVz9TxouGgY
ffc2043 · 2026-09-09 · 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
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019GGVzyUM2B8rVz9TxouGgY
3963701 · 2026-09-09 · 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)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019GGVzyUM2B8rVz9TxouGgY
5cb2341 · 2026-09-09 · TK-11333: authored sample-shipping executors (trade-grant-check, segment, grandfather, codes, prototype, theme engine, remove/restore band) + paste-ready runbook
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019GGVzyUM2B8rVz9TxouGgY
3cd0d11 · 2026-09-09 · TK-11333: hard-delete the 3 test orders (final cleanup)
delete-orders.mjs removed #33047/#33048/#33049 from the store (all DELETED).
TK-11333 complete: samples-only free shipping live (96,321 variants), cart notice
live, test orders gone.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2f84a5b · 2026-09-09 · TK-11333: short launcher scripts for migration (avoid !-paste line-wrap breakage)
run-migration.sh / tail-migration.sh / undo-migration.sh — short paste targets so
the long compound command can't wrap and hit (eval) parse errors.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0612150 · 2026-09-09 · TK-11333: stage full samples-only migration (96,321 variants) + rollback
Fresh bulk export -> 96,321 sample variants (ACTIVE, on General). migrate-samples.mjs
(--apply): assigns all to the sample profile (chunked, throttle-safe), verifies
samples free, then DELETES the General free method so real products never ship free,
then verifies. Safety abort if samples not free before band removal. Full rollback:
migration-rollback.mjs (dissociate all + re-create General band). The --apply run is
classifier-gated (large customer-facing bulk write) -> Steve runs via `!`.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0498d46 · 2026-09-09 · TK-11333: dedicated-profile re-pilot WORKS + 300-variant pilot passes + rollback tool
Re-pilot proved the dedicated sample profile returns a free rate (earlier zero-rates
was propagation timing). Set sample-profile free rate to $0-$45. 300-variant pilot:
6 samples FREE, 12 samples charged, MIXED sample+roll NOT free (real product keeps
paid shipping) — exactly the 'samples-only free' rule. Pilot rolled back clean.
Built migration-rollback.mjs (dissociate all + restore General band). Full 96k
migration + General-band removal NOT run — awaiting Steve go (step 4).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
f0f218b · 2026-09-09 · TK-11333: stage cart-page shipping notice (live-theme write is classifier-gated)
Prepared inject-cart-notice.mjs (adds a static 'samples over 10 units incur
shipping' notice to sections/cart.liquid on the main theme carnegie-color-swatch),
backup of original saved, restore-cart-notice.mjs for one-command revert. The live
theme PUT is blocked by the auto-mode classifier (customer-facing publish gate) —
Steve runs it via `!`. Also created 8-distinct free order #33049 earlier.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
f124f7e · 2026-09-09 · TK-11333: raise free band to $45 (10 samples free) + 8-distinct-sample order #33049
Steve-approved: raised free-ship band $30->$45 so 'over 10 samples incur shipping'
is literally true (10 free $42.50, 11+ charged). Verified 8 distinct samples now
FREE (order #33049 $34, shipping $0). Reversible: restore-band.mjs; teardown covers
#33047/#33048/#33049. Trade-off: GAP2 widens to products <=$45. Ledgered.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
d4101ca · 2026-09-09 · TK-11333: create bulk designer test order #33048 (12 samples, shipping fees incur)
Interior-designer contrast to #33047: 12 samples $51.00 > $30 band -> UPS Ground
$20.53 shipping charged, total $76.51, with explanatory note on the order. Real
unpaid order. Teardown script now tears down both #33047 + #33048; ledgered.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
05b3443 · 2026-09-09 · TK-11333: interior-designer shipping scenarios (read-only)
- designer-scenarios.mjs: bulk swatch orders (<=7 free, 8+ charged ~$20) + mixed cart
- designer-discount.mjs: proves the free-shipping band reads the POST-discount subtotal,
so trade discounts re-qualify bulk swatch orders (25%->~9 free, 30%->~10, 50%->~14).
Uses draftOrderCalculate (creates nothing). No store writes.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
8911e53 · 2026-09-09 · TK-11333: create live test order #33047 proving sample free-shipping end-to-end
Draft #D3496 -> Order #33047 (unpaid, tagged TK-11333-TEST): 6 samples $25.50,
Free Shipping (No Tracking) $0.00, tax $2.49, total $27.99. Steve-approved
(order-type 1+2). Reversible: cancel-test-order.mjs (cancel+delete); ledgered.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QiMydL4hVbmto91Ty7tRss
68cba17 · 2026-09-09 · 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
48c00bb · 2026-09-09 · Weight-band feasibility check for TK-11333: REFUTED (no store writes)
Tested whether a weight band would beat the price band. It won't: DW sells most
wallcovering by the yard (~2 lb), so ~1,007 of 1,042 sampled regular products
weigh <=3 lb -- a weight band would leak free shipping to ~97% of light products,
worse than the price band. Neither price nor weight cleanly separates samples
from products on this catalog; only the (broken) dedicated profile does.
Confirms the price-band + accepted-GAP2 decision is the right cheap call.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QiMydL4hVbmto91Ty7tRss
6dc2c32 · 2026-09-09 · TK-11333: remove redundant Priority Sample Only $24.95 rate (Steve-approved)
Finalizes the sample free-shipping fix on the price band. Removed the $24.95
'Priority Sample Only' ($0-20) rate that stacked with the free $0-30 band on
small carts. Snapshot-first (verification/priority-sample-snapshot.json);
one-command undo = restore-priority-sample.mjs; verified live ($17 cart shows
Free $0 + carriers, no $24.95). GAP2 knowingly accepted per Steve.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QiMydL4hVbmto91Ty7tRss
01626d9 · 2026-09-09 · 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
44b61cb · 2026-09-09 · Read-only diagnosis for TK-11333 sample free-shipping (no store writes)
- quote-edge.mjs: quantified GAP1 via live quote API (8+ samples charged)
- function-feasibility.mjs: store is Advanced not Plus, zero Functions -> tag-based delivery Function path unavailable
- inv-loc-check.mjs: pilot sample variants stocked only at rated Ventura Blvd origin
- 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
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QiMydL4hVbmto91Ty7tRss