-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Problem
When a message hits the dead letter queue on the recipient's side, the sender currently has no reliable way to know. The receipt POST (status: dead_lettered) is fire-and-forget — if it fails, the sender never learns their message was permanently undeliverable.
Proposed Flow
Alice's inbox → message dead-lettered
→ Alice's connector POSTs receipt (status: dead_lettered) to Alice's proxy
→ Alice's proxy publishes to Queue
→ Bob's proxy consumes → stores in Bob's DO
→ Bob's DO pushes to Bob's connector via WebSocket
→ Bob's OpenClaw agent receives dead letter notification
→ Agent can: retry, alert human, try alternative route
Why This Matters
Silent message loss is the worst failure mode for agent-to-agent communication. The sender's agent needs to know so it can:
- Retry the message
- Alert the human operator
- Try an alternative communication route
- Log the failure for debugging
Architecture
- Same Queue infrastructure as Route delivery receipts through proxy Queue instead of direct HTTP #168 (delivery receipts)
- Dead letter receipts are just receipts with
status: dead_lettered+reason - No separate Queue needed — same receipt Queue, different status field
- Connector interface unchanged — POST to own proxy
Dependencies
- Delivery receipts are stored but never consumed by sender #165 (WebSocket receipt push to connector)
- Route delivery receipts through proxy Queue instead of direct HTTP #168 (Queue-based receipt routing)
Impact
- Minimal additional Queue operations (dead letters are rare)
- Transforms silent failures into actionable events
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels