sync: upstream a3a8cbd605..94401d01b9 (12 commits) - #279
Open
Bl4ckBl1zZ wants to merge 1 commit into
Open
Conversation
Ports upstream's 12 new commits onto the fork's orchestration V2 stack. Carried as-is: the Codex 0.150 protocol refresh (multi-agent event values and account plan types) plus its `CodexProvider` labels, the anonymous macOS preview-DMG release job on the fork's runners, the Grok usage-transcript half, the Android adaptive launcher foreground, the v0.0.35 version bump, and both test-pruning passes. Ported onto V2: upstream's Grok reliability work (`ead4ce52a1`). Skill discovery, reasoning-effort model descriptors, per-permission-mode Grok spawn arguments, the `_meta`-carrying `session/set_model` path, and the rate-limit / error prompt settlement all live in shared modules and are carried; two V2 seams were added so they are reachable — `AcpAdapterV2RuntimeInput` now carries `runtimeMode`, and the ACP flavor gained `applySessionModel` / `modelOptionIdsHandledBySessionModel` so Grok's `reasoningEffort` rides `session/set_model` rather than a config option the session never advertises. Also carried: the projection-bootstrap replay fix (`a6797b3b97`), whose backlog test is rehomed to `ProjectionPipelineBootstrap.test.ts` over the project aggregate the fork keeps. Dropped: the V1 `GrokAdapter` rewrite (turn watchdog, plan-mode gate, approval option fallback), the V1 `ProviderCommandReactor` stale-approval matcher, and upstream's provider-settings list/editor redesign, which targets the `ProviderSettingsPanel.tsx` the fork retired. Two self-contained pieces of that redesign are carried: the neutral disabled status dot and the provider environment draft re-sync. PATCH.md records each decision. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Manual port of the 12 upstream commits between
a3a8cbd605and94401d01b9. Every change was read and applied against the fork's architecture rather than merged; PATCH.md is updated in the same commit.Ported as-is
f925d63942,94401d01b9) — multi-agent event values (CollabAgentTool,CollabAgentToolCallStatus,SubAgentActivityKind) and the widenedPlanTypeenum, plusCodexProvider's new subscription labels.packages/effect-codex-app-serverhas no fork divergence.33b650a5b3) — the split build/publish/cleanup jobs and the rollingdesktop-previewrelease, on the fork's runners (macos-15,halifax-...) instead of Blacksmith.ead4ce52a1's usage half) —UsageService,usageTranscripts,usageScanCache,usageMerge,contracts/usage, and the web/mobile usage providers. No fork divergence in any of them.348367dcc6) and the v0.0.35 version bump (d3c24a14b9).73f8cfc023,f6f2be32d8,64ca3b650e) — 16 low-signal test files removed and the three symbols that were only exported for them un-exported.Ported onto orchestration V2
Grok skills, plans, usage, and turn reliability (
ead4ce52a1). Everything living in shared modules is carried: Grok skill discovery (provider/Drivers/GrokSkills.ts, wired throughcheckGrokProviderStatus, which now takes the servercwd), the reasoning-effort model descriptors inGrokProvider.ts, per-permission-mode spawn arguments (grokAcpSpawnArgs), the_meta-carryingsession/set_modelpath, the plan-mode helpers, and rate-limit/error prompt settlement inXAiAcpExtension.ts.Two V2 seams were added so those are actually reachable:
AcpAdapterV2RuntimeInputnow carriesruntimeMode, so Grok spawns with the thread's permission mode (--permission-mode default|acceptEdits|auto,agent --always-approve). This is what makes the updateddocs/user/permission-modes.mdtrue on this fork.applySessionModelandmodelOptionIdsHandledBySessionModel. Grok'sreasoningEffortridessession/set_model_meta, notsession/set_config_option— without this, carrying theGrokProviderdescriptor half alone would have madeconfigureSessionreject an option the Grok session never advertises, failing the session outright.Projection bootstrap replay (
a6797b3b97). The fork's V1ProjectionPipelinesurvives for the project aggregate and had the same truncated-replay bug. The fix is carried; because the fork deletedProjectionPipeline.test.tswith the V1 thread projectors, the backlog test is rehomed toProjectionPipelineBootstrap.test.tsoverproject.createdevents alone. It fails without the fix.Dropped (with reasons)
GrokAdapterrewrite (the bulk ofead4ce52a1) — a turn/active-tool inactivity watchdog, theenter_plan_mode/exit_plan_modeproposed-plan gate, andselectGrokPermissionOptionId's allow_once fallback for "Always allow this session". All written against the retired V1 adapter's session-context andQueueliveness machinery; the fork'sGrokAdapterV2is a thin flavor overAcpAdapterV2. The plan and rate-limit helpers those needed are present inXAiAcpExtension.ts, and upstream's mock-agent hooks (T3_ACP_EMIT_*_THEN_HANG) are carried, so a later port has its harness. Flagged for human review — see below.230c5d4a5c) — widens the V1ProviderCommandReactor's error matcher. That reactor is on the fork's forbidden-import list; V2 answers approvals throughRuntimeRequestServiceagainstCodexAdapterV2's in-process deferred map, so the stale-callback shape has no counterpart to match.e2d4d12a81) — a master-detail redesign ofProviderSettingsPanel.tsx(which the fork retired in favour of inlineEnvironmentProviderSettings) plus amode: "list" | "editor"rewrite ofProviderInstanceCard. Two self-contained pieces are carried: the neutral disabled status dot (amber read as a warning on a provider the user turned off) andProviderEnvironmentSection's draft re-sync.For human review
The Grok plan-mode gate is the one user-visible gap.
XAiAcpExtension.tsnow exportsXAiExitPlanModeRequest,extractXAiExitPlanMarkdown,makeXAiExitPlanModeCapturedResponse,isGrokPlanMarkdownPath, andextractGrokPlanMarkdownFromToolCallData, butGrokAdapterV2registers nox.ai/exit_plan_modehandler, so Grok plan mode still surfaces as ordinary tool calls rather than a proposed-plan card. Wiring it needs a decision about how V2 models a plan-approval gate; that is a feature port, not a sync.Verification
vp run --filter t3 test— 336 files passed, 4 skipped; 3475 tests passed, 13 skipped. No failures, including the 4 the sync brief lists as baseline.apps/web,packages/shared,packages/client-runtime,packages/contractstest suites all pass.vp run -r typecheckclean across all 15 packages.vp lint --report-unused-disable-directivesexits 0 (warnings only, none new).orchestration-v2/V1ImportBoundary.test.tspasses.🤖 Generated with Claude Code