{
  "capability_id": "physics.fluid.trapezoid_critical_depth",
  "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 Fr=1 Q²T = g A³ with A=(b+z y)y, T=b+2 z y vs a separate-module identity (≤2 ULP). Not rectangular yc=(q²/g)^{1/3}, not yn, not E, and not Q=Av. ≤2 ULP vs O3 applies only to the published tabulated trapezoid-critical-depth vectors. Not rectangular yc, not yn, and not E.",
  "oracle": {
    "class": "O3",
    "library": "mpmath",
    "mpmath_dps": 80,
    "backend": null,
    "rounding": null,
    "independent_of_iut": true,
    "generator_id": "trapezoid-critical-depth-mpmath-o3",
    "generator_version": "2026-09-26",
    "generator_sha256": "5deee443683f81c56bc71fea7a0bc27633e31e7a8c9128a5cfa0803246f5c1e8",
    "table_sha256": "d167b0e0221a956420b8569ed4534544f686931d875b9b1aea971d751a72dff9"
  },
  "result_summary": {
    "passed": 8,
    "total": 8,
    "failed": 0,
    "max_error_ulp": 0,
    "threshold_ulp": 2,
    "max_threshold_ulp": 2
  },
  "public_files": {
    "manifest": "/evidence/physics.fluid.trapezoid_critical_depth/1.0.0.cvp.json",
    "this_file": "/evidence/physics.fluid.trapezoid_critical_depth/reproduce.json"
  },
  "vectors": [],
  "disclosure": {
    "policy": "calculatorx-public-evidence-v1",
    "full_validation": "private",
    "representation": "summary",
    "kind": "reproduce"
  }
}
