{
  "capability_id": "engineering.uncertainty.type_a",
  "calculation_version": "1.0.0",
  "protocol_version": "1.0.0-proposed",
  "protocol_document_status": "proposed",
  "verification_revision": "2026-09-16.o2-o3",
  "oracle": {
    "class": "O3",
    "library": "mpmath 1.4.1",
    "mpmath_dps": 80,
    "backend": null,
    "rounding": null,
    "generator_id": "type-a-mpmath-o3",
    "generator_version": "1.0.0",
    "generator_sha256": "4a71448cdb13d2b3e90538b52d9a0dad733b59bcdbc5d97fe8a5a2a951b9b219",
    "table_sha256": "8629cd3cbfd1de1c5f53ac0b6c587c296c4317450809b0d44af2eb2a31712796",
    "seed": "20260916.type-a-o3",
    "independent_of_iut": true
  },
  "claim_scope": "O2: mean / sample s / u_A = s/√n vs separate-module identities (≤2 ULP). Not GUM combination, not SEM product page, not Monte Carlo. ≤2 ULP vs O3 applies only to the published tabulated Type A vectors (Bessel, population, scale, constant, two-point, n=5, centered, default ddof). It is not a whole-domain sample-statistics guarantee.",
  "commands": {
    "regenerate_table": "python3 generate-type-a-o3.py",
    "regenerate_table_repo": "python3 scripts/lib/cvp/oracles/generate-type-a-o3.py",
    "independent_rest": "Compare POST /api/v1/calc/type-a against /developers/cvp/reproduce/type-a-o3-tables.json",
    "run_cvp": "npm run cvp:run -- --capability engineering.uncertainty.type_a",
    "rest_example": "POST https://www.calculatorx.com/api/v1/calc/type-a"
  },
  "public_files": {
    "table": "/developers/cvp/reproduce/type-a-o3-tables.json",
    "table_url": "https://www.calculatorx.com/developers/cvp/reproduce/type-a-o3-tables.json",
    "generator": "/developers/cvp/reproduce/generate-type-a-o3.py",
    "generator_url": "https://www.calculatorx.com/developers/cvp/reproduce/generate-type-a-o3.py",
    "checker": "/developers/cvp/reproduce/check-math-o3-rest.py",
    "checker_url": "https://www.calculatorx.com/developers/cvp/reproduce/check-math-o3-rest.py",
    "manifest": "/evidence/engineering.uncertainty.type_a/1.0.0.cvp.json",
    "this_file": "/evidence/engineering.uncertainty.type_a/reproduce.json"
  },
  "result_summary": {
    "passed": 8,
    "total": 8,
    "failed": 0,
    "max_error_ulp": 1,
    "threshold_ulp": 2,
    "max_threshold_ulp": 2
  },
  "vectors": [
    {
      "id": "o3-123",
      "kind": "bessel",
      "inputs": {
        "values": [
          1,
          2,
          3
        ],
        "ddof": 1
      },
      "expected_f64": {
        "oracle_layer": "analytic",
        "mean": 2,
        "std": 1,
        "u_A": 0.5773502691896257
      },
      "actual": {
        "mean": 2,
        "std": 1,
        "u_A": 0.5773502691896258,
        "n": 3,
        "ddof": 1,
        "values": [
          1,
          2,
          3
        ]
      },
      "error_ulp": 1,
      "threshold_ulp": 2,
      "ok": true
    },
    {
      "id": "o3-ddof0",
      "kind": "population",
      "inputs": {
        "values": [
          1,
          2,
          3
        ],
        "ddof": 0
      },
      "expected_f64": {
        "oracle_layer": "analytic",
        "mean": 2,
        "std": 0.816496580927726,
        "u_A": 0.4714045207910317
      },
      "actual": {
        "mean": 2,
        "std": 0.816496580927726,
        "u_A": 0.47140452079103173,
        "n": 3,
        "ddof": 0,
        "values": [
          1,
          2,
          3
        ]
      },
      "error_ulp": 1,
      "threshold_ulp": 2,
      "ok": true
    },
    {
      "id": "o3-scale",
      "kind": "scale",
      "inputs": {
        "values": [
          10,
          20,
          30
        ],
        "ddof": 1
      },
      "expected_f64": {
        "oracle_layer": "analytic",
        "mean": 20,
        "std": 10,
        "u_A": 5.773502691896257
      },
      "actual": {
        "mean": 20,
        "std": 10,
        "u_A": 5.773502691896258,
        "n": 3,
        "ddof": 1,
        "values": [
          10,
          20,
          30
        ]
      },
      "error_ulp": 1,
      "threshold_ulp": 2,
      "ok": true
    },
    {
      "id": "o3-const",
      "kind": "constant",
      "inputs": {
        "values": [
          5,
          5,
          5
        ],
        "ddof": 1
      },
      "expected_f64": {
        "oracle_layer": "analytic",
        "mean": 5,
        "std": 0,
        "u_A": 0
      },
      "actual": {
        "mean": 5,
        "std": 0,
        "u_A": 0,
        "n": 3,
        "ddof": 1,
        "values": [
          5,
          5,
          5
        ]
      },
      "error_ulp": 0,
      "threshold_ulp": 2,
      "ok": true
    },
    {
      "id": "o3-two",
      "kind": "two-point",
      "inputs": {
        "values": [
          3,
          7
        ],
        "ddof": 1
      },
      "expected_f64": {
        "oracle_layer": "analytic",
        "mean": 5,
        "std": 2.8284271247461903,
        "u_A": 2
      },
      "actual": {
        "mean": 5,
        "std": 2.8284271247461903,
        "u_A": 2,
        "n": 2,
        "ddof": 1,
        "values": [
          3,
          7
        ]
      },
      "error_ulp": 0,
      "threshold_ulp": 2,
      "ok": true
    },
    {
      "id": "o3-five",
      "kind": "n5",
      "inputs": {
        "values": [
          1,
          2,
          3,
          4,
          5
        ],
        "ddof": 1
      },
      "expected_f64": {
        "oracle_layer": "analytic",
        "mean": 3,
        "std": 1.5811388300841898,
        "u_A": 0.7071067811865476
      },
      "actual": {
        "mean": 3,
        "std": 1.5811388300841898,
        "u_A": 0.7071067811865476,
        "n": 5,
        "ddof": 1,
        "values": [
          1,
          2,
          3,
          4,
          5
        ]
      },
      "error_ulp": 0,
      "threshold_ulp": 2,
      "ok": true
    },
    {
      "id": "o3-neg",
      "kind": "centered",
      "inputs": {
        "values": [
          -2,
          -1,
          0,
          1,
          2
        ],
        "ddof": 1
      },
      "expected_f64": {
        "oracle_layer": "analytic",
        "mean": 0,
        "std": 1.5811388300841898,
        "u_A": 0.7071067811865476
      },
      "actual": {
        "mean": 0,
        "std": 1.5811388300841898,
        "u_A": 0.7071067811865476,
        "n": 5,
        "ddof": 1,
        "values": [
          -2,
          -1,
          0,
          1,
          2
        ]
      },
      "error_ulp": 0,
      "threshold_ulp": 2,
      "ok": true
    },
    {
      "id": "o3-default-ddof",
      "kind": "default-ddof",
      "inputs": {
        "values": [
          1,
          2,
          3
        ]
      },
      "expected_f64": {
        "oracle_layer": "analytic",
        "mean": 2,
        "std": 1,
        "u_A": 0.5773502691896257
      },
      "actual": {
        "mean": 2,
        "std": 1,
        "u_A": 0.5773502691896258,
        "n": 3,
        "ddof": 1,
        "values": [
          1,
          2,
          3
        ]
      },
      "error_ulp": 1,
      "threshold_ulp": 2,
      "ok": true
    }
  ]
}
