v1.1.0 — Phase 3: Evidence Loop, Pattern Memory, Backtest, Reasoning Eval
What's new in v1.1.0
Feature 1 — ConstraintDeriver live connection
Constraints are now derived from accumulated exchange evidence. The Constraints page gains a 'Derive from History' button that reads approved runs, extracts trade size and risk/reward, and updates all constraint sliders in one click.
Feature 3 — Pattern memory
After each exchange, named violations are recorded to coach_memory with confidence scores. Before each PlayerAgent call, relevant patterns for the current symbol are injected into context — cross-session learning without retraining.
Feature 4 — Comparative backtest dashboard page
A fifth dashboard page runs two constraint presets over historical data side by side. Approval rate, average rounds, days aborted, total return, and max drawdown shown with winner highlighted per metric.
Feature 5 — Reasoning quality evaluation
A secondary adversarial check on the Player's reasoning. After each CoachAgent evaluation, a ReasoningEvaluator scores the Player's reasoning on consistency with market state, internal coherence, and proportionality. Score displayed as a coloured badge on each round card.
Bug fixes
- Player now receives Coach critique on revision rounds in all paths
- Pattern memory and patterns injection wired into dashboard streaming path
- Circuit breaker trips now persist abort artifacts to disk and SQLite
- Artifact metadata (daily_pnl_at_time, enriched fields) flushed to disk correctly
- Reasoning score and critique now appear in History page round cards
- Derive from History now correctly seeds constraint form sliders
- anthropic>=0.49.0 required for get_final_usage()
Tests
118 unit tests + 1 integration test, all passing.