The self-improving loop for coding agents

train.cloud gives youa model tuned on your work.

train.cloud is the self-improving loop for coding agents: capture how your team actually codes, train an open model on your own verifiable signal — your CI, your tests — and serve it back, retrained continuously as you ship. You reach it through Border Collie, its free open-source front door: a single binary that captures locally, PII redacted on your box, and connects you to the loop with one command.

Start free with Border Collie — the open-source front door that connects your agent to train.cloud.
$cargo install bcollie
Border Collie is in private beta — not yet on crates.io. The command above is the install path at release.
Apache-2.0One static binary — no toolchain, no runtime deps. Runs fully offline; --remote is opt-in.  Read the docs →
bcollie
harness klein · claude-code · codex · cursor
session 01K7QX redacted locally · 4 turns
tool_use write_file src/auth/session.rs
verifier cargo test · 12 passed
redaction 3 secrets masked at source
· atof emitted 1.4 MB → ~/.bcollie/traces
sessionengine
01K7QXklein
01K7QWclaude-code

A real layout, not an image — click a tab. Capture is the panel that is live in the binary today; the rest print exactly what you see here until they ship.

Drives the agent you already runklein · defaultClaude CodeCodexCursorGeminicustom CLI+ any CLI on OpenAI or Anthropic wire
The loop

The AgentOps Flywheel

One open funnel from your real work to a tuned model — and one base-URL flip back onto your own tools. Switch isn't the finish line: you keep coding, and the traces you capture next feed the next round, so the model keeps improving as your codebase moves.

Border Collie has no runtime of its own — it drives your harness, never replaces it. Execution stays in klein or your CLI; Border Collie captures, mines, and coordinates, then hands the two commands that matter — train and deploy — to train.cloud across one API. A new model ships only if it beats the last. And the loop doesn't stop at switch — it keeps capturing and retraining, so the model that fits today keeps fitting as your code drifts.

01

Capture

Your agent's traffic, captured locally and PII-redacted on your box.

02

Mine

Recurring workflows become training tasks with verifiers — from your traces.

03

Train

SFT + RL from verifiable rewards (your CI, your tests), eval-gated.

04

Deploy

A served, OpenAI/Anthropic-compatible endpoint tuned on your work.

05

Switch → ↻

Flip one base-URL — same UX, better model. Then keep coding; new traces start the next round.

What nothing else combines

Four things, one funnel.

Local-first capture, driving your own harness, training on your own verifiable signal, with a one-flip switch back onto your tools. Any one exists somewhere; the combination doesn't.

01 · Local-first

Local-first capture

Captured on your box and PII-redacted at source, fail-closed. Runs fully offline; your traces land as open ATOF JSONL you own and can export. --remote is opt-in.

offlineredact-at-sourceopen ATOF
02 · Harness-agnostic

Drives your harness

Not just observes — drives klein, Claude Code, Codex, Cursor, or Gemini through one adapter. One experience across every harness and four surfaces: CLI · TUI · WebUI · desktop/mobile.

klein defaultBYO CLI4 surfaces
03 · Your data

Your own verifiable signal

The training set comes from your work, with provenance and verifiers — not a generic corpus. SFT + RL from rewards you can grade (your CI, your tests), eval-gated before anything ships.

SFT + RLVRyour rewardseval-gate
04 · One flip

One-flip switch

After deploy, repoint one base-URL and your harness runs the tuned model — same UX. Default is a served endpoint; export the weights you own on the enterprise tier.

base-URL flipOpenAI/Anthropic wireweights: export tier
$0.10
/ M output tokens — tuned open weights, served
8–14B pooled, Hopper FP8, high utilisation — public GPU-cost benchmarks · Spheron GPU cost-per-token benchmark
+8.3%
average accuracy, with 35–76% fewer tokens
RecursiveMAS, across 9 benchmarks — published result, not our measurement · Yang et al., arXiv:2604.25917
+28.3%
for a post-trained 8B on long-context tasks
RLM-Qwen3-8B over base Qwen3-8B, approaching vanilla GPT-5 — published result, post-training rather than full RL · Prime Intellect, arXiv:2512.24601
Free
the whole front door · Apache-2.0
no account · runs offline · data stays local
Why a fork can't clone it

A one-shot tune decays. A loop keeps fitting.

Fine-tune once and the model that fit your codebase in March is stale by June — your code drifted, the model didn't.

train.cloud's loop retrains on your newest traces as your codebase drifts, amplifies your signal with self-play you can't reproduce offline, and eval-gates every version so it only ships if it beat the last. That's the engine behind the seam — the part a fork of the open front door can't clone.

One-shot fine-tune
Fits today's code; drifts out of date as you ship. You re-run it by hand — or you don't.
drifts out of date as you ship ↑
Compounding loop
Retrains as your codebase moves; self-play amplifies signal; eval-gate guarantees each version beats the last.
stays fitting as you ship →
Open-core

Free stays free. Your data stays yours.

Nothing leaves your machine unless you run train/deploy. Everything in the front door is Apache-2.0 and never relicensed — the capture proxy, importers, local task-mine, orchestration, all four surfaces, the offline mock, BYO-harness — and it all runs offline. Only the managed train/deploy loop behind the seam is paid.

Your private edge stays in your tenant; only de-identified, privacy-bounded signal is ever pooled — opt-out, and enterprise can disable it entirely.

Free · Apache-2.0

The whole front door

Capture, mine, orchestrate, all four surfaces, offline mock. Real tooling, not a trial.

Paid · behind one seam

The managed loop

train/deploy: self-play, eval-gate, managed serving. Named at the boundary, never reimplemented.

Your data · local-first

Nothing leaves untriggered

Nothing leaves until you train/deploy — and even then, redacted at source. Federated is opt-out; enterprise can disable it.

Positioning

The missing middle between capture clouds and tuning platforms.

Capture/eval clouds (LangSmith, Langfuse, Braintrust, Helicone) record your traffic and stop at a dataset. Tuning platforms (OpenPipe, Predibase, Fireworks RFT, Axolotl, Tinker) fine-tune — but only from a dataset you hand them. Neither drives your harness, and neither switches you back. Border Collie is the connective tissue.

CapabilityBorder CollieCapture / eval cloudsTuning platforms
Local-first capture, redact-at-source, offlineYesPartialNo
Drives your real harness (not just observes)YesNoNo
Training set mined from your tracesYesDataset exportBring your own
Closes the loop: train → deploy a tuned modelYesNoYes
One-flip switch back onto your toolsYesNoNo
Apache-2.0, local-first, portable ATOFYesVariesLibrary-only

Any one of these exists somewhere. The conjunction — one local-first, harness-agnostic, Apache-2.0 funnel — doesn't.

Get started

Download the front door free. The loop is a design-partner beta.

The whole open funnel runs offline with no account. train/deploy against train.cloud is in private beta with design partners.

Open source

Apache-2.0
Free · runs offline
  • Capture proxy + trace importers
  • Local task-mine — dedup, provenance, verifiers
  • All four surfaces: CLI · TUI · WebUI · app
  • BYO harness + offline mock · portable ATOF you own
Get early access

train.cloud loop

Private beta
Design partner
  • Managed train/deploy across the one seam
  • Self-play + eval-gate + managed serving
  • A served endpoint your harness flips onto
  • Continuous retraining as your team ships
Become a design partner

Enterprise

Self-host
Talk to us
  • Deploys in your VPC or on-prem
  • Per-tenant isolation, verified
  • Export the weights you own, anytime
  • Federated opt-out + audit trail
Contact us

For teams running an agent harness at real volume who want it cheaper, self-hostable, and tuned to their own code.

Documentation

The docs engineers actually need.

Quickstart, the training-loop internals, self-hosting, and the privacy model — no hand-waving.

Ships with the open-source release.

Quickstart

Point your agent at the endpoint

cargo install bcollie — capture your first workflow offline in minutes.

The loop

capture → SFT + RLVR → deploy

How your traces become a tuned model, and what crosses the one seam.

Self-host

Run it in your VPC

Deploy on your own GPUs, air-gapped if needed. Export the weights you own.

Privacy

Isolation & differential privacy

What's pooled, what never leaves your tenant, and the opt-out.

API

OpenAI-compatible endpoint

Drop-in wire dialect; usage, credits, and rate limits.

Harnesses

klein + BYO CLI

Drive Claude Code, Codex, Cursor, or Gemini through one adapter contract.

One binary away

Capture your agent's work. Get back a model that does it better.