feat(framework/tools): inter-agent tmux comms — agent-send.sh + addressing standard #533
Reference in New Issue
Block a user
Delete Branch "feat/tmux-interagent-comms"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Adds
tools/tmux/to the framework source — inter-agent tmux comms tooling thatuntil now existed only in installed
~/.config/mosaiccopies and was nevercommitted upstream.
Files
agent-send.sh(new) — inter-agent messaging wrapper. Auto-detects thesender's
host:sessionand prepends the canonical addressing preamble[<src_host>:<src_session> -> <dst_host>:<dst_session>], then delivers to alocal OR remote pane. Remote delivery ships
send-message.shover ssh andruns it local to the target pane, so the unreliable
ssh → nested-tmuxEnter/
C-msubmission swallow can't occur. Remote host needs onlybash+tmux+base64 — no framework install required there.
send-message.sh— low-level reliable single-pane submitter (bracketedpaste + Enter-flush + draft detection). Adds a
-b <base64>input for ssh-safetransport.
README.md— documents the addressing standard (replies flip thepreamble) and the submission gotcha the helper solves.
Why
After a tmux-session wipe, agents lost track of who was who. The addressing
preamble makes every cross-agent message self-identifying. The helper makes
delivery reliable across the ssh hop, which previously dropped messages silently
as unsubmitted drafts.
Standard
Recipients reply with the flipped preamble.
Verification
bash -nclean on both scripts; README is prettier-clean (prettier@3.8.4 --check).rev0-4: delivered; reviewer replied in the correct flipped format.installer-1on a separate host: queued correctly("Press up to edit queued messages") — the exact case that failed before.
format:checkglob (**/*.{ts,tsx,js,jsx,json,md});no shellcheck step in CI.
Distribution
Propagates to each host via
install.shrsync on next framework upgrade. Alreadycopied manually to active agent hosts in the interim.
🤖 Generated with Claude Code