c52282fb44106e7ed084dd800e396ea71f07e83a
Implements §3 Sub-phase 2.0 of the state-conditional Q synthesis spec
(docs/superpowers/specs/2026-05-28-state-conditional-q-synthesis.md).
Adds a done-gated trade-magnitude envelope that clamps the V regression
target before MSE, bounding `(v_pred - target)²` regardless of
fat-tail trade-close spikes from `returns = r + γ(1-done)·v_tp1`. The
envelope decouples from the C51 atom span (slots 484/485) so it can
tighten below the atom span floor as the trade-magnitude EMA narrows.
Wiring:
* New ISV slots 593-596: V_MAGNITUDE_EMA, V_TARGET_MAX, V_TARGET_MIN,
V_TARGET_K. RL_SLOTS_END = 597.
* New kernel `rl_v_target_envelope_update.cu` — done-gated Wiener-α
EMA of `max(|reward| | done)`; derives `V_max_eff = +k × ema,
V_min_eff = -k × ema`. Sparse-aware (skip update on no-done steps),
first-observation bootstrap, single-thread single-block.
* `v_head_bwd.cu` — clamp `r_target` to `[V_min_eff, V_max_eff]`
before computing MSE. Updates `ValueHead::backward` Rust signature
to take the ISV device pointer.
* Trainer integration: single helper `launch_rl_v_target_envelope_update`
is invoked from all three reward-pipeline paths (public
`launch_apply_reward_scale`, `step_with_lobsim_reward_and_train` —
two inline sites) — single source of truth per
`feedback_single_source_of_truth_no_duplicates`.
* Bootstrap ISV slots: V_max=+200, V_min=-200, k=3.0 (matches
dd049d9a4 baseline avg trade tail per spec). Bumps ISV constant
array from 115 → 118 entries.
V plateau LR decay (also called out in the spec) was already wired
end-to-end via `rl_lr_controller` (slots 433/434/435/438) — no
duplication needed.
Smoke validation:
* Real-data 1000-step run (`alpha_rl_train --n-backtests 128`):
max l_v = 0.6024 throughout 1000 steps (well under the spec's
5.0 ceiling).
* Synthetic Rust integration test
(`tests/v_head_stabilization_smoke.rs`): 1000 steps batch=1,
cold-start window 100 steps, post-warmup max l_v = 0.0035.
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
Languages
Rust
88.2%
Cuda
7.7%
Python
1.3%
Shell
1.1%
PLpgSQL
0.8%
Other
0.8%