Problem
Studying currently means asking the chat questions on demand — there's no way to generate practice questions and check your own answers against the source material.
Proposal
Add a quiz-generation feature: given a project (or a specific source), call the LLM to generate a set of practice questions (multiple-choice and/or short-answer) with answer keys grounded in the ingested chunks, similar in shape to transcript.py's existing extract-structured-JSON pattern. Surface a quiz-taking flow in the dashboard that checks answers and shows which source chunk backs the correct answer (reusing the existing citation mechanism).
Relationship to #61
Complements flashcards/spaced repetition (issue #61) — quizzes are closer to "can I apply this," flashcards are closer to "do I remember this."
Problem
Studying currently means asking the chat questions on demand — there's no way to generate practice questions and check your own answers against the source material.
Proposal
Add a quiz-generation feature: given a project (or a specific source), call the LLM to generate a set of practice questions (multiple-choice and/or short-answer) with answer keys grounded in the ingested chunks, similar in shape to
transcript.py's existing extract-structured-JSON pattern. Surface a quiz-taking flow in the dashboard that checks answers and shows which source chunk backs the correct answer (reusing the existing citation mechanism).Relationship to #61
Complements flashcards/spaced repetition (issue #61) — quizzes are closer to "can I apply this," flashcards are closer to "do I remember this."