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.
Schema conformance, exit-0 contract, structured output parse, JSON Schema strict-mode, byte-length budget.
block-bootstrap CIs, random-timing nulls, regime-shuffle, parameter-prior sensitivity, Monte-Carlo coverage.
Locked OOS windows, 5-era stability, expanding/rolling walk-forward windows, frozen-spec evaluation, embargoed test set.
Deflated Sharpe Ratio (DSR), CSCV-based Probability of Backtest Overfit (PBO), Minimum Backtest Length (MinBTL), Bonferroni-Holm, BH-FDR.
Point-in-time dataset verification, survivorship-bias check, rebalance-vs-signal timing, frozen-spec, no-leakage to scoring.
31 INDIVIDUAL GATES · 6 FAMILIES · ONE CONTRACT
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
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.
end-to-end pipeline · every project
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.
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.
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.