Repository navigation
Recipe 04: Support ticket routing #4
Copy link
Copy link
Closed
Labels
cat: workflow & service opsCategory: Workflow & service operationsCategory: Workflow & service operationsdecision: choiceUses a Choice questionUses a Choice 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 04 of 60 · Level 1 (Beginner) · Workflow & service operations ·
Choice
Use case
Assign a support ticket to a fixed service category or an unclear-request outcome using its subject and description.
What to build
The folder recipes/04-support-ticket-routing/ with notebook.ipynb, README.md, and fixtures/, meeting the recipe contract. Start from python tools/new_recipe.py 04 and the template in recipes/_template/.
Build notes
- A fixed list of service categories plus an explicit
unclear_requestoutcome. - Pass subject and description as structured state, not one concatenated string.
- Python maps the category to a simulated queue. Tickets routed to
unclear_requestare listed separately.
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.
Level 1 scope
One bounded judgment over a short prepared input with direct inspection of typed results.
Acceptance criteria
-
recipes/04-support-ticket-routing/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: Accuracy and per-category recall, and how the unclear tickets were handled.
- 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/04-support-ticket-routing/README.mdsays what the recipe teaches, how to run it, and what was and was not measured live - The pull request changes only
recipes/04-support-ticket-routing/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.
- S04 · TypeSafe AI: How to build with TypeSafe: Narrow semantic judgments integrated with workflows, deterministic logic, and side effects controlled by code.
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.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
cat: workflow & service opsCategory: Workflow & service operationsCategory: Workflow & service operationsdecision: choiceUses a Choice questionUses a Choice 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
Foundation: fix round 1 for sweep batch A (#163) — review 6085598499
Sweep: recipes 01-05 aligned with the current contract and guard (#190)
Sweep: matrix print alignment, answer-plot titles and URL form, batch…