Skip to content

Implement private named vault and mutable root-set surfaces #92

Description

@flyingrobots

Outcome

Provide application-friendly private named-vault and mutable root-set surfaces over exact Keep retention namespaces and generations, with optimistic concurrency, privacy-preserving names, and generation-scoped evidence.

Dependencies

Invariant impact

Names and root-set membership are policy coordinates, not content identity. A successful update must retain exactly the validated handle graph under one exact successor generation or refuse with expected and observed evidence.

Acceptance criteria

  • Vault entries map opaque private-name digests to validated handles without storing plaintext names by default.
  • The private-name construction has an explicit equality-leak and key-rotation contract.
  • Root-set replacement uses exact generation compare-and-swap and never merges stale candidates implicitly.
  • Release publishes a successor generation; it never claims immediate physical deletion.
  • Read acquisitions pin one complete immutable generation while in use.
  • Inspection is bounded and reports verification, retention, and generation posture separately.
  • Recovery covers every staged generation, name-index, head, and cleanup crash prefix.
  • Concurrency, corruption, property, model, fuzz, and process-death tests pass.

Non-goals

  • Git refs or Git history semantics.
  • Ambient user identity or ACL policy.
  • A mutable truth document.
  • Claiming metadata confidentiality beyond the admitted private-name profile.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:gcGarbage collection and compactionarea:retentionRetention namespaces, roots, and generationsarea:verificationIntegrity verification and corruption posturekind:implementationProduction implementation workkind:testTest infrastructure or failure-mode evidencepriority:P1Must fix before closing out the current milestone

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions