Skip to content

Merge remote-tracking branch 'origin/main' into fix/issue-24547

MacroscopeApp / Macroscope - Effect Service Conventions completed Nov 11, 2026 in 1m 44s

Effect Service Conventions: 1 violation

apps/server/src/workspace/WorkspaceSearchIndex.ts:1 β€” The new diagnostic suppression lacks the required adjacent explanation. An inline suggested fix was posted.

Details

Warning

  • Invalid effort level "max" in front matter. Fell back to "low". Valid values are: low, medium, high.

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


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

πŸ’­ Inspecting directives and context I'm examining the directive adjacency and the test context. It seems there’s a new directive at the top that lacks explanation, which is a bit concerning. I'm wondering why the built-in import directive is thereβ€”it's an adjacent comment but doesn't provide clarity. Should I add a comment inline suggesting a replacement with an explanatory comment? I need to ensure I understand the reason for disabling the directive accurately before proceeding. It sounds like I need to inspect the file further.

1. browse_code β€” apps/server/src/workspace/WorkspaceSearchIndex.ts

πŸ’­ Evaluating code violations I’m noticing that the scanDirectory function requires FS and Path as parameters, but it seems like the internal helper is not using a factory service dependency. It's clear that the production service construction is acquiring what it needs. I think I need some tests focused on the present context and excluded metadata asserts. Maybe I should inspect things with glob to clarify further. There's quite a bit to untangle here as I reflect on it.

2. browse_code β€” apps/server/src/workspace/*.test.ts

πŸ’­ Considering file directory methods I’m thinking about how to improve the file reading process. It seems like using Node's readdir with Dirent could be a better approach because it avoids doing an lstat for each entry. This way, I can enhance performance. The alternative is to use fs.readdir, but that would only give bare names, which might not provide all the details I need. So, I’ll consider this adjustment!

3. modify_pr β€” Submitted review with 1 inline comment

4. browse_code β€” In apps/server/src/workspace/WorkspaceSearchIndex.ts at current PR head, are new Effect service conventions violated beyond the undocumented nodeBuiltinImport diagnostic suppression? Check changed lines only for service construction/dependencies, effect functions, and test coverage; concise answer.

5. browse_code β€” apps/server/src/workspace/WorkspaceSearchIndex.ts

6. browse_code β€” apps/server/src/workspace/WorkspaceSearchIndex.ts

7. browse_code β€” apps/server/src/workspace/WorkspaceSearchIndex.ts

8. browse_code β€” apps/server/src/workspace/WorkspaceSearchIndex.ts

9. browse_code β€” Does new scanDirectory(fileSystem, path, cwd, root, directory) count as forbidden service injection factory, given it is internal helper with service args obtained by make via yield*? Answer narrowly.

10. browse_code β€” apps/server/src/workspace/WorkspaceSearchIndex.ts

11. browse_code β€” Is the new top-of-file // @effect-diagnostics nodeBuiltinImport:off adjacent to an explanatory comment? Answer yes/no and cite placement.

12. browse_code β€” Were focused test files added in PR for symlink backend behavior? Check test contents at head, brief.

13. browse_code β€” Check if IgnorePatterns.ts added free function parseIgnoreFile is pure or effectful service work. concise.

14. browse_code β€” Does changed file import VcsProcess as namespace and acquire from environment? yes/no.

15. browse_code β€” Is there another new diagnostic suppression elsewhere in the changed WorkspaceSearchIndex.ts or IgnorePatterns.ts besides line 1? concise.

16. browse_code β€” Does no explanation for directive constitute concrete violation per effect-services doc? yes/no.

17. browse_code β€” Brief summarize findings.


Agent Credits: 36 credits

Token usage: 96 uncached input Β· 751,102 cache-read input Β· 62,042 cache-write input Β· 3,249 output
Agent Credits may also include non-token charges from external tools such as web research.