Repository navigation
Closed
Labels
cat: search & retrievalCategory: Search & retrievalCategory: Search & retrievaldecision: noulUses a Noul questionUses a Noul questionlevel: 1 beginnerOne bounded judgment over a short prepared inputOne bounded judgment over a short prepared inputpriority: p1Next up once unblockedNext up once unblockedsize: SAbout half a day for one agent or personAbout half a day for one agent or personstatus: blockedWaiting on the issues listed under DependenciesWaiting on the issues listed under Dependenciestype: recipeA cookbook notebook recipeA cookbook notebook recipe
Milestone
Description
Recipe 10 of 60 · Level 1 (Beginner) · Search & retrieval ·
Noul
Use case
Judge whether a candidate response addresses the user's question so a notebook can separate relevant answers from off-topic replies.
What to build
The folder recipes/10-answer-relevance-check/ with notebook.ipynb, README.md, and fixtures/, meeting the recipe contract. Start from python tools/new_recipe.py 10 and the template in recipes/_template/.
Build notes
- One proposition: the response addresses the user's question.
- Pair each question with relevant, partly relevant, and off-topic responses, including fluent answers to a different question.
- Python separates relevant from off-topic replies by threshold.
Decision design
- Noul. Write each proposition as a statement that is true or false. One independent question per label or concern, sent together in one request. Noul has no confidence field, so each threshold is chosen from examples and evaluated.
Level 1 scope
One bounded judgment over a short prepared input with direct inspection of typed results.
Acceptance criteria
-
recipes/10-answer-relevance-check/notebook.ipynbruns top to bottom offline, with no key and no network, and its outputs are committed - Live mode is opt-in (
JEV_COOKBOOK_LIVE=1withTYPESAFE_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: Precision and recall across a threshold sweep.
- A reader with basic Python can follow it end to end; every new term is explained where it first appears
- At least three individual typed answers are displayed and discussed before any aggregate metric
- 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/10-answer-relevance-check/README.mdsays what the recipe teaches, how to run it, and what was and was not measured live - The pull request changes only
recipes/10-answer-relevance-check/and CI is green
Dependencies
- Blocked by Foundation: CI executes every notebook offline and validates fixtures #69 (CI executes every notebook offline and validates fixtures)
- Tracked in Epic: Level 1 · Beginner recipes #75
Sources
Read these before writing the questions.
- S02 · TypeSafe AI: Primitives (Questions): Choice, Noul, Score, independent questions, and dependent follow-up calls.
- S03 · TypeSafe AI: Confidence: Distribution-derived confidence and task-specific thresholds informed by observed outcomes.
- S04 · TypeSafe AI: How to build with TypeSafe: Narrow semantic judgments integrated with workflows, deterministic logic, and side effects controlled by code.
- S06 · TypeSafe AI: Cookbooks: Worked patterns for extraction, citation checking, skill selection, hierarchical classification, and feature discovery.
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
Labels
cat: search & retrievalCategory: Search & retrievalCategory: Search & retrievaldecision: noulUses a Noul questionUses a Noul questionlevel: 1 beginnerOne bounded judgment over a short prepared inputOne bounded judgment over a short prepared inputpriority: p1Next up once unblockedNext up once unblockedsize: SAbout half a day for one agent or personAbout half a day for one agent or personstatus: blockedWaiting on the issues listed under DependenciesWaiting on the issues listed under Dependenciestype: recipeA cookbook notebook recipeA cookbook notebook recipe
Activity
CompleteDotTech commentedon Oct 8, 2026
Orchestrator note for the brief of this Noul recipe (from the review of recipe 02, #136): add S03 (Confidence, https://docs.typesafe.ai/confidence.md) to the sources — a Noul recipe's certainty is
|2p − 1|per that page and the recipe must state it; design an explicit uncertain/review outcome (the Noul page's three-path pattern) unless this issue rules it out; flagged items land in ajev_cookbook.simulation.ReviewQueuethe notebook shows; validation probabilities must populate the band the threshold is chosen from; every validation number and figure carries the selection label. The shared helper is being corrected under #140; do not start before it merges.Foundation: deduplicate candidate thresholds (no value rounding); reg…
Fix round 1: address Opus review MC1-MC3 and cheap suggestions on PR #…
Merge origin/main (3c5e188) into foundation/sweep-163-b
Merge origin/main (a9c9360) into foundation/sweep-163-b
Sweep: recipes 06-10 aligned with the current contract and guard (#197)