or run

tessl search
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-9/

{
  "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
    }
  ]
}