The factory: a ticket comes in from an issue tracker, a support widget or an alert. An agent takes it, writes the fix and opens a pull request. In the most aggressive setups it merges and deploys with no human in between.
Companies are building toward that right now. The question is not whether it works on a demo. It is what makes such a line safe to run every day:
- a harness that denies rather than suggests,
- evals you can trust more than your own eye,
- a cost per task, not per month,
- an automated reviewer that says what blocks prod,
- and a record of all of it.
This course builds those parts one module at a time. You pass a module by making its tests go green. Lessons carry the date their sources were checked and the versions they ran against. Where a claim needs a model, the course ran it once and committed the numbers.
| Module | What you build | Stages | Live record | Status |
|---|---|---|---|---|
| M0 | Tool loop, streaming, prefix caching, cost ledger, batch builder merged | 7 | synthetic transports | merged |
| M1 | Policy engine, PreToolUse hooks, durable sessions, caps, reviewer subagent merged | 8 | not recorded | merged |
| M2 | Trace loader, labels and kappa, schema-bound judge, trust and regression gates merged | 8 | judge 20/20 outcome | merged |
| M3 | GenAI spans, cost from spans, budget guard, Langfuse export, router merged | 8 | 9 spans · Langfuse 4.63 | merged |
| M4 | Chunker, pgvector store, hybrid RRF, reranker, metrics, cited answers merged | 9 | recall@10 0.78 · MRR 0.65 | merged |
| M5 | Injection detector, provenance and taint, secrets, remote MCP auth, audit log merged | 9 | injection denied · checklist 10/10 | merged |
| M6 | Load generator, local models, K8s manifests, autoscaling, gateway merged | 8 | gateway 6/6 routed · $0.057 | merged |
| M7 | Rule loader, read-only reviewer, verify gate, blocker ranking, metrics merged | 8 | 12 PRs · recall 0.80 | merged |
Order to take them: M0 → M1 → M2 → M3 → M4 → M5 → M6 → M7. Stages marked live need a Claude Code login; some need Docker, Go, Node or Ollama. miubais doctor tells you which.
How a module goes
uv run miubais start m0-cost-labcopies the starter into your workspace.- Read the lesson, write the code, run
miubais check. Deterministic tests decide; the stage table on the site updates. - Stuck?
miubais hintexplains what the failing test checks. The tutor sees your diff and the test output, never the reference solution, and a filter drops anything that leaks it. - One stage per module is a judgment call: read the traces, write the taxonomy or the plan. Tests check structure and agreement with a key, not prose.