{
  "snippet": "notebook_model.py",
  "snippet_sha256": "a73d209042491e759a9fff61c37ba582ceca501abbe9b1e5e059f3a4f0b9e9dd",
  "environment": {
    "recorded": "2026-09-19",
    "git_head": "f53e10afc6b01640fd23febb3161d89dc89512a8",
    "src_differs_from_head": true,
    "src_sha256": "22abe9ba078e5a5b81e3a3cf2744f418b3812586c992f1dfa7c9a68421dfb369",
    "platform": "macOS-26.5-arm64-arm-64bit",
    "machine": "arm64",
    "python": "3.12.9",
    "bayesmith": "0.9.0",
    "jax": "0.11.1",
    "numpy": "2.5.2",
    "numpyro": "0.21.0",
    "blas": "accelerate",
    "jax_enable_x64": true
  },
  "plans": {
    "model": {
      "text": "block 0  {groups}         GCR exact         structurally certified; numerical check 3 scales x 3 at-points (max 0.00e+00)\n         kappa=231.4 -> tol=4.3215212e-06, guard hoisted out of the sweep\n         exact block ['groups']: sigma does not move with the block (0.000e+00 relative,\n         rtol=1.0e-08), so the covariance is fixed and one Wiener solve is exact; the\n         linearity check held ['population'] at their prior centre rather than drawing\n         them -- they are not Gaussian, so their prior has no draw this module will\n         take; the kappa sweep held ['population'] at their prior centre rather than\n         moving them -- they are not Gaussian, so this module has no prior width to\n         sweep them by, and the interval is not an interval in them\nblock 1  {population}     NUTS\n         outside the exact block ['groups']: sampled by NUTS, and the exact block is\n         solved CONDITIONAL on them, once per sweep\nexecution: HMCGibbs(inner=NUTS, gibbs_sites=['groups']); noise_std rebuilt every sweep",
      "blocks": [
        {
          "latents": [
            "groups"
          ],
          "method": "gcr",
          "route": "GCR exact",
          "evidence": "structurally certified; numerical check 3 scales x 3 at-points (max 0.00e+00)",
          "refused_claim": false
        },
        {
          "latents": [
            "population"
          ],
          "method": "nuts",
          "route": "NUTS",
          "evidence": "outside the exact block ['groups']: sampled by NUTS, and the exact block is solved CONDITIONAL on them, once per sweep",
          "refused_claim": false
        }
      ],
      "execution": "HMCGibbs(inner=NUTS, gibbs_sites=['groups']); noise_std rebuilt every sweep"
    }
  },
  "tables": {}
}
