perf(server): avoid full patches for checkpoint summaries - #9694
Effect Service Conventions: All clear
All clear
Details
Note
Your check run agent prompt is: .macroscope/check-run-agents/effect-service-conventions.md
More information about how Check Run Agents work can be found in our Help Center.
Reviewed changed non-test TypeScript in scope: apps/server/src/checkpointing/Diffs.ts, apps/server/src/checkpointing/CheckpointStore.ts, apps/server/src/orchestration/Layers/CheckpointReactor.ts, apps/server/src/vcs/GitVcsDriver.ts, apps/server/src/vcs/VcsDriver.ts, apps/server/src/vcs/VcsProcess.ts.
The previously flagged synthetic-cause error construction in GitVcsDriver.diffCheckpoints was replaced by selecting the process runner's outputMode: "error" for numstat requests, so the failure now surfaces as VcsProcessOutputLimitError with real stream/maxBytes/observedBytes from the runner — no free-text defect in the error chain. Remaining changed lines are additive input-shape plumbing (format, outputMode), a bounded span annotation, numstat argument selection, and a pure parsing helper; no new named imports from bare effect, no runtime execution inside services, no new lint suppressions, and no error-class convention violations were introduced.
🔍 Agent activity — 5 tool calls
💭 I'm reviewing the changed non-test TS files—Diffs.ts, CheckpointStore.ts, CheckpointReactor.ts, and the VCS driver files—since the prior finding was resolved, and now checking the current state of GitVcsDriver.ts's numstat handling and VcsProcess.ts.
1. browse_code — apps/server/src/vcs/VcsProcess.ts
2. browse_code — apps/server/src/checkpointing/Diffs.ts
💭 I'm now examining GitVcsDriver.ts to look at how diff checkpoints are handled.
3. browse_code — apps/server/src/vcs/GitVcsDriver.ts
4. browse_code — apps/server/src/vcs/GitVcsDriver.ts
💭 With that fix confirmed, I'm scanning the remaining changed lines in GitVcsDriver.ts for other convention issues, and the outputMode plumbing and numstat argument selection all look consistent with existing patterns. Now checking csProcess.ts's outputMode passthrough, which also looks fine. Next I want to examine CheckpointReactor.ts around lines 260-300, where the "numstat" format setting and parsing logic were changed.
5. browse_code — apps/server/src/orchestration/Layers/CheckpointReactor.ts
💭 The error.message usages are pre-existing and unchanged, only lines 273 and 277 differ. I'm checking whether
streamEventsForTestalready exists in RuntimeReceiptBus.ts since the diff doesn't show changes there, but I want to confirm since the test file now imports RuntimeReceiptBusTest. Diffs.ts remains a pure helper with no Effect service concerns, and CheckpointStore.ts just adds an optional format field with doc comments—nothing problematic. I don't see any new lint suppressions, ts-expect-error additions, or bare "effect" imports outside test files, so everything checks out clean with no findings to report.
Agent Credits: 37 credits
Token usage: 8 uncached input · 97,726 cache-read input · 38,273 cache-write input · 2,424 output
Agent Credits may also include non-token charges from external tools such as web research.