rdmsm4x-changelog-20260924-0722-rtty-522-shipped-fleet-and-asc
RTTy 0.3.847 / Build 522 was constructed, gated with notarization, rolled out to five of six Macs and attached to App Store Connect from this console session, because the sweep session that asked for it cannot use the login keychain from its background session; it carries the App Intents metadata fix, the ping6 fix, the now-visible MultiWAN tests and a partial dashboard render-loop cut.
Written 2026-09-24 07:22:34 EDT on rdmsm4x by claude@rdmsm4x (Claude Code, Fable 5.1 oversight, session c13f617a). Covers 06:2x → 2026-09-24 07:22:34 EDT EDT. Trigger: rtty-ce (session af5abb76) under Rich's 06:2x instruction "resolve all open tickets/iterate/execute/resolve/keep going"; "go 522" at 06:4x. Budget: Anthropic 7-day 81 % → hold; everything ran inline, no delegation.
Scope
- Host writes: rdmsm4x (hub checkout ~/dev/apps/RTTy, release dir ~/dev/_handoff/rtty-build519-20260923/release/build522, construct dir ~/dev/_handoff/rtty-appstore-514-20260921/{out522,export522,render}). Installs on rdmpw3275m, rdmsm4x, rdmbair13m5, rdmbair15m5, rdmpw3265m. jdmbair13m5 pending (asleep).
- External: App Store Connect (upload + attach), Apple notary service.
Commits on apps/RTTy main (pushed to origin, backup, fleet; each verified by ref)
| Commit | What |
|---|---|
| d55fc05 | release: 0.3.847 Build 522 candidate (VERSION, BUILD_NUMBER, both xcconfigs, graph spec, verifier bundle fixed point a37c3fa4a786); closure test PASS 144 inputs |
| 6f8027f | release(standard): launch-capability policy re-rendered on Xcode 26.6 (+2 Foundation string symbols, −8 SwiftUI.AnimationTimelineSchedule; no spawn symbols); bundle fixed point 99a06d00 |
| 63229dc | docs-only candidate source: opens docs/app-store/UPLOAD-0.3.847-522-20260924.md; tag v0.3.847-build522 (object 2012a68) |
| close-out | record sections, docs/RELEASE_HISTORY.md entry, Project/SESSION-STATE.md resume block, runbook §4 fixture path (Tests/ScriptTests/standard_trust_anchor_fixture.py) |
Steps and evidence (EDT)
- 06:43 preconditions: tree clean at 49bad10, no trust file changed since 521, lib pins OK, MTU 1500, no other gate; all six hosts on 521 exe 17c306d9 (uniform rollback baseline).
- 06:47:17 Xcode 27 → 26.6 (17F113) swap with marker, after confirming the peer's stage build had finished; 07:13:29 restored to 27.0 (27A266a), marker removed.
- 06:50 policy render (104 s) — delta benign; 06:51 policy + record commits pushed.
- 06:52 first construct launch failed at once: runbook named the fixture without its Tests/ScriptTests path — corrected; 06:53:58–06:57:07 construct PASS (five PASS lines; export522/RTTy.pkg 16,243,494 bytes, sha a3abfc21…).
- 06:57–06:59 gate run 1 FAILED: 1628 tests, one failure — LiveServiceEndpointIntegrationTests, portal.azure.com TCP unreachable at 06:59:03; verified reachable in 30–70 ms at 07:00 and the peer's commit did not touch tcpConnect → transient; log kept as qa_release-522-run1-azure-transient.log.
- 07:00:59–07:13:01 gate run 2 PASS 10/10: 1628 tests / 1 skipped / 0 failures per arch (+15 over 521), notarization c25a11b5 Accepted, stapled, Gatekeeper Notarized Developer ID, BuildInfo 0.3.847 / 522 / 63229dc; Metadata.appintents present in the bundle for the first time. Watchdog killed three stale clang probes per run.
- 07:13:29–07:13:33 package: RTTy-0.3.847-522-direct.zip 16,156,808 bytes sha fa3d6ffc…; exe 48a819c1…; installer deploy_build522_fleet.zsh v1.6 (gen_installer_522.py, asserted constants-only derivation); tag + push.
- 07:13:38 canary rdmpw3275m accepted after 55 s; 07:14:49–07:16:03 rdmsm4x (53 s), rdmbair13m5 (59 s), rdmbair15m5 (55 s), rdmpw3265m (57 s); no rollback triggered. jdmbair13m5: SSH reset ×3 then timeouts on tailnet, LAN and .local → detached retry loop (pid 23685, every 5 min, up to 8 h, log release/build522/logs/retry-jdmbair13m5-522.log).
- 07:16–07:20 ASC: validate no errors; upload OK; build 09e68982 VALID 07:19:29; versionString 0.3.846 → 0.3.847; build attached 07:20:31; PREPARE_FOR_SUBMISSION, localization and the four screenshots unchanged.
- Peer coordination on the local socket: single-writer rule on main from "go" to this close-out; rtty-ce measured 521 vs the ad-hoc main build (partial), profiled the running 521 (call sites on ISSUE-20260924-06), and runs the 522 acceptance at 07:29/07:30.
Undo
- Fleet: deploy_build522_fleet.zsh restores the 521 rollback copy by hash on any host (baseline 17c306d9); or rerun release/build521's installer.
- ASC: re-attach build 1debeb4e (521) to the version and PATCH versionString back to 0.3.846; nothing was submitted.
- Git: tag v0.3.847-build522 can be deleted from the three remotes; commits are docs and release metadata only, revertable.
- Xcode: already restored; marker removed.
Tickets
- ISSUE-20260924-06 comment (522 shipped; partial; stays open with named call sites; rtty-ce holds it). ISSUE-20260915-11 (rss/CPU growth with uptime on rdmpw3275m: 82 % / 2023 MiB at 6 h on 521) is rtty-ce's, numbers posted there.
- TASK-20260923-03 resolved at 06:24 (previous changelog).
Outstanding — Rich only
Submit 0.3.847 / 522 in App Store Connect (never 520); CloudKit Console recordName index + Production deploy; App Groups on the Direct App ID + both Direct profiles; ASC app records for HyperCPU/hyperTune; [email protected] mailbox.
Lessons written down
- The runbook's construct line lacked the fixture path (now fixed in the runbook).
- A one-test live-network failure on a stable build is a transient to verify (probe the endpoint, diff the code path) and re-run, not a reason to cut a build; keep the failed log.
- A background session's locked keychain is a session-TYPE block: the Aqua session signs. Recorded in SESSION-STATE.
Correction (2026-09-24 07:33:06 EDT)
The "partial dashboard render-loop cut" claimed above did not survive the +15 min matched-uptime acceptance (rtty-ce, 07:31 EDT, display awake, window visible, top -l 4 -s 5): rdmsm4x 522 at 15 m 22 s = 30.0 / 32.1 / 33.5 % vs 521 at 15 m 43 s = 29.1 % (rss 535 vs 515 MiB); rdmpw3275m 522 at 15 m 48 s = 38.7 / 68.0 / 63.4 % (ceiling 10 %). 53e0eb5 produced no measurable change in the signed build; the 06:47 ad-hoc A/B's improvement compared different window sizes and did not reproduce. Occluded 0.5 / 0.5 / 0.7 / 0.2 % (met). ISSUE-20260924-06 stays open with the named call sites; a +60 min read at 08:15 decides warm-up vs ISSUE-20260915-11 growth. Everything else in this changelog stands: 522 still ships the App Intents metadata, the ping6 fix, the visible MultiWAN tests and the policy guard.