README.md | 1 + apps/mobile/src/components/ProjectFavicon.tsx | 7 ++- apps/mobile/src/features/archive/ArchivedThreadsScreen.tsx | 1 + apps/mobile/src/features/threads/NewTaskRouteScreen.tsx | 2 + apps/mobile/src/features/threads/thread-list-items.tsx | 1 + apps/mobile/src/features/threads/thread-list-v2-items.tsx | 3 + apps/server/src/assets/AssetAccess.test.ts | 84 +++++++++++++++++++++++++- apps/server/src/assets/AssetAccess.ts | 27 ++++++--- apps/server/src/orchestration/Layers/ProjectionPipeline.test.ts | 6 +- apps/server/src/orchestration/Layers/ProjectionPipeline.ts | 4 ++ apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.test.ts | 2 + apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.ts | 7 +++ apps/server/src/orchestration/decider.projectScripts.test.ts | 41 +++++++++++++ apps/server/src/orchestration/decider.ts | 2 + apps/server/src/orchestration/projector.ts | 4 ++ apps/server/src/persistence/Layers/ProjectionProjects.ts | 5 ++ apps/server/src/persistence/Migrations.ts | 2 + apps/server/src/persistence/Migrations/040_ProjectionProjectFaviconPath.test.ts | 28 +++++++++ apps/server/src/persistence/Migrations/040_ProjectionProjectFaviconPath.ts | 16 +++++ apps/server/src/persistence/Services/ProjectionProjects.ts | 1 + apps/server/src/project/ProjectFaviconResolver.test.ts | 27 +++++++++ apps/server/src/project/ProjectFaviconResolver.ts | 12 +++- apps/server/src/workspace/WorkspaceEntries.ts | 2 +- apps/server/src/workspace/WorkspaceSearchIndex.test.ts | 56 ++++++++++++++++- apps/server/src/workspace/WorkspaceSearchIndex.ts | 29 +++++---- apps/server/src/ws.ts | 26 +++++++- apps/web/src/assets/assetUrls.ts | 10 ++- apps/web/src/components/ChatView.tsx | 1 + apps/web/src/components/CommandPalette.tsx | 1 + apps/web/src/components/LegacySidebar.tsx | 6 +- apps/web/src/components/ProjectFavicon.test.tsx | 20 +++++- apps/web/src/components/ProjectFavicon.tsx | 21 +++++-- apps/web/src/components/Sidebar.tsx | 34 +++++++++++ apps/web/src/components/chat/ChatHeader.tsx | 3 + apps/web/src/components/files/projectFilesQueryState.ts | 15 ++++- apps/web/src/components/settings/ProjectFaviconPickerDialog.tsx | 104 ++++++++++++++++++++++++++++++++ apps/web/src/components/settings/ProjectSettingsPanel.tsx | 70 +++++++++++++++++++++ apps/web/src/components/settings/SettingsPanels.tsx | 9 ++- apps/web/src/components/settings/settingsLayout.tsx | 11 +++- apps/web/src/state/queries.test.ts | 3 +- apps/web/src/state/queries.ts | 8 ++- docs/README.md | 1 + docs/user/project-settings.md | 16 +++++ packages/client-runtime/src/state/assets.test.ts | 12 ++++ packages/contracts/src/assets.ts | 7 +++ packages/contracts/src/orchestration.test.ts | 22 +++++++ packages/contracts/src/orchestration.ts | 14 +++++ packages/contracts/src/project.ts | 1 + 48 files changed, 740 insertions(+), 45 deletions(-)