유대선
프로젝트로
·결정·3

Cold gap-audit 4 days out: the content was ready, the graded rounds weren't drillable

A 7-lens anti-flattery gap-audit found the platform's content was interview-grade but the actually-graded rounds (recruiter screen, ownership question, conflict story) had no practice surface or were mis-wired. With 4 days left, the call was to fill only data-only content gaps and refocus the nav, and to NOT build the new interactive features the audit suggested — drill instead.

Context

Four days before the interview, the owner asked for a cold, no-flattery assessment of what was missing. Seven expert lenses (recruiter screen, deep-dive, pairing, ESL/continuous-speech, ownership/behavioral, a theater detector, and the daily loop) critiqued the platform against the real interview structure and the owner's known weaknesses (freezes on fast speech, bad memory, struggles to explain his own work in English, drills 8h/day on a treadmill with mic+tap only).

The honest finding: the content was interview-grade, but the graded rounds lacked a practice surface the owner could actually reach. Round 1 (15-min recruiter screen — salary, visa, start date) had zero prep content and lib/jd.ts even routed it to /leader, the engineering-head technical cards. The engineering head's signature ownership question had no first-class behavioral card with follow-ups and reused the validation story. No disagree-with-a-senior (conflict) STAR existed. The nav had 14 links splitting attention. And the most-polished features — /copilot, /labs, /katas, /design, the local Java runner — are keyboard+laptop only, so they're 0% usable in the owner's actual context.

Options considered

  1. Build the interactive modes the audit suggested (deep-dive interrogation, pairing narrate-mode, /talk fast-listen, behavioral follow-up mic-wiring). Pro: directly trains cold-call response, the real skill gap. Con: feature work 4 days out, exactly what the CLAUDE.md kill-switch (interview ≤7 days → stop building, pure-drill) says not to do; risk of shipping a broken mode right before the interview.
  2. Fill only data-only content gaps + refocus the nav, build no new features. Pro: low risk, every addition is itself a drillable rep, respects the kill-switch. Con: the cold-call-response gap is closed by discipline (drill existing /sparring + /talk) rather than by tooling.
  3. Do nothing, pure-drill. Pro: maximal drill time. Con: leaves a literal hole — no recruiter-screen answers at all — that would cause exactly the freeze the owner fears.

Chosen + why

Option 2. Added the recruiter-screen section (6 nodes, personal numbers left as brackets to fill — no invented salary/visa facts), an ownership STAR on the costing story (no dup with validation/influence), and a conflict STAR on the gateway story (disagree-and-commit angle), each with five follow-ups. Re-pointed Round 1 to /tomorrow. Cut the nav to five (D-Day, DeepDive, Sparring, Talk, Phrases) so eight treadmill hours land on graded rounds; the laptop-only features stay reachable under /all but are out of the daily path.

Trade-off accepted

The cold-fire response gap (questions fired at you, answered out loud under pressure) is not closed by new tooling — the owner has to get that rep by drilling the existing voice surfaces (/sparring already does record → transcribe → AI-judge with live follow-ups; /talk ends every turn with a question). That's a discipline ask, not a feature.

Reversibility

Two-way. The content additions are isolated data; the nav cut is one file. Post-interview, the deferred interactive modes can be built on the /sparring voice loop, which is the proven template.

Verified by

tsc --noEmit clean after each batch; deploy verified by image-digest match; /tomorrow, /behavioral, /jd return 200.

Discussion artifacts

7-lens gap-audit workflow output (run wf_109ee7ee). The audit also flagged a mathematically-wrong "overall readiness" ring on the home dashboard (forge/ai/sparring never call toggleDone) — noted, not yet fixed.

Commit

5000b10 (recruiter section + nav + jd routing), adf170b (ownership + conflict STARs).