Repository navigation
Open
Labels
cat: data quality & graphsCategory: Data quality & knowledge graphsCategory: Data quality & knowledge graphsdecision: choiceUses a Choice questionUses a Choice questiondecision: combinationComposes more than one decision typeComposes more than one decision typedecision: noulUses a Noul questionUses a Noul questionlevel: 5 expertOptimization studies or closed-loop simulationsOptimization studies or closed-loop simulationspriority: p3Last waveLast wavesize: XLSeveral days; plan checkpointsSeveral days; plan checkpointsstatus: readyNo open blockers; can be picked upNo open blockers; can be picked uptype: recipeA cookbook notebook recipeA cookbook notebook recipe
Milestone
Description
Recipe 57 of 60 · Level 5 (Expert) · Data quality & knowledge graphs ·
Choice+Noul
Use case
Combine entity, relationship, and evidence judgments into a proposed graph update that Python validates and applies transactionally in a simulated store with replayable provenance.
What to build
The folder recipes/57-evidence-graph-updates/ with notebook.ipynb, README.md, and fixtures/, meeting the recipe contract. Start from python tools/new_recipe.py 57 and the template in recipes/_template/.
Build notes
- Combine entity, relationship, and evidence judgments into a proposed graph update.
- Python validates the update and applies it transactionally in a simulated store, rolling back on failure.
- Provenance is replayable: the graph can be rebuilt from the log.
Decision design
- Choice. Options are a fixed set supplied by Python, including the fallback outcome this use case names. Show the
choice, the per-optionprobabilities, and theconfidencefor individual examples before aggregating. - 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.
- Composition. Independent questions share one request. A question that depends on an earlier answer goes in a later request, and the notebook makes that boundary visible.
Level 5 scope
Controlled optimization studies or closed-loop simulations requiring budgets, baselines, and held-out or trajectory evaluation.
Acceptance criteria
-
recipes/57-evidence-graph-updates/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: Update accuracy against gold, a rollback test, and a replay test.
- Budgets, seeds, and frozen configurations are recorded in the notebook output
- A baseline is run under the same conditions, and any held-out split is used exactly once after choices are frozen
- Results are reproducible from the committed seeds and fixtures
- 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/57-evidence-graph-updates/README.mdsays what the recipe teaches, how to run it, and what was and was not measured live - The pull request changes only
recipes/57-evidence-graph-updates/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)
- Blocked by Foundation: simulation and state primitives #70 (simulation and state primitives)
- Builds on Recipe 34: Evidence relationship labels #34 (Evidence relationship labels), Recipe 47: Evidence conflict diagnosis #47 (Evidence conflict diagnosis). Merge those first and reuse their patterns; do not copy their fixtures.
- Tracked in Epic: Level 5 · Expert recipes #79
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.
- 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: data quality & graphsCategory: Data quality & knowledge graphsCategory: Data quality & knowledge graphsdecision: choiceUses a Choice questionUses a Choice questiondecision: combinationComposes more than one decision typeComposes more than one decision typedecision: noulUses a Noul questionUses a Noul questionlevel: 5 expertOptimization studies or closed-loop simulationsOptimization studies or closed-loop simulationspriority: p3Last waveLast wavesize: XLSeveral days; plan checkpointsSeveral days; plan checkpointsstatus: readyNo open blockers; can be picked upNo open blockers; can be picked uptype: recipeA cookbook notebook recipeA cookbook notebook recipe
Activity
Foundation: PR #375 bounded fix round -- the scripted scaffold's 128-…