Files
buzz/crates
Duncan 018095ed7b fix(acp): retransmit resolved permission edit until relay accepts it
When a permission decision resolves, finish_permission publishes the
resolved kind-40003 edit that retires the UI card. This was fire-and-forget
(publish_event only enqueues; the relay task drops non-observer publishes
while disconnected), so a socket failure at that instant permanently lost
the only resolved edit after the decision was already irreversible — the
thread card stuck as "Timed out" while execution continued.

Retransmit the same signed event through the acked lane (register_publish_ack),
detached so the read loop never blocks: idempotent resend on Uncertain,
bounded by the card's expiry deadline, terminal on Accepted/Rejected or a
closed command channel. Mirrors the pending sentinel path's precedent.

The lib.rs change adds the permission_decision_tx: None field to a TaskMeta
construction that a main merge left incomplete. The two cancel-test edits
transition each registered Ask entry Publishing -> Pending explicitly, as the
production read loop does on relay ACK before the next request arrives, so
the publish-in-flight guard does not deny the second registration.

Co-authored-by: Will Pfleger <pfleger.will@gmail.com>
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
2026-08-27 12:57:52 -04:00
..