Fleet Xcode update — complete, all six Macs
Window: 2026-08-31 21:36–21:58 EDT · Ticket: TASK-20260831-19 (resolved, 5 children resolved) Scope: all six fleet hosts · Executed from: rdmsm4x after its reboot to macOS 27 Beta 8
Result
| Host | Arch | macOS | Xcode build | Bundles | Selected |
|---|---|---|---|---|---|
| rdmsm4x | arm64 | 27.0 26A5425a |
27A5252f | 1 | Xcode-27.0.0-beta.6.app |
| rdmbair13m5 | arm64 | 27.0 26A5425a |
27A5252f | 1 | Xcode-27.0.0-beta.6.app |
| rdmbair15m5 | arm64 | 27.0 26A5425a |
27A5252f | 1 | Xcode-27.0.0-beta.6.app |
| jdmbair13m5 | arm64 | 27.0 26A5425a |
27A5252f | 1 | Xcode-27.0.0-beta.6.app |
| rdmpw3265m | x86_64 | 26.7 25G227 |
17F113 | 1 | Xcode.app |
| rdmpw3275m | x86_64 | 26.7 25G227 |
17F113 | 1 | Xcode.app |
Xcode 27 is Apple Silicon only (native x86_64 stops at 16.4;
Universal stops at 26.6), so 26.6 17F113 is the Intel
pair's architectural ceiling — they were on 17F112 and are
now current.
Every host now holds exactly one
com.apple.dt.Xcode bundle. The duplicate-bundle-ID
condition that caused the locationd defect earlier today is gone
fleet-wide, not just on rdmsm4x.
Verification (measured, not claimed)
xcodebuild -version, bundle count andxcode-selectread back from each host independently of the install script's own log.- Each transferred
.xipre-checked on the receiving host withpkgutil --check-signature= signed Apple Software — catches a truncated transfer as well as a tampered file. - Built rather than version-checked:
swift buildsucceeds on rdmsm4x (arm64) and rdmpw3275m (Intel 26.6). Universal2 gate passes on rdmsm4x —lipo -archs=x86_64 arm64. - All five targets pinned by SSH host key before any write, each distinct from rdmsm4x's own and each ComputerName matching. No loopback. Fingerprints recorded in SESSION-STATE.md §1b.
Method
~/dev/fleet/xcode-fleet-20260831/xcode_install.zsh —
verify signature → xip --expand → archive every
pre-existing Xcode*.app to
~/Archive/xcode-superseded-<stamp>/ → move new bundle
into /Applications → sudo xcode-select -s /
-license accept / -runFirstLaunch. It fails
before touching /Applications if expansion fails, so a
failed run leaves the host unchanged.
Nothing was deleted. Superseded bundles on every
host were moved to
~/Archive/xcode-superseded-<stamp>/; rdmsm4x's went
to ~/Archive/xcode-dupes-20260831/. Signature-verified
source archives are retained at
~/Archive/xcode-staging-20260831/.
Traps found
xcodes installhangs forever onmacOS User Password:when backgrounded. It reads from its own TTY, so passwordless sudo does not satisfy it; the app is already unxipped when it stalls. Abandonedxcodesentirely in favour of the built-inxip --expand, which needs no third-party tool and verifies Apple's signature itself.xcodes installneeds the VERSION argument even with--path, else the unhelpful" is not a valid version number."xcodes installmoves the source.xipto the Trash on success — that would have destroyed the file needed by five other hosts. Staged protected copies before installing anything.DTXcodeBuildin Info.plist is one letter behind the real build (27A5252evs27A5252f; same for beta 5). Verify withxcodebuild -version, never Info.plist.- Every fleet host has a stale duplicate tailnet node under
its bare name; the live node is the
-1suffix. Matching the bare name yields a timeout indistinguishable from a dead host.
Correction to an earlier entry today
The 20:52 changelog recorded that brew install failed on
jdmbair13m5 because its Xcode was older than its macOS, and that it
would self-clear once Xcode 27 landed. Measured after Xcode 27
landed: it does not. brew returns
Error: You are using macOS 27. We do not provide support for this pre-release version.
— a pre-release macOS refusal, not an Xcode gate. It affects all four
arm64 hosts and installing Xcode cannot fix it. The xcodes
CLI rollout was abandoned as unnecessary.
Forward risk worth a decision
Xcode 27 now emits, when building universal2 against a macOS 27 deployment target:
warning: The x86_64 architecture is deprecated for your deployment target (macOS 27.0). You should update your ARCHS build setting to remove the x86_64 architecture.
Both slices are still produced and the fleet's universal2 build gate still passes, so nothing is broken today. But that gate exists specifically to keep rdmpw3265m and rdmpw3275m alive, and Apple is signalling removal. Worth deciding before the warning becomes an error.
Outstanding owner actions
- Decide on the x86_64 deprecation above.
- Four companion downloads remain uninstalled in
~/Downloadsand were deliberately not touched:DeviceSupport_macOS_27_beta.dmg,Icon_Composer_2_beta_6.dmg,SF-Symbols-8.dmg,Apple_Configurator_for_Mac_2.19_Beta_2.dmg. - Auto-resume agent
com.eastcoastscience.claude-resume-xcodefleetis still loaded and its pin is marked COMPLETE. Disable withlaunchctl bootout gui/$(id -u)/com.eastcoastscience.claude-resume-xcodefleet.