or run

npx @tessl/cli init
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-9/

{
  "context": "This criteria evaluates how well the engineer uses picomatch's expandRange() callback option to implement custom numeric range expansion with zero-padding. The focus is on proper usage of picomatch's options system and the expandRange callback mechanism.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Uses picomatch function",
      "description": "Uses picomatch() or picomatch.makeRe() to create a matcher with custom options",
      "max_score": 20
    },
    {
      "name": "Implements expandRange callback",
      "description": "Provides an expandRange callback function in the options object passed to picomatch",
      "max_score": 30
    },
    {
      "name": "Correct callback signature",
      "description": "The expandRange callback accepts the correct parameters (start, end, options) and returns a string representing the expanded range pattern",
      "max_score": 20
    },
    {
      "name": "Zero-padding logic",
      "description": "Implements zero-padding logic within the expandRange callback to generate padded numbers based on the end value's width",
      "max_score": 15
    },
    {
      "name": "Returns matcher function",
      "description": "Returns a reusable matcher function from picomatch() that can be called multiple times to test different strings",
      "max_score": 10
    },
    {
      "name": "Handles range patterns",
      "description": "The solution correctly handles the {start..end} range syntax as detected and passed by picomatch to the expandRange callback",
      "max_score": 5
    }
  ]
}