diff --git a/architecture/assets.md b/architecture/assets.md index 8986f98c..056dc2bf 100644 --- a/architecture/assets.md +++ b/architecture/assets.md @@ -2,7 +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//`. +data** under `usersim/engine/assets//`, or, for a built-in probe kept +in its own folder, under that folder's `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 @@ -29,14 +30,19 @@ package, such as `Path(__file__).parent / "assets"`, so the probe finds its banks wherever the package is installed, with no environment variable to set. Registration refuses a relative root. That root is searched for that probe only, after the first three entries and before the packaged directory, -so a deliberate override wins over it. The built-in probes declare none. A -probe's bank loader reads under its class's `assets_dir()`, the folder this -search finds for the probe. +so a deliberate override wins over it. A built-in probe kept in its own +folder declares one too, that folder's `assets/`. A probe's bank loader reads +under its class's `assets_dir()`, the folder this search finds for the probe, +and its `prompts.yaml` is read from that folder too. An explicit `--assets-dir` is **not** part of the search. It pins resolution to exactly that directory, for every probe in the run, including one that declares `assets_root`, because a user who named a location should be told when the assets are not there rather than quietly served another copy. +Pinning the packaged directory pins the assets that ship with User Sim, so it +also reaches a built-in probe whose banks are in its own folder. +`simulate --inputs` pins the folder its rows were stored with: the packaged +directory, for rows stored by a run that named no folder and set no override. There is no fallback to the working directory. Resolving against wherever the process happened to start makes a broken install look healthy from a source diff --git a/architecture/probes.md b/architecture/probes.md index 97bbe133..4e6f08a3 100644 --- a/architecture/probes.md +++ b/architecture/probes.md @@ -167,7 +167,8 @@ the turn had no side effects. ## Assets -A probe's content lives at `engine/assets/