Hollywood Import

repo: ~/Projects/hollywood-import · 87 commits · 0 in last 24h, 0 in last 7d ·

Search the build

87 commits indexed

  1. c571527 2026-09-15 hollywood-create: guard against creating+publishing a $0-orderable ACTIVE product (TK-11357 class)
  2. d995321 2026-09-15 hollywood-add-yard: guard against $0-orderable yard variant (TK-11357 class)
  3. d248f23 2026-09-15 TK-11757: price>0 guard on RESUME path of danapoint-promote (never stamp on_hand=2026 CONTINUE onto a $0 variant, TK-11357 class)
  4. add48d6 2026-09-13 security: strip hardcoded dw_admin secret -> env-first/passwordless. No rotation/deploy.
  5. 38dc619 2026-09-10 TK-11384: fail closed on ambiguous dw_sku in mark_shopify_products()
  6. 8fa9801 2026-09-10 TK-11337: promote Dana Point Split Rock residual to per-yard (XZW-511904), reversible executor
  7. 8d08f31 2026-09-10 TK-11415: label the Momentum Meilisearch literal as a vendor-owned PUBLIC search key (not a secret, not ours to rotate)
  8. 3c85ec7 2026-08-31 Hollywood generator: positive SKU shape-guard at write choke-point (TK-11054)
  9. 8226908 2026-08-18 TK-10679 Phase2: read-only remap dry-run + tier scorer (0 remappable to real codes; 1993/2590 truly held)
  10. f7109e8 2026-08-18 TK-10679: add ^DWHD/DWHW2 SKU-shape guard to hollywood-create generator (Steve go — never mint fabricated brand-as-vendor codes)
  11. 3844a4f 2026-08-17 generator forward-fix revised to DTD-C: HW-<deterministic opaque hash of Momentum number>; raw number internal-only; collision-guarded; kill-switch frozen
  12. 61c9a76 2026-08-17 TK-10634 generator forward-fix (DTD-B): mint HW-<real momentum number> not sequential DWHD; skip no-number rows; collision-guarded; kill-switch still frozen
  13. e0edd0f 2026-08-17 TK-10634: hard-guard DWHD minter behind kill-switch (brand-as-vendor bug)
  14. c5b8537 2026-08-10 auto-data-snapshot: 2026-08-10T08:23:29 (1 data files) — hollywood-create-audit.jsonl
  15. ab826a0 2026-08-09 auto-data-snapshot: 2026-08-09T08:14:10 (1 data files) — hollywood-create-audit.jsonl
  16. 7dc2ec0 2026-08-08 auto-data-snapshot: 2026-08-08T08:25:55 (1 data files) — hollywood-create-audit.jsonl
  17. 4723414 2026-08-07 auto-data-snapshot: 2026-08-07T08:32:43 (1 data files) — hollywood-create-audit.jsonl
  18. d356bd6 2026-08-07 auto-data-snapshot: 2026-08-07T08:00:20 (1 data files) — hollywood-create-audit.jsonl
  19. cc60dd5 2026-08-06 auto-save: 2026-08-06T08:19:59 (1 files) — hollywood-create-audit.jsonl
  20. 37193d3 2026-08-05 auto-save: 2026-08-05T08:10:17 (1 files) — hollywood-create-audit.jsonl
  21. f5b7a8a 2026-08-04 auto-save: 2026-08-04T08:31:34 (1 files) — hollywood-create-audit.jsonl
  22. 2f33b99 2026-08-04 auto-save: 2026-08-04T08:01:22 (1 files) — hollywood-create-audit.jsonl
  23. 2307ee4 2026-08-03 auto-save: 2026-08-03T08:22:05 (1 files) — hollywood-create-audit.jsonl
  24. 4c9aa9b 2026-08-02 auto-save: 2026-08-02T08:13:37 (1 files) — hollywood-create-audit.jsonl
  25. 8e6faca 2026-08-01 auto-save: 2026-08-01T08:05:12 (1 files) — hollywood-create-audit.jsonl
  26. eb86347 2026-07-31 auto-save: 2026-07-31T08:25:30 (1 files) — hollywood-create-audit.jsonl
  27. cb6ee42 2026-07-30 auto-save: 2026-07-30T08:16:08 (2 files) — hollywood-add-yard-audit.jsonl hollywood-create-audit.jsonl
  28. 9f411ea 2026-07-29 auto-save: 2026-07-29T08:07:14 (2 files) — hollywood-add-yard-audit.jsonl hollywood-create-audit.jsonl
  29. b68d866 2026-07-28 auto-save: 2026-07-28T08:28:39 (2 files) — hollywood-add-yard-audit.jsonl hollywood-create-audit.jsonl
  30. 15afeb3 2026-07-27 auto-save: 2026-07-27T16:21:58 (1 files) — hollywood-create-audit.jsonl
  31. 427f361 2026-07-27 TK-00109: sanitize single-line metafields (collapse newlines) — fixes Shopify 422 on multi-line fire_rating cert text; completes 20/20 Phase-2 Hollywood canary go-live
  32. 44cb1a0 2026-07-27 TK-00109: harden wallcovering canary per contrarian gate — exclude opaque internal-code pattern names + acoustic-worded descriptions; verified image alt clean on live products, 1.448 markup empirically dominant (8511 rows)
  33. 284ab81 2026-07-27 TK-00109 Phase-2 Hollywood canary: fix leak-guard false-positive on internal real_vendor metafield + add 20-SKU wallcovering canary (fresh hw=list*1.448)
  34. e53fa14 2026-07-27 auto-save: 2026-07-27T08:19:05 (1 files) — hollywood-add-yard-audit.jsonl
  35. bf1aad2 2026-07-24 auto-save: 2026-07-24T08:26:42 (1 files) — hollywood-add-yard-audit.jsonl
  36. 5ae9a3e 2026-07-23 auto-save: 2026-07-23T08:19:35 (1 files) — hollywood-add-yard-audit.jsonl
  37. d962658 2026-07-22 auto-save: 2026-07-22T08:12:31 (1 files) — hollywood-add-yard-audit.jsonl
  38. 9174a53 2026-07-21 auto-save: 2026-07-21T08:06:27 (1 files) — hollywood-add-yard-audit.jsonl
  39. 02127fa 2026-07-20 auto-save: 2026-07-20T08:00:46 (1 files) — hollywood-add-yard-audit.jsonl
  40. b9188fb 2026-07-19 auto-save: 2026-07-19T08:25:31 (1 files) — hollywood-add-yard-audit.jsonl
  41. 26cb32b 2026-07-18 auto-save: 2026-07-18T08:20:26 (1 files) — hollywood-add-yard-audit.jsonl
  42. 4bb79a7 2026-07-17 auto-save: 2026-07-17T08:15:49 (1 files) — hollywood-add-yard-audit.jsonl
  43. 7366599 2026-07-16 auto-save: 2026-07-16T08:12:03 (1 files) — hollywood-add-yard-audit.jsonl
  44. 3d4931d 2026-07-15 legacy real_vendor: decode exhausted — 3,766 fixed authoritatively, 604 undecodable-from-data documented
  45. b21b6b8 2026-07-15 BM=Greenland: set real_vendor on 229 BM-vid natural-fiber products (Steve-confirmed mill), 0 errors, live-verified
  46. 7e4287d 2026-07-15 apply legacy real_vendor high-confidence set: 3,537 products across 9 vendors (astsand=Astek per Steve), 0 errors, live-verified
  47. b929935 2026-07-15 legacy real_vendor mapping proposal: 4,256 products mapped per-product via FileMaker vid (3,606 matched, 85%)
  48. ddd2da0 2026-07-15 real_vendor = Momentum not the Hollywood brand — fixed creator + backfill + corrective pass over 366 live DWHD products
  49. 771ade4 2026-07-15 backfill: newline-flatten single-line metafield values; 366/366 applied
  50. 3a08d03 2026-07-15 specs fix: backfill metafields+body on 366 metafield-less Hollywood products; create drip now ships spec metafields + description (root cause of bare PDPs)
  51. fa17d62 2026-07-15 auto-save: 2026-07-15T14:07:06 (2 files) — backfill-specs.mjs backfill-targets.json
  52. 8d25794 2026-07-15 auto-save: 2026-07-15T08:05:18 (2 files) — hollywood-add-yard-audit.jsonl hollywood-create-audit.jsonl
  53. e99880c 2026-07-14 auto-save: 2026-07-14T08:29:59 (8 files) — hollywood-add-yard-audit.jsonl hollywood-create-audit.jsonl momentum-feed/assign-sku.mjs momentum-feed/build-acoustic-manifest.mjs momentum-feed/enrich.mjs
  54. b9ed759 2026-07-13 auto-save: 2026-07-13T08:23:39 (2 files) — hollywood-add-yard-audit.jsonl hollywood-create-audit.jsonl
  55. cd60444 2026-07-12 auto-save: 2026-07-12T08:17:05 (2 files) — hollywood-add-yard-audit.jsonl hollywood-create-audit.jsonl
  56. 76452fb 2026-07-11 auto-save: 2026-07-11T08:12:22 (2 files) — hollywood-add-yard-audit.jsonl hollywood-create-audit.jsonl
  57. 52431f4 2026-07-10 auto-save: 2026-07-10T08:14:41 (2 files) — hollywood-add-yard-audit.jsonl hollywood-create-audit.jsonl
  58. 6e5f45f 2026-07-09 auto-save: 2026-07-09T18:41:42 (2 files) — hollywood-add-yard-audit.jsonl hollywood-create-audit.jsonl
  59. 87b0b6a 2026-07-08 auto-save: 2026-07-08T16:06:38 (3 files) — hollywood-create-audit.jsonl hollywood-add-yard-audit.jsonl hollywood-create-resume.sh.pre-acoustic.bak
  60. cf62e0b 2026-07-08 acoustic go-live WIRED into existing capped drip (phase-3, create-only, budgeted/refunded); first 2 live ACTIVE + verified (type=Acoustic Panel, Sold Per Box, 0-leak); rest drip daily
  61. 3544add 2026-07-08 acoustic go-live: manifest (2623, 0-leak validated) + hollywood-create --manifest/product_type(Acoustic Panel)/unit(Box,Panel,Sq Yard)/panel-spec support
  62. cb4b292 2026-07-08 momentum go-live prep (blockers 2-4): momentum_golive_prep companion table — hw_product_type + faithful hw_title + panel_spec; leak-clean; reversible
  63. 57e3dbe 2026-07-08 momentum go-live prep (blockers 2-4): hw_product_type (Acoustic Panel/Wallcovering) + faithful de-SHOUTed hw_title + surfaced panel_spec; leak scan 0/clean; staging non-destructive
  64. f603f77 2026-07-08 momentum price-backfill: recover 788 unpriced (incl 509 Acoustic) from feed via momentum_sku join, hw_price=list×1.448; go-live blocker #1 CLEARED
  65. b81b266 2026-07-08 momentum assign-sku: 2902 unmapped colorways → DWHD-508083..510984 + 258 fresh CA-city collections (staging; drip manifest untouched)
  66. c1db41b 2026-07-08 refresh: add Meilisearch 20k-cap truncation alarm (contrarian gate #2)
  67. d793c5d 2026-07-08 momentum LOCAL enrichment runner (qwen2.5vl:7b, $0): ai_color_name/description/tags, resumable, no hallucinated hex
  68. e5c026f 2026-07-08 momentum feed-first refresh (Meilisearch redesign-colors): +788 new WC/Acoustic colorways, 10165 volatile-refreshed, non-clobbering
  69. 4c006cb 2026-07-03 chore: macstudio3 migration — reconcile from mac2 + repoint paths (stevestudio2→macstudio3, node/npm/npx→/opt/homebrew)
  70. ecdc833 2026-06-22 auto-save: 2026-06-22T08:04:36 (1 files) — hollywood-create-audit.jsonl
  71. ca5bd28 2026-06-21 auto-save: 2026-06-21T18:53:00 (2 files) — hollywood-create-audit.jsonl innov-img-urls.json
  72. 7c8532d 2026-06-20 hollywood wrapper: refund unused upload grant on 429/partial slots, phase-1 + phase-2 (DTD-A)
  73. 3f08fb5 2026-06-19 fix: budget-take + --limit on hollywood phase-2 (add-yard) so it can't exceed the recorded variant grant
  74. dc5b6ae 2026-06-19 hollywood-create-resume: add kill-switch + variant-budget gate
  75. 5e1cfb6 2026-06-18 Move Hollywood create/yard drip to 8:00am so sample-split(6:15)/schu-build(7:00) keep daily-cap priority
  76. 018d33d 2026-06-18 Phase-2 add-yard pipeline (sample-safe self-heal + inventory 2026 + cap-abort, dry-run validated) + chain it after Phase-1 in the daily drip; Phase-1 drip installed (launchd com.steve.hollywood-create-resume, 5:45am)
  77. ae20a4f 2026-06-18 Phase-1 Hollywood create pipeline: sample-safe inline-2-variant create + go-live (channels/inventory 2026), dedup+leak+fullproduct gates passed, cap-abort + resumable drip wrapper + launchd plist (install Steve-gated); blocked today by Shopify daily variant-creation cap
  78. 724cdd9 2026-06-18 Fix nightly clobber: patch consolidate-vendor-catalogs.py to preserve list_price/hw_price/retail_price/cost/image_alt + Hollywood name-scrub on ON CONFLICT upsert (deployed to Kamatera, validated by dry-run + merge sim)
  79. e06a701 2026-06-18 Innovations cost map (224 colorways, list×0.90 per-yd); 182 applied to canonical innovations_catalog
  80. e7dde61 2026-06-17 Innovations-wide price reconciliation: 23 current patterns priced (list×0.90), 20 discontinued; search-slug-match resolver for stale DB SKUs
  81. 1771988 2026-06-17 Innovations: login cracked + 24 priced
  82. 8538f43 2026-06-17 Tri-Kes/Momentum batch 2: price 992 via FileMaker col3→crawl match
  83. 5dd0e74 2026-06-17 Push Group-1 retail prices to 62 live Shopify products
  84. 540f7ea 2026-06-17 Add stage-names-alt.mjs generator (name-scrub + alt-tag staging)
  85. a13162a 2026-06-17 Momentum (Hollywood) authed crawler + Group-1 price staging
  86. 402ee5e 2026-06-10 scrub: emit ALL images (all_images array) + completeness gate, not just primary (Steve: all SKUs must have all images/data)
  87. 6e3a6a3 2026-06-10 scrubMomentum(): Momentum→Hollywood private-label scrub + verifier (0 leaks / 8,043 rows)

Authors

Agents used

  • secrets-manager1

Skills used

  • /products1
  • /undefined1
  • /passwordless1
  • /deploy1
  • /claude1
  • /code1
  • /bare-number1
  • /block1
  • /assign-sku1
  • /build-acoustic-manifest1
  • /enrich1
  • /refunded1
  • /unit1
  • /panel-spec1
  • /clean1
  • /description1
  • /tags1
  • /npm1
  • /npx1
  • /homebrew1
  • /partial1
  • /day1
  • /yard1
  • /schu-build1
  • /inventory1
  • /cost1
  • /innovations1
  • /gossamer1
  • /etch1
  • /data1

Creative ideas + design notes

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

c571527 · 2026-09-15 · hollywood-create: guard against creating+publishing a $0-orderable ACTIVE product (TK-11357 class)
goLive() stamps on_hand=2026, publishes 13 channels, and flips ACTIVE, so a
blank/0 per-yard price it.hw would ship a live customer-facing $0 orderable
product. Fail-loud SKIP before POST /products.json.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
d995321 · 2026-09-15 · hollywood-add-yard: guard against $0-orderable yard variant (TK-11357 class)
Refuse to bulk-create + inventory-stamp a Sold Per Yard variant when it.hw is
null/0/undefined; a $0 variant with inventoryPolicy CONTINUE stamped on_hand=2026
becomes checkout-orderable for $0.00. Skip loudly in dry-run and apply.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
38dc619 · 2026-09-10 · TK-11384: fail closed on ambiguous dw_sku in mark_shopify_products()
The UPDATE binds vendor_catalog rows to Shopify products with `vc.dw_sku = sp.dw_sku`,
under a docstring that states "join on dw_sku only (unique, safe)". That claim is false:
vendor_catalog is SHARED across 157 vendor_codes and 1,148 dw_sku values are held by more
than one vendor, so the join can bind a row to another vendor's product — and
shopify_product_id is the identity link the rest of the fleet trusts.

Adds a NOT EXISTS guard that skips any dw_sku held by a different vendor_code, so an
ambiguous row stays unlinked and visible rather than silently mis-linked. Mirrored into
the --dry-run count so the preview matches what will actually change.

Honest scale, measured 2026-09-10 — my first number was overstated and this is the
corrected one:
  * rows eligible TODAY (on_shopify not true OR id null): 288, of which 0 are ambiguous
  * latent pool the join reaches ignoring eligibility:    950 ambiguous
So this changes nothing on a run right now (288 -> 288); it is PREVENTIVE. Those 950
become eligible the moment on_shopify is reset or shopify_product_id is cleared, which is
exactly what a re-consolidation does.

Matters because --dry-run is opt-IN: this script APPLIES BY DEFAULT. It is not scheduled
(no launchd plist, no crontab entry), so this is a dormant landmine, not an active fire.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
8fa9801 · 2026-09-10 · TK-11337: promote Dana Point Split Rock residual to per-yard (XZW-511904), reversible executor
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GKGgGfzp7nM28uepd8gfFF
3c85ec7 · 2026-08-31 · Hollywood generator: positive SKU shape-guard at write choke-point (TK-11054)
Replace the narrow /^(DWHW2?|DWHD)-/ reject with a positive allow-list at the
--apply choke-point in hollywood-create.mjs: write ONLY when dw_sku is a valid
original line code (ORIG) and is neither a fabricated DW-vendor code (FABRICATED)
nor a bare Momentum number (BARE_NUMBER). Fail-loud SKIP + SKIP_BAD_SKU_SHAPE
audit line otherwise; never mint, never allocate a new DWHD/DWHW sequential.
Regexes byte-identical to the dw-hollywood-sku-canary detection. assign-sku.mjs
staging minter gets a matching fabricated/bare-number assertion. This is the
^DWHD shape-guard the ~/.dw-fixer-stop fleet freeze required as its lift-condition.

Verified: dry-run flags 2203/2203 uncreated acoustic DWHD-* as would-SKIP;
--apply simulation CREATE=0 SKIP=2203; 14/14 allow/block unit cases (incl.
DWHV/DWYX/DWKK families the old narrow guard missed); canary steady WARN=4089
(no new violations).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
284ab81 · 2026-07-27 · TK-00109 Phase-2 Hollywood canary: fix leak-guard false-positive on internal real_vendor metafield + add 20-SKU wallcovering canary (fresh hw=list*1.448)
Canary caught that hollywood-create.mjs leak-guard scanned the intentional internal
dwc.real_vendor='Momentum' metafield (added 2026-07-15), so --apply would SKIP-LEAK
100% of creates. Surgical fix excludes that one field; genuine leaks still trip
(negative-control verified). Canary: 20 distinct patterns, price $12.60-163.84,
rule 20/20 OK, sample $4.25, 0 customer-facing leaks.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
dc5b6ae · 2026-06-19 · hollywood-create-resume: add kill-switch + variant-budget gate
Was ignoring both the shared ~/.dw-fixer-stop kill-switch and the budget.cjs
ledger. Now checks the kill-switch, takes a grant from the shared 'upload' pool
(== global ~864/day Shopify ceiling minus osborne), and clamps phase-1 creates
via --limit so it can't collectively blow the daily variant cap with the other
DW writers. 0 grant = exit clean. PATH export added for launchd minimal PATH.
1771988 · 2026-06-17 · Innovations: login cracked + 24 priced
- innov-recon.mjs: Innovations trade login (Laravel+recaptchaV3); creds in gitignored .env
- resolved ARP-*→Arpora ($33.95), ILL-*→Illusion ($104.95) via authed search
- priced all 24 hollywood/innovations: list, retail=list×1.448, cost=list×0.90 (10% disc)
- stored trade login in vendor_registry.innovations (Steve-confirmed)
8538f43 · 2026-06-17 · Tri-Kes/Momentum batch 2: price 992 via FileMaker col3→crawl match
- fmp-breakdown.mjs: Hollywood supplier breakdown from fmpro-master.csv (VID→supplier)
- match-momentum-col3.mjs: match FMP mfr_sku(col3 = orig Momentum slug ref) → live crawl
  pattern → 992/1,958 priced (hw=list×1.448), applied to canonical Kamatera
- 966 remain discontinued (cobble_hill/gossamer/etch/front_runner — not on live site)
- supplier-breakdown.json staged for next suppliers (Astek 112, LBI 169, PR 162, Koroseal 127...)
5dd0e74 · 2026-06-17 · Push Group-1 retail prices to 62 live Shopify products
- push-g1-shopify.mjs: resolves each product's 'Sold Per Yard' variant live, sets price=hw
  (list×1.448), never touches the $4.25 Sample variant; dry-run default, --apply to write
- 62/62 updated + confirmed, 0 errors, samples preserved
- token read from canonical secrets-manager/.env (not hardcoded)
a13162a · 2026-06-17 · Momentum (Hollywood) authed crawler + Group-1 price staging
- momentum-crawl.mjs: authed playwright crawl of momentumco.com (recaptcha v3,
  paginate site's own pager); 1,639 live patterns w/ list price + unit
- pattern_slug join (cloudinary slug) → 3,092 Group-1 vendor_catalog updates staged
  (hw_price=round(list*1.448,2)); apply-vendor-catalog.sql ready (RUN ON KAMATERA)
- recon scripts + dry-run report; Group-2 (live $4.25 Shopify catalog) needs Momentum
  price list (not on portal) per Steve
6e3a6a3 · 2026-06-10 · scrubMomentum(): Momentum→Hollywood private-label scrub + verifier (0 leaks / 8,043 rows)
hollywood vendor_code = DW private label for Momentum Textiles & Walls. scrub maps
to PL fields (pl_brand 'Hollywood Wallcoverings' / pl_city_name CA-cities / DWHD sku),
suppresses source-brand leaks (real_vendor=Momentum, installation_pdf momentum URL,
grade_collection 'VERSA …', Versa's Second-Look program), and keeps the momentum
image URL only as a transient push src (Shopify rehosts → cdn.shopify.com).
verify.js: 8,043 momentum/versa-carrying rows scrubbed → 0 surviving leaks.

File tree

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

Other build journals

← Hollywood Body Table Migration  ·  all 4 projects  ·  Hollywood Metafield Migration →

Export

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

rendered in 3ms