Skip to content

feat(wal): attest committed source closures - #423

Merged
beinan merged 1 commit into
lance-format:mainfrom
beinan:codex/wal-source-closure-proof
Oct 21, 2026
Merged

beinan merged 1 commit into
lance-format:mainfrom
beinan:codex/wal-source-closure-proof

Conversation

@beinan

@beinan beinan commented Oct 21, 2026

Copy link
Copy Markdown
Collaborator

Summary

A catalog closure permit authorizes releasing a source pin but does not prove the source committed that closure. Add Query::ClosedProof, issued after a safe source ReadIndex, so a consumer can verify the exact persisted closure, source cut and original catalog permit. Optional per-group Ed25519 keys keep the catalog private key off source-only replicas; missing signers are rejected before reserving read capacity.

Empty source-key configurations preserve the existing policy identity. Enabling or changing keys requires an explicit policy migration. This increment provides the attestations; catalog checkpoint advancement and physical reclamation remain separate work.

Refs #378.

Testing

  • Replication unit tests, including independent legacy policy-byte compatibility, invalid key policies, signer isolation, proof tampering, loss of quorum and checkpoint/restart recovery.
  • Real TCP child-process and Lance publication/recovery tests, plus feature-enabled Clippy.
  • Full repository CI helper and workspace package checks.

@beinan
beinan merged commit 1e793de into lance-format:main Oct 21, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant