Your Agents Protect Themselves
Paper-tested mutations. Classified losses. Permanent safety rules that only grow.
Every Change is Paper-Tested First
When your agent proposes a strategy improvement, it does not go live immediately. The mutation state machine ensures every change proves itself against real market data before it ever touches your capital.
Paper Testing Against Live Data
The proposed mutation runs as a shadow strategy alongside your live agent. It receives the exact same market data feed -- same prices, same timestamps, same order book conditions. But it trades with simulated money.
After the required number of paper trades, the system evaluates the results. If the mutation clears the configured benchmark and passes all harness cases, it gets promoted. If not, it gets rolled back. Your live strategy never changes until the mutation proves itself.
- Same market data as your live agent
- Configurable number of test trades (default: 10)
- Must pass all active harness cases
- Baseline staleness detection (fail-closed on concurrent changes)
14:32:03 ANALYZE 23 losing trades in low-volume mkts
14:32:05 PROPOSE Add volume filter, lower threshold
14:32:05 PROPOSE Code hash: a7f2...3b1c
14:32:06 PAPER Shadow strategy instantiated
14:32:06 PAPER Baseline hash captured: d4e1...8f2a
14:45:22 PAPER Trade 1/10: YES FOMC-MAR @ 42c +$2.40
14:52:18 PAPER Trade 5/10: NO LAL-BOS @ 61c -$1.20
15:18:44 PAPER Trade 10/10 complete. Win: 7/10
15:18:44 EVAL Paper win rate: 70% vs live 52%
15:18:44 EVAL Harness: 4/4 passed (0 blocking)
15:18:44 EVAL Baseline hash unchanged (no drift)
15:18:45 PROMOTE Mutation deployed to live strategy
Not Every Loss is a Mistake
When your agent takes a losing trade, the AI classifies it into one of three categories. Only structural failures create safety rules. Noise and sizing issues are handled differently -- because a bad trade today could be a good trade tomorrow.
Structural
The signal logic was fundamentally wrong for the market conditions. This trade should not have been taken.
Creates harness ruleNoise
Right thesis, wrong timing. A fakeout or random variance. The same setup could win next time.
Observation onlySizing
Right idea, but the position was too large for the risk. The trade type is fine, the allocation was not.
Adjusts parametersSafety Rules That Only Grow
When a structural loss is classified, the AI generates a harness case -- a boolean rule that blocks future mutations from making the same type of mistake. These rules accumulate over time. They are never automatically deleted.
Every future strategy mutation must pass all active harness cases during paper testing. If a mutation would trigger a known structural failure pattern, it gets blocked before it ever reaches your live capital.
- Monotonic accumulation: safety only grows
- Blocking rules prevent promotion, warning rules log only
- User can deactivate rules (never deleted, always auditable)
- Full evidence trail for every classification
The Final Gate Before Every Trade
Every signal passes through the Execution Governor before it becomes a real trade. Circuit breaker, rate limiter, and harness enforcement -- three layers of protection that run on every single signal.
Every Decision on Record
The evidence layer creates an immutable record of every governance decision. Mutation state transitions, paper trade results, loss classifications, harness evaluations, and promotion decisions -- all stored as INSERT-only records that are never modified.
This gives you a complete audit trail of how your agent evolved, why it made changes, and what safety checks it passed or failed along the way.
- INSERT-only: records are never modified or deleted
- Six evidence types: mutation, classification, harness, performance, vote, risk
- Filterable by agent, type, and mutation ID
- Accessible via dashboard and API
Opt-In, Fully Configurable
The control plane is off by default. Enable it per agent and tune every parameter.
"control_plane_enabled": true,
"paper_test_trades": 10,
"staleness_window_secs": 30.0,
"learning_enabled": true,
"auto_approve": false,
"rollback_on_drawdown": 0.15,
// Circuit breaker trips after 5
// consecutive losses. Rate limiter
// allows 10 signals per minute.
// Harness cases accumulate forever.
}
Let Your Agents Harden Themselves
Every trade teaches. Every failure strengthens. Safety accumulates over time, automatically.