SatQuery
Analyze
Session SQ-LOCAL-—
Illustrative frame
Illustrative reference observation — not a SatQuery result
Illustrative Reference imagery · ESA / Copernicus — not a SatQuery result
Execution trace — ControllerState idle

The eight production events (QUERY_RECEIVED → RESULT_ASSEMBLED) drive these states through SQ.run().ingest(). The local mock emits them with empty payloads: RECEIVE / PARSE / PLAN are exercised by the deterministic router; PREPROCESS → RESPOND show “awaiting backend” because no model is connected. No execution is simulated.

Event stream Same names, same payload shape as production — swap the mock for a live feed and nothing else changes.