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 well the engineer uses the mixin-deep package to implement a configuration manager that performs non-mutating merges. The focus is on proper usage of mixin-deep's core API with an empty object pattern to avoid mutation of input objects.",
"type": "weighted_checklist",
"checklist": [
{
"name": "mixin-deep import",
"description": "Correctly imports the mixin-deep package using require() or import statement",
"max_score": 10
},
{
"name": "Empty object pattern",
"description": "Uses an empty object {} as the first argument to mixinDeep to prevent mutation of input objects in createConfig function",
"max_score": 30
},
{
"name": "Multiple source merging",
"description": "Correctly uses mixinDeep with multiple source objects (at least 2) in the createConfig function by passing defaults and userConfig as subsequent arguments",
"max_score": 20
},
{
"name": "Variable arguments handling",
"description": "Implements mergeConfigs function using mixinDeep with rest parameters (...configs) or similar approach to handle variable number of configuration objects",
"max_score": 25
},
{
"name": "Deep merge behavior",
"description": "Solution correctly leverages mixinDeep's recursive deep merging for nested objects without implementing custom merging logic",
"max_score": 15
}
]
}