or run

npx @tessl/cli init
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-2/

{
  "context": "Checks how well the solution leans on jsx-ast-utils to read JSX attribute names with namespace fidelity. It focuses solely on correct use of the library APIs rather than general coding style.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "propName usage",
      "description": "Attribute name extraction uses jsx-ast-utils `propName` (or its direct import) instead of manual property access for all JSXAttribute entries.",
      "max_score": 35
    },
    {
      "name": "Namespace fidelity",
      "description": "Namespaced attributes are passed through `propName` so returned names keep prefixes like `xlink:` or `xml:` intact rather than being split or altered.",
      "max_score": 25
    },
    {
      "name": "Spread filtering",
      "description": "Collection logic guards so `propName` only runs on JSXAttribute nodes, skipping JSXSpreadAttribute entries without attempting evaluation.",
      "max_score": 20
    },
    {
      "name": "Invalid input handling",
      "description": "Uses jsx-ast-utils expectations to detect and surface errors when the provided node is not a JSX opening element, such as relying on `propName` throwing or validating node shape before calling it.",
      "max_score": 20
    }
  ]
}