Where scenarios come from
Runs are ephemeral
scenario run builds its own engine in-process against a throwaway copy of the sandbox. Nothing you serve with pikopod up is touched, and no server needs to be running. When you want your own application to meet a failure on the served sandbox, use a mode instead.
Exit codes
0 when every scenario passes, 1 when an assertion fails, 2 when a step could not execute or the run could not be set up. A failing scenario and a broken tool are never conflated.
Where packs live
scenario run looks for packs in ./scenarios (relative to where you run it) and in <data_dir>/scenarios. Generated packs are written to <data_dir>/scenarios. Copy one into ./scenarios to check it in. Packs are ordinary YAML, and a committed scenarios/ directory is the regression suite for every provider change you have survived.