{
  "runbook_name": "HarborMug return triage",
  "owner": "Mia",
  "steps": [
    {
      "title": "Verify the order and dates",
      "owner": "Mia",
      "duration_minutes": 3,
      "success_signal": "Ledger shows order_match=true, domestic=true, delivery_evidence=merchant order record, delivered=2026-10-20, requested=2026-11-03 and elapsed_days=14 for A100.",
      "failure_signal": "Ledger shows order_match=false, domestic=unknown/false, delivery_evidence=missing, delivered_date=missing, invalid_date=true or elapsed_days<0.",
      "rollback": "Restore the numbered snapshot of the prior ledger values, record the correction reason in the case history, and keep the case on hold. Order verification itself is read-only.",
      "escalation": "Alex; Mia records the missing or conflicting facts and stops eligibility decisions until Alex resolves them."
    },
    {
      "title": "Record eligibility and prepare the label request",
      "owner": "Mia",
      "duration_minutes": 4,
      "success_signal": "Ledger shows eligibility=eligible_pending_inspection, unopened=true, elapsed_days=14, inspection=pending and label_request=draft for A100; label_dispatch=blocked while label/address/fee decision are missing.",
      "failure_signal": "Ledger shows used=true, condition=unknown, elapsed_days>30, approved_label=missing, warehouse_address=missing or return_shipping_fee=unconfirmed; the relevant gate remains held.",
      "rollback": "Restore the prior eligibility and label fields from the numbered snapshot, keep the correction note, and discard any unsent instructions. Reopen the hold with Alex.",
      "escalation": "Alex; Mia records a draft label request or policy-exception handoff in the case ledger."
    },
    {
      "title": "Prepare the approval handoff and retain the reply draft",
      "owner": "Alex",
      "duration_minutes": 3,
      "success_signal": "Ledger shows refund_status=pending_merchant_approval, approval_reference=missing, refund_amount=unconfirmed, reply=draft and refund_executed=false for A100; handoff recipient field set to Alex.",
      "failure_signal": "Ledger shows approval_reference=missing, refund_amount=unconfirmed or inspection=pending when anyone attempts a final approval or refund-confirmation reply; final_confirmation=blocked.",
      "rollback": "Withdraw the unsent draft, restore incorrect ledger fields from the numbered snapshot and retain the correction history. An actual refund cannot be rolled back here; escalate to Alex if one was executed elsewhere.",
      "escalation": "Alex; if Alex is unavailable, Mia retains the pending state and reviews the queue during the next staffed business session. No substitute approver is authorized by this SOP."
    }
  ]
}
