Verification level
HTTP contract only; no simulator startup required. Liveness, readiness,
discovery, capabilities, and OpenAPI do not open the FastSim application. A fresh
server reports HTTP 200 with status: ready, application_opened: false, and
accepting_work: true: it can accept the first Run request without pre-opening the
simulator.
Run it
Terminal A:
cd demo/server/01_discovery_and_capabilities
fastsim config validate run.yaml --json
fastsim-server run.yaml
Terminal B:
cd demo/server/01_discovery_and_capabilities
python main.py
The client prints /health/live, /health/ready, /api/v1,
/api/v1/capabilities, and the number of paths in OpenAPI. It does not start or stop
the Run. A capability marked false must be treated as unavailable; clients should
never infer support from a route name alone.
Things to notice
- Liveness means the HTTP process responds; readiness means the application accepts Run work. Readiness does not mean that the simulator has already opened.
- Discovery publishes hard request, response, query, operation, and binary limits.
- OpenAPI is machine-readable and uses the same authentication boundary as all other routes.
- Planning reads remain false because terminal A did not use
--planning-reads.
Next: 02 — Lifecycle.