or run

npx @tessl/cli init
Log in

Version

Files

docs

index-management.mdindex.mdlisting.mdreading.mdremoval.mdutilities.mdverification.mdwriting.md
tile.json

rubric.jsonevals/scenario-5/

{
  "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
    }
  ]
}