METHODOLOGY · EVAL-FIRST DISCIPLINEG1 to G31 GATE STACK · MODEL-ROUTING · AGENT CHARTER

CHRISTIAN.T.MACIONUTC+831-GATE EVALOWNER-VERIFIED

Don’t ship what hasn’t passed a measurable gate.

Five stages. Each kills 70%+ of the work. Same gate stack rates systematic strategies and LLM outputs.

  • Regime. Classify market state. Trend / range / vol regime before any signal.
  • Pre-flight. Mechanical validity. Schema, parse, dedupe, exit-0.
  • Research. Walk-forward, deflated Sharpe, block-bootstrap, orthogonality.
  • Backtest. OOS, regime conditioning, Monte-Carlo ruin probability.
  • Scribe. One-page memo + kill log. Verdict derives from gates.

Every shipped primitive passes through 31 gates: mechanical validity, statistical nulls, walk-forward OOS, multiple testing, look-ahead discipline, economic and cost realism. Same gate IDs mean the same thing whether the artifact is a trading strategy or an LLM output.

The gate stack

G1 to G31. Six families. One contract.

Every candidate (LLM output, systematic strategy, content artifact) passes through the same gate stack. Gates are mechanical (exit-0 contract), not opinionated. A pass means the candidate is allowed to surface; a fail means it isn't. Gate IDs are load-bearing: a "G16" means the same thing across the corpus.

Gate IDFamilyWhat it checks
G1 to G5Mechanical validity

Schema conformance, exit-0 contract, structured output parse, JSON Schema strict-mode, byte-length budget.

G6 to G10Statistical nulls

block-bootstrap CIs, random-timing nulls, regime-shuffle, parameter-prior sensitivity, Monte-Carlo coverage.

G11 to G15Walk-forward & OOS

Locked OOS windows, 5-era stability, expanding/rolling walk-forward windows, frozen-spec evaluation, embargoed test set.

G21 to G25Look-ahead discipline

Point-in-time dataset verification, survivorship-bias check, rebalance-vs-signal timing, frozen-spec, no-leakage to scoring.

G26 to G31Economic & cost realism

Spread/slippage/latency per asset class, capacity-constraint report, funding-carry, borrow cost, vol-targeted sizing, regime overlay.

31 INDIVIDUAL GATES · 6 FAMILIES · ONE CONTRACT

G1 to G5Mechanical validity
G1Schema conformance
G2Exit-0 contract
G3Structured-output parse
G4JSON Schema strict-mode
G5Byte-length budget
G6 to G10Statistical nulls
G6Block-bootstrap CIs
G7Random-timing nulls
G8Regime-shuffle
G9Prior sensitivity
G10Monte-Carlo coverage
G11 to G15Walk-forward & OOS
G11Locked OOS windows
G125-era stability
G13Expanding walk-forward
G14Frozen-spec evaluation
G15Embargoed test set
G16 to G20Multiple testing
G16Deflated Sharpe Ratio
G17CSCV PBO
G18MinBTL
G19Bonferroni-Holm
G20BH-FDR
G21 to G25Look-ahead discipline
G21Point-in-time dataset
G22Survivorship-bias check
G23Rebalance-vs-signal timing
G24Frozen-spec replay
G25No-leakage to scoring
G26 to G31Economic & cost realism
G26Spread & slippage
G27Capacity-constraint report
G28Funding-carry
G29Borrow cost
G30Vol-targeted sizing
G31Regime overlay

01 / trend arc

Why the gate stack tracks the curve

The methodology is not a static document.

Each rung of the AI arc changed how the gate stack is wired. PROMPTS gave the eval family; SKILLS gave the structured-output contract; AGENTS gave the run-loop schema; HARNESS gave the sandbox; LOOPS gave the AAR pattern; GRAPHS gave the shared-memory graph that connects every gate test to every shipped artefact. OFFICES is where the gate stack now runs: 14 squads, 112 agents, every gate test attached to a graph node. Below: the dated record of adoption versus mainstream emergence.

AI · HISTORY · METHODOLOGY EVIDENCE

Six rungs that built this gate stack.

The methodology is wired rung-by-rung. Each architectural jump maps to a gate family on this page.

11MONTHS AHEAD7STAGES2022 to 2025ARC112AGENTS NOW

PROMPTS

Nov 2022Dec 2022

I adopted Dec 2022

1months ahead

Single-turn Q&A; research summarization

SKILLS

Jul 2023Aug 2023

I adopted Aug 2023

1months ahead

Tools/functions; structured output

AGENTS

Dec 2023Feb 2024

I adopted Feb 2024

2months ahead

Single-agent loops; tasks

HARNESS

Apr 2024Jun 2024

I adopted Jun 2024

2months ahead

AI writes code in loop

LOOPS

Sep 2024Nov 2024

I adopted Nov 2024

2months ahead

Persistent agentic workflows

GRAPHS

Mar 2025May 2025

I adopted May 2025

2months ahead

Persistent state + memory; knowledge graphs

OFFICES

Q4 2025Q4 2025

I adopted Q4 2025

1months ahead

14 squads · graph-engineered multi-agent orchestration

NOW

SOURCEindustry emergence dates from canonical AI release milestonesADOPTIONpersonal shipped records, NDA-safe window 2022 to 2025

Full timeline →

Model routing

Tiered dispatch, not single-agent.

A multi-agent system runs at ~15× the token cost of a single agent. Route by what the step needs to compute, not by default. Every dispatch has a per-step budget.

Opus
judgment / hardest autonomous decisions
~1 dispatch per analysis chain
Sonnet
assembly / structured generation
~3 to 5 dispatches per chain
Haiku
mechanical / fast deterministic steps
~10 to 30 dispatches per chain
Fable
long-horizon autonomous research
one off, overnight

end-to-end pipeline · every project

01Intent
problem statement + success…
02Frame
frozen spec · eval harness…
03Build
tier-routed agents · cost-c…
04Verify
gate stack G1 to G31 · exit…
05Deliver
public repo or live paper-t…
↻ this loops. feedback from deliverable revises intent
01Intent
problem statement + success…
02Frame
frozen spec · eval harness…
03Build
tier-routed agents · cost-c…
04Verify
gate stack G1 to G31 · exit…
05Deliver
public repo or live paper-t…
↻ feedback loop: deliverable revises intent

Interactive · G16

Try the deflated Sharpe calculator.

Same in-sample Sharpe, different DSR, depending on how many strategies you tried. This is the gate that turns "1.14 looks great" into"DSR 0.70, fail."

deflated Sharpe · interactive

DSR calculator

Drag the sliders. DSR tells you whether your in-sample Sharpe survives the multiple-testing penalty for the number of strategies you tried.

11001000
−0.52.04.0
0.5y10y20y
computing…
n/aDSR
denominator n/aexpected SR n/aγ₃ n/aγ₄ n/a

DSR uses the normal-approximation of the expected maximum Sharpe under N i.i.d. trials, then deflates by √(1 − γ₃·SR + (γ₄·SR² − 1)/4).

Why 0.95? to reading the z-score and the numerator

The number the calculator prints is a z-score on the null H₀: "your IS Sharpe is just the best of N i.i.d. N(0,1) draws." Pass at DSR ≥ 1.645 = one-sided 95% test (the standard frequentist threshold; equivalent to 0.05 significance). Anything below is inconclusive or fail. not because 0.05 is sacred, but because 1.645σ is the conventional bar for "I tried many things and this one still looks unlikely to be noise."

Read it as a ratio:numerator = SR̂ − E[max SR under N trials] (how much your Sharpe beats the expected best of N random strategies);denominator = σ_SR̂ · √(1 − γ₃·SR + (γ₄−1)·SR²/4) (how noisy the Sharpe estimate is, with the higher-moment correction for non-normal returns). A DSR of 0.70 means "the gap is 0.70 noise-units wide" to not a 70% pass rate.

Ref: Bailey & López de Prado, "The Deflated Sharpe Ratio: Correcting for Selection Bias, Backtest Overfitting, and Non-Normality" (2014), JPM 40(5).

Agent charter

6 required fields per agent.

A charter is a contract, not a prompt. Same six fields, same semantics, every agent. No exceptions.

role
A specific function, never generic "AI assistant"
inputs
Typed input contract (JSON Schema, fail-closed)
outputs
Typed output contract with strict validation
handoffs
What this agent must NOT do (anti-charter)
gates
Which of G1 to G31 apply, with exit codes
evidence
What the agent must attach as proof

Related pages

Where the rest of the method lives.

This page owns the gate stack, model routing, and the agent charter. The incident log (where the gate stack caught a real bug) lives on/mistakes. The first-90-days plan for a new QR seat is on/for-recruiters. The implementation record (repos, licenses, verification dates) lives on /colophon.