{"slug":"microsite-engine","total":12,"limit":100,"offset":0,"since":null,"commits":[{"hash":"191665d","date":"2026-07-17 10:53:37 -0700","author":"Steve Abrams","subject":"ownedDomains: read newer CNCP entries keyed by 'domain' (not 'name') — +21 domains","body":"Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>"},{"hash":"0c12ece","date":"2026-07-17 10:24:54 -0700","author":"Steve Abrams","subject":"ideas dropdown now carries ALL 267 owned domains in three tiers","body":"- tier 1: niche-matched ideas (domain × catalog tag, product counts, ranked)\n- tier 2: every other owned non-expired domain, alphabetical\n- tier 3: domains already used by the live fleet, labeled\n- picking any domain prefills slug/domain/site name; niche keywords + tagline\n  only prefill when there's a real catalog match\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>"},{"hash":"d37b802","date":"2026-07-17 10:21:20 -0700","author":"Steve Abrams","subject":"fix idea site-name segmentation: DP coverage-max splitter + domain-word vocab","body":"- greedy matcher let the plural variant swallow the next word\n  (hospitalitysalesreps → 'Hospitalitys Alesreps'); replaced with a DP that\n  maximizes recognized-character coverage (tie: fewer words), so\n  hospitality+sales+reps wins over hospitalitys+garbage\n- unmatched runs survive as their own word (goldleaf → 'Gold Leaf Wallpaper')\n- filler vocab learns common domain words (sales/reps/agents/brokers/news/…)\n  and a DISPLAY_FIX maps compound tokens (losangeles → 'Los Angeles')\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>"},{"hash":"3071de6","date":"2026-07-17 10:18:44 -0700","author":"Steve Abrams","subject":"prefilled dropdowns for slug + domain + site ideas (owned CNCP domains × catalog niches)","body":"- /api/facets now ships domains (224 owned, non-expired, not in the live fleet)\n  and ideas (27 owned-domain × catalog-tag pairings with real product counts)\n- slug + domain inputs get datalists from the portfolio; picking an owned\n  domain auto-derives the slug\n- new '💡 start from a site idea' select prefills slug/domain/name/tagline/\n  keywords and refreshes the live preview\n- greedy domain-name segmentation with plural handling; filler words\n  (wallpaper/wallcovering/designer) aid segmentation but never count as a niche\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>"},{"hash":"ad0025e","date":"2026-07-17 10:16:14 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-17T10:16:09 (2 files) — public/index.html server.js","body":""},{"hash":"e01e000","date":"2026-07-17 09:33:50 -0700","author":"Steve","subject":"chore: lint, refactor, v0.2.1 (session close)","body":"- fix: delete-draft now also removes the orphaned <slug>.heroes.json companion\n- refactor: drop dead static <option> (boot() fills #typeAdd); simplify\n  wireTokenDatalist prefix slice (prefix.slice(0,-1))\n- behavior verified unchanged in headless Chrome"},{"hash":"92c9d7e","date":"2026-07-17 09:16:04 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-17T09:16:00 (2 files) — public/index.html server.js","body":""},{"hash":"ed286d5","date":"2026-07-17 09:12:23 -0700","author":"Steve","subject":"microsite-engine: prefilled dropdowns + typed autocomplete on niche fields","body":"- keyword include/exclude inputs get token-aware <datalist> autocomplete,\n  prefilled from the real catalog vocabulary (all tags ∪ product types)\n- product-types field gains a prefilled dropdown alongside the chips\n- all sourced from /api/facets already fetched on boot ($0, no new requests)"},{"hash":"0714e9f","date":"2026-07-17 07:43:54 -0700","author":"Steve","subject":"chore: lint, refactor, harden (path-traversal guard + readBody leak + esc fleetErr), v0.2.0 (session close)","body":""},{"hash":"c509c2b","date":"2026-07-17 07:11:55 -0700","author":"Steve","subject":"microsite-engine: live rotating-hero preview + companion hero-allocation emit (config schema stays pure)","body":""},{"hash":"f2735d8","date":"2026-07-16 20:55:18 -0700","author":"Steve","subject":"microsite-engine: config-generator dashboard driving dw-domain-fleet (live niche preview + schema-exact sites/<slug>.json emit, gated)","body":""},{"hash":"0520612","date":"2026-07-16 20:50:13 -0700","author":"Steve","subject":"initial scaffold (microsite-engine) via web-dev accelerator","body":""}]}