The wizard
The basic-mode wizard at /teach is the fastest way to build a brain. It’s structured as five steps, but for most users only step 1 needs explicit input — the rest auto-fill from your capability selection.
Step 1 — Capabilities
The primary unit of choice. A 6-card grid of plain-English capabilities:
- 🔢 Predict a number — backed by Müller 2022 (PFN reference)
- 🏷️ Sort into categories — coming soon (needs TabPFN integration)
- 📈 Forecast forward — backed by Hoo 2024 (TabPFN-TS), Rakotoarison 2024 (ifBO)
- 🧪 Pick the next experiment — backed by Müller 2023 (PFNs4BO), Rakotoarison 2024
- 📉 Extrapolate a partial curve — backed by Adriaensen 2023 (LC-PFN), Rakotoarison 2024
- 🎯 Show confidence — backed by multiple papers (all PFNs return posteriors)
Multi-select. Picking a capability that requires a different tensor shape than your current selection greys the incompatible cards with a ⚠ “Different shape — picking this will replace your current selection” tooltip. Coming-soon cards are disabled with a ⏳ badge naming the missing study.
A summary panel appears once you’ve picked at least one capability:
- Picked line lists your selections
- Plan line describes what’ll be auto-filled: e.g. “We’ll train a Steady brain on Bayesian regression for Standard practise on your laptop (CPU).”
The ⚡ Train now button skips steps 2-5 entirely if all gates pass (works for any practise length except Marathon, which needs a GPU pick).
See Capabilities reference for the full per-capability table and mix rules.
Step 2 — Speciality (auto-filled)
Same surface as the previous wizard had. You’ll see:
- Three speciality cards (Patterns in numbers / Yes-or-no decisions / Time-series), one pre-selected from your capability choice
- A sub-grid of starter problem cards (the priors the resolver picked)
- An Auto-filled from your capabilities banner
Most users never visit this step. If you want to override the prior — pick a different one from the speciality, mix multiple, etc. — this is where you do it. Picking a different prior cascades the auto-fill downstream.
Step 3 — Brain (auto-filled)
Recipe picker + advanced architecture drawer.
Recipes (one is pre-selected based on capability defaults):
- ⚡ Quick learner — 2 layers, width 32
- 🧠 Steady thinker — 3 layers, width 64 (default)
- 🦉 Deep thinker — 6 layers, width 128
Advanced drawer (developer mode) lets you override depth / width / heads independently of the recipe.
Block library (advanced) lets you add extra blocks between the core chain and the heads — RMS norms, MLPs, attention pools, time encodings.
Skills are output heads (number / classification / causal_graph / effect_strength / full_verdict). Auto-picked from the speciality. Each skill maps to a head block in the model spec.
Step 4 — Goal (auto-filled)
Goals are speciality-specific evals that score the trained brain. Each speciality ships defaults marked defaultOn: true:
- Patterns in numbers → Beat a random guesser, Get close to the textbook math-perfect answer (OLS), [opt-in] Beat XGBoost on real benchmark data
- Yes-or-no decisions → Beat majority-class baseline, Get within a few points of logistic regression, [opt-in] Beat XGBoost
- Time-series → Hit Sachs AUROC ≥ 0.65, Treatment-effect MSE under 0.2, [opt-in] Root-cause Top-1 ≥ 70%
Each checked goal becomes an EvalSpec on the project. Pretty much always safe to accept defaults; the opt-in goals need a real dataset uploaded.
Step 5 — Practise
Where the run actually gets configured + dispatched.
Practise length picker
Four cards on a row:
| Length | Steps | Compute | When |
|---|---|---|---|
| ⚡ Quick taste | 1,000 | CPU | Smoke test the flow |
| 🏃 Standard | 10,000 | CPU | Default |
| 🦉 Long study | 50,000 | CPU | Larger brains need this to converge |
| 🏔 Marathon | 200,000 | Vast.ai GPU | Paper-scale brains |
Marathon GPU picker
When Marathon is selected, a Pick a GPU to practise on section appears:
- Lists your rented Vast.ai instances (the studio fetches on mount + on every refresh)
- ↻ Refresh button — re-queries the Vast.ai API
- Each instance card shows GPU model, RAM, location, hourly rate, status pill
- Auto-selects the first running instance if you haven’t picked one
Empty-state copy links you straight to https://cloud.vast.ai/create/ to actually rent a GPU. See Vast.ai setup for the full setup.
Review card
Recap of every choice from steps 1–5:
- Speciality, Brain (recipe + depth/width), Goals, Practise length, Compute target
Below the recap a green ⚡ Ready to send banner says you’re good to go; an amber Not quite ready banner lists missing pieces if any.
The footer’s terminal ⚡ Send to practise button creates the project and dispatches the run. You land on /brain/<id> — see The brain page.
How auto-fill works
Each step listens to the wizard state service. When step 1 resolves your capability selection to a {speciality, priorTemplateIds, contract}, the state service:
- Calls
selectSpeciality(...)— seeds default recipe, goals, skills, blocks - Sets
selectedPriorIdsto the resolver’s choice - Practise length stays at
standard(CPU) — Marathon is opt-in
Subsequent steps render whatever’s in state. Customising on step 3 doesn’t break step 1; the change just propagates forward. Going back to step 1 and picking different capabilities re-runs the resolver and overwrites the downstream auto-fill (after a warning if you’ve customised).