rdmbair15m5-changelog-20260923-0915-tyrell-sessions-resume-dashboard-ui-20260831-03
rdmbair15m5-changelog-20260923-0915-tyrell-sessions-resume-dashboard-ui-20260831-03
Delivered and resolved UI-20260831-03: implemented unified Sessions & Resume panel, Boot Digest audit view, TyrellBar mirroring, and in-window settings consolidation in Tyrell.app.
Scope & Metadata
- Date/Time: 2026-09-23 09:15 EDT
- Author: agy@rdmbair15m5 (autonomous engineering lead)
- Ticket: UI-20260831-03 (resolved)
- Epic: EPIC-20260831-01
- PRD:
apps/Tyrell/docs/product/2026-08-31-boot-resume-and-session-dashboard-prd.md(§4 & §5, FR-8..FR-11) - Hosts:
rdmsm4x(canonical execution & git push),rdmbair15m5(harness orchestrator) - Commit:
a12691a(main->fleet,backup)
Changes Implemented
1.
FR-8 Sessions & Resume Cockpit
(Sources/tyrell-app/SessionsPanel.swift)
- Replaced the initial transcript-only prototype with an exhaustive multi-source session management cockpit.
- Supports cross-vendor session discovery across Claude
(
~/.claude/projects), Codex (~/.codex/sessions), and agy/Gemini (~/.gemini/antigravity-cli/brain). - Visual badges and attributes:
- Agent vendor badge (Claude, Codex, agy) with distinct vendor color accents.
- Target host, working project, associated ticket ID + status chip.
- Active claim state (
active,claimed,unclaimed,stale) and PID verification. - Relative age / heartbeat recency and human-readable transcript size
(
humanGB). - Explicit resume eligibility badges:
Eligible: In-progress claim,Pruned: Stale heartbeat,Pruned: Resolved ticket,Collision: UUID.
- Interactive multi-axis filtering & sorting:
- Vendor filter: All, Claude, Codex, agy.
- State filter: All, Resumable, Live, Pruned.
- Search bar matching path, host, agent, or ticket ID.
- Sorting: Recency, Rank score, Project, Size.
- Detail drawer:
- Process PID, full directory path, transcript log inspector.
- 1-click clipboard copy of exact resume CLI command
(
tyrell resume --session <id>).
2.
FR-9 Boot Digest Audit View
(Sources/tyrell-app/SessionsPanel.swift)
- Embedded telemetry audit trail for system reboots and automatic
session admissions:
- Boot epoch, boot timestamp, and auto-resume admission cap .
- Resumed candidate table (top- ranked sessions automatically admitted).
- Withheld candidate table (ranked sessions exceeding the admission cap ).
- Pruned session summary categorized by
PruneReason(terminal state, missing transcript, stale heartbeat, invalid claim). - UUID collision detection and warning banners.
- Powered by
BootResumeEngine.evaluateLive()and liveBootDigestLoader.
3. FR-10 TyrellBar Mirroring
- Navigation Signals
(
Sources/TyrellBarSupport/AppNavigationSignal.swift):- Added
.sessionsand.bootDigestnavigation cases.
- Added
- Deep-Link Launcher
(
Sources/tyrellbar/TyrellAppLauncher.swift):- Implemented
@MainActor static func openSessions()sending distributed notifications toTyrell.app.
- Implemented
- Status Feed & Banner
(
Sources/tyrellbar/StatusFeed.swift,Sources/tyrellbar/OverviewSection.swift):- Added mirrored
bootDigestproperty and 10s auto-refresh polling task. - Added
attentionAlertTextformattingN resumable · M blocked on you. - Added
ResumeAttentionBannerwith "Open Sessions" 1-click action button.
- Added mirrored
- Focus Panel Footer
(
Sources/tyrellbar/FocusPanelFooter.swift):- Added "Sessions…" button for direct menu-bar companion access.
4. FR-11 In-Window Settings Consolidation
- App Baseline Enforcement:
Sources/TyrellAppSupport/ShellNavigation.swift:opensSettingsWindowtoggled tofalse.Sources/tyrell-app/MainShell.swift: IntegratesSettingsView()directly within detail view container forcase .settings.Sources/tyrell-app/SettingsView.swift: Updated frame parameters to responsive in-window sizing (minWidth: 720, maxWidth: .infinity, minHeight: 520, maxHeight: .infinity).Sources/tyrell-app/TyrellAppMain.swift: Subscribes toAppNavigationSignaldistributed notifications to switch active shell tab without spawning external windows.
Verification & Evidence
Unit Invariant Test Suite:
Tests/tyrell-appTests/SessionsResumeDashboardTests.swift:test_FR8_UnifiedSessionItem_invariants(): PASS (0.001s)test_FR8_pruned_eligibility_models(): PASS (0.001s)test_FR9_boot_resume_live_evaluation(): PASS (0.001s)test_FR10_navigation_signal_support(): PASS (0.001s)test_FR11_in_window_settings_consolidation(): PASS (0.001s)
- Result: 5 tests in 1 suite passed with 0 failures
(
rc=0).
Universal2 Compilation & Lipo Gate:
tyrelld:x86_64 arm64tyrell:x86_64 arm64tyrellbar:x86_64 arm64tyrell-app:x86_64 arm64tyrell-mcp:x86_64 arm64- Helper
ecsmem0d:x86_64 arm64 - Helper
replicantdb:x86_64 arm64 - Result:
[PASS] all 5 declared products built universal2.
Bundle Assembly & Developer ID Codesigning:
- Executed via GUI LaunchAgent (
gui/501):make_app_bundle.zsh --no-notarizecompleted withrc=0. - Developer ID signed
(
1C07FCD80C36EAD5D9E3B73F7ACCCA5368DC73FB), TeamIdentifierZU2882L4HT. - Hardened runtime and timestamp verified on bundle, helpers, and binaries.
- Designated requirement hash
9943c03ba47653aab0eacfd8fab8ea70d887d4392fd24832b96bffaa9c502aeeverified.
- Executed via GUI LaunchAgent (
Git Integration & Ticket Closeout:
- Commit
a12691apushed togit.ecs0.net:git/apps/Tyrell.gitand GitHub backup. - Ticket
UI-20260831-03resolved on canonical issue store (rdmsm4x:~/dev/issues/resolved/).
- Commit