or run

npx @tessl/cli init
Log in

Version

Files

docs

index.md
tile.json

rubric.jsonevals/scenario-4/

{
  "context": "This criteria evaluates how well the engineer uses json-schema-traverse, specifically the allKeys option, to traverse JSON schemas containing custom vendor-specific extensions. The focus is on proper usage of the package's traversal API to identify non-standard keywords.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Uses json-schema-traverse",
      "description": "The implementation imports and uses the json-schema-traverse package (via require or import statement).",
      "max_score": 10
    },
    {
      "name": "Enables allKeys option",
      "description": "The code passes {allKeys: true} in the options parameter when calling traverse to enable traversal of custom/non-standard keywords.",
      "max_score": 35
    },
    {
      "name": "Provides callback function",
      "description": "The code provides a callback function via the cb option (e.g., {cb: callback} or {allKeys: true, cb: callback}) to process each visited schema object.",
      "max_score": 20
    },
    {
      "name": "Uses JSON Pointer",
      "description": "The callback uses the jsonPtr parameter (second parameter) to capture the path information for each custom extension found.",
      "max_score": 15
    },
    {
      "name": "Uses parentKeyword parameter",
      "description": "The callback uses the parentKeyword parameter (fifth parameter) to identify which keyword name contains the current schema, which is essential for identifying custom extensions.",
      "max_score": 20
    }
  ]
}