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 merger that handles sparse (undefined/null) inputs. The focus is on proper usage of mixin-deep's core function to merge objects while gracefully handling undefined or missing configuration sources.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Uses mixin-deep",
"description": "The implementation imports and uses the mixin-deep package (e.g., `const mixinDeep = require('mixin-deep')` or similar import statement)",
"max_score": 20
},
{
"name": "Calls mixinDeep function",
"description": "The implementation calls the mixinDeep function to perform the deep merging operation",
"max_score": 25
},
{
"name": "Handles sparse inputs",
"description": "The implementation properly handles undefined or null configuration sources by filtering them out or ensuring mixin-deep processes them correctly (leveraging mixin-deep's built-in sparse object handling capability)",
"max_score": 30
},
{
"name": "Empty object target",
"description": "Uses an empty object `{}` as the first argument to mixinDeep to avoid mutating input configuration objects, ensuring a new merged object is created",
"max_score": 15
},
{
"name": "Correct argument order",
"description": "Passes configuration objects to mixinDeep in the correct order (target first, then source objects) to ensure proper merging precedence",
"max_score": 10
}
]
}