Skip to main content
fleet-rlm is an RLM-native backend. A Session reuses one native dspy.RLM, one caller-owned interpreter, and one Root Sandbox with a workspace-scoped durable Volume across sequential clean Turns. It streams typed Runtime Events over Server-Sent Events and atomically commits each Turn’s result to Postgres. Tainted or incompatible runtimes rotate before the next Turn.

One Session, one resident RLM

TurnRuntime validates the deterministic local scope, Attachments, and exact Skill selections before opening SSE, and owns Turn preparation, execution, streaming, validation, commit, and finalization. RLMRunner runs the Turn over the resident Session dspy.RLM, and RunLifecycle.finish() owns result snapshot handling, Artifact publication, and atomic Turn Commit. TurnRuntime projects the terminal suffix and cleans up Run resources. The Root uses Python, native Sub-LM queries, or isolated child RLMs according to a cheapest-sufficient delegation ladder. Recursive children remain one native level deep. Root-only rlm_query_batched provides ordered, bounded sibling fan-out, and the Root verifies and synthesizes their evidence before SUBMIT. See Recursive RLM for the full delegation flow.

Daytona-backed execution

Daytona holds the Root Sandbox and interpreter under a Session lease and reuses them across clean Turns in the Workspace Volume Scope. Each Turn receives a bounded newest-record digest of Workspace Memory in its session_context; the full memory/MEMORIES.md log remains behind the host-mediated Memory Tools. The RLM may append a record only when the user explicitly asks to remember something. Memory is immediate workspace state, not Session History or a Turn-commit record, and survives failed Runs and Sandbox replacement. Every Root Turn receives the complete committed Session conversation as a dspy.History input; the bounded previews in session_context and the read_session_history Tool remain as compatible navigation surfaces. See Daytona runtime for lifecycle and Volume Scope details.

Runtime surfaces

Fleet ships a backend and a maintained terminal client. There is no Fleet-shipped web UI. All launchers default to 127.0.0.1 and reject non-loopback binds unless --allow-non-loopback-bind is passed. See the CLI reference.

Policy-driven configuration

Non-secret runtime policy lives in config/fleet.toml. [config] default_profile selects the shipped daytona-recursive profile, the only committed profile. Policy is strict, resolved once at process startup, and takes effect only after restart. Only the environment variables named by the selected profile are read. Fleet uses one deterministic local User and Workspace scope. It accepts no Authorization header or caller-supplied identity headers. The /api/settings endpoint is a separate loopback-only administration surface. See the configuration reference for the full policy structure.

Observability

Every typed Runtime Event is projected as a bounded Turn.progress.<event-kind> child span through the centralized EventRecorder. This includes RLM reasoning summaries, generated code, interpreter output, tool inputs and outputs, status and progress events, structured results, streamed text, and the committed final answer. Live, reconciled, and committed events remain aligned. It does not export hidden provider chain-of-thought or arbitrary callback payloads. The shipped profile routes traces to the local MLflow experiment at http://127.0.0.1:5001; the supervised fleet cli command starts or reuses that server. Databricks-hosted tracing is available by declaring mlflow.tracking_uri = "databricks" and the managed *_env references in a local profile. See Observability for the full trace contract.

Next

Architecture

Turn runtime, RLM runner, Run lifecycle, and Daytona substrate.

Recursive RLM

Root delegation ladder, one-level child recursion, and shared budgets.

Daytona runtime

Sandbox lifecycle, Workspace Volume Scope, and Interpreter Leases.

Sessions & persistence

Committed Turn history, Alembic-managed Postgres, and durable Artifacts.

Observability

Runtime Events, MLflow tracing, and diagnostics.

HTTP API

Turn streaming contract and error envelope.

Glossary

Definitions for Sessions, Turns, Runs, Claims, and other core terms.
Last modified on September 4, 2026