Imprevista

Deploy Log

← Back to Deploy Log
|Sports Dashboard|DEPLOYED

Signal pipeline v3: 10 gates → 6 data-driven gates

Replaces the hardcoded N≥1000, +0.5pp practical-significance floor, p<0.10 bootstrap threshold, 3pp matchday-interleave tolerance, and 1% suspicious-N dedup heuristic with data-driven equivalents:

Replaces the hardcoded N≥1000, +0.5pp practical-significance floor, p<0.10 bootstrap threshold, 3pp matchday-interleave tolerance, and 1% suspicious-N dedup heuristic with data-driven equivalents:

  • Gate 2: bootstrap CI95 width ≤ 4pp (replaces N≥1000)
  • Gate 4: CI95[0] > -0.5 × width (replaces p<0.10)
  • Gate 5: continuous walk-forward monotonicityScore > 0.5 (replaces

both old G6 interleave and old G10 fold-count gates)

  • Gate 6: regime gap < 2 × CI_width (replaces hardcoded ±5pp)

Merged old G1 (pre-registered) and G2 (true standalone) into a single Gate 1. Deleted old G8 (suspicious N dedup) and G9 (+0.5pp hardcoded practical significance).

Added scripts/explore-signal.ts for unregistered cheap peeks (tier=EXPLORATORY, writes to data/alpha-exploration/, never touches signal-registry.json). Added scripts/dry-run-reformed-gates.ts to replay new gates against existing registry entries. Dry-run confirmed: 0 currently-accepted signals flip to rejected under the new gates; 9 rejected signals would be unblocked.

End-to-end retest: contextXg (N=230,558, marginal entry +0.5%, 13 walk-forward folds, CI width 2.64pp) passes all 6 reformed gates. Previously killed by old G5 (p=0.23) and G9 (+0.5pp hardcoded floor). Registry updated with full 6-gate audit trail.

See 2026-04-14-signal-pipeline-rearchitecture.md for the full rationale, dry-run numbers, retest walk-through, and Phase B/C/D plan.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

Files Changed

Commit:aaf0cde