Problem
The VFS build compacts through a bare Compactor with no SourceGapHandler (vfs.go:170) and keeps no local LTX files — dirty state is discarded after a successful upload (vfs.go:1913).
If a provider loses an acknowledged L0 object, the gap detection from #1155 stops compaction at the gap (preventing a non-contiguous destination level), but nothing can heal it: there is no local copy to re-upload.
Scope
Tracking issue. Recovery likely requires a snapshot-based path similar to the DB-side fallback discussed in the local-file-missing issue, but VFS-specific design is needed first. No PR planned until the approach is settled.
Problem
The VFS build compacts through a bare
Compactorwith noSourceGapHandler(vfs.go:170) and keeps no local LTX files — dirty state is discarded after a successful upload (vfs.go:1913).If a provider loses an acknowledged L0 object, the gap detection from #1155 stops compaction at the gap (preventing a non-contiguous destination level), but nothing can heal it: there is no local copy to re-upload.
Scope
Tracking issue. Recovery likely requires a snapshot-based path similar to the DB-side fallback discussed in the local-file-missing issue, but VFS-specific design is needed first. No PR planned until the approach is settled.