Reidwitlin Landing

repo: ~/Projects/reidwitlin-landing · 34 commits · 0 in last 24h, 0 in last 7d ·

Search the build

34 commits indexed

  1. 685f7c8 2026-07-15 reidwitlin-landing: add Memo/Stock/Price chip actions (shared vendor-requests module)
  2. d7714e5 2026-07-07 chore: lint, refactor, v0.2.3 (session close)
  3. b8b384a 2026-07-07 auto-save: 2026-07-07T12:30:21 (4 files) — lib/backfill-source-images.js lib/relabel-colorways.js scripts/backfill-source-images.js scripts/build-rwltd-data.js
  4. d67eec9 2026-07-07 reidwitlin: contrarian FIX-THEN-SHIP — guard silent-zero-result feed failure (throw if <50 patterns), unify slug apostrophe-strip lib<->build, catch distinguishes integration vs feed errors; integration path exercised
  5. e798590 2026-07-07 reidwitlin: wire source-image backfill into canonical build (shared lib) so a full rebuild preserves the 190 recovered photos instead of regressing to 197 no-photo; refactor standalone patcher onto same lib
  6. 593987a 2026-07-07 reidwitlin: recompute facets after backfill re-partition (was stale 799; now matches 989 published) + always-write idempotent
  7. a86679b 2026-07-07 reidwitlin: backfill 190 authoritative colorway photos from free rwltd.com feed -> auto-restore per own-photo-or-draft rule (799->989 published, 197->7 drafted)
  8. 4535dde 2026-07-07 reidwitlin: enforce own-photo-or-draft — hide 197 no-own-photo colorways from live (799 published, 197 drafted+preserved for auto-restore)
  9. 7fac2fd 2026-07-07 reidwitlin PDP: fix CSS filter cascade — move repflag chip out of desaturated .main so the in-image true-color chip renders accurate (contrarian catch)
  10. ff792e8 2026-07-07 Contrarian FIX-FIRST: block sibling-swatch mislabels + harden swatch matching
  11. 6d6aabd 2026-07-07 reidwitlin PDP: harden hybrid-disclosure hero for no-photo colorways — desaturate flagged representative photo + enlarge/emphasize true-color chip ('Actual color'), per DTD verdict
  12. a4f7fcf 2026-07-07 Recover 353 per-colorway swatches by filename match — no re-scrape, no spend
  13. 92d5aeb 2026-07-07 vendor-requests: resolve george send-token/auth across Mac + Kamatera paths (fix email_failed)
  14. 474a170 2026-07-07 vendor-requests: self-bootstrap vendor_requests table (fix 'relation does not exist' on fresh DB)
  15. 8418a55 2026-07-07 reidwitlin: relabel mis-stamped colorways from pixel hue so pair-card text matches its image (Dreamer/Dream On/Dream Weaver, 33 products)
  16. d52d161 2026-07-07 Color classifier: light+desaturated warms are cream/beige, not vivid orange/gold
  17. c7c7db0 2026-07-07 Contrarian-gate fixes: apostrophe slug bug, solo-series dedup, jewel-tone rescue, stale comment
  18. d08cf85 2026-07-07 PDP hybrid color disclosure (DTD verdict C): true-color chip + representative flag
  19. 918c1df 2026-07-07 Catalog data-quality sweep: chroma-neutral detection, slash-label tidy, unique-only galleries
  20. 941c6a2 2026-07-07 Fix systemic color mislabel: derive colorway from mfr_sku + bucket/hue from AI-vision hex
  21. a206855 2026-07-06 chore: pin port + stable .env credential via pm2, guarded dotenv, v0.2.2 (session close)
  22. 98a3a2a 2026-07-02 Retrofit front page to the internal-line-viewer spec (astek :9944 parity): left panel with search + pattern type-ahead + 7 collapsed facet tables (Books/Styles/Colors/Patterns/Colorways/Width/Repeat; Styles derived from tags — no style column in rwltd_catalog; Material/Length/Match skipped, 0/996 populated), value+count click-to-filter with teal summary badge + Clear, Card Fields toggles down to pure image grid, density slider drives --cols AND --fs type scale, tight 1px/2px/8px cards, data-href + single delegated click (no <a>-wrapped cards), rwltd.* localStorage namespace, location.origin fetches; memo-sample modal + PDP flow kept. E2E-verified Chromium + WebKit creds-in-URL: 120 grid children == 120 cards, 0 empty anchors, all tables collapsed, filter 996→341→996, imgonly clean, --fs 1.18→0.50, 0 console/page errors.
  23. 41474dc 2026-07-02 chore: addendum gate clean, v0.2.1 (session close)
  24. 466dd2a 2026-07-02 discounts are line-specific (Steve): Artmura % unconfirmed — removed inherited newwall 20%, Get Price confirms; module sync incl. no-DW-SKU-in-outbound-email rule
  25. 7aa3cbb 2026-07-02 buy-from distributor support: Artmura purchases route via NewWall (tricia@newwall.com, 866-770-2111, 20% newwall registry discount) — emails greet the distributor, PDP shows Buy From row
  26. b5d7742 2026-07-02 chore: lint clean, refactor, v0.2.0 (session close)
  27. 366f090 2026-07-02 data refresh with confirmed 20% rwltd discount
  28. ab34197 2026-07-02 internal PDP port from astek template: pricing tiers, Request Memo/Check Stock/Get Price with vendor-email preview+send (REQ numbers), Call Vendor bar, vendor meta from registry+fmpro (account-note sanitizer); pm2 reidwitlin-landing :9945
  29. 19bbf56 2026-07-02 Grid UI upgrade: density slider to 20 cols, grid/list view toggle with sticky sortable column headers (10 fields, asc/desc, full-set sort), Safari user:pass@ fetch fix (location.origin)
  30. f181757 2026-07-02 chore: v0.1.1 (session close — lint clean, refactor auto-saved in 2baaa11)
  31. 2baaa11 2026-07-02 auto-save: 2026-07-02T07:46:12 (2 files) — scripts/build-rwltd-data.js server.js
  32. 86b29a3 2026-07-02 deploy: pin reidwitlin to free port 9952
  33. 4508176 2026-07-02 reidwitlin-landing: Kamatera-sourced build script, deps, 996-product data, deploy config
  34. ac85f96 2026-07-02 Reid Witlin internal landing — cloned from astek-landing, catalog from enriched rwltd_catalog (996 products), Basic Auth admin/DW2024!

Authors

Agents used

  • none detected

Skills used

  • /gold4
  • /hue3
  • /backfill-source-images2
  • /build-rwltd-data2
  • /yolo2
  • /grey2
  • /relabel-colorways1
  • /shared1
  • /room1
  • /lifestyle1
  • /emphasize1
  • /auth1
  • /beige1
  • /neutral1
  • /brown1
  • /black1
  • /utility1
  • /near-black1
  • /ivory1
  • /taupe1
  • /family1
  • /off-white1
  • /white1
  • /red1
  • /page1
  • /list1
  • /desc1

Creative ideas + design notes

Commits with substantial prose (≥120 chars) — the rationale behind each move.

4535dde · 2026-07-07 · reidwitlin: enforce own-photo-or-draft — hide 197 no-own-photo colorways from live (799 published, 197 drafted+preserved for auto-restore)
Steve's rule 2026-07-07: a representative/shared stand-in doesn't count as 'has an image'.
Partition on the build's derived image_note signal; drafts kept in snapshot.drafts[] and
auto-restore on a future rebuild once a real colorway photo lands. Kills hybrid disclosure.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ff792e8 · 2026-07-07 · Contrarian FIX-FIRST: block sibling-swatch mislabels + harden swatch matching
The /yolo contrarian caught 4 products displaying a CONFIRMED SIBLING colorway's
named swatch under a 'no photo' note (turn-up-cherry & -chocolate showing canary.jpg,
not-leather-slate->seal, vinyltini-crimson->baileys) — a wrong-color lie, worse than
representative. Fixes:
- TIER 4 now checks a claimed-swatch map; if the only fallback image is another
  colorway's confirmed swatch, show NONE (honest 0-image) instead of the wrong color.
- Mood/room/lifestyle shots excluded from matching (kills kinky-copy-3 variant '3'
  false-matching bouclette_knotty_mood_shot_3).
- imgMatchesColorway: token-sequence match instead of endsWith (kills Gold->marigold),
  and strips SERIES tokens first (kills Linen Like sibling contamination).
Counts: 639 name / 16 variant / 144 unique / 193 rep / 4 sibling-blocked. Verified.
a4f7fcf · 2026-07-07 · Recover 353 per-colorway swatches by filename match — no re-scrape, no spend
'55% have no photo' was a data-shape illusion: the scrape stored each series' full
swatch set in every colorway's image list, so nothing looked unique — but the
colorway swatch is present, named after the colorway (Cassis.jpg, Bloodline_Fawn.jpg,
18695-Beige) or the mfr_sku variant number (Acquisitions_160). Two-tier filename match:
636 by colorway-name, 18 by variant#, 144 unique, 198 still representative (opaque hash
filenames, no colorway key). image_note 551 -> 198. Coexists with the other session's
relabelUnreliableSeries pass. Gemini backfill moot (catalog already 100% enriched).
d52d161 · 2026-07-07 · Color classifier: light+desaturated warms are cream/beige, not vivid orange/gold
#C9B8A0 (I'm Crushed Beige) was bucketed 'orange' — a warm tan at l=0.71 slipping
under the gold hue cutoff. Perceived colorfulness needs more chroma at high lightness,
so warm colors with l>=0.62 and chroma<0.22 now route to white/neutral. Verified: real
lemon #E1D781, bright gold #C59024, bronze, muddy-gold all keep their buckets; 0 residual
light-desat warms in orange/gold. Palette: white 207/grey 270/gold 102/brown 111.
c7c7db0 · 2026-07-07 · Contrarian-gate fixes: apostrophe slug bug, solo-series dedup, jewel-tone rescue, stale comment
- CRITICAL: slug() now strips apostrophes before the char-class collapse, so
  'I'm Crushed' -> 'im-crushed' matches the vendor mfr_sku. Fixes 11 doubled titles
  ('I'm Crushed Im Crushed Beige' -> 'I'm Crushed Beige'). Residual doubled titles 0.
- Solo-colorway series dedup (sku==series slug): 'By Hand Smooth By Hand Smooth' -> 'By Hand Smooth'.
- bucketFromHex jewel-tone rescue: muted MID-tone COOL colors (120-300deg, chroma>=0.06)
  keep their bucket instead of collapsing to grey — Admiral #393F4C -> blue (navy),
  Turquoise #3A5757 -> teal. Warm neutrals + near-white/black unchanged (no regression).
- Removed stale 'Astek' copy-paste comment in product.html.
Found by the /yolo contrarian adversarial gate.
d08cf85 · 2026-07-07 · PDP hybrid color disclosure (DTD verdict C): true-color chip + representative flag
For the 551 colorways with no colorway-specific photo, the hero shows the shared
series texture BUT now carries: (1) a true-color dot rendered from the AI-vision
hex overlaid on the hero, (2) a true-color chip + hex next to the colorway name
(shown on ALL PDPs), (3) a visible 'representative — no colorway-specific photo on
file' note. Resolves the honesty/utility tension: designers keep the texture cue
and see the real color, never deceived. DTD panel unanimous C (Codex+Qwen).
918c1df · 2026-07-07 · Catalog data-quality sweep: chroma-neutral detection, slash-label tidy, unique-only galleries
- bucketFromHex now uses CHROMA (max-min) not HSL saturation for the neutral
  gate — HSL 's' spikes on pastels/near-black (#F5F5DC beige read as saturated
  gold). Fixes 133 neutral-hex-in-chromatic-bucket mislabels (beige/ivory/taupe/
  slate now correctly white/grey). neutral_hex conflicts 133 -> 0.
- tidyLabel() collapses AI 'family/family' slash labels (White/off-white -> Off-White).
  label_has_slash 33 -> 0.
- Gallery de-contamination pass: only ~444/996 colorways have a unique swatch; the
  rest reused series-generic shots rendering the WRONG color. PDPs now show only
  colorway-unique imagery (single hero, no misleading thumbnail strip); 551 no-photo
  colorways flagged image_note='representative'. Shared-image PDPs ~994 -> 13.
- blue bucket 202 -> 28; neutrals now correctly dominate (grey 294/white 161).
941c6a2 · 2026-07-07 · Fix systemic color mislabel: derive colorway from mfr_sku + bucket/hue from AI-vision hex
rwltd_catalog.color_name was mis-scraped (whole Aura series stamped 'Blue'/hue 215
on brown/gold/red swatches; 567/996 bucket-vs-hex conflicts). build-rwltd-data.js
now recovers the true colorway from mfr_sku (aura-muddy-gold -> 'Muddy Gold') and
classifies color_bucket/hue from color_hex pixels. Conflicts 567 -> 13. Blue cohort
202 -> 50. Fixes 'Aura Blue' showing a dark-brown swatch + wrong-color pairs row.

File tree

19 files tracked. Click any to browse the source at HEAD.

Other build journals

← Recycledwallpaper  ·  all 4 projects  ·  Reno Visualizer →

Export

commits.csv · feed.atom · project.json · commits.json

rendered in 1ms