Skip to content

Move cursor and replay retention to git-cas expiry collections #740

Description

@flyingrobots

Parent: #734
Blocked by: #735 and git-stunts/git-cas#53

Outcome

WARP does not maintain mutable cursor blobs, cache refs, or in-memory LRU replay protection.

Scope

  • Store active/saved cursor state in an explicit git-cas expiry collection.
  • Replace SyncAuthService nonce LRU with the expiry-safe replay set.
  • Define the acceptance-window TTL in WARP while git-cas enforces retention.
  • Audit remaining WARP metadata writes and classify each as causal history, durable asset, or expiring state.
  • Remove mutable ref metadata protocols that are not causal WARP refs.

Proof

  • Restarting does not lose replay protection.
  • Unexpired nonces cannot be evicted under capacity pressure.
  • Expired cursors and nonces become collectible after sweep.
  • Concurrent duplicate nonce admission has one winner.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:storagePrimary work area: storage.priority:asapImmediate release pressure.status:activeSomeone is actively working this issue.type:bugDefect or incorrect behavior.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions