apps/server/src/git/Layers/ClaudeTextGeneration.ts | 3 +- apps/server/src/provider/Layers/ClaudeAdapter.test.ts | 6 +- apps/server/src/provider/Layers/ClaudeAdapter.ts | 31 ++++---- apps/server/src/provider/Layers/ClaudeProvider.ts | 27 ++++--- apps/server/src/provider/Layers/CodexProvider.ts | 14 +++- apps/web/src/components/ChatView.tsx | 3 +- apps/web/src/components/chat/CompactComposerControlsMenu.browser.tsx | 4 + apps/web/src/components/chat/ComposerCommandMenu.tsx | 4 +- apps/web/src/components/chat/ProviderModelPicker.browser.tsx | 9 ++- apps/web/src/components/chat/ProviderModelPicker.tsx | 6 +- apps/web/src/components/chat/TraitsPicker.browser.tsx | 4 + apps/web/src/components/chat/TraitsPicker.tsx | 81 ++++++++++++++++---- apps/web/src/components/chat/composerProviderRegistry.test.tsx | 26 +++++-- apps/web/src/components/chat/composerProviderRegistry.tsx | 30 ++------ apps/web/src/composerDraftStore.ts | 24 ++++-- apps/web/src/providerModels.ts | 28 ++----- packages/contracts/src/model.ts | 15 +++- packages/shared/src/model.test.ts | 131 ++++++++++++++++++++++++++++++-- packages/shared/src/model.ts | 107 ++++++++++++++++++++++---- 19 files changed, 414 insertions(+), 139 deletions(-)