fix(fleet): make tmux comms targets unambiguous across harnesses #766

Open
opened 2026-07-14 21:33:16 +00:00 by jason.woltje · 0 comments
Owner

Problem

Pi fleet agents tested with gpt-5.6-terra and gpt-5.6-sol repeatedly invent incorrect hostnames, session names, and occasionally the tmux helper path before correction. Claude Code and Codex sessions use the same Mosaic tmux workflow successfully in observed testing; OpenCode and GPT models inside Claude Code remain unverified.

Current generated comms guidance includes exact peer rows but also generic prose/metavariables that non-Claude harnesses may treat as values to infer. This is a cross-harness contract defect, not authorization to mutate live sessions.

Scope

  • Review the fleet comms block and runtime contract composition for Pi, Claude Code, Codex, and OpenCode.
  • Render an explicit authoritative local identity: host, agent/session, tmux socket, and helper path.
  • Render exact executable commands per known peer.
  • State that agents must select a rendered peer row and must never invent or substitute host/session/socket/path values.
  • Provide a deterministic discovery/error path when a requested peer is absent.
  • Add cross-harness parity and Pi regression fixtures.
  • Validate framework source → installed TOOLS.md → composed runtime contract and helper executability; report stale session generations rather than silently rewriting active context.

Acceptance criteria

  1. Operational examples contain no unresolved hostname/session/socket/path placeholders.
  2. Same-host commands omit -H; cross-host commands include only the roster-rendered SSH target; named sockets use the exact rendered socket.
  3. Unknown peers fail closed with discovery guidance; no fuzzy session selection.
  4. Pi, Claude Code, Codex, and OpenCode composition tests prove equivalent authoritative comms data.
  5. Existing agent-send socket isolation and exact-target tests remain green.
  6. Documentation explains stale composed-context handling and exact-target relaunch.

Boundaries

  • No live fleet mutation or automatic session restart.
  • No second roster/persona resolver.
  • No connector/federation authority changes.
  • Keep separate from active FCM-M1-002 work on feat/758-shared-role-resolution.

Refs #642
Refs #758

## Problem Pi fleet agents tested with `gpt-5.6-terra` and `gpt-5.6-sol` repeatedly invent incorrect hostnames, session names, and occasionally the tmux helper path before correction. Claude Code and Codex sessions use the same Mosaic tmux workflow successfully in observed testing; OpenCode and GPT models inside Claude Code remain unverified. Current generated comms guidance includes exact peer rows but also generic prose/metavariables that non-Claude harnesses may treat as values to infer. This is a cross-harness contract defect, not authorization to mutate live sessions. ## Scope - Review the fleet comms block and runtime contract composition for Pi, Claude Code, Codex, and OpenCode. - Render an explicit authoritative local identity: host, agent/session, tmux socket, and helper path. - Render exact executable commands per known peer. - State that agents must select a rendered peer row and must never invent or substitute host/session/socket/path values. - Provide a deterministic discovery/error path when a requested peer is absent. - Add cross-harness parity and Pi regression fixtures. - Validate framework source → installed `TOOLS.md` → composed runtime contract and helper executability; report stale session generations rather than silently rewriting active context. ## Acceptance criteria 1. Operational examples contain no unresolved hostname/session/socket/path placeholders. 2. Same-host commands omit `-H`; cross-host commands include only the roster-rendered SSH target; named sockets use the exact rendered socket. 3. Unknown peers fail closed with discovery guidance; no fuzzy session selection. 4. Pi, Claude Code, Codex, and OpenCode composition tests prove equivalent authoritative comms data. 5. Existing agent-send socket isolation and exact-target tests remain green. 6. Documentation explains stale composed-context handling and exact-target relaunch. ## Boundaries - No live fleet mutation or automatic session restart. - No second roster/persona resolver. - No connector/federation authority changes. - Keep separate from active FCM-M1-002 work on `feat/758-shared-role-resolution`. Refs #642 Refs #758
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaicstack/stack#766