{
  "schema": "physrun.validation-manifest/1",
  "workbench": "EM-ELECTROSTATIC",
  "sceneVersion": "physrun.em-electrostatic/3",
  "scientificModelVersion": "em-electrostatic/0.3.0",
  "credibility": {
    "currentLabel": "Preview",
    "target": "T2/C3",
    "reason": "The scientific core and supported-browser automation are gated in CI; wider classroom-device performance evidence is still being accumulated."
  },
  "models": [
    {
      "id": "coulomb-3d-slice",
      "claim": "Prescribed three-dimensional vacuum point, arbitrarily oriented finite/infinite line, ring, disk, spherical-shell and solid-sphere charge distributions sampled either in a full xyz observation volume or on an explicit z=0 slice",
      "numericBackend": "analytic formulas plus deterministic Gauss-Legendre/angular quadrature in Rust f64"
    },
    {
      "id": "poisson-2d-extruded",
      "claim": "Finite rectangular two-dimensional electrostatic boundary-value problem invariant along z",
      "numericBackend": "conservative five-point variable-permittivity stencil plus deterministic Jacobi-PCG in Rust f64"
    }
  ],
  "evidenceGates": [
    {
      "id": "native-kernel-vv",
      "command": "pnpm test:rust",
      "covers": [
        "inverse-square law and superposition",
        "translation, rotation, charge-linearity, action-reaction",
        "singularity and pair-energy policies",
        "infinite-line reference-potential gauge and inverse-radius field",
        "finite-rod perpendicular-bisector closed form",
        "ring and disk axial closed forms",
        "ring/disk off-axis quadrature error bound at the declared exclusion limit",
        "solid-sphere and spherical-shell inside/outside analytic solutions",
        "arbitrary xyz source orientation, translation covariance and off-plane field components",
        "plane, volume and point-batch agreement at identical xyz coordinates",
        "direct xyz RK4 field lines and charged-particle trajectories",
        "closed Gaussian-sphere flux and independently enclosed-charge closure",
        "classical test-particle uniform-field trajectory, energy drift and fail-closed 0.1c validity boundary",
        "exact linear potential",
        "manufactured second-order convergence",
        "dielectric normal-displacement continuity",
        "nonzero-charge discrete Gauss closure",
        "independent dense reference solve",
        "deterministic chunked replay",
        "ideal-conductor interior field"
      ]
    },
    {
      "id": "native-wasm-parity",
      "command": "pnpm test:em-wasm",
      "covers": [
        "optimized wasm32 build",
        "ABI export contract",
        "CODATA constant identity",
        "Coulomb result signature",
        "all six arbitrarily oriented continuous-source result signatures",
        "xyz plane, volume and point-batch output identity",
        "3D field-line, particle and Gaussian-sphere ABI contracts",
        "Poisson field, residual, and iteration identity",
        "charged-particle RK4 trajectory and energy identity"
      ]
    },
    {
      "id": "scene-instrument-tests",
      "command": "pnpm --filter @phys/web test",
      "covers": [
        "strict versioned scene schema",
        "all sixteen official preset contracts",
        "v1/v2-to-v3 scene migration with safe xyz defaults",
        "continuous-source ABI compilation",
        "semantic-grid compilation",
        "share-state round trip",
        "bilinear probe",
        "Gaussian-loop integration",
        "voltmeter potential difference and ruler geometry",
        "ruler line-profile sampling and invalid-sample preservation",
        "fixed-potential conductor component charge integration",
        "three-level convergence estimator and non-asymptotic withholding",
        "versioned notebook restoration, scene provenance, and report/CSV serialization",
        "3D volume-vector sampling, direct field-line unpacking, iso-surface extraction and xyz CSV evidence"
      ]
    },
    {
      "id": "supported-browser-acceptance",
      "command": "pnpm test:electrostatics",
      "covers": [
        "Chromium, Firefox, and WebKit",
        "all sixteen official presets",
        "production CSP and application/wasm MIME",
        "Dedicated Worker execution",
        "streaming-instantiation fallback and kernel-load failure withholding",
        "rapid-solve cancellation and stale-result rejection",
        "contextual all-functional tool palettes and direct manipulation",
        "continuous-source placement, measurement endpoints, annotation, live streamlines during direct manipulation, contour picking and particle study",
        "default-entry true WebGL xyz workspace with orbit, pan, zoom and fixed camera views",
        "XY/XZ/YZ direct manipulation with authoritative preview and full-resolution settle",
        "off-plane Ez, 3D RK4 field lines, volume iso-surfaces and closed Gaussian-sphere evidence",
        "WebGL context-loss recovery and explicit verified 2D fallback",
        "first-visit Explore plus persistent Measure/Analyze progressive disclosure without physics recompilation",
        "experiment brief and model-boundary visibility",
        "line-profile plots, local evidence recording, and measurement CSV download",
        "derived conductor charge presentation",
        "one-action three-grid Poisson solution-verification workflow",
        "malformed shared-scene fail-closed behavior",
        "measurement and analysis layers",
        "share/reload and CSV export",
        "desktop and 390 px mobile layouts"
      ]
    }
  ],
  "releasePolicy": {
    "unconvergedIsVerified": false,
    "silentSingularitySoftening": false,
    "silentModelSubstitution": false,
    "canonicalPrecision": "f64",
    "constantsSet": "CODATA-2022"
  },
  "openEvidence": [
    "Measured classroom-device performance distribution",
    "External physics-review sign-off",
    "Longitudinal classroom usability evidence"
  ]
}
