jgrusewski 834eaec4bd feat(sp18 v2 P4.T1+T2): B-leg next_states hoist + compute_q_next_target_bootstrap skeleton (additive dead code)
Phase 4 lands the additive infrastructure for the B-leg target-Q DDQN
bootstrap that Phase 5 will swap into td_lambda_kernel's q_next argument
at gpu_experience_collector.rs:~4313 (post-Task-4.1 hoist).

Tasks landed:
  - **Task 4.1**: build_next_states_f32 invocation hoisted to BEFORE
    the TD(λ) launch block. Pure ordering change — verified via the
    SP18 audit grep flagging 0 post-TD(λ) consumers of next_states.
  - **Task 4.2**: compute_q_next_target_bootstrap skeleton method on
    GpuExperienceCollector with full plan-aligned signature
    (next_states, target_params_ptr, online_params_ptr, batch_size →
    Result<CudaSlice<f32>, MLError>). Body is a hard-error early-return
    per feedback_no_stubs — no production caller in Phase 4 (the
    caller is wired by Phase 5 Task 5.1, replacing the self-bootstrap
    clone). Returning Err satisfies Invariant 9 (no deferred-work
    markers); any accidental pre-Phase-5 call hard-errors with a
    clear pointer to the open sub-tasks.

Tasks 4.3 (online forward + DDQN per-branch argmax), 4.4 (target
forward + compute_expected_q gather), 4.5 (replace error early-return
with full implementation + GPU oracle test gates) are deferred to a
follow-up subagent dispatch per their plan-defined per-task TDD cycle
scope. Each requires substantial new infrastructure on the collector
(target-net trunk forward chain duplicating gpu_dqn_trainer.rs Pass 2's
VSN+BN+OFI+trunk+branch-head sequence).

Tests:
  - crates/ml/tests/sp18_td_lambda_q_next_oracle_tests.rs (NEW):
    3 introspection tests (no GPU required):
      * compute_q_next_target_bootstrap_method_exists
      * next_states_built_before_td_lambda (Task 4.1 ordering invariant)
      * td_lambda_still_consumes_self_bootstrap_q_next_in_phase4
        (Phase 4→Phase 5 atomic-refactor guard)

Atomic-refactor invariant (HARD — feedback_no_partial_refactor):
  NO L40S DISPATCH between this Phase 4 close-out commit and the
  Phase 5 Task 5.1 commit that replaces the q_next clone with
  self.compute_q_next_target_bootstrap(&next_states, ...).

Verification:
  SQLX_OFFLINE=true CUDA_COMPUTE_CAP=86 cargo check --workspace  → clean
  SQLX_OFFLINE=true CUDA_COMPUTE_CAP=86 \
    cargo test -p ml --test sp18_td_lambda_q_next_oracle_tests
                                                                → 3/3 pass
  bash scripts/audit_sp18_consumers.sh --check                  → exit 0

Files:
  crates/ml/src/cuda_pipeline/gpu_experience_collector.rs (Task 4.1+4.2)
  crates/ml/tests/sp18_td_lambda_q_next_oracle_tests.rs (NEW; 3 tests)
  docs/sp18-wireup-audit.md (Phase 4 close-out section + fingerprint)
  docs/dqn-wire-up-audit.md (Invariant 7 entry)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-09 11:25:50 +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%