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 in-scope changed files: apps/server/src/orchestration/Layers/ProjectionPipeline.ts, apps/server/src/persistence/Layers/ProjectionThreadProposedPlans.ts, apps/server/src/persistence/Services/ProjectionThreadProposedPlans.ts (test files excluded per check scope).
Checked: namespace subpath imports for Effect modules, service/layer module ordering, dependency acquisition via SqlClient.SqlClient from the environment (no module globals or managed runtimes in persistence), error construction through the existing toPersistenceSqlError mapper (which performs real normalization and predates this change), and test coverage for the new behavior. The new hasActionableByThreadId operation and its schema input follow the existing repository conventions in these modules; no violations introduced by the changed lines.
🔍 Agent activity — 4 tool calls
💭 I want to check the changed non-test files, particularly ProjectionPipeline.ts and the ProjectionThreadProposedPlans files across Layers and Services.
1. browse_code — apps/server/src/persistence/Layers/ProjectionThreadProposedPlans.ts
2. browse_code — apps/server/src/persistence/Services/ProjectionThreadProposedPlans.ts
💭 The
FooShapeinterface predates this PR, so adding a method to it isn't a new standalone interface violation—that's an untouched legacy pattern, not a finding. Now I'm checkingtoPersistenceSqlErrorfor similar concerns. That helper is used consistently with its pre-existing pattern in Errors.ts, so no issue there. The ProjectionPipeline.ts change swaps a derive function for the repository call, which looks fine, and other conventions like Effect.fn with mapError, import style, error-mapping labels, SQL comparison logic, and the Shape interface's return type all check out as either pre-existing patterns or non-issues per the review criteria. Tests were added, so I'm not seeing any actual findings so far—just want to double-check the ProjectionPipeline.ts diff once more before concluding.
3. browse_code — apps/server/src/orchestration/Layers/ProjectionPipeline.ts
4. browse_code — apps/server/src/persistence/Errors.ts
💭 No new convention violations found — the code follows existing patterns and reuses a pre-existing helper meant for these call sites. Since there's nothing to flag, my final response should just be "All clear".
Agent Credits: 28 credits
Token usage: 6 uncached input · 46,038 cache-read input · 30,318 cache-write input · 1,875 output
Agent Credits may also include non-token charges from external tools such as web research.