Skip to Content
ArchitectureContinuity examples

Multi-Actor Continuity Examples

TL;DR

These walkthroughs make the architecture concrete. In each, a single persistent execution-state object keeps mutating while heterogeneous operators attach and detach across different transports. No client owns the runtime; each attaches as an operator to one shared live execution. The through-line is continuity: state survives every handoff, and every operator — human or machine — acts under operator execution identity.

Example 1 — CLI starts, GUI observes, AI agent edits as an operator

A developer opens a CLI session and starts a long-running build. The CLI attaches over SSH to a fresh execution-state object; the build’s process tree is backed by a POSIX pseudo-terminal (pty) inside the object.

  1. The developer launches the build from the CLI. The process tree and accumulated stdout become part of the object’s process plane.
  2. Without stopping anything, the developer opens a browser GUI. The GUI attaches over WebSocket to the same object. Following the snapshot-then-stream synchronization model, it immediately renders the in-flight build output — exactly as a second client attaching to a tmux / tmate session sees the live terminal.
  3. An AI agent attaches to the active execution state as an operator. It does not control the machine; it issues input — editing a config file and re-running one build step. That input lands in the same serialized order alongside the human’s prior actions, and the human can take control at any time.
  4. The CLI, the GUI, and the agent all observe the same coherent result. The developer closes the CLI; the build, the GUI, and the agent are unaffected — detaching a transport does not destroy state.

The continuity here is the point: three dissimilar operators, three transports, one live execution, no privileged controller.

Example 2 — API injects a job, terminal continues, mobile resumes

A scheduled API client injects work into a session that a human is already using interactively, and later a mobile client resumes the very same state.

  1. An automation process calls the API and injects a data-processing job into an existing execution-state object. The job joins the one live execution, ordered by the input rules against whatever the interactive user is doing.
  2. The human’s terminal session continues uninterrupted. Their shell, variables, and working directory are untouched, because the API client attached as an operator over HTTP rather than seizing the session — this is multi-actor concurrency in practice.
  3. The human disconnects for the day. The object enters a detached-but-live state; the injected job and the interactive context both persist, like an IPython kernel protocol session whose front-ends have all closed but whose namespace remains warm.
  4. The next morning the human opens a mobile client over WebSocket and re-attaches to the same object. The completed job’s output, the retained variables, and the full filesystem state are all present. No cold start — re-attachment is a transport handoff, not a new session.

In both examples, swapping which transport or which actor is attached never resets the runtime. That invariant — persistent state independent of client lifecycle — is what distinguishes cmdop from socket-bound or single-tenant systems. See classification boundaries.

TAGS: continuity, multi-actor, examples, handoff DEPENDS_ON: [architecture/multi-actor-runtime, architecture/transport-independent-session]

Last updated on