Which data touched the selection loop, what every run measured, and the complete rejection ledger. Dated 2026-09-27 · segment 4 closed at HEAD 3108547.

Seed sets and burn state

SetSourceRoleState
IN1 / IN2 / IN3family-1 fixtures/path_0..4, family-2 fixtures2/path_0..4, family-3 fixtures3/path_0..4 (generator seeds 40260927-31)loop scoring, edge_score = 10 + median(all selected paths' net Sharpes)fully burned
HO1 / HO2 / HO3777001-5 / 2222101-5 / 3333101-5selection objective mean + 0.25·worstburned; run 15 book medians 3.22 / 3.44, family-3 4.71
TEST888001-5 (family 1)diagnostic only, non-blindrepeatedly touched; anchor 4.23
FRESH f1 / f21111001-5 / 2222001-5single-touch independent checkburned 2026-09-27; medians 3.39 / 1.79, worst path −1.21
Segment-4 fresh setsf1 1212001-5, 6000000-5; f2 2323001-5, 5000000-9; f3 3434001-5, 7000000-5run #17 fresh-seed adjudicationburned 2026-09-27 (table below)

Gates: segment 1 required an IN improvement with no HO/TEST median drop > 0.10; segments 2–3 required pooled IN improvement beyond the noise band, no set median drop > 0.15, and non-negative IN2/HO2 deltas; segment 4 kept the pooled-IN > +0.03 noise-band gate and the 0.15 set guard, added a strict IN2 flat hold for friction candidates, and required fresh-seed adjudication before any book change. Every weight proposal optimized mean + 0.25·worst over IN+HO — IN-only tuning had already been shown to overfit (IN 2.32 while HO 0.83).

Run ledger

RunCommitChangeEdgef1 medf2 medWorst pathVerdict
#1262ffbb9segment-2 baseline re-scored on both families (26 signals)12.8204.5851.320−1.788baseline
#133eb622efalse-lead-in-resistant whale stack + oi_funding_squeeze @0 (27 signals)13.1344.8011.797−1.694KEEP
#148d2f839shock_continuation v2 (2-of-3 flow confirm, IV/isolated-tail skips); keltner 0.25 → 013.3144.8172.085−1.131KEEP
#153837237family-2 funding fixture re-specified (informative); book unchanged13.3154.8172.085−1.131baseline (book unchanged)
#167e7153asegment 4 opens — third generator family (15 paths)13.444.8172.085−1.131baseline (family-3 median 4.35)
#17f8e31ebgate-constrained descent IN1-3+HO1-3 (sopr 3, dev 3, vol/adx/netflow 0.5, zscore 0.25)13.674.7602.506+0.471REJECTED — flagged; fresh seeds flat-to-worse, reverted
#183108547revert run #17 weights to the run #16 book13.444.8172.085−1.131FINAL book (= #16)

Run #16’s f1/f2/worst cells are the measured flat cost-sweep rows (see harness page). Run #17 bought +0.23 in-sample — including flipping the worst path from −1.13 to +0.47 — but failed adjudication: on the six untouched fresh seed sets the W17 book gained at most +0.02/+0.21 on family 1 while losing every family-2 and family-3 set, so #17 was flagged and #18 restored the #16 book, which stands as final.

Segment 4 — three families, one honest check

Family 3 (fixtures3/, segment 4) is a third independent generator: jump diffusion (Poisson jumps at regime-dependent intensity 0.008–0.095/bar, compensated Merton-style), a latent market beta (a per-bar common factor supplying exactly 50 % of trend/range innovation variance, never written to any column), and separable false lead-ins (the ~30 % false-alarm quota is drawn at scheduling, so ramp shape separates true from false leads over 24–48-bar windows, vs family 2’s structurally unidentifiable 6–96). Funding is OI-driven without the family-2 clamp; the generator is byte-stable (sha256-identical regeneration). The untouched 27-signal book scored family 3 at median 4.35 (edge 13.44) — recorded as optimistic by design, since family 3 was built knowing the family-2 playbook.

Run #17 fresh-seed adjudication (book medians, W16 vs W17)

Fresh setfamilyW16 medW17 medΔ
1212001-513.793.81+0.02
2323001-520.08−0.41−0.49
3434001-534.844.56−0.28
6000000-511.651.86+0.21
5000000-923.143.01−0.13
7000000-534.904.88−0.02

Verdict: not generalising — the revert commit reads “in-sample +0.23 did not generalise on 26 fresh seeds (f1 +0.02/+0.21, f2 −0.13/−0.49, f3 −0.28/−0.02)”. Run #17 flagged, run #18 reverted; every seed above is burned. Seed-variance caveat: W16 5-seed medians for the same family-2 book span 0.08 (2323001-5) to 3.14 (5000000-9) — family-2 conclusions need ≥ 10 seeds.

Segment 4 rejections (U01–U08)

#RejectedNumbersWhy
U01whale_tx_spike lead-in acceleration/fade upgrade (LeadAccel v3 suite; composite v3 ensemble-neutral, frontrun v3 ≡ v2)best pooled IN +0.0065 (noise band ±0.03)discriminates false family-3 leads too late to monetize; the fade cuts family-1 non-events (HO1 −0.028)
U02ensemble re-entry-deadband friction patch (HOLD_MIN_BARS=0, REENTRY_DEADBAND=0.02)flat IN2 −0.169 breaches the 0.15 guard; pooled flat −0.007 vs realistic +0.196helps only under realistic costs while regressing flat IN2; min-hold lever measured inert-to-harmful
U03iv_lead_confirm inside whale_tx_spike (replace @5)pooled IN −0.136 @5, −0.265 @3negative at every measured weight
U04jump continuation/reversal legs (JumpLegs)IN2 negative at every weight (−0.603 @3)fails the IN gate on the IN2 requirement
U05stablecoin_supply_growth_v2 mint-step (replace @2)pooled delta 0.000000 for every non-harmful variant (gate: > +0.03); amp 1.0 → −0.043post-mint drift is already monetized by whale_pump_frontrun @3 + whale_tx_spike @5; the unfloored percentile spec is f2-toxic
U06dev_commit_trend cadence variants on family 3not built — premise falsebiweekly commit bursts already accumulate correctly in rolling7→EMA21/63, exactly like monthly bursts on f1/f2
U07tvl_momentum family-3 re-measureskipped — no lead in the generatorfixture_gen3.py TVL is a contemporaneous regime proxy with no price feedback; the segment-2 rejection (S06) stands
U08macd_hist_v2 + bollinger_fade_v2 friction signal pairjoint realistic +0.202 but IN2 flat −0.073violates the strict IN2 flat hold; longer min-hold rejected by measurement with receipts

Segment 3 — the funding-fix falsification

Family-2 funding had sat at the ±0.003 clamp on ~99 % of bars (5942/6000 on fixtures2/path_0). Segment 3 re-specified it as informative — EMA48(OI pct-change)·0.15 + 0.002·ret24 + regime boost ±0.0015 (gated on OI-build alignment) + 0.0004·t(10) noise, clamp ±0.003 — changing only the funding_rate column (all 23 other columns byte-identical). The unchanged book re-scored identically (family medians 4.817 / 2.085): no funded member reads family-2 funding except the composite mute, which rarely binds there. On the repaired fixture: funding_momentum REJECT at every weight (pooled −0.25…−1.13); funding_momentum_v2 base/fast/strict REJECT (IN2 bleeds −0.18…−0.24); oi_funding_squeeze re-measure REJECT (standalone pooled −1.04; the crowd latch fires but the liquidation legs are concurrent, not leading); composite fund_thr recalibration median-neutral or worse; funding_oi_crowding @0.25 pooled +0.037 — a noise-band reordering, recorded as diagnostic. Segments 2–3 converged: weight space is exhausted and funding-based logic adds nothing even with informative funding.

Rejections at a glance

WaveRejectedShape
Segment 129 candidates across 9 wavesplus 2 discarded loop runs and 6 dead-end families
Segment 220 candidatesderivatives/IV/liquidation, slow on-chain, stablecoin scale-free, whale ride variants
Segment 35 re-measuresfunding logic on the repaired family-2 fixture
Segment 48 candidates (U01–U08) + run #17 descentfamily-3 mechanism waves: lead-in acceleration, friction deadband + signal pair, IV confirm, jump legs, slow on-chain (mint/dev/TVL)

Dead-end families (all measured, all falsified):

  • Regime-state gating — discarded run #3, edge 10.104; classification lag cuts winners late and engages faders into fresh trends (micro-level noise filters like quiet-tape gates and funding mutes are fine; macro switches are not).
  • Directional bias filters — bear_regime_short degrades IN −0.44…−1.92 at every weight; flow gates in trend_down act as coin flips on zero-mean noise.
  • Post-combine position smoothing — output-EMA smoothing dropped gross median 0.89 → 0.86 with phase lag; discrete stateful deadbands are the version that worked.
  • Shorting drains — distribution drift is statistically indistinguishable from zero; shorts just pay 10 bps turnover (constant-short Sharpe −1.90 IN).
  • Shock fades — shock_reversal_v2 and volume_climax_fade negative at every weight 1–5 on IN/HO; generator shocks are i.i.d. zero-mean increments and whale volume spikes are directional institutional flow.
  • Slow 1d accumulation tilts — 24–36 h lead-ins compress below 1.5 daily bars; survivors on 1d are long-only stablecoin_supply_growth @2 and dev_commit_trend @5.

Family gains trade against family-1 losses: unconstrained descent bought IN2 +1.37 for IN1 −1.26, and every measured re-weight/sizing alternative did the same. Segment 4 tested the remaining mechanism changes and rejected all eight (U01–U08); run #17’s gate-constrained descent failed fresh-seed adjudication.

Burned seed ledger (2026-09-27)

FamilyBurned ranges
1777001-5 (HO1), 888001-5 (TEST), 999001-5, 1111001-5, 1212001-5, 6000000-5
22222101-5 (HO2), 2222001-5, 2323001-5, 5000000-9
3IN3 fixture seeds 40260927-31, HO3 3333101-5, fresh 3434001-5, 7000000-5

No future tuning, gate, or finalist decision may read any range above.

Honest generalisation and what would change the answer

Flat in-family medians span ~1.8–4.8 once measured honestly: fresh-seed set medians are f1 1.7–3.8, f2 0.1–3.1 (huge seed variance), f3 4.6–4.9; under realistic costs the book keeps f1 2.5 / f2 0.5 / f3 2.6. What would change the answer: real Glassnode/CryptoQuant/Santiment feeds at honest costs — the ingest is built and smoke-tested (real-feed section), blocked on user data — or a genuinely fresh fourth family surviving the same gates. Until then, no market claim: segment 4 is closed with the run 18 book final.

Receipt sources

  • /tmp/ms4-harvest/ — segment-4 receipts: orchestrator-receipts.md (cost sweep, run #17 adjudication), per-candidate verdicts behind U01–U08, runs/0016-0018/benchmark.log (METRIC lines)
  • /tmp/ms2-harvest/runs/001{2,3,4}/benchmark.log (METRIC lines) and run #15 log /Users/mbp/.omp/autoresearch/--Users-mbp-dev-research-auto-market-signals--/runs/0015/benchmark.log
  • Per-candidate rejection ledger: notes/02-rejected-candidates.md in the local repo ~/dev/research/auto/market-signals/