2026-05-06 morning whipsaw cluster

Outcome: 0-3, -$7,410 in 18 minutes, all during the 0830-0900 open-auction window.

The trades

#TimeDirectionStrikeScoreConfMeta_probEntryExitP&LReason
28708:31BEAR PUT72942MEDIUM0.35$1.81$1.37-$4,360 (-24.1%)PRICE_STOP
28808:43BEAR PUT72942MEDIUM0.35$1.29$1.12-$1,700 (-13.2%)THESIS_INVALID
28908:48BULL CALL72761LOW0.35$2.92$2.72-$1,350 (-7.0%)THESIS_INVALID

The single most important number

All three trades had meta_prob = 0.35. Every one. The trained meta-model said “skip” with full confidence (n=122 trained), and the system entered all three because the advisory gate was never wired. A single P0 fix to wire meta_prob >= 0.55 would have prevented all three losses.

Filed as GH #53 (P0).

The whipsaw signature

live_delta_dir evolution across the 3 trades:

  • #287 BEAR: -0.067 (mildly bearish)
  • #288 BEAR: -0.374 (more bearish - fired into the dip)
  • #289 BULL: +0.150 (flipped bullish - at the local high, right before reversal)

The dealer-pressure direction reversed under the engine’s feet between each entry, and the engine fired each new direction at the local extreme of each oscillation. Textbook chop-day whipsaw - same pattern as 2026-04-16 (project_losses_april16_chop.md).

Compounding failures

  1. Meta gate not wired (GH #53 P0). Single biggest miss. Would have blocked all 3.
  2. UW 404 zeroed all option_chain features (GH #54 P0). Every signal had option_iv, option_delta_live, option_gamma, option_vega, option_oi, option_volume, option_theta, option_bid_ask_spread NULL. Model flying blind on the contract being traded. Root cause: recommended_strike=728.0 formats as "728.0" in URL, UW expects "728" for whole-dollar strikes.
  3. BEAR conv=1.00 IMPULSE BYPASS fired into a climax-reversal pattern (GH #55 P1). Per existing brain memory project_impulse_latency_analysis.md, BEAR conv=1.00 is anti-signal at major support levels. The bypass skipped persistence+streak gates that would have caught the contradiction.
  4. Open-auction (0830-0900) regime not gated (GH #56 P1). The most whippy 30 minutes of the session. System has the bucket field but doesn’t use it for sizing or threshold tightening.
  5. Stale GEX + SPY price warnings on first scoring. Engine kicked at 8:10, first signal at 8:30:57. No warm-up gate.
  6. Internal score contradictions ignored. Volatility +6 (term backwardation = panic vol = often reversal precedent) and Dealer Position +3 (long-gamma = bullish support) BOTH flagged “this bearish thesis is about to be faded.” We computed the warning, scored it, ignored it.

Stack rank for next training cycle

P0 (today): GH #53 meta gate, GH #54 UW 404 strike format P1 (this week): GH #55 BEAR conv=1.00 invert/contradiction-gate, GH #56 open-auction regime gate P2 (after): warm-up gate (require N seconds of fresh GEX before first scoring), score-contradiction detector

What this becomes for the model

3 hard-negative training examples, all with:

  • Confirmed losing outcome
  • Meta_prob = 0.35 → meta correctly identified as low-EV
  • Identical regime context (open auction, CHOP / STRUCTURAL_BEARISH, IV backwardation)
  • NULL option Greeks (a feature-availability signal the model can learn from)

When backfill_outcomes runs tonight, these become labeled rows in the secondary training set. The meta-model will weight 0.35 → “skip” patterns more strongly. The system will get smarter from this loss.

Pattern lock

This is the third occurrence of the same pattern (chop-day open whipsaw):

  • 2026-04-16 cluster: -$9,742 (3 flips)
  • 2026-04-22 partial: data lost in archive incident
  • 2026-05-06 cluster: -$7,410 (3 flips)

The pattern is identifiable. The fix is identifiable. The fix has been pending as Task #37 since week-of-April. Today’s loss is the cost of that pendency. Wiring GH #53 should be the first thing done at 15:01 CT today.

Filed for retrieval

  • See also: project_losses_april16_chop.md
  • See also: project_impulse_latency_analysis.md
  • See also: project_v1_latency_april16.md
  • See also: 2026-05-06-power-outage-state-divergence.md (same-day, infra-side failure)
  • GitHub: #53, #54, #55, #56