diff --git a/packages/mosaic/framework/guides/FLEET-COMMS.md b/packages/mosaic/framework/guides/FLEET-COMMS.md index 4a6a602b..99ec4f1a 100644 --- a/packages/mosaic/framework/guides/FLEET-COMMS.md +++ b/packages/mosaic/framework/guides/FLEET-COMMS.md @@ -53,21 +53,23 @@ sends, it does not auto-reply. ### Exit codes -| rc | Meaning | -| --- | ---------------------------------------------- | -| 0 | delivered or queued | -| 1 | target session not found | -| 2 | text reached the pane but is **still a draft** | -| 3 | usage error (bad class, missing `-s`) | +| rc | Meaning | +| --- | -------------------------------------------------------------------------------------------- | +| 0 | delivered or queued | +| 1 | target session not found | +| 2 | submission unconfirmed: draft still on the input line, or no positive evidence of submission | +| 3 | usage error (bad class, missing `-s`) | -**Never retry on rc=2.** The message is in the target pane; retrying double-sends it. Confirm -instead: +**Never retry on rc=2.** The message may be in the target pane, and a retry can double-send it. +Confirm instead: ```bash tmux capture-pane -p -t :0.0 | tail -20 ``` -rc=2 is the normal result when the target is an idle pi seat. +rc=0 is the normal result for both idle and busy pi seats (submission confirmed by draft +transition, not by prompt glyph). rc=2 on a healthy seat is exceptional — treat it as a real +report and investigate the pane. ## Durable comms diff --git a/packages/mosaic/framework/tools/quality/test-enumeration-exclusions.txt b/packages/mosaic/framework/tools/quality/test-enumeration-exclusions.txt index bbd1b34d..d88a2eef 100644 --- a/packages/mosaic/framework/tools/quality/test-enumeration-exclusions.txt +++ b/packages/mosaic/framework/tools/quality/test-enumeration-exclusions.txt @@ -30,6 +30,7 @@ packages/mosaic/framework/tools/git/test-lane-brief-pr-linkage.sh | unmeasured i # --- tools/tmux: require a live tmux server --- packages/mosaic/framework/tools/tmux/test-send-message-socket.sh | requires a real tmux server on a throwaway socket; CI image ships no tmux; #1017 burndown (needs tmux in image or a signed permanent exclusion) packages/mosaic/framework/tools/tmux/test-send-message-verdict.sh | requires real tmux-pane fixtures on a throwaway socket; CI image ships no tmux; #1017 burndown (same condition as its sibling) +packages/mosaic/framework/tools/tmux/test-send-message-glyph-agnostic.sh | requires real tmux-pane fixtures on a throwaway socket; CI image ships no tmux; #1017 burndown (same condition as its siblings) — signed at adoption of #1262 (rev-code-02 F5), red-first verified on sb-it-1-dt # --- single-suite directories: unmeasured in CI --- diff --git a/packages/mosaic/framework/tools/tmux/test-send-message-verdict.sh b/packages/mosaic/framework/tools/tmux/test-send-message-verdict.sh index a6214225..e50d9f79 100755 --- a/packages/mosaic/framework/tools/tmux/test-send-message-verdict.sh +++ b/packages/mosaic/framework/tools/tmux/test-send-message-verdict.sh @@ -16,7 +16,7 @@ set -uo pipefail HERE=$(cd -- "$(dirname -- "$0")" && pwd) -SEND="$HERE/send-message.sh" +SEND="${SEND:-$HERE/send-message.sh}" SOCKET="verdict-test-$RANDOM-$$" TMP=$(mktemp -d) trap 'tmux -L "$SOCKET" kill-server >/dev/null 2>&1 || true; rm -rf "$TMP"' EXIT