Skip to content

fix(server): resolve Node for standalone helper scripts

MacroscopeApp / Macroscope - Effect Service Conventions completed Sep 16, 2026 in 3m 34s

Effect Service Conventions: 7 issues found

Found 7 blocking structured-error violations across changed production files. Inline review comments identify each location and expected fix.

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 all 10 changed files (no prior completed review)


πŸ” Agent activity β€” 10 tool calls

1. browse_code β€” apps/server/src/device/DeviceHost.ts

2. browse_code β€” apps/server/src/provider/Drivers/AntigravityDriver.ts

3. browse_code β€” apps/server/src/provider/AntigravityInstallation.ts

πŸ’­ Inspecting service errors I need to consider how the service convention applies when consuming the service, specifically resolving the Node executable. It seems there's a legacy error with the AntigravityInstallation that's caused by a changed line passing cause.message into the helper, which might violate previous expectations. I should inspect the helper and the mapping to clarify what went wrong and how to correct it. It's a bit technical, but solving this will help streamline things!

4. browse_code β€” Review only changed production TypeScript lines in PR head ae39cfb for violations of these error conventions: Schema.TaggedError messages must derive only from structured safe attributes, never cause/cause.message; do not add detail fields copying cause.message; wrapping must preserve immediate cause. Focus on changed uses in DeviceHost.ts, LocalDeviceHost.ts, AntigravityInstallation.ts, AntigravityDriver.ts, handlers.ts, DeviceService.ts, antigravityAuthSupport.ts, and nodeRuntime.ts. Identify distinct introduced violations and exact head line numbers, avoiding duplicates where one root definition accounts for consumers.

5. modify_pr β€” Submitted review with 7 inline comments

6. browse_code β€” Check the exact head line numbers for the changed production lines containing (1) detail: cause.message in LocalDeviceHost.ts, (2) installationError("verify", cause.message in AntigravityInstallation.ts, (3) error.message mapping in antigravityAuthSupport.ts, (4) error.message reason in handlers.ts, and (5) NodeRuntimeUnavailableError reason in DeviceService.ts. Return path:line only.

7. modify_pr β€” Effect service error conventions are violated by the new failure translations: several wrappers copy cause.message into caller-visible fields, and some also discard the immediate cause. The inline comments identify each affected boundary and the expected structured-error fix. β€” not performed: the agent's request was refused before it ran

8. modify_pr β€” POST repos/{owner}/{repo}/issues/{pull_number}/comments β€” rejected: body must be a single valid JSON object β€” do not double-encode, concatenate, or wrap the JSON. Correct example: {"body": "comment text"}

9. modify_pr β€” POST repos/{owner}/{repo}/issues/{pull_number}/comments

10. modify_pr β€” PATCH repos/{owner}/{repo}/issues/comments/5692886725


Agent Credits: 74 credits

Token usage: 45 uncached input Β· 143,763 cache-read input Β· 106,892 cache-write input Β· 5,453 output
Agent Credits may also include non-token charges from external tools such as web research.