Fleet changelogs · dev.ecs0.net
rdmbair13m5-changelog-20260904-1351-devupdate-footlights-fleet-sync

rdmbair13m5-changelog-20260904-1351-devupdate-footlights-fleet-sync

Unified the macOS fleet developer updater into a single self-contained executable (dev_update_v1.94.zsh) embedding Footlights 1.1.0 and the complete dev updater payload, archived redundant/unversioned script copies across the fleet, and resolved the issue where footlights was not showing.

Scope

Root Cause Analysis

  1. Name and symlink mismatch: In ~/dev/scripts/, dev_update.zsh pointed to devupdate.zsh (an unversioned 71,791-byte script from Aug 31 with zero Footlights integration). When running ~/devupdate.zsh or devupdate.zsh, Footlights was never called.
  2. Outdated spoke copy: On rdmbair13m5, ~/dev/scripts/dev_update_v1.93.zsh had been overwritten with a duplicate copy of the old 71KB devupdate.zsh (SHA ddcc82...) instead of the 165KB self-contained script from rdmsm4x.
  3. Scrollback wiping on exit: Footlights' _fl_painter called _region_off upon exit, clearing rows rows - H + 1 .. rows. Without printing the completed footer into scrollback, the status strip vanished as soon as the process returned to the shell prompt.
  4. Hanging Claude exec verification: In Phase 3, claude --version lacked a timeout guard and could stall the script indefinitely if the CLI became unresponsive.

Key Changes

  1. Master Footlights Library 1.1.0 (footlights.zsh):
    • Merged all layouts from both xreaper.zsh and dev_update_v1.93.zsh: footer1 through footer16, gauges, board, inline, and plain.
    • Updated _fl_painter to persist the completed status strip directly into terminal scrollback upon _region_off, ensuring execution status remains visible after process completion.
  2. Self-Contained Updater (dev_update_v1.94.zsh):
    • Inlined Footlights 1.1.0 verbatim with verified SHA256 checksum.
    • Embedded devupdate.zsh 2.10 payload verified at startup.
    • Added a 15-second alarm timeout guard to claude --version in Phase 3.
    • Set up uniform symlinks in ~/dev/scripts/ and ~/:
      • dev_update.zsh -> dev_update_v1.94.zsh
      • devupdate.zsh -> dev_update_v1.94.zsh
      • updatedev.zsh -> dev_update_v1.94.zsh
      • fleet_update.zsh -> dev_update_v1.94.zsh
      • fleet_upgrade.zsh -> dev_update_v1.94.zsh
  3. Reaper Consolidation:
    • Versioned xreaper.zsh as xreaper_v1.0.0.zsh with xreaper.zsh -> xreaper_v1.0.0.zsh.
    • Archived intermediate fragments xreaper.body.zsh, xreaper.tail.zsh, and .bak files to ~/dev/scripts/archive/.
  4. Fleet Script Archiving:
    • Archived older unversioned updater scripts (fleetUpdater0903.zsh, devupdateAGY.zsh, .fleetUpdater0903-backups, devupdate_v2.10.zsh, fleet_update_v1.1.0.zsh, old_update_mac-062626.zsh, update_mac_072626.zsh, update_mac.zsh.bak.*, gen_site.py.bak-*, publish_site.zsh.bak-*) into ~/dev/scripts/archive/ on rdmsm4x.
    • Removed unversioned duplicate fragments from all spoke machines (rdmbair13m5, rdmbair15m5, jdmbair13m5, rdmpw3265m).
  5. Git Tracking:
    • Committed on rdmsm4x:~/dev/scripts (commit f4e493c).

Verification Evidence

Undo / Recovery

Outstanding Actions