Algolia-Central (Second-Brain)

v2/wiki/decisions/2026-06-18-ux-and-judge-design.md

ADR: Lab UX + Judge panel design

Date: 2026-06-18 Status: Accepted (layout & lean judge panel) · Proposed/pending-confirm (grounding weight ×1)

Context

The experience design must be finalized before writing the build plan. Worked through it interactively with Arijit. Full mockups + spec: repo docs/refactor/ux-design-v1.md.

Decision

Layout (canonical)

  • 2×2 panel grid doubles as the scoreboard (no separate matrix-on-top). Rows = retrieval (Keyword top, Neural bottom); cols = architecture (Single left, Multi right). Each panel header carries its own composite score + time; score+time sandwich the grid (keyword bars top, neural bars bottom). Row labels run vertically on the left.
  • Panel numbering (row-major): P1 single+keyword · P2 multi+keyword · P3 single+neural · P4 multi+neural (bottom-right = full power).
  • Source pills: a dynamic row at the bottom of each panel — one pill per source the answer actually used (count varies; not fixed). Click → open/preview source.
  • Judge = slide-in drawer from the right, triggered by clicking a panel's score; shows THAT panel's verdict; pinnable + foldable. Same drawer for all four.

Judge panel content — LEAN (progressive disclosure)

Rule: a block is always visible only if valuable on EVERY answer; contextual → conditional/expander; redundant-with-panel → cut. - Always visible (3): ① Composite + plain verdict + grounding status badge · ②③ Dimensions (Grounding, Confidence, Breadth/Depth — bar + number; rationale on hover) · ⑥ Comparison (the deltas: multi-lift, neural-lift, compound — relative to the opened panel). - Conditional: grounding flagged-claim cards appear only when there's a violation (badge flips ✅→🚫 and expands). - Cut/merge: standalone Sources block (pills already on the panel); keep claim→source mapping inside grounding/“how it answered”. - Expanders: ⑦ How it answered (Maverick trace + real config diff) · ⑧ Per-judge detail (the 3 judges).

Scoring

  • 3 dimensions: Grounding, Confidence, Breadth/Depth.
  • Blind judge, scored vs each panel's own retrieved sources (fair + credible). → adopt.
  • Grounding = hard GATE, weight ×1 (NOT ×2) [RECOMMENDED, pending Arijit confirm]. Rationale: grounding is a floor every panel passes (110% grounded enforced), so ×2 compresses the composite and mutes the breadth/confidence gap that is the experiment's signal. Composite driven by the differentiators (confidence + breadth/depth); grounding gates hallucination + shown for transparency. Differs from existing lab/judge ×2 → reconcile at build.
  • Two-tier judging = tied to judge count:
  • LIVE = 1 judge, fast model (flash), thin sources → indicative (must self-label). Fast (~20s) for the interactive demo.
  • BATCH = 3 judges, strong model (pro), full sources, supermajority grounding gate (claim unsupported only if ≥2/3 agree) → authoritative (the official 2×2 scorecard).
  • Two-layer judging: each judge scores all dims (layer 1) → synthesize mean + supermajority (layer 2). Per-judge layer surfaces only in the batch view's "Per-judge detail" expander.

Rationale

Progressive disclosure keeps the default demo-grade while depth is one click away. Grounding ×1 avoids muting the signal we're trying to prove. The 1-vs-3 judge split reconciles demo speed with proof rigor.

Consequences

  • Build the score-click → pinnable/foldable judge drawer.
  • Reconcile grounding weight with existing lab/judge (currently ×2).
  • Question set (recreate) must contain items where neural/multi differentiate, else composite shows "no difference".
  • Remaining design piece: the Scorecard view (batch aggregate drill-down from 2×2 to per-question).