experiment(sp20-aux-h-fixed): force H=30 to test bootstrap failure hypothesis

Throwaway diagnostic edit on aux_horizon_update_kernel.cu. Tests whether
the adaptive horizon's self-defeating loop (WR=50% → H~2 → noise horizon →
53.5% acc → WR=50%) is the actual bottleneck. If aux_dir_acc rises to
58%+ at fixed H=30, bootstrap failure confirmed and the proper fix is
constraint-based (min hold time during exploration). Audit-doc updated.

DO NOT merge to mainline — branch is throwaway after the experiment.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
jgrusewski
2026-05-10 17:33:44 +02:00
parent d6bfad7033
commit c78c4766ca
2 changed files with 20 additions and 0 deletions

View File

@@ -74,6 +74,22 @@ void aux_horizon_update(
* without branching on the host side. */
if (blockIdx.x != 0 || threadIdx.x != 0) return;
/* EXPERIMENT (sp20-aux-h-fixed, 2026-05-10): force H=30 to test the
* "bootstrap failure" hypothesis. Adaptive H gets pulled to ~2 bars
* because only Q-magnitude trades held briefly produce wins, so aux
* predicts at noise horizon → 53.5% accuracy → policy can't improve →
* H stays small. Forcing H=30 lets aux predict at a longer horizon
* (~15 minutes at 30-sec bars), where Kyle's Lambda / VPIN signals
* have demonstrated predictive power per research. If aux_dir_acc
* rises materially at fixed H=30, bootstrap failure confirmed and
* the proper fix is constraint-based (min hold time during
* exploration). If accuracy stays at 53.5%, the data really doesn't
* have signal at this horizon. */
isv[isv_h_idx] = 30.0f;
return;
/* Original adaptive logic preserved below — disabled by the early
* return above. Restore by deleting lines above this comment. */
float h_target = isv[isv_h_target_idx];
float h_current = isv[isv_h_idx];

View File

@@ -2,6 +2,10 @@
**Status:** Populated during Plan 1 Task 6 (A.5 orphan audit). Updated on every commit per Invariant 7.
## 2026-05-10 — DIAGNOSTIC: aux_horizon_update_kernel forced H=30 (sp20-aux-h-fixed branch)
Throwaway experimental edit. Short-circuits the kernel to always write `ISV[AUX_PRED_HORIZON_BARS_INDEX=450] = 30.0` instead of running adaptive logic. Tests the bootstrap-failure hypothesis: in production, the adaptive H gets pulled to ~2 bars (only brief Q-magnitude trades win → avg winning hold = ~2 bars → H = ~2 bars → aux predicts at noise horizon → 53.5% accuracy → loop closes). If forcing H=30 lifts aux_dir_acc materially, bootstrap failure is real. Diagnostic-only — DO NOT merge to mainline. Original adaptive logic preserved as unreachable code with restoration comment.
## 2026-05-10 — SP20 Phase 5: aux→Q reward gate (close-out)
**Branch:** `sp20-phase-5` (off `d1a8ec206`).