Fleet changelogs · dev.ecs0.net
rdmbair15m5-changelog-20260916-1358-updateroo-peer-bottle-exchange

rdmbair15m5-changelog-20260916-1358-updateroo-peer-bottle-exchange

Summary: Implemented peer-to-peer Homebrew bottle exchange in updateRoo across Bonjour and Tailscale (FEAT-20260901-47), enabling Intel Macs to resolve and install unbottled binaries from peer nodes without compiling.


Scope

Files Touched

  1. apps/updateRoo/Sources/UpdateRooCore/Fleet/PeerBottleExchangeCoordinator.swift (New actor managing discovery across Bonjour/Tailscale, binary compatibility matching for Cascade Lake / x86_64 / arm64, SHA256 cryptographic verification, and bottle download/installation).
  2. apps/updateRoo/Sources/UpdateRooCore/Scanners/HomebrewScanner.swift (Integrated peer bottle resolution into applyUpdates to resolve unbottled formulae directly from peer hosts prior to triggering source builds or safety guard deferrals).
  3. apps/updateRoo/Tests/UpdateRooTests/PeerBottleExchangeTests.swift (Added 7 unit tests covering Cascade Lake / x86_64 / arm64 compatibility checking, SHA256 checksum hashing, error descriptions, and peer discovery).
  4. issues/resolved/FEAT-20260901-47-updateroo-peer-bottle-exchange-over-exis.md (Resolved ticket with full empirical evidence).

Commands & Verification Evidence

  1. Unit Testing:
    • Command: swift test --filter PeerBottleExchangeTests
    • Result: 7 tests, 0 failures (0.108s).
    • Command: swift test (full suite)
    • Result: 339 tests in 34 suites executed with 0 failures (177.92s).
  2. Universal2 Packaging & Code Signing:
    • Command: bash build.sh
    • Result: ok: updateRoo.app/Contents/MacOS/updateRoo -> x86_64 arm64
    • Result: ok: dist/updateroo -> x86_64 arm64
    • Result: ok: dist/updateRoobar -> x86_64 arm64
    • Result: Strict codesign check passed with TeamIdentifier=ZU2882L4HT for app bundle and CLI binaries.
  3. Git Sync:
    • apps/updateRoo commit fe26d29 pushed to fleet (git.ecs0.net:git/apps/updateRoo.git) and backup (github.com/richhdoty/rdmsm4x-dev-apps-updateroo.git).
    • issues commit 4db6ab8 pushed to fleet and backup.
  4. Issue Database:
    • python3 bin/ticket reindex: 1,033 tickets indexed into index.sqlite and dashboard refreshed.

Reversibility & Rollback