RabbitMQ_HealthCheck deserializes /api/queues/detailed into QueueInfo with only PropertyNameCaseInsensitive = true. The RabbitMQ management API returns snake_case (messages_ready, messages_unacknowledged, idle_since, …), which does not bind to MessagesReady / MessagesUnacknowledged / IdleSince.
Impact
totalReadyMessages stays 0 for real payloads → the “ready > 1000 → Degraded” gate never fires.
idleQueues stays empty → idle reporting is blank.
Unacked totals are similarly wrong (though DLQ depth still works because it uses messages).
Repro
Pinned characterization: RabbitMqHealthCheckTests.CheckHealthAsync_SnakeCaseReadyMessages_Ignored_Characterization798 on test/coverage-wave-2026-07.
Fix
Add [JsonPropertyName("messages_ready")] (etc.) on QueueInfo, or use a snake_case naming policy / source-generated DTO matching the management API.
## Summary
`RabbitMQ_HealthCheck` deserializes `/api/queues/detailed` into `QueueInfo` with only `PropertyNameCaseInsensitive = true`. The RabbitMQ management API returns **snake_case** (`messages_ready`, `messages_unacknowledged`, `idle_since`, …), which does **not** bind to `MessagesReady` / `MessagesUnacknowledged` / `IdleSince`.
## Impact
- `totalReadyMessages` stays `0` for real payloads → the “ready > 1000 → Degraded” gate never fires.
- `idleQueues` stays empty → idle reporting is blank.
- Unacked totals are similarly wrong (though DLQ depth still works because it uses `messages`).
## Repro
Pinned characterization: `RabbitMqHealthCheckTests.CheckHealthAsync_SnakeCaseReadyMessages_Ignored_Characterization798` on `test/coverage-wave-2026-07`.
## Fix
Add `[JsonPropertyName("messages_ready")]` (etc.) on `QueueInfo`, or use a snake_case naming policy / source-generated DTO matching the management API.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
RabbitMQ_HealthCheckdeserializes/api/queues/detailedintoQueueInfowith onlyPropertyNameCaseInsensitive = true. The RabbitMQ management API returns snake_case (messages_ready,messages_unacknowledged,idle_since, …), which does not bind toMessagesReady/MessagesUnacknowledged/IdleSince.Impact
totalReadyMessagesstays0for real payloads → the “ready > 1000 → Degraded” gate never fires.idleQueuesstays empty → idle reporting is blank.messages).Repro
Pinned characterization:
RabbitMqHealthCheckTests.CheckHealthAsync_SnakeCaseReadyMessages_Ignored_Characterization798ontest/coverage-wave-2026-07.Fix
Add
[JsonPropertyName("messages_ready")](etc.) onQueueInfo, or use a snake_case naming policy / source-generated DTO matching the management API.