{
  "protocol": "LAX-PROP-2026-09-04-01a",
  "section5_source": "proposals/2026-09-05-prop-01a-constraint-aware-symbolic-regression.md \u00a75 (frozen thresholds from 2026-09-04-prop-01)",
  "artifact": "sims/sr-ladder/results/prop01_live_e1_full.json",
  "artifact_md": "sims/sr-ladder/results/prop01_live_e1_full.md",
  "n_cells": 1920,
  "partial": false,
  "prop01_support_claim_artifact": false,
  "overall_support_claim_allowed": false,
  "preconditions": {
    "lit_backends": true,
    "n_seeds": 20,
    "matched_wall_arm_means_within_band": true,
    "mean_wall_A0_pysr": 13.474185765066517,
    "mean_wall_A4_physo": 12.808137697489066,
    "arm_means_rel_gap": 0.049431414943399594,
    "mean_soft_pad_s": 0.0,
    "n_a4_zero_eq_cells": 0,
    "accept_total": 1678,
    "fail_total": 242,
    "accept_A0": 934,
    "fail_A0": 26,
    "accept_A4": 744,
    "fail_A4": 216,
    "n_samples_grid": [
      50,
      100,
      400
    ],
    "note_N200_dropped": true
  },
  "criteria": [
    {
      "id": "S5.1",
      "name": "sample_efficiency",
      "section": "\u00a75 criterion 1",
      "criterion": "A4 recovery-rate \u2265 0.8 at N \u2264 0.5\u00d7 A0's N for \u2265 5 of 7 recoverable systems (median across seeds).",
      "measured": {
        "noise_used": 0.0,
        "systems_clear_pass": 0,
        "systems_required": 5,
        "systems_total_recoverable": 7,
        "per_system": [
          {
            "law": "linear_decay",
            "A0_min_N_ge_0.8": 50,
            "A4_min_N_ge_0.8": 50,
            "ratio": 1.0,
            "pass": false
          },
          {
            "law": "harmonic_oscillator",
            "A0_min_N_ge_0.8": 50,
            "A4_min_N_ge_0.8": 50,
            "ratio": 1.0,
            "pass": false
          },
          {
            "law": "damped_oscillator",
            "A0_min_N_ge_0.8": 50,
            "A4_min_N_ge_0.8": null,
            "ratio": null,
            "pass": false
          },
          {
            "law": "lotka_volterra",
            "A0_min_N_ge_0.8": null,
            "A4_min_N_ge_0.8": null,
            "ratio": null,
            "pass": false
          },
          {
            "law": "diffusion_1d",
            "A0_min_N_ge_0.8": null,
            "A4_min_N_ge_0.8": 50,
            "ratio": null,
            "pass": false,
            "note": "A0 never \u22650.8 on grid; ratio Incomplete"
          },
          {
            "law": "burgers_1d",
            "A0_min_N_ge_0.8": null,
            "A4_min_N_ge_0.8": null,
            "ratio": null,
            "pass": false
          },
          {
            "law": "gravity_toy",
            "A0_min_N_ge_0.8": 50,
            "A4_min_N_ge_0.8": 50,
            "ratio": 1.0,
            "pass": false
          }
        ],
        "how_computed": "aggregate[]: smallest n_samples with recovery_rate\u22650.8 at noise=0.0, n_seeds=20; test N_A4 \u2264 0.5*N_A0"
      },
      "verdict": "Fail"
    },
    {
      "id": "S5.2",
      "name": "noise_robustness",
      "section": "\u00a75 criterion 2",
      "criterion": "Under mid noise, A4 recovery rate \u2265 A0 recovery rate \u2212 0.05 (no systematic rejection of correct laws).",
      "measured": {
        "mid_noise": 0.05,
        "pooled_A0_recovery": 0.4166666666666667,
        "pooled_A4_recovery": 0.5452380952380952,
        "pooled_n_cells_per_arm": 420,
        "pooled_margin_ok": true,
        "per_law_N_fail": [
          {
            "law": "damped_oscillator",
            "N": 50,
            "A0": 0.65,
            "A4": 0.0,
            "delta": -0.65
          },
          {
            "law": "damped_oscillator",
            "N": 100,
            "A0": 0.7,
            "A4": 0.0,
            "delta": -0.7
          },
          {
            "law": "damped_oscillator",
            "N": 400,
            "A0": 0.85,
            "A4": 0.0,
            "delta": -0.85
          }
        ],
        "systematic_rejection_law": "damped_oscillator",
        "how_computed": "records pooled recovered rate on recoverable laws at noise=0.05; per (law,N) from aggregate"
      },
      "verdict": "Fail"
    },
    {
      "id": "S5.3",
      "name": "clean_fail",
      "section": "\u00a75 criterion 3",
      "criterion": "On constraint-violating generators, A4 clean-fail rate \u2265 0.9 with R* fixed.",
      "measured": {
        "violator": "dim_violating",
        "R_star": 0.25,
        "A4_clean_fail_rate_pooled": 0.7833333333333333,
        "A4_violator_n_cells": 120,
        "aggregate_clean_fail_rates": [
          0.75,
          0.8,
          0.75,
          0.8,
          0.75,
          0.85
        ],
        "min_aggregate": 0.75,
        "max_aggregate": 0.85,
        "threshold": 0.9,
        "how_computed": "fraction of A4 dim_violating records with accepted=False; matches mean of aggregate clean_fail_rate"
      },
      "verdict": "Fail"
    },
    {
      "id": "S5.4",
      "name": "non_triviality",
      "section": "\u00a75 criterion 4",
      "criterion": "Conservation-only ablation does not achieve criteria (1)\u2013(2) via constant/trivial identities alone.",
      "measured": {
        "arms_in_artifact": [
          "A0_pysr",
          "A4_physo"
        ],
        "A3_conservation_only_present": false,
        "how_computed": "E1 full grid arms list only; no A3 rows in aggregate/records"
      },
      "verdict": "Incomplete"
    }
  ],
  "summary": "E1-reduced full 1920/1920 (partial=false) meets lit-backend, \u226520-seed, and matched arm-mean wall-band preconditions, but \u00a75.1 Fail (0/7 clear \u22640.5\u00d7 sample-efficiency passes; need \u22655/7), \u00a75.2 Fail (damped_oscillator mid-noise A4 recovery 0 vs A0 0.65\u20130.85 despite pooled A4 0.545 \u2265 A0 0.417\u22120.05), \u00a75.3 Fail (A4 dim_violating clean-fail 0.7833 < 0.9), \u00a75.4 Incomplete (no A3 arm). overall_support_claim_allowed=false; do not flip prop01_support_claim.",
  "top_failing_or_incomplete": [
    {
      "id": "S5.1",
      "verdict": "Fail",
      "one_liner": "0/7 systems clear A4 N\u22640.5\u00d7A0 N at recovery\u22650.8 (need \u22655/7)"
    },
    {
      "id": "S5.3",
      "verdict": "Fail",
      "one_liner": "A4 clean-fail on dim_violating = 0.7833 < 0.9"
    },
    {
      "id": "S5.2",
      "verdict": "Fail",
      "one_liner": "damped_oscillator mid-noise systematic A4 rejection (recovery 0 vs A0 0.65\u20130.85)"
    }
  ],
  "recommended_next_experiment": "E1b: expand N to {25,50,100,200,400} under matched wall-band; PhySO budget repair on damped_oscillator mid-noise; push A4 dim_violating clean-fail \u22650.9 at fixed R*=0.25; add A3 conservation-only ablation to close \u00a75.4. Re-score; flip support only if all four gates Pass."
}
