From c09dd5eb4f86146ba477298f86e81df2833426cc Mon Sep 17 00:00:00 2001 From: Codex Date: Mon, 15 Jun 2026 13:54:18 +0200 Subject: [PATCH] VIOLET findings: complete 5-factor sizing composition + vision roadmap (DISTRACK) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit §8b: authoritative orchestrator composition (5 multipliers: base x dc_lev_mult x regime_size_mult[ACB x meta x MC] x market_ob_mult x esof; dynamic cap, STALKER 2.0) + operator factor-recall map (DC boost + OB-consensus = the two aside ACBv6). §8c: vision roadmap — five-lanes=separation-of-concerns reframe, LONG-alpha grail, FPGA-pure VIBRISS banditry, pure-dataflow-DAG->compile nirvana w/ bit-identity as bridge, culminating in DISTRACK (memory-constant streaming distributions, sequenced AFTER live testnet->mainnet). Co-Authored-By: Claude Opus 4.8 --- prod/docs/VIOLET_V3_FINDINGS.md | 76 +++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/prod/docs/VIOLET_V3_FINDINGS.md b/prod/docs/VIOLET_V3_FINDINGS.md index 08e97a2..29cb215 100644 --- a/prod/docs/VIOLET_V3_FINDINGS.md +++ b/prod/docs/VIOLET_V3_FINDINGS.md @@ -128,6 +128,82 @@ but it is the authoritative ORACLE for the exact conviction-curve math (and may imported/reused for exact code). For exact-parity work on the steepener, consult `vbt_real` as the gold reference; check whether the live path reuses its code. +## 8b. COMPLETE sizing composition (authoritative, esf_alpha_orchestrator :597-619) + +BLUE's full conviction-leverage is FIVE multipliers on the base cubic, in the +orchestrator (NOT AlphaBetSizer alone). Exact, in operation order: + +``` +raw_leverage = size_result["leverage"] # base cubic (AlphaBetSizer, base_max=8) + * dc_lev_mult # "DC boost" (operator-recalled factor #1) = signal_gen.dc_leverage_boost if signal.dc_status=="CONFIRM" else 1.0 + * regime_size_mult # ACB_boost × meta_boost × MC_scale (the steepener) + * market_ob_mult # OB cross-asset consensus: 1.0 default; up to 1.20 (eff_imb>0.08 & agree>0.70), down to 0.85 + * _esof_size_mult # EsoF haircut [0,1] (V3.2 fold) +clamped_max = min(base_max_leverage(8) * regime_size_mult * market_ob_mult * _esof_size_mult, abs_max_leverage(9)) +if _day_posture == 'STALKER': clamped_max = min(clamped_max, 2.0) +leverage = min(raw_leverage, clamped_max); leverage = max(bet_sizer.min_leverage, leverage) +notional = capital * size_result["fraction"] * leverage +``` + +Components: base ✓(V3a, fix max→8), esof ✓(V3.2). TO WRAP: `regime_size_mult` +(= AdaptiveCircuitBreaker `get_dynamic_boost_for_date/from_hz` → ACB×meta×MC), +`dc_lev_mult` (signal_gen DC-confirm), `market_ob_mult` (OBFeatureEngine market +consensus), `_day_posture` (STALKER 2.0 cap). The composition block itself is +deterministic float arithmetic — replicate in EXACT operation order for bit-identity. + +**Validation doctrine (operator, BINDING):** (1) Monte-Carlo the ENTIRE JOINT input +universe of both surfaces (vel_div × ACB signals × w750/β × esof × MC × ob × posture), +(2) match BLUE actual-code output to BIT IDENTITY (only achievable by wrapping real +kernels → mandates wrapping, not reconstructing), (3) THEN test upstream (live/recorded). + +## 8c. Vision & long-horizon roadmap — from the five-factor map to DISTRACK + +This train of thought starts right next to the two-factors resolution (§8b) and runs to +the long-horizon dream. Captured per operator request 2026-06-15. + +**Reframe — five lanes is separation-of-concerns, not "smear."** The sizing being +composed across five distinct multipliers (base · DC · ACB-regime · OB-consensus · EsoF) +is a VIRTUE: each is its own distinct, traceable, OBSERVABLE subsystem with a clean +domain boundary → full attributability (tap any lane, ask what it said at bar N). The +composition is a tiny pure fan-in (`base × dc × acb × ob × esof → clamp`); the lanes are +independent pure functions of `(inputs, params)`. + +**Holy grail #1 — LONG alpha.** The core NG7 eigenvalue-breakdown signal is short-positive; +a reliable LONG-side algo is a grail (the operational EFSM long-reversal — "market must +bounce" mean-reversion — is a profitable signal in that direction). Architecturally LONG +alpha = ONE MORE pure signal lane in the same DAG: attributable, hot-swappable, +VIBRISS-tunable alongside the shorts. You add a lane, you don't fork the system. + +**Holy grail #2 — FPGA-pure instantiation for VIBRISS banditry.** Distil the algo so an +instance comes up in femtoseconds on a faster-than-gVisor stack → MILLIONS of concurrent +algo-instances hyperadjusting in real time (VIBRISS bandit governance). + +**Nirvana — faster-than-ASM/FPGA-like purity WHILE keeping separation of concerns.** Not a +contradiction; a known-reachable shape. The tension (modular-attributable ⊥ fused-fast) +only exists if concerns share mutable state or I/O — here they mostly don't. Path: +**pure-dataflow-DAG → compile.** Source level: each concern stays a typed, observable node +(attributability untouched). Compile level: the composed pure-function DAG fuses to a flat +kernel (Rust/SIMD now, FPGA/RTL later) — cf. Halide (modular schedule → fused kernel), +JAX→XLA, RTL synthesis from modular HDL. **Bit-identity (the operator's MC-to-bit-identity +gate, §8b) is the BRIDGE** — it proves the fused fast kernel computes the identical function +as the readable modular source, turning "distil to FPGA purity" from a leap of faith into a +verified refactor. Separation-of-concerns and faster-than-ASM purity are the SAME artifact +at two compilation stages; purity + bit-identity is the path between them. VIBRISS +millions-of-instances falls out of purity: an "instance" is a parameter binding to a frozen +graph (femto-cheap, no state to construct), and purity makes a million concurrent instances +SAFE (each provably its own clean function, no shared-mutable footguns). + +**DISTRACK — the state-side enabler (culmination).** Memory-CONSTANT streaming distribution +tracking: rolling-window param/outcome distributions in O(1) memory (online/streaming +quantiles — t-digest / P² / reservoir / EWMA sketches). Docs: +`CRITICAL_VIOLET_MAYBE_TODO_STREAMING_STATS_COMPRESSION.md`, +`VIOLET_TODO_CRITICAL_DISTRIBUTION_TRACKING_IN_CONSTRAINED_MEMORY.md`. This is what makes +the million-instance DAG AFFORDABLE — per-instance distribution state stays femto-cheap +instead of a memory bomb. DISTRACK is the *state* side of the vision the way bit-identity is +the *correctness* side. Seed already in-house: V0 `LatencyHistogram` does reservoir/percentile +— generalize that pattern. **SEQUENCING: DISTRACK is for AFTER VIOLET is actually trading +(testnet BingX → mainnet) — not before.** First get it live; then the banditry-scale work. + ## 9. Shadow soak validation (2026-06-14/15) Faithful DARK soak (threshold −0.02), 9h+ stable, single session: