CB-640: MessageService message-layer health evidence accessors #170

Closed
agent wants to merge 0 commits from worker/cb-640-health-msg-evidence-99c9cd-1 into main
Member

Adds three read-only accessors to MessageService for the fleet-health monitor's message-layer facts (CB-640): hasQueuedDelivery, hasStrandedReply, hasOrphanedDelegation. Additive only — no existing public method signature or behavior changes. Does NOT touch dev.ltms.fleet.health.* (another worker owns FleetHealthMonitor concurrently).

  • hasQueuedDelivery(target): true after a send times out TIMED_OUT_QUEUED (message never reached the injector before the caller's deadline). Cleared on the target's next accepted delivery or abandon().
  • hasStrandedReply(target): true when reply() fell back to the inbox because no send was waiting (Rendezvous.resolve returned false). Cleared on the target's next accepted delivery or abandon().
  • hasOrphanedDelegation(target): true when an async ticket is Phase.PENDING but the target has neither an accepted nor a queued delivery — reachable deterministically once an unanswered fleet_ask lapses back to PENDING (send() already closed the forward waiter when the question surfaced).

Tests: new unit tests in MessageServiceTest cover true/false/unknown-target for all three, plus the clearing case for hasStrandedReply (and hasQueuedDelivery).

Build: mvn clean install — Tests run: 962, Failures: 0, Errors: 0, Skipped: 0 — BUILD SUCCESS.

Adds three read-only accessors to MessageService for the fleet-health monitor's message-layer facts (CB-640): hasQueuedDelivery, hasStrandedReply, hasOrphanedDelegation. Additive only — no existing public method signature or behavior changes. Does NOT touch dev.ltms.fleet.health.* (another worker owns FleetHealthMonitor concurrently). - hasQueuedDelivery(target): true after a send times out TIMED_OUT_QUEUED (message never reached the injector before the caller's deadline). Cleared on the target's next accepted delivery or abandon(). - hasStrandedReply(target): true when reply() fell back to the inbox because no send was waiting (Rendezvous.resolve returned false). Cleared on the target's next accepted delivery or abandon(). - hasOrphanedDelegation(target): true when an async ticket is Phase.PENDING but the target has neither an accepted nor a queued delivery — reachable deterministically once an unanswered fleet_ask lapses back to PENDING (send() already closed the forward waiter when the question surfaced). Tests: new unit tests in MessageServiceTest cover true/false/unknown-target for all three, plus the clearing case for hasStrandedReply (and hasQueuedDelivery). Build: mvn clean install — Tests run: 962, Failures: 0, Errors: 0, Skipped: 0 — BUILD SUCCESS.
agent added 1 commit 2026-08-27 16:58:42 +02:00
CB-640: add MessageService message-layer health evidence accessors
CI / contract (pull_request) Successful in 44s
CI / build (pull_request) Successful in 1m11s
312c0584ce
hasQueuedDelivery/hasStrandedReply/hasOrphanedDelegation surface three of the
message-layer facts FleetHealthMonitor needs but currently hardcodes to
NOT_YET_OBSERVED. Additive only — no existing public method's signature or
behavior changes.
ltms closed this pull request 2026-08-28 00:19:04 +02:00
Some checks are pending
CI / contract (pull_request) Successful in 44s
CI / build (pull_request) Successful in 1m11s

Pull request closed

Sign in to join this conversation.