Research & Development

Most funds show you returns. We show you the work.

Every strategy and signal here started as a question we genuinely did not know the answer to. So we built the experiment to answer it — honestly. Each hypothesis is written down and cryptographically sealed before any data is tested, held for a cooling-off period, then run exactly once. The result stands whether it confirms or fails. The goal is an edge that is earned and proven, not curve-fit: strategies that survive out-of-sample testing before they ever touch capital — and a documented, dated trail that proves it.

↓ Download the research log (CSV)Dated, hash-locked, version-controlled. Trigger parameters omitted (proprietary).

54

Programs catalogued

signals + strategies + pre-registrations

29

Hypotheses disconfirmed

tested, failed, recorded honestly

10

Live & validated

shipped after backfill validation

13

Under test / resolved

pre-registered, in the pipeline

Key findings

What we've learned so far.

Each finding below came out of a pre-registered experiment — and each carries a concrete consequence for how the fund is run.

Validated

Our core equity edge is real and broad

Post-earnings drift — stocks continuing to move in the direction of an earnings surprise — is the engine of the equities book. A small live sample looked like it might be one lucky trade. So we decomposed roughly five years of earnings events (n≈949). Delete the three biggest winners and the effect still holds strongly (t ≈ 4.5); delete the biggest ten and it is still there (t ≈ 3.9) — positive in every market regime we tested. It only fades once you strip out the top 5% of all events, spread across dozens of names and five years. A fat-tailed edge, not a one-stock illusion.

So what

It is the validated alpha source. We're accumulating live trades — and are open about the fact that our young live book is still concentrated — before scaling any capital to it.

Discipline

Most ideas fail — and that is the point

Eight of our hypotheses were tested and rejected: cointegrated pairs trading, short-term reversal, a dispersion strategy, three flavors of tactical shorting, a yield-curve crash gate, and a more complex version of our bubble model. None were quietly re-tuned until they looked good — each was recorded as disconfirmed and shelved.

So what

Every disconfirmation is capital saved — money that would otherwise have chased an edge that was never really there.

Salvage

We pull value out of failure

A risk-control overlay built during a strategy that ultimately failed turned out to cut tail drawdowns several-fold across every historical stress episode — the 2008 crisis, the 2020 crash, the 2022 bear. The strategy died; the safety mechanism lived.

So what

Lifted out and reused — better downside protection for the whole book, born from an experiment that didn't work.

Risk lens

Valuation is at historic extremes

Our bubble model finds today's market structure most closely resembles the most concentrated, most expensive late-cycle peaks on record. Independently, the Nasdaq priced in the money supply is now at — and slightly above — its dot-com-peak level; the 2021 high was well below it.

So what

A risk lens, not a sell signal. It shapes discretionary risk posture and tells us the distribution of outcomes is unusually fat-tailed.

Method

Crash-warning signals overlap more than they look

We track roughly nine independent-seeming early-warning signals. On inspection, most of them measure variations of the same thing — so 'several signals triggered' is not several independent confirmations. A real risk of fooling yourself.

So what

We built a tracking dashboard plus a formal study to measure the true independence and de-bias the combined read.

Insight

Hedges don't behave the way folklore says

Conventional wisdom says gold protects you in a crash. The data says otherwise: gold fell with everything else in the acute phases of 2008 and 2020 (it gets sold for cash), and was dead money through the 2022 bear because rising real yields are its kryptonite.

So what

Changed how we construct crisis hedges — gold is a policy-response hedge, not an acute-liquidation hedge.

The method

How a hypothesis becomes a result.

1

Pre-register

Write down the hypothesis, the exact test, and the pass/fail bar. Hash-lock it (SHA-256) with a timestamp. It can't be edited afterward.

2

Cool off

A mandatory waiting period before any data is touched — guards against acting on a hunch or a fresh headline.

3

Test once

A single backfill against frozen parameters. No re-tuning, no retrying until it looks good. The result is the result.

4

Record it

Pass or fail, the outcome is documented and dated. Failures are kept — they're the proof the process is honest.

On the bench

What we're trying to discover next.

Are our crash signals truly independent?

A formal study to measure how correlated our early-warning signals really are, and whether a de-collinearized combination predicts drawdowns better than a naive count.

Pre-registered

Does funding-plumbing stress lead a crash?

Dollar-funding stress (repo, cross-currency) is what historically turns a correction into a crash. We track it now; the question is whether it leads, with enough signal to act on.

Next

Can the equity edge broaden?

Whether post-earnings drift extends from large-caps to mid-caps without trading costs eating the added return — diluting single-name concentration in the process.

Pending operator go-ahead

Does crypto lead equity drawdowns?

Bitcoin is the highest-beta, 24/7, most liquidity-sensitive risk asset. We're testing whether its stress reliably leads equity drawdowns — a potentially under-followed edge.

Backfill mid-June

A gated path to live capital

A tiered deployment ladder — small allocations unlocked only as statistical, operational, and risk gates are cleared. The target is a checkpoint, not a deadline; if the gates miss, we defer.

Target July 2026

The complete record

Every hypothesis, grouped by theme.

Tap any entry for the question it asked, how it was tested, and the recorded outcome.

Crash-precursor signals

Do cross-asset stress patterns — volatility-of-volatility, credit spreads, the yield curve, commodities, funding plumbing, and crypto — lead broad equity drawdowns? A family of independent early-warning hypotheses.

VVIX systemic gateLive
2026-05-17

INFO-grade (ROBUSTNESS_FAIL, regime-concentrated)

Read more →
Overnight-futures risk-off gateLive
2026-05-18

INFO_GRADE aggregate (NOISE strict)

Read more →
Oil-recession precursorLive
2026-05-18

OPERATOR_PICK; O1 currently triggered

Read more →
Absorption-ratio advisory (WS-1a)Live

LIVE advisory on /api/cross-strategy-exposure

Read more →
Drawdown-precursor monitorLive

LIVE observability; edge claim pre-registered (6/09)

Read more →
Yield-curve shape gateDisconfirmed
2026-05-30#23d8f837

DISCONFIRMED/INFO 2026-06-04: fails bars (IC -0.23, lift-CI lo 0.143<0.15); directional lift +19pp but daily-crossing over-counts episodes (44 vs ~6-9) → episode-independence violated; Rule #10 not re-run

Read more →
Options-skew crash gateDisconfirmed
2026-05-30#99b5f109

NOISE (ran 2026-06-05, 59 episodes/32 OOS): IC NEGATIVE −0.07/−0.13, TPR 7-12%, FPR-bound — complacent tail-bid does NOT lead crashes. Run-once, no iterate (Rule #10). NOT a predictive-regime input.

Read more →
Absorption-ratio market gate (WS-1b)Disconfirmed
2026-06-02#8cd5d63d

RAN 2026-06-10 → NOISE (both universes). equity_1999 ep 11/7: spx_3mo IC 0.008[lo -0.150]/lift 0.007/FPR 0.30, spx_6mo IC 0.064[lo -0.141]/A1>A3 true, ndx_12mo IC -0.172/purged 0/5; overlay 100%SPX Calmar 1.12× (drag 21%) FAILS 1.15× bar, 60/40 0.87×. crossasset_2004 ep 9/8 all-negative IC. Coincident-not-leading + overlay doesn't earn its drag = the honest-prior base case. WS-1a LIVE absorptionAdvisory observability (shipped 6/02) UNAFFECTED. data/backfill/absorption_ratio_regime_gate_2026-06-10.json. Rule #10: no iterate.

Read more →
Drawdown-precursor forward-edgeDisconfirmed
2026-06-04#47ee6148

RAN 2026-06-10 → NOISE. episodes 39 (OOS 14) | base 21.2% cond 20.3% uplift 0.96× [0.55,1.53] | FPR 80%>50% | lead-not-coincident 57% | VIX/HY-clean uplift 0.95× | purged 2/5. precursorScore≥4 does NOT lead equity DD = the honest-prior small-crypto-sample base case. LIVE drawdown-precursor-monitor daily observability cron (e934552) UNAFFECTED — stays as regime context, just no forward-edge claim. data/backfill/drawdown_precursor_2026-06-10.json. Rule #10: no iterate.

Read more →
Signal-orthogonality meta-analysisResolved
2026-06-06#7bcbf66d

RAN 2026-06-12 → INFO_GRADE (the honest prior). Common-9 window 2010-12..2026-06 (3891d; IS 1769/OOS 2059). REDUNDANCY CONFIRMED: N_eff 6.5/9 raw (6.53 LW-shrunk) → ~6 effective signals, 2 multi-member clusters {fractal-v5, options-skew-gate} + {liquidity-valuation, absorption-gate, yield-curve-gate} (top |ρ| liq~absorption 0.64). BUT the de-collinearized score does NOT beat the naive triggered-count predictively: OOS Spearman vs fwd-63d-maxDD naive 0.058 → clusterPruned 0.078, Δ +0.020 [-0.044,0.098] straddles 0 (corrW Δ +0.018 [-0.034,0.066]) — small DD-episode count caps power, exactly the prereg's honest prior. ACTION: publish the map; operator should DISCOUNT the naive triggered-count (it ~over-books ~2.4 redundant signals). Observability only — never auto-trades/modulates; only the dashboard/brief convergence READ may change. fractal-v5 = daily-feature-subset PROXY (NN tail-prob has no daily series); drawdown-precursor = non-crypto variant (BTC+PANTERA omitted → spans 2011+, binary trigger sparse but continuous score enters the map). data/backfill/signal_orthogonality_2026-06-12.json. Rule #10: no iterate.

Read more →
Vol term-structure (VIX/VIX3M) gateDisconfirmed
2026-06-07#0bb086f3

RAN 2026-06-14 → NOISE (subsumed by VIX level). 62 T1 onsets 2006-2026. Primary SPX 3mo: IC +0.224 [lo 0.182], 4/5 purged, Holm-Sidak ✓ — BUT the LOAD-BEARING no-subsumption fails on all 3 outcomes: T1 lift 0.098 < naive VIX>75th-756d lift 0.154 (deltaLo −0.094), and ~zero marginal lift when VIX isn't already high (T1|lowVIX −0.002). Vol-SLOPE adds nothing beyond 'VIX is high' — the honest prior (vol level is coincident; VVIX + options-skew already failed). Joins yield-curve + options-skew in the graveyard. data/backfill/vol_term_structure_gate_2026-06-14.json. Rule #10: no iterate.

Read more →
Tactical short capability (F1/F2/F3)Disconfirmed

DISCONFIRMED 0/3 (2026-05-15)

Read more →

Post-earnings drift (equities)

Is the post-earnings-announcement-drift edge durable and broad-based across the population, or driven by a handful of outlier names? The core go-live question for the equities sleeve.

PEAD driver decompositionResolved★ Featured
2026-05-28#eab039fd

INCONCLUSIVE→leans-DURABLE/BROAD (2026-06-03, N=949): ex-top-1% t=3.85[lo1.89], ex-Top-3 t=4.53, top-1% share 30%<50%, every-regime+; NOT outlier-driven. Misses ROBUST_BROAD only on quintile-IC 2/5 (PEAD=sign-effect not magnitude-monotonic; IC14d 0.026 CI straddles 0). SQUEEZE untestable (FMP SI 0% coverage). No sizing change; live sample accumulating (n≈44) — going live is a discretionary operator decision (the n=60 gate was retired 2026-07-01); the program-level Deflated Sharpe is the honest significance check.

Read more →
PEAD universe broadeningArchived
2026-05-28#0de250b0

RAN 2026-06-29 (operator-greenlit) → DATA-LIMITED / INCONCLUSIVE — NOT a clean disconfirmation. The frozen 60d-ADV selection input (`dataInputsLocked.bars` = bar-cache) carries IEX-PARTIAL volume (~2-3% of consolidated tape, a defect documented in /api/capacity 2026-06-22, AFTER the 5/28 lock) → understates ADV ~30-50× → the $20M floor wrongly excluded ~hundreds of liquid mid-caps (screener shows 1236/1545 ≥$20M; bar-ADV passed 29) → only 25 names selected (vs 70), biased to high-retail-IEX-share names (miners/quantum/AI). On that biased n=341 sample: added-mid net IC 0.076 [CI −0.042,0.193] straddles 0, combined Sharpe 1.18<existing 1.88, Herfindahl −27%, every-regime+ → mechanically NO_SHIP but the test is not faithful. Forward path (operator-gated): re-run with a CONSOLIDATED-ADV source (FMP avgVolume / curated /api/capacity ADV) — a documented data-access amendment vs a new pre-reg. Memo project_pead_broadening_2026_06_29.md. → SUPERSEDED-BY-CORRECTION by [[pead-midcap-broadening]] (LOCKED 2026-06-30): per the pre-lock adversarial red-team the forward path was done as a FRESH pre-reg (point-in-time universe + AV-LISTING_STATUS survivorship + PIT seasonal-random-walk SUE + 3-gate verdict), NOT the data-access amendment originally noted.

Read more →
PEAD mid-cap broadening (point-in-time sub-sleeve)Disconfirmed
2026-06-30#d31f5865

RAN 2026-07-19 (attended) → NOISE / DISCONFIRMED (clean — dead coverage 306 ≥ 20). All 3 gates FAIL on the survivorship-clean corpus (19,979 cohort events / 1,809 names / 306 dead contributing, 2021-05→2026-05, binding tier $125k): gateA net IC +0.0283 [0.0235,0.0307] but DSR 0.099 ≪ 0.95 (real-but-tiny, un-tradeable); gateB corr 0.28 orthogonal BUT DILUTIVE (combined OOS Sharpe 0.193 < existing-80 0.269, 2/5 folds) → fails the strictly-incremental bar; gateC alpha share 30.8% (mostly MKT/SIZE beta, R² 0.212) → not factor-pure; jackknife holds. Mid-cap broadening adds NO tradeable alpha → the 80-name mega-cap universe is CONFIRMED correct + the AMD-44% concentration is a small-live-sample artifact, NOT a breadth defect (the concentration-fix hope is closed). Corrected survivorship-clean re-test of the 6/29 IEX-partial DATA-LIMITED run (both agree). Run note: first attempt crashed at gateC on a transient socket close (~26MB in) → methodology-neutral fmpGet retry added (pre-reg SHA d31f5865 UNTOUCHED, re-verified), clean re-run. `data/backfill/pead_midcap_broadening_2026-07-20.json`; memo project_pead_midcap_broadening_backfill_2026_07_19.md. Rule #10: no iterate (a different band/construct = NEW pre-reg). — LOCKED 2026-06-30 (operator '.1% quant make it 9.5+ → lock and complete'). The #1 reconstruction from the 6/30 alpha-research-pillar audit — the ONLY graveyard reconstruction touching TRADEABLE PEAD alpha. Supersedes-by-correction the DATA-LIMITED [[pead-universe]] (0de250b0): corrects the IEX-partial-volume selection defect with point-in-time CONSOLIDATED volume + historical market cap (FMP, empirically confirmed) and a fully-PIT seasonal-random-walk SUE (Foster-Olsen-Shevlin — no analyst-estimate vintage leak). Survivorship dead-name ENUMERATION (the load-bearing residual) FILLED by Alpha Vantage LISTING_STATUS (9318 delisted US names w/ delistingDate; &date= point-in-time verified; ALPHAVANTAGE_API_KEY in .env.local) → complete survivorship-free PIT membership; EDGAR Frames cross-check. 3-gate conjunction A∧B∧C (alpha DSR≥0.95 / incremental corr≤0.6 + same-run combined-Sharpe / factor-purity on the 12-factor basis); TRIAL_BUDGET_N frozen; real Almgren-Chriss cost across an AUM grid. On a clean PASS w/ adequate per-name dead coverage → authorizes ONLY a 0.10 MONITOR `pead_midcap` sub-sleeve (beta+sector-neutral, own live-n gate, gated behind core PEAD n=60, never auto-ramp, operator-authored deployment PR) — NEVER a universe replacement; the backfill itself cannot create a sleeve (engine whitelist + closed DEFAULT_MODIFIER). Vetted by a pre-lock 4-lens adversarial red-team + empirical FMP/AV/EDGAR probe (draft-1 BLOCKED 5+8 → all resolved in draft-3). Honest prior STRATEGY_GRADE_CANDIDATE-leaning-INFO (~35-45% clears all 3 gates); the vendor fix raised verdict TRUSTWORTHINESS (survivorship-clean), not the edge odds. backfillEligibleOn 2026-07-07 (7d cooling — hypothesis seen in-sample). Next: ≥7/07 build scripts/backfill-pead-midcap-broadening.ts on the backfill-kit (verify SHA d31f5865, 5 BLOCKING --validate-data HALT probes, refuse before 7/07), run ONCE attended. Memo project_pead_midcap_broadening_prereg_2026_06_30.md.

Read more →
Analyst revision momentumDisconfirmed
2026-06-06#9da06ddb

RAN 2026-06-11 (grade-only — estimate leg not backfillable, operator-approved deviation) → NOISE. Net Sharpe −0.56 [CI −1.21,+0.12], NEGATIVE even gross (−0.43); 8/10 years negative; purged 1/5; corr(PEAD) 0.11 but combo Sharpe −0.19 vs PEAD-alone 0.53 — orthogonal AND bad. Grade-changes stay digest observability (never a trade claim). data/backfill/revision_momentum_2026-06-11.json. Rule #10: no iterate; REVISION_MOMENTUM_MODE stays off.

Read more →
equity_momentum_xs through-cycle stressResolved
2026-06-06#ad3c62bb

RAN 2026-06-11 → MARGINAL_HOLD (hold the ramp at 0.75; live n binding per Rule #1). Through-cycle NET Sharpe 0.33 @ pessimistic 60bps (gross 0.90), bootstrap lo95 −0.12 straddles 0; BUT not crash-fragile: momentum-crash windows benign (2009-Q2 DD 7.4%, COVID-Q1 0.0%), 5/5 purged folds, every-regime pass (2021 −14.75% worst). CONFIRMS the 5yr 'Sharpe 4.19' was an annualization artifact (legacy method reproduces 4.12; √252 applied to monthly periods — lib/agents/equity-momentum-xs-backfill.ts:170). Survivorship ⇒ all numbers upper bounds. data/backfill/equity_momentum_xs_stress_2026-06-11.json.

Read more →
PEAD exit-horizonResolved
2026-06-11#e4a42648

RAN 2026-06-17 → INFO_GRADE (the honest prior; first PEAD EXIT-rule study). 949 trades / 80 tickers / 2021-05..2026-05. All 3 variants (H10/H14/ICdecay) RAISE terminal wealth + win-rate (54-55% vs 38%) by capturing more of the 10-14d drift, BUT every one TRUNCATES the right-tail skew (3.38 → 1.07/0.36/2.30) — failing the LOAD-BEARING skew-preservation criterion (c2) → none SHIP. H10 cleared 5/6 (only skew), H14/ICdecay fewer. CENTRAL CAVEAT: the emergent BASELINE proxy exits faster (median 3d) than the documented live emergent exit (~5d/p90 10d), so the terminal-wealth gap is inflated by (a) the proxy under-capturing drift, (b) survivorship (longer holds compound more), (c) aggressive sequential compounding — NOT trustworthy in absolute terms. Robust finding = the SKEW direction (any hard cap clips the AMD-class winner) argues AGAINST a fixed horizon. corr(holdDays,return)=-0.30 NOT cleanly resolved as selection. No production change — emergent exit STANDS; a properly-controlled follow-up with real per-cycle signal state = a NEW pre-reg. data/backfill/pead_exit_horizon_2026-06-17.json. Rule #10: no iterate.

Read more →
PEAD asymmetric exit (loser-stop + uncapped-winner)Disconfirmed
2026-06-17#1e34946a

RAN 2026-06-22 → NOISE / DISCONFIRMED. OOS n=427 (split 2024-01-01): A1 terminal wealth 5.055 < B_decay5 baseline 5.283; paired-delta −0.001% CI [−0.318,+0.283] straddles 0; skew NOT preserved 1.842 < 2.342 → fails c1_terminalWealth + c2_skew + c4_deltaCI. The asymmetric structure did NOT escape the prior study's trade-off — the win-rate-by-horizon signal + corr(holdDays,return)=−0.30 was SELECTION, not a harvestable inefficiency (losers held longer because the SIGNAL kept them in). No production change — emergent signal-side PEAD exit STANDS; closes the PEAD exit-rule research thread (both 6/17 horizon + 6/22 asymmetric confirm the emergent exit is correct). Provenance firewall held (in-sample-generated hypothesis still disconfirmed honestly under multi-baseline + survivorship-stress). Pure info-layer, never touched modifier/Kelly/entry/exit. data/backfill/pead_asymmetric_exit_2026-06-22.json. Rule #10: no iterate (different rule/param = NEW pre-reg). Lock memo project_pead_asymmetric_exit_prereg_2026_06_17.md.

Read more →
LLM same-day-news-tone PEAD overlayResolved
2026-06-22#a22432be

RAN 2026-06-30 (attended) → DATA-LIMITED / INCONCLUSIVE — NOT a NOISE result. The 5yr historical news-tone corpus cannot be assembled: FMP `/stable/news/stock` serves ONLY CURRENT news on the current subscription tier — a from/to historical query returns the FMP error 'Special Endpoint: this value set for from is not available under your current subscription'. This is exactly the load-bearing unknown the pre-reg flagged ('HISTORICAL per-event news depth is the load-bearing unknown; live-forward carries the verdict if thin'). No LLM-scoring run was attempted on a forward-only corpus (would burn tokens for no historical signal); sentimentDelta STAYS null, zero trade-path. Forward path (Rule #10-clean, data-access decision): the LIVE-FORWARD shadow (the pre-reg's designated validator) accrues a hindsight-free corpus going forward, OR acquire historical news (FMP tier upgrade / alt vendor) for a true historical backfill = a NEW data-acquisition decision, not a retune of this construct. `data/backfill/news_tone_pead_2026-06-30.json`. Run-once honored. — LOCKED 2026-06-22 (operator 'Yes to both'). The DATA-AVAILABLE sibling of transcript-tone (f444d917, transcript-BLOCKED). DISTINCT construct (news ≠ earnings-call transcript, different information set + data path) → Rule #10 compliant, NOT an iterate-retry. FMP `/stable/news/stock` confirmed LIVE (--validate-data: 5/5 tickers, 20 articles each). Same drift question (does textual tone add INCREMENTAL IC over the SUE?), same LLM-hindsight mitigations (redaction + outcome-forbidden frozen prompt + shuffled negative control + INFO_GRADE backfill cap; live-forward = the validator) + the same charter (sentimentDelta stays null, engine never calls the LLM). **HONEST PRIOR INFO_GRADE-leaning-NOISE — WEAKER than transcript-tone**: same-day NEWS often just RESTATES the public surprise the SUE already captures, so the no-subsumption-vs-SUE bar is harder than for the call's management language. LOAD-BEARING NEW caveat: HISTORICAL per-event news depth over the 5yr corpus is unverified (--validate-data probes per-event on run-day; live-forward carries the verdict if thin). Reuses pead-nlp-overlay primitives + `lib/tepper/signals/news-tone-overlay.ts` (frozen news prompt) + the research LLM provider (local Ollama when configured → pinned cutoff mitigates hindsight). Harness scripts/backfill-news-tone-pead.ts gated. DO-NOT-RUN before 2026-06-28.

Read more →
PEAD CGO/AVWAP conditioners (C1-C4)Resolved
2026-06-10#7aeca6b4

RAN 2026-07-06 (attended) → INFO_GRADE. n=949/80 tickers, coverage C1-C4 949/949, no-double-dip dropped NONE, C3/C4 rho 0.596 → separate. NO conditioner clears all bars: C3 abnormal-volume is the only positive spread (+1.23%, t=1.71, ex-AMD+every-regime pass) but HS-adj p=0.305 and SIGN FLIPS OOS (IS +2.37%/OOS -0.91%); C1/C2/C4 negative spreads. PEAD drift does NOT usefully condition on price-volume structure in this corpus — the conditional entry-strength SIZING follow-on is NOT triggered (the Q3 conditional lock slot falls to buybacks per the plan). Survivorship upper-bound caveat stands. data/backfill/pead_cgo_avwap_conditioner_2026-07-06.json. Rule #10: no iterate.

Read more →

Event-driven (IPO / corporate events)

Do dated corporate-event shocks (IPO lock-up expiries, post-IPO drift) produce a tradeable, cost- and survivorship-honest edge — or do apparent effects dissolve under proper method?

IPO impact trackerLive

LIVE 2026-06-04 (Phase-1 INFO-grade observability). Tracks froth/issuance/QQQ-supply-absorption around SpaceX (Jun 12)/OpenAI/Anthropic; confirming-context for the fractal late-cycle read; never auto-trades. Forward-edge 'IPO-wave marks the top' claim separately pre-registered (issuance-intensity).

Read more →
Net share issuance (aggregate timing + cross-sectional)Disconfirmed
2026-06-20#05f13ded

RAN 2026-06-27 (attended; operator-directed completion pass) → NOISE / DISCONFIRMED. 305 issuance months 2001-01→2026-05 (EDGAR full-text S-1+424B4+424B5), 13 K1 flood onsets. PRIMARY SPX-12mo continuous IC −0.053 (RIGHT sign expected NEG, but) CI [−0.163, +0.057] STRADDLES 0 + bootstrap p(IC≥0)=0.131 + purged only 3/5 negative (fails 4/5) + Holm-Sidak n.s. + FAILS the binding no-subsumption-vs-valuation bar (beatsValuation false). Secondary SPX-6mo IC +0.084 WRONG sign; tertiary NDX-12mo-maxDD lift −0.122 (wrong direction). EQSHARE robustness leg agrees sign (−0.112). **⚠️ DATA-WINDOW-LIMITED / UNDERPOWERED — NOT a refutation of Baker-Wurgler (alpha-research review 2026-06-27, operator-prompted).** EDGAR full-text inception is 2001, so the DEFINING BW episode (1999-2000 issuance peak → 2000-02 dot-com crash) is STRUCTURALLY EXCLUDED, and the post-peak 2001-02 early sample INVERTS the sign (purged folds 0/3 strongly +0.26/+0.23 drag IC→0). MIN_OBS 36 + expanding-pctile ⇒ first K1 onset 2010-04, ZERO onsets 2001-09 (incl. 2007); the binary leg rests on ~1 clean in-window flood (2020-21→2022) which the jackknife shows is HELPING the right sign (icExFlood −0.083 more negative than −0.053). So the EDGAR slice is right-signed-but-CI-straddling on near-zero power, not a clean null. Honest class = INCONCLUSIVE/underpowered (kept in DISCONFIRMED bucket = non-scored, earns no weight; but distinct from the merit-based subsumed graveyard — yield-curve/vol-term/net-fed-liq/macro-nowcast/aggregate-short-interest DID have regime coverage and failed on merits). Pure info-layer — zero trade-path. The data-blocked [[ipo-issuance-intensity]] thesis is NOT closed by this — only the 2001+ EDGAR slice is tested. Forward path = a NEW pre-reg on Wurgler's FREE public 1927-2008 equity-share-in-new-issues series (or FRED NCBEILQ027S w/ ALFRED vintaging) — Rule-#10-clean (different source + the missing episodes, NOT a retune of this construct). Honest ceiling even fully-powered = INFO-grade (fails no-subsumption-vs-valuation BY CONSTRUCTION — firms issue when equity is rich → clusters w/ CAPE/NDX-M2/fractal; maximally crowded, annual-horizon, non-beta-neutral) → never tradeable alpha for this fund. Cross-sectional SECONDARY (Pontiff-Woodgate) stays deferred/report-only — a clearing version would only motivate a future broad-universe pre-reg, never this verdict. Run note: first attempt hung on an EDGAR efts dead-connection (harness had no per-request fetch timeout); minimal methodology-neutral fix added (15s AbortSignal.timeout + per-year progress log; pre-reg JSON hash 05f13ded untouched + re-verified) → clean single run. `data/backfill/net_share_issuance_2026-06-27.json`. Rule #10: no iterate (longer history or a tradeable cross-sectional factor = NEW pre-reg). Memo project_net_share_issuance_backfill_2026_06_27.md.

Read more →
Aggregate net equity issuance intensity (long-history, FRED Z.1)Disconfirmed
2026-06-27#4076ca79

RAN 2026-07-04 (attended; operator 'complete what is not date-gated' — the one eligible-and-unrun gate) → NOISE / DISCONFIRMED — RIGHT-SIGNED but UNCONDITIONALLY UNDERPOWERED (NOT subsumed, NOT a clean refutation). 253 quarterly obs 1962-2026 (post-40q warmup; IS 1952-94 / OOS 1995-2026), 17 K1 flood onsets incl. 1999-01/2001-01/2002-10 — the dot-com episode IN-sample = the clean test the [[net-share-issuance]] EDGAR construct structurally MISSED. PRIMARY SPX-12mo continuous IC −0.031 (RIGHT sign, Baker-Wurgler NEG) BUT Politis-Romano bootstrap 95% CI [−0.219, +0.136] STRADDLES 0 (bootP(IC≥0)=0.34, 4q horizon-block) → fails ci_excludes_0 → the mechanical NOISE branch; Holm-Sidak n.s. Secondary SPX-6mo IC +0.047 wrong-sign; tertiary NDX-maxDD lift +0.052 (lo −0.099, fails ≥0.15). ⚠️ NOT a subsumption failure — the OPPOSITE: it SURVIVES the binding no-subsumption-vs-valuation bar (icLowValuation −0.279, CI hi −0.018 EXCLUDES 0, n=114; beatsVixCredit −0.005) AND the gross-share Wurgler-adjacent cross-check agrees sign (−0.191) → genuinely NOT a rich-valuation proxy (distinct from the {liquidity-valuation, absorption, yield-curve} cluster). It fails on UNCONDITIONAL POWER + episode-dependence: full-sample CI straddles 0 + only 3/5 purged folds negative + ex-1999/2000 jackknife FLIPS to +0.006 (edge leans on dot-com; ex-2020/21 holds −0.025). The honest-prior 'modest episode power' (~6-8 true floods) outcome — a FAIRER test than the EDGAR sibling (episodes now observed) that still can't clear CI-excl-0. Class = right-signed-but-underpowered null: kept in DISCONFIRMED (non-scored, earns ZERO forecast-ledger weight per the mechanical verdict + Rule #5 no-re-interpret) but DISTINCT from the merit-based subsumed graveyard (it BEATS valuation; closer to [[aggregate-short-interest]]'s power-limited tag). DISCLOSED optimistic bias honored (pre-2003 final-revised Z.1, ALFRED vintages thin) → near-miss discounted not promoted. Even a full-power PASS was INFO-grade BY CONSTRUCTION (crowded, annual-horizon, non-beta-neutral macro context) → ZERO trade-path impact regardless; there was NO STRATEGY_GRADE outcome. Harness `scripts/backfill-net-equity-issuance-longhistory.ts` on the backfill-kit (verifyPreReg SHA 4076ca79 + eligibility), point-in-time release lag (period-end+72d), bootstrap horizon-block in QUARTERS; pre-run 4-lens adversarial review = lookahead-airtight + spec-faithful, --validate-data confirmed the Z.1 join + episodes. Both issuance siblings now RUN — the Baker-Wurgler/ipo-issuance thesis is real-ish (right sign, survives valuation-subsumption) but not harvestable as an independent scored signal on the observable episode count, and never tradeable for this fund. `data/backfill/net_equity_issuance_longhistory_2026-07-04.json`. Rule #10: no iterate on THIS construct (a Wurgler gross-SHARE test or an ALFRED-vintaged version = NEW pre-reg). Memo project_net_equity_issuance_longhistory_backfill_2026_07_04.md.

Read more →
IPO issuance-intensity top-signalArchived
2026-06-05#b703c53c

ARCHIVED 2026-06-20 — DATA-BLOCKED + SUPERSEDED. Locked 2026-06-05 (Baker-Wurgler issuance axis) but its Ritter-CSV backbone went dead (URL 404/WAF; FMP legacy ipo_calendar 403) → never runnable as specified (the first-day-pop + record-deal-of-cycle legs need Ritter data). The issuance-top THESIS is now testable on FREE EDGAR data via the DISTINCT `net-share-issuance` pre-reg (filing-flow intensity, eligible 2026-06-26). This entry stays for the record; the original Ritter-dependent construct is not pursued (Rule #10 — the EDGAR version is a new construct, not an iterate-retry).

Read more →
LLM earnings-call/news-tone PEAD overlayArchived
2026-06-22#f444d917

[UNBLOCK-RESOLVED / ARCHIVED 2026-06-30 (operator-directed 'do the 1 unblock'): the transcript-PRIMARY HISTORICAL backfill (hash f444d917) is ABANDONED — FMP transcripts are permanently dead (v3/v4 403 + /stable 402) and Rule #8 makes the locked file immutable, so it can't be reworked in-place. The thesis moved to the live-forward Path A shadow (Alpha Vantage), now ACTIVE: operator TODO complete — ALPHAVANTAGE_API_KEY set + TRANSCRIPT_TONE_FORWARD=on + cron + route all verified live 2026-06-30. Path A accrues the hindsight-free tone→SUE→fwd-14d-drift corpus the pre-reg named as its clean validator; a future ΔIC-join verdict would be its own pre-reg. pead.ts sentimentDelta STAYS null (promotion needs a STRATEGY_GRADE verdict + operator decision). No open data-acquisition decision remains. HISTORY ↓] LOCKED 2026-06-22 (.1% evaluation — the #1 forward-AI gap: ZERO ML/NLP in the trade path). First LLM/NLP signal evaluated for the trade path; finally tests the dormant pead.ts sentimentDelta hook. Confronts the LLM-specific look-ahead head-on (a 2026-trained model scoring a 2021 call) — entity redaction + outcome-forbidden frozen prompt + shuffled-label negative control + the backfill verdict CAPPED at INFO_GRADE; STRATEGY_GRADE requires a clean LIVE-FORWARD shadow track. The live engine NEVER calls the LLM + sentimentDelta STAYS null until a verdict + explicit operator promotion. ⚠️ DATA-BLOCKED on transcripts: --validate-data found FMP transcripts unavailable on the current tier (v3/v4 → 403 legacy, /stable transcript → 402). RESOLUTION (2026-06-22): FMP `/stable/news/stock` IS live (HTTP 200, confirmed) → the NEWS data path works, but this pre-reg is transcript-PRIMARY + IMMUTABLE (Rule #8) so it stays blocked until transcripts are acquired (FMP tier upgrade / alt provider). The viable near-term path is a SEPARATE news-only-tone pre-reg (news is a distinct construct, Rule #10 — not a silent swap of this locked file). Operator decision: acquire transcripts (run this as written) OR register a news-only sibling. **NEWS-ONLY SIBLING NOW REGISTERED (`news-tone-pead`, 2026-06-22, operator 'Yes to both').** **PATH A LIVE-FORWARD SHADOW BUILT 2026-06-25 (operator-directed): FMP transcripts confirmed DEAD (v3/v4 403 legacy — won't return on upgrade; /stable 402 tier-gated). Alpha Vantage EARNINGS_CALL_TRANSCRIPT verified free (demo IBM 2024Q1 → 52,355 chars). Built the forward shadow the pre-reg names as the CLEAN (hindsight-free) validator: lib/research/alphavantage-transcript.ts + transcript-tone-forward.ts (pure, +7 tests) + -assemble.ts + scripts/transcript-tone-forward.ts + cron app/api/cron/transcript-tone-forward (env TRANSCRIPT_TONE_FORWARD=off default). Charter-safe (lib/research, never imports engine/portfolio; sentimentDelta stays null). DORMANT pending OPERATOR TODO: claim a free AV key → set ALPHAVANTAGE_API_KEY → set TRANSCRIPT_TONE_FORWARD=on + add cron. The locked HISTORICAL backfill (transcript-PRIMARY, this pre-reg) stays gated/blocked — Path A is the forward-capture infra, not the backfill. Memo project_transcript_tone_data_unblock_2026_06_25.md.** Harness scripts/backfill-transcript-tone-pead.ts gated. DO-NOT-RUN before 2026-06-27.

Read more →
IPO event-study (lock-up drift + post-IPO dispersion)Disconfirmed

DISCONFIRMED 2026-06-04 (free read-only study, v1 7.0→v2 9.4 hardened). v2 systematic FMP universe + beta-adj + localization OVERTURNED the v1 lock-up 'pulse' (−7.5%→−0.9%, month-block CI straddles 0; NOT localized at expiry → beta+selection artifact). Survivorship quantified: dot-com 38% / modern 45% availability. Only generic Ritter post-IPO underperformance survives (modern median −6.9%@126d/−8.8%@252d) — slow, diffuse, short-only (borrow wall), not for this fund. Long-only path also negative. No pre-reg/engine/trade. Do NOT add survivor-only IPO feature to fractal v7.

Read more →

Macro-regime (forward-macro timing)

Do forward-macro nowcasts — the rate-of-change of growth nowcasts, recession probability, and inflation expectations — time the broad market's risk-on/off regime, orthogonally to the cross-asset stress family?

Late-cycle commodity-rollover regime tiltDisconfirmed
2026-07-01#37dc9326

RAN 2026-07-08 (attended, ONCE) → NOISE / DISCONFIRMED. 7 episodes, window 2009-08→2026. P1 continuous OOS IC 0.2021 [0.0155,0.2533] p=0.002 PASSES, but the co-primary P2 in-regime lift 0.01893 [0.00021,0.02738] FAILS Holm-Sidak (family-corrected), and the LOAD-BEARING no-subsumption battery fails C1 (vs disconfirmed oil), C2, E1 (vs futures_carry short), and the D kill-wire; DSR 0.9311<0.95 (INFO-hint). The late-cycle flag does NOT predict the forward short-{DBC,GLD,SLV} basket incremental to the existing exposures — the honest-prior INFO-ceiling/NOISE outcome. Joins the macro graveyard (oil-precursor/macro-nowcast/net-fed-liquidity/yield-curve/vol-term). Pure info-layer, ZERO trade-path touched. data/backfill/late_cycle_commodity_regime_2026-07-08.json; memo project_late_cycle_commodity_regime_backfill_2026_07_08.md. Rule #10: no iterate (a different composite/expression = NEW pre-reg). LOCKED 2026-07-01 (operator 'lock it in'). SHA-256 37dc93263f0c8bf2edff80f4e70c60170bb44f9299e4fd39e61c758584b490d3. Systematizes the operator's discretionary late-cycle 'topping/slowdown/de-risk' read that the fund's EMERGENT net-short book accidentally expressed for ~+26% SPY outperformance in ~2 months (the paying leg = the commodity-complex SHORT, per /api/factor-attribution: +18% alpha + a long-momentum-factor tilt, NOT the net-short-market which DRAGGED). Rule#10-CLEAN vs the disconfirmed macro graveyard (oil-precursor/macro-nowcast/net-fed-liquidity/yield-curve/vol-term were all CRASH-TIMING gates vs an SPX drawdown; this is a COMMODITY-basket forward return outcome + a short-commodity expression — different outcome + different expression). Fresh macro-regime member. Co-primary: continuous IC (P1) + in-regime conditional lift (P2), both with a +0.03 / +0.5%-mo magnitude floor. LOAD-BEARING no-subsumption battery: B (vs canonical MOP TSMOM), B' (macro-only R = rates+curve+credit, drops the commodity-price legs — the collinearity killer), C1/C2 (vs the disconfirmed oil/curve inputs R ingests), D (beta-neutral), E1 (vs the futures_carry unconditional short DBC/GLD/SLV), F (vs the roll-yield carry factor — Erb-Harvey/Gorton-Rouwenhorst). nTrials=35 FROZEN LITERAL (macro-regime was uncounted in STRATEGY_FAMILIES → the honest count is 30+4+1; companion PR adds the family). DSR on the kit's continuous signalWeightedReturns, non-overlapping 21-td, ppy=12, sharpeVariance frozen to program dispersion. USO EXCLUDED (HTB/non-shortable). HARDENED by a 15-agent adversarial evaluate-and-lift + 3 confirmation re-scores (final DESIGN score 9.60/10; two code-verified criticals closed — the trial-budget grounding + a self-introduced harness/DSR-series contradiction; the composite is INFO-ceiling-capped by ~6-10 episodes on one commodity cycle, NOT a flaw). Honest ceiling INFO-grade (crowded macro trade); STRATEGY_GRADE likely power-unreachable → realistic verdict space {INFO, DATA-LIMITED, NOISE}. Pure info-layer, ZERO trade-path; ≥INFO → scored forecast-ledger source (weight EARNED); a trade-path tilt is a SEPARATE pre-reg. backfillEligibleOn 2026-07-08 (7d cooling — hypothesis seen in-sample from the live book). Next: ≥7/08 build scripts/backfill-late-cycle-commodity-regime.ts on the backfill-kit (verify SHA 37dc9326, --validate-data + pre-lock power probe, refuse before 7/08), run ONCE attended. Memo project_late_cycle_commodity_rollover_regime_draft_2026_07_01.md.

Read more →
Macro-nowcast regime/timingDisconfirmed
2026-06-09#cc3c5717

RAN 2026-06-14 → NOISE. CLEAN GDPNow ALFRED-vintage window only (FRED vintage record begins 2016-05-17 → composite usable ~2017-08; the final-revision series was NOT used to pad pre-2016 — would inject the lookahead the pre-reg flags LOAD-BEARING). 9 risk-off onsets. Primary SPX 3mo: continuous IC −0.062 [lo −0.256] STRADDLES 0 (→NOISE trigger), and the impulse does NOT beat the LEVELS composite (deltaLo −0.078) — the pre-reg's defining hypothesis (delta>level) FAILS. Binary onset did show lift (0.229) + Holm-Sidak + 4/5 purged, but the continuous-IC + levels-subsumption fails are decisive. Honest-prior outcome (universally-watched → subsumed; short vintage window caps power). data/backfill/macro_nowcast_regime_2026-06-14.json. MACRO_NOWCAST_MODE stays off. Rule #10: no iterate.

Read more →
Net Fed liquidity (tide) impulseDisconfirmed
2026-06-09#a3af8b5a

RAN 2026-06-14 → NOISE (subsumed). 10 drain onsets 2010-2026 (latest net-liq ≈ $5.90T). Primary SPX 3mo: continuous IC +0.121 [lo 0.086] (drain z carries weak signal) BUT lift CI straddles 0 (0.04 [lo −0.169]), beats NEITHER the liquidity-valuation level (deltaLo −0.006) NOR naive VIX/credit (deltaLo −0.331); purged 2/5, Holm-Sidak n.s. The FLOW adds nothing beyond the LEVEL/coincident stress — answers the operator's 'where does liquidity come from' thesis (real construct, not an orthogonal forward edge; consistent with liquidity-valuation's 6/12 cluster). data/backfill/net_fed_liquidity_2026-06-14.json. Sentiment sibling still data-blocked. Rule #10: no iterate.

Read more →
Regime-engine v2 (silent-bug fixes + DXY/FCI)Resolved
2026-06-28#eaaa7d49

RAN 2026-07-06 (attended) → REVIEW / SPLIT: T1 CALIBRATION FIXES PASS (the point of v2 — MoM→YoY, HY pct-vs-bps, S&P→NDX) + T5 whipsaw + T6 ALFRED-vintage labeling + T7 FCI-overlay (Calmar 1.64× vs static, incremental DD vs vol-target ~0) PASS; but T2 credit DATA-UNAVAILABLE (BAMLH0A0HYM2 gapped — the v2.1 sibling's reason-to-exist), T3 + T4 (DXY fwd-63td NDX) FAIL. OPERATOR DECISION: adopt the validated T1 fixes shadow-first WITHOUT the failed DXY addition. data/backfill/regime_engine_v2_2026-07-06.json.

Read more →
Regime-engine v2.1 (Rule-#10 sibling, working data)Resolved
2026-06-28#267dc558

RAN 2026-07-06 (attended) → REVIEW / SPLIT: T1 calibration fixes PASS + T5/T6 PASS (mirrors v2), but the SUBSTITUTE data legs fail their forward-edge bars — BT2 (BAA10Y credit), BT7/BT8 (SECTOR_BREADTH_9), T3, T4 (DXY). The working-data sources are PLUMBED (validate-data PASS: breadth 6724d from 1999, BAA10Y 10124 obs) but do not EARN forward edge. Same operator decision as v2: adopt T1 fixes only. data/backfill/regime_engine_v2_1_2026-07-06.json.

Read more →

Multi-asset trend (time-series momentum)

Does time-series price trend — multi-asset momentum that rides established up/down-trends and exits on reversal — produce a tradeable, cost- and crowding-honest edge, distinct from the fund's cross-sectional relative-momentum sleeve?

A1 multi-asset trend barbell (20d/250d)Resolved
2026-06-10#14020965

RAN 2026-07-06 (attended) → INFO_GRADE / NOT a sleeve. 4,858 obs 2007-2026, net Sharpe 0.09 [boot95 -0.30,0.04] (gross 0.19; cost-sens 5bps 0.14 / 20bps -0.00), cum net +8.4%/19.5yr, maxDD 27.1%, whipsaw(2011+15+16) -11.4% (survives floor), folds 3/5, worst-year -8.0%. THE BINDING BAR FAILS: incremental-to-eq_mom_xs corr 0.18 OK but combined equal-risk Sharpe 0.079 < xs-alone 0.095 — liquid-ETF time-series trend at pessimistic costs adds nothing to the book. DSR(info) 60%. MONITOR candidacy NOT earned. A1-S (7/12) still runs per lock (sunk) but must STRICTLY beat this 0.09 baseline. data/backfill/a1_trend_barbell_2026-07-06.json. Rule #10: no iterate on THIS construct.

Read more →
A1-S structure variant (HH/HL trend-join + swing-trail)Disconfirmed
2026-06-10#28f47ebf

RAN 2026-07-12 (attended; the dedicated 9am fire silently no-op'd — the rli-v2-7/09 class — so the weekly optimizer ran it after a 4-lens adversarial pre-run review returned RUN_AS_IS/0-blocking) → NOISE / DISCONFIRMED. 4,858 obs 2007-2026; net Sharpe(ann) -0.20 [boot95 -0.66,-0.28], negative even at 5bps (-0.09), cum net -29.9%, maxDD 42.8%. THE BINDING BAR FAILS DECISIVELY: OOS -0.285 vs A1 baseline 0.142 (Δ -0.427, must STRICTLY beat), folds 0/5, absolute-floor ✗, incremental-to-eq_mom_xs combined 0.003 < xs-alone 0.095 (corr 0.094 orthogonal but value-destroying). Pass bars 1/5 (only every-regime-non-catastrophic ✓). DSR(info,nTrials=37) 15.2%. The operator's HH/HL structure-pullback + swing-trail is WORSE than the Donchian baseline — CLOSES the trend family (A1 INFO/not-a-sleeve + A1-S NOISE; neither liquid-ETF trend construct is a sleeve). Pure info-layer, zero trade-path. data/backfill/a1s_structure_variant_2026-07-13.json. Rule #10: no iterate. — LOCKED 2026-06-30 (operator-directed, immediately after A1). SHA 28f47ebf; inherits A1's resolved decisions (12-ETF / long-short primary + long-flat companion / equal-weight / Donchian-20 baseline). The operator's personal HH/HL style given a falsifiable home — continuation timing, NOT counter-trend (MR guardrail untriggered). Adversarial-by-construction pass bar: must STRICTLY beat A1 net Sharpe OOS (matching = FAILING) + absolute floor + trade-count<15 honesty cap; swing definition carries an explicit confirmation-lag (no look-ahead). SEQUENCED (harness-enforced): may NOT backfill until A1's backfill artifact + verdict memo BOTH exist — backfillEligibleOn 2026-07-12 is the cooling+sequencing buffer, the harness check is the binding gate. Verdict yields AT MOST a MONITOR candidacy (modifier 0, post-7/1). Lock memo project_a1_trend_barbell_lock_2026_06_30.md.

Read more →

Sector regime & value-chain links

Do cross-sector economic links carry tradable information — e.g. does upstream AI-infrastructure momentum lead power-utility returns beyond rates and generic momentum? Sector-level regime and value-chain hypotheses.

Utilities power-demand lead-lag (upstream AI-infra → power residual alpha)Disconfirmed
2026-07-13#6d4feedf

LOCKED 2026-07-13 (operator 'ok move forward with all decisions. i approve'). FIRST sector-regime family member — born from the operator's tech→utilities/healthcare rotation ask; the BROAD rotation was deliberately NOT drafted (consensus, INFO-ceiling, no variant). The construct: economic-links lead-lag (Cohen-Frazzini / Menzly-Ozbas) from upstream AI-infra spend to downstream electricity demand — the growth-asset-in-a-defensive-wrapper mispricing, duration-hedged (utilities = bond proxies; TLT residualization is THE killer confound control). Co-primary P1 continuous IC (floor +0.03) + P2 episode-deduped 80th-pctile onset lift (floor +0.5%/21d). No-subsumption battery B1 own-momentum / B2 duration / B3 naive XLU-relative-strength / B4 orthogonality-cluster report / B5 XLV placebo (healthcare has NO power mechanism — same lift there = generic defensive rotation, kill). IS 2005-15 (flat-demand era — mechanism may be absent → DATA_LIMITED plausible) / OOS 2016-26 (the 2023+ AI-power episode, ~3y = power-limited). nTrials=36 FROZEN (family added to STRATEGY_FAMILIES same commit). Honest prior INFO-leaning / DATA_LIMITED plausible; even full pass → scored forecast-ledger source ONLY (the fund has NO sector-ETF tradeable universe; any sleeve = separate operator-authored deployment pre-reg). All data free (Yahoo). backfillEligibleOn 2026-07-20 (7d cooling, in-sample origin). Next: ≥7/20 build scripts/backfill-utilities-power-demand.ts on the backfill-kit (verify SHA 6d4feedf, --validate-data, refuse before 7/20), run ONCE attended. SHA-256 6d4feedfe0541d2127181c67c9d9430722ab88f544fc1392027ecc97b4fdb4d7. **RAN 2026-07-24 (attended; RUN_AS_IS after a pre-run adversarial lookahead/spec review that cleared the SOXX-3:1-split risk) → NOISE / DISCONFIRMED.** Grid 2004-10→2026-07 (5466d), 12 OOS fresh onsets (≥6 → the test FORMED, not DATA-LIMITED). Co-primary FAILS decisively + WRONG-SIGNED: P1 OOS IC −0.1335 [−0.2591,−0.1074] (CI entirely below 0, expected +), P2 lift −1.615%/21d [−2.53,−0.97]; whole no-subsumption battery negative (B1 own-mom −0.080 / B2 duration −0.134 / B3 naive-XLU-RS −0.107); DSR 0.052, netSharpe −0.64, folds 2/5; jackknife holds negative sign (drop-2020 −0.126 / drop-2023 −0.125). Upstream AI-infra excess momentum NEGATIVELY predicts XLU's forward duration-residual — economically sensible (hot semis/datacenter momentum = risk-ON rotation OUT of defensive utilities; S loads +0.22 on the TLT duration axis, B4). Placebo XLV silent (−0.007, moot). ic63 −0.170; IPP VST/CEG/NRG raw fwd IC −0.060 (power-vacant, short history). FIRST sector-regime member DISCONFIRMED — the broad tech→utilities rotation adds no harvestable lead-lag alpha; pure info-layer, ZERO trade-path. data/backfill/utilities_power_demand_2026-07-24.json; memo project_utilities_power_demand_backfill_2026_07_24.md. Rule #10: no iterate (an EIA-demand-input or IPP-only variant = NEW pre-reg).

Read more →

Rate Lock Index (mortgage lock/float)

For a borrower with a known close date, what does locking versus floating actually COST — measured on real issued mortgage-rate paths under disclosed lender terms, not forecast from a direction model? A public-service research family for the Rate Lock Index; deliberately NOT a fund-strategy trial.

RLI v2.1 Lock Decision Engine (mortgage lock/float)Resolved
2026-09-09#fe647e32

RAN 2026-09-16 → INFO (the ~60% honest-prior modal outcome; `data/backfill/rli_v2_1_lock_decision_2026-09-16.json`). h30 n=91 (first scored 2019-09-04): W1 Spearman ρ=0.258 t=2.52 p=0.0067 PASS · B3 [P5,P95] coverage 94.5% in band [0.84,0.96] + KS 0.100<0.142 + terciles ≥0.80 PASS · CRPS 13.39 vs null 13.84 (ratio 0.968 ≤1.02) PASS · W2 width 91.2 vs 104.9 (0.870 ≤0.95) PASS · B5 engine mean regret 7.39 vs best-static 7.30 (+0.08 ≤ +0.5) + P95 18.8 vs always-lock 39.1, grid 9/9 PASS. h45 n=57 (first scored 2019-10-03): W1 ρ=0.283 t=2.18 p=0.017 PASS · B3 coverage 91.2% in [0.82,0.97] + KS PASS · CRPS 18.58 vs 19.11 (0.972) PASS · W2 121.7 vs 145.9 (0.834 ≤1.00) PASS · **B5 FAIL** — engine mean regret 17.43 vs best-static (always-float-with-trigger) 14.08, grid 1/9. Fresh-segment guard (SHIP_CANDIDATE-only condition in the frozen harness) ALSO FAILS at both horizons on the 2019H2-2020 segment never scored by v2.0 (h30 n=18: ρ=0.67 + CRPS 0.947 fine but engine regret 6.84 vs best-static 3.24; h45 n=11: 4.75 vs 2.52) — the post-v2.0-run segment has n=1 (report-only). W3 DM (non-binding) z=−2.15 p=0.032 at h30 / −1.52 at h45. ZN Parkinson ablation A2 ≈ primary. READ: the engine has real WIDTH skill (both horizons, the one bar with power) and honestly-calibrated, sharper-than-null intervals — the v2.0 scale error is fixed — but the PRICED decision layer does NOT beat the best static policy at 45 days and under-performs static in the COVID-era fresh segment → the decision layer is not earned. Per the verdict_mapping: registry RESOLVED; the EMPIRICAL PRIOR STAYS LIVE as /api/rates.lockEngine; RATES_LOCK_ENGINE stays unset; nothing ships. Rule #10: no iterate — a re-priced decision layer / different horizon set = NEW pre-reg. Run note: the 09:00 PT scheduled task was interrupted before its harness step (no artifact); the daily audit ran the unmodified harness under node@22 the same morning (the host `node` 25.8.1 binary was dyld-broken by a simdjson bump) — no methodology change, SHA re-verified. HISTORY: LOCKED 2026-09-09 (SHA fe647e32…c12b6, 7d cooling). The NEW-construct successor to the NO_SHIP v2.0 lock-cost engine (Rule #10): v2.0's rows showed a 1.39× interval SCALE error with Gaussian shape and its free float-down made the decision bar vacuous (always-floatdown 3.20 beat the engine's 5.13). v2.1 replaces both — split-conformal intervals on as-issued OOS residuals + a PRICED decision layer under disclosed lender terms (bound by termsHash) — with bars powered at n≈90 (W1 width skill, B3 hygiene, CRPS non-inferiority, W2 sharpness, B5 vs best-static on a 9-cell terms grid, fresh-segment guard) at h30 AND h45. Honest prior INFO ~60%. Harness scripts/research/rli-v2-1-lock-decision-validation.ts is COMPLETE at lock (--validate-data ✓ n30≈86/n45≈57, power .88/.74; --selftest ✓; refuses before 2026-09-16); run ONCE attended. SHIP_CANDIDATE does NOT auto-ship: Phase C = RATES_LOCK_ENGINE=v2_1 adapter with the empirical prior kept visible as the benchmark. Memo project_rli_v153_lock_decision_2026_09_09.md.

Read more →

Signal synthesis

Weekly synthesis that combines the live signals into a single convergence read for the operator.

Research framework

The research methodology itself — the pre-registration rigor protocol applied to every hypothesis below.

Fork B BTC carry verdict harnessLive

LIVE 2026-06-12 (read-only measurement, charter-isolated — never trades). First verdict KILL (provisional): N −17% vs F* 21.6%, funding 1.5% ann, hedge costs 8%/yr. Standing trigger route ships DARK (FORK_B_TRIGGER_MODE=off); config + episode table await operator ratification. Revisits the retired crypto_carry class on new rails.

Read more →
Forward-concentration governor (FCG risk-overlay)Resolved
2026-07-07#50d2f6ba

RAN 2026-07-17 (attended, ONCE) → DATA_LIMITED — the PRE-REGISTERED honest path, mechanically reached (NOT a pass, NOT a kill). The genuinely-reconstructable window is the LIVE fund (2026-04-03→2026-07-16, 75 trading days; real NAV + broker-fill book reconstruction, PIT computeFactorRisk on strictly-trailing bars — the 2008-2017 reconstructed windows the spec named are impossible per the learned-signal-combination finding that per-date signal panels don't exist pre-2026-03-29). That window contains 2 decoupled days and ZERO ≥3-day decoupled episodes (realized-vol-LOW-while-concentration-HIGH — FCG's structural shot) vs MIN_DECOUPLED_EPISODES=8 → C1 has no power (CI lo NaN), C2 false, C3 report-only (drag 0.671 — the scalar WOULD have cost meaningful melt-up in this concentrated-and-rising window, non-binding context). DISPOSITION per pre-reg: FRG Layer-0 STAYS SHADOW (forward-risk-state-shadow-v1 persists per cycle since 7/07); the scalar EARNS live via the forecast-ledger as decoupled episodes accrue; promotion to FORWARD_CONCENTRATION_GOVERNOR=block re-tests C1/C2 when the live shadow history contains ≥8 episodes — a re-run on ACCRUED LIVE data is the pre-reg's own designated path, not a Rule #10 iterate. Harness was 4-lens adversarially reviewed pre-run (8 tighten-only fixes, 7/12-13 hardening run). data/backfill/forward_concentration_governor_2026-07-17.json. Run-once honored.

Read more →
Learned regime-conditional signal-combination meta-modelResolved
2026-06-22#bc81ad51

RAN 2026-06-30 (attended) → DATA-LIMITED / INCONCLUSIVE — NOT a NOISE result, the test could not be FORMED. The locked methodology (purged 5-fold + 21d purge + 21d embargo) needs a per-(date,4-strategy) SIGNAL PANEL over ≥2-3yr, but the only such panel (`tepper_sleeve_signals`: strategy/signal_value/ic_estimate/net_alpha_bps/regime) spans just 2026-03-29→06-30 (~63 trading days) — far too short to form even one valid purged fold (21d purge+embargo alone exceeds the per-fold test window). The 5yr reconstructions the pre-reg assumed would extend the panel are AGGREGATE-STATS artifacts (pead_5yr = {stats,sample}; the only aligned one is pead_eqmom_monthly_aligned = 2-strategy MONTHLY RETURNS, not signals), NOT per-date panels. Running a shorter-window split would violate Rule #5 (unauthorized methodology change) → not done; no overfitting-prone fit was attempted. Live portfolio.ts IC-weighting UNCHANGED, zero trade-path. Forward path (Rule #10-clean amendment): a true per-date 4-strategy signal-panel reconstruction OR the pre-reg's binding-forward path (wait for live multi-strategy history to reach CV-sufficient length) — a data-access decision, not a retune. `data/backfill/learned_signal_combination_2026-06-30.json`. Run-once honored. — LOCKED 2026-06-22 (.1% evaluation — the 'no learned combination' gap). First LEARNED signal-combination / first ML for portfolio construction (vs hand-specified IC-weighting). The whole test is the no-subsumption-vs-IC-weighted bar: the learned model must BEAT the static baseline OOS net-of-cost or it's NOISE. Overfitting is the central risk → stricter discipline: mandatory regularization, feature-count cap (no mining), in-fold nested CV only, shuffled-label negative control, purged-5fold+embargo. Honest prior INFO_GRADE-leaning — a NOISE result (the IC-weighting wins) is a VALUABLE vindication of the simple combiner against ML hype. Live portfolio.ts combiner NEVER modified until a verdict + explicit operator promotion. Harness scripts/backfill-learned-signal-combination.ts gated. DO-NOT-RUN before 2026-06-27.

Read more →
Gain-protection governor (risk-overlay)Disconfirmed
2026-06-18#01846f67

RAN 2026-06-23 → NOISE / DISCONFIRMED — SUBSUMED by the LIVE vol-target overlay (C1 no-subsumption killer test = exactly 0 on both the 18yr proxy and the live book; on a ~40%-vol book min(volTarget,governor) always resolves to vol-target). `GAIN_PROTECTION_OVERLAY` STAYS shadow (do NOT promote); the next distinct give-back layer is a gain-banking TRIM (its own pre-reg). Pure info-layer, zero trade-path. Rule #10: no iterate.

Read more →
Momentum-dispersion-concentration governor (risk-overlay)Resolved
2026-06-26#969c12ea

RAN 2026-07-06 (attended) → INFO_GRADE / DO-NOT-PROMOTE. Arm A (per-axis de-gross): C1 PASSES (CMCGB lo 0.0273>0, 5/5 purged folds, 187 episodes — the per-axis scalar genuinely cuts the modeled momentum-crash tail per unit gross vs uniform) + alpha retention 0.868≥0.85 PASSES, BUT C2 FAILS — the DYNAMIC trigger does not beat a STATIC 0.70x constant de-gross on tail legs (the gain-protection subsumption class again: the mechanism is real, the dynamism isn't paid for). Arm B rotation: only 3 triggers (corpus-bound 2021+, the pre-reg's own power caveat). 2009-Q2 window unreachable (MTUM inception 2013 — disclosed, not spliced); positions-level book reconstruction per the gain-protection precedent (PASS would have been survivorship-discounted). GAIN_PROTECTION/dispersion overlays stay shadow. data/backfill/momentum_dispersion_governor_2026-07-06.json. Rule #10: no iterate.

Read more →
Alpha-discovery v3 frameworkMethodology
2026-05-17

parent methodology

Read more →
Self-improving reasoning layer (six-lens doctrine + scored reasoning loops)Methodology

FOUNDATIONAL MILESTONE (2026-06-25). Two stacked builds. (1) THE SIX-LENS DOCTRINE — one house analytical standard (variant-perception / second-derivative / why-it-persists / catalyst+clock / clean-expression / falsify-first + mechanism-before-data, no-hindsight, capacity, crowding, default-skeptical), single source `lib/intelligence/analytical-doctrine.ts`, injected into the Alpha Scout + the fund-digest PM read + the chadman chat persona. (2) THE REASONING-LOOP LAYER — every six-lens reasoning output becomes a falsifiable, timestamped, point-in-time prediction that is SCORED vs realized outcome and whose score CHANGES a behavior (score the analyst, not just the signal). 4 loops registered in the loop-closure-monitor: reasoning_pm_read (PM-read directional forecasts, LIVE accruing), reasoning_pm_recs (recommendation shadow-P&L, LIVE), reasoning_chat_proactive (state-change six-lens reads, SHADOW), reasoning_scout_triage (internal-anomaly self-sourcing → research queue, DORMANT, OPEN_BY_DESIGN). DISCIPLINE (load-bearing): raises the REASONING bar, NEVER relaxes the discipline gate — observability/decision-support only, never auto-trades; a sharp hypothesis stays a DRAFT until pre-reg + backfill (Rule #10); the LOCK / go-live / intel→trade / doctrine-mutation stay HUMAN. Plan + phasing: project_reasoning_loop_closure_plan_2026_06_25.md; doctrine: feedback_six_lens_doctrine.md. Phase 5 (the cross-surface reasoning earned-edge — which lens/surface earns) is QUEUED to build once the loops accrue matured track records.

Read more →