Adds tools/tmux/ to the framework source — inter-agent tmux comms tooling that
until now existed only in installed ~/.config/mosaic copies and was never
committed upstream.
Files
agent-send.sh (new) — inter-agent messaging wrapper. Auto-detects the
sender's host:session and prepends the canonical addressing preamble [<src_host>:<src_session> -> <dst_host>:<dst_session>], then delivers to a
local OR remote pane. Remote delivery ships send-message.sh over ssh and
runs it local to the target pane, so the unreliable ssh → nested-tmux
Enter/C-m submission swallow can't occur. Remote host needs only
bash+tmux+base64 — no framework install required there.
README.md — documents the addressing standard (replies flip the
preamble) 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.
## What
Adds `tools/tmux/` to the framework source — inter-agent tmux comms tooling that
until now existed only in installed `~/.config/mosaic` copies and was never
committed upstream.
### Files
- **`agent-send.sh`** (new) — inter-agent messaging wrapper. Auto-detects the
sender's `host:session` and prepends the canonical addressing preamble
`[<src_host>:<src_session> -> <dst_host>:<dst_session>]`, then delivers to a
local OR remote pane. Remote delivery **ships `send-message.sh` over ssh** and
runs it local to the target pane, so the unreliable `ssh → nested-tmux`
Enter/`C-m` submission swallow can't occur. Remote host needs only
bash+tmux+base64 — no framework install required there.
- **`send-message.sh`** — low-level reliable single-pane submitter (bracketed
paste + Enter-flush + draft detection). Adds a `-b <base64>` input for ssh-safe
transport.
- **`README.md`** — documents the addressing standard (replies flip the
preamble) 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
```
[<src_host>:<src_session> -> <dst_host>:<dst_session>] <message>
```
Recipients reply with the flipped preamble.
## Verification
- `bash -n` clean on both scripts; README is prettier-clean (`[email protected] --check`).
- Situational test, both paths, against live agents:
- local → `rev0-4`: delivered; reviewer replied in the correct flipped format.
- remote (ssh) → `installer-1` on a separate host: queued correctly
("Press up to edit queued messages") — the exact case that failed before.
- Shell scripts are outside the `format:check` glob (`**/*.{ts,tsx,js,jsx,json,md}`);
no shellcheck step in CI.
## Distribution
Propagates to each host via `install.sh` rsync on next framework upgrade. Already
copied manually to active agent hosts in the interim.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Adds tools/tmux/ to the framework source (previously only present in installed
~/.config/mosaic copies, never committed):
- agent-send.sh: inter-agent messaging wrapper. Prepends the canonical
addressing preamble [<src_host>:<src_session> -> <dst_host>:<dst_session>]
(auto-detecting the sender), and delivers reliably to local OR remote panes.
Remote delivery ships send-message.sh over ssh and runs it local to the target
pane, sidestepping the ssh->nested-tmux Enter/C-m submission swallow; the
remote needs only bash+tmux+base64 (no framework install required there).
- send-message.sh: low-level reliable single-pane submitter (bracketed paste +
Enter-flush + draft detection). Adds a -b base64 input for ssh-safe transport.
- README.md: documents the addressing standard (replies flip the preamble) and
the submission gotcha the helper exists to solve.
Propagates to each host via install.sh rsync on next framework upgrade.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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 ([email protected] --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