Skip to content

Recipe 37: Research domain tagging #37

Closed

Description

@CompleteDotTech

Recipe 37 of 60 · Level 3 (Intermediate) · Data quality & knowledge graphs · Noul

Use case

Assign independently judged research-domain labels to evidence passages while Python preserves provenance and enforces access controls.

What to build

The folder recipes/37-research-domain-tagging/ with notebook.ipynb, README.md, and fixtures/, meeting the recipe contract. Start from python tools/new_recipe.py 37 and the template in recipes/_template/.

Build notes

  • One independent Noul per research domain for each evidence passage.
  • Python filters passages by access control before any request and keeps provenance on every tag.
  • A test shows that a restricted passage is never sent and never appears in output.

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 3 scope

Multiple judgments or stages, structured evidence, deterministic composition, and task-level evaluation.

Acceptance criteria

  • recipes/37-research-domain-tagging/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: Multi-label F1, and the access-control test.
  • The deterministic composition lives in a Python function with tests in tests/
  • Evaluation is at task level, not only per question
  • 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/37-research-domain-tagging/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/37-research-domain-tagging/ 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: data quality & graphsCategory: Data quality & knowledge graphsdecision: noulUses a Noul questionlevel: 3 intermediateMultiple judgments or stages with deterministic compositionpriority: p2Scheduled after p1 worksize: 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