Add local CAS cleanup policy

This commit is contained in:
Eric Wendland 2026-05-16 21:10:25 +02:00
commit 21920b51b5
10 changed files with 184 additions and 8 deletions

View file

@ -89,7 +89,8 @@ Resource kinds:
`geth-cas` is implemented locally first using BLAKE3 hashes and filesystem blob
storage. Local pin/unpin metadata is tracked in SQLite and surfaced in
`cas list`. Iroh-blobs, providers, encrypted blobs, cache cleanup, manifests,
`cas list`. `cas cleanup` removes unpinned local blobs while retaining pinned
blobs. Iroh-blobs, providers, encrypted blobs, richer cache policies, manifests,
and file sync trees are future work.
`geth-kv`, `geth-db`, `geth-document`, `geth-pubsub`, `geth-pipe`, and

View file

@ -200,14 +200,14 @@ authorization and durable-state boundaries clear.
- Provider tracking is recorded locally.
- Local add/get/hash/has/list behavior remains backward compatible.
- `[~]` CAS pin and cache policy.
- `[x]` CAS pin and cache policy.
Acceptance criteria:
- `[x]` `geth cas pin <hash>` persists local pin metadata.
- `[x]` `geth cas unpin <hash>` removes local pin metadata.
- `[x]` `geth cas list` reports pinned versus unpinned blobs.
- `[ ]` Pinned blobs are retained across cache cleanup.
- `[ ]` Unpinned cached blobs can be evicted by policy.
- `[ ]` Tests cover attempted eviction of pinned data.
- `[x]` Pinned blobs are retained across cache cleanup.
- `[x]` Unpinned cached blobs can be evicted by policy.
- `[x]` Tests cover attempted eviction of pinned data.
- `[ ]` Encrypted private blobs.
Acceptance criteria: