rdmsm4x-changelog-20260828-2027-tyrell-chat-live-repair
rdmsm4x Tyrell chat live repair — 2026-08-28 20:27 EDT
Implemented and verified an isolated source-only Tyrell chat correctness repair: friendly membership identity resolution, direct-thread dedupe after block enforcement, member-authorized transport reads, truthful local acceptance/pending delivery labels, and project-room de-prioritization. This prevents a local master append from being shown as recipient delivery.
Scope
- Host:
rdmsm4x - Canonical source root (unchanged):
/Users/richh/dev/apps/tyrell,mainat the assigned base with its unrelated.DS_Storepreserved. - Isolated worktree:
/Users/richh/dev/_worktrees/tyrell-chat-live-repair-20260828 - Branch/commit:
codex/tyrell-chat-live-repair-20260828/66fefc991191097c92b25aa5922e483fd9572c33 - Source handoff:
.handoff/chat-live-repair-20260828.mdin that worktree.
Files changed
Sources/TyrellCore/SQLiteStateStore+Chat.swiftSources/TyrellCore/ChatServerLogic.swiftSources/tyrelld/ChatRoutes.swiftSources/TyrellAppSupport/ChatPresentation.swiftSources/TyrellAppSupport/ChatTransport.swiftSources/tyrell-app/ChatViewModel.swiftSources/tyrell-app/FleetChatView.swift- Focused Chat store/server/transport test files and the source handoff.
Validation and live evidence
- Read-only live API/SQLite inspection: SQLite
quick_check=ok; 884 channel-only conversations (1 domain, 883 project), memberships range 1–2, no group/direct rooms, two messages, and no receipt/delivery table. swift testpassed after a policy-order regression was corrected.swift build -c releasepassed in 58.14 seconds.git diff --checkpassed before commit; worktree was clean after commit.
Undo / follow-up
- Revert commit
66fefc991191097c92b25aa5922e483fd9572c33from the isolated branch; no production database or deployment was changed. - Integration must deploy matching app and daemon because the app calls the new member-list route.
- A recipient must remain pending/unknown until a future swappable transport yields a recipient-scoped receipt. The current live daemon cannot establish delivery.
Apple Notes projection
Apple Notes was not written because this run is in a background
session (launchctl managername reported
Background); the required file archive above is present.
Add the same record to the rdmsm4x Notes folder from an
Aqua desktop session using
~/scripts/notes_changelog.zsh.