Post-0.64 batch 6
Merged
AF
5h ago+3392+3392+0123456789012345678901234567890123456789-421-421-012345678901234567890123456789
Post-0.64 batch 6, on top of batch 5 (main 04da2d72).
scope.background_tasksanswers from an indexed query instead of walking every saved task folder, and reports incomplete only for a real store failure.- Health metrics fit AFT's 12 KiB budget again (per-root language-server applicability trimmed to the costliest roots plus totals); large-read counters split into whole and streamed reads.
- The apps' AFT status command finds a working head's project when core opened the route or Broca used the
runneralias. - Profiler child processes (atos, sample, perf, otool, addr2line) stream input while draining output, under a deadline that kills the process group.
- Shell waits and request deadlines count time asleep (issue #1439); a request that expires across a sleep gets one 10 s allowance for its reply.
@cortexkit/subc-client0.24.5 withsleepGraceMs: 10000. - Language-server void requests (
shutdown,exit) omitparams, and a missing TypeScript SDK is not counted as an AFT start failure. - The cached-LSP smoke test passes a 30 s budget so a loaded macOS runner can't turn its check into an inconclusive timeout.
Summary by cubic
Post-0.64 batch 6: improves reliability and observability across background-task checks, shell waits, profiling, language-server handling, and the subc daemon pin. Behavior changes include pending or failed task-store writes keeping completion checks explicitly incomplete, plus a 10-second reply allowance for requests that expire across a sleep (#1439).
- Background-task checks use indexed queries instead of scanning saved task folders, and report incomplete results with named reasons when store writes are pending or fail.
- Shell wait and request deadlines count time asleep; requests get a 10-second reply allowance after wake, and the daemon pin moves to
subc-core-v0.21.3with centralized wire-version metadata (#1439). - Handback and bridge-override tests now use a complete test clock, pinning assertions to receipt time so the suspend-aware expiry can't race on CI.
- Health metrics stay within the 12 KiB budget, trimming SQLite opener detail into a named omission count when the budget is tight, and large-read counters distinguish whole-file and streamed reads.
- Profiling tools drain output while streaming input and stop at a deadline that kills their process group.
- AFT status resolves projects through core-opened routes; language servers omit
paramson void requests and no longer count a missing TypeScript SDK as a start failure. The cached-LSP smoke test gets a 30-second budget so a loaded macOS runner can't time it out.