RMUX accepted product-divergence oracle evidence
================================================

All probes below were run on 2026-07-27 with the pinned executable symlink:

  $HOME/.local/bin/tmux

The symlink resolved to:

  $HOME/.local/tmux-3.7b/bin/tmux

Observed:

  tmux 3.7b


C-D78: joined capture after alternate-screen cycles
---------------------------------------------------

Exact command:

  TMUX_BIN="$HOME/.local/bin/tmux"
  SOCKET=rmux-alt-cycles-oracle-$$
  EVIDENCE_DIR=.rmux-audit/alt-cycles-oracle
  mkdir -p "$EVIDENCE_DIR"
  "$TMUX_BIN" -L "$SOCKET" -f /dev/null new-session -d -x 8 -y 2 -s probe \
    "$TMUX_BIN -L $SOCKET wait-for start;
     printf 'abcdefghijkl\r\n\033[?1049h\033[HFIRST';
     $TMUX_BIN -L $SOCKET wait-for -S stage1;
     $TMUX_BIN -L $SOCKET wait-for continue1;
     printf '\033[?1049l';
     $TMUX_BIN -L $SOCKET wait-for -S stage2;
     $TMUX_BIN -L $SOCKET wait-for continue2;
     printf '\033[?1049h\033[HSECOND';
     $TMUX_BIN -L $SOCKET wait-for -S stage3;
     $TMUX_BIN -L $SOCKET wait-for continue3;
     printf '\033[?1049l';
     $TMUX_BIN -L $SOCKET wait-for -S stage4;
     sleep 30"
  "$TMUX_BIN" -L "$SOCKET" set-option -t probe status off
  "$TMUX_BIN" -L "$SOCKET" resize-window -t probe -x 8 -y 2
  "$TMUX_BIN" -L "$SOCKET" wait-for -S start
  "$TMUX_BIN" -L "$SOCKET" wait-for stage1
  "$TMUX_BIN" -L "$SOCKET" capture-pane -p -J -S - -E - -t probe:0.0 >"$EVIDENCE_DIR/stage1.joined"
  "$TMUX_BIN" -L "$SOCKET" wait-for -S continue1
  "$TMUX_BIN" -L "$SOCKET" wait-for stage2
  "$TMUX_BIN" -L "$SOCKET" capture-pane -p -J -S - -E - -t probe:0.0 >"$EVIDENCE_DIR/stage2.joined"
  "$TMUX_BIN" -L "$SOCKET" wait-for -S continue2
  "$TMUX_BIN" -L "$SOCKET" wait-for stage3
  "$TMUX_BIN" -L "$SOCKET" capture-pane -p -J -S - -E - -t probe:0.0 >"$EVIDENCE_DIR/stage3.joined"
  "$TMUX_BIN" -L "$SOCKET" wait-for -S continue3
  "$TMUX_BIN" -L "$SOCKET" wait-for stage4
  "$TMUX_BIN" -L "$SOCKET" capture-pane -p -J -S - -E - -t probe:0.0 >"$EVIDENCE_DIR/stage4.joined"
  for STAGE in 1 2 3 4; do od -An -tx1 -v "$EVIDENCE_DIR/stage$STAGE.joined"; done
  "$TMUX_BIN" -L "$SOCKET" kill-server

Observed byte-exact output (`od -An -tx1 -v`), one capture per stage:

  stage1: 61 62 63 64 65 66 67 68 0a 46 49 52 53 54 0a 0a
  stage2: 61 62 63 64 65 66 67 68 0a 69 6a 6b 6c 0a 0a
  stage3: 61 62 63 64 65 66 67 68 0a 53 45 43 4f 4e 44 0a 0a
  stage4: 61 62 63 64 65 66 67 68 0a 69 6a 6b 6c 0a 0a

tmux loses the main-screen soft-wrap relation at stage 2 and stage 4. RMUX
preserves it and therefore returns `abcdefghijkl` as one joined line.


C-D79: delayed command-mode display callback
---------------------------------------------

Exact command:

  TMUX_BIN="$HOME/.local/bin/tmux"
  SOCKET=rmux-oracle-delayed-control-$$
  "$TMUX_BIN" -L "$SOCKET" -f /dev/null new-session -d -s probe 'sleep 30'
  {
    printf 'run-shell -d 0.05 -C "display-message -- DELAYED-RUN-SHELL-MESSAGE"\n'
    sleep 0.3
    printf '\n'
    sleep 0.1
  } | "$TMUX_BIN" -L "$SOCKET" -C attach-session -t probe
  "$TMUX_BIN" -L "$SOCKET" kill-server

Observed:

  %begin 1785179883 285 0
  %end 1785179883 285 0
  %session-changed $0 probe
  %begin 1785179883 290 1
  %end 1785179883 290 1
  %begin 1785179884 291 1
  %message DELAYED-RUN-SHELL-MESSAGE
  %end 1785179884 291 1
  %exit

tmux creates a new guarded command frame for the delayed callback. RMUX emits
the callback once as an asynchronous notification so it cannot be attributed
to either already-finished admitted command.


C-D80: explicit empty initial window names
-------------------------------------------

Exact command:

  TMUX_BIN="$HOME/.local/bin/tmux"
  SOCKET=rmux-empty-window-names-oracle-$$
  "$TMUX_BIN" -L "$SOCKET" -f /dev/null new-session -d -s empty-on -n "" "sleep 30"
  "$TMUX_BIN" -L "$SOCKET" new-window -d -t empty-on: -n "" "sleep 30"
  sleep 0.2
  printf '%s\n' automatic-on
  "$TMUX_BIN" -L "$SOCKET" list-windows -t empty-on -F '#{window_index}|#{window_name}|#{automatic-rename}'
  "$TMUX_BIN" -L "$SOCKET" set-window-option -g automatic-rename off
  "$TMUX_BIN" -L "$SOCKET" new-session -d -s empty-off -n "" "sleep 30"
  "$TMUX_BIN" -L "$SOCKET" new-window -d -t empty-off: -n "" "sleep 30"
  "$TMUX_BIN" -L "$SOCKET" split-window -d -t empty-off:0 "sleep 30"
  "$TMUX_BIN" -L "$SOCKET" break-pane -d -s empty-off:0.1 -n ""
  sleep 0.2
  printf '%s\n' automatic-off
  "$TMUX_BIN" -L "$SOCKET" list-windows -t empty-off -F '#{window_index}|#{window_name}|#{automatic-rename}'
  "$TMUX_BIN" -L "$SOCKET" kill-server

Observed:

  automatic-on
  0|zsh|1
  1|tmux|1
  automatic-off
  0|sleep|0
  1|sleep|0
  2||0

tmux replaces explicit empty names for `new-session` and `new-window`, even
when automatic rename is disabled, but preserves the same explicit empty value
for `break-pane -n ""`. RMUX consistently preserves the caller's explicit
value on all three paths and disables automatic rename for those explicitly
named windows. The `automatic-on` block is contextual; the decisive
`automatic-off` block shows `#{automatic-rename}=0` while tmux still replaces
the explicit empty values for `new-session` and `new-window`.


C-D81: cursor anchor across width reflow
----------------------------------------

Exact command:

  TMUX_BIN="$HOME/.local/bin/tmux"
  RMUX_BIN=.rmux-audit/target-1.96.1/debug/rmux
  probe_engine() {
    engine="$1"
    binary="$2"
    socket="reflow-write-${engine}-$$"
    "$binary" -L "$socket" -f /dev/null new-session -d -x 10 -y 4 -s probe \
      "'$binary' -L '$socket' wait-for start;
       printf 'abcdef\\033[1;3H';
       '$binary' -L '$socket' wait-for -S initial;
       '$binary' -L '$socket' wait-for continue;
       printf X;
       sleep 0.1;
       '$binary' -L '$socket' wait-for -S wrote;
       sleep 30"
    "$binary" -L "$socket" set-option -t probe status off
    "$binary" -L "$socket" resize-window -t probe -x 10 -y 4
    "$binary" -L "$socket" wait-for -S start
    "$binary" -L "$socket" wait-for initial
    printf '%s_before=' "$engine"
    "$binary" -L "$socket" display-message -p -t probe:0.0 \
      '#{window_width}x#{window_height}|cursor=#{cursor_x},#{cursor_y}|history=#{history_size}'
    "$binary" -L "$socket" resize-window -t probe -x 5 -y 4
    printf '%s_after_resize=' "$engine"
    "$binary" -L "$socket" display-message -p -t probe:0.0 \
      '#{window_width}x#{window_height}|cursor=#{cursor_x},#{cursor_y}|history=#{history_size}'
    "$binary" -L "$socket" wait-for -S continue
    "$binary" -L "$socket" wait-for wrote
    printf '%s_after_write=' "$engine"
    "$binary" -L "$socket" display-message -p -t probe:0.0 \
      '#{window_width}x#{window_height}|cursor=#{cursor_x},#{cursor_y}|history=#{history_size}'
    printf '%s_capture_hex=' "$engine"
    "$binary" -L "$socket" capture-pane -p -S - -E - -t probe:0.0 |
      od -An -tx1 -v | tr -d ' \n'
    printf '\n'
    "$binary" -L "$socket" kill-server
  }
  "$TMUX_BIN" -V
  probe_engine tmux "$TMUX_BIN"
  probe_engine rmux "$RMUX_BIN"

Observed:

  tmux 3.7b
  tmux_before=10x4|cursor=2,0|history=0
  tmux_after_resize=5x4|cursor=0,0|history=1
  tmux_after_write=5x4|cursor=1,0|history=1
  tmux_capture_hex=61626364650a580a0a0a0a
  rmux_before=10x4|cursor=2,0|history=0
  rmux_after_resize=5x4|cursor=2,0|history=0
  rmux_after_write=5x4|cursor=3,0|history=0
  rmux_capture_hex=61625864650a660a0a0a

Before the resize, both engines place the cursor on logical column two of
`abcdef`. tmux's reflow moves it onto the continuation's first cell, pushes
`abcde` into history, and the next `X` destroys `f`. RMUX keeps the cursor on
logical column two, so `X` replaces `c` as requested while preserving `f`.


C-D82: minimum tiled layout hang
--------------------------------

Exact command, run from the repository root:

  TMUX_BIN="$HOME/.local/bin/tmux"
  RMUX_BIN=.rmux-audit/target-1.96.1/debug/rmux
  run_with_two_second_timeout() {
    "$@" >/dev/null 2>&1 &
    command_pid="$!"
    iteration=0
    while kill -0 "$command_pid" >/dev/null 2>&1 && [ "$iteration" -lt 20 ]; do
      sleep 0.1
      iteration=$((iteration + 1))
    done
    if kill -0 "$command_pid" >/dev/null 2>&1; then
      kill -TERM "$command_pid" >/dev/null 2>&1 || true
      sleep 0.1
      kill -KILL "$command_pid" >/dev/null 2>&1 || true
      wait "$command_pid" >/dev/null 2>&1 || true
      return 124
    fi
    wait "$command_pid"
  }
  probe_engine() {
    engine="$1"
    binary="$2"
    pane_count="$3"
    width=$((pane_count * 2 - 1))
    socket_name="c-d82-${engine}-${pane_count}-$$"
    "$binary" -L "$socket_name" -f /dev/null new-session -d -x 80 -y 24 \
      -s probe 'sleep 60'
    "$binary" -L "$socket_name" set-option -t probe status off
    index=1
    while [ "$index" -lt "$pane_count" ]; do
      "$binary" -L "$socket_name" split-window -h -d -t probe:0.0 'sleep 60'
      index=$((index + 1))
    done
    "$binary" -L "$socket_name" select-layout -t probe:0 even-horizontal >/dev/null
    "$binary" -L "$socket_name" resize-window -t probe:0 -x "$width" -y 1
    server_pid="$("$binary" -L "$socket_name" display-message -p '#{pid}')"
    set +e
    run_with_two_second_timeout \
      "$binary" -L "$socket_name" select-layout -t probe:0 tiled
    status="$?"
    set -e
    if [ "$status" -eq 124 ]; then
      printf '%s_%s=status:timeout-2s\n' "$engine" "$pane_count"
      kill -KILL "$server_pid" >/dev/null 2>&1 || true
      return
    fi
    window_size="$("$binary" -L "$socket_name" display-message -p -t probe \
      '#{window_width}x#{window_height}')"
    pane_geometries="$("$binary" -L "$socket_name" list-panes -t probe:0 \
      -F '#{pane_index}:#{pane_left},#{pane_top}:#{pane_width}x#{pane_height}' |
      paste -sd ';' -)"
    printf '%s_%s=status:%s|window:%s|panes:%s\n' \
      "$engine" "$pane_count" "$status" "$window_size" "$pane_geometries"
    "$binary" -L "$socket_name" kill-server >/dev/null 2>&1 || true
  }
  "$TMUX_BIN" -V
  "$RMUX_BIN" -V
  for pane_count in 5 6; do
    probe_engine tmux "$TMUX_BIN" "$pane_count"
    probe_engine rmux "$RMUX_BIN" "$pane_count"
  done

Observed:

  tmux 3.7b
  rmux 0.10.0
  tmux_5=status:timeout-2s
  rmux_5=status:0|window:9x5|panes:0:0,0:4x1;1:5,0:4x1;2:0,2:4x1;3:5,2:4x1;4:0,4:9x1
  tmux_6=status:timeout-2s
  rmux_6=status:0|window:11x5|panes:0:0,0:5x1;1:6,0:5x1;2:0,2:5x1;3:6,2:5x1;4:0,4:5x1;5:6,4:5x1

tmux 3.7b pegs its server and does not return from `select-layout tiled` for
five or six panes at the viable one-row horizontal minimum. RMUX expands only
the deficient height to five rows, returns immediately, and keeps every pane
at least one cell wide and high. Repeating the RMUX command is idempotent.


C-D83: width-deficient tiled partial rows
-----------------------------------------

Exact command, run from the repository root:

  TMUX_BIN="$HOME/.local/bin/tmux"
  RMUX_BIN=.rmux-audit/target-1.96.1/debug/rmux
  RUNTIME_DIR="$HOME/Projects/.rmux-c-d83-runtime"
  mkdir -p "$RUNTIME_DIR"
  export RMUX_TMPDIR="$RUNTIME_DIR"
  export TMUX_TMPDIR="$RUNTIME_DIR"
  probe_engine() {
    engine="$1"
    binary="$2"
    pane_count="$3"
    height=$((pane_count * 2 - 1))
    socket_name="c-d83-${engine}-${pane_count}-$$"
    "$binary" -L "$socket_name" -f /dev/null new-session -d -x 200 -y 40 \
      -s probe 'sleep 40'
    "$binary" -L "$socket_name" set-option -t probe status off
    index=1
    while [ "$index" -lt "$pane_count" ]; do
      "$binary" -L "$socket_name" split-window -v -d -t probe:0.0 'sleep 40'
      "$binary" -L "$socket_name" select-layout -t probe:0 even-vertical \
        >/dev/null
      index=$((index + 1))
    done
    "$binary" -L "$socket_name" resize-window -t probe:0 \
      -x 1 -y "$height"
    "$binary" -L "$socket_name" select-layout -t probe:0 tiled
    window_size="$("$binary" -L "$socket_name" display-message -p -t probe \
      '#{window_width}x#{window_height}')"
    layout="$("$binary" -L "$socket_name" display-message -p -t probe \
      '#{window_layout}')"
    panes="$("$binary" -L "$socket_name" list-panes -t probe:0 \
      -F '#{pane_index}:#{pane_left},#{pane_top}:#{pane_width}x#{pane_height}' |
      paste -sd ';' -)"
    printf '%s_%s_first=window:%s|layout:%s|panes:%s\n' \
      "$engine" "$pane_count" "$window_size" "$layout" "$panes"
    "$binary" -L "$socket_name" select-layout -t probe:0 tiled
    window_size="$("$binary" -L "$socket_name" display-message -p -t probe \
      '#{window_width}x#{window_height}')"
    layout="$("$binary" -L "$socket_name" display-message -p -t probe \
      '#{window_layout}')"
    panes="$("$binary" -L "$socket_name" list-panes -t probe:0 \
      -F '#{pane_index}:#{pane_left},#{pane_top}:#{pane_width}x#{pane_height}' |
      paste -sd ';' -)"
    printf '%s_%s_repeat=window:%s|layout:%s|panes:%s\n' \
      "$engine" "$pane_count" "$window_size" "$layout" "$panes"
    "$binary" -L "$socket_name" kill-server >/dev/null 2>&1 || true
  }
  "$TMUX_BIN" -V
  "$RMUX_BIN" -V
  for pane_count in 3 4 5 6; do
    probe_engine tmux "$TMUX_BIN" "$pane_count"
    probe_engine rmux "$RMUX_BIN" "$pane_count"
  done

Observed:

  tmux 3.7b
  rmux 0.10.0
  tmux_3_first=window:3x5|layout:8784,3x5,0,0[1x2,0,0{1x2,0,0,0,1x2,2,0,2},1x2,0,3,1]|panes:0:0,0:1x2;1:2,0:1x2;2:0,3:1x2
  tmux_3_repeat=window:3x5|layout:9084,3x5,0,0[3x2,0,0{1x2,0,0,0,1x2,2,0,2},3x2,0,3,1]|panes:0:0,0:1x2;1:2,0:1x2;2:0,3:3x2
  rmux_3_first=window:3x5|layout:9084,3x5,0,0[3x2,0,0{1x2,0,0,0,1x2,2,0,2},3x2,0,3,1]|panes:0:0,0:1x2;1:2,0:1x2;2:0,3:3x2
  rmux_3_repeat=window:3x5|layout:9084,3x5,0,0[3x2,0,0{1x2,0,0,0,1x2,2,0,2},3x2,0,3,1]|panes:0:0,0:1x2;1:2,0:1x2;2:0,3:3x2
  tmux_4_first=window:3x7|layout:beac,3x7,0,0[1x3,0,0{1x3,0,0,0,1x3,2,0,3},1x3,0,4{1x3,0,4,2,1x3,2,4,1}]|panes:0:0,0:1x3;1:2,0:1x3;2:0,4:1x3;3:2,4:1x3
  tmux_4_repeat=window:3x7|layout:bfcc,3x7,0,0[3x3,0,0{1x3,0,0,0,1x3,2,0,3},3x3,0,4{1x3,0,4,2,1x3,2,4,1}]|panes:0:0,0:1x3;1:2,0:1x3;2:0,4:1x3;3:2,4:1x3
  rmux_4_first=window:3x7|layout:bfcc,3x7,0,0[3x3,0,0{1x3,0,0,0,1x3,2,0,3},3x3,0,4{1x3,0,4,2,1x3,2,4,1}]|panes:0:0,0:1x3;1:2,0:1x3;2:0,4:1x3;3:2,4:1x3
  rmux_4_repeat=window:3x7|layout:bfcc,3x7,0,0[3x3,0,0{1x3,0,0,0,1x3,2,0,3},3x3,0,4{1x3,0,4,2,1x3,2,4,1}]|panes:0:0,0:1x3;1:2,0:1x3;2:0,4:1x3;3:2,4:1x3
  tmux_5_first=window:3x9|layout:f9f4,3x9,0,0[1x2,0,0{1x2,0,0,0,1x2,2,0,4},1x2,0,3{1x2,0,3,3,1x2,2,3,2},1x3,0,6,1]|panes:0:0,0:1x2;1:2,0:1x2;2:0,3:1x2;3:2,3:1x2;4:0,6:1x3
  tmux_5_repeat=window:3x9|layout:42f5,3x9,0,0[3x2,0,0{1x2,0,0,0,1x2,2,0,4},3x2,0,3{1x2,0,3,3,1x2,2,3,2},3x3,0,6,1]|panes:0:0,0:1x2;1:2,0:1x2;2:0,3:1x2;3:2,3:1x2;4:0,6:3x3
  rmux_5_first=window:3x9|layout:42f5,3x9,0,0[3x2,0,0{1x2,0,0,0,1x2,2,0,4},3x2,0,3{1x2,0,3,3,1x2,2,3,2},3x3,0,6,1]|panes:0:0,0:1x2;1:2,0:1x2;2:0,3:1x2;3:2,3:1x2;4:0,6:3x3
  rmux_5_repeat=window:3x9|layout:42f5,3x9,0,0[3x2,0,0{1x2,0,0,0,1x2,2,0,4},3x2,0,3{1x2,0,3,3,1x2,2,3,2},3x3,0,6,1]|panes:0:0,0:1x2;1:2,0:1x2;2:0,3:1x2;3:2,3:1x2;4:0,6:3x3
  tmux_6_first=window:3x11|layout:0049,3x11,0,0[1x3,0,0{1x3,0,0,0,1x3,2,0,5},1x3,0,4{1x3,0,4,4,1x3,2,4,3},1x3,0,8{1x3,0,8,2,1x3,2,8,1}]|panes:0:0,0:1x3;1:2,0:1x3;2:0,4:1x3;3:2,4:1x3;4:0,8:1x3;5:2,8:1x3
  tmux_6_repeat=window:3x11|layout:096a,3x11,0,0[3x3,0,0{1x3,0,0,0,1x3,2,0,5},3x3,0,4{1x3,0,4,4,1x3,2,4,3},3x3,0,8{1x3,0,8,2,1x3,2,8,1}]|panes:0:0,0:1x3;1:2,0:1x3;2:0,4:1x3;3:2,4:1x3;4:0,8:1x3;5:2,8:1x3
  rmux_6_first=window:3x11|layout:096a,3x11,0,0[3x3,0,0{1x3,0,0,0,1x3,2,0,5},3x3,0,4{1x3,0,4,4,1x3,2,4,3},3x3,0,8{1x3,0,8,2,1x3,2,8,1}]|panes:0:0,0:1x3;1:2,0:1x3;2:0,4:1x3;3:2,4:1x3;4:0,8:1x3;5:2,8:1x3
  rmux_6_repeat=window:3x11|layout:096a,3x11,0,0[3x3,0,0{1x3,0,0,0,1x3,2,0,5},3x3,0,4{1x3,0,4,4,1x3,2,4,3},3x3,0,8{1x3,0,8,2,1x3,2,8,1}]|panes:0:0,0:1x3;1:2,0:1x3;2:0,4:1x3;3:2,4:1x3;4:0,8:1x3;5:2,8:1x3

On the first application for three through six panes, tmux 3.7b expands the
root to the viable three-column minimum but serializes tiled row containers at
one column. Incomplete final rows also leave the final pane narrow. A second
application repairs the tmux tree. RMUX widens every row container, and any
incomplete final pane, on the first application and remains idempotent. This
deliberately fixes the measured tmux convergence defect rather than reproducing
it.


C-D84: width-deficient join-pane and move-pane targets
------------------------------------------------------

Exact command, run from the repository root:

  TMUX_BIN="$HOME/.local/bin/tmux"
  RMUX_BIN=.rmux-audit/target-1.96.1/debug/rmux
  SOCKET_ROOT="$HOME/Projects/.r4-c-d84-runtime"
  mkdir -p "$SOCKET_ROOT/tmux" "$SOCKET_ROOT/rmux"
  probe() {
    engine="$1"
    binary="$2"
    operation="$3"
    route="$4"
    socket_name="c-d84-${engine}-${operation}-${route}-$$"
    if [ "$engine" = tmux ]; then
      export TMUX_TMPDIR="$SOCKET_ROOT/tmux"
    else
      export RMUX_TMPDIR="$SOCKET_ROOT/rmux"
    fi
    "$binary" -L "$socket_name" -f /dev/null new-session -d -s target \
      -x 12 -y 4 'sleep 30'
    "$binary" -L "$socket_name" set-option -t target status off
    "$binary" -L "$socket_name" set-window-option -t target:0 \
      window-size manual
    "$binary" -L "$socket_name" resize-window -t target:0 -x 1 -y 1
    if [ "$route" = same ]; then
      "$binary" -L "$socket_name" new-window -d -t target:9 'sleep 30'
      source_target=target:9.0
    else
      "$binary" -L "$socket_name" new-session -d -s source -x 12 -y 4 \
        'sleep 30'
      "$binary" -L "$socket_name" set-option -t source status off
      source_target=source:0.0
    fi
    "$binary" -L "$socket_name" set-buffer -b audit ''
    "$binary" -L "$socket_name" set-hook -g window-layout-changed \
      'set-buffer -a -b audit L'
    "$binary" -L "$socket_name" set-hook -g window-resized \
      'set-buffer -a -b audit R'
    set +e
    stderr_text="$("$binary" -L "$socket_name" "$operation" -h -d \
      -s "$source_target" -t target:0.0 2>&1 >/dev/null)"
    command_rc=$?
    set -e
    sleep 0.3
    target_size="$("$binary" -L "$socket_name" display-message -p \
      -t target:0 '#{window_width}x#{window_height}')"
    pane_count="$("$binary" -L "$socket_name" display-message -p \
      -t target:0 '#{window_panes}')"
    layout="$("$binary" -L "$socket_name" display-message -p \
      -t target:0 '#{window_layout}')"
    events="$("$binary" -L "$socket_name" show-buffer -b audit 2>/dev/null |
      tr -d '\r\n' || true)"
    printf '%s_%s_%s=rc:%s|stderr:%s|target:%s:%s|layout:%s|events:%s\n' \
      "$engine" "$operation" "$route" "$command_rc" "$stderr_text" \
      "$target_size" "$pane_count" "$layout" "$events"
    "$binary" -L "$socket_name" kill-server >/dev/null 2>&1 || true
  }
  "$TMUX_BIN" -V
  "$RMUX_BIN" -V
  for engine_spec in "tmux:$TMUX_BIN" "rmux:$RMUX_BIN"; do
    engine="${engine_spec%%:*}"
    binary="${engine_spec#*:}"
    for operation in join-pane move-pane; do
      for route in same cross; do
        probe "$engine" "$binary" "$operation" "$route"
      done
    done
  done

Observed:

  tmux 3.7b
  rmux 0.10.0
  tmux_join-pane_same=rc:1|stderr:size or position no space for a new pane|target:1x1:1|layout:c55d,1x1,0,0,0|events:
  tmux_join-pane_cross=rc:1|stderr:size or position no space for a new pane|target:1x1:1|layout:c55d,1x1,0,0,0|events:
  tmux_move-pane_same=rc:1|stderr:size or position no space for a new pane|target:1x1:1|layout:c55d,1x1,0,0,0|events:
  tmux_move-pane_cross=rc:1|stderr:size or position no space for a new pane|target:1x1:1|layout:c55d,1x1,0,0,0|events:
  rmux_join-pane_same=rc:0|stderr:|target:3x1:2|layout:d2cf,3x1,0,0{1x1,0,0,0,1x1,2,0,1}|events:LLR
  rmux_join-pane_cross=rc:0|stderr:|target:3x1:2|layout:d2cf,3x1,0,0{1x1,0,0,0,1x1,2,0,1}|events:LLR
  rmux_move-pane_same=rc:0|stderr:|target:3x1:2|layout:d2cf,3x1,0,0{1x1,0,0,0,1x1,2,0,1}|events:LLR
  rmux_move-pane_cross=rc:0|stderr:|target:3x1:2|layout:d2cf,3x1,0,0{1x1,0,0,0,1x1,2,0,1}|events:LLR

tmux refuses every measured transfer into the width-deficient leaf and leaves
both windows unchanged. RMUX deliberately completes the operation by expanding
the target to the first viable width. The target therefore owes one
`window-resized` notification in addition to the two existing layout events.
The tracked test also covers the three-column neighborhood and proves that a
transfer which does not change the target size emits no resize notification.
