Skip to content

fix: wait for PR status before inactivity auto-settle - #5187

Closed
caezium wants to merge 7 commits into
pingdotgg:mainfrom
caezium:agent/unknown-pr-auto-settle
Closed

caezium wants to merge 7 commits into
pingdotgg:mainfrom
caezium:agent/unknown-pr-auto-settle

fix: reload unavailable remote status

96dc224
Select commit
Loading
Failed to load commit list.
MacroscopeApp / Macroscope - Effect Service Conventions succeeded Aug 1, 2026 in 54s

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.


🔍 Agent activity — reasoning, no tool calls

💭 I'm looking at the files that were modified for the Effect service conventions—the VCS status broadcaster, git manager, and the contract definitions. Something seems off with how Cause.isInterruptReason and cause.reasons are being used in the VcsStatusBroadcaster code. Looking at the Effect v4 API conventions with the Cause.reasons pattern and how the namespace imports and Context.Service are structured, then moving over to check the GitManager.ts changes to see if the error handling and service conventions align — specifically examining that type change for the pull request lookup result. I'm verifying that Effect.catch is the right pattern here since the error channel is being fully handled, and this was already in the existing code. Now I need to check the client-runtime state files, particularly the Atom-based implementation in the vcs module, to see how the new options parameter fits with the conventions around Atom runtimes. The runtime is consistent across these files, so I don't need to worry about adding a new one. Now I'm checking the imports in the modified files to see if the "effect" imports are properly consolidated—starting with VcsStatusBroadcaster.test.ts. Looking at the test setup, it's using GitManagerError with a specific detail message, which is fine for test code. Scanning through the mobile and web files that were modified, I see mostly React hooks like useThreadPrLookup rather than Effect service definitions. I don't see any new error classes added or Effect runtime utilities like Layer.succeed or ManagedRuntime.make in this diff — the changes are pretty focused on VcsStatusBroad for the Effect services. Now checking the schema additions and type definitions: prLookupFailed is added as an optional boolean key in the contracts, and VcsStatusStreamResult is defined in the shared git file. The pure functions like buildThreadListV2ChangeRequestLookupTargets don't introduce new service parameters. The mobile code reuses the same runtime instance across atoms rather than creating separate ones, which follows the pattern correctly. The contracts index properly exports VcsStatusResult with the new field, and it's imported correctly in threadSettled.ts as a named type import from the contracts package. Checking for any new Effect utilities like catchTag or catchIf — these are pre-existing in the codebase. The Cause.isInterruptReason usage in markRemoteUnavailableForCause is structural and fine. No new ManagedRuntime, runPromise, or Layer.succeed calls appear in the diff, and the web/mobile imports from "effect" remain unchanged. No Effect service convention violations detected. The response needs to satisfy the JSON schema while indicating success.


Agent Credits: 73 credits