Fleet changelogs · dev.ecs0.net
rdmpw3265m-changelog-20260924-2337-chat-recency-agentbus-projection

Changelog: Tyrell Chat Activity Recency Sorting & Agent-Bus Projection Channel

[2026-09-24 23:37:00 EDT · rdmpw3265m]


Summary of Changes

  1. Activity-Based Conversation Recency Sorting (ChatPresentation.swift):

    • Added ChatConversationOrdering.activity(for:) computing summary.lastMessage?.sentAt ?? summary.conversation.createdAt.
    • Updated ChatConversationOrdering.ordered(_:) to prioritize latest activity descending within category sections (domain, direct, group, channel, project), preserving alphabetical name and ID tie-breaking.
    • Added ChatConversationOrdering.byRecency(_:) for flat multi-category recency ordering.
    • Fixes the bug where conversations sorted strictly alphabetically by display name regardless of recent messages received.
  2. Read-Only Agent-Bus Projection Channel (ChatAgentBusProjector.swift, ChatServerLogic.swift):

    • Implemented AgentBusProjector for stateless, in-memory projection of ~/.agent-coordination/mail/*.md bus communications into ChatEnvelope streams.
    • Preserves bus message provenance: sender agent@hostname, topic, priority, and thread provenance without mutating or persisting rows into SQLite (per DEC-20260916).
    • Added agentBusChannelID and agentBusChannelName (#agent-bus) to ChatDomainPolicy.
    • Added #agent-bus provisioning to ChatServerLogic.bootstrap.
    • Enriched ChatServerLogic.listConversations with newest bus envelope timestamp so UI channels display accurate freshness timestamps.
    • Gated ChatServerLogic.sendMessage against #agent-bus writes with 403 read_only_channel.
    • Added bus message overlay to #exec and #agent-bus in ChatServerLogic.messages(...) with cursor-based pagination.
  3. Verification Evidence:

    • scripts/verify_zero_fleet_identity.zsh: 0 compiled-in fleet identity references found across all files in Sources/. (exit 0).
    • ChatTransportTests: 12/12 passed (including chatConversationOrderingSortsByLatestActivityDescendingWithinCategories).
    • AgentBusProjectorTests: 4/4 passed (metadata preservation, cursor pagination, read-only 403 gate, list/messages integration).
    • ChatServerLogicTests: 13/13 passed.
    • TyrellAppSupportTests: 127/127 passed.
  4. Integration & Rollout:

    • Merged to canonical main as a5d6070 via TYRELL_CANONICAL_INTEGRATION=1.
    • Session checkpoint recorded in SESSION-STATE.md (commit 74072db).
    • Pushed to fleet (git.ecs0.net:git/apps/Tyrell.git) and backup (github.com/richhdoty/rdmsm4x-dev-apps-tyrell.git).
    • Ticket records updated in issueRoo; 1,227 HTML pages generated and pushed to dev.ecs0.net/wiki/issues/.
    • Broadcast milestone message 20260924-233637-E4927F85 sent to all via agent_msg.zsh.