evals
scenario-1
scenario-10
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
{
"context": "Evaluates whether the solution uses cacache's streaming read APIs to expose metadata, integrity, and size information while enforcing integrity expectations for key-based cache reads.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Stream API",
"description": "Streams cached content using cacache.get.stream (or get.stream.byDigest when using an integrity directly) instead of loading data with get, ensuring the response is a readable stream.",
"max_score": 25
},
{
"name": "Metadata event",
"description": "Attaches a listener to the metadata event emitted by the cacache get.stream result and forwards the full entry info to the consumer callback exactly once.",
"max_score": 20
},
{
"name": "Integrity event",
"description": "Listens for the integrity event from the stream and surfaces the SRI string to callers (e.g., via the integrity callback) when it fires.",
"max_score": 20
},
{
"name": "Size event",
"description": "Subscribes to the size event on the cacache stream and publishes the byte length through the exposed callback without waiting for the full payload.",
"max_score": 15
},
{
"name": "Integrity enforcement",
"description": "Uses cacache.get.stream options (integrity/size) or compares the emitted integrity event to an expected value and rejects with the resulting EINTEGRITY/EBADSIZE style error on mismatch.",
"max_score": 10
},
{
"name": "Missing entry errors",
"description": "Propagates errors from cacache.get.stream for absent keys (ENOENT) through the returned stream/promise instead of swallowing them.",
"max_score": 10
}
]
}