Every tick of market data flows through a single, strictly ordered pipeline: raw bars are normalized by the data connectors, loaded intoDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/deskiziarecords/QUIMERIA-HYPERION/llms.txt
Use this file to discover all available pages before exploring further.
SMKPipeline, and then advanced one bar at a time by calling step(). The step() method is the system’s heartbeat — it runs every detector module in sequence, collects their outputs into a single result dict, and hands that dict to the AEGIS bridge and WebSocket layer.
Data source to pipeline flow
The path from a raw data source to a step result follows four stages:data_connectors.py normalizes all supported formats — MT4/MT5 CSV, TradingView ISO/US export, Dukascopy UTC, Bitget REST, and OANDA REST — into the same [{time, open, high, low, close, volume}] schema before any bar reaches the pipeline.Iterating over bars
The typical pattern for consuming the pipeline in backtest mode is to callstep() in a loop until it returns None. Each call advances self.cursor by one.
The step() result dict
step() returns a single dict that is the canonical data contract between the pipeline, the AEGIS bridge, the WebSocket server, and the frontend. The top-level keys are:
| Key | Type | Description |
|---|---|---|
bar | dict | Raw OHLCV bar: {time, open, high, low, close, volume} |
bar_index | int | Zero-based position of this bar in raw_bars |
total_bars | int | Total number of bars loaded |
dealing_range | dict | 60-day high/low, equilibrium, zone, coherence |
bias | dict | bias (BULLISH/BEARISH/NEUTRAL), equilibrium, zone, coherence |
ipda_phase | dict | IPDA phase, equilibrium, confidence |
eq_cross | dict | Equilibrium cross event and direction |
session | dict | Active session name, killzone flag, efficiency score |
swings | dict | Swing pivot count and last 6 nodes |
fvg | dict | Fair Value Gap count, active flag, recent gaps |
ob | dict | Order Block count, active flag, recent blocks |
vol_profile | dict | Volume Profile TAP density result |
vol_decay | dict | λ₁ ratio, entrapped flag, energy |
displacement | dict | λ₅ body_ratio, is_disp, dir, vetoed |
harmonic | dict | λ₃ phase_diff, inverted (Liar State flag) |
expansion | dict | Expansion probability |
manipulation | dict | λ₄ score (0–100), active flag |
kl | dict | KL divergence score, stable flag |
topology | dict | H₁ loop score, fractured flag |
amd | dict | AMD state machine state and R_MASTER flag |
fusion | dict | p_fused, confidence, veto_active, regime, active_lambdas |
mandra | dict | open, delta_e, clamped size, regime_stable |
gmos | dict | execute, action, p_fused, coherence, hamiltonian, phase |
veto | dict | decision, trade_allowed, reasons[] |
sensors | list | Sensor rows for the frontend panel (s01–s19 + plugin rows) |
plugins | dict | Per-plugin telemetry keyed by plugin name |
execution | dict | AEGIS output: action, direction, lot_size, SL/TP prices |
latency | dict | Per-stage latency breakdown in microseconds |
Fail-safe import pattern
Every module inSMKPipeline._load_modules() is loaded through a try_load() wrapper. If a module’s dependencies are missing or the import raises any exception, the error is appended to self._import_errors and the module slot is set to None. The pipeline never crashes on import failure — it falls back to numpy stubs for each failed module.
jax, ripser, or faiss-cpu are not installed.
JSON safety
All values that exitstep() pass through _sanitize(), which recursively converts numpy scalars and arrays to plain Python types. The _SafeEncoder in main.py handles residual edge cases in WebSocket frames.
Latency budget
step() records per-stage latency after every bar. The system-level SLO is 5 ms total:
| Stage | SLO |
|---|---|
| Data / structural (L1–L2) | 0.5 ms |
| Lambda sensors (L3) | 2.0 ms |
| Fusion (Ring 0) | 1.0 ms |
| Mandra gate | 0.5 ms |
| Execution (AEGIS) | 1.0 ms |
result["latency"]["breakdown_us"]. SLO violations are listed in result["latency"]["slo_violations"].