Engagement, Decomposed
Written 20 September 2026 from the four-expert meeting. Every count here was re-derived from entry JSON in the corpus repo rather than transcribed.
Decisions
Eight questions. Each is one sentence, with the default this work proceeds under if you say nothing, and what unblocks when you answer. Accept or overturn in one pass.
| # | Question | Default if unanswered | Unblocks |
|---|---|---|---|
| 1 | Who is the target student — age, why they are practising, whether they chose this? | Both readings carried; nothing needing one ships | Novelty, the Brief hook, the themed exemplar's pitch, the difficulty re-check's standard |
| 2 | Who do the Lineup narrator and the case Brief speak as? | Lineup passages stay in unmarked source-text voice | Resonance of voice |
| 3 | Is a number per family per dimension acceptable in place of one engagement score? | Per-family-per-dimension ships | The score's form |
| 4 | Does run one split — Pass A now, scored Run One after the backfill? | Split | The gate's timing and the 480 calibration reads |
| 5 | Which content job goes first, 379 unthemed passages or 213 unauthored Wager items? | Reveal layer before theming | All content work; they overlap on the same Wager items |
| 6 | Where is endurance built, if not in Peregrine? | Explicitly nowhere, recorded as a stated gap | Nothing in the rubric; recorded so it is not found by the first student sitting a real section |
| 7 | Which repo or target holds the Wager and Lineup gameplay views? | Blocked | The gloss render check, which gates three dimension rows |
| 8 | Does the app schedule or shuffle what it serves, and is the export-side interleave the right first repair? | Interleave proceeds; the Swift question stays open | The interleave |
Decisions 1, 3 and 4 are the cheapest and unblock the most.
What was verified, and the one figure that needed its referent corrected
Fifteen load-bearing claims were checked against entry files and read lines. Fourteen were exact.
| Claim | Result |
|---|---|
| 441 items carry options | 441 — Wager 258, Lineup 181, Red String 2 |
| 46 passage-less items | 46 — 44 math (Lineup 24, Wager 20), 2 Red String writing |
| 395 playable passages | 395 |
| 213 thin Wager items | 213 carry no skill_code, difficulty or question_type and no option payload |
concept on 2 of 441, difficulty on 160 | both exact |
| 133 Lineup items with no trap label | 133 |
| 150 heckle lines | 150 |
| 94 breaks, 92 mid-chain | exact — and the 2 that are not are precisely l-math-translate-1 and l-reading-herring-1, the two named as deliberately-unfixed fail anchors |
| 9 Prime Suspect cases, 9 Briefs, 70 threads | exact; all 70 threads carry an insight or correct-log line |
| 29 con glosses | 30 con-taxonomy entries all carry a gloss; 29 are con aliases and the 30th is con-innocent, the clean option rather than a con |
all six export-machine.py line references | exact |
| M-CONCEPT, 12 instances | Referent corrected. Zero playable items carry M-CONCEPT in any option's trap_codes. The 12 are distractor_instances in guides/sat-traps/entries/m-concept.json, counted in the calibration corpus the guide says is not imported. The entry carries con_id: null and a seed note saying no con equivalent exists. The hole is a trap class with no playable representation, not twelve unscored items. |
- Commit the 107-token list as data beside the rubric, so connection to theme can be re-measured rather than re-derived
The dimension table
Four-part frame: name, owner, unit, fields read, both failure directions, a corpus line anchoring each direction, and a ships / flag-only / held marker. Owners were not carried in the handoff and are marked owed rather than invented.
Ships
| Dimension | Owner | Unit | Fields read | Fails one way | Fails the other way | Anchor |
|---|---|---|---|---|---|---|
| Defensibility — gates everything under it | owed | entry | stem, passage or account, the four option texts | the keyed option is not forced by that copy | a second option is equally forced by it | Pass A has not run. Two fail anchors already exist and stay unrepaired through run one. |
| Connection to theme | owed | passage | passage | the passage names nobody from the fiction | — | 379 of 395 name nobody; 16 do. Reproduced, definition above. |
| The open-question test | owed | entry | stem | the stem is closed retrieval | — | owed |
| Earned wrongness | owed | entry | break_idx, reasoning, drill_rx, mechanism | the reveal does not show where the reasoning turned | — | 92 of 94 breaks land mid-chain; the 2 that do not are the fail anchors |
| Trap recognition | owed | con | gloss | the gloss names nothing a student could recognise | — | 30 glosses exist. Held behind the render check — if gloss is authoring-only metadata no student reads, this is pulled, not reframed. |
Held, each with its named unblock condition
| Dimension | Unblocks on |
|---|---|
| Contested-ness | its own gate result; its owner predicts it fails, worst on the 133 Lineup items carrying no trap label |
| Resonance of voice | the register classification, with a kill condition — under three surviving bands it comes out entirely |
| Heckle fairness | the register test; its ground truth moves to Session B |
| Novelty | the target student (decision 1) |
| The Brief hook | the target student (decision 1) |
| Fairness | Pass A returning a failing anchor, or the synthetic file |
| Con recurrence | dead for run one; returns when the 213 backfill lands |
Cut, with the reason
Every cut was made by the expert who proposed it, on the inert-criterion law or on corpus evidence.
| Dimension | Why it died |
|---|---|
| Pressure-pull load | inert criterion |
| Stop-ability | inert criterion |
| Verb distinctness | inert criterion |
| Word-count reading tax | corpus evidence |
| Duplicated-option-text | corpus evidence |
| Case-level consistency | moved off the rubric into an export-enforced authoring lock |
| Brief body | pulled by its own proposer after reading all nine Briefs — the repeated frame carries different exhibit lists every time and bends where the case needs it (ps-case008: "measurable but never exact") |
The inert-criterion law, as narrowed by its own author
A ceiling always gets one promoted line. Whether a template or a validator forced the uniformity decides only how the line is worded — a finding about the schema versus a finding about the writing. A ceiling is not automatically a defect. The Brief body was pulled on exactly this ground, after its proposer read all nine.
What is owed before the prompt is written
- Owners for all five shipping dimensions
- A corpus anchor for the open-question test's failure direction
- The second failure direction for connection to theme, the open-question test, earned wrongness and trap recognition — each currently carries one
- The answer to decision 7, which gates trap recognition and two more rows
Two of your three named parameters do not ship in run one
Novelty is held on the target student. Resonance is held on the register test, with a kill condition that could remove it entirely. Connection to theme is the only one of the three that ships. Fairness is held on Pass A; consistency moved off the rubric into an authoring lock, which means nothing in run one catches a trap behaving one way in ps-case004 and another in ps-case009.