or run

tessl search
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-1/

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