Otto's first complete release: a local, AI-operated financial terminal with a measured operator surface.
Measured agent operability
The claim "an AI can operate it" now ships with a benchmark (evals/): 20 plain-language tasks run by a real headless agent in hermetic sandboxes, graded programmatically (terminal state, produced artifacts, refusal-with-state-unchanged) — no LLM judge.
| Model | Tasks | Passed | Success rate | Avg turns |
|---|---|---|---|---|
claude-sonnet-5 |
20 | 20 | 100% | 6.5 |
claude-haiku-4-5 |
20 | 19 | 95% | 6.8 |
Full results and limitations: evals/EVAL.md. A smoke mode proves every graded check starts red on fresh state, so tasks cannot pass vacuously.
Highlights
- Agent-native architecture — one typed contract (113 actions) is the single source of truth; the MCP tool surface, UI capability catalog, and eval suite all derive from it. Write-up:
ARCHITECTURE.md+ ADR-0002/0003/0004. - Structural safety — no live execution paths exist; secrets never transit agent tools; destructive actions need typed confirmation flags; safety tasks in the benchmark regression-test refusal.
- Honest quant research rails — closed candles with next-open fills (lookahead guard), explicit fee/slippage economics, walk-forward validation with engine-issued consistency verdicts, overfitting flags in plain words. Methodology study:
docs/research/. - 475 tests on Windows + Linux CI, plus Playwright e2e and the token-free eval smoke mode.
Notes
- Results above are single-run-per-task (no retries); the eval report says so explicitly.
- Otto is a clean-room rebuild from observed workflow shape — no third-party code, assets, or branding. The observation corpus stays unpublished by design.
Full changelog: CHANGELOG.md
