{
  "capability_id": "physics.fluid.trapezoid_specific_energy",
  "calculation_version": "1.0.0",
  "protocol_version": "1.0.0-proposed",
  "protocol_document_status": "proposed",
  "verification_revision": "2026-09-26.o2-o3",
  "claim_scope": "O2: trapezoid E=y+Q²/(2gA²) with A=(b+z y)y vs a separate-module identity (≤2 ULP). Not rectangular E=y+v²/(2g), not yc, not yn, and not Q=Av. ≤2 ULP vs O3 applies only to the published tabulated trapezoid-specific-energy vectors. Not rectangular E, not yc, and not yn.",
  "oracle": {
    "class": "O3",
    "library": "mpmath",
    "mpmath_dps": 80,
    "backend": null,
    "rounding": null,
    "independent_of_iut": true,
    "generator_id": "trapezoid-specific-energy-mpmath-o3",
    "generator_version": "2026-09-26",
    "generator_sha256": "ed13556b5197630c05299b7ed7c983b40c25158f0bcb1b42fd9190ac590e5805",
    "table_sha256": "eb35436bf443a228ebfd7d4ae9973d7dfcf224e830c4f8113e6f7c22240504e5"
  },
  "result_summary": {
    "passed": 8,
    "total": 8,
    "failed": 0,
    "max_error_ulp": 1,
    "threshold_ulp": 2,
    "max_threshold_ulp": 2
  },
  "public_files": {
    "manifest": "/evidence/physics.fluid.trapezoid_specific_energy/1.0.0.cvp.json",
    "this_file": "/evidence/physics.fluid.trapezoid_specific_energy/reproduce.json"
  },
  "vectors": [],
  "disclosure": {
    "policy": "calculatorx-public-evidence-v1",
    "full_validation": "private",
    "representation": "summary",
    "kind": "reproduce"
  }
}
