What ships in v0.8.1
Deterministic guardrails that run in milliseconds, optional model
review with evidence, and a forge daemon that never auto-merges.
Built for the age of agent-generated code.
Git hooks, one command
sober hooks install all wires pre-commit, pre-merge,
and pre-push to run deterministic preflight — no model, works
offline, catches secrets and slop before they leave your machine.
Explain every finding
Each finding gets a stable ID (F-49, F-720).
sober explain F-49 shows severity, evidence, the exact
source line, a suggested fix, and copy-paste verify commands.
--polish adds a plain-language model summary.
Deterministic preflight
No model required. Pattern-matches secrets, private files, unsafe
eval(/exec( calls, curl|sh
pipes, and AI-slop shapes. Tightened in v0.8.1 to stop
false-positives on comments and test fixtures.
Four model routes
local (Ollama, default), daily,
frontier, security. Each with its own
budget, privacy classification, and endpoint chain. BYOK — your
keys, your providers, your call-home policy.
Advisory, never auto-merge
The Raccoon daemon posts evidence and sets advisory labels
(Sober clean, Sober findings,
Sober error). Merge authority stays with the human.
Always. By design.
Universal anti-slop
Every reviewer profile includes a non-negotiable anti-slop floor:
reject rubber-stamp LGTM, untested paste, vendored junk.
AI-assisted code is assumed; the demand is evidence, not approval.
Tier-1 language intelligence
10 languages reason, 320 route. Sober parses 320
tree-sitter grammars and extracts review-relevant AST facts —
functions, calls, auth/db calls, defers, injection sinks — for
Go, Rust, Zig, Janus, Python, JavaScript, TypeScript,
TSX, C, and Bash. Bash is the highest-stakes surface:
eval, exec, source sinks.
Adding a language's reasoning is one declarative
.scm query file — no hand-coded extractor per
language. --auto-provision recovers a missing grammar
during review; local_only routes stay hermetically
offline by constitutional design.