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 keyed write APIs to store content with metadata, enforce size hints, and support streaming and JSON helper behaviors defined in the spec. Emphasis is on correct use of cacache.put and cacache.put.stream options to return integrity and size values while persisting metadata.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Direct writes",
"description": "Uses cacache.put(cachePath, key, content, { metadata, size, algorithms }) for string/Buffer writes instead of manual filesystem handling, and returns the integrity string produced by cacache.",
"max_score": 30
},
{
"name": "Size enforcement",
"description": "Maps the spec's expectedSize option to cacache's size option (or equivalent) so writes fail when lengths mismatch and succeed when sizes align.",
"max_score": 15
},
{
"name": "Stream writes",
"description": "Implements saveStream with cacache.put.stream(cachePath, key, { metadata, size, algorithms }) and resolves using the emitted integrity and size values rather than re-implementing streaming logic.",
"max_score": 30
},
{
"name": "JSON metadata",
"description": "Serializes objects to JSON and writes via cacache.put while attaching metadata (including default contentType) through the metadata option so it is stored with the entry.",
"max_score": 15
},
{
"name": "Algorithm passthrough",
"description": "Forwards any algorithms option from callers into cacache.put or cacache.put.stream to control hashing, avoiding hard-coded defaults when input is provided.",
"max_score": 10
}
]
}