Parent: #3858
Goal
Make long-running snapshot builds resilient to restarts.
MVP
- Restarting should safely continue without corrupting output.
- Preferably leverage output DB as visited set to skip already-written nodes.
Optional
- Persist worklist/counters periodically to
snapshot_progress.json and resume from it.
Acceptance
- Kill mid-run and restart; completes and produces the same final snapshot as a clean run.
- Clear operator logs indicating resume/skip behavior.