Skip to content

Atlas Ruling — ANCHOR_IDLE State (FLAG-044 Refinement)

Received: 2026-04-21
Trigger: S47 degraded_episode_limit_halt at 33 ticks — Katja's post-session question on why the engine halted instead of idling


Core Ruling

Option B is correct. ANCHOR_IDLE approved as a distinct state.

Raising the episode cap (Option A) is a temporary patch. The root flaw is structural: both regime-based pauses and safety-based pauses are currently routed through DEGRADED. That is wrong.


Architectural Correction

Two categories must be formally separated:

1. Regime-based pauses  → market is not favorable (wait it out)
2. Safety-based pauses  → system risk or integrity concern (protect + recover)

Anchor saturation is a market condition, not a failure condition. It should not consume failure budget (episodes).


Approved State Model

ACTIVE
  ├── anchor hostile       → ANCHOR_IDLE   (regime pause — no episode count)
  ├── drift/corridor/truth → DEGRADED      (safety pause — episode counted)
  └── duration elapsed     → HALT

ANCHOR_IDLE
  ├── anchor normalizes    → ACTIVE
  └── drift/corridor/truth fires → DEGRADED (episode counted)

DEGRADED
  ├── recovery ok          → ACTIVE
  └── episode limit hit    → HALT

Each state has a clean, non-overlapping responsibility: - ACTIVE — trade - ANCHOR_IDLE — wait for market - DEGRADED — protect system - HALT — stop session


ANCHOR_IDLE Specification

Entry: anchor saturation condition met → ACTIVE → ANCHOR_IDLE - cancel all open orders - stop quoting - log: ANCHOR_IDLE_ENTER - NO episode increment - NO cooldown logic - NO recovery machinery

While idle: - continue full observation (anchor signal, drift, truth, corridor) - no quoting - no episode increments - if drift/corridor/truth fires → escalate to DEGRADED (episode counted from there)

Exit: anchor returns to acceptable range with hysteresis + stability window - anchor_mean < exit_threshold AND stability window satisfied (N consecutive ticks) - log: ANCHOR_IDLE_EXIT - transition: ANCHOR_IDLE → ACTIVE

ANCHOR_IDLE does NOT lead directly to HALT. Only DEGRADED can escalate to HALT.


Q2 — Should drift also use ANCHOR_IDLE?

No. Drift stays in DEGRADED.

  • Anchor = environment (external market structure)
  • Drift = consequence (what the system is experiencing — flow imbalance, adverse selection risk)

Drift is a safety signal, not just a regime signal. Correct separation: Anchor → ANCHOR_IDLE, Drift → DEGRADED.


Q3/Q4 — Cap adjustments or hybrid?

Not needed. Do not raise the global cap. Do not add anchor-specific cap hacks. Those compensate for a modeling error that is now being fixed cleanly.


Required Tests (Orion)

  1. Anchor saturation fires → enters ANCHOR_IDLE (no episode increment)
  2. Persistent anchor hostile → stays idle indefinitely (no halt)
  3. Anchor normalizes → exits ANCHOR_IDLE, resumes quoting
  4. Drift fires during ANCHOR_IDLE → transitions to DEGRADED (episode counted)
  5. No path from ANCHOR_IDLE → HALT without passing through DEGRADED

Session-Level Impact

This change enables the engine to: - Survive a 2-hour hostile anchor regime without halting - Be present when the regime improves (S47 showed CLOB-AMM dropping to 1-3 bps — the engine missed that window by halting early)


Locked Principle (Atlas, 2026-04-21)

"The engine should not consume failure budget for conditions that are expected to persist. Anchor saturation tells the system to pause — not to panic."


— Atlas, Chief Strategy Officer, BlueFly AI Enterprises