Skip to content

feat(wix-headless): hybrid layout — LLM hero + fragment about/nav (CODEAI-696, experiment)#410

Draft
yanivefraim wants to merge 1 commit into
feat/codeai-696-layout-variantsfrom
feat/codeai-696-hybrid-hero
Draft

feat(wix-headless): hybrid layout — LLM hero + fragment about/nav (CODEAI-696, experiment)#410
yanivefraim wants to merge 1 commit into
feat/codeai-696-layout-variantsfrom
feat/codeai-696-hybrid-hero

Conversation

@yanivefraim

@yanivefraim yanivefraim commented Jun 17, 2026

Copy link
Copy Markdown
Member

Experiment: less-deterministic layout (baby step)

Branched off PR #408 (combinatorial fragments). Trades some determinism for non-templated variety on the hero while keeping cheap, reliable fragments for about + nav.

Change

  • compose.mjs — optional heroPath: when set (an LLM-generated hero <section> file) it fills the hero slot; about + nav stay fragment-composed; absent ⇒ falls back to a random hero fragment (deterministic path unchanged). data.layout.hero = "llm-generated".
  • BUILD-astro.md — documents the hybrid step + the hero contract (self-contained <section>; tokens as utilities; one data-decorative-slot="hero"; real copy).

Base = #408 branch, so this PR is just the hybrid delta.

Benchmark — same 5 vibe prompts, baseline (fragment hero) vs hybrid (LLM hero)

Brand tokens base→hybrid Δ hybrid release retries
Ember & Oak 84,614 → 79,943 −4,671 1
Form Studio 86,639 → 79,791 −6,848 3
Honey & Rye 84,737 → 84,945 +208 4
Bloom Bright 81,761 → 83,764 +2,003 1
Maison Noir 83,124 → 80,448 −2,676 3
avg 84,175 → 81,778 −2.8%

Token cost: flat (within noise). The orchestrator is already an LLM authoring copy; generating the hero markup is a negligible increment — two hybrid runs even came in lower.

Wall-clock: hybrid avg ~630s vs baseline ~477s (+32%) — but confounded. Every hybrid run hit 1–4 transient wix release "temporary system error" retries today; the baseline run earlier had clean first-attempt releases. The delta is a Wix platform hiccup, not the hybrid compute (which is ~one extra file write).

Quality: LLM heroes are markedly more distinctive — eyebrow tags, headline emphasis, CTA pairs, stat strips, badges, full-bleed treatments — vs the generic fragment hero (headline + sub + image block).

Live sites (same prompts both ways)

Baseline (fragment hero): ember-oak-5b86f38e · form-studi-cb341e91 · honey-rye-994b0744 · bloom-brig-03bde58a · maison-noi-91793111 (all .wix-site-host.com)
Hybrid (LLM hero): ember-oak-599fd88a · form-studi-cc8a7d39 · honey-rye-9fbe1226 · bloom-brig-1671b121 · maison-noi-3b770e0d (all .wix-site-host.com)

🤖 Generated with Claude Code

…t/nav (CODEAI-696)

Baby step toward less-deterministic layout. Keeps about + nav as random pinned
fragments (PR #408's combinatorial approach), but lets an LLM generate the hero
<section> per site for genuinely non-templated variety on the highest-impact
surface.

- compose.mjs: new optional `heroPath` input. When set (an LLM-generated hero
  <section> file), it fills the hero slot instead of a pinned hero fragment;
  about + nav stay fragment-composed. Absent/missing ⇒ falls back to a random
  hero fragment (the deterministic path is unchanged). Manifest data.layout
  records hero = "llm-generated".
- BUILD-astro.md: documents the hybrid — dispatch a Default-tier hero generator
  between emit-design-tokens and compose, authoring .wix/hero.html, with a hero
  contract (self-contained <section>; compose design tokens as utilities; exactly
  one data-decorative-slot="hero"; real brand-voice copy, no placeholders).

Verified: compose parses; hybrid mode injects the generated hero + keeps
fragment about/nav; fallback mode (no heroPath) still picks a fragment hero.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant