Block a user
A REST reply with no content field silently becomes an empty reply, and the lead cannot tell it from a member that said nothing
Merged as 4769481, extended in 21844b5. Real merge built green at 1310 tests.
The worker picked option (1) — the guard went into MessageService.reply, which both doors call — and it…
A REST reply with no content field silently becomes an empty reply, and the lead cannot tell it from a member that said nothing
#298: AmqpReplyInbox.release() requeues held deliveries instead of dropping them
AmqpReplyInbox.release() drops an unacked reply that the broker still holds — a worker's report is lost silently
AmqpReplyInbox.release() drops an unacked reply that the broker still holds — a worker's report is lost silently
Merged as 38c248e. Real merge built green at 1307 tests, and the @Tag("contract") suite green at 8 tests against a live RabbitMQ.
No correction needed from me. This is the best-execute…
#297: REST gaps — HerdrException envelope on /agents,/members; /profiles quarantine+coolingOff
REST is the weaker door, and it is the door a lead falls back to when MCP drops
REST is the weaker door, and it is the door a lead falls back to when MCP drops
Merged as f34361b, corrected in 9debc0d. Real merge built green at 1307 tests.
The wiring is right, and it is the part I checked hardest. Fleetd now names quarantineSource and…
fleetd #296: close panes on failed spawn
Two spawn-side exits leak a live pane, and the caller cannot clean up because it never learns the pane id
Two spawn-side exits leak a live pane, and the caller cannot clean up because it never learns the pane id
Merged as aef14ff. Real merge built green at 1304 tests.
Both exits now close the pane they opened, best-effort, catching RuntimeException, logging a WARN that names the pane, and…
AmqpReplyInbox.release() drops an unacked reply that the broker still holds — a worker's report is lost silently
REST is the weaker door, and it is the door a lead falls back to when MCP drops
Two spawn-side exits leak a live pane, and the caller cannot clean up because it never learns the pane id
#293: wrap the bare tab.close in HerdrPeerLauncher.stop()
A failing tab.close during teardown leaks both the ZDOTDIR and the worktree