{
  "model": "compressible-ducts-1.0.0",
  "generatedAt": "2026-10-23T05:11:48.753Z",
  "outcome": "PASS",
  "scope": "Analytical consistency and numerical implementation checks; not experimental validation or engineering certification.",
  "checks": [
    {
      "name": "Gas properties close cp - cv = R and cp/cv = gamma",
      "pass": true
    },
    {
      "name": "Sonic reference states and hand-evaluated special-case landmarks",
      "pass": true
    },
    {
      "name": "Zero friction and zero heat preserve all flow properties",
      "pass": true
    },
    {
      "name": "Mass, energy, entropy and branch bounds across a deterministic parameter grid",
      "pass": true,
      "sampledStates": 29160,
      "worstRelativeMass": 5.935973616103291e-16,
      "worstRelativeEnergy": 1.1558312480386294e-15,
      "worstRelativeRayleighMomentum": 7.761021455128986e-16
    },
    {
      "name": "Independent Rayleigh quadratic from mass + momentum + energy agrees",
      "pass": true,
      "worstRelativeVelocity": 1.6873948846015608e-14
    },
    {
      "name": "Independent Fanno momentum balance includes wall shear with Darcy convention",
      "pass": true,
      "worstRelativeIntegratedMomentum": 2.1990639003591374e-13
    },
    {
      "name": "Fanno RK4 differential solution refines towards the analytical branch",
      "pass": true,
      "refinements": [
        {
          "mach": 0.3,
          "errors": [
            1.5832658184500303e-8,
            1.3984371993736033e-9,
            1.01203545543882e-10
          ]
        },
        {
          "mach": 2.5,
          "errors": [
            3.1729003202585204e-8,
            2.0001886813503233e-9,
            1.2545320338119836e-10
          ]
        }
      ]
    },
    {
      "name": "Rayleigh static-temperature maximum occurs before choking",
      "pass": true
    },
    {
      "name": "Sonic inlet is an explicit zero-capacity boundary",
      "pass": true
    },
    {
      "name": "Invalid inputs fail explicitly and normalised travel stays in solved domain",
      "pass": true
    },
    {
      "name": "Unmeshed probe positions satisfy the analytical conservation laws",
      "pass": true
    }
  ],
  "totalChecks": 11,
  "sampledStates": 29160
}
