Skip to content

Merge branch 'main' into codex/feature-acp-integration

MacroscopeApp / Macroscope - Correctness Check completed Sep 2, 2026 in 4m 41s

1 issue identified (43 code objects reviewed).

• Merge Base: 70cd258
• Head: 39ca2a5

Details

✅ File Path U3 Bytes Comments Posted Reason
✅ docs/user/install.md 955 0
✅ apps/server/src/provider/Drivers/AcpDriver.ts 10816 0
✅ apps/web/src/session-logic.ts 242 0
✅ docs/internals/glossary.md 569 0
✅ packages/contracts/src/settings.ts 1158 0
➖ packages/effect-acp/src/client.test.ts 1119 Excluded by default ignore patterns
✅ docs/internals/providers.md 1209 0
✅ apps/mobile/src/components/ProviderIcon.tsx 524 0
✅ apps/server/src/textGeneration/TextGeneration.ts 807 0
✅ packages/effect-acp/src/protocol.ts 1072 0
✅ apps/server/src/provider/Layers/ProviderRegistry.ts 327 0
✅ apps/server/src/provider/builtInDrivers.ts 596 0
✅ apps/web/src/components/chat/providerIconUtils.ts 492 0
➖ apps/server/src/provider/acp/AcpCoreRuntimeEvents.test.ts 409 Excluded by default ignore patterns
✅ apps/web/src/components/settings/providerDriverMeta.ts 666 0
✅ apps/server/src/provider/acp/AcpCoreRuntimeEvents.ts 509 0
➖ apps/server/src/provider/acp/AcpAdapterSupport.test.ts 1218 Excluded by default ignore patterns
➖ apps/server/src/provider/Layers/CursorAdapter.test.ts 4103 Excluded by default ignore patterns
✅ apps/server/src/provider/acp/AcpAdapterSupport.ts 1862 0
✅ apps/web/src/components/settings/SourceControlWritingSettings.tsx 1049 0
➖ apps/server/src/provider/acp/AcpRuntimeModel.test.ts 1567 Excluded by default ignore patterns
✅ apps/web/src/components/settings/SettingsPanels.tsx 1687 0
✅ apps/server/src/provider/acp/AcpRuntimeModel.ts 5219 0
❌ apps/server/src/provider/Layers/CursorAdapter.ts 19791 1

Billed Total: 42.36KB of diff | $2.12
Saved $0.36 vs. the upper-bound estimate of $2.48 — cached code objects from prior reviews on this PR were not re-billed.

Filtered Issues Details

apps/server/src/provider/Layers/ProviderRegistry.ts
  • line 105: shouldRetainMissingProviderModels returns false for a ready ACP snapshot, even though an ACP availability probe never populates observedConfigRef. After a restart, the cached discovered models are first merged with the pending snapshot, then the successful initial probe publishes only agent-default; mergeProviderModels drops every previously discovered model. The configured selection therefore disappears until a user starts another session to rediscover it. [ Already posted ]
apps/server/src/provider/acp/AcpAdapterSupport.ts
  • line 21: The decline mapping only considers reject_once. ACP's PermissionOptionKind also permits an agent to offer reject_always; when that is its only reject option, a user decline yields no option id and the caller sends outcome: "cancelled" instead of selecting the offered rejection. cancelled is reserved for a prompt turn cancelled before the user responded, so the agent receives the wrong decision and may abort rather than handle the user's rejection. [ Already posted ]
apps/server/src/provider/acp/AcpRuntimeModel.ts
  • line 860: config_option_update returns the new configOptions only in the parsed result, but the sole parseSessionUpdateEvent consumer (handleSessionUpdate) never reads parsed.configOptions or updates its configOptionsRef/driver callback. When an ACP agent advertises or changes options asynchronously, T3 keeps the prior option list: discovered models/settings are not refreshed and subsequent selections can be validated against stale values. [ Already posted ]