land: watcher-stale-diagnostics

Merged
AF
5d ago
+403-57

Accepted agent delivery; branch-keyed search descriptor included.


Summary by cubic

Watcher diagnostics invalidation now stays queued when the LSP manager is busy, rather than dropping the work and leaving stale diagnostics visible. The next drain retries the path.

  • Deferred classified watcher forwarding now emits the complete batch exactly once, after all diagnostics slices finish.
  • Tests hold the manager explicitly so watcher contention is deterministic; a probe distinguishes a failed lock attempt from a slice boundary, and an empty diagnostics phase finishes even while the manager is held.
  • Adds a non-ranking search descriptor for the harness fixture.

RetriggerView in GreptileConfidence Score: 5/5

The PR appears safe to merge; no new actionable issues were found.

Summary

Watcher diagnostics now stay queued when the LSP manager is busy.

  • Watcher diagnostics retry when the language-server manager is busy.
  • The search harness lists this delivery as a non-ranking fixture.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart TD
  A[Apply diagnostics for next path] --> B{Manager lock available?}
  B -->|No| C[Keep path for next drain]
  C --> A
  B -->|Yes| D[Clear or mark diagnostics stale]
  D --> E{Batch finished?}
  E -->|No| A
  E -->|Yes| F[Forward complete watcher batch]

Reviews (4) · Last reviewed commit: "mason: make watcher phase assertions obs..." · Reviewed by Greptile