gateway: AcknowledgeAlarm + QueryActiveAlarms handler tests (PR A.4) #113

Merged
dohertj2 merged 1 commits from track-a4-conditionrefresh-coverage into main 2026-04-30 21:23:22 -04:00
Owner

Summary

Nineteenth (final) PR of the alarms-over-gateway epic. Pins the public RPC handler contract added in PR A.3:

  • AcknowledgeAlarm rejects empty session_id + empty alarm_full_reference with InvalidArgument.
  • AcknowledgeAlarm with valid input returns OK and a worker-pending diagnostic so clients see a successful round-trip even before A.2's worker dispatch lands.
  • QueryActiveAlarms rejects empty session_id with InvalidArgument.
  • QueryActiveAlarms with valid input streams zero snapshots (filter-prefix passthrough verified at the proto layer).
  • OpenSession advertises both new RPC capability strings (unary-acknowledge-alarm, server-stream-active-alarms).

Closes Track A's gateway-side surface. Worker-side ConditionRefresh walk + parity-rig validation lands alongside PR A.2's COM-side alarm subscription pin during dev-rig hardware validation.

Test plan

  • 6 new tests in MxAccessGatewayServiceTests cover both handlers + the capability advertisement
  • Full Tests suite: 279 passed (was 273; 6 new)
## Summary Nineteenth (final) PR of the **alarms-over-gateway** epic. Pins the public RPC handler contract added in PR A.3: - `AcknowledgeAlarm` rejects empty session_id + empty alarm_full_reference with InvalidArgument. - `AcknowledgeAlarm` with valid input returns OK and a worker-pending diagnostic so clients see a successful round-trip even before A.2's worker dispatch lands. - `QueryActiveAlarms` rejects empty session_id with InvalidArgument. - `QueryActiveAlarms` with valid input streams zero snapshots (filter-prefix passthrough verified at the proto layer). - `OpenSession` advertises both new RPC capability strings (`unary-acknowledge-alarm`, `server-stream-active-alarms`). Closes Track A's gateway-side surface. Worker-side ConditionRefresh walk + parity-rig validation lands alongside PR A.2's COM-side alarm subscription pin during dev-rig hardware validation. ## Test plan - [x] 6 new tests in `MxAccessGatewayServiceTests` cover both handlers + the capability advertisement - [x] Full Tests suite: 279 passed (was 273; 6 new)
dohertj2 added 1 commit 2026-04-30 21:23:19 -04:00
Nineteenth (final) PR of the alarms-over-gateway epic. Pins the
public RPC handler contract added in PR A.3:

- AcknowledgeAlarm rejects empty session_id and empty
  alarm_full_reference with InvalidArgument.
- AcknowledgeAlarm with valid input returns OK and a
  worker-pending diagnostic so clients see a successful round-trip
  even before A.2's worker dispatch lands.
- QueryActiveAlarms rejects empty session_id with InvalidArgument.
- QueryActiveAlarms with valid input streams zero snapshots until
  PR A.2 wires the worker-side QueryActiveAlarmsCommand
  (filter-prefix passthrough verified at the proto layer).
- OpenSession advertises both new RPC capability strings
  (unary-acknowledge-alarm, server-stream-active-alarms) so client
  capability negotiation lights up against the contract surface.

Closes Track A's gateway-side surface. The remaining worker
ConditionRefresh walk + integration parity-rig validation lands
during dev-rig hardware validation alongside PR A.2's COM-side
alarm subscription pin.

Tests: 279 passed (was 273; 6 new). Per-handler integration tests
land alongside the dev-rig validation when the worker walks the
real MxAccess active-alarm collection.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
dohertj2 merged commit 6c3edf4516 into main 2026-04-30 21:23:22 -04:00
dohertj2 deleted branch track-a4-conditionrefresh-coverage 2026-04-30 21:23:22 -04:00
Sign in to join this conversation.