Repository navigation
Recipe 36: Card-game action selection #36
Copy link
Copy link
Closed
Labels
cat: games & simulationCategory: Games & simulationCategory: Games & simulationdecision: choiceUses a Choice questionUses a Choice questionlevel: 3 intermediateMultiple judgments or stages with deterministic compositionMultiple judgments or stages with deterministic compositionneeds: simulatorDepends on the simulation and state primitivesDepends on the simulation and state primitivespriority: p2Scheduled after p1 workScheduled after p1 worksize: LTwo to three days; consider splitting the workTwo to three days; consider splitting the workstatus: in progressClaimed; a branch or pull request existsClaimed; a branch or pull request existstype: recipeA cookbook notebook recipeA cookbook notebook recipe
Milestone
Description
Recipe 36 of 60 · Level 3 (Intermediate) · Games & simulation ·
Choice
Use case
Select a legal action in a turn-based card-game simulator using structured state and fixed action descriptions while Python enforces game rules.
What to build
The folder recipes/36-card-game-action-selection/ with notebook.ipynb, README.md, and fixtures/, meeting the recipe contract. Start from python tools/new_recipe.py 36 and the template in recipes/_template/.
Build notes
- A small turn-based card game simulator in Python that enforces the rules.
- Python enumerates the legal actions each turn. Those are the only options.
- Baselines: a random legal policy and a simple rule-based policy over seeded games.
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 3 scope
Multiple judgments or stages, structured evidence, deterministic composition, and task-level evaluation.
Acceptance criteria
-
recipes/36-card-game-action-selection/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: Win rate or score over seeded games against both baselines, with zero illegal actions.
- 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/36-card-game-action-selection/README.mdsays what the recipe teaches, how to run it, and what was and was not measured live - The pull request changes only
recipes/36-card-game-action-selection/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)
- Tracked in Epic: Level 3 · Intermediate recipes #77
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.
- S04 · TypeSafe AI: How to build with TypeSafe: Narrow semantic judgments integrated with workflows, deterministic logic, and side effects controlled by code.
- S07 · TypeSafe AI: Jev 1.13 jaggedness: Version-specific limitations affecting arithmetic, context selection, adversarial content, and generation.
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: games & simulationCategory: Games & simulationCategory: Games & simulationdecision: choiceUses a Choice questionUses a Choice questionlevel: 3 intermediateMultiple judgments or stages with deterministic compositionMultiple judgments or stages with deterministic compositionneeds: simulatorDepends on the simulation and state primitivesDepends on the simulation and state primitivespriority: p2Scheduled after p1 workScheduled after p1 worksize: LTwo to three days; consider splitting the workTwo to three days; consider splitting the workstatus: in progressClaimed; a branch or pull request existsClaimed; a branch or pull request existstype: recipeA cookbook notebook recipeA cookbook notebook recipe
Activity
CompleteDotTech commentedon Oct 13, 2026
Unblocking label correction: both blockers named in the build notes are closed — #69 (CI executes every notebook offline and validates fixtures) and #70 (simulation and state primitives). Moved to
status: ready. No other change; this recipe is not yet dispatched.