v0.9.0 — Local classifier gate (off by default)
Added
- Local classifier gate (plan §6 evolution path), off by default. An optional cheap local classify can now run in front of the router: it rates each request's complexity on free local gpt-oss and sends trivial work straight to free local (skipping the rate-limited subs), while frontier work falls through to the normal frontier-first router — preserving sub rate-limit runway when rotation alone isn't enough.
- Off by default: new
classifier_gate_enabledsetting (defaultfalse); per-run--gate/--no-gateoverride. Built ahead of the §8 data trigger, so existing routing is unchanged until enabled. - Fail-safe by design: rates task complexity (not "can the local model do it?"), and any ambiguity/error/negation resolves to frontier — the gate can never trap a hard task on local. New
tanglebrain/classifier.py; gated work meters aspath=gate-local.
- Off by default: new
Notes
- 316 hermetic tests pass; independent Critic review found no blockers.
- The paid-API tier remains hermetically tested but live-unverified by design (anti-key stance) — see #23.
Full Changelog: v0.8.0...v0.9.0