fix(resolve): refresh the pool snapshot before the first calls batch fans out

Merged
BO
1mo ago
+41-33

The post-prerequisite snapshot refresh (#159, #168) ran at the idle boundary right after a batch settled. At that point the settled batch's supertype edges hadn't been inserted yet. When the settled batch was the last prerequisite batch, the refresh therefore waited a whole iteration. Meanwhile the first calls batch fanned out on the stale snapshot and sent every supertype walk back to TypeScript (rmot-supers/btm-supers: 109 on laravel).

The refresh now runs after the insert and before the next fan-out. That's still an idle boundary: the settled batch is finished and the next one hasn't started. The block itself is unchanged.

CorpusPunts beforePunts afterDump, kernel vs CODEGRAPH_KERNEL_RESOLVE=0
laravel (worker pool)109 (rmot-supers 89, btm-supers 20)0identical
vitest, ktor, celeryunchangedunchangedidentical

Full suite: 317 files, 5233 passed, 11 skipped. Ledger: docs/design/metrics-ledger.md §5.78.