Verification level
Public application inspection over loopback HTTP. The Run configuration compiles and the client exercises the inspection surface. Optional Scenario sections are present here so their exact opaque payloads can be seen. This configuration has no plugin instance, so the client reports that fact instead of inventing one.
Run it
Terminal A:
cd demo/server/03_run_scenario_and_plugins
fastsim config validate run.yaml --json
fastsim-server run.yaml
Terminal B:
cd demo/server/03_run_scenario_and_plugins
python main.py
scenario/source explains whether the Scenario was inline or component-selected;
scenario/scene contains the fixed authored layout. behavior and evaluation are
optional plugin-owned data, not semantics interpreted by FastSim Core. When absent,
their individual routes return 404 scenario_section_absent.
Plugin events use an after_sequence cursor and a bounded limit. A production
client should remember next_after_sequence instead of repeatedly downloading old
events.
The three plugin views serve different purposes:
GET /api/v1/plugins/statusreturns the plugin host and all configured instances.GET /api/v1/plugins/{instance}/statusreturns one exact instance plus bounded host context. Pass--plugin-instance NAMEwhen using this client with a Run that configures plugins; a missing instance is reported without a traceback.GET /api/v1/plugins/eventsreturns a cursor-paginated event page and supportsinstanceandtopicfilters.
Plugins cannot be started or stopped independently through this API. Their prepare, start, reset, stop, and cleanup phases follow the owning Run lifecycle.