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
fix(parser): propagate symlink resolution failures in remaining streaming discoverers
Claude, OpenClaw/QClaw, OpenCode storage, Grok, and Vibe streaming
discovery silently treated a followed directory symlink as absent when
statting its target failed (dangling link, unreadable parent).
Reconciliation treats a clean DiscoverEach as authoritative, so a
temporarily broken symlink could tombstone every session beneath it.
Route all five discoverers through a shared
streamingDirCandidateOrIncomplete helper that surfaces the failure as
DiscoveryIncompleteError, and convert the Gemini site from cd41db0 to
the same helper. Claude's project walk records the failure and
continues with healthy siblings, matching its existing accumulator;
the abort-style walkers (claw, opencode storage, grok, vibe) fail the
scope like their other discovery errors. Name filters now run before
the symlink stat so dangling links that cannot name a session are
still skipped silently.
This completes the isDirOrSymlink sweep for authoritative streaming
discovery; the remaining call sites are legacy Discover enumeration,
find-source lookups, changed-path mapping, and watch-root helpers,
none of which gate reconciliation tombstoning.
0 commit comments