Skip to content

Recipe 21: Quiz answer adjudication #21

Closed

Description

@CompleteDotTech

Recipe 21 of 60 · Level 2 (Easy) · Games & simulation · Choice

Use case

Judge whether a typed quiz response matches an accepted answer by meaning, with partial-match and review outcomes for ambiguous responses.

What to build

The folder recipes/21-quiz-answer-adjudication/ with notebook.ipynb, README.md, and fixtures/, meeting the recipe contract. Start from python tools/new_recipe.py 21 and the template in recipes/_template/.

Build notes

  • Python checks normalised exact matches first. Only the rest go to Jev.
  • Outcomes: match, partial_match, no_match, needs_review.
  • Include misspellings, alternative names, over-specific answers, and answers that hedge between two options.

Decision design

  • Choice. Options are a fixed set supplied by Python, including the fallback outcome this use case names. Show the choice, the per-option probabilities, and the confidence for individual examples before aggregating.

Level 2 scope

Context-sensitive matching, scoring, or verification with candidate sets and explicit uncertain or no-match outcomes.

Acceptance criteria

  • recipes/21-quiz-answer-adjudication/notebook.ipynb runs top to bottom offline, with no key and no network, and its outputs are committed
  • Live mode is opt-in (JEV_COOKBOOK_LIVE=1 with TYPESAFE_API_KEY) and uses the same question definitions as the offline run
  • Fixtures are synthetic, include the hard cases named in the build notes, carry gold labels, and pass the fixture validator
  • Every response fixture records its provenance, and the notebook states which mode it ran in
  • Evaluation: Agreement with human adjudication, and how many answers never needed a model call.
  • Candidate sets are assembled by Python and shown to the reader
  • The uncertain or no-match outcome is exercised by several fixtures and reported separately in the evaluation
  • No statement about Jev's quality, latency, or cost appears without recorded live inference; in a synthetic run, metrics are labelled as pipeline checks
  • recipes/21-quiz-answer-adjudication/README.md says what the recipe teaches, how to run it, and what was and was not measured live
  • The pull request changes only recipes/21-quiz-answer-adjudication/ and CI is green

Dependencies

Sources

Read these before writing the questions.

Out of scope

  • Changes to shared code, the catalog, or the root README. If the shared package is missing something, open a foundation issue and link it here.
  • Real side effects of any kind. Actions are simulated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    cat: games & simulationCategory: Games & simulationdecision: choiceUses a Choice questionlevel: 2 easyCandidate sets and explicit uncertain or no-match outcomespriority: p1Next up once unblockedsize: MAbout a daystatus: blockedWaiting on the issues listed under Dependenciestype: recipeA cookbook notebook recipe

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions