Engagement, Decomposed — Implementation

**A copy-evaluation exercise produced a serving-order finding, a 213-item authoring backfill

and a 379-passage theming job as its three largest outputs.** The rubric this plan builds is

real and ships, but it is not the biggest thing the meeting found. The plan says so here

because a reader who meets those three findings at the bottom will have already decided the

work is about a scoring prompt.

This is a second plan, not a replacement. .claude/plans/2026-09-20-jev-evaluation-loop.md

builds the Jev client, rubric loader, runner and calibration machinery; Phases 0 to 2 of it are

built, committed and pushed. This plan consumes that machinery and replaces one dimension

inside it. Section 9 states exactly how the two reconcile, and that reconciliation is the first

thing to read if the two ever disagree.

Decisions only Sarah can make

Eight questions, each one sentence, with the default this plan proceeds under if she says

nothing and what unblocks when she answers. Nothing below Phase 1 should start before these are

answered or explicitly deferred.

#QuestionDefault if unansweredUnblocks
1Who is the target student? One paragraph: age, why they are practising, whether they chose this.Both readings carried; no dimension that needs one shipsNovelty, the Brief hook, the themed exemplar's pitch, the difficulty re-check's standard. Cheapest question here, blocking the most.
2Who do the Lineup narrator and the case Brief speak as?Lineup passages stay in unmarked source-text voiceResonance of voice. The register run stays on the heckle bank, where eleven registers are actually declared.
3Is a number per family per dimension acceptable in place of the single engagement score?Per-family-per-dimension shipsThe score's form. One figure per corpus needs weights nobody in the room could justify.
4Does run one split? Pass A now against the corpus as it stands, scored Run One after the backfill.Split: Pass A now, Run One laterThe gate's timing and the 480 calibration reads.
5Which content job goes first — 379 unthemed passages or 213 unauthored Wager items?Reveal layer before theming, per the roomThe whole of Phase 6. They overlap on the same Wager items.
6Where is endurance built, if not in Peregrine?Explicitly nowhere, recorded as a stated gapNothing in the rubric. Recorded so it is not discovered by the first student who sits a real Reading section.
7Which repo or target holds the Wager and Lineup gameplay views?BlockedThe gloss render check, which gates three dimension rows.
8Does the app schedule or shuffle what it serves, and is the export-side interleave the right first repair?Export-side interleave proceeds; the Swift question stays openPhase 5's interleave. The Python change has evidence in this repo; the Swift change does not.

Section 0: What was verified before this plan was written

The handoff warns that the room built a full round on field shapes nobody had opened, and that

the Samples packets are not the evidence base. That warning was applied to the handoff itself.

Every load-bearing count below was re-derived from entry JSON in the corpus repo, and every

code reference was read at the named line.

ClaimVerifiedResult
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✅2
difficulty on 160 of 441✅160 — Lineup 113, Wager 45, Red String 2
133 Lineup items with no trap label✅133
150 heckle lines✅150 beat-the-shakedown entries
_vigilance at export-machine.py:885✅exact
_check_season_writing_rules at 2035✅exact
BLOCKED — the season's authoring locks at 2258✅exact
the shared sort at 2311✅sel.sort(key=lambda e: e.get("number", 0))
export field map at 918 / 965✅the mechanism/drill_rx condition and the field map
M-CONCEPT has 12 instances⚠️Referent needs correcting. Zero playable items carry M-CONCEPT in any option's trap_codes. The 12 live in guides/sat-traps/entries/m-concept.json as distractor_instances, counted in the calibration corpus — the College Board analysis substrate, which the guide says is not imported.

Success criteria: every number this plan restates traces to an entry file or a read line,

and the one that did not is marked rather than repeated.

Phase 0: The decision list and the plan document

Dependencies: none. Blocks: Phases 3, 4, 6.

Success criteria: Sarah can accept or overturn all eight decisions in one pass without

reading anything else, and every cut dimension has a reason attached that outlives the meeting.

Phase 1: Pass A — defensibility, against the corpus as it stands

Dependencies: Section 0. Blocks: fairness, the synthetic anchor, Phase 6's exemplars.

Pass A runs now. It does not wait for the backfill.

Success criteria: a committed, diffable hit list where every hit names the missing sentence

rather than asserting a verdict, and the two deliberately unfixed items are visible as such.

Phase 2: The three other queue-head jobs

Dependencies: Section 0. Blocks: Phase 3's prompt. Nothing here blocks anything else here.

The con → trap fan-out join

The gloss render check

The pre-registered register classification

Success criteria: the fan-out exists as a file, the render check has an owner and an answer,

and the register run's merge rule was written down before any result was seen.

Phase 3: The coverage grid and the prompt

Dependencies: Phases 1 and 2. Blocks: Phase 4.

The evaluability gate — one bar, no exemptions

Success criteria: every dimension in the prompt passed the same bar, and the grid reached

Sarah before the prompt existed.

Phase 4: The worklist

Dependencies: Phase 3.

Success criteria: the first screen is readable without scrolling, rank one moves between

runs, and a dimension at zero leaves a dated line rather than silence.

Phase 5: Export-side code changes

Dependencies: none on the rubric. Blocks: nothing here.

The case authoring lock

The interleave

The standing re-check rule

Success criteria: a Brief with no exhibit list blocks the export; the interleave changes the

Wager and Lineup lists and provably nothing else.

Phase 6: Content work — larger than the rubric that found it

Dependencies: decisions 1 and 5.

Success criteria: two themed exemplars exist and have been through Pass A, so the 379-item

estimate rests on measurement.

Phase 7: The two tester sessions

Dependencies: Phase 1 for Session A; Run One for Session B.

Session A — before the backfill, against the unrepaired corpus

Session B — after Run One

Success criteria: Session A yields a fair-or-cheap verdict per family or triggers the

synthetic anchor, and neither session's sheet can be read as validating the rubric.

Phase 8: Findings that belong to someone other than Jev

Dependencies: none.

Success criteria: each finding has an owner who is not Jev, and the ordering finding reads

as one finding rather than three counts.

Section 9: How this reconciles with the Jev evaluation-loop plan

The other plan is built through Phase 2 and its machinery is what this one runs on. Four points

of contact, and each needs a deliberate resolution rather than a merge.

Constraints that must not be quietly relaxed

Verification (Sarah)

Before anything starts

After Phase 0

After Phase 1

After Phase 2

After Phase 3

After Phase 4

After Phase 5

After Phase 7

Final reviewconfidence 71 / 100

What this gets right

The meeting killed every dimension that could not survive its own tests, and each cut was made

by the expert who proposed it, on corpus evidence. That is the hardest part of rubric design and

it is already done. The evaluability gate is a stricter instrument than the hand-label

calibration in the sibling plan, and it needs no ground truth, which is exactly the problem

engagement had. The promotion rule as a display rule over a complete result set is the right

shape: it keeps per-item scoring intact while making run-over-run movement readable.

Pros

all six code line references. That is unusual and it means the plan can be built on.

Sarah can answer the cheap ones first.

home before; now it has one with an exit condition.

looking handled, and the plan says so in those words.

Cons and what is genuinely uncertain

sessions, a 213-item backfill and a 379-passage theming job is a quarter of work, not a sprint.

The ordering is stated but the scoping is not, and nothing here says what to drop.

Decision 4 is therefore not really optional; the split is the only version that produces new

information.

this is pennies, but forty units scored twice across eleven dimensions is a different shape from

anything run so far, and the estimate should be made before it is scheduled.

views — gates the render check, which gates trap recognition and two more rows. If that answer

is "nobody knows", the ships list shrinks.

Lineup-only as specification, feeding a 213-item authoring job. That is thin evidence for a

large commission, and the plan says so without resolving it.

Where this plan could be inadequate

recognition and the gloss-dependent rows are unbuildable and the rubric ships with five

dimensions rather than eight.

and difficulty on every passage it touches, across 379 passages.

solve the underlying problem that the largest findings are not the rubric's to close.

Adjustments worth considering

evidence in this repo, it is a contained change at a named line, and the massed-practice finding

is the largest thing the meeting produced.

second release, rather than holding the whole rubric on the target student.

Confidence: 71 / 100

The dimension work is sound and unusually well evidenced — the verification pass found one

imprecise referent in fifteen claims. What holds this down is scope and sequencing rather than

correctness. Eight phases with two tester sessions and two large content jobs is a quarter of

work presented as a plan, three shipping dimensions hang on a single unanswered question about

where the gameplay views live, and the largest outputs belong to authors rather than to the

instrument that found them. The number moves up when decisions 1, 4 and 7 are answered, because

those three determine whether run one produces new information or restates what Sarah already

knows.