jgrusewski 976ab4bf1a docs(sp14): Smoke A2-B PASSED — Layer A+B chain validated, 2 EGF bugs flagged
Workflow smoke-test-z2kt7 on commit 26343cd57 succeeded in 22m57s.
test result: ok. 1 passed; 0 failed; finished in 473.88s.

Positive recovery signal — sharpe_ema trajectory:
  epoch 1: -24.05  (cold start)
  epoch 2:  -9.12
  epoch 3:  +6.97
  epoch 4: +16.14  (positive territory)

Aux head bootstrapped from 6% to ~60% accuracy (above 50% random
baseline). Layer B forward wire feeds aux signal into direction
Q-head as designed.

GRAD_CLIP_OUTLIER count: 455 (vs 1109 pre-fix Smoke A → 59% reduction)
A.1's inv_a_std floor lift (1e-6 → 1e-3) bounded the amplifier.

EGF GATE BUGS IDENTIFIED (Layer B follow-ups, not kill criteria):

  L1 — gate1 never opens: Schmitt trigger never fires "open" even
       when aux_dir_acc reached 0.62 (above target+0.03=0.58). The
       gate1_state slot (391) reads as 0 throughout the entire smoke.
       Possible causes: stale aux read, inverted threshold, slot
       corruption.

  L2 — post_open_min slot corrupted: Should be in [0, 1] but observed
       values 9.491, 27.981, 46.102. Slot 394 reads pulling garbage,
       likely typo or fold-reset misfire.

Net effect: EGF is wired but behaviorally inactive — gate1 never
opens, gradient_hack circuit breaker never fires, α_smoothed pinned
at β_max via rate-limiter holding prior state. Wire-col scale at
B.10 effectively passes through 95% of the gradient.

Layer A's stability fixes were sufficient for the smoke to pass
and produce a positive sharpe trajectory. Layer B's behavioral
protection is currently a no-op pending L1 + L2 bug fixes.

User's underlying hypothesis VALIDATED: the model learns the
directional signal. Aux long_ema climbed from 0.06 to 0.61 in 4
epochs. The path from -24 to +16 sharpe validates the training
mechanics enabled by A.1+A.2+A.3 + B forward wire.

Recommendation: defer 30-epoch full validation until L1 + L2 are
fixed, so EGF actually gates and the val numbers reflect real
architectural protection.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 21:43:46 +02:00

Foxhunt

Production HFT trading system in Rust.

Architecture

The workspace contains 32 crates organized as follows:

Core Libraries (16)

Crate Purpose
trading_engine Order processing, FIX 4.4, IB TWS, SIMD, RDTSC timing
risk VaR, Kelly, circuit breakers, kill switches, compliance
risk-data Risk data types and shared structures
trading-data Trading data types
ml DQN Rainbow, PPO, TFT, Mamba2, ensemble inference
ml-data ML data types and feature definitions
data Market data ingestion and storage
backtesting Replay engine, strategy tester
adaptive-strategy Ensemble execution, microstructure analysis
common Shared types, resilience, error handling
storage S3 and local model storage
model_loader Model serialization and loading
market-data Market data feed handlers
database PostgreSQL access layer (SQLx)
config Configuration management
tli CLI commands and tooling

Services (8)

Service Purpose
backtesting_service gRPC backtesting service
broker_gateway_service FIX routing, broker connectivity
trading_service Core trading operations
ml_training_service Model training orchestration
data_acquisition_service Market data acquisition
trading_agent_service Autonomous trading agents
api_gateway gRPC API gateway with auth
web-gateway Axum REST + WebSocket gateway

Frontend

web-dashboard/ -- React 19 + TypeScript + Vite + TradingView charts.

Building

# Check compilation (no PostgreSQL required)
SQLX_OFFLINE=true cargo check --workspace

# Run tests for a specific crate
SQLX_OFFLINE=true cargo test -p <crate> --lib

# Clippy
SQLX_OFFLINE=true cargo clippy --workspace

ML Models

Four production model architectures on Candle v0.9.1 with CUDA:

  • DQN Rainbow -- Deep Q-Network with prioritized replay, dueling heads, noisy nets
  • PPO -- Proximal Policy Optimization with GAE and LSTM policies
  • TFT -- Temporal Fusion Transformer for multi-horizon forecasting
  • Mamba2 -- State space model for sequence prediction

Each model has a standalone trainer and a UnifiedTrainable adapter for the hyperopt pipeline.

Infrastructure

  • Git: Gitea at git.fxhnt.ai (Tailscale-only), Scaleway DEV1-S
  • Observability: OpenTelemetry OTLP (env OTEL_EXPORTER_OTLP_ENDPOINT)
  • Database: PostgreSQL with SQLx offline mode for CI

License

Proprietary. All rights reserved.

Description
No description provided
Readme 849 MiB
Languages
Rust 88.2%
Cuda 7.7%
Python 1.3%
Shell 1.1%
PLpgSQL 0.8%
Other 0.8%