Correction Interview Protocol β€” Gamepad UI Design

Status: DESIGN β€” Ready for implementation review
Agent: PERISCOPE
Timestamp: 2026-05-11T00:00:00Z
Target: RG40XXV (640Γ—480), D-pad + A/B/X/Y
Context: Turn-based strategy game β€” AI units traverse hex nodes, produce output. Player corrects misdirected output without keyboard.


1. Screen Real Estate Analysis (640Γ—480)

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β”‚ 20px  TOP BAR (node name, step X/3)
β”‚β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β”‚       "NODE: Alpha-7  β—†  CORRECTION: Step 1/3"
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                  β”‚
β”‚   QUESTION TEXT AREA                         80pxβ”‚  Question text (1-3 lines, bold)
β”‚   "What type of problem is this?"               β”‚
β”‚                                                  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                  β”‚
β”‚  β–Ά [1] Output is inaccurate                 48pxβ”‚  Option rows (48px each)
β”‚    [2] Scope is wrong                       48pxβ”‚  Max 5 visible at once
β”‚    [3] Depth is wrong                       48pxβ”‚  Scroll beyond 5
β”‚    [4] Direction is wrong                   48pxβ”‚
β”‚  β–ˆ [5] Format is wrong                     48pxβ”‚  β–ˆ = highlight bar (cursor)
β”‚                                                  β”‚
β”‚  [6] Missing context                            β”‚  Hidden (scroll down)
β”‚  [7] Not sure β€” show me more                    β”‚  Hidden (scroll down)
β”‚                                                  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β”‚ 24px  BOTTOM BAR
β”‚β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β”‚       A:Select  B:Back  X:Skip  Y:Explain
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

PRECISE LAYOUT MATH:
────────────────────
  Screen:        640 Γ— 480
  Top bar:        20px
  Bottom bar:     24px
  ─────────────────────
  Usable:        436px vertical
  Question area:  80px
  ─────────────────────
  Option zone:   356px
  Option height:  48px each
  Visible slots:   5  (240px used of 356px)
  Padding above:  20px
  Padding below:  96px (partial-row tease for scroll affordance)

2. Button Map

Button Context Action
A On option Select β€” lock choice, advance to next question
A On exit confirmation Commit correction β€” compile and write to node
B Any question Back β€” return to previous question
B First question Cancel interview β€” return to game
X Any question Skip / N/A β€” mark question as "not applicable," advance
Y Any question Explain more β€” unit dumps reasoning for current step
Y On reasoning screen Return to question
D-pad Up/Down Always Move highlight bar through options (wrap-around or clamped)
D-pad Left/Right Multi-column layouts Jump between columns
Select Anywhere Help overlay (shows this button map)
Start Anywhere Quick-abort (discard interview, return to game)

3. Branching Interview Trees β€” All 6 Scenarios

3.0 ROOT β€” Question 1: Categorize the Problem

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“ NEW CORRECTION β€” STEP 1/3 β–“β–“β–“β–“β–“β–“β–“β–“β–“β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                  β”‚
β”‚  What's wrong with this node's output?           β”‚
β”‚                                                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚  β”‚ β–Ά Output is inaccurate                       β”‚β”‚ β†’ 3.1
β”‚  β”‚   Scope is wrong                             β”‚β”‚ β†’ 3.2
β”‚  β”‚   Depth is wrong                             β”‚β”‚ β†’ 3.3
β”‚  β”‚   Direction is wrong                         β”‚β”‚ β†’ 3.4
β”‚  β”‚   Format is wrong                            β”‚β”‚ β†’ 3.5
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
β”‚  β”‚   Missing context                            β”‚β”‚ β†’ 3.6  (scroll)
β”‚  β”‚   Not sure β€” show me more                    β”‚β”‚ β†’ 3.7  (escape hatch)
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“ A:Pick  B:Cancel  Y:Explain β–“β–“β–“β–“β–“β–“β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

3.1 BRANCH: Output is Inaccurate

Q2 β€” Pinpoint the inaccuracy type:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“ INACCURACY β€” STEP 2/3 β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  What kind of inaccuracy?                        β”‚
β”‚                                                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚  β”‚ β–Ά Factual error β€” wrong data, dates, names   β”‚β”‚
β”‚  β”‚   Source misuse β€” misquoted or misattributed β”‚β”‚
β”‚  β”‚   Calculation error β€” numbers don't add up   β”‚β”‚
β”‚  β”‚   Contradiction β€” output conflicts with      β”‚β”‚
β”‚  β”‚     established game-state knowledge          β”‚β”‚
β”‚  β”‚   Hallucination β€” fabricated entities/events β”‚β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“ A:Pick  B:Back  X:Skip  Y:Why? β–“β–“β–“β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Q3 β€” Correction direction:

Q2 Choice Q3 Presets
Factual error "Re-check source X" / "Verify against game-state log" / "Cross-reference with other nodes"
Source misuse "Re-read source Y carefully" / "Use a primary source instead" / "Attribute quote to correct author"
Calculation error "Show your math step-by-step" / "Double-check inputs" / "Use different formula"
Contradiction "Reconcile with known fact Z" / "Flag the contradiction for review" / "Assume game-state overrides"
Hallucination "Only use entities from the game log" / "Mark all unverified claims" / "Stick to what's known"

Q3 screen example:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“ INACCURACY β€” STEP 3/3 β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  You said: "Source misuse"                       β”‚
β”‚                                                  β”‚
β”‚  What should the unit do?                        β”‚
β”‚                                                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚  β”‚ β–Ά Re-read source Y carefully                 β”‚β”‚
β”‚  β”‚   Use a primary source instead               β”‚β”‚
β”‚  β”‚   Attribute quote to correct author          β”‚β”‚
β”‚  β”‚   [Write custom direction...]                β”‚β”‚ β†’ start text-input fallback
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“ A:Commit  B:Back  X:Skip  Y:Why? β–“β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

3.2 BRANCH: Scope is Wrong

Q2 β€” Scope direction:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“ SCOPE β€” STEP 2/3 β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  How is the scope wrong?                         β”‚
β”‚                                                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚  β”‚ β–Ά Too broad β€” covers too much, unfocused     β”‚β”‚
β”‚  β”‚   Too narrow β€” misses relevant areas         β”‚β”‚
β”‚  β”‚   Wrong focus β€” right breadth, wrong center  β”‚β”‚
β”‚  β”‚   Missing boundary β€” should include/exclude  β”‚β”‚
β”‚  β”‚     specific regions/nodes                   β”‚β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“ A:Pick  B:Back  X:Skip  Y:Why? β–“β–“β–“β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Q3 β€” Correction direction:

Q2 Choice Q3 Presets
Too broad "Narrow to node's immediate hex cluster" / "Focus on one faction only" / "Limit to current turn's events"
Too narrow "Expand to neighboring sectors" / "Include allied-node outputs" / "Consider full faction context"
Wrong focus "Refocus on {selected node/region}" / "Center on the conflict zone" / "Prioritize resource nodes"
Missing boundary "Include sector A" / "Exclude sector B" / "Set radius to N hexes"

3.3 BRANCH: Depth is Wrong

Q2 β€” Depth direction:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“ DEPTH β€” STEP 2/3 β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  How is the depth wrong?                         β”‚
β”‚                                                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚  β”‚ β–Ά Too shallow β€” surface-level, no analysis   β”‚β”‚
β”‚  β”‚   Too deep β€” overanalyzing minor details     β”‚β”‚
β”‚  β”‚   Key points missing β€” right depth but       β”‚β”‚
β”‚  β”‚     skipped crucial elements                 β”‚β”‚
β”‚  β”‚   Uneven β€” deep on wrong parts, shallow on   β”‚β”‚
β”‚  β”‚     important parts                          β”‚β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“ A:Pick  B:Back  X:Skip  Y:Why? β–“β–“β–“β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Q3 β€” Correction direction:

Q2 Choice Q3 Presets
Too shallow "Add strategic implications" / "Include second-order effects" / "Detail the 'why' not just 'what'"
Too deep "Summarize β€” one sentence per finding" / "Cut sub-points below level 2" / "Focus on actionable outcomes"
Key points missing "Address {highlighted section}" / "Don't skip the resource trade-off" / "Cover the diplomatic angle"
Uneven "Balance section weights β€” all equal priority" / "Shrink section A, expand section B" / "Use template distribution"

3.4 BRANCH: Direction is Wrong

Q2 β€” Direction type:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“ DIRECTION β€” STEP 2/3 β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  What's wrong with the direction?                β”‚
β”‚                                                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚  β”‚ β–Ά Wrong conclusion β€” facts are fine,         β”‚β”‚
β”‚  β”‚     logical leap is broken                   β”‚β”‚
β”‚  β”‚   Wrong recommendation β€” suggests action     β”‚β”‚
β”‚  β”‚     that doesn't follow from facts           β”‚β”‚
β”‚  β”‚   Wrong framing β€” correct facts, incorrect   β”‚β”‚
β”‚  β”‚     narrative or lens-to-view-through        β”‚β”‚
β”‚  β”‚   Missed alternative β€” there's a better      β”‚β”‚
β”‚  β”‚     interpretation not considered            β”‚β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“ A:Pick  B:Back  X:Skip  Y:Why? β–“β–“β–“β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Q3 β€” Correction direction:

Q2 Choice Q3 Presets
Wrong conclusion "Re-evaluate from premise P" / "Consider the opposite conclusion" / "Weaken confidence β€” this is uncertain"
Wrong recommendation "Recommend {opposite action}" / "Recommend 'wait and observe'" / "Recommend a defensive stance instead"
Wrong framing "Reframe as {economic/defensive/exploratory}" / "Consider the opponent's perspective" / "View through {faction}'s goals"
Missed alternative "Consider strategy X instead" / "What if we do nothing?" / "Evaluate the third path: diplomacy"

3.5 BRANCH: Format is Wrong

Q2 β€” Format issue:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“ FORMAT β€” STEP 2/3 β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  What's wrong with the format?                   β”‚
β”‚                                                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚  β”‚ β–Ά Wrong structure β€” should be bullet/brief/  β”‚β”‚
β”‚  β”‚     report/table but isn't                   β”‚β”‚
β”‚  β”‚   Section order wrong β€” right content,       β”‚β”‚
β”‚  β”‚     wrong sequence                           β”‚β”‚
β”‚  β”‚   Too verbose β€” needs trimming               β”‚β”‚
β”‚  β”‚   Too terse β€” needs expansion with details   β”‚β”‚
β”‚  β”‚   Wrong output type β€” should be a plan,      β”‚β”‚
β”‚  β”‚     got an analysis (or vice versa)          β”‚β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“ A:Pick  B:Back  X:Skip  Y:Why? β–“β–“β–“β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Q3 β€” Correction direction:

Q2 Choice Q3 Presets
Wrong structure "Restructure as bullet-point list" / "Use table format" / "Follow the standard report template" / "Output as executive summary"
Section order wrong "Move {section} to top" / "Group by {theme/faction}" / "Chronological order instead"
Too verbose "One sentence per bullet" / "Cut to 3 key points" / "Remove all adjectives and qualifiers"
Too terse "Add one example per point" / "Expand each bullet to a paragraph" / "Include supporting evidence"
Wrong output type "Reformat as a battle plan" / "Reformat as a diplomatic report" / "Reformat as an economic summary" / "Reformat as a threat assessment"

3.6 BRANCH: Missing Context

Q2 β€” Identify unused context:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“ MISSING CONTEXT β€” STEP 2/3 β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  What context did the unit ignore?               β”‚
β”‚                                                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚  β”‚ β–Ά Adjacent node outputs β€” neighbors already  β”‚β”‚
β”‚  β”‚     discovered relevant info                 β”‚β”‚
β”‚  β”‚   Faction intelligence β€” known enemy         β”‚β”‚
β”‚  β”‚     positions, capabilities, intentions      β”‚β”‚
β”‚  β”‚   Terrain/hex data β€” resource nodes,         β”‚β”‚
β”‚  β”‚     chokepoints, movement costs              β”‚β”‚
β”‚  β”‚   Turn history β€” what happened in prior      β”‚β”‚
β”‚  β”‚     turns that's still relevant              β”‚β”‚
β”‚  β”‚   Player directives β€” standing orders,       β”‚β”‚
β”‚  β”‚     strategic priorities set previously      β”‚β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“ A:Pick  B:Back  X:Skip  Y:Why? β–“β–“β–“β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Q3 β€” Correction direction:

Q2 Choice Q3 Presets
Adjacent node outputs "Incorporate {node-name}'s last report" / "Check nodes within N hex radius" / "Sync with allied cluster"
Faction intelligence "Use known {faction} positions" / "Factor in enemy fleet sightings" / "Consider {faction} declared intentions"
Terrain/hex data "Account for terrain modifiers" / "Include resource node analysis" / "Map movement corridors"
Turn history "Review turn {N} events" / "Consider the trend over last 3 turns" / "Check for unresolved prior incidents"
Player directives "Align with standing order: {directive}" / "Prioritize per player's strategic goal" / "Check mission parameters"

3.7 ESCAPE HATCH: "Not Sure β€” Show Me More"

Triggered when player selects "Not sure β€” show me more" from Q1, or presses Y at any question.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“ EXPLAINING β€” NODE ALPHA-7 β–“β–“β–“β–“β–“β–“β–“β–“β–“β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  The unit explains its reasoning:                β”‚
β”‚                                                  β”‚
β”‚  "I analyzed hex cluster [A3..C5] and found      β”‚
β”‚   enemy presence at B4. Based on terrain β€”       β”‚
β”‚   mountain pass at C3 β€” I concluded that the     β”‚
β”‚   enemy will advance through the pass. My        β”‚
β”‚   recommendation to fortify A3 assumes the       β”‚
β”‚   pass is the only route. I used source:         β”‚
β”‚   Scout report T+3, Terrain map (static).        β”‚
β”‚   I did NOT consider: sea route at D2 or         β”‚
β”‚   the allied fleet position at E1."              β”‚
β”‚                                                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚  β”‚ β–Ά [Continue correction interview]            β”‚β”‚
β”‚  β”‚   [Pivot: "You missed the sea route"]        β”‚β”‚ β€” shortcut into 3.6 branch
β”‚  β”‚   [Pivot: "Your conclusion is wrong"]        β”‚β”‚ β€” shortcut into 3.4 branch
β”‚  β”‚   [Pivot: "That terrain data is stale"]      β”‚β”‚ β€” shortcut into 3.1 branch
β”‚  β”‚   [Write custom feedback...]                  β”‚β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“ A:Pick  B:Back  Y:More detail β–“β–“β–“β–“β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Escalation ladder for Y (Explain more):

Y press 1 β†’ Unit explains top-level reasoning (sources, constraints, logic chain)  [shown above]
Y press 2 β†’ Unit shows what it considered AND rejected, with reasons
Y press 3 β†’ Unit shows the raw hex-state data it operated on (full dump)
Y press 4 β†’ Cycles back to level 1

At any escalation level, the player can select a pivot shortcut to jump directly into the relevant correction branch.


4. Exit: Compiling the Correction

After Q3 selection (or skip), the player sees:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“ REVIEW β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Correction for Node: ALPHA-7                    β”‚
β”‚                                                  β”‚
β”‚  Problem:   Format is wrong                      β”‚
β”‚  Specific:  Wrong output type                    β”‚
β”‚  Direction: Reformat as a threat assessment      β”‚
β”‚                                                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚  β”‚ β–Ά Commit this correction                     β”‚β”‚
β”‚  β”‚   Edit and recommit                          β”‚β”‚ β†’ restart interview
β”‚  β”‚   Discard and cancel                         β”‚β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“ A:Commit  B:Back  Start:Discard β–“β–“β–“β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

On commit, the following is written to node_player_prompts:

{
  "node_id": "alpha-7",
  "timestamp": "T+12",
  "correction": {
    "category": "format",
    "subcategory": "wrong_output_type",
    "direction": "Reformat as a threat assessment β€” prioritize enemy capabilities over economic summary.",
    "origin": "player_correction_interview"
  },
  "interview_path": ["format", "wrong_output_type", "reformat_threat_assessment"]
}

5. Full Interaction Flow Diagram

GAME MAP
   β”‚
   β”‚ Player selects node β†’ opens radial menu β†’ "Correct Output"
   β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     B (cancel)     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Q1: TYPE?   │──────────────────▢│  GAME MAP  β”‚
β”‚  (6 options  β”‚                   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚  + escape    β”‚
β”‚   hatch)     │── Y ──▢ EXPLAIN (3 levels deep)
β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜             β”‚
       β”‚ A (select)          β”‚ Player can pivot from explain
       β–Ό                     β”‚ into any branch via shortcuts
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”             β”‚
β”‚  Q2: SPECIFY β”‚β—€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚  (3-5 opts,  β”‚
β”‚   branch-    │── X ──▢ skip Q2 (N/A), advance with null subcategory
β”‚   dependent) β”‚
β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
       β”‚ A
       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Q3: DIRECT  β”‚
β”‚  (3-6 presets│── X ──▢ skip Q3 (N/A), advance with null direction
β”‚   per Q2     β”‚
β”‚   choice)    β”‚
β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
       β”‚ A
       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  REVIEW      │── B ──▢ Back to Q3
β”‚  COMMIT      │── Start ──▢ Discard, return to map
β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
       β”‚ A (commit)
       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  WRITE TO    β”‚
β”‚  node_player_β”‚
β”‚  prompts     β”‚
β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
       β”‚
       β–Ό
  GAME MAP (node re-processes with correction)

6. Scroll Behavior Specification

β”Œβ”€ VISIBLE WINDOW (5 items) ──────────────────────┐
β”‚                                                  β”‚
β”‚  β–Ά [1] First visible option                     β”‚  ← highlight
β”‚    [2] Second                                   β”‚
β”‚    [3] Third                                    β”‚
β”‚    [4] Fourth                                   β”‚
β”‚    [5] Fifth (partial reveal of [6] as cue)     β”‚  ← scroll affordance
β”‚  β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘ β”‚  ← fade/scrollbar
│──────────────────────────────────────────────────│
β”‚  SCROLLED DOWN:                                  β”‚
β”‚                                                  β”‚
β”‚  β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘ β”‚  ← fade/scrollbar
β”‚  β–Ά [5] Fifth (now at top)                       β”‚  ← highlight
β”‚    [6] Sixth                                    β”‚
β”‚    [7] Seventh                                  β”‚
β”‚                                                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

RULES:
β€’ D-pad Down at last visible option: scroll one row down (new top becomes visible item 2)
β€’ D-pad Up at first visible option: scroll one row up (new bottom becomes visible item N-1)
β€’ Highlight stays at current index regardless of scroll position
β€’ Wrap-around: OFF (clamped at first/last option). This prevents disorientation.
β€’ Scrollbar: 4px right edge, proportional thumb, visible only when scrolling
β€’ 5th row always shows partial clipping of 6th option when more exist (scroll affordance)

7. State Machine for the Entire Interview

States:
  IDLE           β†’ Not interviewing
  Q1_CATEGORY    β†’ Choosing problem type (7 options: 6 categories + escape hatch)
  Q2_SPECIFY     β†’ Narrowing within chosen branch (3-5 options)
  Q3_DIRECT      β†’ Selecting correction direction (3-6 presets per Q2)
  EXPLAIN_L1     β†’ Unit reasoning, level 1
  EXPLAIN_L2     β†’ Unit reasoning, level 2 (rejected alternatives)
  EXPLAIN_L3     β†’ Unit reasoning, level 3 (raw hex-state dump)
  REVIEW         β†’ Confirmation before commit
  COMMIT         β†’ Writing to node_player_prompts (transient, auto-advances)

Transitions:
  IDLE β†’ Q1_CATEGORY        [player opens correction on node]
  Q1_CATEGORY β†’ Q2_SPECIFY  [A on category option]
  Q1_CATEGORY β†’ EXPLAIN_L1  [A on "Not sure" OR Y press]
  Q1_CATEGORY β†’ IDLE        [B press]
  Q2_SPECIFY β†’ Q3_DIRECT    [A on specify option]
  Q2_SPECIFY β†’ Q1_CATEGORY  [B press]
  Q2_SPECIFY β†’ REVIEW       [X press β€” skip Q3, null direction]
  Q3_DIRECT β†’ REVIEW        [A on direction option]
  Q3_DIRECT β†’ Q2_SPECIFY    [B press]
  Q3_DIRECT β†’ REVIEW        [X press β€” null direction]
  EXPLAIN_L1 β†’ Q1_CATEGORY  [A on "Continue interview"]
  EXPLAIN_L1 β†’ Q2_SPECIFY   [A on pivot shortcut β€” enters relevant branch at Q2]
  EXPLAIN_L1 β†’ EXPLAIN_L2   [Y press]
  EXPLAIN_L2 β†’ EXPLAIN_L3   [Y press]
  EXPLAIN_L3 β†’ EXPLAIN_L1   [Y press β€” cycle]
  EXPLAIN_{N} β†’ Q1_CATEGORY [B press β€” return to question that triggered explain]
  REVIEW β†’ COMMIT           [A on "Commit"]
  REVIEW β†’ Q1_CATEGORY      [A on "Edit and recommit"]
  REVIEW β†’ IDLE             [A on "Discard" OR Start press]
  COMMIT β†’ IDLE             [auto after write succeeds]

8. Edge Cases & Failure Modes

Case Handling
Player skips all 3 questions (X,X,X) Commit with {category: null, subcategory: null, direction: "re-evaluate from scratch"} as default
Node has no prior output yet Q1 options change to: "It hasn't started yet" / "Start with template X"
Player re-corrects a node they already corrected Show prior correction as context: "You previously said: ..." with option to amend or overwrite
Unit's reasoning is too long for EXPLAIN screen Scrollable text box with Y to expand, D-pad to scroll
2+ problems simultaneously After commit, offer: "Apply another correction to this node?" (loop back to Q1)
Player wants to abort mid-commit Start button = full abort at any stage, no write
Interview timeout (player idle 60s) Auto-close, no write, return to map

9. Implementation Notes

Data structures to define:

Files to touch:

Key constraint:


End of Correction Interview Protocol.