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-10/

{
  "context": "Evaluates whether the solution uses cacache's deletion APIs correctly, especially the removeFully override that deletes index buckets instead of tombstoning entries. Checks that tombstone removals, full bucket purges, and skipped keys are handled and reported distinctly.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Default rm.entry",
      "description": "Standard removals call `cacache.rm.entry` (or `rm`) without `removeFully` so keys are tombstoned rather than manually deleting files or using `rm.all`/`rm.content`.",
      "max_score": 25
    },
    {
      "name": "removeFully override",
      "description": "Keys marked for full purging invoke `cacache.rm.entry(cachePath, key, { removeFully: true })`, ensuring bucket files are deleted instead of leaving tombstones and avoiding other APIs for this purpose.",
      "max_score": 30
    },
    {
      "name": "Missing key handling",
      "description": "Handles absent keys via `cacache.get.info`/`ls` checks or rm.entry error handling to mark them as skipped without throwing, rather than attempting content deletes.",
      "max_score": 10
    },
    {
      "name": "Mixed mode separation",
      "description": "Processes flagged and unflagged keys in a single run while preserving the correct mode per key (removeFully only for specified keys, tombstone for others) instead of applying one mode globally.",
      "max_score": 20
    },
    {
      "name": "Result alignment",
      "description": "Returned `tombstoned`, `fullyRemoved`, and `skipped` arrays reflect the actual outcomes of the specific cacache calls (with or without removeFully) made for each key.",
      "max_score": 15
    }
  ]
}