{
  "prepared_utc": "2026-11-13T21:07:24.216693+00:00",
  "source_commit": "13ed1d76cb3f731dd6de3549fb05963dc08201af",
  "sources": {
    "thin_film\\scripts\\closure_comparison\\run.py": "80e391e077352c378282ac17bb36604a0989c12d614e6a24c5d824bc607f7d43",
    "thin_film\\scripts\\closure_comparison\\PLAN.md": "77ed56d8e7ca1cf876edf06e40a3c222120b3221e2cc1b356d2c038800fdde9e",
    "thin_film\\include\\vf\\thinfilm\\ThinFilm.h": "28db3d0cd8d8faa0d4722929e4f502708b2a915f5801dc351db2e100ea2a3a35",
    "thin_film\\include\\vf\\thinfilm\\MovingVoronoiFilm.h": "5a15774f928b2726e7a1903b0391051e3826bd90c53af6d7fe00ec83feef6912",
    "thin_film\\include\\vf\\thinfilm\\CurvedEdgeMotion.h": "b2c9c9f48687fe0e940c3f2826988de01412fdff8d92cfaaefd1aa24d60d364e",
    "thin_film\\include\\vf\\thinfilm\\CurvedEdge.h": "ace17ac5bcf3e355ad4aac3ff631c6acd5d234044a6144222fc862ff32487b20"
  },
  "reference_files": {
    "results\\linear_freefilm_20261113\\protocol.json": "838b502b0e5f5cacca514197037fbe13ba8bc759c9ba2aa09bcfaa6d06757f27",
    "results\\linear_freefilm_20261113\\summary.json": "83f7153beff0b43e18e4ae946c31042dfc807a7eb51e79037dfa0da536e8d8df",
    "results\\linear_freefilm_20261113\\controls.json": "5282e7eec991d26e18ca9449bef70076aa5a708ea851979b63187ad26fce3722",
    "results\\linear_freefilm_20261113\\curves.json": "736393ab75eb8e6d89836628abe478d446af6fa3cfc989c7780927655e53296a",
    "results\\linear_freefilm_20261113\\comparisons.json": "badfa96b8b5b597aae175d617e0b3bd028ef730bb7351e2a08a962a93cbea1b0",
    "results\\linear_freefilm_20261113\\modal_manifest.json": "376fb5ca3c4a894067cc96c7c701344b909931b58f1c59b4aee277ca228500d5",
    "results\\linear_freefilm_20261113\\lambda160_N16.npz": "18439549b16048f879f1682fcf60573dfab1c90aecc1764b3ed33b5a78e22afd",
    "results\\linear_freefilm_20261113\\lambda160_N32.npz": "407a8563172e4f30cbc4095bd74834810126256344fd5c6d0952ad7c8883ae1f",
    "results\\linear_freefilm_20261113\\lambda160_N8.npz": "db591f81c5a45f012da84c69137373ee0e4c601eaa5a1c2d840b518c3bb7204a",
    "results\\linear_freefilm_20261113\\lambda40_N16.npz": "e4f9cf2d4f2e471189e5065ce113b3171a8112766c7ac4b0bb6468b4d816634e",
    "results\\linear_freefilm_20261113\\lambda40_N32.npz": "1f59d75285e0af81303729d73deb1d608a8b8f3cbe1497fc39172f1ccb4bebd0",
    "results\\linear_freefilm_20261113\\lambda40_N8.npz": "500e7200879c6efea8ebac1ea11ea7d946a68bf7c1d9aece2690165b618584a2",
    "results\\linear_freefilm_20261113\\lambda80_N16.npz": "371e1324024aa7e4129e3d27a204c0cfdd96053f380dd1c3bd3079f114a126c3",
    "results\\linear_freefilm_20261113\\lambda80_N32.npz": "99f8b12eecc138d6f8c40f24f8faa409e5dd7c3ada4a3d5c3e965e8d5dd2cb92",
    "results\\linear_freefilm_20261113\\lambda80_N8.npz": "4e862eb14ed8b21d7c462249fa1d17871bae106e898140967c42db49550bbd35"
  },
  "reference_all_controls_passed": false,
  "reference_failed_conditions": [
    {
      "kind": "order_refinement",
      "wavelength_um": 80,
      "coarser_error": 1.0372448605547238e-11,
      "finer_error": 5.294513944570519e-11,
      "passed": false
    },
    {
      "kind": "order_refinement",
      "wavelength_um": 160,
      "coarser_error": 7.131551612244761e-12,
      "finer_error": 2.048629799816093e-10,
      "passed": false
    }
  ],
  "parameters": {
    "h": 6e-06,
    "rho": 1045,
    "mu": 0.0015,
    "gamma": 0.04566054954637298,
    "E": 0.15286901682548032,
    "g0": 1e-06,
    "wavelengths_um": [
      40,
      80,
      160
    ],
    "orders": [
      8,
      16,
      32
    ],
    "times_us": [
      0,
      0.5,
      1,
      2,
      5,
      10,
      20,
      50,
      100,
      200
    ]
  },
  "budget_s": 300,
  "native_headers_match_running_protocol": true,
  "scope": "Conditional flat long-wave analogue versus saved linear free-film reference; neither actual native trajectory comparison nor native error attribution"
}