Skip to content

[eno][backup 3/7] Add tombstone recovery API foundation - #656

Merged
Ruinan Liu (ruinan-liu) merged 2 commits into
mainfrom
users/ruinanliu/backup-3-recovery-foundation
Sep 28, 2026
Merged

Ruinan Liu (ruinan-liu) merged 2 commits into
mainfrom
users/ruinanliu/backup-3-recovery-foundation

Conversation

@ruinan-liu

Copy link
Copy Markdown
Collaborator

Summary

Add the API and shared helper foundation required by tombstone recovery, without registering a controller or changing deployed reconciliation behavior.

Behavior

  • Add synthesis-bound TombstoneRecoveryFinished status and TombstoneRecoveryComplete().
  • Compute TombstoneRecoveryRequired independently for each synthesis instead of inheriting it.
  • Share group/kind/namespace/name identity resolution between normal synthesis and recovery inventory diffing, including Patch targets.
  • Retain appended tombstones when ResourceSlice status has not yet grown to include their manifest index.
  • Export the ResourceSlice packing byte limit for recovery overflow packing.

Stack

This is the first of three PRs split from #655:

  1. This PR: recovery API and helper foundation.
  2. [eno][tombstone-recovery 4/7] Recover missing tombstones #655: opt-in tombstone recovery controller and reconciliation gate.
  3. Follow-up stacked PR: ready-synthesis inventory recording and rotation.

End-to-end coverage for backup and tombstone recovery will be added in a later effort.

Define synthesis-scoped recovery completion, reset recovery requirements for each synthesis, and share resource identity semantics between normal slicing and inventory diffing.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 2560c464-3bb6-4181-bcc5-68520a598fa3
Keep the per-synthesis recovery expectation and generated API persistence coverage with the foundation behavior they verify.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 2560c464-3bb6-4181-bcc5-68520a598fa3
@ruinan-liu
Ruinan Liu (ruinan-liu) removed this pull request from stack #658 September 28, 2026 16:49
@ruinan-liu
Ruinan Liu (ruinan-liu) merged commit a1056bb into main Sep 28, 2026
71 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.

2 participants