apps/server/integration/orchestrationEngine.integration.test.ts | 54 ++- apps/server/src/checkpointing/Layers/CheckpointDiffQuery.test.ts | 7 +- apps/server/src/orchestration/Layers/CheckpointReactor.test.ts | 10 +- apps/server/src/orchestration/Layers/OrchestrationEngine.test.ts | 90 +++- apps/server/src/orchestration/Layers/ProjectionPipeline.test.ts | 91 ++-- apps/server/src/orchestration/Layers/ProjectionPipeline.ts | 12 +- apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.test.ts | 18 +- apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.ts | 20 +- apps/server/src/orchestration/Layers/ProviderCommandReactor.test.ts | 257 +++++++---- apps/server/src/orchestration/Layers/ProviderCommandReactor.ts | 110 ++--- apps/server/src/orchestration/Layers/ProviderRuntimeIngestion.test.ts | 35 +- apps/server/src/orchestration/commandInvariants.test.ts | 30 +- apps/server/src/orchestration/decider.projectScripts.test.ts | 39 +- apps/server/src/orchestration/decider.ts | 18 +- apps/server/src/orchestration/projector.test.ts | 45 +- apps/server/src/orchestration/projector.ts | 12 +- apps/server/src/persistence/Layers/OrchestrationEventStore.test.ts | 2 +- apps/server/src/persistence/Layers/ProjectionProjects.ts | 122 ++--- apps/server/src/persistence/Layers/ProjectionRepositories.test.ts | 122 +++++ apps/server/src/persistence/Layers/ProjectionThreads.ts | 24 +- apps/server/src/persistence/Layers/Sqlite.ts | 2 +- apps/server/src/persistence/Migrations.ts | 71 ++- apps/server/src/persistence/Migrations/016_CanonicalizeModelSelections.test.ts | 357 +++++++++++++++ apps/server/src/persistence/Migrations/016_CanonicalizeModelSelections.ts | 235 ++++++++++ apps/server/src/persistence/Services/ProjectionProjects.ts | 4 +- apps/server/src/persistence/Services/ProjectionThreads.ts | 3 +- apps/server/src/provider/Layers/ClaudeAdapter.test.ts | 89 ++-- apps/server/src/provider/Layers/ClaudeAdapter.ts | 100 +++-- apps/server/src/provider/Layers/CodexAdapter.test.ts | 14 +- apps/server/src/provider/Layers/CodexAdapter.ts | 22 +- apps/server/src/provider/Layers/ProviderService.test.ts | 14 +- apps/server/src/provider/Layers/ProviderService.ts | 29 +- apps/server/src/wsServer.test.ts | 40 +- apps/server/src/wsServer.ts | 16 +- apps/web/src/components/ChatView.browser.tsx | 121 +++-- apps/web/src/components/ChatView.logic.ts | 6 +- apps/web/src/components/ChatView.tsx | 146 +++--- apps/web/src/components/KeybindingsToast.browser.tsx | 10 +- apps/web/src/components/Sidebar.logic.test.ts | 15 +- apps/web/src/components/Sidebar.tsx | 5 +- apps/web/src/components/chat/ClaudeTraitsPicker.browser.tsx | 197 --------- apps/web/src/components/chat/ClaudeTraitsPicker.tsx | 272 ------------ apps/web/src/components/chat/CodexTraitsPicker.browser.tsx | 188 -------- apps/web/src/components/chat/CodexTraitsPicker.tsx | 147 ------ apps/web/src/components/chat/CompactComposerControlsMenu.browser.tsx | 191 ++++---- apps/web/src/components/chat/ProviderHealthBanner.tsx | 9 +- apps/web/src/components/chat/TraitsPicker.browser.tsx | 362 +++++++++++++++ apps/web/src/components/chat/TraitsPicker.tsx | 320 ++++++++++++++ apps/web/src/components/chat/composerProviderRegistry.test.tsx | 72 ++- apps/web/src/components/chat/composerProviderRegistry.tsx | 165 ++++--- apps/web/src/composerDraftStore.test.ts | 397 ++++++++++------- apps/web/src/composerDraftStore.ts | 763 ++++++++++++++++++++++++-------- apps/web/src/hooks/useHandleNewThread.ts | 17 +- apps/web/src/store.test.ts | 64 ++- apps/web/src/store.ts | 45 +- apps/web/src/types.ts | 7 +- apps/web/src/worktreeCleanup.test.ts | 5 +- apps/web/src/wsNativeApi.test.ts | 7 +- packages/contracts/src/model.ts | 184 +++++++- packages/contracts/src/orchestration.test.ts | 93 +++- packages/contracts/src/orchestration.ts | 51 ++- packages/contracts/src/provider.test.ts | 70 ++- packages/contracts/src/provider.ts | 8 +- packages/shared/src/model.test.ts | 158 +++---- packages/shared/src/model.ts | 166 ++----- 65 files changed, 4067 insertions(+), 2308 deletions(-)