apps/mobile/src/connection/environment-cache-store.ts | 5 +- apps/mobile/src/features/threads/ThreadDetailScreen.tsx | 3 + apps/mobile/src/features/threads/ThreadFeed.tsx | 20 +- apps/mobile/src/features/threads/ThreadRouteScreen.tsx | 19 ++ apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.test.ts | 405 ++++++++++++++++++++++++ apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.ts | 369 +++++++++++++++++++++- apps/server/src/orchestration/Services/ProjectionSnapshotQuery.ts | 8 + apps/server/src/orchestration/http.ts | 12 +- apps/server/src/orchestration/threadDetailCursor.test.ts | 44 +++ apps/server/src/orchestration/threadDetailCursor.ts | 62 ++++ apps/server/src/persistence/Migrations.ts | 2 + apps/server/src/persistence/Migrations/037_ProjectionTurnsKeysetIndex.ts | 17 + apps/server/src/ws.ts | 10 +- apps/web/src/components/ChatView.tsx | 24 +- apps/web/src/components/chat/MessagesTimeline.tsx | 44 ++- apps/web/src/connection/storage.ts | 9 +- packages/client-runtime/src/state/entities.test.ts | 2 + packages/client-runtime/src/state/threadSnapshotHttp.ts | 27 +- packages/client-runtime/src/state/threadState.ts | 24 ++ packages/client-runtime/src/state/threads-pagination.test.ts | 543 ++++++++++++++++++++++++++++++++ packages/client-runtime/src/state/threads.ts | 406 +++++++++++++++++++++++- packages/contracts/src/environmentHttp.ts | 11 + packages/contracts/src/orchestration.ts | 51 +++ packages/contracts/src/server.ts | 6 + 24 files changed, 2093 insertions(+), 30 deletions(-)