Repository navigation
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.
🔍 Agent activity — 6 tool calls
💭 I'm reviewing the non-test changed files—ProjectionPipeline.ts and the ProjectionThreadActivities layers/services. The previous concern about the unused method was already addressed since it still has a caller, so I won't raise that again, and I'm now checking whether the new code follows Effect service conventions, noting that the standalone
ProjectionThreadActivityRepositoryShapeinterface predates this PR even though the PR extends it. Since this is pre-existing pattern rather than something introduced by the diff, I won't flag it as a new issue or push for repo-wide cleanup. Let me look at the actual file contents now.
1. browse_code — apps/server/src/persistence/Services/ProjectionThreadActivities.ts
2. browse_code — apps/server/src/persistence/Layers/ProjectionThreadActivities.ts
💭 I'm double-checking whether findOne returns an Option or unwraps directly, since the type-checker accepted the mapping without unwrapping — suggesting the unstable version's typing might differ from what I expected. I'm also verifying the new imports for legacyStaleRequestFailureDetails and NonNegativeInt are used correctly and that the existing error-handling helper is applied consistently with other files in the pipeline.
3. browse_code — In this repo, what does SqlSchema.findOne from effect/unstable/sql/SqlSchema return — Effect<Option> or Effect? Show other usages of SqlSchema.findOne in apps/server/src/persistence and how the result is consumed.
4. browse_code — apps/server/src/orchestration/Layers/ProjectionPipeline.ts
💭 The findOne usage looks fine and matches existing patterns. Now I need to check the changed regions in ProjectionPipeline.ts and verify whether isRequestResponseStale became unused after removing derivePendingUserInputCountFromActivities.
5. browse_code — apps/server/src/orchestration/Layers/ProjectionPipeline.ts
6. browse_code — apps/server/src/orchestration/Layers/ProjectionPipeline.ts
💭 Everything else looks conventional here, though I notice the SQL assumes lowercase detail strings without normalizing case, and there's some duplicated stale-check logic between TypeScript and SQL that isn't a strict convention violation but worth flagging. Tests exist, so change discipline seems fine. Checking the standalone shape interface pattern, adding new members to an existing
FooShapeinterface is consistent with pre-existing code in the file, and conventions say not to demand repo-wide restructuring for legacy patterns, so I won't flag that. With no genuine findings remaining, I'll finalize the response as exactly "All clear" per the instructions, making sure the summary field meets the minimum length requirement.
Agent Credits: 117 credits
Token usage: 22 uncached input · 258,571 cache-read input · 119,312 cache-write input · 9,296 output
Agent Credits may also include non-token charges from external tools such as web research.