Subsystems
The subsystem view is the bridge between public workflows and the code layout.
Command runtime
Section titled “Command runtime”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.
inspectstreams JSONL for agents;viewis an operator session that can also stream JSONL.
Lab and device selection
Section titled “Lab and device selection”- 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.
Host automation
Section titled “Host automation”IDeviceHostis 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 lifecycle
Section titled “Scenario lifecycle”- 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.
Authoring and exploration
Section titled “Authoring and exploration”inspectrecords structured action sessions for agents.discoverexplores visible UI state conservatively and emits review-required scenario evidence.journey-intakevalidates external Journey-style intent before drafting a Luotsi scenario skeleton.replay scenario-draftrecovers scenario drafts from persisted action events and can validate the draft immediately.
Artifacts, packages, and replay
Section titled “Artifacts, packages, and replay”- 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.
Live view
Section titled “Live view”- 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.