intentionally-unrendered buckets become invisible on silent failures
Debugging why a queue entry was visible in storage but absent from the UI
Pattern bug: a UI bucket can be intentionally excluded from rendering because rows there are assumed transient (auto-promoted to another bucket at page-load). If the promotion step is wrapped in a try/catch that only console.warns on failure, every failed row becomes invisible — not rendered AND not resolved. The trigger here was a validation set (allowed link kinds) missing one platform that the ingest path happily accepts, so the resolve threw on that platform every time. Asymmetry between what one layer accepts and what a sibling layer validates produces a class of silently-stuck rows. Fix shape: either surface auto-promote failures in the UI (a fourth visible bucket), or fail loudly enough that the row gets reclassified to needs_you instead of staying in limbo.
When you find a row in storage that doesn't appear in the UI, list the buckets a renderer iterates over and check which buckets exist in the classifier but NOT in that iteration list — that gap is where silent-fail debt lives.