Skip to content
Zachary BENSALEM edited this page Oct 20, 2026 · 7 revisions

Fleet RLM Lite

Fleet RLM Lite is a Python agent runtime for working with files, executing code, and delegating investigations to child agents. It combines DSPy reasoning, Daytona sandbox execution, PostgreSQL persistence, and MLflow observability behind a streaming terminal client.

The current runtime lives entirely under src/fleet_rlm/. It is not the former multi-package backend or TypeScript terminal application. If you remember a Node-based TUI, a multi-package workspace, or separate RLM worker services, those are gone; the current code is a single compact Python package.

What it does

A user types a task into the terminal client. The client sends it to a FastAPI server, which runs one Turn of an adaptive DSPy program. Depending on how the request is routed, the model answers directly, runs a bounded Flex workflow, or enters the primary RLM loop that writes Python, executes it in a Daytona sandbox, observes results, and iterates until it submits an answer. Large inputs stay in workspace files: the model receives paths, sizes, digests, and bounded previews, then explores the data through code. Sessions keep history, files, reviewed memory, and runtime selections across restarts.

Terminal client ── HTTP / SSE ──> FastAPI ──> DSPy Turn program
                                    │              │
                                    │              └── Daytona: generated Python,
                                    │                  root and child sandboxes
                                    ├── PostgreSQL: durable session state
                                    └── MLflow: traces and evaluation

Who uses it

  • Operators run uv run fleet cli and work interactively: attach files, ask questions, inspect artifacts, review traces, and label examples for optimization.
  • Evaluators and maintainers use fleet eval and fleet optimize to build curated datasets, score Turns with the shared fleet_metric, and gate GEPA candidate programs.
  • Integrators talk to the FastAPI server directly; the HTTP API and SSE stream are documented in HTTP API.

The three routes

Route What runs Typical use
direct Chain-of-thought answer, no code Greetings, explanations
flex A dspy.Flex module with a Daytona interpreter One bounded Python or Skill workflow
rlm dspy.RLM iterative loop with tools and child agents Multi-part exploration and delegation

hybrid mode (the default) lets a triage predictor pick the route per Turn; strict rlm and flex modes bypass triage. See Hybrid routing and Routes and signatures.

Quick links

  • Architecture: components, request path, trust boundaries
  • Getting started: install, configure, run, test
  • Glossary: Turn, Session, namespace, bundle, and other load-bearing terms
  • Systems: engine, sandbox, store, session, skills, optimization, terminal
  • Features: routing, code-driven reasoning, delegation, GEPA, tracing
  • Reference: configuration, data models, dependencies, CLI

What this wiki is based on

These pages describe the code at commit 26e199728 on main (2026-10-20), the first state after the Fleet RLM Lite refactor merged in PR #623. Every behavioral claim should be traceable to a file under src/fleet_rlm/; the lore page records what came before.


Generated by Factory

Clone this wiki locally