What's New
Containerized Executions — exec executables now take a container: block to run a command or file inside a Docker/Podman image instead of on the host, with the same params/args/secrets interface. Auto-mounts the workspace, writes secrets to a
0600 env-file, and cleans up containers on exit/timeout. (#407, #410 — closes #245)
Agent Execution Observability — Makes flow usable as an agent's primary execution
engine and turns its history into an observability surface:
- Lifecycle-aware history — runs are recorded at start as
runningand updated tocompleted/failed; dead processes reconcile tofailedon next view. - Provenance — runs capture their origin (
cli, ormcp+ client name + session ID).flow logsgains--source/--session/--client/--statusfilters and a new Origin column. - New MCP tools —
run_commandandrun_executablelet agents run anything through flow with workspace env/secrets and a durable, attributable history entry. Always-loaded MCP tool surface trimmed ~50% to lower context cost. (#411)
Execution Log Output — flow logs / get_execution_logs can now fetch a run's captured output, not just metadata, with tail / grep / content options (byte-capped, end-of-log biased). Reads live, so it works on still-running executions. (#412)
Auto-Discovered Templates — Drop a *.flow.tmpl file into a workspace and it's usable by name after flow sync — no flow template add needed. Registration still works. Resolution order: -f <path> → registered name → discovered name. A templates include/exclude block in flow.yaml scopes discovery. (#413)