URGENT: cancel 202 orphaned ChargePoint LoadShedEvents scheduled for July 8 (VEC test events)
cancelledAgent: richie-engineer
Priority: 1
## Context
Two accidental test events fired by Richie on 2026-06-30 (20:56 UTC + 21:23 UTC) exercised the createLoadShedEvent path and were successfully scheduled on ChargePoint servers:
- 202 distinct ChargePoint LoadShedEvent IDs (101 per event × 2 events)
- Event id ranges: 782965431–782965511 … and 783032861–783032901 …
- All returned scheduled=true from ChargePoint Demand Management API
- ZERO cancellation SOAP calls issued — no cancelLoadShedEvent, terminateLoadShedEvent, deleteLoadShedEvent, or clearShedState
- Richie deleted the platform-side WorkspaceProgramEvent + Batch rows, but the adapter has no cancellation path — nothing tore down the ChargePoint-side scheduled sheds
## Risks
1. On July 8, ChargePoint will actually shed 101 chargers TWICE (once per event), unrelated to any platform-side event
2. Both events targeted the same 101 stations → overlapping scheduled sheds
## Phase 1 (URGENT — before July 8):
1. Extract (commandId, chargePointEventId, stationId, sgID) map from Datadog for both event bursts (20:56–20:57 UTC and 21:23–21:24 UTC on 2026-06-30, chargepoint-adapter logger). Save to projects/vec-loadshed-cleanup-2026-07-08/eventids.json.
2. Verify ChargePoint WSDL exposes cancelLoadShedEvent or equivalent. Confirm exact SOAP shape.
3. Design one-shot cancellation: CLI script in apps/oem-adapter/scripts/ that reads eventids.json and issues cancellations, OR ad-hoc runbook Richie executes manually.
4. DM back to Richie with eventId list + recommended path. Must complete BEFORE July 8 window starts.
## Phase 2 (adapter cancel path):
5. Add cancel/teardown handling to chargepoint-adapter — WPE/Batch deletion fires charger:cancel-scheduled-shed with stored ChargePoint eventId
6. Store ChargePoint eventId from createLoadShedEvent on Command.responseData or metadata field
7. Wire program.batchDeleted / program.eventDeleted events to dispatch cancellation
8. Unit + integration tests: delete-after-schedule actually cancels on ChargePoint
## Deliverable
Phase 1: DM in thread 1782867563.073399 with eventId list + recommended cancellation approach. Deadline: 2026-07-05.
Phase 2: Linear ticket in Bolt + PR against winston/chargepoint-cancel-path. Deadline: 2026-07-15.
## Related
- Slack thread: 1782867563.073399
- Related PR (merged): ChargePoint stop-charging + createLoadShedEvent adapter (sha a6c3daaf)
- Adjacent BOLT-1390 (networkStatus) — separate
Event Timeline
created
status_change
queued → cancelled