rdmpw3275m-changelog-20260922-2302-tyrell-tiered-streaming-subscriptions-feat-20260905-19
rdmpw3275m-changelog-20260922-2302-tyrell-tiered-streaming-subscriptions-feat-20260905-19
Implemented tiered streaming subscriptions (subscribeShell vs subscribeThread) with single-shell, at-most-one-thread invariant, bounded snapshot payload size, and resilient thread switching (FEAT-20260905-19).
Scope
- Hosts:
rdmpw3275m(Intel macOS 26.7.1, execution),rdmsm4x(M4 Max macOS 27.0, canonical hub verification, merge & push). - Repos:
apps/Tyrell(git.ecs0.net:git/apps/Tyrell.git,github.com/richhdoty/rdmsm4x-dev-apps-tyrell.git). - Commits:
c096394(merged ontomainon canonicalrdmsm4xandrdmpw3275m).
Files Touched
Package.swift: Added"Subscriptions"directory toTyrellRemoteSupporttarget exclusion list to maintain clean SPM target partition.Sources/TyrellCore/Subscriptions/TieredSubscriptionModels.swift:- Defined
ThreadSummarySnapshot(threadID, title, state, turnIndex, subagents, approvals, unread count) andOrchestrationShellSnapshot(active threads summary without transcript bodies, total approvals, total working subagents, system load). - Defined
ThreadDetailSnapshot(full transcriptChatEnvelopemessages, unified diff, active tool traces, checkpoint OID). - Implemented
TieredSubscriptionHubactor managingsubscribeShellandsubscribeThreadstreams using UUID token tracking to prevent async task termination races. - Implemented
TieredSubscriptionClientactor maintaining the client-side UI invariant: exactly one shell subscription plus at most one thread subscription for the focused thread. Switching focused thread does NOT drop or reconnect the persistent shell subscription. - Added
ChatEnvelope.simpleMessageconvenience factory.
- Defined
Tests/TyrellCoreTests/TieredSubscriptionTests.swift: 5 comprehensive unit and invariant tests covering compact shell snapshots without transcripts, full detail for focused thread only, client single-shell at-most-one-thread invariant, bounded shell payload size measurements (< 350 bytes per thread), and persistent shell subscription across thread focus switches.
Commands Run
# Build and Test on Intel rdmpw3275m
swift test --filter TieredSubscriptionTests
swift test --filter "TieredSubscriptionTests|InteractionModeTests"
# Push feature branch to fleet
git push fleet agy/feat-20260905-19
# Verify on Apple Silicon rdmsm4x
ssh [email protected] "git -C /Users/richh/dev/apps/Tyrell fetch fleet agy/feat-20260905-19"
ssh [email protected] "git -C /Users/richh/dev/apps/Tyrell worktree add /Users/richh/dev/_worktrees/tyrell-test-feat-19 fleet/agy/feat-20260905-19"
ssh [email protected] "swift test --package-path /Users/richh/dev/_worktrees/tyrell-test-feat-19 --filter TieredSubscriptionTests"
ssh [email protected] "git -C /Users/richh/dev/apps/Tyrell worktree remove --force /Users/richh/dev/_worktrees/tyrell-test-feat-19"
# Fast-forward merge on canonical rdmsm4x and push to fleet + backup
ssh [email protected] "git -C /Users/richh/dev/apps/Tyrell merge --ff-only fleet/agy/feat-20260905-19"
ssh [email protected] "git -C /Users/richh/dev/apps/Tyrell push fleet main && git -C /Users/richh/dev/apps/Tyrell push backup main"
# Fast-forward merge on local scratch rdmpw3275m
git -C /Users/richh/dev/apps/Tyrell fetch fleet main && git -C /Users/richh/dev/apps/Tyrell merge --ff-only fleet/main
# Ticket closeout & fleet message bus
~/bin/ticket resolve FEAT-20260905-19 --as "agent@rdmpw3275m/agy-rdmpw3275m" ...
~/.agent-coordination/agent_msg.zsh broadcast --topic resolve-feat-20260905-19 ...
~/.agent-coordination/agent_msg.zsh syncVerification Evidence
TieredSubscriptionTestson Intel (rdmpw3275m, x86_64 macOS 26.7.1): 5/5 passing (0.04s).- Combined regression (
TieredSubscriptionTests+InteractionModeTests): 9/9 passing (0.58s). TieredSubscriptionTestson Apple Silicon (rdmsm4x, arm64 macOS 27.0): 5/5 passing (0.05s).- Ticket
FEAT-20260905-19resolved cleanly onrdmsm4xandrdmpw3275m.
Backup Locations & Undo
- Git branch
agy/feat-20260905-19preserved onfleet. - Previous HEAD was
c369f9e. Undo viagit reset --hard c369f9eif ever required.
Outstanding Owner Actions
- None. Full autonomous delivery complete.