Current behaviour
The "Posts" nav item's dropdown machinery (caret button, aria-haspopup="menu", the role="menu" panel, --popover tint/positioning) never renders on a production build. Its only child (Drafts) is devOnly: true in src/data/topnavigation.json, and Header.astro's filter (value.children?.filter((child) => import.meta.env.DEV || !child.devOnly)) strips it out in production, so subItems.length becomes 0 and NavItem.astro's hasSubItems is always false for real visitors.
Why it matters
DESIGN.md documents an entire "Sticky Header & Popover Chrome" contract for this dropdown (positioning, --popover dark-mode tint, hover/focus handling), but none of it currently reaches a real visitor — it's dev-only dead weight in production, and a future contributor may assume it's broken rather than intentionally dormant.
Suggested fix
Either give "Posts" a real production-visible child (recent posts, category/archive shortcuts) so the documented dropdown UI earns its keep, or explicitly document that it's intentionally dormant in production so it isn't mistaken for a bug later.
Source
Found during a design critique of src/components/layout/header/Header.astro (/impeccable critique), confirmed via topnavigation.json + Header.astro's dev-only filter logic. Persisted critique snapshot: .impeccable/critique/2026-08-10T15-06-59Z__src-components-layout-header-header-astro.md.
Current behaviour
The "Posts" nav item's dropdown machinery (caret button,
aria-haspopup="menu", therole="menu"panel,--popovertint/positioning) never renders on a production build. Its only child (Drafts) isdevOnly: trueinsrc/data/topnavigation.json, andHeader.astro's filter (value.children?.filter((child) => import.meta.env.DEV || !child.devOnly)) strips it out in production, sosubItems.lengthbecomes 0 andNavItem.astro'shasSubItemsis alwaysfalsefor real visitors.Why it matters
DESIGN.md documents an entire "Sticky Header & Popover Chrome" contract for this dropdown (positioning,
--popoverdark-mode tint, hover/focus handling), but none of it currently reaches a real visitor — it's dev-only dead weight in production, and a future contributor may assume it's broken rather than intentionally dormant.Suggested fix
Either give "Posts" a real production-visible child (recent posts, category/archive shortcuts) so the documented dropdown UI earns its keep, or explicitly document that it's intentionally dormant in production so it isn't mistaken for a bug later.
Source
Found during a design critique of
src/components/layout/header/Header.astro(/impeccable critique), confirmed viatopnavigation.json+Header.astro's dev-only filter logic. Persisted critique snapshot:.impeccable/critique/2026-08-10T15-06-59Z__src-components-layout-header-header-astro.md.