docs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
{
"context": "This criteria evaluates how effectively the engineer uses the mixin-deep package to implement a configuration merging system, specifically assessing their ability to leverage mixin-deep's multiple source object support capability for deep merging of configuration objects.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Imports mixin-deep",
"description": "The solution correctly imports or requires the mixin-deep package (e.g., `const mixinDeep = require('mixin-deep')` or `import mixinDeep from 'mixin-deep'`)",
"max_score": 15
},
{
"name": "Uses mixin-deep function",
"description": "The buildConfig function calls the mixinDeep function to perform the configuration merging",
"max_score": 25
},
{
"name": "Passes multiple sources",
"description": "The solution passes multiple configuration objects as arguments to mixinDeep, demonstrating understanding of its multiple source object support (e.g., `mixinDeep(obj1, obj2, obj3)` or `mixinDeep(...configs)`)",
"max_score": 25
},
{
"name": "Empty object pattern",
"description": "The solution uses an empty object as the first argument to mixinDeep to avoid mutating input objects (e.g., `mixinDeep({}, config1, config2, config3)`), ensuring immutability of the original configuration sources",
"max_score": 25
},
{
"name": "Correct return value",
"description": "The buildConfig function returns the result of the mixinDeep call, providing the merged configuration object to the caller",
"max_score": 10
}
]
}