ui-2026-05-12-003proposedtime_seriesscore: 5
target: site/src/app/timeline/page.tsx
current: 19+ chapters on one page; visitor scrolls without knowing how far through they are
proposal: thin sticky progress bar at top showing current chapter index and total, respecting prefers-reduced-motion
rationale: innovation_register.jsonl#inn-008 (scroll-anchored chapter progress) + global accessibility doctrine
ui-2026-05-12-007shippedanyscore: 9
target: site/src/app/layout.tsx + globals.css
current: site is 100% monospace. Every heading, hero, paragraph and label uses the same system mono. Reads like a terminal log; signals 'developer talking to developer', not 'thinking system inviting a visitor in'.
proposal: introduce a typography pair via next/font: humanist sans (Inter) for display + body, editorial serif (Fraunces) for hero + one-liner quotes, keep mono ONLY for IDs, file paths, code, counters. Single biggest perceptual change available.
rationale: presentation_rules.json#prose.prefer + global gap: 'system is supposed to think, not just print'. Anthropic / Linear / Stripe all pair sans+mono.
receipt: site/src/app/layout.tsx — Inter (sans, var --font-sans-google), Fraunces (editorial serif, opsz axis, var --font-editorial-google), JetBrains Mono (mono data, var --font-mono-google) loaded via next/font. globals.css updated: body uses sans by default, .font-editorial utility for hero, mono only on counters / IDs / code.
ui-2026-05-12-008shippedanyscore: 9
target: site/src/app/page.tsx + new components/HeroMark.tsx
current: hero on home page is three text blocks (kicker pill, two-line headline, two paragraphs) with no visual anchor. The α character only appears at 16px in the top-right of the header. A visitor has nothing to look AT.
proposal: build a HeroMark component: a generative SVG of breathing concentric rings around a large α glyph. Subtle motion (4-6s loop, prefers-reduced-motion respected). Becomes the visual signature of the site.
rationale: presentation_rules.json#global_rules.visual_effects.allowed (status pulse for live indicators); single hero anchor is universal across modern AI sites.
receipt: site/src/components/HeroMark.tsx — generative SVG of 3 concentric breathing rings (5.5s / 8s / 11s) around an italic editorial α glyph. Radial gradient glow, dashed thinking ring, cardinal tick marks, top-anchored live pulse dot. Respects prefers-reduced-motion globally. Rendered on home hero at 320px on lg+.
ui-2026-05-12-012shippedanyscore: 9
target: site/src/components/AlefLoop.tsx + AlefWordmark.tsx + page.tsx hero
current: site is a dark dashboard with a decorative breathing-rings mark. Reality check (round 011) scored imagery_presence 2/10, wordmark_iconicity 3/10, first_impression_clarity 4/10 against Anthropic/Linear/Vercel/Cursor.
proposal: replace the decorative HeroMark with AlefLoop — a real diagram of the agent's four-stage cycle (READ → PROPOSE → SHIP → MEASURE), each stage labelled with the live count from snapshot.json, with a cycling active-stage halo. Introduce AlefWordmark — a custom 32px SVG mark that replaces the generic 'α alef' text in the header. Simplify the home hero to one editorial headline + one subhead + two CTAs.
rationale: closes the three biggest gaps surfaced by reality_check.mjs (imagery gap 8, wordmark gap 6, first impression gap 6) in a single coordinated change. The loop diagram is honest product imagery: it IS what the agent does, not decoration.
receipt: site/src/components/AlefLoop.tsx (real four-stage diagram populated from snapshot.json: READ=valueLedger, PROPOSE=uiProposals total, SHIP=wires, MEASURE=lessonsApplied; cycling active-stage halo over 12s) + AlefWordmark.tsx (custom 32px orbit-and-aleph SVG with live pulse, replaces generic α alef text) + page.tsx hero simplified to kicker / headline / subhead / two CTAs.
ui-2026-05-12-009shippedanyscore: 8
target: site/src/app/globals.css
current: @theme exposes 7 colors total: 4 grays (bg/fg/muted/surface) + 3 status (accent/warn/good). No luminance scale, no gradient surfaces, no warm tone for human-scale moments. Everything is the same flat depth.
proposal: expand to a real palette: accent gets 3 shades (dim/mid/glow), surface gets 2 depths (sunken/raised), add a warm tint for hero copy. Use CSS variables so we don't repeat numeric values.
rationale: depth comes from luminance, not animation. A two-tone site reads as logs; a five-tone site reads as a designed space.
receipt: site/src/app/globals.css @theme — palette expanded: --color-alef-sunken / surface / raised (3-step luminance), --color-alef-fg + --color-alef-fg-dim (warm-tinted foreground pair), --color-alef-accent + --color-alef-accent-dim + --color-alef-accent-glow (3 shades), --color-alef-warm (amber human-scale tint). Body bg is now a layered radial-gradient ambient wash.
ui-2026-05-12-001shippedscored_listscore: 7
target: site/src/app/ledger/page.tsx
current: 56 capability cards listed by score; no visual hint of the score distribution
proposal: render an inline SVG histogram (8 buckets, ~120×24px) in the page header showing how many entries sit at each score
rationale: presentation_rules.json#scored_list.prefer — distribution shape with N>20
receipt: site/src/app/ledger/page.tsx ScoreHistogram component — SVG histogram of score distribution across all capabilities, rendered in page header. Colour-coded by score band (>=8 accent, 5-7 good, <5 muted). aria-label localised in 3 languages.
ui-2026-05-12-010shippedcounterscore: 7
target: site/src/app/page.tsx Stat tile
current: Stat tiles are flat dark cards with a 4xl number + label. The cards are visually identical regardless of what they count. No iconography, no weight indicator, no hover differentiation, no contextual texture.
proposal: redesign Stat: gradient surface (sunken→raised on hover), 5xl tabular-numeric number with optical kerning, micro-bar showing this counter's relative weight vs the rest, small icon glyph for category.
rationale: counter without context fails the visitor; depth without animation costs nothing.
receipt: site/src/app/page.tsx Stat — gradient surface (sunken→surface, raised on hover), 5xl editorial-italic number with tabular-nums, category-icon glyph, micro-bar showing this counter's relative weight (0-100% width). Hover transitions the bar colour to accent.
ui-2026-05-12-011shippedanyscore: 7
target: site/src/components/Header.tsx
current: On Hebrew (RTL), the desktop nav wraps to two crammed lines because the language switcher + search + start-here pill all compete for the same row. Visible at >1280px width.
proposal: collapse desktop nav into a single overflow-aware row: hide secondary items behind a 'more' dropdown when width<1400px on RTL. Or move LangSwitcher to footer and reclaim the row.
rationale: audit gap surfaced by manual screenshot review; broken nav is the first impression.
receipt: site/src/components/Header.tsx — desktop nav trimmed to 4 primary links + lab + start-here pill (was 13 + pill). Status indicator moved to xl: breakpoint. Hebrew nav now fits on a single row at lg.
ui-2026-05-12-002shippedstatus_setscore: 6
target: site/src/app/wires/page.tsx
current: wires table requires scanning the status column to grasp the shipped/wired/broken mix
proposal: add a one-line sparkbar above the table: '████████ 18 shipped · 6 wired · 3 broken' (stable colour mapping)
rationale: presentation_rules.json#status_set.prefer — sparkline of status mix in page header
receipt: site/src/app/wires/page.tsx StatusSparkbar — full-width segmented bar over the wires table with five status buckets (shipped, provider-shipped, wired, broken, other), stable colour mapping, trilingual figcaption + aria-label.
ui-2026-05-12-005shippednetworkscore: 6
target: site/src/app/wires/page.tsx
current: 27 wires across 14 projects rendered only as a table; hub projects are invisible
proposal: render a small arc-diagram or radial layout of origin→consumer edges; click an arc to filter the table
rationale: presentation_rules.json#network.prefer + global tally pages_with_visuals=0
receipt: site/src/app/wires/page.tsx WiresArcDiagram — inline SVG arc-diagram of every wire's origin→consumer edge. Nodes laid out linearly with rotated labels; arc colour reflects status (good/accent/warn/muted). Horizontally scrollable on narrow viewports, trilingual figcaption + aria-label.
ui-2026-05-12-006shippedanyscore: 6
target: site/src/app/globals.css
current: no global @media (prefers-reduced-motion: reduce) rule
proposal: add a global rule that disables transitions/animations under prefers-reduced-motion; doctrine before any animation lands
rationale: innovation_register.jsonl#inn-013 — accessibility pre-doctrine
receipt: site/src/app/globals.css — @media (prefers-reduced-motion: reduce) block added in this round
ui-2026-05-12-004shippedcounterscore: 5
target: site/src/app/page.tsx
current: home stats are absolute numbers (56 capabilities, 27 wires, etc.) — no signal of motion
proposal: store previous snapshot counts in a separate file and render '+3 since YYYY-MM-DD' under each stat in muted text
rationale: presentation_rules.json#counter.prefer — delta vs last snapshot
receipt: site/src/app/page.tsx Stat delta prop + scripts/build-snapshot.mjs previous_counts.json infrastructure. Each Stat tile now shows '+N since YYYY-MM-DD' under the count when previousCounts is present and changed. Trilingual prefix.