You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Operational knob: persisted notebook-docs (notebook-docs/{hash}.automerge + snapshots) and the blob store currently have independent retention/grace windows. A blob can be GC'd while its referencing doc is still persisted, surfacing as a dead-link output when the doc is reloaded.
Reference-count on GC — sweep persisted docs for blob refs before evicting blobs (already partially done for active rooms via blob GC correctness spec Fix deprecation, dead code warnings, and other clippiness #1 — extend to persisted-but-evicted).
Transitively promote blobs referenced by saved docs — when persisting a doc, also mark its blobs as "saved" in a separate tier with longer retention.
Operational knob: persisted notebook-docs (
notebook-docs/{hash}.automerge+ snapshots) and the blob store currently have independent retention/grace windows. A blob can be GC'd while its referencing doc is still persisted, surfacing as a dead-link output when the doc is reloaded.Current state
blob_store/daemon.rs)recover_notebook_docsreads the .automerge file; if blob hashes referenced inside aren't on disk anymore, outputs render as "missing blob"Fix
Either:
Related
crates/runtimed/src/daemon.rs— blob GC lives heredocs/superpowers/specs/2026-04-14-blob-gc-correctness-design.md