# Reproduce the math series Run from the repository root: `node .codex-work/articles-math/sim/run.mjs`. No dependencies. Node's JavaScript double precision is used, with a 1e-8 dollar comparison tolerance. Version 1.0.0. `results.json.codeSha256` records the SHA-256 of the actual code, not a git identifier. Root seed 20261104. FNV-style string hashing derives a distinct seed for each named cell. The PRNG is xorshift32; it is reproducible, not cryptographic. Each Monte Carlo cell has 24,000 runs. `cells.csv` contains all cell counts; `paths.csv` contains the visual paths. Raw probabilities are not rounded in JSON. Articles show one decimal percentage point; streak group probabilities show two decimals. Rounded 100.0% means a rounded estimate, never certainty. Wilson intervals are sampling error only, not uncertainty about the trading model. ## Trade model - Reference balance USD 50,000; target +3,000; initial floor -2,000. Risk is a fixed dollar loss per trade; win pays fixed b times that loss. p is the probability of a win. Outcomes are independent and identically distributed. Costs, slippage, gaps, partial fills, serial dependence, changing edge, contract caps and account reviews are excluded. This is an educational model, not a firm's measured pass rate or a complete rules replica. - Touch or cross the existing floor: fail immediately. Touch/cross target: pass, except the explicit day-end qualification stack. Threshold overshoots are retained; no trades are clipped to a boundary. - EOD: five trades per artificial day. Track the highest daily closing balance. Floor = min(start balance, highest close minus USD 2,000). Never move it down. A floor can be hit between daily recalculations. No within-trade equity process exists; floating-equity breaches and intraday trailing are explained with exact diagrams only. - Heatmaps use 500 trades. A run that reaches neither boundary is unresolved, included in all-run denominators. This is a trade budget, not a claim that a firm has a time limit. The article separately compares a smaller risk's eventual result with its budgeted result. - A/B/C, reward/risk tables and time-to-boundary curves allow 20,000 trades. Report unresolved counts explicitly. All such published cells resolved in this run, but the horizon remains finite. Mean and median time refer to resolved outcomes, both pass AND fail. Do not call them time to pass. - A = 60% wins, +1R/-1R; B = 50%, +1.4R/-1R; C = 40%, +2R/-1R. Each has +0.2R expectancy, USD 50 at USD 250 risk. Their distributions and second moments differ. Different win rates are not intrinsically better; these chosen equal-expectancy distributions illustrate sequence risk. - Spaghetti visual is a different experiment: 40 independent Fisher-Yates permutations of exactly 56 wins and 44 losses, USD 250 per trade. All hypothetical records end at +3,000. Dashed post-boundary extensions are counterfactual; a failed evaluation cannot recover. It is not a Monte Carlo estimate of passing an IID 56% strategy. ## Exact checks Zero drift, static floor, absorbing exact-hit grid: pass probability = loss/(loss+target) = 0.4. USD 100, 125, 250, 500 and 1,000 all divide both distances exactly. USD 750 does not: effective grid boundaries are -2,250 and +3,000, so the exact probability is 3/7, not 40%. This check does not apply to trailing floors, added constraints, costs or finite unresolved paths. A positive-drift IID random walk without a lower boundary reaches a fixed upper target almost surely as time goes to infinity; finite budgets and real strategies do not inherit a guarantee. Specific group of k losses: (1-p)^k. At least one run of five within 100 trades is calculated by a finite-state recurrence retaining the number of consecutive losses so far, then checked with 24,000 independent simulated sequences per p. This correctly handles overlapping groups. No shortcut that treats overlapping windows as independent is used. ## Rules stack (different qualification clock from heatmaps) 24,000 paired tapes, p=.56, b=1, USD 500 risk, five trades/day, 500 trades maximum, target checked only at each daily close for EVERY layer. Replay the exact same seeded tape for target only, static floor, static + hard USD 1,000 daily failure, then EOD trailing plus daily failure, then best winning day / current cumulative profit <=40%. Exceeding consistency postpones qualification; it does not instantly fail. Added restrictions are nested on each tape; code asserts that property. Extra constraints can be nonbinding, so a strictly lower estimate at every step is not a universal theorem. Blue Guardian's actual Standard daily limit is a soft pause; this hypothetical hard failure must not be called its rule. For survivors of the final evaluation layer only, generate a distinct independent funded-stage tape: fresh 50,000 starting reference, initial -2,000 EOD floor that locks at zero P&L, +1,800 gross profit threshold, same USD 500 size, hard daily loss and 40% consistency, 500 trades, day-end qualification. No retained eval profit, withdrawal buffer, fees, split, repeat payouts, firm approval or contract scaling. The resulting final bar is a combined purchase-to-first-eligibility probability in THIS toy system, not an industry payout rate or dollars actually received. `conditionalPaid` uses final qualified accounts as its denominator. This experiment is separate from the article's illustrative cash funnel. ## Firm facts and returns `../research/facts.json` retains a dated subset of the previous series' official snapshots. Alpha's general MLL page confirms highest EOD balance trailing and a lock at starting balance; FundedNext Legacy historically has that lock but is no longer sold. Blue Guardian Standard evaluations never stop trailing; funded floors lock at starting balance plus USD 100. Model does not claim to match any whole plan. Official rules checked 4 November 2026. Returns example is chosen arithmetic, not sampled industry data: 100 × USD 140 costs 14,000; 15 funded; 7 payouts of 1,800 received AFTER split produce 12,600; 85 eval failures and 8 unpaid funded accounts. Net -1,400, -14 per purchase, -10% of fees. Conditional funded-to-paid share 7/15; purchase-to-paid share 7/100. Break-even paid share 140/1800, or 8 whole payouts in 100 attempts. Extra fees/taxes are excluded from this simple example and must be included in a personal ledger. General equation uses mean total net receipts per paid account, not merely the first payout. ## Artifacts and audit `../build-content.mjs` builds publishable content from the raw results. `../build-assets.mjs` builds SVG/HTML and rasterizes with existing Playwright. `../verify-numbers.mjs` verifies the code hash, probability arithmetic, counts, expected-value equality, streak recurrence, nested tape results, every published numeric token, generated article/table/X text and SVG provenance. Probability-bearing text is generated directly from named output cells; `../research/numeric-ledger.json` maps those claims to cells or exact arithmetic. Public downloads accompany the articles. Re-run content/assets after changing model results.