or run

npx @tessl/cli init
Log in

Version

Files

docs

index.md
tile.json

rubric.jsonevals/scenario-6/

{
  "context": "This criteria evaluates how well the engineer uses the chardet package's asynchronous file encoding detection capabilities to build a multi-file analyzer. The focus is on proper usage of detectFile() method, handling of async operations, and appropriate use of performance optimization options.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Uses detectFile method",
      "description": "Implementation uses chardet's detectFile() method to detect file encodings asynchronously rather than reading files manually and using detect()",
      "max_score": 30
    },
    {
      "name": "Concurrent file processing",
      "description": "Uses Promise.all(), Promise.allSettled(), or similar pattern to process multiple detectFile() calls concurrently rather than sequentially",
      "max_score": 25
    },
    {
      "name": "SampleSize option usage",
      "description": "Passes the sampleSize option to detectFile() when analyzing large files (e.g., { sampleSize: 32768 } for 32KB sampling) as specified in requirements",
      "max_score": 25
    },
    {
      "name": "Proper error handling",
      "description": "Correctly handles errors from detectFile() operations (e.g., using try-catch, .catch(), or Promise.allSettled()) to populate the failed files list",
      "max_score": 15
    },
    {
      "name": "Correct result handling",
      "description": "Properly processes the string|null return type from detectFile() and constructs the required result structure (encodings map, summary counts, failed list)",
      "max_score": 5
    }
  ]
}