Magic Vault 5×3 — Seeded Simulation Evidence, draft-v0.1
DEV ONLY · NOT FOR PRODUCTION · NOT FOR CERTIFICATION. Every figure in this report is a Monte Carlo ESTIMATE. Exact results are in
../exact/draft-v0.1.mdand are never restated here as if sampled, nor is anything here labelled exact.
Commands
Both are behind the mvdraft build tag so the default suite stays fast and -race clean.
Run A — whole-game confirmation
Shard boundaries and seeds
Results — all estimated
Jackpot cells awarded across all features:
Run B — feature-conditioned confirmation
How initial states were drawn
Not copied from the reference harness, and not rejection-sampled from whole rounds (at 1 in 79
that would discard 98.7% of the work). The sampler draws per-reel stops directly from
P(stops | total visible COIN ≥ 6), reel by reel, weighting each candidate count by the
suffix mass that can still complete the trigger. The only approximation beyond the exact
integer weights is float64 normalisation.
Validation. The sampler's empirical distribution of initial locked cells is compared against the exact distribution at every count:
Every count agrees within 1.3 σ. The measured mean below therefore describes the game these reels produce, not a differently-shaped population.
Results — all estimated
Comparison with the reference harness
The 0.82× gap is expected, not a defect: the same mechanic entered from a lower distribution
of starting coins returns less. It was reconciled by retuning the base paytable only —
no Hold & Win parameter was changed. See ../../changelog.md.
Reconciliation
Both components ran slightly light in this sample, which fully accounts for the total.
Why the acceptance band is applied to the reconciled figure, not to Run A
At 2,000,000 rounds the all-simulated total's standard error is 0.3209 percentage points — wider than the ±0.30pp acceptance band itself. Requiring that point estimate to land inside the band would be roughly a coin flip for a pack that is perfectly correct, so it would not be a test of anything. Reaching 0.10pp of standard error would take about 20,600,000 rounds; that cost was deliberately not spent, because the base RTP and the trigger probability are already known exactly and re-sampling them only adds variance.
What Run A is therefore asserted to show:
Stated plainly: the all-simulated point estimate, 95.5731%, sits below the acceptance band's lower edge. It is not the acceptance measurement, and it is statistically consistent with a game whose true RTP is 96.00%. The acceptance measurement is the reconciled 95.9998%.
Unresolved drift
- Full-grid rate disagrees between runs at low count. Run A gives 0.1075% of triggers (27 of 25,125, SE ≈ 0.0207pp); Run B gives 0.0743% (743 of 1,000,000, SE ≈ 0.0027pp). The difference is 1.6 σ on Run A's own error — consistent, but Run A's figure rests on 27 events. Use Run B's 0.0743% ± 0.0027%.
- Conditional mean differs trivially between runs. Run A 31.6324× (25,125 features), Run B 31.6252× (1,000,000 features). Run B is the recorded figure.
- Nothing else. No result in either run contradicts an exact value beyond sampling noise.