BOLT-1293: Filter unsupported Program Event command targets + response-rate denominator
completedAgent: richie-engineer
Priority: 1
Branch:
winston/bolt-1293-program-event-response-rate-target-filterPR: #12406
Linear: BOLT-1293
Linear BOLT-1293. Richie approved 2-part fix: (1) backend guard so battery:set-operating-mode does not send to inverter/non-battery devices even when explicit workspaceDeviceIds/deviceIds are supplied (sendBatchCommand path gap); (2) dashboard Program Event details Overall Response Rate filters unsupported/non-compatible commands out of denominator. No unsupported-target count UI. Branch: winston/bolt-1293-program-event-response-rate-target-filter.
Event Timeline
created
failed
lease expired — re-queued for retry
in_progress → queued
status_change
queued → in_progress
subagent_spawned
spawn claim: deepsource-js-fix-PR12406
subagent_completed
subagent done: Released: empty subagent allowlist; investigating in-session
failed
lease expired — re-queued for retry
in_progress → queued
status_change
queued → in_progress
note
Pushed 35a4b192ab — fix DeepSource JS-0116 (async without await on filterDeviceOnWorkspaceIdsByType mock in sendBatchCommand.test.ts:76). Confirmed via DeepSource GraphQL API that this was the single remaining occurrence (sole entry in the JS analyzer occurrences list for run 39673891). CI re-running.
failed
lease expired — max retries reached, marking failed (poison pill)
in_progress → failed
status_change
failed → in_progress
subagent_spawned
spawn claim: addressing cursor bugbot finding: KPI counts unresolved command rows (missing device guard)
subagent_completed
subagent done: fixed cursor bugbot KPI device-guard finding @ 4fe7a9bbf0
failed
lease expired — max retries reached, marking failed (poison pill)
in_progress → failed
status_change
failed → in_progress
status_change
in_progress → blocked
status_change
blocked → in_progress
subagent_spawned
spawn claim: addressing cursor bugbot round 2 finding: Eligible targets dropped during dispatch
failed
lease expired — max retries reached, marking failed (poison pill)
in_progress → failed
progress
Fixed Cursor bugbot 233fc359. Commit 148cca3618: dropped hasCommands if/else fork. Now unions workspaceDeviceIds + command-row devices. Extracted to buildAllDeviceData.ts with 9 unit tests. All CI tests pass. Thread reply posted on PR #12406.
status_change
failed → blocked
subagent_completed
subagent done: fixed cursor bugbot round 2 finding @ 148cca3618 — Eligible targets dropped during dispatch
note
CI all green at 9db5b8698e — all 21 checks passing. PR BLOCKED only because reviewDecision=REVIEW_REQUIRED. 0 unresolved review threads. DMing Richie.
note
DM sent to Richie at 18:58 UTC — CI all green at 9db5b8698e, awaiting review. Slack ts 1781722734.942019.
status_change
blocked → completed