# autonom — the idiot guide
You want **one rule**: if the matrix is green, *everything in the viz/CLI/MCP works*. autonom makes
that true by refusing to be green if any surface is untested. Here's how to live with it.
## The one-liner
> **Green matrix ⟺ every button/command/RPC is wired and asserted.** A new surface with no test
> *fails the build* — you can't forget one.
## I added a new facett component / viz tab. What do I do?
Nothing special — just follow the contract and autonom finds it:
1. `impl facett_core::Facet for MyView` (this is how autonom *discovers* it).
2. Add `caps()`, `state_json()`, and register it in `facett/tests/compliance.rs::registry()`.
3. Give it `local(...)` **and** `remote(...)` constructors if it shows warehouse data (thin + fat).
4. Write an inject-assert test (feed real data, assert `state()` — never just "didn't panic").
If you skip step 4, the gate goes red and tells you exactly which surface is bare. That's the point.
## I started the viz and the Test tab is empty / says "not run yet"
That's correct now (AUT1): the matrix shows **every expected repo × aspect** with **not-run-yet**
cells before you've run anything. To fill them:
```
nornir test all # run the matrix across the workspace → results land in the warehouse
```
Reopen the viz: the not-run cells flip to green/red. (Thin mode reads them over `Viz.TestResults`.)
## I edited code but didn't commit — is the matrix lying?
The release gate runs against your **working tree**, so it's honest. The thin-client viz shows a
**staleness badge** ("indexed @ `sha`, N uncommitted changes — advisory") when your working tree
differs from what the warehouse was indexed at. A commit SHA can't see uncommitted edits — autonom
uses a working-tree content digest instead.
## A test went red / a component "looks wrong". How do I fix it (no human)?
Follow the LAW: **[agent-ui-test-fixing.md](agent-ui-test-fixing.md)** — validate
as DATA (read `state_json` + `functional_status`, never eyeball a screen),
EMIT-DOCTRINE (turn "looks right" into numbers; render+`Read` a PNG only as a
fallback), debug by **binary search** down the call chain, follow the data, and
make the fix earn a fail-on-bug / pass-on-fix matrix test. The 🧪 Test pane links
it ("How agents fix tests"); it ships in `docs/book.pdf`.
## Where's the truth?
- LAW (fix a test, no human): [agent-ui-test-fixing.md](agent-ui-test-fixing.md)
- Design: [autonom.md](autonom.md) · Contract: [../../facett/.nornir/component-contract.md](../../facett/.nornir/component-contract.md)
- Plan: [nordisk_plan.md](nordisk_plan.md) EPIC AUTONOM · Engine: `crates/nornir-testmatrix`