From be7bddf2f5608470bf5ab53547fe02e674a82f84 Mon Sep 17 00:00:00 2001 From: Yev Meyer Date: Wed, 4 Nov 2026 07:42:40 -0500 Subject: [PATCH 1/3] refactor(engine): keep tool_calling in one folder tool_calling keeps its probe, prompts, verifier, tool catalog and tests in its own folder, as the other built-in probes do: probe.py beside prompts.py and verifiers.py, assets/tool_calling/ with the catalog, its prompts and its README, and tests/probes/tool_calling/. The class declares that assets/ folder as its root. The sample_tools fixture is in tests/conftest.py, where the engine tests and the probe's tests both reach it. engine/assets/ holds a README saying the built-in probes keep their banks beside their code, and the docs list tool_calling with them. Signed-off-by: Yev Meyer --- architecture/assets.md | 4 +- architecture/probes.md | 6 +-- docs/engine/AUTHORING_A_PROBE.md | 11 +++-- docs/engine/README.md | 4 +- src/usersim/cli/simulate.py | 2 +- src/usersim/engine/assets/README.md | 7 +++ src/usersim/engine/core/probes.py | 2 +- .../assets/tool_calling/README.md | 12 +++--- .../assets/tool_calling/prompts.yaml | 0 .../assets/tool_calling/toolsets_seed.parquet | Bin .../tool_calling/{generator.py => probe.py} | 2 + templates/probe/generator_tool_calling.py | 2 +- tests/conftest.py | 40 ++++++++++++++++++ tests/engine/conftest.py | 40 ------------------ tests/engine/core/test_assets_discovery.py | 22 ++++------ tests/engine/core/test_provenance.py | 2 +- tests/probes/tool_calling/__init__.py | 2 + .../tool_calling/test_catalog.py} | 2 +- .../tool_calling/test_probe.py} | 6 +-- .../tool_calling}/test_verifiers.py | 0 tests/test_cli_simulate_inputs.py | 2 +- tests/test_extension_seams.py | 2 +- tests/test_simulator_pipeline_e2e.py | 8 ++-- tests/test_toolset_seed_cli.py | 2 +- 24 files changed, 92 insertions(+), 88 deletions(-) create mode 100644 src/usersim/engine/assets/README.md rename src/usersim/engine/{ => probes/tool_calling}/assets/tool_calling/README.md (98%) rename src/usersim/engine/{ => probes/tool_calling}/assets/tool_calling/prompts.yaml (100%) rename src/usersim/engine/{ => probes/tool_calling}/assets/tool_calling/toolsets_seed.parquet (100%) rename src/usersim/engine/probes/tool_calling/{generator.py => probe.py} (99%) create mode 100644 tests/probes/tool_calling/__init__.py rename tests/{engine/probes/test_tool_catalog.py => probes/tool_calling/test_catalog.py} (99%) rename tests/{engine/probes/test_tool_calling.py => probes/tool_calling/test_probe.py} (98%) rename tests/{engine/probes => probes/tool_calling}/test_verifiers.py (100%) diff --git a/architecture/assets.md b/architecture/assets.md index 79dbada0..98da187c 100644 --- a/architecture/assets.md +++ b/architecture/assets.md @@ -2,8 +2,8 @@ Probe content (fact banks, query banks, pressure banks, clinical profiles, finance corpora, tool catalogs, action taxonomies) ships as **package -data** under `usersim/engine/assets//`, or, for a built-in probe kept -in its own folder, under that folder's `assets//`. +data** in each built-in probe's own folder, under +`usersim/engine/probes//assets//`. They ship inside the package so a plain `pip install` gives you working probes with no extra download step. `make check-dist` fails if the wheel diff --git a/architecture/probes.md b/architecture/probes.md index 591a907d..35de5cd5 100644 --- a/architecture/probes.md +++ b/architecture/probes.md @@ -167,9 +167,9 @@ the turn had no side effects. ## Assets -A probe's content lives at `engine/assets/