Magic Vault 5×3 — Evidence Manifest, draft-v0.1

DEV ONLY · NOT FOR PRODUCTION · NOT FOR CERTIFICATION. This manifest binds a set of Draft results to one config and one backend commit. It is not a freeze manifest and confers no lifecycle status.

The results below were APPROVED as Draft math on 2026-08-10. That approval accepts the measured numbers; it does not advance the lifecycle state, and this manifest is still not a freeze manifest.

Bound identities

FieldValue
Game IDmagic-vault-5x3
Go packagemagic_vault_5x3
Math versiondraft-v0.1
Lifecycle statedraft — mutable
Canonical configlibs/mathengine/games/magic_vault_5x3/magic-vault-5x3.yaml
Config SHA-256a42ae35875e200728a8bc9178b18c1ca19d4af1fdb92d96e3d775cb6556e7873
Backend Git SHAeb4cd2dfb4b176ebeab18a5c74212124b76fc7b9
Backend branchchore/task-cf3x3 (not merged, not deployed)
RNG algorithm/versionsha256-trunc64-be/go1-alfg#1
Enginelibs/mathengine, EngineVersion 1.0.0
Mechanichold_and_win/v1, reused unchanged

Recompute both hashes before trusting this manifest:

git -C /Users/admin/kiro/backend rev-parse HEAD
shasum -a 256 /Users/admin/kiro/backend/libs/mathengine/games/magic_vault_5x3/magic-vault-5x3.yaml

The config SHA-256 is computed from the exact bytes the binary embeds (magic_vault_5x3.RawYAML()), so a hash recorded here describes the config that actually ran.

Documents

Backend artifacts

PathRole
libs/mathengine/games/magic_vault_5x3/magic-vault-5x3.yamlcanonical executable config
libs/mathengine/games/magic_vault_5x3/pack.goembedded pack, ID, MathVersion, MechanicVersion, Config(), RawYAML()
libs/mathengine/games/magic_vault_5x3/pack_test.golocked contract, COIN/WILD semantics, COIN carry-over, orientation
libs/mathengine/games/magic_vault_5x3/exact_test.goexact trigger convolution, exact base RTP, decomposition
libs/mathengine/games/magic_vault_5x3/golden_test.godeterministic vectors, step/batch parity, max-win witnesses
libs/mathengine/games/magic_vault_5x3/evidence_test.go//go:build mvdraft — the two confirmation runs
apps/math-studio/internal/domain/packs/magic_vault_5x3.gostudio authoring preset
apps/math-studio/internal/domain/packs/magic_vault_5x3_test.goregistration + anti-drift against the canonical config

Reproduction commands

cd /Users/admin/kiro/backend

# Contract, exact results, golden vectors, carry-over, max-win witnesses
go test -race -count=1 ./libs/mathengine/games/magic_vault_5x3

# Studio preset and anti-drift
go test -race -count=1 ./apps/math-studio/internal/domain/packs -run MagicVault

# Seeded evidence runs
go test -tags mvdraft -count=1 -v ./libs/mathengine/games/magic_vault_5x3 \
    -run 'DraftSimulation|FeatureConditioned' -timeout 40m

Results bound by this manifest

Exact and estimated are separate columns throughout. Nothing sampled is labelled exact.

MetricMethodValueUncertaintyTargetVerdict
Trigger probabilityEXACT1 in 79.0555none1 in 75–85PASS
E[initial locked | trigger]EXACT6.4652none
Base RTPEXACT55.9961%none55.9962% derivedPASS
Base hit frequencyEXACT29.3886%none
Base σ per roundEXACT1.625286none
Base maximum winEXACT64.0000×nonebelow capPASS
Conditional feature meanestimated31.6252×SE 0.0202, CI [31.5855, 31.6648]
Feature contributionhybrid40.0038%inherits the above≈ 40%PASS
Total RTP (reconciled)hybrid95.9998%inherits the above96.0% ± 0.3ppPASS
Total RTP (all-simulated)estimated95.5731%SE 0.3209pp, CI [94.9441, 96.2021]compatibility onlyPASS at −1.33 SE
Round σestimated4.538431high volatilityconsistent
Full-grid rateestimated0.074300% of triggers743 of 1,000,000
Maximum awardwitnessedexactly 500×none500×, reachablePASS

Total RTP = exact base RTP + exact P(trigger) × estimated E[award | trigger].

Seeds and sample sizes

RunSeedSizeShards
Whole-game confirmationmagic-vault-draft-v0.1-confirmation2,000,000 rounds8 × 250,000
Feature-conditionedmagic-vault-draft-v0.1-feature-confirmation1,000,000 features
Golden vectorsmagic-vault-golden7 recorded round indexes
Carry-over proofmagic-vault-carry-over1 deterministic grid

Shard seeds and boundaries are listed in the simulation report.

Method boundaries

  • The whole game is not enumerable. ExactCalculate refuses it (stochastic_feature), and that refusal is asserted rather than worked around. There is no exact whole-game RTP and no exact whole-game max-win distribution.
  • Exact base results are produced by the same engine that executes the game. They are internally exact; they are not independent verification.
  • The max-win claim is a reachability witness plus a containment argument, corroborated by 3,000,000 executed outcomes. It is not an exhaustive enumeration.
  • Internal tests and simulations are not certification.

Unresolved drift and open items

  1. No runtime parity corpus. magic-vault-5x3 is not registered in libs/mathengine/parity; recording new vectors was out of Draft scope. Reference↔runtime parity for this game is unproven and is a prerequisite for any Final.
  2. All-simulated total sits below the acceptance band as a point estimate (95.5731%), at −1.33 SE from the reconciled 95.9998%. Its own SE (0.3209pp) is wider than the band, so it is reported as a compatibility check rather than as the acceptance measurement.
  3. Full-grid rate disagrees between runs at low count: 0.1075% (27 events, whole-game) vs 0.0743% (743 events, feature-conditioned). Use the latter.
  4. WILD 3- and 4-of-a-kind are structurally unreachable under the shared LinesEvaluator, so WILD carries a 5-entry only. Tested and documented; changing it is a shared-engine decision, not a pack decision.
  5. Base target deviates from the design brief's 55.44% (achieved 55.9961%), because the inherited conditional mean did not apply. Fully recorded in the changelog.

Status

draft-v0.1 — DEV ONLY. NOT FOR PRODUCTION. NOT FOR CERTIFICATION.

Draft math approved 2026-08-10. Lifecycle state remains draft and remains mutable.

Not frozen, not published, not routed, no feature flag, no deployment, no operator enabled. Tuning, parity vectors, runtime handoff and any Final version require separate explicit approval. The unresolved items above — chiefly the absent runtime parity corpus — are prerequisites for a Final and were not closed by Draft approval.