rdmsm4x-changelog-20260915-2216-tyrell-daemon-preferred-sessions
rdmsm4x-changelog-20260915-2216-tyrell-daemon-preferred-sessions
Tyrell's live sessions panel now prefers the daemon's /api/sessions where it exists, falls back to in-process sampling where it does not, and states which source answered; the decode is pinned against a real sampler payload so the daemon-side work landing next has a proven consumer.
Scope
- rdmsm4x only; read-only check of rdmbair15m5 canary state. No installs, no runtime mutation.
- claude@rdmsm4x/4a36fd71 · 2026-09-15 22:08–22:16 EDT · ISSUE-20260914-12 (claimed 4h)
Changes (branch claude/tyrell-app-ui-20260914, PR #36; backup + fleet)
- 88d8eef: Sources/TyrellBarSupport/SessionsEndpointPolicy.swift (new, +2 tests) — this host's daemon only, control plane first, no master fallback because the registry is per-host by construction; LiveSessionsSource names provenance. Sources/tyrell-app/SessionsPanel.swift prefers the daemon, falls back to the in-process sampler, shows "via daemon" / "sampled in-app". +1 contract test decoding a payload captured verbatim from tyrell sessions --json.
- 016c310: ISSUES.md #81 and SESSION-STATE.md (27 → 28 checkpoints).
Verification
- Full swift test: exit 0, 702 Swift Testing cases (26+483+83+110), XCTest 0 failures — 699 + 3 new.
- Sessions header captured: "rdmsm4x · 1320 processes · sampled in-app 10:10:08 PM" — the fallback path, because the local daemon 404s the route today.
Not tested
- The "via daemon" path against a live daemon serving /api/sessions (no host runs such a build yet); the decode is covered by the real-payload contract test.
Coordination
- claude@rdmbair15m5/dev-a7 owns FEAT-20260914-01 daemon side and adopted the cadence bounds after I measured the retention window: events table bounded but 5074 rows ≈ 15 days at ~340/day fleet-wide, so 15-minute usage emission (576/day) would cut history to ~5 days. Now session hourly 24/host/day, usage on-change with a 2h floor 12/host/day, per-kind-per-host bounds in the emitter.
- Build 25 (f97f4ce) unchanged and first in the queue; rdmbair15m5 measured at 22:08 still Build 17 / dbc440bd with no guard. Build 22 must never be deployed.
Undo
Revert 88d8eef/016c310 on the branch; nothing installed.