Home Developers Evidence engineering.tolerance.monte_carlo

Public evidence

engineering.tolerance.monte_carlo

Machine-checked verification for calculation version 1.12.0 · tier internally_reviewed

CVP: CVP VERIFIED · CVP protocol 1.0.0-proposed · Engineering assurance · O2-A analytic σ/moments/Cp* and O2-B seeded mulberry32+Box-Muller replay of mean/std/percentiles/yield + O3 mpmath tabulated analytic σ. NORTA sampling and Sobol/Shapley remain Evidence regression.· 1-D MC stack; independent oracle covers analytic identities + seeded independent/joint-normal sampling; O3 covers tabulated analytic σ only · Protocol · Schema · Production report

Declared partition coverage
PASS · 13/13 declared partitions (normal-independent, normal-correlated, non-normal, norta-correlated, asymmetric, mean-shift, yield-capability, sensitivity-ranking, sobol, shapley, reproducibility, large-N, invalid-domain)
Versions
Calculation 1.12.0 · CVP protocol 1.0.0-proposed · Evidence 2026-09-16.o3-analytic
Verification revision
2026-09-16.o3-analytic · 40/40 property · digest 964fa4df8516

Verification

Legacy regression suite: 71/71 calculation tests · Production surface contract 8/8

Three distinct suites: educational examples on the calculator page, this legacy regression count (71/71 golden + boundary), and the CVP verification suite below. They are not the same number. Property, metamorphic, round-trip, O3, and interface statuses/checks are recorded in the CVP Manifest . SKIP (0/0) means that suite has no published vectors.

    This calculator CURRENT · Public schema 1.12.0 matches · Semantic contract ✓ · Production attested · Public/cache ✓ · Origin ✓

CVP verification suite

Protocol checks from the Evidence Manifest. Distinct from the legacy regression suite above. Verification revision 2026-09-16.o3-analytic. Calculation version 1.12.0. CVP 1.0.0-proposed. 5/5 golden · 25/25 CVP boundary · 13/13 invalid · 40/40 property · 8/8 O3 · 12/12 cross-interface · 8/8 CVP contract. digest 964fa4df8516. O2-A: analytic σ / moments / Cp* Cpk* vs separate-module identities (≤2 ULP). O2-B: seeded mulberry32+Box-Muller replay of mean/std/percentiles/yield (≤2 ULP). Not measured SPC. NORTA Pearson ≠ latent ρ; NORTA sampling remains Evidence regression. ≤2 ULP vs O3 applies only to the published tabulated analytic σ / moments / stack_center vectors (independent normal, correlated normal, gap, uniform, asymmetric uniform, triangular, k=1 3-4-5, single). Seeded MC statistics, NORTA, Sobol, and Shapley are not O3-compared.

  • Golden (oracle-backed) 5 / 5
  • CVP boundary 25 / 25
  • Invalid input 13 / 13
  • Property 40 / 40
  • O3 high-precision 8 / 8
  • Cross-interface 12 / 12
  • CVP contract 8 / 8
  • Interfaces PASS · UI (SSR) / REST / MCP
  • Interface claim ui-ssr is query-result HTML, not a live browser session.
  • Verified scope O2-A analytic σ/moments/Cp* and O2-B seeded mulberry32+Box-Muller replay of mean/std/percentiles/yield + O3 mpmath tabulated analytic σ. NORTA sampling and Sobol/Shapley remain Evidence regression.
  • Assurance Engineering
  • Deferred NORTA sampling, Sobol, and Shapley remain Evidence regression. O3 does not cover seeded MC statistics, Gaussian copula, or GD&T/3-D chains.
  • contract page version PASS
  • contract capability version PASS
  • contract input schema version PASS
  • contract output schema version PASS
  • evidence version matches manifest PASS
  • schema valid input executes PASS
  • engine success output validates schema PASS
  • schema rejects incomplete input PASS

Fingerprint sha256:b4326f46a11710b3cbb4d2b124ac12ebc8e637d6d7e6dd9fbbbdcc2fd9c25a43

Input schema sha256:55ee91bbeba09c82e0effc6d2c3bf95a9e0d7afe24f8b056bf217788b81992b1 · Output schema sha256:6bd4d91cb24648c1c65224651fb3153e3b3c7149b5328f5362df59d0ec62744a · Build-time SHA-256 digests prove published artifacts agree with each other (release_integrity.scope=workspace). Production attestation GETs canonical URLs twice (public/cached view and origin), including Capability HTML, via npm run attest:production --write (published at /.well-known/calculatorx-production-attestation.json) and fails if the public Capability page advertises a different calculation_version. This is artifact consistency, not an independent immutable release log.

Build & scope

Engine identity and declared limitations.

Tool
monte-carlo-tolerance
Engine
monte-carlo-tolerance
Engine build
2026-09-11
Evidence core
2026-09-11T23:04:52.544Z
Rendered
2026-09-16T22:03:43.742Z
Last reviewed
2026-08-12

Assumptions

  • Independent unless correlations provided
  • Correlated all-normal: joint two-piece normal via Cholesky
  • Correlated non-normal: Gaussian-copula NORTA; entered ρ is latent Gaussian correlation, not Pearson of the finished marginals
  • Cp*/Cpk* are design-stage simulated indices

Limitations

  • 1-D stack; correlations use joint normal (all-normal) or Gaussian-copula NORTA (non-normal marginals)
  • Asymmetric normal uses two-piece scaling; uniform/triangular use [-tol_minus,+tol_plus]
  • Cp/Cpk/Ppk are simulated design-stage indices from overall MC mean/σ — not measured in-control SPC
  • Sobol requires independent inputs; for this linear stack Si=STi=analytic variance shares
  • Shapley variance attribution supports correlation; exact for d≤12, permutation estimate for d>12
  • Under NORTA, analytic σ uses Cov≈ρ·σi·σj (latent ρ); prefer Monte Carlo σ
  • Shared query must encode noms/sense; legacy tol1/tol2 alone is error-only (nominals 0)
  • Not full GD&T / 3-D geometry
  • MCP/agent input schema is canonical (no legacy field aliases); REST still accepts aliases
  • calculation_fingerprint is SHA-256; calculation_short_id is FNV-1a32 for UI only
  • MCP execute/inspect default detail_level=summary; pass full for histogram/Sobol/Shapley/contributors
  • Agent correlations use named pairs {a,b,rho} only (no i/j indexes)
  • Agent tolerances: half_tolerance OR both tol_plus+tol_minus (no single-sided agent form)

Sources

Standards and references supporting this tool specification. Methods are listed separately — they are algorithms, not bibliographic sources.

Legacy published checks

Golden and boundary cases from the legacy Evidence JSON. CVP property, metamorphic, round-trip, O3, and interface statuses/checks are recorded in the Manifest — including SKIP when a suite has no vectors.

IDKindStatusDetail
mcgoldenpassExpected std=0.07431402402418098 · std_analytic=0.07453559924999299 · Actual n=2 · mode=monte_carlo · profile=basic · N=2000 · seed=42 · k_sigma=3 · correlated=false · sensitivity_method=spearman
bad-NboundarypassExpected VALUE_OUT_OF_RANGE · Actual VALUE_OUT_OF_RANGE
emptyboundarypassExpected MISSING_REQUIRED_INPUT · Actual MISSING_REQUIRED_INPUT
seededgoldenpassExpected mean=0.00027942046066928717 · Actual n=2 · mode=monte_carlo · profile=basic · N=2000 · seed=42 · k_sigma=3 · correlated=false · sensitivity_method=spearman
canonicalgoldenpassExpected std=0.07431402402418098 · Actual n=2 · mode=monte_carlo · profile=basic · N=2000 · seed=42 · k_sigma=3 · correlated=false · sensitivity_method=spearman
gap-yieldgoldenpassExpected stack_nom=5 · yield=0.99285 · Actual n=2 · mode=monte_carlo · profile=dimensional · N=20000 · seed=42 · k_sigma=3 · correlated=false · sensitivity_method=spearman
asym-uniformgoldenpassExpected stack_dist_mean=0.075 · std_analytic=0.07216878364870323 · Actual n=1 · mode=monte_carlo · profile=dimensional · N=10000 · seed=2 · k_sigma=3 · correlated=false · sensitivity_method=spearman
boundary-mcboundarypassExpected std=0.07431402402418098 · std_analytic=0.07453559924999299 · stack_nom=0 · Actual n=2 · mode=monte_carlo · profile=basic · N=2000 · seed=42 · k_sigma=3 · correlated=false · sensitivity_method=spearman
boundary-mc-canonicalboundarypassExpected n=2 · std=0.07431402402418098 · Actual n=2 · mode=monte_carlo · profile=basic · N=2000 · seed=42 · k_sigma=3 · correlated=false · sensitivity_method=spearman
boundary-mc-gapboundarypassExpected stack_nom=5 · std_analytic=0.07453559924999299 · yield=0.99285 · Cp=0.8983981967900371 · Actual n=2 · mode=monte_carlo · profile=dimensional · N=20000 · seed=42 · k_sigma=3 · correlated=false · sensitivity_method=spearman
boundary-mc-corrboundarypassExpected std_analytic=0.17320508075688773 · correlated=true · Actual n=2 · mode=monte_carlo · profile=dimensional · N=2000 · seed=3 · k_sigma=3 · correlated=true · correlation_model=two_piece_normal
boundary-mc-shiftboundarypassExpected stack_nom=5 · stack_shift=0.05 · stack_center=5.05 · Actual n=2 · mode=monte_carlo · profile=dimensional · N=500 · seed=1 · k_sigma=3 · correlated=false · sensitivity_method=spearman
boundary-mc-corr-uniformboundarypassExpected correlated=true · correlation_model=gaussian_copula_norta · Actual n=2 · mode=monte_carlo · profile=dimensional · N=2000 · seed=1 · k_sigma=3 · correlated=true · correlation_model=gaussian_copula_norta
boundary-mc-uniformboundarypassExpected n=1 · std_analytic=0.17320508075688773 · Actual n=1 · mode=monte_carlo · profile=basic · N=2000 · seed=1 · k_sigma=3 · correlated=false · sensitivity_method=spearman
boundary-mc-oneboundarypassExpected n=1 · std_analytic=0.1 · Actual n=1 · mode=monte_carlo · profile=basic · N=1000 · seed=7 · k_sigma=3 · correlated=false · sensitivity_method=spearman
boundary-mc-tenboundarypassExpected n=10 · std_analytic=0.10540925533894598 · Actual n=10 · mode=monte_carlo · profile=basic · N=500 · seed=1 · k_sigma=3 · correlated=false · sensitivity_method=spearman
boundary-mc-k6boundarypassExpected std_analytic=0.1 · k_sigma=6 · Actual n=1 · mode=monte_carlo · profile=basic · N=500 · seed=1 · k_sigma=6 · correlated=false · sensitivity_method=spearman
boundary-mc-zero-padboundarypassExpected n=3 · std_analytic=0.07453559924999299 · stack_worst=0.3 · Actual n=3 · mode=monte_carlo · profile=basic · N=500 · seed=3 · k_sigma=3 · correlated=false · sensitivity_method=spearman
boundary-mc-N-hiboundarypassExpected VALUE_OUT_OF_RANGE · Actual VALUE_OUT_OF_RANGE
boundary-mc-emptyboundarypassExpected MISSING_REQUIRED_INPUT · Actual MISSING_REQUIRED_INPUT
boundary-mc-k-badboundarypassExpected VALUE_MUST_BE_POSITIVE · Actual VALUE_MUST_BE_POSITIVE
boundary-mc-usl-lslboundarypassExpected VALUE_OUT_OF_RANGE · Actual VALUE_OUT_OF_RANGE
boundary-mc-asym-uniformboundarypassExpected stack_dist_mean=0.075 · std_analytic=0.07216878364870323 · sensitivity_method=spearman · Actual n=1 · mode=monte_carlo · profile=dimensional · N=10000 · seed=2 · k_sigma=3 · correlated=false · sensitivity_method=spearman
boundary-mc-sens-pearsonboundarypassExpected sensitivity_method=pearson · Actual n=2 · mode=monte_carlo · profile=basic · N=2000 · seed=42 · k_sigma=3 · correlated=false · sensitivity_method=pearson
boundary-mc-sens-badboundarypassExpected INVALID_MODE · Actual INVALID_MODE
boundary-mc-sobol-corrboundarypassExpected SOBOL_REQUIRES_INDEPENDENT_INPUTS · Actual SOBOL_REQUIRES_INDEPENDENT_INPUTS
boundary-mc-sobolboundarypassExpected sensitivity_method=sobol · Actual n=2 · mode=monte_carlo · profile=basic · N=500 · seed=1 · k_sigma=3 · correlated=false · sensitivity_method=sobol
boundary-mc-shapleyboundarypassExpected sensitivity_method=shapley · Actual n=2 · mode=monte_carlo · profile=basic · N=500 · seed=1 · k_sigma=3 · correlated=false · sensitivity_method=shapley
boundary-mc-shapley-corrboundarypassExpected sensitivity_method=shapley · correlated=true · Actual n=2 · mode=monte_carlo · profile=dimensional · N=500 · seed=1 · k_sigma=3 · correlated=true · correlation_model=two_piece_normal
boundary-mc-spec-mismatchboundarypassExpected stack_center=0 · yield=0 · capability_basis=simulated_monte_carlo · Actual n=2 · mode=monte_carlo · profile=dimensional · N=500 · seed=1 · k_sigma=3 · correlated=false · sensitivity_method=spearman
boundary-mc-yield-extremeboundarypassExpected yield=0 · Actual n=2 · mode=monte_carlo · profile=dimensional · N=500 · seed=1 · k_sigma=3 · correlated=false · sensitivity_method=spearman
property-seededpropertypassdeterministic
property-stdpropertypassstd
property-analyticpropertypassσ_analytic = √Σ(T/k)²
property-mc-near-analyticpropertypassN=2000 within 1% of analytic
property-canonicalpropertypasstolerances[] ≡ tol1/tol2
property-permute-analyticpropertypassorder-invariant analytic
property-scale-analyticpropertypasshomogeneous ×2
property-k1propertypassk=1 → σ=√ΣT²
property-all-zeropropertypassall-zero → σ=0
property-seed-differspropertypassdifferent seed → different sample
property-convergencepropertypasslarger N closer to analytic
property-rng-metapropertypassPRNG lock
property-central95propertypasspercentile ordering
property-stack-rsspropertypassstack_rss = k·σ_analytic
property-100-tolspropertypass100 tolerances
property-gap-nompropertypassGap A−B nominal+σ
property-yieldpropertypassyield+Cp≥Cpk
property-corr-analyticpropertypassρ=0.5 analytic σ = √(σ₁²+σ₂²+2ρσ₁σ₂)
property-corr-mc-near-analyticpropertypassρ=0.5 MC σ near analytic
property-mean-shiftpropertypassmean_shift moves center
property-sense-aliaspropertypasssense/direction aliases
property-uniformpropertypassuniform σ = T/√3
property-triangularpropertypasstriangular σ = T/√6
property-asym-meanpropertypassasymmetric uniform E[ε]=(+−)/2
property-sensitivitypropertypassSpearman |ρ|≤1
property-convergence-metapropertypassconvergence checkpoints
property-pearsonpropertypassPearson sensitivity lock
property-spec-mismatch-warnpropertypassSPEC_CENTER_MISMATCH when center outside LSL/USL
property-gap-no-mismatchpropertypassaligned gap stack has no SPEC_CENTER_MISMATCH
property-yield-extreme-warnpropertypassYIELD_SAMPLING_EXTREME + rule of three when 0 passes
property-fingerprintpropertypassSHA-256 calculation_fingerprint + FNV short_id lock
property-sobol-exactpropertypassSobol Si=STi=variance share
property-shapley-indeppropertypassShapley independent = Sobol shares
property-shapley-corrpropertypassShapley correlated shares sum≈1
property-nortapropertypassNORTA uniform+ρ · MC σ near analytic approx
property-share-url-nomspropertypassShared URL noms/sense → gap yield + Wilson CI
property-legacy-tol-nom0propertypassLegacy tol1/tol2+spec without noms → nom=0 (no client invention)
property-parity-fingerprintpropertypassCanonical tolerances[] ↔ legacy query inputs → same fingerprint
property-fingerprint-stablepropertypassIdentical request → identical SHA-256 fingerprint
property-mcp-summary-fieldspropertypassSummary contract fields present on engine result