Previews as Feedback: Bundles, Live Sessions, and Trajectories
Final export comes too late for many agent workflows. An agent may need to see whether a scene, timeline, or capture is moving in the right direction before it commits to a long render or the next mutation. This chapter explains how CLI-Anything's preview protocol turns intermediate state into a small, inspectable artifact contract while keeping rendering under the real software. The reader should be able to distinguish a static preview bundle from a live session and its trajectory, and judge whether a preview is honest enough to guide the next decision.
Why final export and JSON state leave a gap
A saved project tells an agent what the harness believes the current state to be. It does not necessarily show how that state looks, sounds, or behaves when interpreted by the target application. A final export can answer that question, but waiting for the final export makes iteration expensive and can hide a mistake until many commands have already accumulated.
A preview fills the interval between mutation and final delivery. It can be a low-resolution image, a short clip, a thumbnail gallery, an inspection JSON file, a capture output, or another artifact derived from real project state. Its purpose is not to replace the final renderer or provide a remote copy of the GUI. Its purpose is to provide a cheap enough checkpoint that an agent can decide whether to continue, correct, or stop.
The protocol defines a small cross-harness contract: a preview bundle contains a machine-readable manifest.json, a compact summary.json, and artifacts. The manifest identifies the software, recipe, status, source identity, generator, and artifact descriptors. The summary provides a headline, facts, warnings, and possible next checks. Artifact roles such as hero, gallery, preview-clip, before, or after tell a generic viewer how to present the outputs without knowing the internal meaning of Shotcut or Blender.
This separation makes the bundle useful across domains. A video harness can publish a low-resolution clip and sampled frames. A 3D harness can publish a hero render and several views. A GPU inspection tool can publish capture thumbnails and structured pipeline data. The viewer needs to know what the artifacts are and where they live; it does not need to become an alternative renderer for each application.
A bundle is a snapshot, not a project identity
The protocol treats a bundle directory as an immutable snapshot. Its identity can incorporate the project or capture fingerprint, recipe, normalized preview arguments, harness version, and protocol version. If those inputs do not change, a capture may reuse an existing bundle. If the source or recipe changes, a new bundle can be written without mutating the old one. This makes preview generation cheaper while preserving the meaning of a previously published result.
The distinction matters for agent reasoning.