Creative ideas + design notes
Commits with substantial prose (≥120 chars) — the rationale behind each move.
6dc71f5 · 2026-09-26 · TK-12333: remove Scalamandre from showroom-vendors (Steve 2026-09-26: Scalamandre is NOT a showroom line)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018HHVEexYEwkT1HYJzkvv66
9bcd81c · 2026-09-26 · TK-11860: add Jeffrey Stevens, Mind the Gap, Sandberg, Scalamandre to showroom-vendors (Steve approved 2026-09-26)
Exact vendor strings verified against dw_unified mirror. Scalamandre Wallpaper/Fabrics NOT included (not in approved memo). Undo: git revert this sha.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018HHVEexYEwkT1HYJzkvv66
be04e86 · 2026-09-10 · showroom: commit a regression suite for the tag predicate (TK-11307)
The exact-match tag comparison IS the safety design of the showroom-only
rollout, and it had broken twice (whitespace token split matching the
unrelated 'Showroom Line' tag on 18,518+ sellable products; a Liquid
consumer enumerating only 3 casings). Both were caught by hand.
28 assertions over REAL live tag strings, plus a --mutate mode that swaps
in the historical broken predicate and requires the suite to go RED, so
the test is proven to actually guard the invariant rather than just pass.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011FAPArHdMKRiNHqJiorUFm
34860f0 · 2026-09-10 · chore: lint + refactor pass (session close) — TK-11307
Comment accuracy after the ShowroomOnly rename. No logic change.
Verified: 10/10 consumer-agreement suite still green.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
d6185a7 · 2026-09-10 · showroom: rename tag to 'ShowroomOnly' — 'Showroom' collides with 'Showroom Line' (TK-11307) Steve ruled 2026-09-10: the MDC showroom tag is 'ShowroomOnly', not 'Showroom'.
A pre-existing 'Showroom Line' tag sits on 18,518+ ACTIVE SELLABLE products
(Kravet 1969, China Seas 1775, sellable Phillipe Romano 1753, Scalamandre 913,
Osborne & Little 616, Designers Guild 559, ...). Shopify/Boost `tag:` queries are
PREFIX/TOKEN matchers and quoting does not help — measured live, `tag:Showroom`
and `tag:"Showroom"` each return 10,000+ ACTIVE of which a sampled 100/100 carry
'Showroom Line' and 0/100 carry the exact tag. 'ShowroomOnly' measures 0
collisions, so it is safe in code AND in a Shopify/Boost tag query (which makes
the Boost index rule usable and un-traps applier verification).
Verified: all 5 consumers (canonical primitive, hasShowroomTag, microsite
isShowroomTagged, theme Liquid render-skip, theme JS backstop) agree 7/7 on real
tag strings — MDC's new tag matches everywhere, every 'Showroom Line' sellable
case is false everywhere, and the old 'Showroom' tag no longer matches. Phillip
Jeffries stays suppressed via the untouched vendor path.
Applier must stamp 'ShowroomOnly'. Theme PUSH and fleet deploy remain Steve-gated.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2fe5fee · 2026-09-08 · showroom: add tag-aware isShowroomProduct primitive (TK-11307)
A product is showroom-only if vendor is on showroom-vendors.json OR it carries
the 'Showroom' tag. Lets a shared-vendor line (MDC under 'Phillipe Romano') be
hidden from discovery/feed without hiding the vendor's sellable products.
Vendor list unchanged; tag is an additional product-level key. 11/11 unit tests.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JDeaFL4eeREBZX79tc4cnr
9ba8420 · 2026-09-03 · Add reusable isShowroomVendor() primitive keyed off showroom-vendors.json (TK-11186)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BgCcr9t5zNGdb43pS4f1ks
e6f437b · 2026-09-02 · board: movable/dockable nav — drag grip (float/move up-down-anywhere) + Dock-left toggle (left sidebar panel), position+mode persisted
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KkjHuJKiariXaTtFujZxWC
7bb00cf · 2026-09-02 · board: default to light (black-on-white) day theme; add creds-in-URL fetch guard (fixes empty board when opened with user:pass@host)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KkjHuJKiariXaTtFujZxWC
edfc58b · 2026-09-02 · board UX upgrade: day/night toggle, click-to-drill detail drawer, Hootsuite-style column/stream view (group by state/status/vendor), green→red usage meter, group-by + sort — nav-bar-standard style
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KkjHuJKiariXaTtFujZxWC
d014212 · 2026-09-02 · last5: treat showroom lines (Phillip Jeffries) as sample-only-correct — waive sellable+price, show 'showroom' pill; config/showroom-vendors.json editable
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KkjHuJKiariXaTtFujZxWC
5f15a19 · 2026-09-02 · add last5 job: last-5-days new-products go-live board (live Shopify, 6-field rule); fix sample-as-sellable false-green in recent probe
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KkjHuJKiariXaTtFujZxWC
b6cba65 · 2026-09-02 · fix-live-board: generalized broken→fixed live board (source-agnostic probe + gated fixer launch + always-on watcher); flock = reference impl
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KkjHuJKiariXaTtFujZxWC