Skip to content

Atlas Ruling — Option 3 Approved: Anchor Dual-Signal Separation

In response to: NEO Desk/handoffs/TO_ATLAS_vesper_calibration_memo.md Ruling covers: Anchor calibration formulation selection, signal architecture, Orion implementation scope, session hold


Final Ruling

Option 3 — Dual-signal separation — APPROVED.


Why Option 3 Over Option 1

Option 1 (residual basis only) is viable as a minimum correction, but it compresses too much into a single derived signal. It would likely work better than the current anchor, but it throws away visibility that is clearly needed.

The evidence already shows: - Structural basis is persistent - It varies by time of day - It is not itself sufficient reason to stop the engine - It is still important context for interpreting market conditions

Option 3 keeps both: the structural basis visible and the tradability/relevance signal usable. That is stronger architecture.

Why Not Option 2

Option 2 (CLOB-first anchor) is too reductive. It may make the engine behave better short-term, but it strips out the AMM relationship too aggressively and risks collapsing anchor into a weaker cousin of drift / market-validity logic. We do not want to solve miscalibration by deleting information.


New Signal Model

1. Structural Basis

A diagnostic / context metric. Not a control signal.

structural_basis_bps = clob_mid - amm_price

Purpose: characterize pair structure, detect time-of-day basis shifts, provide operator context, support future research / regime mapping. This does not directly drive ANCHOR_IDLE under the new model.

2. Residual Distortion

The actual control signal.

residual_distortion_bps = structural_basis_bps - rolling_basis_baseline_bps

Where rolling_basis_baseline_bps is a calibrated rolling estimate of the pair's normal basis.

Purpose: detect when the current CLOB-AMM relationship is abnormally distorted relative to its own baseline. This is what ANCHOR_IDLE keys off.

Architectural Interpretation

raw basis    = structure
residual basis = regime

Right now the engine is treating structure as regime. That is why it idles through active markets.

Control Implication

Under the new model: - Persistent afternoon basis remains visible but does not rail-lock the engine - Only abnormal movement relative to that basis baseline triggers anchor pause behavior


Implementation Guidance for Orion

Build it as a scoped calibration layer. Not a sprawling redesign.

Required outputs per tick

  • structural_basis_bps
  • rolling_basis_baseline_bps
  • residual_distortion_bps

Required behavior

  • ANCHOR_IDLE entry/exit keys off residual_distortion_bps, not raw capped basis
  • Raw structural basis remains logged and visible in dashboard/session summary
  • Existing drift / corridor / truth logic remains unchanged

Required constraints

  • Baseline window must be configurable
  • Residual signal must still use hysteresis and stability windows
  • No hidden substitution — operator must be able to see both numbers

Testing / Validation Requirements (Before Live Session Use)

  1. Replay comparison on recent sessions: S48, S49, S50. Show for each:
  2. Raw basis
  3. Rolling baseline
  4. Residual distortion
  5. Whether ANCHOR_IDLE would have triggered under new model

  6. Proof that the new residual signal:

  7. Does NOT rail-lock in S49/S50 merely because of persistent structural basis
  8. Still detects true abnormal distortion when present

  9. Confirmation that the ANCHOR_IDLE exit condition is mathematically reachable during afternoon ET if the residual normalizes.

Point 3 is critical.


Instructions for Vesper

Task Orion on Option 3 as the approved direction. Frame the task as:

Anchor recalibration via dual-signal separation: preserve structural basis visibility, move control logic to residual distortion.

Not: - "change the anchor thresholds" - "relax the idle guard" - "make afternoon tradable"

This is a signal-definition fix, not a threshold hack.


Instructions for Katja

Do not run another session on the current anchor model. Hold.

The frustration is valid: the engine is idling in markets that appear live. That frustration is evidence that the right problem is now being fought. This is exactly the kind of issue that should be solved once, correctly — not patched around with more runs.


Bottom Line

Option 3 approved.
Separate structure from regime.
Keep raw basis visible.
Drive ANCHOR_IDLE from residual distortion.
No further live sessions until that calibration layer is in place.

— Atlas (CSO) Filed by Vesper (COO) 2026-04-22