Brings the durable artifacts of research/portfolio-capacity-rebalancing onto main so the rationale for raising the count cap lives with the code that cites it. The matrix runner, the research simulator hooks and the study's unit tests are deliberately left behind; they remain at tag research/portfolio-capacity-final. Corrects conclusions that were reached on EV per trade and are now superseded: the findings doc's decisions 1 (keep cap 10) and 4 (run the risk-floor A/B) are struck through and answered in a new correction section, and the research README and phase-A matrix entries are updated to match. The frozen specification itself is untouched -- its recorded SHA-256 f1e37783 still verifies. effective-risk-floor-ab.md is retained but marked CLOSED/NEGATIVE: the study it proposes is already answered by cap15 vs cash_unbounded (-0.753pp CAGR while EV/trade rises), and its EV-based pass rule would have shipped it. scripts/research_rankings.py replaces a fourth copy of the historical rank-map helper; run_research_matrix, run_execution_recovery_matrix and run_daily_reentry_matrix now share it. The shared version adds a duplicate observation guard and a deterministic symbol tie-break the copies lacked. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Backtest report index
Reports dated 2026-07-11 or earlier are the historical production research record and remain untouched.
The completed 2026-07-12/13 S/R and Gate Target Ladder research is preserved as compact decision evidence instead of full per-arm replay output:
sr-v2-validation-comparison.jsonandsr-v2-validation-cohorts.csvrecord the held-out detector comparison.sr-full-production-vs-candidate-comparison.jsonand its cohort CSV record the full-period clean-structure replacement decision.sr-explicit-target-ladder-comparison.jsonand its cohort CSV record exact GTL parity: 202,765 candidates, 1,086 qualified setups, 321 book trades, Sharpe 2.03, CAGR 50.0%, and max drawdown 21.4% in both arms.- The three
backtest-20260713-gtl-*.json/.mdpairs record the tuning, confirmation, and strength-sensitivity decisions. No stable improvement was found, so the production GTL stayed frozen.
The large backtest-sr-*.json replay files were removed after consolidation.
They duplicated hundreds of thousands of candidate rows while adding no
decision information beyond the compact comparisons and the narrative in
docs/research/sr-levels-and-exits.md. The original raw files remain available
in Git history if a forensic reconstruction is ever necessary.
The initial untracked backtest-20260712-sr-detector-rewrite.json is local-only
and is intentionally not part of the repository.
The 2026-07-17 post-stop re-entry decision is preserved in
daily_reentry_matrix.json. It is the canonical source for the nine-policy
daily replay, production-like full-universe ranking, the disjoint 2025+ book,
and the cost/capacity sensitivity matrix. The interpretation and production
decision live in
docs/research/post-stop-reentry.md.
The earlier post-stop-reentry-20260717.json,
post-stop-cooldown-sweep-20260717.json, and
gate-protected-stop-20260717.json reports were removed as superseded
intermediate experiments. They used weekly/hybrid entry cadence or tested the
rejected stop-adjustment path, and add no decision evidence beyond the final
daily matrix and narrative. Their matching one-off runners were removed too.
All remain recoverable from Git history. Rebuildable candidate pickle caches
are intentionally ignored and must not be committed.
Phase B fip breadth IC (2026-07-18/19) — compact evidence
Canonical artifacts:
fip-reconcile-20260719-000520.json— single-sourced authoritative ICs (unconditional liquid fip, tiers, prod-subset, mom-conditional, context signals). Membership symbol dumps stripped after the decision; narrative indocs/research/fip-breadth-ic.md.fip-breadth-20260718-211440-fingerprint.json— prod-snapshot fingerprint pass (fip IC −0.045 / t −2.91).
Removed as superseded / dangerous intermediate noise (recoverable from Git):
fip-breadth-20260718-211440-breadth.json(+ wrapper) — orphaned +0.0575 / t +5.12 from racing a partialresearch.sqlite. Kept out of the tree so it cannot be re-mythologized.fip-breadth-20260718-194828*.json— fingerprint-only partial run.fip-breadth-diagnostics-20260718-213705.jsonand…-213908.json— dual-path diagnostics superseded by the single-sourced reconcile.