Summary
The current quiz workflow only supports one question type: multiple_choice with 4 options. We want to expand quiz generation to support a broader set of reading assessment formats.
Motivation
Multiple choice is useful for breadth, but it does not cover all the reading skills we want to assess. Adding more quiz types will allow us to evaluate comprehension depth, structural understanding, and higher-order reasoning more effectively.
Proposed Question Types
Open-ended
- Short answer
- Summary / main idea
- Fill in the blank
Analysis / inference
- True / False / Not Given
- Inference
- Vocabulary in context
Structure / logic
- Ordering
- Matching
- Paragraph heading match
Higher-order output
- Discussion / response
- Diagram / mind-map completion
Design Direction
Separate:
type: interaction format
skill: reading skill being tested
This allows combinations such as:
multiple_choice + Inference
true_false_not_given + Facts
short_answer + Argument
ordering + Inference
matching + Facts
Suggested Rollout
Phase 1: low-cost / high-impact
true_false_not_given
short_answer
fill_in_blank
These should fit the current workflow most easily because they can still be generated from chapter knowledge extraction units.
Phase 2: structure-heavy
ordering
matching
paragraph_heading_match
These likely need stronger chapter/page structure support beyond single source knowledge units.
Phase 3: higher-order output
summary
discussion
mindmap_fill
These may be better treated as practice mode rather than standard auto-graded quiz mode.
Implementation Areas
Backend types
Update:
reading-app-server/src/modules/quiz-workflow/quiz-workflow.types.ts
Expand QuizWorkflowQuestionType from a single literal to a union of supported types.
Prompting
Update:
reading-app-server/prompts/v1/quiz.txt
Support question-type-specific generation instructions and JSON schemas.
Workflow logic
Update:
reading-app-server/src/modules/quiz-workflow/quiz-workflow.service.ts
Add:
- question-type-aware prompt building
- source-unit selection rules by type
- structured validation/coercion per question type
Frontend rendering
Update:
reading-app/src/components/quiz/QuizWindow.tsx
Move from a single multiple-choice renderer to question-type-based rendering.
Acceptance Criteria
- Quiz question schema supports multiple
type values.
- Backend can generate and validate at least the Phase 1 question types.
- Frontend can render and handle interaction for at least the Phase 1 question types.
- Existing
multiple_choice flow remains backward compatible.
- Question
skill remains separate from question type.
Notes
The current system already has a useful skill axis:
Facts
Inference
Tone
Argument
This should remain orthogonal to type, not be overloaded to represent interaction format.
Summary
The current quiz workflow only supports one question type:
multiple_choicewith 4 options. We want to expand quiz generation to support a broader set of reading assessment formats.Motivation
Multiple choice is useful for breadth, but it does not cover all the reading skills we want to assess. Adding more quiz types will allow us to evaluate comprehension depth, structural understanding, and higher-order reasoning more effectively.
Proposed Question Types
Open-ended
Analysis / inference
Structure / logic
Higher-order output
Design Direction
Separate:
type: interaction formatskill: reading skill being testedThis allows combinations such as:
multiple_choice+Inferencetrue_false_not_given+Factsshort_answer+Argumentordering+Inferencematching+FactsSuggested Rollout
Phase 1: low-cost / high-impact
true_false_not_givenshort_answerfill_in_blankThese should fit the current workflow most easily because they can still be generated from chapter knowledge extraction units.
Phase 2: structure-heavy
orderingmatchingparagraph_heading_matchThese likely need stronger chapter/page structure support beyond single source knowledge units.
Phase 3: higher-order output
summarydiscussionmindmap_fillThese may be better treated as practice mode rather than standard auto-graded quiz mode.
Implementation Areas
Backend types
Update:
reading-app-server/src/modules/quiz-workflow/quiz-workflow.types.tsExpand
QuizWorkflowQuestionTypefrom a single literal to a union of supported types.Prompting
Update:
reading-app-server/prompts/v1/quiz.txtSupport question-type-specific generation instructions and JSON schemas.
Workflow logic
Update:
reading-app-server/src/modules/quiz-workflow/quiz-workflow.service.tsAdd:
Frontend rendering
Update:
reading-app/src/components/quiz/QuizWindow.tsxMove from a single multiple-choice renderer to question-type-based rendering.
Acceptance Criteria
typevalues.multiple_choiceflow remains backward compatible.skillremains separate from questiontype.Notes
The current system already has a useful
skillaxis:FactsInferenceToneArgumentThis should remain orthogonal to
type, not be overloaded to represent interaction format.