Diagnostic Rubric and Level Mapping

Score down when unsure. A generous rubric is the one thing that guarantees you fail the real loop — it costs nothing to be told you are L1 in week one and discover in week six that you are L2; the reverse costs the offer.

Every band is calibrated to Staff altitude, because AI-lab levelling is compressed and a "Senior" title reportedly carries Staff-equivalent scope (../research/findings.md).


Table of Contents


The Four Levels

LevelMeaningWhat the plan does with it
L0Foundations missing — cannot reliably produce a correct solution in the formatRebuild-from-primitives phase before any timed work. Concepts first
L1Correct but slow — you get there, the clock beats youVolume and time-pressure drills. No new concepts
L2Interview-passable at senior — would probably clear a senior bar todayMaintenance plus depth on the two weakest sub-areas
L3Staff-altitude — clears the bar and adds somethingSpaced-repetition maintenance only. Hours reallocate to weaker tracks

Part 1: Coding

Primary metric: gates passed

GatesLevelReading
0–1L0The format itself is the obstacle, not the problem
2L1Reported pass bar per some sources; assume the stricter one and treat this as not yet clearing
3L2Clears the reported bar with margin
4L3Rare per reported sources

Secondary metric: time-to-first-passing-gate

This is the metric that predicts the real round, because an unopened gate scores zero regardless of how good the unwritten design was.

Time to G1Reading
≤ 8 minStrong. The extensibility question is where your remaining risk lives
9–15 minNormal. Trainable to ≤8 with volume
16–25 minYou are designing too long before writing. This is the highest-leverage single fix in the program
> 25 minL0 on format regardless of gate count

Modifier: the rewrite penalty

If you rewrote from scratch at any gate rather than extending, subtract one level. The gated format punishes rewrites brutally, and the underlying cause is a representation chosen for the stated requirement rather than for the invariant. See ANSWER-KEY.md.

Narration sub-score (0–5)

ScoreLevel contribution
0–1Cap the whole Part-1 level at L1 regardless of gates
2–3No modifier
4–5+0.5 toward the next level

Going silent while stuck is the costliest single narration failure: the interviewer cannot give a hint they do not know you need, and silence reads as lost even when you are thinking productively.


Part 2: System Design

25 points, five sections of 5.

2A. Requirements, scope, and scale numbers (5)

PtsStandard
0No clarification, no numbers, started drawing immediately
2Asked about scope; no arithmetic
3Stated scale assumptions but did not use them
4Numbers stated and used to size at least one component
5Numbers used, and you asked the delivery-semantics question (at-least-once vs at-most-once) unprompted

The delivery-semantics question is worth its own point because it is the fulcrum of this entire problem and most candidates never ask it.

2B. Architecture and API (5)

PtsStandard
0–1Boxes with no data flow, or an API with no request/response shapes
2–3Coherent architecture; the data model's key choices are unexplained
4Coherent, with keys and indexes justified
5Above, plus you named the component that is the throughput ceiling before being asked

2C. Deep dive on the two hardest components (5)

The highest-weight section. Selection matters more than depth.

PtsStandard
0No deep dive — stayed at box level for 45 minutes
1–2Deep dive on the easy components (API tier, storage schema)
3Identified one of the two hard components (dispatch semantics under scheduler failure; worker liveness/leases/split brain)
4Identified both
5Both, and named fencing tokens or an equivalent mechanism unprompted

2D. Failure and recovery (5)

Every failure needs three legs. "It retries" is not a failure analysis.

PtsStandard
0–1No failure section
2Failures listed, no detection mechanism
3Detection and recovery; no containment (blast radius, backpressure, shedding)
4All three legs for the main failures
5Above, plus you stated a failure mode you are choosing to accept and why

Deliberately accepting a failure mode with a stated reason is a staff behavior. Claiming to have handled everything is a junior one.

2E. Rejected tradeoffs (5)

PtsStandard
0Section absent
2Alternatives named, no reasons
3Reasons given but qualitative ("wouldn't scale")
4At least two alternatives rejected for specific, quantified reasons
5Above, plus one rejection where the alternative was genuinely close and you said what would flip your choice

Part 2 level map

TotalLevel
0–8L0
9–14L1
15–20L2
21–25L3

Hard cap: if 2C scored ≤2, the part caps at L1 regardless of total. Identifying the load-bearing components is the signal; a polished design of the wrong parts is a fail.


Part 3: Python Internals

CorrectLevel
0–7L0
8–12L1
13–16L2
17–20L3

The confident-wrong modifier

Confident-wrongModifier
0–1none
2–3−0.5 level
4+−1 full level, and every one goes into ../review/ at the 1-day interval

A gap you know about is a study item. A gap you are confident about is a landmine — it is what you will assert in an interview and be corrected on, and the correction costs far more than the admission would have.

Section weighting

Questions 1–8 (iterators/generators) and 9–15 (async/concurrency) are double-weighted for planning purposes — not for the score, but for where hours go. Those are the two areas reported to actually surface in the loop (../research/source-report.md rows 25–27). Six correct out of eight on iterators with weak memory answers is a very different plan from the reverse.


Part 4: Behavioral

Each prompt scored 0–5.

Prompts 1 and 2

PtsStandard
0No decision — a project tour
1A decision, no alternatives
2Alternatives named, qualitative reasons only
3Alternatives with specific reasons; no disagreement in the story
4Above, plus a named opponent whose position is stated fairly, plus a measured outcome
5Above, plus a specific self-critique with a generalizable lesson, plus the alignment mechanism was evidence (a prototype, a measurement) rather than authority or persistence

Scope cap: if the decision affected only your own team, cap at 3. That is a Senior story. Row 34 requires cross-team.

Prompt 3 (where is AI headed)

PtsStandard
0–1Platitudes
2Accurate trend list, no position
3A specific claim, no evidence
4Specific claim with evidence you can cite or measured
5Above, plus an explicit falsifier, plus a connection to what you would build

Part 4 level map

Total (of 15)Level
0–4L0
5–8L1
9–12L2
13–15L3

Composite Level Map

Do not average. Report per-track levels — the plan is built from the profile, not from a single number.

TrackDriven by
A — Coding under time pressurePart 1 gates + time-to-first-gate + rewrite penalty
B — Python internalsPart 3, iterator/async sections weighted
C — Distributed systems designPart 2
D — ML/inference infraNot measured by this battery. Assume L0/L1 and confirm with the Track D entry quiz in week 2
E — Take-home / deep diveNot measurable in 3 hours. First real measurement is the week-8 48-hour run
F — BehavioralPart 4
G — Agentic codingNot measured. First measurement is the week-6 timed agent run

Three of seven tracks are unmeasured by design — a 3-hour battery cannot measure a 48-hour take-home. That is honest, and it means the plan's first month is partly provisional and gets corrected at the week-4 re-test.


How Levels Become the Plan

With 22 hours/week over 26 weeks (~570 hours), the baseline allocation is:

TrackBaseline shareIf L0If L1If L2If L3
A — Coding25%35%30%20%10%
B — Python internals12%20%15%10%5%
C — Systems design15%22%18%12%6%
D — ML/inference infra20%28%22%15%8%
E — Take-home12%fixedfixedfixedfixed
F — Behavioral10%16%12%8%5%
G — Agentic6%10%8%5%3%

Track E is fixed because it is two 48-hour blocks plus two deep-dive drills — a schedule, not a dial. Percentages are renormalized to 100% after applying the per-track adjustments.

Rebalancing rule: at each monthly re-test, any track that reaches L3 drops to its L3 share and the freed hours go to the lowest-level track. This is the mechanism that stops a six-month plan from becoming a six-month ritual.


The Hire-Bar Translation

Every weekly mock gets scored on this scale, not on the L0–L3 scale. Learn what it means now.

VerdictCodingDesignBehavioral
No hireDid not reach a working solution, or needed substantial hintsWrong components deep-dived; no failure analysisA tour, no decisions, no disagreement
Hire (senior)Working solution, some prompting, reasonable complexityCoherent design, right hard parts identified, thin failure analysisReal decisions with tradeoffs; single-team scope
Strong hire (senior)Working, unprompted, clean, tested the tricky invariantRight hard parts, three-legged failure analysis, explicit rejectionsCross-team decision, named opponent, measured outcome
Hire (staff)Above, plus anticipated the follow-up stage in the initial designAbove, plus named a failure mode being deliberately acceptedAbove, plus changed an organization's mind with evidence
Strong hire (staff)Above, plus taught the interviewer somethingAbove, plus reframed the problem in a way the interviewer adoptedAbove, plus a decision that was expensive and right, and one that was expensive and wrong

I will tell you plainly which one you hit. Not the one you nearly hit.