Every chapter runs through the same content pipeline, end to end:
The form mix leans the way real UPSC Prelims papers lean: statement-based and "how many of the above" questions dominate, with matching, chronology, direct-fact and assertion–reason making up the rest — calibrated against the 900-question, 2016–2026 PYQ corpus and its pattern report, not guessed. Wrong options are built from the trap patterns UPSC actually uses: negation flips, attribution swaps between similarly-named people or events, number exchanges, and on-paper-vs-in-practice gaps.
Sectional and full-length mock engine with UPSC scoring (+2 / −0.667) and attempt-strategy tracking · weakness analytics per microtopic with page-precise reading prescriptions · parallel-form retests and improvement curves · spaced-repetition revision queue · CSAT module (same engine, 80Q, +2.5 / −0.833 profile).
Generated from the owner's copy of Spectrum (2019) for personal study use by one aspirant. Derived content must not be redistributed or used commercially.
Everything hangs from these IDs: questions, notes, test results, weakness scores, reading prescriptions.
The same tables, cards, trap alerts and mnemonics from Chapter Notes, pulled out on their own — for a fast last-look scan, no re-reading required.
PDF → per-page corpus (corpus/spectrum-2019/pages/) → chapter map (book.json) → hand-curated, AI-drafted content (data.mjs) → verifier (verify.mjs: schema + verbatim passage check, 30/30 pass) → this packaged page (build.mjs). The study app will load the same JSON into MySQL; the app itself needs no AI at runtime.
id · form · microtopic · difficulty · stem · options[4] · key · explanation · citation{page, verbatim quote} · traps[] — the citation is what makes wrong answers teachable: every explanation can say "Spectrum p. X" and mean it.
| Form | UPSC shape | In POC |
|---|
GS Paper-I economics: correct +2.0, wrong −0.667, skipped 0. The sticky bar keeps a live net score so attempt discipline becomes visible early — this is the muscle the mock engine will train deliberately.