Skip to content

Recipe 40: Hierarchical classification #40

Closed

Description

@CompleteDotTech

Recipe 40 of 60 · Level 4 (Advanced) · Data quality & knowledge graphs · Choice

Use case

Route documents through a taxonomy in stages while Python carries competing branches forward when early judgments are uncertain.

What to build

The folder recipes/40-hierarchical-classification/ with notebook.ipynb, README.md, and fixtures/, meeting the recipe contract. Start from python tools/new_recipe.py 40 and the template in recipes/_template/.

Build notes

  • Route documents through a taxonomy in stages.
  • When an early judgment is uncertain, Python carries competing branches forward.
  • Baselines: a greedy single path and a flat classifier over the leaves. Count requests for each.

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

Stateful workflows, provenance, adversarial cases, model calibration, or several integrated decision stages.

Acceptance criteria

  • recipes/40-hierarchical-classification/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: Leaf accuracy and request count against both baselines.
  • State, provenance, or policy rules are enforced in helpers.py and covered by tests that hold for any model answer
  • Fixtures include adversarial, conflicting, or stateful cases, and the notebook walks through at least one
  • 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/40-hierarchical-classification/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/40-hierarchical-classification/ 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: 4 advancedStateful workflows, provenance, adversarial cases, calibrationpriority: p2Scheduled after p1 worksize: LTwo to three days; consider splitting the workstatus: readyNo open blockers; can be picked uptype: recipeA cookbook notebook recipe

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions