jgrusewski c66e15f6d0 plan(sp18 v2): mark SP16 P2/T3 HOLD_COST_SCALE chain RETIRED (PP.4)
Per DD7=c, the SP18 D-leg structural Hold opportunity-cost reward
(compute_sp18_hold_opportunity_cost in trade_physics.cuh +
ISV[483..493) cap producer chain) replaces the reactive per-bar
Hold-cost chain (SP13 P0a + SP16 P2 + SP16 T3). This Pre-Phase commit
is slot-level documentation only — Phase 1 of SP18 deletes the
producer kernel + 3 consumer sites + host controller atomically.

Retired slot descriptions (sentinel 0.0 preserved for checkpoint compat):
  461  sp16_phase2_hold_cost_scale_adaptive
  462  sp16_t3_hcs_target_mean        (Welford accumulator)
  463  sp16_t3_hcs_target_m2
  464  sp16_t3_hcs_diff_mean
  465  sp16_t3_hcs_diff_m2
  466  sp16_t3_hcs_prev_target
  467  sp16_t3_hcs_sample_count

Preserved per DD7=c "keep the observation chain":
  380..383   SP13 P0a hold-pricing observer (per-step writes still active)
  460        MIN_HOLD_TEMPERATURE_ADAPTIVE (separate producer chain)
  468..474   MHT_* Welford accumulators (MIN_HOLD_TEMPERATURE)

Pattern: SP14-C.1 RESERVED-gap precedent — retired slots stay in the
layout_fingerprint_seed + state_reset_registry (sentinel 0.0 rewritten
each fold) so checkpoints with the old slot names continue to load.
Legacy consumers fall back to scale=1.0 (bit-identical pre-Phase-2
behavior).

New `sp16_t2_t3_slots_marked_retired` lock test asserts the
"SP18 v2: RETIRED" marker is on each retired slot's description, AND
that the preserved MHT_* slots are NOT marked retired.

Audit doc updated per Invariant 7.

Plan: docs/superpowers/plans/2026-05-08-sp18-reward-shape-hold-attractor.md

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