evals
scenario-1
scenario-10
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
{
"context": "Evaluates use of cacache's manual index maintenance APIs to register existing content and compact key history without rewriting data, ensuring integrity-aware validation and accurate reporting via index queries.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Index insert",
"description": "Seeds entries by calling cacache.index.insert(cache, key, integrity, {metadata, size, time}) for each provided record rather than using put/put.stream or manual file writes.",
"max_score": 30
},
{
"name": "Content validation",
"description": "Confirms declared size/integrity against cached content using cacache.get.hasContent or an equivalent digest check before inserting, and fails with the package's integrity/size error when mismatched.",
"max_score": 20
},
{
"name": "Compact matcher",
"description": "Runs cacache.index.compact(cache, key, matchFn, ...) with the caller-supplied matcher comparing existing vs incoming entries to keep only desired records, relying on the API's returned ordering for the latest pointer instead of manual filtering.",
"max_score": 20
},
{
"name": "Validate hook",
"description": "Passes a validateEntry function via the compact opts so rejected entries abort compaction rather than being filtered post hoc.",
"max_score": 10
},
{
"name": "Index reporting",
"description": "Derives latest integrity/metadata and history counts using cacache.ls or cacache.get.info instead of custom filesystem parsing.",
"max_score": 10
},
{
"name": "No rewrites",
"description": "Avoids package write helpers (put/put.stream or tmp copies) during seeding/compaction, keeping content files untouched while manipulating only the index.",
"max_score": 10
}
]
}