Thesis lifecycle.
Every published research note carries an active / exploratory / superseded status (ADR-0012). This page is the lifecycle view — what's promoted, what's in the queue, what was killed — sourced from the same frontmatter that drives the citer-chips on /writing and the live-book footer on each note.
For the review-queue side of the lifecycle — declining-PnL citers + abandoned-and-old notes — see /writing/stale (ADR-0014, live-polled).
active · 54
current thesis — sorted by citer-count desc- The strategy catalog — twenty-nine panel/event shapes, one ranking helper ← 10 2026-05-22 · 9 min
- Walk-forward without leakage: a checklist that's saved me ← 9 2026-03-18 · 3 min
- Strategy shape beats factor count: TSMom > 4-factor on the same data ← 7 2026-05-22 · 3 min
- The baseline arm you forgot to include ← 7 2026-05-22 · 4 min
- The promotion gate: why bad data should be unreachable ← 7 2026-05-17 · 3 min
- Designing an event-aware strategy: a checklist ← 6 2026-05-22 · 4 min
- One hundred seeds confirms and converges ← 6 2026-05-22 · 4 min
- The event clock isn't the panel clock ← 6 2026-05-22 · 6 min
- The pairwise rule — final form (four iterations later) ← 6 2026-05-22 · 5 min
- Vol-regime filter wins on mean, pays in variance ← 6 2026-05-22 · 1 min
- Composite strategies can interfere ← 5 2026-05-22 · 4 min
- Don't pay for caution you can't justify ← 5 2026-05-22 · 5 min
- Long-only buys asymmetric exposure, not just lower Sharpe ← 5 2026-05-22 · 4 min
- Three-clock momentum tops the harness ← 5 2026-05-22 · 4 min
- Vol ratio as cross-symbol regime gate ← 5 2026-05-22 · 3 min
- The citation graph as substrate ← 5 2026-05-21 · 4 min
- Dual-signal data makes composites stack ← 4 2026-05-22 · 4 min
- Pairwise correlation predicts composition before you run it ← 4 2026-05-22 · 4 min
- Perfect correlation explains the interference ← 4 2026-05-22 · 3 min
- The full pairwise matrix — 28 arms at N=100 ← 4 2026-05-22 · 3 min
- The pairwise rule predicted this one ← 4 2026-05-22 · 4 min
- AI research agents as platform citizens ← 4 2026-05-21 · 5 min
- Dual-signal at N=100: the composite stacks (slightly) ← 3 2026-05-22 · 3 min
- Fifty seeds reveal the tie ← 3 2026-05-22 · 4 min
- The deploy contract isn't a YAML file ← 3 2026-04-12 · 4 min
- Anti-correlation hedges, doesn't stack — the pairwise rule's 5th iteration ← 2 2026-05-22 · 4 min
- Higher moments add noise faster than signal ← 2 2026-05-22 · 4 min
- The intervention-point rule, confirmed by a fourth experiment ← 2 2026-05-22 · 4 min
- Synthetic data shows what you were solving for ← 2 2026-05-22 · 3 min
- Three vol-intervention experiments, zero wins on this synthetic ← 2 2026-05-22 · 4 min
- What 29 arms told us — session research log v4 ← 2 2026-05-22 · 4 min
- Refusal as planning hint ← 2 2026-05-21 · 5 min
- Observability for alpha pipelines: three dashboards, one rule ← 2 2026-01-30 · 3 min
- Disconfirmed: the transition-gate fix didn't recover the regime-filter ← 1 2026-05-22 · 4 min
- Drift vs reversal: the cleanest counterfactual for a post-event regime ← 1 2026-05-22 · 4 min
- Dual-signal at N=100, all 27 arms — the full picture ← 1 2026-05-22 · 3 min
- An event-aware wrapper needs signal concentration, not just signal presence ← 1 2026-05-22 · 4 min
- Fifty seeds, twenty-four arms — the full leaderboard ← 1 2026-05-22 · 4 min
- The sign-vs-rank composition conflict ← 1 2026-05-22 · 5 min
- The clustered-vol finding was also small-N — another tie at higher N ← 1 2026-05-22 · 3 min
- The first robust single-signal stack ← 1 2026-05-22 · 4 min
- Vol-of-vol distinguishes regime from level ← 1 2026-05-22 · 3 min
- Why ts_momentum leads at N=100 ← 1 2026-05-22 · 4 min
- Audit isn't a feature you turn on ← 1 2026-05-21 · 5 min
- Right-sizing the research data platform: five thresholds, in order ← 1 2026-05-17 · 6 min
- MLOps for quant research isn't MLOps for ML ← 1 2026-02-22 · 3 min
- The common-clock replay: make two strategies comparable before you believe their sum 2026-07-25 · 4 min
- How to use the comparison harness 2026-05-22 · 3 min
- Property tests catch cross-strategy bugs that per-strategy tests miss 2026-05-22 · 4 min
- Redundant vs multiplicative composition — what +0.70 means 2026-05-22 · 3 min
- Sharpe is scale-invariant. Stop trying to make it not. 2026-05-22 · 3 min
- Six regression tests pin the findings 2026-05-22 · 3 min
- The single-seed lead was a fluke 2026-05-22 · 4 min
- Search isn't research 2026-05-21 · 6 min
exploratory · 0
thinking out loud — sorted by date descnone
superseded · 5
no longer holds — sorted by date desc- Event gates cost Sharpe when the event has edge ← 1 2026-05-22 · 4 min → the-single-seed-lead-was-a-fluke
- Vol-clustering breaks the regime filter — but not for the obvious reason ← 4 2026-05-22 · 3 min → the-clustered-vol-finding-was-also-small-n
- What 19 arms told us about strategy composition ← 5 2026-05-22 · 5 min → what-24-arms-told-us
- What 24 arms told us — the session's research log ← 5 2026-05-22 · 4 min → what-27-arms-told-us
- What 27 arms told us — session research log v3 ← 3 2026-05-22 · 5 min → what-29-arms-told-us
how this is wired
Each writing note's frontmatter carries status: active | exploratory | superseded (per ADR-0012, validated by the content collection schema in src/content.config.ts). A superseded note also requires superseded_by — the slug of the current thesis that replaced it.
This page filters + buckets at build time. The same field drives the top-of-article banner on /writing/<slug> (#460) and the "exploratory / superseded" chip on the sandbox + agent citer footers — one source of truth, four surfaces.
For the operator: "what got decided overnight" lives here. The active bucket now ranks load-bearing theses (high citer-count) first; the transitional buckets stay date-desc so recent shifts jump out. For the registry that enforces the promotion contract at the live-capital threshold, see /projects/model-registry.