It reads your stack
styre setup probes the repo and writes its profile — JavaScript and TypeScript, Python, Go, Rust, JVM (Maven or Gradle), Ruby, PHP — picking the right test runner and install step for each. Monorepos with several components are found too.
Every run is on the record
One transactional record of every step, verdict and event. Live, stdout is an NDJSON stream you can pipe straight to jq or a log sink, while stderr stays readable prose. That is what makes a run auditable afterwards — and resumable.
Agents get nothing they do not need
No tracker or GitHub tools, and the tracker and forge credentials are stripped from the agent environment. A throwaway worktree is the only surface it can write to.
Acceptance criteria become checks
Design turns the ticket’s acceptance criteria into executable checks, and the gate holds until they pass at HEAD. When one stays red, an arbiter decides whether the code is wrong or the check is — and rewrites the check if that is the answer.
Cheap where it can be, deep where it matters
Design and review run on your deep model, implementation on standard, mechanical steps on cheap — and a retry escalates itself to deep. You pick the model behind each tier, on your own key.
It loops instead of stopping to ask
The default answer to an anomaly is a bounded retry against ground truth, not a halt. Styre pauses and hands back to you once the retries are spent — not the first time something looks wrong.