Repository navigation
refactor(provider-acp): ACP, ACP Registry and Grok follow the Effect service conventions - #17544
Conversation
…service conventions Effect http/process modules are imported as subpath namespaces. Factories yield ChildProcessSpawner, FileSystem, Path, AcpRegistryCatalog and the optional AcpRegistryRuntimeCoordinator from the environment instead of taking them as options: makeAcpClientTerminals, makeAcpAdapterV2 clientTerminals, terminateWindowsProcessTreeWithTaskkill, makeGrokAcpRuntime, makeGrokAcpAdapterFlavor, makeAcpRegistryAdapterV2 and acpRegistryManagedBinaryDirectories. Flavor makeRuntime factories may now require ChildProcessSpawner, which the ACP adapter provides. The Grok snapshot error detail no longer copies cause.message. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — The PR primarily rewires existing ACP, registry, and Grok dependencies to use Effect services without introducing a new workflow or schema. It also modifies an authentication file, so the change requires human review regardless of the otherwise mechanical scope. You can add or adjust custom eligibility rules. Learn more. |
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
## What's Changed * fix(web): Local environment switch stays reachable after turning it off by @ScottN-PV in pingdotgg/t3code#17359 * fix(web): keep chat banners inside the lane beside the docked details card by @macodev00 in pingdotgg/t3code#17094 * fix(web): settled and snoozed lines line up with the messages above them by @RakshithBhat03 in pingdotgg/t3code#17191 * fix(web): distinguish project filter from new project by @voltcrash in pingdotgg/t3code#12113 * feat(web): assign a thread details panel shortcut by @maria-rcks in pingdotgg/t3code#16694 * fix(web): chat content keeps pace with sidebar resizing by @flamboh in pingdotgg/t3code#17383 * refactor(provider-core): expose model metadata through a ModelCatalog port by @juliusmarminge in pingdotgg/t3code#17417 * refactor(provider-core): follow the Effect service conventions throughout by @juliusmarminge in pingdotgg/t3code#17427 * refactor(provider-core): latest-version lookups go through a ProviderLatestVersions service by @juliusmarminge in pingdotgg/t3code#17434 * refactor(provider-core): MCP provider sessions live in a McpProviderSessions service by @juliusmarminge in pingdotgg/t3code#17446 * refactor(provider): bring opencode, muse, pi, core and testing in line with Effect conventions by @juliusmarminge in pingdotgg/t3code#17542 * refactor(provider-acp): ACP, ACP Registry and Grok follow the Effect service conventions by @juliusmarminge in pingdotgg/t3code#17544 * refactor(provider-cursor): follow the Effect service conventions by @juliusmarminge in pingdotgg/t3code#17545 * fix(marketing): use app wordmark in header by @voltcrash in pingdotgg/t3code#13240 * fix(web): pr merge actions stay visible while the stack refreshes by @maria-rcks in pingdotgg/t3code#17559 ## New Contributors * @voltcrash made their first contribution in pingdotgg/t3code#12113 **Full Changelog**: pingdotgg/t3code@v0.0.46-nightly.20261009.2873...v0.0.46-nightly.20261009.2886 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.46-nightly.20261009.2886
## What's Changed * fix(web): Local environment switch stays reachable after turning it off by @ScottN-PV in pingdotgg/t3code#17359 * fix(web): keep chat banners inside the lane beside the docked details card by @macodev00 in pingdotgg/t3code#17094 * fix(web): settled and snoozed lines line up with the messages above them by @RakshithBhat03 in pingdotgg/t3code#17191 * fix(web): distinguish project filter from new project by @voltcrash in pingdotgg/t3code#12113 * feat(web): assign a thread details panel shortcut by @maria-rcks in pingdotgg/t3code#16694 * fix(web): chat content keeps pace with sidebar resizing by @flamboh in pingdotgg/t3code#17383 * refactor(provider-core): expose model metadata through a ModelCatalog port by @juliusmarminge in pingdotgg/t3code#17417 * refactor(provider-core): follow the Effect service conventions throughout by @juliusmarminge in pingdotgg/t3code#17427 * refactor(provider-core): latest-version lookups go through a ProviderLatestVersions service by @juliusmarminge in pingdotgg/t3code#17434 * refactor(provider-core): MCP provider sessions live in a McpProviderSessions service by @juliusmarminge in pingdotgg/t3code#17446 * refactor(provider): bring opencode, muse, pi, core and testing in line with Effect conventions by @juliusmarminge in pingdotgg/t3code#17542 * refactor(provider-acp): ACP, ACP Registry and Grok follow the Effect service conventions by @juliusmarminge in pingdotgg/t3code#17544 * refactor(provider-cursor): follow the Effect service conventions by @juliusmarminge in pingdotgg/t3code#17545 * fix(marketing): use app wordmark in header by @voltcrash in pingdotgg/t3code#13240 * fix(web): pr merge actions stay visible while the stack refreshes by @maria-rcks in pingdotgg/t3code#17559 ## New Contributors * @voltcrash made their first contribution in pingdotgg/t3code#12113 **Full Changelog**: pingdotgg/t3code@v0.0.46-nightly.20261009.2873...v0.0.46-nightly.20261009.2886 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.46-nightly.20261009.2886
Part of the provider-package audit: every module in provider-acp, -acp-registry and -grok should now follow
docs/internals/effect-services.md.Services come from the environment
makeAcpClientTerminalsis anEffect.fnthat yields the spawner. Thespawneroption is gone.makeAcpAdapterV2yields the spawner and provides it to the client terminals and toflavor.makeRuntime. TheclientTerminals.childProcessSpawneroption is gone.terminateWindowsProcessTreeWithTaskkillrequires the spawner instead of taking it as an argument.childProcessSpawner,resolverorruntimeCoordinatoras options.acpRegistryManagedBinaryDirectoriesyieldsFileSystemandPath. The terminal manager provides them.makeGrokAcpRuntimeandmakeGrokAcpAdapterFlavorrequire the spawner.Imports and errors
effect/httpandeffect/processmodules are now subpath namespace imports, in the packages and in the server adapter tests and testkits touched here.cause.messageintodetail.Left as is, deliberately
runtimein the ACP adapter options is a per-session instance built byflavor.makeRuntime, not the service.AcpMcpOverAcpErrorAcpRegistryError(one of them carries install stderr)AcpProcessGroupTerminationErrorTests: provider-grok 108 passed, 4 skipped; provider-acp-registry 65 passed; server ACP/Registry/Grok adapter and terminal manager tests 227 passed.
Model: Claude Opus 5.5 via Claude Code in T3 Code.
🤖 Generated with Claude Code