Skip to main content
Visor returns a structured JSON envelope for normal commands. If you run visor --help, visor -h, or invoke the CLI with no command, the CLI prints a plain-text usage summary instead. If you run visor --version or visor -v, the CLI prints the package version instead.

Top-level envelope

Error payload

Run result

When a scenario run succeeds or fails, data.run contains a run result.

Step result

Map metadata

Mapped execution metadata uses these fields: Direct action commands return this object in data.map. Scenario runs return it in data.run.map. A routed or repaired step may also include details.map.route, an ordered list of hidden route actions Visor performed before the requested step action. visor discover adds data.map.summary when Visor enables mapped execution and can read the persisted map file. You can safely share the summary in reviews because it does not include the host map path.

Discovery annotation result

When visor discover --annotate-current <file|-> succeeds, data.annotation confirms the semantic update applied to the variant observed by that command. The same response includes data.screen.variant_id and data.screen.screen_id. Visor applies annotation before data.crawl when you use both options. data.observation_token identifies the exact discovery observation. Pass it back with --observation-token to annotate without another device source read. data.memory contains the compact current-screen slice, relevant routes, and semantic gaps.

Route result

visor route returns these fields in data: Each step reports success, runtime_failure, or verification_failure. A path reports completed, failed, or skipped.

Assertion result

Assertion results are plain objects with these fields:

Benchmark result payload

Benchmark responses store their command-specific payload in data.

Validation payload

Validation responses use this data structure: Important behavior:
  • schema-invalid scenarios return status: "ok" with data.valid: false and a non-zero process exit code
  • malformed JSON or unreadable files return a failure envelope with status: "fail"
Each issue contains:
  • severity
  • code
  • message
  • path

Example envelope