On 2026-07-02 an AI agent pre-registered this study and committed the pre-registration — 1 file, 83 insertions, and nothing else — 7 min 04 s before the commit that carried the engine. One of the bars it wrote down was about the instrument rather than the answer: realized beta should land inside [1.1, 1.5] for a 1.33× target, and outside that, halt. The same agent then wrote the engine and ran it. The run printed a flattering verdict — “LEAPS viable substitute” — and printed, in the same statement, the realized beta that disqualified it. One line was sizing the position in unit counts instead of dollars. It was fixed, the study was re-run, and the verdict inverted: the option arm ended up behind the margin arm by about 1.37 and 1.43 points a year. The buggy run was never committed, so on 2026-08-15 it was re-derived — one line restored on a generated copy of the committed engine, replayed against the same cached archive. Every figure below from that run is labelled re-derived 2026-08-15, not the original console output.
Granted, not measured: that the AI in this story wrote the pre-registration, wrote the bar, wrote the bug, found the bug, fixed the bug and published the correction. We wrote the bug. There is no clever reviewer in this report and there must not appear to be one. The protagonist is a four-line paragraph in a markdown file.
Tested: whether a plausibility band written before the code existed caught a specific instrument defect on one study. It did: the band was breached by 2.4983 and 1.9342 in realized beta, and the pre-registration named the diagnosis in advance — sizing bug — which is the diagnosis that turned out to be true.
Committed 6beaa55 on 2026-07-02 12:26:24 -0700, before the probe was run — the wager you cannot move after seeing the cards.
Did a plausibility bar, written down and locked before the code existed, actually reject a result that a reader would otherwise have believed?
The locked pre-registration states it in its own words: “LEAPS leverage costs MORE than margin at 1.33×”, with an expected drag of 1–4% a year. The first run said the opposite by 9.85 and 14.51 points a year, and the prior is not what caught it. A violated prior only says surprising; the reader still has to decide whether to believe the surprise. The band said sizing bug, which is a different kind of sentence — it named the defect and the action in advance, so there was nothing left to argue about. The corrected drag — 1.37 and 1.43 points a year against the option arm — does land inside the prior's 1–4% range, at its low edge.
| Parameter | Locked value |
|---|---|
| Pre-registration | 6beaa55a0f0c, 2026-07-02 12:26:24 -0700 — 1 file, 83 insertions |
| Engine + runner + result | a47a9529fef6, 2026-07-02 12:33:28 -0700 — 4 files, 333 insertions |
| Window between them | 7 min 04 s, read from git, not from a session transcript |
| The bar | Realized-beta diagnostic should land in [1.1, 1.5] for a 1.33× target; outside → sizing bug, halt. |
| Engine, as committed | src/leaps_backtest.py, 160 lines, sha256 701bed65f6699cc9…; 1 commit in its entire history |
| Runner, as committed | run_study2.py, 70 lines; 1 commit in its entire history |
| The line as it stands | units = LEVER * equity / s_t # share-equivalents (dollars / spot) |
| The line as restored for the reconstruction | units = LEVER * equity / 1.0 # share-equivalents per prereg sizing — re-derived 2026-08-15, not the original console output |
| Behavioural delta | one statement; 17 changed lines total in a machine-produced diff, the rest a docstring and one import; copy sha256 0d3e4e87a7749cfe… |
| Target exposure | 1.33× — the study's target, and it appears here for no other purpose |
| Commission | $0.66 per contract, both sides |
| Starting equity | $1.00 on every arm |
| Window | 2020-07-01 → 2026-06-22 (5.97 years) |
| Underlyings | QQQ and MU — the study's two underlyings and nothing else |
| Data for the reconstruction | the on-disk cache the original run wrote, replayed read-only and offline (128 hits, 0 misses); the network was never opened |
| # | Pre-registered goalpost | Measured | Pass |
|---|---|---|---|
| 1 | Pre-registered goalpost — realized beta inside [1.1, 1.5]. Verbatim from the locked prereg: “Realized-beta diagnostic should land in [1.1, 1.5] for a 1.33× target; outside → sizing bug, halt.” | first run: 2.4983 (QQQ) / 1.9342 (MU) realized beta | FAILED — the catch |
| 2 | Pre-registered goalpost — the same band, re-checked after the one-line fix | 1.1811 / 1.0996 (LEAPS arm), 1.2132 / 1.1488 (margin arm); 4 of 4 inside at displayed precision, 3 of 4 at full | PASS at displayed precision |
| 3 | Pre-registered goalpost — the study's OTHER plausibility bar, so the list is not cherry-picked: “implied financing rate extracted from entry LEAPS pricing should land in [FFR, FFR + 4%]; outside → halt and inspect (data defect, not a result).” | median implied financing 6.33% (QQQ) / 10.16% (MU); MU exceeds the band, halt-and-inspect fired and cleared it as no data defect | FIRED, inspected |
| 4 | Pre-registered goalpost — the kill this reconstruction was run to face: if the re-derived drag had NOT landed in the prereg's own “Drag ≤ 1%/yr (CAGR gap, LEAPS − margin): LEAPS = viable substitute” band, the committed account of the incident would be wrong and this report would not exist | −9.85% / −14.51%, and the engine's own band function returns “LEAPS viable substitute” for both — against a corrected +1.37% / +1.43% once the line was fixed | it did not fire |
| 5 | Precondition declared before the counterfactual was trusted — the fixed engine, through the same offline harness, must reproduce the committed results file first | 107 of 107 cells, 128 cache hits and 0 misses, network never opened | PASS |
3 of 5 — but the tally is the least interesting line in the table, because the row that FAILED is the finding. Row 1 is the catch: the run was rejected by a bar written before the engine existed. Row 3 is the honest company it keeps — the pre-registration listed two plausibility bars, not one, and the other also fired, on the corrected run, and was inspected and cleared. Row 4 is the kill this reconstruction was run to face, and it did not fire.
| Figure | Value | Class | What it means |
|---|---|---|---|
| Pre-registered plausibility band on realized beta | [1.1, 1.5] | measured (locked artifact) | Written for a 1.33× target and committed in 6beaa55, alone, 7 min 04 s before any of this study's code entered git. |
| Realized beta, first run — QQQ | 2.4983 | measured (reconstruction) | Realized beta — how hard the position actually swung against the underlying over the whole hold. Outside the band, so the run was rejected. |
| Realized beta, first run — MU | 1.9342 | measured (reconstruction) | Same measurement, the volatile name. Also outside the band; also rejected. |
| Entry exposure, first run — QQQ | 2.9125× equity | measured (reconstruction) | Entry exposure — a different question and a different number: how much the arm actually bought on day one. 0.011627015 share-equivalents × $250.49 spot. The order was 1.33×. |
| Entry exposure, first run — MU | 2.1650× equity | measured (reconstruction) | 0.043560458 × $49.70. Beta and exposure are not the same measurement and neither one is the other's error. |
| The readout the first run printed | “LEAPS viable substitute” | measured (reconstruction) | Printed by the same statement, on the same line, as the beta that disqualified it. That co-location is the whole episode. |
| Sign convention, stated once because the sources disagree on it | drag = margin CAGR − LEAPS CAGR | measured (source convention) | Read from run_study2.py L39, which is the convention the readout used on the night in question. A negative drag means the option arm came out ahead; a positive drag means it came out behind. The committed result table heads the same column the other way round and prints the opposite sign for the same fact. Both are honest; mixing them inside one sentence is not, which is why this row exists. |
| Drag on that run — QQQ / MU | −9.85% / −14.51% per year | measured (reconstruction) | The rejected answer, and it is only ever that. Negative, so on the convention above the option arm came out ahead by roughly ten and fourteen points a year. It did not; the engine was carrying roughly twice the ordered exposure. The corrected run turns it into +1.37% / +1.43% per year, which is the answer that stands. |
| Drag after the one-line fix — QQQ / MU | +1.37% / +1.43% per year | measured | The corrected verdict, and the sign flipped: “situational (>1.33x ambitions only)”. It carries its own caveats — two tickers, a bull-dominated window, taxes excluded, and an interest-rate path written by hand rather than pulled from a vendor, which §10 states. |
| Realized beta after the fix — LEAPS arm | 1.1811 / 1.0996 | measured | Back inside the band. 4 of 4 reported betas print inside it at the 2-decimal precision the tool displayed; 3 of 4 are inside at full precision — MU's LEAPS beta sits 0.00036 below the floor. A boundary, not an error, recorded so it cannot later look concealed. |
| Control parity before the reconstruction was trusted | 107 of 107 cells | measured | The fixed engine, run through the same offline harness, reproduces the committed results file cell for cell. A harness that could not reproduce the number we already have has not earned the right to produce one we do not. |
| Assertions in the committed code keyed to the band | 0 in 230 committed lines | measured | There are 0 assert statements in the engine and the runner combined, and exactly 1 raise, which is about a missing contract. The band was enforced because a person read a printed number and stopped. Nothing in the program did that. |
What else was on the same screen. The rejected run's option arm also re-derives a worst peak-to-trough fall of 78.70% on the index fund and 89.42% on the volatile name, against the margin arm's 41.84% and 63.37%. Those are a second implausibility and they are not a second check. The pre-registration lists exactly two plausibility bars — realized beta, and implied financing — and the drawdowns are not one of them. Nothing becomes a bar retroactively, least of all on a page whose subject is a bar that was written first.
How big the error actually was, and why it did not crash. Dividing by 1.0 instead of by spot asks for 1.33 share-equivalents per dollar of equity rather than 1.33 dollars of exposure per dollar of equity. At a $250.49 spot that is an over-order of about 250×. It did not produce a 250× position, because the engine's own affordability check caught the infeasible order and capped it at all-in. So the arm quietly became spend one hundred percent of equity on deep-in-the-money calls — delivered entry exposure between 2.16× and 3.03× across the 13 entries, against a standing order of 1.33×. The check that capped the position is what made the bug survivable enough to produce a plausible-looking answer. A bug that crashes is not the dangerous kind.
Where this bar is blind. It answers one question — is realized beta inside [1.1, 1.5] — and nothing else. It catches sizing errors large enough to push realized beta outside that band. It cannot see a defect that leaves beta inside it, and it did not see the other defect in that same session, which was found by ordinary debugging.
The control that earns the reconstruction. Before the re-derived run was trusted for anything, the fixed engine was put through the identical offline harness and compared cell for cell against the committed results file: 107 of 107 cells match, 0 failed, at 1e-9 relative tolerance. The scope of those 107: six metrics on each of three arms for each of two underlyings, plus the drag, the minimum equity ratio, the entry count, and the date, expiry, strike, spot and ask of every one of the 13 entries.
The control that shows only one arm moved. The margin arm and the buy-and-hold arm are bit-identical between the two runs — every metric, both underlyings. The defect lived entirely in one of the two things being compared, which is itself the reason the output looked like a finding rather than a fault.
The control that makes an offline replay legitimate. Contract selection reads only the symbol, the expiration list, the date and the spot — it never sees position size. So both runs issue the same data requests, and they did: 13 of 13 entries are identical across the two runs on date, expiry, strike, spot and ask, with 128 cache hits and 0 misses and the network never opened.
The control on our own claim about the instrument. We say the bar was enforced by a human, not by the program. That is measured, not asserted: the committed engine and runner (160 + 70 lines) contain 0 assert statements between them and exactly 1 raise, at line 98, about a missing contract. Nothing keyed to the band. A person read a printed number and stopped.
“The damning numbers are a reconstruction. You are grading your own homework, twice.” It is the right objection, and it is why the reconstruction was built the way it was rather than typed from memory.
Three things run against this report, and they are the reason it exists rather than a footnote to it. An episode about our own rigor is structurally an advertisement for our own rigor, and the failure mode is that you leave impressed instead of equipped.
The bar answers exactly one question. Is realized beta inside [1.1, 1.5]. That is all it asks and all it can see. A mis-sizing that lands the position at 1.45 clears it without a sound, and there was a second defect in that same session that no gate caught — found by ordinary debugging, and it carries no number here because no committed artifact records one.
The bar was not clever. It was early. Its entire power is that it was committed alone, before the engine existed, in a commit containing 1 file and 83 lines. Nothing about writing it required skill you do not have. If you cannot, from this page, write the same kind of bar for your own next backtest, the page has failed regardless of what it says about humility.
We wrote the bug. The same agent wrote the pre-registration, the bar, the defect, the fix and the correction. There is no outside reviewer in this story.
And one boundary, recorded so it cannot later look concealed. On the corrected run MU's LEAPS beta is 1.0996 — 0.00036 below the band floor. The tool printed beta to two decimals, so 1.10 is genuinely what was on screen and genuinely inside the band. The honest form: 4 of 4 reported betas print inside the band at the precision the tool displayed, and 3 of 4 are inside at full precision.
symbol, entry_date, expiry, strike, spot, ask, units_ordered, units_run_reconstructed, entry_exposure_ordered_x, entry_exposure_run_reconstructed_x, over_order_factor_asked_for, implied_financing, premium_over_intrinsic. The last two are the study's own per-entry figures rather than anything this page derived: implied_financing is the annualised financing rate the entry price implies — the input to the second pre-registered bar in the goalposts table — and premium_over_intrinsic is what the contract cost above its intrinsic value at entry. Both are identical in the two runs, because both are properties of the contract and not of the position size. Check our arithmetic: the CSV below is the same file the figures above are computed from.| # | Sym | Entry | Expiry | Strike | Spot | Ask | Units ordered | Units as run (re-derived) | Entry exposure ordered | Entry exposure as run (re-derived) | Over-order factor asked for |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | QQQ | 2020-07-01 | 2021-12-17 | 175.00 | 250.49 | 86.00 | 0.00530959 | 0.01162701 | 1.3300× | 2.9125× | 250.49× |
| 2 | QQQ | 2021-06-21 | 2022-12-16 | 240.00 | 344.36 | 113.49 | 0.00553143 | 0.01714943 | 1.3300× | 3.0341× | 344.36× |
| 3 | QQQ | 2022-06-21 | 2023-12-15 | 195.00 | 281.08 | 104.46 | 0.00503489 | 0.00769482 | 1.3300× | 2.6906× | 281.08× |
| 4 | QQQ | 2023-06-20 | 2024-12-20 | 255.00 | 366.90 | 135.06 | 0.00525830 | 0.01012273 | 1.3300× | 2.7164× | 366.90× |
| 5 | QQQ | 2024-06-24 | 2025-12-19 | 329.78 | 473.96 | 173.87 | 0.00560398 | 0.01349801 | 1.3300× | 2.7258× | 473.96× |
| 6 | QQQ | 2025-06-23 | 2026-12-18 | 370.00 | 531.65 | 192.85 | 0.00552506 | 0.01426068 | 1.3300× | 2.7567× | 531.65× |
| 7 | QQQ | 2026-06-22 | 2027-12-17 | 515.00 | 735.73 | 275.94 | 0.00590299 | 0.01948321 | 1.3300× | 2.6662× | 735.73× |
| 8 | MU | 2020-07-01 | 2022-01-21 | 32.50 | 49.70 | 22.95 | 0.02676056 | 0.04356046 | 1.3300× | 2.1650× | 49.70× |
| 9 | MU | 2021-07-26 | 2023-01-20 | 52.50 | 76.30 | 28.20 | 0.02659114 | 0.06577851 | 1.3300× | 2.7050× | 76.30× |
| 10 | MU | 2022-07-25 | 2024-01-19 | 40.00 | 60.15 | 25.70 | 0.02487203 | 0.03350362 | 1.3300× | 2.3399× | 60.15× |
| 11 | MU | 2023-07-24 | 2025-01-17 | 45.00 | 65.48 | 26.50 | 0.02378443 | 0.03392933 | 1.3300× | 2.4703× | 65.48× |
| 12 | MU | 2024-07-22 | 2026-01-16 | 80.00 | 115.28 | 47.55 | 0.02543944 | 0.04911643 | 1.3300× | 2.4241× | 115.28× |
| 13 | MU | 2025-07-21 | 2027-01-15 | 75.00 | 113.23 | 48.85 | 0.02362669 | 0.03849705 | 1.3300× | 2.3176× | 113.23× |
The transferable part of this is not that we are careful. It is that the disqualifying diagnostic was printed next to the flattering headline, by a bar written before the code, and that anyone holding any machine's backtest can demand exactly that of whoever built it.
So the question worth carrying is the one the bar is an answer to: what number would have to be true for this result to be impossible — and did you write it down before you ran? A prior only tells you a result is surprising, and you can talk yourself out of surprised. A bar with a named diagnosis attached — outside this range means a sizing bug, halt — leaves nothing to argue about, and it costs 83 lines and one commit, before you know which way the answer will go.
And the caveat that travels with it: a bar is only as wide as the question it asks. This one caught the defect it was shaped for and was blind to another the same night. A person read a printed number and stopped the run — which is a weaker-sounding claim than an automated halt, and the only one the record supports.
Everything we make is free — the reports, the ledgers, all of it. The only thing that costs us real money is the market data.