Found during dogfooding
The docker expert was cancelled (user denied the tool call during a batch), but there's no cancelled status in the taskboard — the task just disappeared. The concierge had no way to know it needed to retry.
Expected
Cancelled tasks should appear in the taskboard with status: cancelled so the concierge can detect them via pool_check_status or pool_collect and decide whether to retry.
Root cause
When the user denies a tool call in Claude Code, the MCP tool call simply doesn't execute. The concierge never calls pool_dispatch, so no message reaches the postoffice, and no task is registered. From the daemon's perspective, nothing happened.
Fix options
- Concierge-side tracking — the concierge tracks dispatched IDs locally and detects missing ones when collecting
- Two-phase dispatch — register the task in taskboard first (pending), then write to postoffice. If the tool call is denied, the pending task times out or is detected as orphaned
- Accept it — document that cancelled dispatches are invisible. The concierge should re-dispatch if
pool_collect returns not_found
Option 3 is probably right for now — pool_collect already returns not_found status.
Found during dogfooding
The docker expert was cancelled (user denied the tool call during a batch), but there's no cancelled status in the taskboard — the task just disappeared. The concierge had no way to know it needed to retry.
Expected
Cancelled tasks should appear in the taskboard with
status: cancelledso the concierge can detect them viapool_check_statusorpool_collectand decide whether to retry.Root cause
When the user denies a tool call in Claude Code, the MCP tool call simply doesn't execute. The concierge never calls
pool_dispatch, so no message reaches the postoffice, and no task is registered. From the daemon's perspective, nothing happened.Fix options
pool_collectreturnsnot_foundOption 3 is probably right for now —
pool_collectalready returnsnot_foundstatus.