Skip to content

Start here

For judges

A ten-minute tour for an evaluator of Ratchet: what to open first, a five-step try-it path, what is simulation and what is live, how to verify a result with one command, and the honest limits.

3 min readEdit on GitHub

Start here
The live site (opens another site)

The story page: how Ratchet works, why it is license-clean and why releases are safe.

/scout
Scout (opens another site)

Five agents answer one research question; each call shows who answered it.

/dashboard
The dashboard (opens another site)

Versions, releases, economics, and a redactor you can try.

Apache-2.0
The code (opens another site)

The gateway, Night School, the release gate and the tests, on GitHub.

These docs are at https://ratchet-docs.pages.dev (the final address will be docs.ratchet.dualmindlab.tech).

flowchart LR
  S1(["1 Story page"]) ==> S2(["2 Scout"])
  S2 ==> S3(["3 Dashboard"])
  S3 ==> S4["4 Proof"]
  S4 ==> S5["5 SQL results"]

Reading this diagram. The three rounded steps are on the live site and the two square ones are in these docs. The order goes from the idea, to a running system, to the books, to evidence you can recompute, to the one real training result. Each step is about two minutes; the walk-through below has the detail.

Step 1 of 5

The story page

Open ratchet.dualmindlab.tech. Look at "The catch" (why closed models cannot be distilled), "One way only" (the release gate) and "The honest bill" (when self-hosting does not pay).

"Watch it learn" is a replay of the reference simulation.

  1. The story page

    Open ratchet.dualmindlab.tech. Look at "The catch" (why closed models cannot be distilled), "One way only" (the release gate) and "The honest bill" (when self-hosting does not pay).

    "Watch it learn" is a replay of the reference simulation.

  2. The Scout demo

    Open /scout and pick an example question to watch five agents work. Each call shows who answered it, what it cost and what the teacher alone would have cost.

    The planner and the writer are pinned to the teacher by design; triage and reader calls are the repetitive ones the student learns to take over.

  3. The dashboard

    Open /dashboard. Read the by-task table, the versions with their signed bills of materials, the release log and the economics panel (savings per token and by GPU-hours, the break-even, a recommendation).

    Paste an email and a card number into the redactor in the trust panel.

  4. Proof you can run

    Read Proof you can run: commands that recompute a number from a signed record.

  5. Text-to-SQL results

    Read Results: the one adapter trained on real data (see Text-to-SQL).

flowchart TB
  subgraph Real["Real"]
    direction LR
    R1["Teacher calls on Token<br/>Factory, Scout search"] ~~~ R3["SQL adapter,<br/>free Colab T4"] ~~~ R4["Code and tests,<br/>no GPU needed"]
  end
  subgraph Sim["Simulation"]
    direction LR
    S1["Story page replay<br/>and savings figures"] ~~~ S2["Mock mode on<br/>your machine"]
  end
  subgraph Not["Not done yet"]
    direction LR
    N1["Student endpoint<br/>on a Nebius GPU"] ~~~ N2["Measured<br/>live savings"]
  end
  Real ~~~ Sim ~~~ Not
  class R1,R3,R4 ok
  class S1,S2 outline
  class N1,N2 pending
  class Real okZone
  class Sim outlineZone
  class Not pendingZone

Reading this diagram. Three rows: what runs for real (green), what is simulation (dashed outline) and what is not done yet (amber, dashed). The teacher side runs for real; the student side has not run on a Nebius GPU. The two notes below say the same in words.

  • Real
  • Simulation
  • Not done yet

Real, as of Oct 22, 2026. Real calls to the teacher, Nemotron 3 Ultra on Nebius Token Factory, built the text-to-SQL data on Oct 22, 2026. The text-to-SQL adapter was trained on a free Colab T4, not on Nebius, and its results are read from its own results file. The code and its 1,900 tests run with no GPU. No live run of the full loop has been published yet, and live mode stays unverified until scripts/day1_check.py passes with a real key.

Simulation. The numbers on the story page come from mock models that show how the loop behaves, not how good a real model is. The student endpoint has not been served on a Nebius GPU, so on the live demo student calls go to a hosted, untuned Nano model, and the pages say so with a badge. Live savings numbers do not exist yet and are not shown.

Every answer on Scout and the dashboard carries a badge:

Badge Means
Nano · yours Nemotron 3 Nano 4B with the Night School adapter
Nano 30B · hosted The untuned Nemotron 3 Nano 30B on Token Factory, used while the GPU endpoint is off. Not covered by the adapter’s precision certificate
Ultra · Token Factory Nemotron 3 Ultra on Nebius Token Factory

The Scout demo has a daily run cap. If it is used up you get a polite refusal; evaluators receive an access code with their instructions, never on a public page.

Every adapter has a signed bill of materials. This recomputes its certificate from the signed counts:

Terminal window
python -m ratchet.stats check bom.json --public-key <key>

To check only the signature and the data lineage use python -m ratchet.bom verify bom.json --public-key <key>. The proof page walks through both with real files.

To see the loop move without any keys, run the mock demo (simulation, about a minute):

Terminal window
git clone https://github.com/harshbhx/ratchet && cd ratchet
pip install -e ".[dev]"
make demo # http://localhost:8000, with four simulated warm-up days

On /dashboard there click Run 1 day + night a few times, then Break next deploy and run two or three more days to watch a corrupted version roll back by itself. These controls work only in mock mode.

Claim Where it is enforced
Only open teachers are distilled; closed models are refused ratchet/licenses.py require_distillable
The student answers first and escalates when unsure ratchet/router.py Ratchet.handle
Releases go shadow, canary 10%, 50%, 100%, with rollback ratchet/release.py ReleaseGate
Each adapter has a signed bill of materials and a certificate ratchet/bom.py, ratchet/certificate.py
The cost report says when self-hosting does not pay ratchet/cost.py cost_report