| Freno | Etapa | Clase | Archivo | Qué bloquea |
|---|---|---|---|---|
| signal-staleness-50ms | EVAL | HARD_PROTECTOR | main.go | descarta señal con queueLatency>50ms (anti-slippage) |
| consensus-divergence | EVAL | HARD_PROTECTOR | main.go | dropea cuando los timeframes discrepan en dirección |
| kelly-gate | EVAL | HARD_PROTECTOR | main.go | throttle de riesgo: consensus < Kelly fraccional |
| apex5m-noise-floor | EVAL | HARD_PROTECTOR | main.go | filtro anti-ruido del scalper extremo-RR |
| same-side-cooldown | EVAL | HARD_PROTECTOR | main.go | velocity throttle mismo símbolo/dirección (ATR-scaled) |
| env-live-mutation-guard | FIRE_GATES | HARD_PROTECTOR | executor.go | bloquea toda mutación Binance si env != LIVE |
| require-live-entry-certified | FIRE_GATES | HARD_PROTECTOR | live_entry_certification.go | cert de categoría + SL/TP nativo + ownership + checklist RAM-native + loss-cap budget |
| emulator-math-cert | FIRE_GATES | HARD_PROTECTOR | ram_native_active_checklist.go | cert COMPUTADO mathScore>=100 obligatorio (cold->WATCH por Regla_1611) |
| ownership-symbol-lock | FIRE_GATES | HARD_PROTECTOR | live_ownership.go | 1 slot por bot:símbolo (anti-stacking de capital real) |
| multi-bot-open-position-conflict | FIRE_GATES | HARD_PROTECTOR | live_prueba_multibot.go | evita hedge no gobernado (posición opuesta de otro bot) |
| loss-cap-025 | FIRE_GATES | HARD_PROTECTOR | live_prueba.go | loss-cap absoluto $0.25 por trade (DeepV3) |
| trade-write-backpressure | FIRE_GATES | HARD_PROTECTOR | live_prueba.go | gatea entradas si el WAL/ledger no puede persistir (anti-amnesia) |
| livePrueba-fire-lock-60s | FIRE_GATES | HARD_PROTECTOR | live_prueba.go | anti-duplicado: 1 fire en vuelo por bot:símbolo (60s) |
| rate-cap-30h | FIRE_GATES | HARD_PROTECTOR | live_prueba.go | techo duro 30 fires/h por bot (ventana 60min) |
| auto-pause-block-paused | FIRE_GATES | HARD_PROTECTOR | auto_pause.go | pausa bot estructuralmente perdedor (STREAK>=15, PF<0.30, balance<0) |
| cold-snapshot-warming | FIRE_GATES | HARD_PROTECTOR | live_prueba_flow_blockers.go | fail-closed mientras el snapshot de safety está frío (nunca relaja) |
| telegram-preauth-ley149 | PRE_AUTH | HARD_PROTECTOR | live_preauth.go | toda entrada LIVE real requiere pre-auth Telegram o sesión armada (Ley #149) |
| lane-arming | ARMING | SOVEREIGN_CONFIG | live_prueba.go | operador: armar lane vía /go_live_prueba CONFIRM (s.Enabled/s.Auto) |
| live-real-session | ARMING | SOVEREIGN_CONFIG | live_real_session.go | operador: sesión LIVE_REAL vía /go_live_real CONFIRM |
| roster-membership | ARMING | SOVEREIGN_CONFIG | live_roster.go | operador: roster + modo del bot (apex_live_roster) |
| runtime-category-kill-switch | ARMING | SOVEREIGN_CONFIG | runtime_category_control.go | operador: habilitar/deshabilitar categoría de runtime |
| cold-emulator-cert-false-fail | FIRE_GATES | BUG_FIXED | ram_native_active_checklist.go | [ARREGLADO Regla_1611] cert en frío ya NO bloquea entrada por error (cold->WATCH) |
flowchart TD
%% Generated from flow_diagram.go SSOT (Regla_1612) — do not hand-edit
SIGNAL["1. Señal (ingestión)"]
EVAL["2. Evaluación (calidad)"]
SIGNAL --> EVAL
FIRE_GATES["3. Gates de fire"]
EVAL --> FIRE_GATES
PRE_AUTH["4. Pre-auth (Ley #149)"]
FIRE_GATES --> PRE_AUTH
ORDER["5. Orden (Binance)"]
PRE_AUTH --> ORDER
ARMING["6. Arming (soberano)"]
ORDER --> ARMING
BRK_signal_staleness_50ms{{"signal-staleness-50ms (HARD_PROTECTOR)"}}:::protector
EVAL -.freno.-> BRK_signal_staleness_50ms
BRK_consensus_divergence{{"consensus-divergence (HARD_PROTECTOR)"}}:::protector
EVAL -.freno.-> BRK_consensus_divergence
BRK_kelly_gate{{"kelly-gate (HARD_PROTECTOR)"}}:::protector
EVAL -.freno.-> BRK_kelly_gate
BRK_apex5m_noise_floor{{"apex5m-noise-floor (HARD_PROTECTOR)"}}:::protector
EVAL -.freno.-> BRK_apex5m_noise_floor
BRK_same_side_cooldown{{"same-side-cooldown (HARD_PROTECTOR)"}}:::protector
EVAL -.freno.-> BRK_same_side_cooldown
BRK_env_live_mutation_guard{{"env-live-mutation-guard (HARD_PROTECTOR)"}}:::protector
FIRE_GATES -.freno.-> BRK_env_live_mutation_guard
BRK_require_live_entry_certified{{"require-live-entry-certified (HARD_PROTECTOR)"}}:::protector
FIRE_GATES -.freno.-> BRK_require_live_entry_certified
BRK_emulator_math_cert{{"emulator-math-cert (HARD_PROTECTOR)"}}:::protector
FIRE_GATES -.freno.-> BRK_emulator_math_cert
BRK_ownership_symbol_lock{{"ownership-symbol-lock (HARD_PROTECTOR)"}}:::protector
FIRE_GATES -.freno.-> BRK_ownership_symbol_lock
BRK_multi_bot_open_position_conflict{{"multi-bot-open-position-conflict (HARD_PROTECTOR)"}}:::protector
FIRE_GATES -.freno.-> BRK_multi_bot_open_position_conflict
BRK_loss_cap_025{{"loss-cap-025 (HARD_PROTECTOR)"}}:::protector
FIRE_GATES -.freno.-> BRK_loss_cap_025
BRK_trade_write_backpressure{{"trade-write-backpressure (HARD_PROTECTOR)"}}:::protector
FIRE_GATES -.freno.-> BRK_trade_write_backpressure
BRK_livePrueba_fire_lock_60s{{"livePrueba-fire-lock-60s (HARD_PROTECTOR)"}}:::protector
FIRE_GATES -.freno.-> BRK_livePrueba_fire_lock_60s
BRK_rate_cap_30h{{"rate-cap-30h (HARD_PROTECTOR)"}}:::protector
FIRE_GATES -.freno.-> BRK_rate_cap_30h
BRK_auto_pause_block_paused{{"auto-pause-block-paused (HARD_PROTECTOR)"}}:::protector
FIRE_GATES -.freno.-> BRK_auto_pause_block_paused
BRK_cold_snapshot_warming{{"cold-snapshot-warming (HARD_PROTECTOR)"}}:::protector
FIRE_GATES -.freno.-> BRK_cold_snapshot_warming
BRK_telegram_preauth_ley149{{"telegram-preauth-ley149 (HARD_PROTECTOR)"}}:::protector
PRE_AUTH -.freno.-> BRK_telegram_preauth_ley149
BRK_lane_arming{{"lane-arming (SOVEREIGN_CONFIG)"}}:::sovereign
ARMING -.freno.-> BRK_lane_arming
BRK_live_real_session{{"live-real-session (SOVEREIGN_CONFIG)"}}:::sovereign
ARMING -.freno.-> BRK_live_real_session
BRK_roster_membership{{"roster-membership (SOVEREIGN_CONFIG)"}}:::sovereign
ARMING -.freno.-> BRK_roster_membership
BRK_runtime_category_kill_switch{{"runtime-category-kill-switch (SOVEREIGN_CONFIG)"}}:::sovereign
ARMING -.freno.-> BRK_runtime_category_kill_switch
BRK_cold_emulator_cert_false_fail{{"cold-emulator-cert-false-fail (BUG_FIXED)"}}:::bugfixed
FIRE_GATES -.freno.-> BRK_cold_emulator_cert_false_fail
classDef protector fill:#fcebeb,stroke:#a32d2d,color:#501313;
classDef sovereign fill:#e6f1fb,stroke:#185fa5,color:#042c53;
classDef bugfixed fill:#eaf3de,stroke:#3b6d11,color:#173404;