What 29 arms told us — session research log v4
what you'll learn · Twelve load-bearing claims this session's harness work produced — eight from v2, three from v3, one new — and the four regression tests + ADR-0062 that pin them against future drift.
The v3 summary at 27 arms / 11 claims is now stale. The v4 covers 29 arms / 25 strategies (now 27) / 12 claims, including the pairwise rule's 5th iteration (anti-correlation hedges, doesn't stack), ADR-0062 codifying the rule, and four CI-enforced regression tests pinning load-bearing findings. This note replaces v3.
The v3 summary
(what-27-arms-told-us) named 11
claims at 27 arms / 25 strategies. Since v3, the catalog grew
to 27 strategies, the harness to 29 arms, and the pairwise
rule iterated a fifth time. This is v4.
What changed since v3
-
Pairwise rule iterated to 5th form (PR #802 + #804): anti-correlation HEDGES, not stacks. The “low correlation predicts stack” framing needed a sign qualifier.
-
ADR-0062 codified the rule (PR #809). Permanent home with pre-build checklist + composition-stage definitions + sign-vs-rank explanation.
-
Two new strategies shipped:
xs_momentum_ma_crossover(PR #795) — MA-crossover scoring; below baseline on mean but lower stdev.xs_vol_weighted_mean_revert_composite(PR #800) — score- stage composite of anti-correlated parents; ties parent (hedge, not stack).
-
Four regression tests landed pinning load-bearing findings:
ts_momentum > baseline on directional(PR #782)multi-factor strategies negative on directional(PR #787)vol_weighted_mean_revert hedges, not stacks(PR #807)baseline ≈ spread_filter equivalence(PR #810)
The twelve load-bearing claims
| # | Claim | Status |
|---|---|---|
| 1 | Strategy shape > factor count | reinforced |
| 2 | Composite-horizon beats single-window | refined |
| 3 | Mean Sharpe rankings hide variance | reinforced |
| 4 | Composite stack-vs-interfere data-dependent | confirmed |
| 5 | Per-symbol vol intervention is wrong | partially-disconfirmed |
| 6 | Cross-symbol recovers Sharpe | refined |
| 7 | Same-stage composition stacks | confirmed |
| 8 | Pairwise correlation predicts stack | iterated to 5-condition |
| 9 | Small-N (under 20) Δs below 0.5 are noise | reinforced |
| 10 | Pairwise rule iterated five times | new claim |
| 11 | ts_momentum leads on directional data | regression-tested |
| 12 | Anti-correlation hedges, doesn’t stack | new claim |
The discipline rules table (v4)
| # | Rule | Source |
|---|---|---|
| R1 | Report all four (mean, stdev, min, max) at N ≥ 50 | ADR-0060 |
| R2 | Equal-leverage controls for Sharpe comparisons | ADR-0060 |
| R3 | Run composite arm before declaring two top arms | ADR-0060 |
| R4 | Entry rule does more work than score rule | Claim 1 + 11 |
| R5 | Multi-window single-factor beats single-window | Claim 2 |
| R6 | Min Sharpe widens with N; N=50+ estimates more honest | Claim 3 |
| R7 | Composite stack-vs-interfere data-dependent | Claim 4 |
| R8 | When N shapes fail, change intervention point | Claim 5 + 6 |
| R9 | Same-stage stacks; mixed-stage interferes (when gate dormant) | Claim 7 |
| R10 | Pairwise correlation + same-stage + sign-preservation predict stack | Claim 8 + ADR-0062 |
| R11 | Small-N (under 20) Δs below 0.5 are noise | Claim 9 |
| R12 | Anti-correlation hedges, doesn’t stack | Claim 12 + ADR-0062 |
What the next session inherits
Working platform:
- 29-arm A/B harness with multi-mode synthetic data
- 27 registered strategies covering entry-rule × score × event- aware × composite × MA-crossover design grid
- Analysis script with percentile + pairwise diagnostics
- Four CI-enforced regression tests
- ADR-0060 (measurement) + ADR-0062 (composition) protocols
- 12 discipline rules with documented evidence
Documented research arc:
- 55+ research notes traceable from claim to evidence to refinement
- Pairwise rule’s complete 5-iteration evolution
- Both positive findings and disconfirmed claims (small-N collapses for PR #717 and PR #746)
Clear next step:
- Real-data run. All claims here are synthetic-specific. Real US equities + Polygon bars + the live FOMC calendar is the next test surface.
The session’s research arc in three paragraphs
Paragraph 1: Build the platform. The session opened at PR #689 with 19 arms and four claims. By PR #751 it was 24 arms and eight claims; by PR #777 it was 27 arms and the pairwise rule’s four-iteration final form. The harness, the analysis script, the regression tests, and the ADRs are the artifacts that persist.
Paragraph 2: Iterate the rules honestly. The pairwise rule iterated five times. Two earlier claims (PR #717’s clustered-vol gap and PR #746’s composite-stacks-at-N=10) were disconfirmed at higher seed counts. The session-summary notes were updated honestly; the ADRs were drafted to reflect the empirically-tested final forms.
Paragraph 3: Inherit the next session. The platform is working. The discipline rules are codified. The regression tests CI-enforce four load-bearing findings. The next operator inherits a research engine + a research arc + a clear next experiment (real data). The synthetic harness has done what synthetic can do; real bars are required for any deployment claim.
Closing observation
The session’s 100+ PRs cluster into a recognisable shape: build strategy → add arm → run harness → read result → write research note → refine discipline rule → if robust, ADR + regression test. Each step of the loop has been iterated dozens of times. The artifacts left behind (29 arms, 12 rules, 55 notes, 2 ADRs, 4 regression tests) are the navigable platform a future operator inherits.
The next operator’s job is to point this platform at real data and see what survives.