rdmsm4x-changelog-20260904-1845-rtty-build49-merged-xcode266-license-worktrees
rdmsm4x-changelog-20260904-1845-rtty-build49-merged-xcode266-license-worktrees
RTTy Build 49 Swift lane merged to main (PR #10 → 2629abc) after a 10/10 release gate; to get the gate running this host's Xcode 26.6 license was re-accepted and two release worktrees were added under ~/dev/_worktrees. Archives are HELD on Rich's pending rename decision.
Written 2026-09-04 18:45:23 EDT by claude@rdmsm4x/0fbacd80 (CCD session "RTTy Build 49: banner+window fix merged (PR #10), archives held on rename"). Work window 2026-09-04 ~16:00–18:45:23 EDT.
Scope
- Host: rdmsm4x only. No other fleet host was modified. Fleet Build 48 installs untouched.
What changed on this host
1. Xcode 26.6 license accepted (system state)
- Symptom: the adversarial/trust matrix and the release gate died with rc 69 — the license for /Applications/Xcode.app (26.6, 17F113) had been reset by today's cleanup pass.
- Commands:
sudo -n env DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer xcodebuild -license acceptthen... -runFirstLaunch(rc 69 → 0). - The default toolchain (Xcode-27.0.0-beta.6, 27A5252f) was
not touched;
STABLE_DEVELOPER_DIRECTORY=/Applications/Xcode.apppin in the Standard trust chain unchanged. - Undo: not applicable (license acceptance); nothing else was altered.
2. Release worktrees added (filesystem)
~/dev/_worktrees/rtty-build49-banner/apps/RTTy— branchclaude/rtty-build49-flows-banner(now merged), withlib/ecs0lib= clean detachedgit worktreeof ecs0lib at pin 22888aab andlib/ECSCloudKitsymlink.~/dev/_worktrees/rtty-pr11/apps/RTTy— PR #11 branch (merged e0011cf).- Why not
.worktrees/inside the repo: the../../libpath dependencies break at that depth. - Undo:
git -C ~/dev/apps/RTTy worktree remove <path>andgit -C ~/dev/lib/ecs0lib worktree remove <path>/lib/ecs0lib. Left in place deliberately (move/remove is a separate decision; both are cheap and clean).
3. Stray process
- Killed PID 75992 —
~/dev/_worktrees/rtty-build49-banner/apps/RTTy/dist/RTTy.appleft running by the gate/measurement runs (8h33m). Targeted SIGTERM by PID, not by bundle id, so the fleet Build 48 instance was not affected.
4. Git (canonical ~/dev/apps/RTTy, origin richhdoty/RTTy, mirrors backup + fleet)
- PR #10 merged →
2629abc(commits 84a67e3, f177148, 3dda550). PR #11 merged earlier →e0011cf. SESSION-STATE.mdhandoff block prepended →fbede7c, pushed to origin, backup, fleet.- Open PRs after: 0 in RTTy, ecs0lib, ECSCloudKit.
5. Tickets (rdmsm4x:~/dev/issues)
- ISSUE-20260904-12 → resolved (evidence 2629abc, gate log, two new XCTests).
- ISSUE-20260904-07 → comment with the 125-pt floor measurement (839 min height, was 934×855); owner resolves.
6. Claude Code sessions
- Renamed this session only: "RTTy Build 49: banner+window fix merged (PR #10), archives held on rename". No session archived by me — the two worktree-bearing sessions were already archived by another session; the hub session "Hub: PR sweep · thread cleanup · ecs0lib unblock" declares thread cleanup and was messaged (ccd send_message) to avoid double work.
Verification evidence
bash script/qa_release.shon 3dda550:PASS: RTTy release QA completed all 10 gates.(native + Rosetta XCTest, universal build, codesign/lipo, plist equality, live latency, heatmap, throughput, diff --check, lib pin). Log: session scratchpadqa_release_build49_3dda550.log.- Adversarial/trust matrix on e871ac0 (trust files byte-identical on 3dda550): 5 PASS / 0 FAIL at 18:45:23 EDT, still running, no FINISHED marker — recorded as incomplete.
- Two independent Haiku reviews: Build 49 Swift diff → MERGE; PR #11 → SOUND.
- Window floor measured on the artifact (System Events set size {300,300} → read back, window identity asserted): 839 with flowsHeight 125·scale; a 180 attempt measured 894 and was reverted before merge.
git merge-base --is-ancestor 3dda550 origin/main→ yes; origin == backup == fleet == canonical at fbede7c.
Backups
- Nothing deleted. Worktrees and branches retained. Ticket moved to
~/dev/issues/resolved/by the CLI (its normal path).
Outstanding owner actions (Rich)
- Rename decision — RTTy.app → xTTY.app / xlatency.app: send the list of choices, or say "no rename". Standard/Mobile archives for 0.3.827/49 are held until then (bundle id + CloudKit container are team-permanent; nothing is submitted yet, so this is the cheap moment).
- Apple Distribution identity in the login keychain — required for the archives.
- After 1–2: final Build 49 Direct artifact from 2629abc → six-host canary → acceptance (Build 48 stays until then).