{
  "schema_version": 1,
  "harness": "scripts/calibrate-cyclo-threshold.py",
  "started_at": "2026-08-05T17:48:01.067814+00:00",
  "measured_at": "2026-08-05T17:48:12.455179+00:00",
  "repo_commit": "eeea686d6062aa54e755f7649ac11e4fd64076c5",
  "repo_dirty": true,
  "box_state": {
    "load_average": {
      "1m": 35.44,
      "5m": 42.04,
      "15m": 47.11
    },
    "cpu_count": 20,
    "platform": "aarch64"
  },
  "what_is_calibrated": {
    "symbol": "src/detect/cyclo.py:Z_PRESENT",
    "statistic": "per-record MAXIMUM comb z-score over every scannable standard OFDM mode \u2014 the exact quantity cyclo_detect thresholds",
    "previous_value": 3.5,
    "previous_basis": "synthetic AWGN maxima (800 generated null records); real empty channels were never in that calibration set",
    "z_null_unchanged": 2.5
  },
  "control": {
    "null_dataset": "nairobi-region-2026-08-05-rx-null-control",
    "null_reference_floor_dbfs": -62.87,
    "null_rx_channel": 0,
    "antenna_rx_channel": 1,
    "null_port_termination": "OPEN \u2014 nothing is connected to this SMA port. It is NOT a 50-ohm terminated load. See the module docstring for what that licenses and what it does not.",
    "acquisition_matches_survey": {
      "sample_rate_hz": true,
      "gain_db": true,
      "num_samples_per_record": true,
      "antenna_port": true,
      "channels": true
    },
    "cross_chain_topology": {
      "measured_on_channels": [
        25,
        28,
        32,
        33,
        37,
        45
      ],
      "method": "Both RX chains recorded at the same centre frequencies, in the same session, at the same gain and rate, sequentially. The chain showing the broadcast multiplexes is the one carrying the antenna.",
      "records_per_channel": 5,
      "table": [
        {
          "uhf_channel": 25,
          "centre_mhz": 506,
          "rx0_dbfs": -60.55,
          "rx1_dbfs": -38.82,
          "other_minus_null_db": 21.73,
          "rx0_occupied_bw_fraction": 0.97,
          "rx1_occupied_bw_fraction": 0.947
        },
        {
          "uhf_channel": 28,
          "centre_mhz": 530,
          "rx0_dbfs": -63.19,
          "rx1_dbfs": -62.58,
          "other_minus_null_db": 0.61,
          "rx0_occupied_bw_fraction": 0.821,
          "rx1_occupied_bw_fraction": 0.885
        },
        {
          "uhf_channel": 32,
          "centre_mhz": 562,
          "rx0_dbfs": -47.21,
          "rx1_dbfs": -25.27,
          "other_minus_null_db": 21.94,
          "rx0_occupied_bw_fraction": 0.972,
          "rx1_occupied_bw_fraction": 0.967
        },
        {
          "uhf_channel": 33,
          "centre_mhz": 570,
          "rx0_dbfs": -44.72,
          "rx1_dbfs": -22.43,
          "other_minus_null_db": 22.29,
          "rx0_occupied_bw_fraction": 0.966,
          "rx1_occupied_bw_fraction": 0.978
        },
        {
          "uhf_channel": 37,
          "centre_mhz": 602,
          "rx0_dbfs": -62.93,
          "rx1_dbfs": -61.58,
          "other_minus_null_db": 1.35,
          "rx0_occupied_bw_fraction": 0.001,
          "rx1_occupied_bw_fraction": 0.001
        },
        {
          "uhf_channel": 45,
          "centre_mhz": 666,
          "rx0_dbfs": -62.56,
          "rx1_dbfs": -62.95,
          "other_minus_null_db": -0.39,
          "rx0_occupied_bw_fraction": 0.002,
          "rx1_occupied_bw_fraction": 0.959
        }
      ]
    },
    "acquisition_health": {
      "worker_invocations": 28,
      "worker_failures": 2,
      "channels_retried": 0
    }
  },
  "rules_declared_before_the_data": {
    "admission": {
      "constant": "NULL_CLEAN_MARGIN_DB",
      "value": 3.0,
      "rule": "a null channel enters the calibration sample iff its mean level is within this many dB of the null chain's own reference floor",
      "why": "the open port picks up broadcast coupled from the connected chain; a coupled channel is not receiver noise. The criterion is POWER and is evaluated without reference to any comb z-score."
    },
    "threshold": {
      "constant": "FALSE_ALARM_QUANTILE",
      "value": 0.99,
      "rule": "Z_PRESENT = that quantile of the admitted null's per-record best-comb-z distribution",
      "why": "score-served-occupancy.py calls a channel occupied on a MAJORITY of 20 records, so a per-record Pfa of 1e-2 gives a channel-level Pfa of P(Binom(20,0.01)>10) < 1e-16. It is also the tightest quantile this sample size estimates rather than extrapolates."
    }
  },
  "null_distribution": {
    "channels_captured": 28,
    "channels_admitted": 15,
    "channels_rejected_as_coupled": [
      {
        "uhf_channel": 22,
        "excess_over_null_floor_db": -0.08
      },
      {
        "uhf_channel": 24,
        "excess_over_null_floor_db": 0.03
      },
      {
        "uhf_channel": 25,
        "excess_over_null_floor_db": 2.15
      },
      {
        "uhf_channel": 26,
        "excess_over_null_floor_db": 0.1
      },
      {
        "uhf_channel": 29,
        "excess_over_null_floor_db": -0.21
      },
      {
        "uhf_channel": 30,
        "excess_over_null_floor_db": -0.32
      },
      {
        "uhf_channel": 31,
        "excess_over_null_floor_db": 4.53
      },
      {
        "uhf_channel": 32,
        "excess_over_null_floor_db": 15.53
      },
      {
        "uhf_channel": 33,
        "excess_over_null_floor_db": 17.97
      },
      {
        "uhf_channel": 34,
        "excess_over_null_floor_db": 9.44
      },
      {
        "uhf_channel": 35,
        "excess_over_null_floor_db": 16.08
      },
      {
        "uhf_channel": 36,
        "excess_over_null_floor_db": 4.51
      },
      {
        "uhf_channel": 39,
        "excess_over_null_floor_db": 4.99
      }
    ],
    "records_in_sample": 300,
    "mean": 1.2239,
    "sd": 0.316,
    "min": 0.486,
    "max": 2.289,
    "quantiles": {
      "p50": 1.182,
      "p90": 1.6304,
      "p95": 1.8462,
      "p99": 2.0895,
      "p99.9": 2.2681
    },
    "gaussian_mu_plus_3_09_sigma": 2.2004,
    "gaussian_note": "reported for comparison only. The threshold is the EMPIRICAL quantile; a Gaussian tail model is not assumed, because the artefacts this control exists to capture are not Gaussian.",
    "admission_stages": {
      "stage_1_power_only": {
        "channels": 21,
        "records": 420,
        "mean": 1.6537,
        "sd": 1.7053,
        "min": 0.486,
        "max": 11.246,
        "quantiles": {
          "p50": 1.2475,
          "p90": 1.9538,
          "p95": 2.7084,
          "p99": 9.9615,
          "p99.9": 11.2054
        },
        "would_give_Z_PRESENT_at_p99": 9.9615,
        "verdict": "CONTAMINATED \u2014 STRUCK, not merely footnoted",
        "contaminants": [
          {
            "uhf_channel": 22,
            "survey_derived_truth": "ambiguous",
            "survey_excess_over_session_floor_db": 3.69,
            "null_excess_over_null_floor_db": -0.08,
            "null_comb_z_max": 1.907
          },
          {
            "uhf_channel": 24,
            "survey_derived_truth": "ambiguous",
            "survey_excess_over_session_floor_db": 6.8,
            "null_excess_over_null_floor_db": 0.03,
            "null_comb_z_max": 2.091
          },
          {
            "uhf_channel": 25,
            "survey_derived_truth": "occupied",
            "survey_excess_over_session_floor_db": 17.73,
            "null_excess_over_null_floor_db": 2.15,
            "null_comb_z_max": 11.246
          },
          {
            "uhf_channel": 26,
            "survey_derived_truth": "occupied",
            "survey_excess_over_session_floor_db": 8.78,
            "null_excess_over_null_floor_db": 0.1,
            "null_comb_z_max": 3.23
          },
          {
            "uhf_channel": 29,
            "survey_derived_truth": "ambiguous",
            "survey_excess_over_session_floor_db": 6.22,
            "null_excess_over_null_floor_db": -0.21,
            "null_comb_z_max": 1.671
          },
          {
            "uhf_channel": 30,
            "survey_derived_truth": "occupied",
            "survey_excess_over_session_floor_db": 10.26,
            "null_excess_over_null_floor_db": -0.32,
            "null_comb_z_max": 2.155
          }
        ]
      },
      "stage_2_power_and_band_vacant": {
        "channels": 15,
        "records": 300,
        "mean": 1.2239,
        "sd": 0.316,
        "min": 0.486,
        "max": 2.289,
        "quantiles": {
          "p50": 1.182,
          "p90": 1.6304,
          "p95": 1.8462,
          "p99": 2.0895,
          "p99.9": 2.2681
        },
        "would_give_Z_PRESENT_at_p99": 2.0895,
        "verdict": "the calibration sample actually used"
      }
    },
    "measured_false_alarm_rate_of_the_incumbent_threshold": {
      "threshold": 3.5,
      "null_records_at_or_above": 0,
      "null_records_total": 300,
      "note": "This is the quantity the synthetic-AWGN calibration was ASSERTING and never measured on real receiver noise. It is now measured."
    }
  },
  "derived_threshold": {
    "Z_PRESENT": 2.09,
    "direction_vs_previous": "lowered",
    "delta_vs_previous": -1.41
  },
  "separation_on_the_survey": {
    "note": "Reported so the COST of the threshold is visible next to its benefit. These are the survey's own records scored by comb z alone \u2014 not the fused served decision, which is scored by score-served-occupancy.py.",
    "occupied_records": 200,
    "occupied_comb_z_min": 0.731,
    "occupied_comb_z_p5": 1.325,
    "vacant_records": 300,
    "vacant_comb_z_max": 5.467,
    "at_previous_threshold": {
      "threshold": 3.5,
      "occupied_records_firing": 171,
      "vacant_records_firing": 12
    },
    "at_derived_threshold": {
      "threshold": 2.09,
      "occupied_records_firing": 179,
      "vacant_records_firing": 41
    }
  },
  "per_channel": {
    "null": [
      {
        "uhf_channel": 21,
        "centre_mhz": 474,
        "mean_dbfs": -63.12,
        "occupied_bw_fraction": 1.0,
        "n_records": 20,
        "excess_over_null_floor_db": -0.25,
        "survey_derived_truth": "vacant",
        "power_clean": true,
        "band_vacant": true,
        "admitted": true,
        "admission_reason": "within 3.0 dB of the null chain's own floor AND the survey measures the band itself vacant at this frequency",
        "comb_z_min": 0.701,
        "comb_z_median": 1.161,
        "comb_z_max": 1.778
      },
      {
        "uhf_channel": 22,
        "centre_mhz": 482,
        "mean_dbfs": -62.95,
        "occupied_bw_fraction": 0.97,
        "n_records": 20,
        "excess_over_null_floor_db": -0.08,
        "survey_derived_truth": "ambiguous",
        "power_clean": true,
        "band_vacant": false,
        "admitted": false,
        "admission_reason": "power-clean on the null chain (-0.08 dB) but the survey measures this channel 'ambiguous' on the antenna chain. A multiplex can couple in below the power margin and still be structurally obvious \u2014 that is what cyclostationary detection is for.",
        "comb_z_min": 0.804,
        "comb_z_median": 1.238,
        "comb_z_max": 1.907
      },
      {
        "uhf_channel": 23,
        "centre_mhz": 490,
        "mean_dbfs": -63.04,
        "occupied_bw_fraction": 0.985,
        "n_records": 20,
        "excess_over_null_floor_db": -0.17,
        "survey_derived_truth": "vacant",
        "power_clean": true,
        "band_vacant": true,
        "admitted": true,
        "admission_reason": "within 3.0 dB of the null chain's own floor AND the survey measures the band itself vacant at this frequency",
        "comb_z_min": 0.861,
        "comb_z_median": 1.21,
        "comb_z_max": 1.902
      },
      {
        "uhf_channel": 24,
        "centre_mhz": 498,
        "mean_dbfs": -62.84,
        "occupied_bw_fraction": 0.888,
        "n_records": 20,
        "excess_over_null_floor_db": 0.03,
        "survey_derived_truth": "ambiguous",
        "power_clean": true,
        "band_vacant": false,
        "admitted": false,
        "admission_reason": "power-clean on the null chain (+0.03 dB) but the survey measures this channel 'ambiguous' on the antenna chain. A multiplex can couple in below the power margin and still be structurally obvious \u2014 that is what cyclostationary detection is for.",
        "comb_z_min": 0.821,
        "comb_z_median": 1.493,
        "comb_z_max": 2.091
      },
      {
        "uhf_channel": 25,
        "centre_mhz": 506,
        "mean_dbfs": -60.72,
        "occupied_bw_fraction": 1.0,
        "n_records": 20,
        "excess_over_null_floor_db": 2.15,
        "survey_derived_truth": "occupied",
        "power_clean": true,
        "band_vacant": false,
        "admitted": false,
        "admission_reason": "power-clean on the null chain (+2.15 dB) but the survey measures this channel 'occupied' on the antenna chain. A multiplex can couple in below the power margin and still be structurally obvious \u2014 that is what cyclostationary detection is for.",
        "comb_z_min": 6.885,
        "comb_z_median": 9.0285,
        "comb_z_max": 11.246
      },
      {
        "uhf_channel": 26,
        "centre_mhz": 514,
        "mean_dbfs": -62.77,
        "occupied_bw_fraction": 0.995,
        "n_records": 20,
        "excess_over_null_floor_db": 0.1,
        "survey_derived_truth": "occupied",
        "power_clean": true,
        "band_vacant": false,
        "admitted": false,
        "admission_reason": "power-clean on the null chain (+0.10 dB) but the survey measures this channel 'occupied' on the antenna chain. A multiplex can couple in below the power margin and still be structurally obvious \u2014 that is what cyclostationary detection is for.",
        "comb_z_min": 1.249,
        "comb_z_median": 2.105,
        "comb_z_max": 3.23
      },
      {
        "uhf_channel": 27,
        "centre_mhz": 522,
        "mean_dbfs": -63.09,
        "occupied_bw_fraction": 0.001,
        "n_records": 20,
        "excess_over_null_floor_db": -0.22,
        "survey_derived_truth": "vacant",
        "power_clean": true,
        "band_vacant": true,
        "admitted": true,
        "admission_reason": "within 3.0 dB of the null chain's own floor AND the survey measures the band itself vacant at this frequency",
        "comb_z_min": 0.573,
        "comb_z_median": 1.134,
        "comb_z_max": 1.608
      },
      {
        "uhf_channel": 28,
        "centre_mhz": 530,
        "mean_dbfs": -63.16,
        "occupied_bw_fraction": 0.983,
        "n_records": 20,
        "excess_over_null_floor_db": -0.29,
        "survey_derived_truth": "vacant",
        "power_clean": true,
        "band_vacant": true,
        "admitted": true,
        "admission_reason": "within 3.0 dB of the null chain's own floor AND the survey measures the band itself vacant at this frequency",
        "comb_z_min": 0.931,
        "comb_z_median": 1.4115,
        "comb_z_max": 2.077
      },
      {
        "uhf_channel": 29,
        "centre_mhz": 538,
        "mean_dbfs": -63.08,
        "occupied_bw_fraction": 1.0,
        "n_records": 20,
        "excess_over_null_floor_db": -0.21,
        "survey_derived_truth": "ambiguous",
        "power_clean": true,
        "band_vacant": false,
        "admitted": false,
        "admission_reason": "power-clean on the null chain (-0.21 dB) but the survey measures this channel 'ambiguous' on the antenna chain. A multiplex can couple in below the power margin and still be structurally obvious \u2014 that is what cyclostationary detection is for.",
        "comb_z_min": 0.781,
        "comb_z_median": 1.3215,
        "comb_z_max": 1.671
      },
      {
        "uhf_channel": 30,
        "centre_mhz": 546,
        "mean_dbfs": -63.19,
        "occupied_bw_fraction": 1.0,
        "n_records": 20,
        "excess_over_null_floor_db": -0.32,
        "survey_derived_truth": "occupied",
        "power_clean": true,
        "band_vacant": false,
        "admitted": false,
        "admission_reason": "power-clean on the null chain (-0.32 dB) but the survey measures this channel 'occupied' on the antenna chain. A multiplex can couple in below the power margin and still be structurally obvious \u2014 that is what cyclostationary detection is for.",
        "comb_z_min": 0.73,
        "comb_z_median": 1.169,
        "comb_z_max": 2.155
      },
      {
        "uhf_channel": 31,
        "centre_mhz": 554,
        "mean_dbfs": -58.34,
        "occupied_bw_fraction": 0.792,
        "n_records": 20,
        "excess_over_null_floor_db": 4.53,
        "survey_derived_truth": "occupied",
        "power_clean": false,
        "band_vacant": false,
        "admitted": false,
        "admission_reason": "+4.53 dB over the null chain's own floor \u2014 broadcast coupling into the open port, not receiver noise",
        "comb_z_min": 3.109,
        "comb_z_median": 5.004,
        "comb_z_max": 6.692
      },
      {
        "uhf_channel": 32,
        "centre_mhz": 562,
        "mean_dbfs": -47.34,
        "occupied_bw_fraction": 1.0,
        "n_records": 20,
        "excess_over_null_floor_db": 15.53,
        "survey_derived_truth": "occupied",
        "power_clean": false,
        "band_vacant": false,
        "admitted": false,
        "admission_reason": "+15.53 dB over the null chain's own floor \u2014 broadcast coupling into the open port, not receiver noise",
        "comb_z_min": 9.95,
        "comb_z_median": 15.536,
        "comb_z_max": 22.632
      },
      {
        "uhf_channel": 33,
        "centre_mhz": 570,
        "mean_dbfs": -44.9,
        "occupied_bw_fraction": 1.0,
        "n_records": 20,
        "excess_over_null_floor_db": 17.97,
        "survey_derived_truth": "occupied",
        "power_clean": false,
        "band_vacant": false,
        "admitted": false,
        "admission_reason": "+17.97 dB over the null chain's own floor \u2014 broadcast coupling into the open port, not receiver noise",
        "comb_z_min": 18.477,
        "comb_z_median": 19.585,
        "comb_z_max": 29.996
      },
      {
        "uhf_channel": 34,
        "centre_mhz": 578,
        "mean_dbfs": -53.43,
        "occupied_bw_fraction": 0.983,
        "n_records": 20,
        "excess_over_null_floor_db": 9.44,
        "survey_derived_truth": "occupied",
        "power_clean": false,
        "band_vacant": false,
        "admitted": false,
        "admission_reason": "+9.44 dB over the null chain's own floor \u2014 broadcast coupling into the open port, not receiver noise",
        "comb_z_min": 5.537,
        "comb_z_median": 8.7565,
        "comb_z_max": 15.259
      },
      {
        "uhf_channel": 35,
        "centre_mhz": 586,
        "mean_dbfs": -46.79,
        "occupied_bw_fraction": 1.0,
        "n_records": 20,
        "excess_over_null_floor_db": 16.08,
        "survey_derived_truth": "occupied",
        "power_clean": false,
        "band_vacant": false,
        "admitted": false,
        "admission_reason": "+16.08 dB over the null chain's own floor \u2014 broadcast coupling into the open port, not receiver noise",
        "comb_z_min": 5.798,
        "comb_z_median": 13.772,
        "comb_z_max": 29.345
      },
      {
        "uhf_channel": 36,
        "centre_mhz": 594,
        "mean_dbfs": -58.36,
        "occupied_bw_fraction": 0.802,
        "n_records": 20,
        "excess_over_null_floor_db": 4.51,
        "survey_derived_truth": "occupied",
        "power_clean": false,
        "band_vacant": false,
        "admitted": false,
        "admission_reason": "+4.51 dB over the null chain's own floor \u2014 broadcast coupling into the open port, not receiver noise",
        "comb_z_min": 2.101,
        "comb_z_median": 5.6675,
        "comb_z_max": 7.987
      },
      {
        "uhf_channel": 37,
        "centre_mhz": 602,
        "mean_dbfs": -62.97,
        "occupied_bw_fraction": 0.0,
        "n_records": 20,
        "excess_over_null_floor_db": -0.1,
        "survey_derived_truth": "vacant",
        "power_clean": true,
        "band_vacant": true,
        "admitted": true,
        "admission_reason": "within 3.0 dB of the null chain's own floor AND the survey measures the band itself vacant at this frequency",
        "comb_z_min": 0.665,
        "comb_z_median": 1.121,
        "comb_z_max": 1.536
      },
      {
        "uhf_channel": 38,
        "centre_mhz": 610,
        "mean_dbfs": -63.06,
        "occupied_bw_fraction": 1.0,
        "n_records": 20,
        "excess_over_null_floor_db": -0.19,
        "survey_derived_truth": "vacant",
        "power_clean": true,
        "band_vacant": true,
        "admitted": true,
        "admission_reason": "within 3.0 dB of the null chain's own floor AND the survey measures the band itself vacant at this frequency",
        "comb_z_min": 0.635,
        "comb_z_median": 1.233,
        "comb_z_max": 1.9
      },
      {
        "uhf_channel": 39,
        "centre_mhz": 618,
        "mean_dbfs": -57.88,
        "occupied_bw_fraction": 1.0,
        "n_records": 20,
        "excess_over_null_floor_db": 4.99,
        "survey_derived_truth": "occupied",
        "power_clean": false,
        "band_vacant": false,
        "admitted": false,
        "admission_reason": "+4.99 dB over the null chain's own floor \u2014 broadcast coupling into the open port, not receiver noise",
        "comb_z_min": 0.604,
        "comb_z_median": 1.4065,
        "comb_z_max": 1.766
      },
      {
        "uhf_channel": 40,
        "centre_mhz": 626,
        "mean_dbfs": -62.8,
        "occupied_bw_fraction": 1.0,
        "n_records": 20,
        "excess_over_null_floor_db": 0.07,
        "survey_derived_truth": "vacant",
        "power_clean": true,
        "band_vacant": true,
        "admitted": true,
        "admission_reason": "within 3.0 dB of the null chain's own floor AND the survey measures the band itself vacant at this frequency",
        "comb_z_min": 0.486,
        "comb_z_median": 1.2825,
        "comb_z_max": 2.089
      },
      {
        "uhf_channel": 41,
        "centre_mhz": 634,
        "mean_dbfs": -62.98,
        "occupied_bw_fraction": 1.0,
        "n_records": 20,
        "excess_over_null_floor_db": -0.11,
        "survey_derived_truth": "vacant",
        "power_clean": true,
        "band_vacant": true,
        "admitted": true,
        "admission_reason": "within 3.0 dB of the null chain's own floor AND the survey measures the band itself vacant at this frequency",
        "comb_z_min": 0.668,
        "comb_z_median": 1.26,
        "comb_z_max": 2.141
      },
      {
        "uhf_channel": 42,
        "centre_mhz": 642,
        "mean_dbfs": -62.69,
        "occupied_bw_fraction": 0.0,
        "n_records": 20,
        "excess_over_null_floor_db": 0.18,
        "survey_derived_truth": "vacant",
        "power_clean": true,
        "band_vacant": true,
        "admitted": true,
        "admission_reason": "within 3.0 dB of the null chain's own floor AND the survey measures the band itself vacant at this frequency",
        "comb_z_min": 0.527,
        "comb_z_median": 1.1105,
        "comb_z_max": 1.368
      },
      {
        "uhf_channel": 43,
        "centre_mhz": 650,
        "mean_dbfs": -62.94,
        "occupied_bw_fraction": 0.996,
        "n_records": 20,
        "excess_over_null_floor_db": -0.07,
        "survey_derived_truth": "vacant",
        "power_clean": true,
        "band_vacant": true,
        "admitted": true,
        "admission_reason": "within 3.0 dB of the null chain's own floor AND the survey measures the band itself vacant at this frequency",
        "comb_z_min": 0.908,
        "comb_z_median": 1.297,
        "comb_z_max": 1.867
      },
      {
        "uhf_channel": 44,
        "centre_mhz": 658,
        "mean_dbfs": -62.94,
        "occupied_bw_fraction": 1.0,
        "n_records": 20,
        "excess_over_null_floor_db": -0.07,
        "survey_derived_truth": "vacant",
        "power_clean": true,
        "band_vacant": true,
        "admitted": true,
        "admission_reason": "within 3.0 dB of the null chain's own floor AND the survey measures the band itself vacant at this frequency",
        "comb_z_min": 0.613,
        "comb_z_median": 1.1645,
        "comb_z_max": 1.831
      },
      {
        "uhf_channel": 45,
        "centre_mhz": 666,
        "mean_dbfs": -62.91,
        "occupied_bw_fraction": 1.0,
        "n_records": 20,
        "excess_over_null_floor_db": -0.04,
        "survey_derived_truth": "vacant",
        "power_clean": true,
        "band_vacant": true,
        "admitted": true,
        "admission_reason": "within 3.0 dB of the null chain's own floor AND the survey measures the band itself vacant at this frequency",
        "comb_z_min": 0.717,
        "comb_z_median": 1.0725,
        "comb_z_max": 2.289
      },
      {
        "uhf_channel": 46,
        "centre_mhz": 674,
        "mean_dbfs": -62.89,
        "occupied_bw_fraction": 1.0,
        "n_records": 20,
        "excess_over_null_floor_db": -0.02,
        "survey_derived_truth": "vacant",
        "power_clean": true,
        "band_vacant": true,
        "admitted": true,
        "admission_reason": "within 3.0 dB of the null chain's own floor AND the survey measures the band itself vacant at this frequency",
        "comb_z_min": 0.819,
        "comb_z_median": 1.2235,
        "comb_z_max": 2.219
      },
      {
        "uhf_channel": 47,
        "centre_mhz": 682,
        "mean_dbfs": -62.65,
        "occupied_bw_fraction": 0.0,
        "n_records": 20,
        "excess_over_null_floor_db": 0.22,
        "survey_derived_truth": "vacant",
        "power_clean": true,
        "band_vacant": true,
        "admitted": true,
        "admission_reason": "within 3.0 dB of the null chain's own floor AND the survey measures the band itself vacant at this frequency",
        "comb_z_min": 0.771,
        "comb_z_median": 1.0055,
        "comb_z_max": 1.5
      },
      {
        "uhf_channel": 48,
        "centre_mhz": 690,
        "mean_dbfs": -62.82,
        "occupied_bw_fraction": 1.0,
        "n_records": 20,
        "excess_over_null_floor_db": 0.05,
        "survey_derived_truth": "vacant",
        "power_clean": true,
        "band_vacant": true,
        "admitted": true,
        "admission_reason": "within 3.0 dB of the null chain's own floor AND the survey measures the band itself vacant at this frequency",
        "comb_z_min": 0.781,
        "comb_z_median": 1.2335,
        "comb_z_max": 1.892
      }
    ],
    "survey": [
      {
        "uhf_channel": 21,
        "centre_mhz": 474,
        "mean_dbfs": -61.66,
        "occupied_bw_fraction": 0.889,
        "n_records": 20,
        "derived_truth": "vacant",
        "excess_over_session_floor_db": 0.88,
        "comb_z_min": 0.88,
        "comb_z_median": 1.3885,
        "comb_z_max": 1.84,
        "records_over_previous_threshold": 0,
        "records_over_derived_threshold": 0
      },
      {
        "uhf_channel": 22,
        "centre_mhz": 482,
        "mean_dbfs": -58.85,
        "occupied_bw_fraction": 0.001,
        "n_records": 20,
        "derived_truth": "ambiguous",
        "excess_over_session_floor_db": 3.69,
        "comb_z_min": 0.865,
        "comb_z_median": 1.2045,
        "comb_z_max": 1.572,
        "records_over_previous_threshold": 0,
        "records_over_derived_threshold": 0
      },
      {
        "uhf_channel": 23,
        "centre_mhz": 490,
        "mean_dbfs": -61.81,
        "occupied_bw_fraction": 0.963,
        "n_records": 20,
        "derived_truth": "vacant",
        "excess_over_session_floor_db": 0.73,
        "comb_z_min": 1.175,
        "comb_z_median": 2.0765,
        "comb_z_max": 3.414,
        "records_over_previous_threshold": 0,
        "records_over_derived_threshold": 10
      },
      {
        "uhf_channel": 24,
        "centre_mhz": 498,
        "mean_dbfs": -55.74,
        "occupied_bw_fraction": 0.579,
        "n_records": 20,
        "derived_truth": "ambiguous",
        "excess_over_session_floor_db": 6.8,
        "comb_z_min": 4.502,
        "comb_z_median": 6.545,
        "comb_z_max": 8.836,
        "records_over_previous_threshold": 20,
        "records_over_derived_threshold": 20
      },
      {
        "uhf_channel": 25,
        "centre_mhz": 506,
        "mean_dbfs": -44.81,
        "occupied_bw_fraction": 1.0,
        "n_records": 20,
        "derived_truth": "occupied",
        "excess_over_session_floor_db": 17.73,
        "comb_z_min": 11.258,
        "comb_z_median": 20.7645,
        "comb_z_max": 29.003,
        "records_over_previous_threshold": 20,
        "records_over_derived_threshold": 20
      },
      {
        "uhf_channel": 26,
        "centre_mhz": 514,
        "mean_dbfs": -53.76,
        "occupied_bw_fraction": 0.708,
        "n_records": 20,
        "derived_truth": "occupied",
        "excess_over_session_floor_db": 8.78,
        "comb_z_min": 1.974,
        "comb_z_median": 7.3795,
        "comb_z_max": 10.014,
        "records_over_previous_threshold": 19,
        "records_over_derived_threshold": 19
      },
      {
        "uhf_channel": 27,
        "centre_mhz": 522,
        "mean_dbfs": -63.13,
        "occupied_bw_fraction": 0.003,
        "n_records": 20,
        "derived_truth": "vacant",
        "excess_over_session_floor_db": -0.59,
        "comb_z_min": 0.589,
        "comb_z_median": 1.0835,
        "comb_z_max": 1.816,
        "records_over_previous_threshold": 0,
        "records_over_derived_threshold": 0
      },
      {
        "uhf_channel": 28,
        "centre_mhz": 530,
        "mean_dbfs": -62.15,
        "occupied_bw_fraction": 0.999,
        "n_records": 20,
        "derived_truth": "vacant",
        "excess_over_session_floor_db": 0.39,
        "comb_z_min": 1.659,
        "comb_z_median": 2.6925,
        "comb_z_max": 5.467,
        "records_over_previous_threshold": 8,
        "records_over_derived_threshold": 16
      },
      {
        "uhf_channel": 29,
        "centre_mhz": 538,
        "mean_dbfs": -56.32,
        "occupied_bw_fraction": 1.0,
        "n_records": 20,
        "derived_truth": "ambiguous",
        "excess_over_session_floor_db": 6.22,
        "comb_z_min": 6.873,
        "comb_z_median": 10.787,
        "comb_z_max": 22.469,
        "records_over_previous_threshold": 20,
        "records_over_derived_threshold": 20
      },
      {
        "uhf_channel": 30,
        "centre_mhz": 546,
        "mean_dbfs": -52.28,
        "occupied_bw_fraction": 1.0,
        "n_records": 20,
        "derived_truth": "occupied",
        "excess_over_session_floor_db": 10.26,
        "comb_z_min": 3.08,
        "comb_z_median": 6.0035,
        "comb_z_max": 9.139,
        "records_over_previous_threshold": 18,
        "records_over_derived_threshold": 20
      },
      {
        "uhf_channel": 31,
        "centre_mhz": 554,
        "mean_dbfs": -33.16,
        "occupied_bw_fraction": 0.621,
        "n_records": 20,
        "derived_truth": "occupied",
        "excess_over_session_floor_db": 29.38,
        "comb_z_min": 3.13,
        "comb_z_median": 5.901,
        "comb_z_max": 9.679,
        "records_over_previous_threshold": 18,
        "records_over_derived_threshold": 20
      },
      {
        "uhf_channel": 32,
        "centre_mhz": 562,
        "mean_dbfs": -20.34,
        "occupied_bw_fraction": 1.0,
        "n_records": 20,
        "derived_truth": "occupied",
        "excess_over_session_floor_db": 42.2,
        "comb_z_min": 10.865,
        "comb_z_median": 18.137,
        "comb_z_max": 27.209,
        "records_over_previous_threshold": 20,
        "records_over_derived_threshold": 20
      },
      {
        "uhf_channel": 33,
        "centre_mhz": 570,
        "mean_dbfs": -21.15,
        "occupied_bw_fraction": 1.0,
        "n_records": 20,
        "derived_truth": "occupied",
        "excess_over_session_floor_db": 41.39,
        "comb_z_min": 14.722,
        "comb_z_median": 21.513,
        "comb_z_max": 30.451,
        "records_over_previous_threshold": 20,
        "records_over_derived_threshold": 20
      },
      {
        "uhf_channel": 34,
        "centre_mhz": 578,
        "mean_dbfs": -34.8,
        "occupied_bw_fraction": 0.648,
        "n_records": 20,
        "derived_truth": "occupied",
        "excess_over_session_floor_db": 27.74,
        "comb_z_min": 5.287,
        "comb_z_median": 6.549,
        "comb_z_max": 11.339,
        "records_over_previous_threshold": 20,
        "records_over_derived_threshold": 20
      },
      {
        "uhf_channel": 35,
        "centre_mhz": 586,
        "mean_dbfs": -32.73,
        "occupied_bw_fraction": 1.0,
        "n_records": 20,
        "derived_truth": "occupied",
        "excess_over_session_floor_db": 29.81,
        "comb_z_min": 12.233,
        "comb_z_median": 17.7445,
        "comb_z_max": 27.874,
        "records_over_previous_threshold": 20,
        "records_over_derived_threshold": 20
      },
      {
        "uhf_channel": 36,
        "centre_mhz": 594,
        "mean_dbfs": -43.34,
        "occupied_bw_fraction": 0.57,
        "n_records": 20,
        "derived_truth": "occupied",
        "excess_over_session_floor_db": 19.2,
        "comb_z_min": 2.289,
        "comb_z_median": 4.1915,
        "comb_z_max": 8.99,
        "records_over_previous_threshold": 16,
        "records_over_derived_threshold": 20
      },
      {
        "uhf_channel": 37,
        "centre_mhz": 602,
        "mean_dbfs": -60.21,
        "occupied_bw_fraction": 0.003,
        "n_records": 20,
        "derived_truth": "vacant",
        "excess_over_session_floor_db": 2.33,
        "comb_z_min": 1.16,
        "comb_z_median": 2.169,
        "comb_z_max": 4.086,
        "records_over_previous_threshold": 4,
        "records_over_derived_threshold": 11
      },
      {
        "uhf_channel": 38,
        "centre_mhz": 610,
        "mean_dbfs": -62.31,
        "occupied_bw_fraction": 1.0,
        "n_records": 20,
        "derived_truth": "vacant",
        "excess_over_session_floor_db": 0.23,
        "comb_z_min": 0.649,
        "comb_z_median": 1.47,
        "comb_z_max": 2.109,
        "records_over_previous_threshold": 0,
        "records_over_derived_threshold": 1
      },
      {
        "uhf_channel": 39,
        "centre_mhz": 618,
        "mean_dbfs": -46.66,
        "occupied_bw_fraction": 1.0,
        "n_records": 20,
        "derived_truth": "occupied",
        "excess_over_session_floor_db": 15.88,
        "comb_z_min": 0.731,
        "comb_z_median": 1.3245,
        "comb_z_max": 1.783,
        "records_over_previous_threshold": 0,
        "records_over_derived_threshold": 0
      },
      {
        "uhf_channel": 40,
        "centre_mhz": 626,
        "mean_dbfs": -62.12,
        "occupied_bw_fraction": 0.995,
        "n_records": 20,
        "derived_truth": "vacant",
        "excess_over_session_floor_db": 0.42,
        "comb_z_min": 0.606,
        "comb_z_median": 1.1905,
        "comb_z_max": 1.767,
        "records_over_previous_threshold": 0,
        "records_over_derived_threshold": 0
      },
      {
        "uhf_channel": 41,
        "centre_mhz": 634,
        "mean_dbfs": -62.75,
        "occupied_bw_fraction": 0.935,
        "n_records": 20,
        "derived_truth": "vacant",
        "excess_over_session_floor_db": -0.21,
        "comb_z_min": 0.638,
        "comb_z_median": 1.267,
        "comb_z_max": 2.392,
        "records_over_previous_threshold": 0,
        "records_over_derived_threshold": 1
      },
      {
        "uhf_channel": 42,
        "centre_mhz": 642,
        "mean_dbfs": -62.59,
        "occupied_bw_fraction": 0.0,
        "n_records": 20,
        "derived_truth": "vacant",
        "excess_over_session_floor_db": -0.05,
        "comb_z_min": 0.637,
        "comb_z_median": 1.2295,
        "comb_z_max": 2.037,
        "records_over_previous_threshold": 0,
        "records_over_derived_threshold": 0
      },
      {
        "uhf_channel": 43,
        "centre_mhz": 650,
        "mean_dbfs": -62.74,
        "occupied_bw_fraction": 0.88,
        "n_records": 20,
        "derived_truth": "vacant",
        "excess_over_session_floor_db": -0.2,
        "comb_z_min": 0.636,
        "comb_z_median": 1.269,
        "comb_z_max": 1.522,
        "records_over_previous_threshold": 0,
        "records_over_derived_threshold": 0
      },
      {
        "uhf_channel": 44,
        "centre_mhz": 658,
        "mean_dbfs": -62.57,
        "occupied_bw_fraction": 0.99,
        "n_records": 20,
        "derived_truth": "vacant",
        "excess_over_session_floor_db": -0.03,
        "comb_z_min": 0.665,
        "comb_z_median": 1.203,
        "comb_z_max": 1.763,
        "records_over_previous_threshold": 0,
        "records_over_derived_threshold": 0
      },
      {
        "uhf_channel": 45,
        "centre_mhz": 666,
        "mean_dbfs": -62.59,
        "occupied_bw_fraction": 0.968,
        "n_records": 20,
        "derived_truth": "vacant",
        "excess_over_session_floor_db": -0.05,
        "comb_z_min": 0.723,
        "comb_z_median": 1.178,
        "comb_z_max": 2.17,
        "records_over_previous_threshold": 0,
        "records_over_derived_threshold": 1
      },
      {
        "uhf_channel": 46,
        "centre_mhz": 674,
        "mean_dbfs": -62.68,
        "occupied_bw_fraction": 0.915,
        "n_records": 20,
        "derived_truth": "vacant",
        "excess_over_session_floor_db": -0.14,
        "comb_z_min": 0.67,
        "comb_z_median": 1.3345,
        "comb_z_max": 1.842,
        "records_over_previous_threshold": 0,
        "records_over_derived_threshold": 0
      },
      {
        "uhf_channel": 47,
        "centre_mhz": 682,
        "mean_dbfs": -62.51,
        "occupied_bw_fraction": 0.001,
        "n_records": 20,
        "derived_truth": "vacant",
        "excess_over_session_floor_db": 0.03,
        "comb_z_min": 0.859,
        "comb_z_median": 1.143,
        "comb_z_max": 1.458,
        "records_over_previous_threshold": 0,
        "records_over_derived_threshold": 0
      },
      {
        "uhf_channel": 48,
        "centre_mhz": 690,
        "mean_dbfs": -62.27,
        "occupied_bw_fraction": 0.846,
        "n_records": 20,
        "derived_truth": "vacant",
        "excess_over_session_floor_db": 0.27,
        "comb_z_min": 0.759,
        "comb_z_median": 1.3235,
        "comb_z_max": 3.238,
        "records_over_previous_threshold": 0,
        "records_over_derived_threshold": 1
      }
    ]
  },
  "caveats": [
    "The null is an OPEN SMA port, not a 50-ohm terminated load. It supplies the receiver's own artefact structure at the right gain and thermal state; it does NOT supply a calibrated noise figure. Only the scale-invariant comb statistic is calibrated from it.",
    "One box, one session, one B210. A threshold derived here is not proven to transfer to a different SDR, a different host or a different USB link.",
    "Channels rejected as coupled are rejected on POWER. If broadcast coupled into the open port at a level BELOW the 3 dB admission margin, its structure is inside the calibration sample and the derived threshold is biased HIGH, i.e. conservative against false positives and costly to weak detections."
  ]
}
