@@ -110,7 +110,11 @@ preflight_warn() { warn "preflight: $*"; }
110110# is running so every fleet worker can read/write task context from boot.
111111# Idempotent + non-fatal: if Colony is unhealthy the fleet still spawns and
112112# falls back to shell-CLI calls, matching the worker-prompt's fallback path.
113- fleet_ensure_colony_running
113+ if declare -F fleet_ensure_colony_running > /dev/null 2>&1 ; then
114+ fleet_ensure_colony_running
115+ else
116+ warn " fleet_ensure_colony_running helper unavailable; continuing with MCP preflight result"
117+ fi
114118
115119FLEET_CONFIG_TMPL=" ${CODEX_FLEET_CONFIG_TMPL:- $SCRIPT_DIR / fleet-config.toml.tmpl} "
116120
@@ -656,28 +660,9 @@ tmux set-option -w -t "$SESSION:overview" remain-on-exit on
656660# silently hiding the tab strip.
657661
658662# 8.5 + 9. Apply the typed overview layout. fleet-layout owns the pane
659- # topology now; full-bringup only decides operator policy (header rows
660- # and worker spawn metadata).
661- #
662- # The legacy `fleet-tab-strip` Rust binary that used to draw an in-window
663- # header pane at the top of overview was retired in PR #107. The tmux
664- # status bar configured by style-tabs.sh (`status-position top`, iOS-style
665- # pills, window-status-format with range=window markers) is now the single
666- # canonical nav surface — visible on EVERY window, not just overview.
667- #
668- # Opting back into an in-window header pane via CODEX_FLEET_OVERVIEW_HEADER_ROWS
669- # is still honoured for forward-compat, but defaults to 0 so the bringup
670- # stops hunting for a binary that no longer exists (previous default of 1
671- # fell into a warn branch on every fresh checkout → no header pane created
672- # AND a stale "cargo build -p fleet-tab-strip" message printed for a crate
673- # the workspace doesn't ship anymore).
674- HEADER_ROWS=" ${CODEX_FLEET_OVERVIEW_HEADER_ROWS:- 0} "
675- HEADER_PANE_ID=" "
676- HEADER_CMD=" "
677- if (( HEADER_ROWS > 0 )) ; then
678- warn " CODEX_FLEET_OVERVIEW_HEADER_ROWS=$HEADER_ROWS requested but fleet-tab-strip crate was retired (PR #107) — falling back to status-bar-only nav. Unset the env to silence."
679- HEADER_ROWS=0
680- fi
663+ # topology now; full-bringup only supplies worker count / spawn metadata.
664+ # Plan codex-fleet-glass-menu-drop-tabstrip-2026-05-15 removed the standalone
665+ # overview header pane, so force the preset's optional header to 0 rows.
681666
682667FLEET_APPLY_LAYOUT_BIN=" $REPO /rust/target/release/fleet-apply-layout"
683668[ -x " $FLEET_APPLY_LAYOUT_BIN " ] || FLEET_APPLY_LAYOUT_BIN=" $REPO /rust/target/debug/fleet-apply-layout"
@@ -687,12 +672,9 @@ LAYOUT_RUNNER=( "$FLEET_APPLY_LAYOUT_BIN" )
687672LAYOUT_ARGS=(
688673 --target " $SESSION :overview"
689674 --preset overview-header-tile
690- --header-rows " $HEADER_ROWS "
675+ --header-rows 0
691676 --workers " $N_PANES "
692677)
693- if [ -n " $HEADER_CMD " ]; then
694- LAYOUT_ARGS+=( --header-cmd " $HEADER_CMD " )
695- fi
696678
697679# fleet-apply-layout is a Rust binary, so it cannot see the shell `tmux`
698680# function from lib/_tmux.sh. When full-bringup runs on a dedicated tmux
@@ -724,11 +706,11 @@ else
724706 layout_output=" $( " ${LAYOUT_RUNNER[@]} " " ${LAYOUT_ARGS[@]} " 2>&1 ) " || \
725707 die " fleet-apply-layout failed: $layout_output "
726708fi
727- log " overview layout applied via fleet-apply-layout (workers=$N_PANES , header_rows=$HEADER_ROWS )"
709+ log " overview layout applied via fleet-apply-layout (workers=$N_PANES , header_rows=0 )"
728710
729711# Default geometry: retile the 2-column preset into a uniform grid so every
730- # pane has the same width/height. The Rust preset still owns *topology* (which
731- # pane is the header, which are workers), we just override the geometry on top.
712+ # pane has the same width/height. The Rust preset still owns worker topology;
713+ # this only overrides geometry on top.
732714# Operators who prefer the 2-column shape can set CODEX_FLEET_OVERVIEW_LAYOUT=preset.
733715case " ${CODEX_FLEET_OVERVIEW_LAYOUT:- tiled} " in
734716 tiled)
@@ -743,20 +725,11 @@ case "${CODEX_FLEET_OVERVIEW_LAYOUT:-tiled}" in
743725 ;;
744726esac
745727
746- if (( HEADER_ROWS > 0 )) ; then
747- HEADER_PANE_ID=" $( tmux list-panes -t " $SESSION :overview" -F ' #{@panel}|#{pane_id}' \
748- | awk -F' |' ' $1 == "[codex-fleet-tab-strip]" { print $2; exit }' ) "
749- [ -n " $HEADER_PANE_ID " ] || die " fleet-apply-layout did not mark the overview header pane"
750- tmux set-option -p -t " $HEADER_PANE_ID " remain-on-exit off
751- log " overview header pane installed → $HEADER_PANE_ID ($HEADER_ROWS row(s))"
752- fi
753-
754- # 10. Spawn codex into each pane with CODEX_GUARD_BYPASS=1. Filter the
755- # pane list to exclude the header pane so workers don't get spawned on
756- # top of the strip.
728+ # 10. Spawn codex into each pane with CODEX_GUARD_BYPASS=1. Plan
729+ # codex-fleet-glass-menu-drop-tabstrip-2026-05-15 removed the overview
730+ # header pane, so every pane in the overview window is a worker pane.
757731log " launching $N_PANES codex workers"
758- PANE_IDS=( $( tmux list-panes -t " $SESSION :overview" -F ' #{@panel}|#{pane_id}' \
759- | awk -F' |' ' $1 != "[codex-fleet-tab-strip]" { print $2 }' ) )
732+ mapfile -t PANE_IDS < <( tmux list-panes -t " $SESSION :overview" -F ' #{pane_id}' )
760733[ " ${# PANE_IDS[@]} " -eq " $N_PANES " ] || die " overview layout produced ${# PANE_IDS[@]} worker panes, expected $N_PANES "
761734i=0
762735while IFS=' |' read -r id email tier specialty; do
0 commit comments