Skip to content

afx send: long architect→builder messages truncated or delivered empty-body #1564

Description

@amrmelsayed

Two delivery failures in one session (2026-08-27), same workspace, architect → builder direction, both on longer messages:

  1. Truncation: a ~1,900-char single afx send arrived at the builder as only its tail fragment ("...of the synthesis doc." — the final ~30 chars). Sender saw [ok] Message delivered.
  2. Empty body: a ~900-char send arrived as just the message-header delimiter block with no body at all ("your last message arrived empty (just a '###...' delimiter, no body — and nothing in my inbox)"). Sender again saw [ok] Message delivered.

Short messages (≤ ~600 chars) delivered fine throughout the same session, including immediately after each failure — resending the same content split into 2 parts worked.

Impact: silent content loss with a success result at the sender — the worst failure shape for gate-decision traffic. In case 2 the builder was correctly paranoid and held at a porch gate rather than treating an empty message as approval, but that safety came from agent discipline, not the transport.

Suggestions: (a) size limit enforced loudly at send time (reject or auto-chunk, never silently truncate); (b) delivered-length echo in the send result so sender can detect mismatch; (c) if a render-gate/PTY-write constraint is the culprit, route oversize bodies through the durable mailbox (afx inbox) automatically with a pointer injected instead.

Env: afx/codev 3.3.1, Tower 3.3.1, macOS 26, architect and builder terminals in the same workspace.

Metadata

Metadata

Assignees

Labels

area/towerArea: Tower server / agent farm CLI

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions