Broken Embed Blocks QA: Edge Cases & Known Failures
Internal QA page: empty states, wrong placement, deprecated layouts, and display-matrix warnings so editors can see what breaks on the live site.

QA overview
This page intentionally uses embed configurations that are broken, empty, or misleading. Each section explains what should happen vs what you are likely seeing. Compare with the working showcase at slug `embed-blocks-showcase-may-2026`.
Cannot publish via normal validate: `list`+`standard`, `row`+`text`, `row`+`hero`, `insert_after_h2`, `tabs[].source: cruise` — those are rejected at validate/resolve and documented here in prose only.
V1-style wrong placement
Expected: `picked_rail` after this H2 (like news playbook).
Actual bug pattern: block anchored at `intro` or `end` while JSON still used v1 `insert_after_h2` — embeds cluster at top/bottom. Below: picked rail at intro (wrong) and callout at end (wrong).
Empty inventory — hide
inventory_stat with impossible `region: antarctica` and `empty_state.behavior: hide`. Default for inventory_stat is hide — you should see nothing below (blank gap).
Empty warehouse — fallback CTA
cruise_rail with antarctica filters should show fallback CTA message, not cards.
Empty spotlight — hide
deal_spotlight with antarctica filters — default empty behavior is hide. Section should look empty (no hero card, no CTA).
Display warning: grid + text
Spec §6.5 marks `grid` + `text` as ⚠️ warn — cards may look odd in a grid.
Display warning: grid + hero on cruise_rail
`hero` card variant on a grid cruise_rail (warn) — not the same as deal_spotlight hero block.
Display warning: stack + standard
`stack` + `standard` is ⚠️ — vertical stack of full standard cards.
Display warning: list + badge on picked
`list` + `badge` on picked_rail is ⚠️ — acceptable but can feel like oversized list.
Stat card fallback
picked_rail with `card_variant: stat` — until Phase 3 UI ships, renderer may fall back to badge styling.
Research section (internal)
picked_rail with `section: weak_historic_lows` — validate warns; not meant for public pages.
Callout with markdown body
Callout below uses markdown in `body` (v2 expects HTML) — may render raw `bold` or look unstyled.
News stack misplaced at end
Playbook: callout after lead → picked after traveler-impact → CTA at end. Below: all three stacked at end (Virgin Voyages–style bug).
Tabbed block — one empty tab
deal_tabs with one empty antarctica tab + one live Caribbean tab — empty tab should fallback or drop.
FAQ
Duplicate risk: this H2 is "FAQ" while an faq embed also sits at end.
Rejected configs (not on page)
These fail `validate` / `resolve` and cannot be published without code changes:
- `cruise_rail` + `list` + `standard` (full-width stack bug)
- `picked_rail` + `row` + `text` or `hero` (broken horizontal scroll)
- `insert_after_h2` (v1 retired)
- `placement.anchor: heading:nonexistent`
- `tabs[].source: cruise` (use `warehouse`)
Delete slug `embed-blocks-broken-showcase-may-2026` when done.












