Skip to content

Add RootSet-backed CacheSet lifecycle management #59

Description

@flyingrobots

Parent: #50

Outcome

git-cas, rather than each application, owns cache indexes, reachability, replacement, expiry, capacity policy, repair, and cache-level diagnostics.

Scope

  • CacheSet open/get/put/remove/replace/sweep APIs.
  • RootSet-backed reachability with safe concurrent mutation.
  • TTL, maxEntries, maxBytes, and approximate LRU policy.
  • Size, created, accessed, expiry, policy, and retention metadata.
  • Avoid a durable metadata write on every cache hit.
  • Doctor and repair operations.
  • RetentionWitness results for mutations.

Proof

  • Pre-anchor, publish, and guarded cleanup ordering.
  • Concurrent replacement retains the winner and tolerates harmless extra roots.
  • Expired and evicted entries become collectible.
  • Pinned entries survive ordinary cache sweeps.
  • Capacity and age reports match real repository objects.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:storageStorage, Git objects, manifests, or persistencetype:sliceTurn-sized proof work under a goalpost

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions