Will's Selection Screen β Mockup
Visual reference for the editorial picking surface (Stages 1β2 of the redesigned pipeline). Interactive β try clicking cards.
What this mockup shows
Picking mechanics
- 5-column logic-puzzle layout β every day's candidates visible at once. Will doesn't navigate between days; he sees the whole week's constraint map in one view.
- Pick / Strike / Unpick β click "Pick" to select a candidate for that day, "Strike" to set one aside (sinks to bottom, "Unstrike" to restore), "Unpick" to release a pick. The toolbar's "Review picks" button enables when all 5 days have a pick.
- Card ordering within each day β picked or forced cards promote to the top of their column and stay there. If unpicked, the promoted card stays at top until a different card on that day is picked. Below promoted: new candidates first, then reruns by ascending rerun count, struck cards at the bottom (darker gray bg + strikethrough).
- Rerun candidates color-coded by prior-rerun count β white (0 prior), yellow (1), orange (2), red (3+). Visual warnings, not hard blocks; Will retains discretion.
- Forced-rerun days β days with no new candidates available. Header shows yellow "Forced rerun" indicator (Wed May 20 in this mock).
- Rerun budget indicator β defaults to 3, editable. Live count next to picks total ("
3 / 5 picked (3R)"). When either budget is reached, remaining cards of that kind gray out with "Rerun/New budget reached".
- Autopick brute-forces the best combination for unpicked days, scoring: geo distinct (Γ4) + era distinct (Γ4) + subject distinct (Γ1) + rerun quality (Γ2) + production-year diversity (Γ3) β Year 1 penalty (Γ1). Respects existing picks; only fills unpicked days.
- Forced picks auto-resolve β when budget or availability constrain a day to one viable candidate, the system auto-selects it. Forced cards show in cyan with a "Forced" label and Strike-only action. Detection cascades.
Sidebar context
- Variety bars β geographic and era distribution across the week, updating as picks are made.
- Same-production-year warning β sidebar fires when 2+ picked reruns share their production year (earliest prior airing). Format:
2024: Mon Β· Thu.
- Recent weeks panel β past 3 weeks' new/rerun patterns so Will can balance against what just aired.
- Listener-suggested topics get a "β₯ listener" badge.
- Synopsis on card, description on demand. Schema requires both
synopsis (LLM-generated, ~50β100 chars, always present) and description (human/agent-authored, NOT NULL). "βΎ More" toggle appears when description is meaningfully longer than synopsis; hides when essentially equal. Three cards deliberately match β Lincoln nominated (c4), Homestead Act (c11), Windows 3.0 (c17).
Catalog adjacency & redundancy detection
- Two-tier group model.
event_groups have a kind that controls behavior:
event / entity β narrow, specific (a single SCOTUS case, a single battle, a single named person+event). These FIRE conflicts in both within-week banners and the post-picks review modal.
theme β broad subject (Civil Rights, Aviation, Tudor England, Lincoln-the-person). Themes are INFORMATIONAL ONLY β visible in "π N related aired" but never trigger flags. Avoids crying wolf on every Civil Rights or Aviation episode.
- "π N related aired" on cards β shows on every card whose event belongs to any group (themes included). Click to expand an inline panel listing related airings grouped by group, each release a clickable script link. Distinct from prior airings (which are the same event re-aired); "related" are different events that share a group.
- Within-week similarity banner β when you pick a card, other unpicked cards sharing an event/entity-kind group get a yellow dashed border and a "β Similar to Mon's pick via <group>" warning. Pure UI signal, no DB write. With the tight current data (each event-kind group has only one in-week candidate), within-week banners rarely fire β most conflicts surface in the post-picks modal instead.
- "Review picks" β forced-choice modal. Clicking "Review picks" opens a modal listing every pool suggestion (from
OTHER_SUGGESTIONS) that shares an event/entity-kind group with one or more of your picks. Each row stacks three sections vertically: green β‘ Your pick (with kind, year, historical date, prior-script link if rerun) β yellow π₯ Suggestion in bank (with the relation reason and historical date). Decide each: π« Block this suggestion (sets do_not_select=1) or β Mark OK (clears the flag, suggestion stays active). After acting, the row tints + shows status with a βΆ Undo button. Bulk "Block all" / "Mark all OK" in the footer. Forced choice: the "Post picks" button is disabled until every row is resolved (progress shown in footer: "N of M resolved"). No async queue; decisions are made while context is fresh.
- True redundancies in test data β three pool suggestions are genuine duplicates of in-week candidates: Lindbergh lands in Paris (s9, same flight as c10), Henry VIII orders Anne Boleyn's execution (s10, same fall as c5), and Homer Plessy's underlying conviction (s11, same case as c3). Pick c10, c5, or c3 and the matching suggestion fires in the modal. The other 8 pool suggestions only share themes with picks, so they don't surface β demonstrating the noise-reduction.
- Strongest-link reason picking β when two events share multiple groups, the relation surfaces the strongest single reason:
event > entity > llm-cluster > theme. Other shared groups are reachable via the "π related aired" panel.
- Script links β the script is the source of truth for vetting. (1) Related-aired items link directly to that release's script. (2) The most-recent year on a rerun card's "Aired β¦" line links to that prior airing's script. (3) The within-week conflict banner links "Mon's pick" to the picked card's most-recent prior script (when rerun); the group label links to the most-recent aired episode in that group. (4) The review modal pick card includes the prior-script link inline. Mock URLs are placeholder Drive doc paths (
HDLY-{yymmdd}) β production wires the real release_id β script Doc ID.
- Right-click "Mark superseded" for related-topic cleanup not implemented in this static mock.
New topic
Rerun β 0 prior reruns
Rerun β 1 prior
Rerun β 2 prior
Rerun β 3+ prior (warning)
Picked
Forced