Skip to content

v5.2.0 — Opus 4.7 + Polish

Latest

Choose a tag to compare

@JosephOIbrahim JosephOIbrahim released this 15 May 15:19

What's new

LLM upgrade — Claude Opus 4.7 + prompt caching everywhere

  • New src/otto/model_config.py — single source of truth for model IDs, every one env-overridable
  • Detector → Claude Opus 4.7 (better pragmatic inference: "I'll try" vs "I will" → confidence → nudge timing)
  • Agent loop → Claude Sonnet 4.6
  • Optional response_gen → Claude Haiku 4.5 (downgrade — 1–3 sentence rephrase doesn't need Sonnet)
  • Prompt caching on all three surfaces: detector system prompt, agent system + tool definitions (single breakpoint covers ~2 KB of stable prefix from turn 2 onward), response_gen system prompt
  • TEMPERATURE = 0.0 preserved everywhere — Patent P1 determinism guard

Docs

  • README rewrite with three two-tone Mermaid architecture diagrams (slate #1e293b + warm amber #fde68a):
    • Core message → detect → store → schedule → nudge → constitutional gate loop
    • PRISM signals → NEXUS 5-phase router → 4 modes → constitutional gate → UCB1 learner feedback
    • model_config.py fan-out to detector / agent / response_gen
  • ADHD-friendly install walkthrough — mile markers, explicit permission to stop, expected output per step, no "just" or "simply"
  • Constitutional principles section

Tests

  • +7 new tests in tests/test_model_config.py (defaults, env overrides, TEMPERATURE == 0.0 regression guard for P1)
  • 645 total tests passing (589 core + 56 agent)

Rollback

Each model surface is one env var away from the previous Sonnet 4.5:

$env:OTTO_DETECTOR_MODEL = "claude-sonnet-4-5-20250929"
$env:OTTO_AGENT_MODEL = "claude-sonnet-4-5-20250929"
$env:OTTO_RESPONSE_GEN_MODEL = "claude-sonnet-4-5-20250929"

Deferred to a future release (Tier 2)

Three optional Opus 4.7 augments are designed but not shipped. All three would be default OFF, env-gated, advisory-only, with deterministic fallback paths:

  • OTTO_SMART_DECOMPOSE — personalized task breakdowns using Opus 4.7's 1M context over prior commitment history
  • OTTO_ENHANCED_SIGNALS — semantic signal layer that augments (never replaces) the regex pattern banks
  • OTTO_LEARNER_ADVISOR — falsifiable observations on UCB1 outcome trends, surfaced via a new otto insights command

Constitutional core — unchanged

constitutional.py, nudge.py, router.py NEXUS phases, modes/, signals.py regex layer, and learner.py UCB1 math are all untouched. The deterministic state-evolution thesis (Patent P1) is intact.

Upgrade

git pull origin master
cd otto_v4
pip install -e ".[dev]"
python -m pytest tests/ -m "not integration"

Set ANTHROPIC_API_KEY in your shell or .env and you're on Opus 4.7.