Skip to content

Subsystems

The subsystem view is the bridge between public workflows and the code layout.

  • App, CliOptions, composition services, command routers, and envelope writers own parsing, dispatch, help, output envelopes, and failure responses.
  • One-shot commands return one final envelope unless human or quiet console output is selected.
  • inspect streams JSONL for agents; view is an operator session that can also stream JSONL.
  • Lab commands own durable inventory, leases, queued claims, quarantines, health summaries, and device-query selection.
  • Scenario runs share that model through run --claim-device.
  • Ready production handoffs should use claimed run commands when a concrete serial is available.
  • IDeviceHost is the host-side automation seam.
  • The Android implementation stays adb-first and translates typed actions into bounded device work.
  • Read-style probes can retry known transient transport failures; mutating actions are not blindly replayed.
  • Scenario playbooks are explicit JSON files with static validation before execution.
  • The scenario runner plans, allocates, executes, reports, and preserves replay handoffs.
  • Governance, device-health, CI-policy, and failure artifacts are part of the run output.
  • inspect records structured action sessions for agents.
  • discover explores visible UI state conservatively and emits review-required scenario evidence.
  • journey-intake validates external Journey-style intent before drafting a Luotsi scenario skeleton.
  • replay scenario-draft recovers scenario drafts from persisted action events and can validate the draft immediately.
  • Artifact roots are the durable boundary between live device work and later analysis.
  • Replay commands reopen packets, capsules, timelines, scrub views, graphs, clusters, searches, and scenario drafts.
  • Artifact packages support lab-safe redaction, verify, unpack, and intake without mutating the source artifacts.
  • The live mirror stages or locates the Android helper, configures an adb tunnel, reads the private packet stream, decodes H.264 through libav, and renders through SDL3.
  • Optional sharing is read-only for observers.
  • Screenshots, recordings, startup diagnostics, and view stats are written into the artifact root.