Skip to content

Commit a70a847

Browse files
NagyViktNagyVikt
andauthored
fix(codex-fleet): remove tab-strip pane from bringup (#203)
Co-authored-by: NagyVikt <nagy.viktordp@gmail.com>
1 parent 06cbd92 commit a70a847

1 file changed

Lines changed: 16 additions & 43 deletions

File tree

scripts/codex-fleet/full-bringup.sh

Lines changed: 16 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -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

115119
FLEET_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

682667
FLEET_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" )
687672
LAYOUT_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"
726708
fi
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.
733715
case "${CODEX_FLEET_OVERVIEW_LAYOUT:-tiled}" in
734716
tiled)
@@ -743,20 +725,11 @@ case "${CODEX_FLEET_OVERVIEW_LAYOUT:-tiled}" in
743725
;;
744726
esac
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.
757731
log "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"
761734
i=0
762735
while IFS='|' read -r id email tier specialty; do

0 commit comments

Comments
 (0)