NREHub

Full Mock 200 — Rectification Report

(position-resolved or content-matched), 113 hand-written per option.

729 words ~3 min

Full Mock 200 — Rectification Report

What was broken (live v3 deploy, 2026-10-01)

Defect Count Impact
x (Why Others Are Wrong) rows labelled positionally, not by option 191 / 200 User read the wrong option’s reasoning
Correct-answer explanation sitting on a distractor row 86 Worst case: “Correct” text on a wrong letter
Filler text in x (“misses the stated review-day discriminator”) 29 questions No teaching content at all
Option lists with 3 or 4 options instead of 5 7 Broken scoring, letter keys wrong
I-D010 option C corrupted with 3 options concatenated into one string 1 Unusable
c[1] answer text desynced from the option it labelled 184 Confusing answer reveal
x rows opening “Wrong —” / “A:” under a table already titled “Why every other option is wrong” 461 rows Redundant, confusing
Exact duplicate stem (B-D024 / SURG_375, same question, answer letter differs) 1 Same question twice in one mock
CARD_BRIDGE_008 was a meta-question (“which topic matches this discriminator?”) with filler distractors 1 Not an MCQ
Option-length cue, correct answer >35% longer than distractor mean 75 Guessable from word count

What was fixed

  • x layer relabelled or rewritten on all 200 questions. 103 automatically (position-resolved or content-matched), 113 hand-written per option. Every question now has exactly 4 rows, labelled with the true distractor letters in order, correct answer excluded.
  • 7 malformed option lists rebuilt to 5 options each; I-D010 rewritten.
  • B-D024 / SURG_375 duplicate resolved — SURG_375 replaced with a tension pneumothorax question.
  • CARD_BRIDGE_008 rewritten as a ventricular fibrillation question.
  • c[1] re-anchored to the option text it labels.
  • 210 x rows de-noised (leading “Wrong —”, “A:”, “Correct answer”).
  • Option-length cues: 75 → 35. Max gap cut from +262% to +92%; median gap 20%. No question now exceeds 100%.

Remaining known issues

  1. 35 questions still have an option-length gap above 35% (6 above 50%, 1 above 75%: PHARM_043 at +92%). These are cases where the correct answer is inherently more specific — e.g. organophosphate poisoning needs “atropine titrated to drying secretions” while the distractors are single drug names. Closing these fully requires either padding distractors with clinically meaningless qualifiers or deleting real diagnostic detail. Both harm the question. I stopped at 92% rather than do that.
  2. 4 bridge-review questions are still meta-format rather than clinical vignettes: SMALL_APPLIED_BRIDGE_017, SMALL_APPLIED_BRIDGE_008, PAED_OBG_BRIDGE_019, PAED_OBG_BRIDGE_023. Their explanations are now correct, but the stems read as index items (“which concept matches this discriminator”) rather than NRE-style clinical questions. They should be rewritten as vignettes.
  3. Answer key is A/B skewed: A 64, B 53, C 31, D 25, E 27. A student could exploit this. Fixing it means permuting options on ~24 questions, which requires the x rows to be relabelled in lockstep. I built and tested that transform, got it wrong twice, and reverted rather than ship a corrupted answer key. It is mechanical and can be done carefully.
  4. Subject allocation is 53 Medicine / 49 Surgery / 15 each Paeds & OBGYN / 11 Anatomy & Pathology / 10 Physiology / 8 Pharma / 6 each Biochem, ComMed, Ophtho, ENT / 4 Forensic = 200. Basic sciences total 56, not the 60 implied by the official table header (its rows sum to 56). The agreed proportional treatment of the 4 unallocated questions was never applied — the four extras went to clinical subjects instead.

Verification (headless Chromium, 2 Oct 2026)

  • Data island parses; 200 questions, 200 unique IDs
  • Option labels A–E correct on all 200; a matches c[0] on all 200
  • x labels equal the true distractor set on all 200
  • All 7 layers present on all 200 (s, co, ct, d, w, t, f, x, rule)
  • No duplicate option text, no “all of the above” placeholders
  • Space starts the mock; clicking the correct option shows “✓ Correct — well done”; a wrong pick shows “✗ Incorrect … you chose B)”
  • “Why Others Are Wrong” renders 4 rows with the right letters and the right explanations for the verified question
  • Zero page errors, zero console errors