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 cli package's streaming input capabilities to process log files line-by-line. The focus is specifically on using cli.withInput() for memory-efficient streaming and cli.parse() for argument handling.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Uses cli.parse()",
"description": "Uses cli.parse() to define and parse the -f/--file command-line option for accepting the log file path",
"max_score": 20
},
{
"name": "Uses cli.withInput()",
"description": "Uses cli.withInput() method to process the input line-by-line, passing either the file path or handling stdin appropriately",
"max_score": 35
},
{
"name": "Line-by-line processing",
"description": "Correctly implements the callback function for cli.withInput() to receive and process each line individually with the (line, separator, eof) signature",
"max_score": 25
},
{
"name": "Stdin handling",
"description": "Properly handles the case where no file is provided by passing an appropriate value to cli.withInput() to read from stdin",
"max_score": 15
},
{
"name": "Callback completion",
"description": "Uses the eof parameter or completes processing appropriately to output results after all lines have been processed",
"max_score": 5
}
]
}