Follow-up Messages
Documentation and guides for OutcomeDev.
OutcomeDev allows you to seamlessly continue a task execution by asking follow-up questions, directing the agent towards a new outcome, or catching up on errors directly from the chat interface. Depending on whether your task is marked as Keep-Alive or Non-Keep-Alive, the infrastructure handles the chat follow-up completely differently to optimize speed and compute efficiency.
Keep-Alive Tasks
When a task has Keep-Alive enabled, the sandbox container remains active and running even after the AI agent has completed its execution stream. Follow-ups on Keep-Alive tasks are instantaneous and maintain full ephemeral system state (like running development servers, in-memory process caches, or uncommitted files).
- Instant Execution: The system immediately relays your follow-up message to the already-running sandbox via our sandbox infrastructure.
- State Preservation: Any processes running inside the container (e.g.
npm run dev) are still alive. - No Setup Overhead: Because the environment is still spun-up, there's no waiting for Git cloning, branch switching, or dependency installations.
Ideal for: Rapid iteration, actively debugging application processes, and when you are closely monitoring the AI's step-by-step progress.
Non Keep-Alive Tasks
By default, OutcomeDev gracefully shuts down the AI sandbox compute instance immediately after the agent finishes its work to preserve system resources and strictly manage credit/cost balances.
When you send a follow-up message to a task that has been shut down, the system re-hydrates the execution environment behind the scenes. The result is exactly the same, but the initial spin-up involves the following steps:
- Provision New Sandbox: A brand new ephemeral compute container is created.
- Clone and Checkout Branch: The sandbox clones your repository and natively checks out the AI's specific feature branch (
agent/<timestamp>). - Install Dependencies: Dependencies are installed from scratch into the new container to ensure a functional workspace.
- Agent Resumption: The agent is given your follow-up command, alongside the full context of the previous conversations, and then begins execution.
Because the system commits code to the agent/... branch at the end of the prior task execution, the new sandbox resumes exactly where it left off — ensuring perfectly synchronized state across stateless containers.
[!TIP] Under the Hood: The Lazarus Protocol We call this mechanism of aggressively pruning idle compute and recreating it from Git the Lazarus Protocol. By treating the Virtual Machine as the disposable "Body" and Git as the permanent "Memory", we guarantee absolute continuity even across fatal container crashes, without paying for idle server time.
Ideal for: One-off fire-and-forget automation, scheduled cron tasks, and large batches where resources should be conserved.
The Chat UI Experience
Regardless of the backend infrastructure strategy chosen for your task, the chat interface masks this complexity. OutcomeDev leverages a continuous WebSocket connection so follow-up responses stream fluidly into your chat UI instantly.
- Non-blocking UI: When you hit "Send", the connection stays intact. Follow-up answers stream back natively via realtime events (
task_update,new_message,agent_completed). - Resilient Recovery: In the event that a sandbox hangs or network issues disrupt the stream, OutcomeDev is equipped with a 45-second heartbeat recovery algorithm that safely attempts reconnection to the event-stream.