Description
The core settings hydration logic currently fails to recursively deep-merge user overrides with the application's default configurations. If a user defines any custom generation setting (e.g., just overrides) in their settings.json, it entirely obliterates the default model aliases. A brittle, manual hack was introduced to forcibly re-inject DEFAULT_MODEL_CONFIGS as a fallback.
Location: packages/core/src/config/config.ts#L1141-L1155
Why it's important
While the hack patches the current symptom, it leaves the configuration system vulnerable to future regressions as more nested configuration options are added. The initialization logic should be refactored to use a robust deep-merge utility (like lodash/merge or a custom recursive implementation) rather than relying on shallow destruction and manual re-stitching.
Description
The core settings hydration logic currently fails to recursively deep-merge user overrides with the application's default configurations. If a user defines any custom
generationsetting (e.g., justoverrides) in theirsettings.json, it entirely obliterates the default model aliases. A brittle, manual hack was introduced to forcibly re-injectDEFAULT_MODEL_CONFIGSas a fallback.Location: packages/core/src/config/config.ts#L1141-L1155
Why it's important
While the hack patches the current symptom, it leaves the configuration system vulnerable to future regressions as more nested configuration options are added. The initialization logic should be refactored to use a robust deep-merge utility (like
lodash/mergeor a custom recursive implementation) rather than relying on shallow destruction and manual re-stitching.