landing: batch K (task descriptors, disk-limit walks, deleted-root language servers, inspect lease, Swift syntax)

Merged
AF
1h ago
+2660-276

Landing batch of settled worker fixes, each reviewed and verified before settling:

  • mason: bound descriptors retained by bash task history
  • Word the task descriptor release note for users
  • mason: reduce disk-limit walks and health census churn
  • Word the disk-limit release note for users
  • mason: reap language servers when project roots are deleted
  • Word the deleted-root language server release note for users
  • mason: allow an initial inspect lease attempt after slow preparation
  • mason: retry merge-queue PR association lookup
  • mason: report unconfirmed created Swift syntax as unknown
  • mason: retry transient Swift compiler discovery
  • mason: tolerate in-flight Windows replacement in frozen LSP test

Summary by cubic

Lands a batch of settled worker fixes, each reviewed and verified before settling. Adds user-facing release notes for the behavior changes.

Bug Fixes

  • Finished and recovered background commands no longer keep a folder handle open each, so a long command history can't exhaust the daemon's open-file limit.
  • Language servers started for a project shut down as soon as the project folder is deleted, instead of running until the idle timeout (fixes #631).
  • aft_inspect no longer reports a writer-lease timeout when slow cache preparation exhausts the retry budget but no other process holds the cache.
  • A new Swift file reports its syntax check as unknown, not invalid, when the compiler check times out or fails transiently; transient compiler discovery failures are retried.
  • Merge-queue PR association lookup retries transient empty responses instead of failing the run.
  • A temporary filesystem failure in the root-presence check no longer disables file watching for that root.

Performance

  • The disk-limit background check reduces re-measurement of unchanged folders by about 94%, and the health summary does less work per tick.
  • Health census rendering now moves prebuilt root JSON instead of reserializing, cutting CPU per tick.
  • Semantic view fills reuse verified resident chunk vectors so one-file edits avoid SQLite payload reads, and same-epoch touches skip the write transaction entirely.

RetriggerView in GreptileConfidence Score: 5/5

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

Summary

This batch reduces retained task handles and repeated disk work. It also shuts down language servers for deleted projects, improves inspect lease acquisition, and reports unfinished Swift checks as unknown.

  • Disk-limit checks reuse unchanged file sizes between walks.
  • Semantic fills reuse verified chunk vectors and skip unneeded writes.
  • Deleted project roots now trigger language-server cleanup.
  • New Swift files show unknown syntax when checks cannot confirm them.
  • Background task history no longer keeps a folder handle per command.
  • Health summaries reuse unchanged rows and report rollup timings.
  • Inspect cache opening makes its first lease attempt after slow preparation.
  • Merge-queue lookup retries empty PR results and checks the final queue ref.
  • Windows test helpers tolerate file replacement and slower actor startup.

The ancestry checks did not pass, so the full PR diff was reviewed as the changes since the previous review.

Reviews (4) · Last reviewed commit: "mason: correct Batch K cross-platform re..." · Reviewed by Greptile