Fixes scoped aft_inspect on TypeScript 5 reporting a file clean before its type check finished. The TypeScript server's push protocol merges independently arriving diagnostic categories, so its first empty push wasn't proof of a clean file; the sweep now asks the server's synchronous tsserver commands for complete syntactic, semantic, and suggestion diagnostics.
Bug Fixes
Complete request-local answers stay in the inspect output — later partial pushes can't replace them, and warm status-bar counts and TypeScript 7 native pulls are unchanged.
Unsupported, malformed, timed-out, or changed-document sync requests leave the file pending and add a named coverage gap instead of a clean result.
Files excluded by their tsconfig skip the sync requests entirely and retain their existing exclusion gap.
Confidence Score: 5/5
The PR appears safe to merge; no outstanding findings remain.
Summary
Scoped TypeScript 5 inspection now requests all three diagnostic categories and keeps those answers separate from later push updates.
Scoped TypeScript inspection waits for all three diagnostic groups.
Scoped TypeScript checks skip files outside their tsconfig.
Diagram
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Scoped TypeScript file] --> B{Excluded by tsconfig?}
B -->|Yes| C[Keep exclusion gap]
B -->|No, push-only server| D[Request syntax, semantic, and suggestion diagnostics]
D --> E{Complete reply and unchanged document?}
E -->|Yes| F[Use request-local diagnostics]
E -->|No| G[Keep file pending with named gap]
H[Later push updates] --> I[Warm diagnostic store]