apps/server/integration/OrchestrationEngineHarness.integration.ts | 5 + apps/server/integration/providerService.integration.test.ts | 3 + apps/server/src/codexAppServerManager.test.ts | 18 +- apps/server/src/codexAppServerManager.ts | 29 +- apps/server/src/config.ts | 2 + apps/server/src/git/Layers/ClaudeTextGeneration.test.ts | 2 + apps/server/src/git/Layers/ClaudeTextGeneration.ts | 11 +- apps/server/src/git/Layers/CodexTextGeneration.test.ts | 271 +++----- apps/server/src/git/Layers/CodexTextGeneration.ts | 15 +- apps/server/src/git/Layers/GitManager.test.ts | 10 +- apps/server/src/git/Layers/GitManager.ts | 15 +- apps/server/src/keybindings.ts | 34 +- apps/server/src/main.test.ts | 2 + apps/server/src/main.ts | 17 +- apps/server/src/orchestration/Layers/ProviderCommandReactor.test.ts | 2 + apps/server/src/orchestration/Layers/ProviderCommandReactor.ts | 104 ++-- apps/server/src/orchestration/Layers/ProviderRuntimeIngestion.test.ts | 12 +- apps/server/src/orchestration/Layers/ProviderRuntimeIngestion.ts | 20 +- apps/server/src/orchestration/decider.projectScripts.test.ts | 1 - apps/server/src/orchestration/decider.ts | 5 - apps/server/src/provider/Layers/ClaudeAdapter.test.ts | 14 +- apps/server/src/provider/Layers/ClaudeAdapter.ts | 52 +- apps/server/src/provider/Layers/ClaudeProvider.ts | 397 ++++++++++++ apps/server/src/provider/Layers/CodexAdapter.test.ts | 5 + apps/server/src/provider/Layers/CodexAdapter.ts | 39 +- apps/server/src/provider/Layers/CodexProvider.ts | 531 ++++++++++++++++ apps/server/src/provider/Layers/ProviderHealth.test.ts | 640 ------------------- apps/server/src/provider/Layers/ProviderHealth.ts | 603 ------------------ apps/server/src/provider/Layers/ProviderRegistry.test.ts | 879 ++++++++++++++++++++++++++ apps/server/src/provider/Layers/ProviderRegistry.ts | 93 +++ apps/server/src/provider/Layers/ProviderService.test.ts | 58 ++ apps/server/src/provider/Layers/ProviderService.ts | 34 +- apps/server/src/provider/Services/ClaudeProvider.ts | 9 + apps/server/src/provider/Services/CodexProvider.ts | 9 + apps/server/src/provider/Services/ProviderHealth.ts | 22 - apps/server/src/provider/Services/ProviderRegistry.ts | 32 + apps/server/src/provider/Services/ServerProvider.ts | 8 + apps/server/src/provider/makeManagedServerProvider.ts | 72 +++ apps/server/src/provider/providerSnapshot.ts | 134 ++++ apps/server/src/serverLayers.ts | 7 +- apps/server/src/serverSettings.test.ts | 182 ++++++ apps/server/src/serverSettings.ts | 339 ++++++++++ apps/server/src/wsServer.test.ts | 50 +- apps/server/src/wsServer.ts | 56 +- apps/server/src/wsServer/pushBus.test.ts | 3 - apps/web/src/appSettings.test.ts | 325 ---------- apps/web/src/appSettings.ts | 121 ---- apps/web/src/components/ChatView.browser.tsx | 11 +- apps/web/src/components/ChatView.tsx | 143 +++-- apps/web/src/components/DiffPanel.tsx | 4 +- apps/web/src/components/GitActionsControl.tsx | 3 - apps/web/src/components/KeybindingsToast.browser.tsx | 14 +- apps/web/src/components/PlanSidebar.tsx | 2 +- apps/web/src/components/Sidebar.logic.ts | 2 +- apps/web/src/components/Sidebar.tsx | 7 +- apps/web/src/components/chat/CompactComposerControlsMenu.browser.tsx | 65 ++ apps/web/src/components/chat/MessagesTimeline.tsx | 2 +- apps/web/src/components/chat/ProviderHealthBanner.tsx | 33 - apps/web/src/components/chat/ProviderModelPicker.browser.tsx | 157 ++++- apps/web/src/components/chat/ProviderModelPicker.tsx | 29 +- apps/web/src/components/chat/ProviderStatusBanner.tsx | 33 + apps/web/src/components/chat/TraitsPicker.browser.tsx | 101 ++- apps/web/src/components/chat/TraitsPicker.tsx | 14 +- apps/web/src/components/chat/composerProviderRegistry.test.tsx | 75 +++ apps/web/src/components/chat/composerProviderRegistry.tsx | 50 +- apps/web/src/composerDraftStore.ts | 35 +- apps/web/src/hooks/useSettings.ts | 266 ++++++++ apps/web/src/lib/gitReactQuery.test.ts | 4 - apps/web/src/lib/gitReactQuery.ts | 4 +- apps/web/src/lib/serverReactQuery.ts | 8 +- apps/web/src/modelSelection.ts | 128 ++-- apps/web/src/providerModels.ts | 116 ++++ apps/web/src/routes/__root.tsx | 15 +- apps/web/src/routes/_chat.settings.tsx | 1063 ++++++++++++++++++++------------ apps/web/src/routes/_chat.tsx | 4 +- apps/web/src/timestampFormat.ts | 21 +- apps/web/src/wsNativeApi.test.ts | 42 +- apps/web/src/wsNativeApi.ts | 35 ++ apps/web/src/wsTransport.test.ts | 8 +- packages/contracts/package.json | 5 + packages/contracts/src/git.test.ts | 15 - packages/contracts/src/git.ts | 2 - packages/contracts/src/index.ts | 1 + packages/contracts/src/ipc.ts | 12 +- packages/contracts/src/model.ts | 188 +----- packages/contracts/src/orchestration.ts | 26 +- packages/contracts/src/provider.test.ts | 18 - packages/contracts/src/provider.ts | 2 - packages/contracts/src/server.ts | 37 +- packages/contracts/src/settings.ts | 153 +++++ packages/contracts/src/ws.test.ts | 19 + packages/contracts/src/ws.ts | 17 +- packages/shared/package.json | 4 + packages/shared/src/Struct.ts | 23 + packages/shared/src/model.test.ts | 327 ++-------- packages/shared/src/model.ts | 78 +-- packages/shared/src/schemaJson.ts | 64 +- 97 files changed, 5407 insertions(+), 3370 deletions(-)