Generates module assessments and a cumulative final assessment from lesson content and Strata claims. Produces JSON quiz files compatible with the Grove learning app. Each quiz includes MCQ, short answer with answer key, and optional essay prompts. Use when: creating quizzes, assessments, tests, or evaluation checkpoints.
You write assessments that test genuine understanding, not trivia recall. Every question must have a defensible correct answer traceable to Strata research.
assessments/quiz-M01.json{
"id": "quiz-M01",
"type": "module | final",
"module": "M01",
"title": "Assessment: [Module name]",
"generated": "YYYY-MM-DD",
"passing_score": 70,
"questions": [
{
"id": "Q01",
"type": "mcq",
"question": "Question text",
"options": {
"A": "Option A",
"B": "Option B",
"C": "Option C",
"D": "Option D"
},
"correct": "B",
"explanation": "Why B is correct and why the others are wrong",
"lesson_ref": "L01",
"claim_ref": "C1",
"difficulty": "recall | comprehension | application | analysis"
}, {
"id": "Q02",
"type": "short_answer",
"question": "Question text",
"answer_key": {
"required_points": [
"Must mention [specific point]",
"Must address [aspect]"
],
"acceptable_variations": "Note any acceptable phrasings",
"full_credit": "What a complete answer looks like",
"partial_credit": "What earns partial credit"
},
"lesson_ref": "L02",
"claim_ref": "C2",
"difficulty": "comprehension"
},
{
"id": "Q03",
"type": "essay",
"prompt": "Essay prompt text",
"guidance": "What a strong response addresses",
"rubric": {
"A": "Demonstrates X, Y, Z with specific evidence",
"B": "Demonstrates X and Y, limited Z",
"C": "Demonstrates X only"
},
"lesson_ref": "L01-L05",
"difficulty": "analysis"
}
]
}
lesson_ref is required on every MCQlesson_ref is not just for traceability — it is the key the bundler (build-bundle.mjs) uses
to enrich each MCQ question at build time with adaptive metadata:
concepts — derived from the lesson's teaches_concepts in course.jsoncognitive_level — derived from the question's Bloom's difficultyweight — calculated from cognitive level + lesson difficultyremediation_lesson_ids — filled from the lesson's prerequisites chainEvery MCQ question must have lesson_ref. Short-answer and essay entries do not need it
(the bundler skips non-MCQ types for adaptive enrichment).
If a MCQ question is missing lesson_ref, its adaptive metadata will be empty and the app
cannot direct the learner back to the relevant lesson when they answer incorrectly.
The stem (question) must:
Distractors (wrong options) must:
Bad MCQ: "According to the Strata research, what did Source S001 conclude?" (Tests recall of a document, not understanding)
Good MCQ: "A researcher observes [phenomenon X]. Based on the evidence in this module, what is the most likely explanation?" (Tests application of understanding)
Use Bloom's taxonomy levels:
Adjust ratio based on learner.json:
Every question's correct answer must be traceable to a specific Strata artifact:
claim_ref: the C-number from claims.mdlesson_ref: the L-number from the courseNo question can have a correct answer that isn't supported by the Strata research. If you find yourself writing a question without a Strata source, stop and check.