Files
my-vault/.obsidian/plugins/skills/tutor/references/quiz-rules.md

57 lines
2.1 KiB
Markdown

# Quiz Design Rules
## Zero-Hint Policy (CRITICAL)
Every question must be answerable ONLY by someone who actually knows the material.
1. **Option descriptions**: NEVER reveal correctness
- BAD: `label: "stderr"`, `description: "Error output stream used by Cloud Run for error classification"`
- GOOD: `label: "stderr"`, `description: "Standard error stream"`
2. **No "(Recommended)" tag** on any option
3. **Randomize** correct answer position — never always first or last
4. **Question phrasing**: Ask about behavior/purpose/output, don't hint at the answer
- BAD: "Which error stream does error() use?"
- GOOD: "Where does error() method output go?"
5. **Plausible distractors**: Wrong options must be real concepts from the domain, representing common misconceptions
## Question Types
1. **Factual recall**: "What HTTP status code is returned when...?"
2. **Conceptual understanding**: "Why does the system use X pattern?"
3. **Behavioral prediction**: "What happens when X fails?"
4. **Comparison/distinction**: "What is the difference between X and Y?"
5. **Debugging scenario**: "Given this error, what is the most likely cause?"
## Difficulty Balancing
- Diagnostic: easy 40%, medium 40%, hard 20%
- Weak-area drill: medium 30%, hard 70%
- Review: all levels evenly
## Drilling Unresolved Concepts
When targeting 🔴 concepts from concept files:
- Do NOT repeat the exact same question — rephrase in a new context
- Test the same underlying knowledge from a different angle
- E.g., if user confused "400 vs 422", ask a scenario question where they must choose the correct status code for a new situation
## AskUserQuestion Format
- 4 questions per round, 4 options each, single-select
- Header: max 12 chars, "Q1. Topic"
## File Update Protocol
After grading:
1. Update `concepts/{area}.md` — add/update concept rows + error notes
2. Update dashboard — recalculate area stats from concept files
3. Badges: 🟥 0-39% · 🟨 40-69% · 🟩 70-89% · 🟦 90-100% · ⬜ no data
## Language Rule
All file content and output in the user's detected language. Badge emojis are universal.