Operation-fenced reference-stage lifetime plan
Goal: remove terminal publish/delete races and make crash residue deterministically reclaimable without an unbounded object-store scan.
- Keep header-last publication and bounded exact-prefix cleanup.
- Add an engine-neutral operation-expiry hook with a default no-op.
- Stop deleting Lance stages from append and reconciliation success paths.
- Invoke exact-stage cleanup from expired-operation GC while holding the table lock and before deleting the durable operation record.
- Keep the record on cleanup failure so the paged GC cursor can retry it.
- Prove engine retention/expiry, Metasrv cleanup ordering, same-operation convergence, and malformed-header fail-closed behavior deterministically.
- Run spec lifecycle, affected package tests/clippy, full gate, rustdoc, independent correctness review, and fixed-head verification before merge.