Skip to content

Stream devices live, add agent companion mode, finish unified trails - #218

Merged
handstandsam merged 1 commit into
mainfrom
upstream-2026.07.21
Jul 21, 2026
Merged

Stream devices live, add agent companion mode, finish unified trails#218
handstandsam merged 1 commit into
mainfrom
upstream-2026.07.21

Conversation

@handstandsam

Copy link
Copy Markdown
Collaborator

Summary

Syncs the latest upstream changes through 2026.07.21, bringing in:

  • Live device streaming everywhere: the /devices viewer and the Trail Runner device mirror now stream continuous H.264 video for Android devices, iOS simulators (via baguette serve), web browsers (CDP screencast), and Electron apps — with graceful fallback to screenshot polling when a stream source isn't available, and parameter sets kept on every keyframe so mid-stream joins decode cleanly.
  • Companion mode: agent-attached authoring sessions. A coding agent owns a trail folder's files while Trail Runner opens a read-only live view the human can watch and steer via standing directives, guided recording, and review requests (trailblaze companion start/listen/respond, --agent-help for the contract).
  • Unified trail format completion: every remaining v1 blaze.yaml / per-device *.trail.yaml under trails/ is converted to the single unified trail.yaml shape, and the v1 trail migrator plus its migrate-trails command are removed. Unified trails delegated to the daemon now run on the driver they pin.
  • Persistent binary Android transport: host↔device RPC and log delivery move to multiplexed Wire-protobuf WebSockets (new trailblaze-ondevice-rpc-proto module), with HTTP/JSON fallback and a TRAILBLAZE_ANDROID_WIRE_TRANSPORT rollback switch.
  • Video in reports: iOS simulator runs record video again, and the report timeline plays the captured run video with a bottom scrubber (arrow-key stepping included).
  • Experimental: Android agent-loop screenshots can be served from the live device stream (trailblaze config android-stream-screenshots, env overrides for A/B validation).
  • Sensitive-args log redaction: tools can declare sensitive args (e.g. base64Content on android_writeBytesToFile), masked at the log-encode boundary so secret material stays out of persisted session logs.
  • CLI/daemon quality: repeated snapshots reuse the connected device, device discovery no longer re-runs several times per command, dev rebuilds never stop a daemon with runs in flight, and CLI run polling uses an inactivity watchdog instead of a flat cap.
  • Report internals: session event streams render through per-stream formatter plugins, with cross-language parity fixtures.

@handstandsam
handstandsam force-pushed the upstream-2026.07.21 branch 2 times, most recently from 3e3f593 to 3ce3f4f Compare July 21, 2026 18:31
@handstandsam
handstandsam force-pushed the upstream-2026.07.21 branch from 3ce3f4f to 22f20b5 Compare July 21, 2026 18:51
@handstandsam
handstandsam merged commit a022ca6 into main Jul 21, 2026
2 checks passed
@handstandsam
handstandsam deleted the upstream-2026.07.21 branch July 21, 2026 18:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant