1 Β· Observe β what watches the world
Market, account, derivatives, research, and system state β each with its own freshness guard.
Liveπ
Market Data
Coinbase WS/REST + IBKR feed, 3-tier price fallback, 30s polls, staleness flags
Liveπ
Derivatives Aggregator
OKX funding / open interest / liquidations / long-short β partitioned Supabase tables, pg_cron auto-roll
shared/dist/pricing/derivatives/worker.js
Liveπ
Atlas Scout (02:30)
6 sources: RSS quant feeds, Reddit, Serper, X (exploreβscoreβexploit scoreboard), Hyperliquid liq levels Β· $0.15/night cap
conductor/src/atlas/scout.ts
Liveπ©Ί
Herman Sweeps
10 checks, single pm2 snapshot per sweep, daemon-as-precondition, 3-consecutive-failure promotion
hermes/src/checks/
Partialπ
Position Reconciler
Boot + 5-min: detects untracked / orphaned / mismatched positions β advisory only, never corrects (audit N2)
base/src/execution/reconciler.ts
βΌ
2 Β· Decide β trading desks & strategy pipeline
Shared strategy library across desks. Strategies emit TradeProposals β never orders.
Live Β· $25Kπͺ
Base β Coinbase
Spot + CFM futures Β· 5 strategies + multi-TF confluence β risk/reward sizing Β· CAPITAL_CEILING_USD clamps sizing & risk-gate math Β· sub-$5 signals floored up, not dropped
base/src/strategy Β· loop.ts:2307
PaperποΈ
Stocks β IBKR
Same execution-gate pattern, bracket orders, dry-run engine flag, persisted cooldowns (base still in-memory β N8)
stocks/src/execution/engine.ts
Haltedπ§
IKA β DEX Γ3
SUI / SOL / ETH dWallet desks β HALTED_BOTS boot gate exits before module init
shared/src/monitoring/crash-logger.ts:223
Dry-runπ§
Dip-Booster
Target-aware DCA (3 dip tiers, tiered cooldowns, $5K/run cap) Β· bypasses the execution engine β must be routed through it before DIP_LIVE (N1)
base/src/dca/dip-booster.ts:330
βΌ
3 Β· Validate β the layer that didn't exist in March
Every path from reasoning to live behavior now crosses a deterministic gate. LLMs propose; math disposes.
Liveπ
Param Catalog
46 gate ranges + global bounds, canonical in shared Β· reject-at-write (conductor) + clamp-at-read (all 3 param-store paths) Β· blocked writes alert #ops-room
shared/src/strategy/param-catalog.ts
Liveπ§ͺ
F2 Statistical Gates
Holdout β Welch-t β Benjamini-Hochberg FDR Ξ±=0.10 β 3-promotions/night budget β 3-day TTL Β· live-shadow renew (21d cap) or revoke on deterioration Β· old gate: 56 promotions β new: 2
conductor/src/experiments/statistics.ts Β· live-outcomes.ts
LiveβοΈ
Atlas Gauntlet + Sealed Vault
Min-sample β purged walk-forward β BH-FDR + PSRβ₯0.90 vs deflated Sharpe β 200-seed Monte Carlo β one-shot OOS vault (spend-before-read ledger) Β· max award: candidate β no path to live
conductor/src/atlas/gauntlet.ts Β· vault.ts
Liveπ
Boot & Auth Assertions
LIVE_TRADING + secret <16 chars β refuse to start Β· /api/params, /kill, /api/withdraw Bearer-only Β· reflection proposals double-validated (max 8/cycle)
base/src/webhook/server.ts:79
βΌ
4 Β· Execute β one gate per venue
All orders funnel through executionEngine.execute(). One dormant bypass is the top open finding.
LiveβοΈ
Execution Engine (base)
Circuit breaker (3 losses β 10min) Β· BalanceGuard (2-min snapshot age) Β· idempotency keys Β· 5% slippage auto-exit Β· futures SL retryΓ2 β flatten β fatal-if-flatten-fails Β· phantom breaker (3-fail evict + fatal)
base/src/execution/engine.ts
Gap N6π―
Futures Exits
Resting SL β Β· take-profit is still the in-memory 4-stage trailing stop β needs the bot alive every 30s. Target: resting reduce-only TP at stage-2
Bypass N1β οΈ
Dip-Booster Direct Orders
createMarketOrder() without breaker / guard / journal β dormant (DIP_LIVE=false, verified) Β· route through the engine before any live flip
Liveπ
Brakes (never gated)
HALT.flag + exit 42 Β· HALTED_BOTS hard gate Β· Bearer /kill flatten Β· auto-kill triggers (daily loss / drawdown) Β· margin-health pause
βΌ
5 Β· Record β the evidence spine
Outcomes are strong; intents are the remaining gap (N3).
Liveπ
Supabase Spine
trade_journal (experiment-tagged, GIN-indexed) Β· experiments / experiment_outcomes Β· strategy_params (validated, TTL, provenance) Β· dsl_strategies Β· process_crashes
Liveπ§
Walrus Memory Brain
Append-only: brain-v2 (312 curated learnings) Β· hypotheses ledger β every Atlas verdict incl. failures Β· journal / reference namespaces
conductor/src/atlas/walrus-memory.ts
Partial N3π«
Rejection Records
Killed/paused + research-only rejections persisted β Β· dedup / cooldown / balance / breaker rejections still debug-log only Β· no intents / intent_decisions tables yet
Open N7π¬
LLM Transcripts
Cost tracked, content discarded β bad-promotion forensics ends at "the LLM proposed it"
βΌ
6 Β· Evaluate Β· Reflect Β· Discover β the nightly brain
Four scheduled loops, all bounded. The maker never grades its own work.
01:00π¬
Karpathy Experiment Loop
4 phases, hypotheses β replay eval β collect β BH-FDR β budget β validated promotion Β· wiki knowledge compounds across cycles
conductor/src/experiments/runner.ts
02:30π
Atlas Research Slice
Deterministic liquidation-fade oracle + scout β LLM bridge (economy tier, strict {dsl | event-study | data-req | discard}) β gauntlet β #research-lab digest + x-scoreboard credit
conductor/src/atlas/orchestrator.ts
03:00π
Live-Outcome Shadows
Aggregates real trades per experiment β renewOrRevokeShadows: min 10 live trades, Sharpe β€ 0 β immediate revoke + alert Β· only TTL is ever mutated
conductor/src/experiments/live-outcomes.ts
4-hourlyπͺ
Charlie Reflection
Memory + 7d stats β max 8 validated param proposals + 3 research requests Β· cannot touch strategy status, execution flags, or env
conductor/src/llm/reflection.ts
βΌ
7 Β· Supervise β Herman & the humans
Bounded auto-remediation with months of scar tissue; Discord is the human interface.
LiveπΊ
Herman (hermes)
bot-health Β· pm2 + memory Β· heartbeat Β· base-bot-faults (HALT.flag, port-aware orphan kills, WASM signature) Β· tunnel Β· derivatives freshness Β· wallet Β· conductor Β· data quality Β· IBKR session
Liveπ§
Bounded Auto-Fix
pm2_restart with cooldowns, crash-loop breaker, fingerprint dedup, 3-strike chronic-collapse escalation Β· Charlie may annotate & request β never mutate
Liveπ¬
Discord (3 channels)
Tag-on-critical escalation Β· off-machine CF-worker heartbeat monitor Β· param-block alerts Β· nightly research digest
Humanπ§ββοΈ
Human Touchpoints
HALT.flag Β· HALTED_BOTS env Β· Bearer /kill Β· IBKR weekly login Β· DIP_LIVE / FUTURES_ENABLED / capital moves β env-controlled, human-only
π― Target State β the SAL control plane (what's left of the ideal)
Validation exists but is distributed across three sites. The target: one thin control plane, a unified intent ledger, and a human lane for risk-increasing changes. Full detail in the
audit.
| SAL element | Status | Current β target |
| Structured intents | partial |
TradeProposal / param writes / gauntlet verdicts are intent-shaped β formal intent envelope in shared/src/control-plane/ with actor, evidence refs, risk_direction, policy version |
| Deterministic validate() | built, distributed |
Catalog reject/clamp + F2 stack + gauntlet β extract behind one pure, versioned, replayable function |
| Intent ledger | planned |
Partial rejection records β intents / intent_decisions tables; every proposal gets a disposition row, including dedup/cooldown/balance/breaker rejections (N3) |
| Human approval lane | planned |
Everything bounded-automatic β Discord button approval for risk-increasing param promotions (N5); auto-apply stays for risk-reducing / in-range |
| Single execution gate | 1 bypass |
Dip-booster routes through executionEngine.execute() before DIP_LIVE ever flips (N1) |
| Self-correcting state | planned |
Advisory reconciler β auto-adopt/evict after 2 consecutive confirmations under a size ceiling, logged as intents; fatal halt stays as backstop (N2) |
| Forward falsification | built (Phase D) |
Paper-shadow live since Jul 4 (03:45 cron): nightly walk-forward OOS re-run + Discord stage/kill buttons into a label-only staging status β see machine flow; open: shadow query limit-100 vs 568 candidates (D1) |
| Full evidence chain | partial |
Outcomes + hypotheses ledger strong β add LLM transcripts (N7), params-hash on trades, human overrides as ledger events |
| Cross-bot exposure | planned |
Each bot sees only itself β hermes aggregate exposure sweep first (observability), enforcement later (N4) |
| Derivatives β decisions | planned |
Collected but unconsumed β wire funding/OI/liq microstructure into strategies as gauntlet-tested event studies (N14) |