Skip to content

feat: expand quiz bank to 112 questions (DOJ-2435)#11

Merged
bitfalt merged 3 commits intomainfrom
daniel/doj-2435-quiz-bank-expansion
Mar 10, 2026
Merged

feat: expand quiz bank to 112 questions (DOJ-2435)#11
bitfalt merged 3 commits intomainfrom
daniel/doj-2435-quiz-bank-expansion

Conversation

@dbejarano820
Copy link
Contributor

Summary

  • Expanded quiz bank from ~22 to 112 questions
  • Coverage for all concepts in concept-tree.json
  • Mix of multiple-choice and free-response formats
  • Belt-appropriate difficulty distribution (40% white/yellow, 40% orange/green, 20% blue+)
  • Teaching explanations for all questions

Test plan

  • jq . data/quiz-bank.json > /dev/null validates
  • 112 total questions
  • All concept-tree keys have quiz coverage
  • Questions have plausible wrong answers and explanations

Closes DOJ-2435

🤖 Generated with Claude Code

Add questions for every concept in concept-tree.json.
Mix of multiple-choice and free-response across belt levels.
Plausible wrong answers and teaching explanations.

Closes DOJ-2435

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@dbejarano820
Copy link
Contributor Author

🤖 This PR has had no activity for 1+ days.

If it's still needed, please:

  • Resolve any conflicts
  • Address review feedback
  • Push an update

If it's no longer needed, please close it.

— Dojito (automated PR gardener)

@bitfalt
Copy link
Contributor

bitfalt commented Mar 9, 2026

Reviewed this in depth and found two functional issues: the selector was still choosing the first belt-compatible static question without respecting the requested quiz_format, and six new questions used an unsupported purple belt so they were effectively dead data. I also tightened the selector to treat lower-belt questions as eligible for higher belts, which makes the larger bank much more usable.

I patched this in my fork because the current account does not have write access to push directly to DojoCodingLabs/code-sensei:

What I changed:

  • Added a shared selector helper that filters first by compatible belt range and requested format, with a fallback to any compatible static question
  • Replaced the unsupported purple belt values with brown

Validation: I verified locally that an orange-belt spaced/static run requesting free_response now returns a free-response static question, and that a black-belt run can reach the advanced brown-belt questions.

@bitfalt bitfalt merged commit 47295c1 into main Mar 10, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants