docs
evals
scenario-1
scenario-10
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
{
"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
}
]
}