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) <noreply@anthropic.com>
git pull --rebase fails with 'cannot pull with rebase: You have
unstaged changes' when the skills repo has local modifications.
Fix: detect dirty index/worktree, stash before pull, restore after.
Also gracefully handle pull failures (warn and continue with existing
checkout) and stash pop conflicts.
- mosaic-init bash script: detect existing SOUL.md/USER.md/TOOLS.md and
prompt user to keep, import (re-use values as defaults), or overwrite.
Non-interactive mode exits cleanly unless --force is passed.
Overwrite creates timestamped backups before replacing files.
- launch.ts checkSoul(): prefer 'mosaic wizard' over legacy bash script
when SOUL.md is missing, with fallback to mosaic-init.
- detect-install.ts: pre-populate wizard state with existing values when
user chooses 'reconfigure', so they see current settings as defaults.
- soul-setup.ts: show existing agent name and communication style as
defaults during reconfiguration.
- Added tests for reconfigure pre-population and reset non-population.