Skip to content

Recipe 14: Source span selection #14

Closed

Description

@CompleteDotTech

Recipe 14 of 60 · Level 2 (Easy) · Data quality & knowledge graphs · Choice

Use case

Select the supplier name from text spans already extracted by Python, with a not-stated outcome when the document lacks that field.

What to build

The folder recipes/14-source-span-selection/ with notebook.ipynb, README.md, and fixtures/, meeting the recipe contract. Start from python tools/new_recipe.py 14 and the template in recipes/_template/.

Build notes

  • Python extracts candidate spans first and assigns each an identifier and character offsets.
  • Options are the span identifiers plus not_stated. Python returns the exact source text by offset.
  • Include documents with two plausible organisations and documents with no supplier.

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/14-source-span-selection/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: Exact match on supplier name and correct handling of not_stated.
  • 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/14-source-span-selection/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/14-source-span-selection/ 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: 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