Skip to content

Coalescing UX: the truth-telling around the unique-open-pair law #45

Description

@Jacksondr5

Posted by an AI agent on Jackson's behalf

From Jackson's integrated test session (2026-09-01). The unique-open-pair law (one open exchange per sender→receiver pair; later asks coalesce onto it as follow-ups) WORKED correctly mechanically — but every surface around it told an incomplete story:

  1. Sender side: all three sent-cards showed 'Awaiting reply' although two asks had coalesced as follow-ups on an existing exchange — the card overclaims (needs a 'Sent as follow-up' state or similar).
  2. Agent knowledge: should the sending agent be TOLD its ask coalesced (tool result field)? It eventually inferred it correctly, but inference isn't a contract.
  3. Receiver side (sharpest): the human's inbox item shows only the exchange's opening ask — the coalesced follow-up texts were effectively invisible until an agent explained them. Inbox items should surface follow-up deliveries on the open exchange.

This is a product design pass over one mechanism's three surfaces — the mechanics themselves are settled law and stay unchanged. Clearing behavior is also settled: one clear/answer closes the shared exchange (verified live).

Activity

  1. added
    dogfood-queueReserved J5-native dogfood work — not staffable in Traycer
    on Sep 1, 2026
  2. Jacksondr5 commented on Sep 2, 2026

    @Jacksondr5
    OwnerAuthor

    Posted by an AI agent on Jackson's behalf

    Part 3 resolved by refusal, not by a new surface (Jackson's 2026-09-02 ruling on #44, option D: an agent-to-person send is an ask or a reply; anything else is refused). A second ask from an agent to a person while that pair already has an open exchange is now refused before the ledger write (A2AHumanFollowupNotAllowedError, PR #57) instead of coalescing as a follow-up delivery — which, for a person, was exactly the invisible-follow-up problem this part describes. The item the person sees is therefore always the whole ask; amending it is loud: clear_own_ask, then re-ask with the combined content. Agent↔agent coalescing is untouched.

    Record: docs/j5/product/a2a/agent-tools.md (send_message revision corollary), docs/j5/product/features/inbox.md (sender-side mirror), docs/j5/worklog/human-addressed-sends-ruling-2026-09-02.md — commit 37ef461 on j5/main.

    Parts 1 and 2 remain open (sender-card 'Awaiting reply' overclaim on coalesced asks; whether the sender is told its ask coalesced) — both agent↔agent concerns.

  3. added this to the A2A completion milestone on Sep 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    dogfood-queueReserved J5-native dogfood work — not staffable in Traycer

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions