Fleet changelogs ยท dev.ecs0.net
rdmsm4x-changelog-20260904-2121-tyrell-observatory-heatmap-fleet-relay

rdmsm4x-changelog-20260904-2121-tyrell-observatory-heatmap-fleet-relay

Fixed Tyrell Observatory heatmap truncation by expanding port 43118 SnapshotBox feeder buffer to 5,000 events and enabled remote spoke daemons to relay fleet activity, deploying the fix across all 6 fleet machines.

1. Scope

2. Root Cause & Solution

  1. Feeder Truncation (Port 43118):
    • Root Cause: In Sources/tyrelld/Daemon.swift:111, the background feeder periodically updating SnapshotBox called try env.store.recentEvents(limit: 100). Because AppStatusFeed and tyrellbar prioritize port 43118, the UI received only the last 100 events (~2.3 hours), leaving columns 0โ€“31 (the left ~75% of the 24h timeline) permanently blank on the 24h timeline.
    • Solution: Switched the feeder to query up to 5,000 events directly from the in-memory ring buffer: await env.store.activityBuffer.events(limit: 5000).
  2. Spoke Node Isolation:
    • Root Cause: Remote spoke daemons (!env.isServer) only write local host events into their SQLite databases, and ClientLoop.swift previously only synced fleet status without relaying fleet activity from the hub. Remote Tyrell.app instances therefore had zero activity data for any host except themselves.
    • Solution: Added ActivityEventBufferActor.mergeFleetEvents(_:) to deduplicate and store relayed events in memory without queueing them for local SQLite insertion. Wired ClientLoop.fetchFleetActivity(base: base) into the 30-second syncLoop. Added master fallback URLs in AppStatusFeed.swift.
  3. Codesign Prompt Mitigation (Issue #51):
    • Root Cause: scripts/install_service.zsh unconditionally attempted to sign binaries with local certificates even if already validly signed with Hardened Runtime, provoking unwanted modal SecurityAgent prompts.
    • Solution: Added pre-check codesign -v "$BINARY" to skip signing on already-signed universal artifacts.

3. Exact Files Touched

4. Commands Run

5. Verification Evidence

6. Backup & Rollback

7. Outstanding Owner Actions