Skip to content

(WIP) feat: subagent & workflow observability — Agents panel - #4220

Closed
t3dotgg wants to merge 17 commits into
mainfrom
t3code/subagent-workflow-sidebar
Closed

t3dotgg wants to merge 17 commits into
mainfrom
t3code/subagent-workflow-sidebar

fix: dual-review pass (Fable + gpt-5.6-sol high) on rebased branch

a40376b
Select commit
Loading
Failed to load commit list.
MacroscopeApp / Macroscope - Effect Service Conventions succeeded Jul 22, 2026 in 1m 35s

Effect Service Conventions: No issues found

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 examining the diff to check for Effect service convention violations across the changed files. Looking at the key files involved—the schema definitions in contracts, the derivation helpers in client-runtime, and various server and web component files—I need to verify they're following proper Effect conventions, particularly around imports from the Effect library. to check the actual files for import violations. The main conventions I need to verify are whether Effect modules are imported as namespaces from subpaths, and whether any services are being created or refactored. Since this PR is mostly additive functionality for agent tracking rather than service refactoring, I should look for any import style violations in the touched files. I need to adjust the URL formatting. I'll skip the URL parsing approach and use the head commit hash directly instead. I'm noticing the parameter tags are getting included in the URL itself, which shouldn't happen. Let me try switching to git_grep with a different parameter structure, or maybe just test with a plain repo URL to isolate the issue. I'm noticing the URL parameter is being rendered with the XML tag included in the value itself rather than as proper markup—it looks like a formatting issue on my end. Let me reconsider how I'm structuring this and pass the URL cleanly without nested tag problems. I'm seeing a serialization issue where the XML parameter tags are being embedded literally in the URL value instead of being parsed. The problem is that I'm nesting the URL parameter inside the repo object, and the system is treating the inner parameter tag as raw text rather than extracting its value. The solution is to format the repo object as JSON instead of nested XML tags, since the instructions specify that objects should use JSON format while scalar parameters use plain text. The JSON imports are working correctly with namespace syntax. Now I'm checking whether this PR follows Effect service conventions—it's mostly additive work for agent snapshot tracking. Looking at the files involved, CodexAdapter.ts uses the proper namespace imports, and the Shape type it references is pre-existing rather than something new this PR introduces. In ProviderRuntimeIngestion.ts, the main changes are to existing service internals. The new pure helper functions like foldTaskAgentEvent and pruneSettledAgents are fine as standalone exports. The threadAgents.ts module in client-runtime correctly uses namespace imports for Schema and named imports from contracts. Since this PR doesn't actually create new Effect services—just modifies existing ones and adds pure utility functions—there shouldn't be any convention violations here. Let me verify the DateTime imports in ClaudeAdapter to be thorough. The imports look good with proper namespace organization. This PR is mostly UI and feature additions, so I'm checking whether it violates the Effect service conventions—specifically looking for new service definitions, error classes using Schema.TaggedErrorClass, or improper use of ManagedRuntime/runPromise in domain services. I don't see any new service definitions or error classes introduced, but I should verify the web components don't have any violations. The maps inside ProviderRuntimeIngestion's make function are local closures within the service instance rather than module-level globals, which is fine. Let me verify that no consolidated imports from "effect" were introduced in the changed files. Looking at the actual changes in the PR, the modified contract files are using import * as Schema from "effect/Schema" rather than consolidated named imports, so there's nothing new being introduced on that front. The new code in CodexSessionRuntime.ts is using Ref operations within an Effect context, which is fine, and the pure helper functions and schema decoding in the new threadAgents.ts module follow the proper import conventions. Since this is additive feature work with schemas and utilities rather than any Effect service refactoring, I'm not finding any convention violations. Now I need to figure out the response format—the system requires valid JSON matching the schema, but the check instructions say to respond exactly "All clear" when there are no findings. I think the right approach is to emit JSON with a success state and "All clear" as the summary, since the harness expects JSON parsing. Let me verify I haven't missed anything about the CodexAdapter import—it's a pre-existing standalone Shape type that the conventions discourage, but since the PR doesn't touch the service definition, it's outside the scope of what I'm checking. I'm confident there are no violations, so my final answer is success with "All clear" as the summary.


Agent Credits: 92 credits