Files
stack/docs/scratchpads/808-agent-send-sender-identity.md
jason.woltje 4f29cc604d
Some checks failed
ci/woodpecker/push/publish Pipeline was canceled
ci/woodpecker/push/ci Pipeline was canceled
fix(tmux): correct cross-socket sender identity (#808) (#809)
2026-07-16 22:47:25 +00:00

2.7 KiB

Issue #808 — agent-send sender identity

Objective

Fix cross-socket agent-send.sh preambles so replies route to the real sender rather than a destination-socket holder session.

Scope and acceptance criteria

  • Prefer exported MOSAIC_AGENT_NAME as the authoritative sender session name.
  • If it is unset, query the sender's local/default tmux socket for #S without destination -L arguments.
  • Preserve ? when sender identity cannot be determined.
  • Do not alter destination socket dispatch.
  • Add red-first regressions for all three identity paths.

Plan

  1. Extend agent-send.test.sh with deterministic fake-tmux coverage.
  2. Run the test against the unpatched implementation and record RED evidence.
  3. Apply the minimal sender lookup fix only.
  4. Run the focused suite and repository quality gates.
  5. Commit, queue-guard, push, and open an author-only PR for independent review.

Constraints and risks

  • Worker lane is author-only: no self-review or merge.
  • docs/TASKS.md and mission state are orchestrator-owned and will not be modified.
  • Pre-existing runtime changes under .mosaic/orchestrator/ are excluded from this work.
  • Budget: no explicit token cap; keep changes limited to the shell tool, sibling regression test, and this scratchpad.

Evidence

  • RED: bash packages/mosaic/framework/tools/tmux/agent-send.test.sh failed on the unpatched implementation with PASS=12 FAIL=3; it selected destination-holder instead of both MOSAIC_AGENT_NAME=authoritative-agent and local session local-agent. The genuinely unavailable sender case already exercised and preserved ?.
  • GREEN: bash packages/mosaic/framework/tools/tmux/agent-send.test.sh passed with PASS=15 FAIL=0; coverage includes env authority, local/default tmux fallback across a destination -L, explicit rejection of the destination holder, and ? fallback.
  • Syntax: bash -n packages/mosaic/framework/tools/tmux/agent-send.sh packages/mosaic/framework/tools/tmux/agent-send.test.sh passed.
  • Quality gates: pnpm typecheck (42/42 tasks), pnpm lint (23/23 tasks), and pnpm format:check all passed after installing the frozen lockfile dependencies. The first install attempt failed because pnpm's configured store pointed at /root; retrying with the existing user-owned store (--store-dir /home/hermes/.local/share/pnpm/store) succeeded without changing tracked dependency files.
  • Documentation: no public API or operator workflow changed; the source comment, regression-test contract, and this implementation record cover the internal bug fix.
  • Independent review: intentionally pending for the reviewer assigned by mosaic-100; this author-only lane will not self-review or merge.