Skip to content

Upstream sync needs review - #30

Closed
github-actions[bot] wants to merge 111 commits into
upstream-mainfrom
sync/candidate
Closed

github-actions[bot] wants to merge 111 commits into
upstream-mainfrom
sync/candidate

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Upstream 3f9448747bb8848050dc2cacf83affa6f94a66a1 merged into the fork as candidate 40a4615ebc10953e310ac058e4adaf2a160fc117.

Checks: success (https://github.com/Alb11747/t3code/actions/runs/40399462936)

Tracking issue (T3 resolution summary): #29

Review the merge and the fork's changes against upstream. To ship it, run Fork sync with mode=promote and candidate_sha=40a4615ebc10953e310ac058e4adaf2a160fc117. Merging this PR does nothing.

Alb11747 and others added 30 commits October 20, 2026 05:47
fork/README.md explains how the fork is structured, how to add, sync and
release changes; fork/CHANGES.md lists every change the fork carries. A short
note at the top of AGENTS.md points agents at both. fork/INSTALL.md covers
installing fork builds on other computers.

Co-Authored-By: GPT-6.1-Sol at high effort <noreply@openai.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: GPT-6.1-Sol at xhigh effort, review subagents for fork rules and changes <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol at high effort <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol at xhigh effort, review subagent <noreply@openai.com>
Follow upstream nightlies with linear rebases, checked candidates, and a T3
conflict resolver. Publish Windows and Linux fork releases through the updater.
Gate releases and branch checks on a rolling daily runner-job budget, preserving
the settle wait and failing closed when usage cannot be counted.

Co-Authored-By: GPT-6.1-Sol at high effort <noreply@openai.com>
Co-Authored-By: GPT-6-Luna at low effort, release verification subagent <noreply@openai.com>
Co-Authored-By: Claude Opus 5.5 at high effort, cleanup review subagent for fork release assets <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5, implementation for CI job budget <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 at high effort, implementation subagent for rolling CI budget <noreply@anthropic.com>
Co-Authored-By: GPT-6.1-Sol at xhigh effort, review subagents for CI job budget and integrated sync <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol at high effort <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol at high effort, test triage subagent <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol at xhigh effort, review subagents for sync repair <noreply@openai.com>
Blocking waits default to 30 seconds and cap at 45 seconds, preserving the
existing secret request budgets.

Upstream-PR: pingdotgg#15622 (at 059bb40)
Relative file links in replies resolve against the thread's workspace
root, so an agent that cd's elsewhere (e.g. from a scratch thread into
~/Sync/Agents) produced links whose previews failed with ENOENT.

Muse replay fixtures embed the runtime instructions verbatim, so they
carry the new sentence too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
File links in chat only offered copying their path, so getting an agent's
output (a handoff, a zip) onto a remote client meant leaving T3 Code.

The link's context menu now has "Download file" while the connection can
read host files. It mints a signed media-file URL with a new `download`
flag. With that flag the server accepts any regular file type and serves it
as an attachment; the flag is signed, preview URLs keep their type checks,
and the existing exact-file identity checks still apply. The browser streams
the response to disk instead of buffering it. Electron would otherwise open
cross-origin asset navigations in the system browser, so it hands URLs
marked `#download` to `webContents.downloadURL`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Run the fork release-note tests only when the checked branch contains them, so upstream-only pull request branches can use the fork check workflow.

Co-Authored-By: GPT-6.1-Sol at high effort <noreply@openai.com>
A /compact on a Claude thread whose prompt cache has expired re-writes the
whole old history to the cache, although the summary replaces it. An opt-in
Claude instance setting now runs such a cold compaction (last turn 70+
minutes ago, no live CLI process) in a process opened with
DISABLE_PROMPT_CACHING=1 and its own query-policy key. The next turn uses
the normal key, so the existing replacement path reopens Claude with
caching. Live processes, warm compactions, and the default are unchanged.

Savings need every gateway between Claude Code and Anthropic to forward
markerless requests unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Keep rejected window metadata on the same native conversation and model when retries omit it. Clear retained windows through turn finalization and preserve unknown windows until they are resolved.

Upstream-PR: pingdotgg#15110
Codex fails a turn immediately with "Selected model is at capacity" when
the server is overloaded and sends no Retry-After. The run stays open and
continues with empty-input turns that see the failed turn's recorded work.
Waits start at 10s and double up to three minutes, totaling one hour across
24 retries. The existing provider retry row shows the countdown; Stop
during a wait settles the run.

Co-Authored-By: GPT-6.1-Sol at high effort <noreply@openai.com>
Co-Authored-By: GPT-6.1-Sol at xhigh effort, review subagent for capacity retry timing <noreply@openai.com>
Co-Authored-By: Claude Opus 5.5, original capacity retry implementation <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 at low effort, retry after running subagents finish <noreply@anthropic.com>
Squash of upstream PR 17618 by danielyc, adapted to the fork: the
settings order and the Claude provider docs keep the fork's cold-compaction
setting, and the wake-turn hunk drops code from newer upstream.

Upstream-PR: pingdotgg#17618
Add an opt-in Codex setting that asks ChatGPT's composer prediction
service for the next prompt after each completed root turn and shows it
through the shared prompt suggestion channel. Predictions need ChatGPT
sign-in, follow custom model providers, and are revoked on the next
send, goal command, rollback, or adapter shutdown.

Co-Authored-By: Claude Opus 5.5 at medium effort <noreply@anthropic.com>
Keep the provider settings tests aligned with the intentional Codex and Claude prompt-suggestion fields so the fork release checks validate the current schemas.

Co-Authored-By: GPT-6.1-Sol at high effort <noreply@openai.com>
Carry PR pingdotgg#16790 at 42f18bd.
Adapt provider namespaces, credential refresh and test dependencies to the
fork, and use explicit milestones for the worker regression.

Co-Authored-By: GPT-6.1-Sol at high effort <noreply@openai.com>
Co-Authored-By: GPT-6.1-Sol at medium effort, upstream research subagent <noreply@openai.com>
Co-Authored-By: GPT-6.1-Sol at xhigh effort, worker and provider review subagent <noreply@openai.com>
Co-Authored-By: Claude Opus 5.5, upstream implementation <noreply@anthropic.com>
Upstream-PR: pingdotgg#16790
Keep drain as a completion milestone while daemon workers can release a
slot after its lease. The regression fails with the carried PR's behavior.

Co-Authored-By: GPT-6.1-Sol at high effort <noreply@openai.com>
Co-Authored-By: GPT-6.1-Sol at xhigh effort, worker and provider review subagent <noreply@openai.com>
Keep each native thread's acceptance request observable after its caller
times out. Serialize replacements until an abandoned request rejects or
its accepted turn completes, and use native start notifications to accept
requests whose RPC reply is withheld. Apply the same ownership to compact
requests and automatic capacity retries. Keep unresolved native ownership
visible to idle cleanup and suppress publication after cancellation during
prediction cleanup.

Co-Authored-By: GPT-6.1-Sol at high effort <noreply@openai.com>
Co-Authored-By: GPT-6.1-Sol at high effort, Codex implementation and regression test subagents <noreply@openai.com>
Co-Authored-By: GPT-6.1-Sol at xhigh effort, worker and provider review subagent <noreply@openai.com>
…'s T3 tool access

Each thread had a single MCP credential slot. Preparing a session for one
provider revoked every credential on the thread and replaced the slot, so a
provider session still attached from before the switch kept calling T3 tools
with a revoked token (401 "Authentication required"), or read a token scoped
to the other provider (parent_not_active).

Credentials are now kept per thread and provider instance. Rotation revokes
only the credential being replaced, and session release only defers
revocation to other live sessions of the same provider instance.

Fixes pingdotgg#16565

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Upstream-PR: pingdotgg#19413
…ges the thread

When a context handoff could not fit the target's context budget, turn start
failed with "Insufficient context allowance" on every turn, so the thread was
unusable until the user compacted it manually.

An oversized handoff is marked deferred and the turn proceeds without it.
Later turns on the same provider thread retry it until delivery settles.
Pending sends retain the marker, and deferred missed-run history is reused
across low-budget turns. The additive optional flag needs no migration.

Fixes pingdotgg#16147

Co-Authored-By: GPT-6.1-Sol at high effort <noreply@openai.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: GPT-6.1-Sol at high effort, implementation subagent for handoff deferral <noreply@openai.com>
Co-Authored-By: GPT-6.1-Sol at high effort, review subagent for deferred handoff recovery <noreply@openai.com>
Upstream-PR: pingdotgg#19414
…e before auto-pull

Reuse the local status already read by explicit and background refreshes
instead of scanning the working tree again before auto-pull. Invalidate
local status after the fetch so concurrent refreshes cannot leave a stale
snapshot in the cache.

Resolve auto-pull policy before taking the shared local snapshot, so edits
made while the policy lookup is pending still prevent an automatic pull.
Cover both refresh paths with deterministic deferred-policy regressions.
Reconcile local state after a failed pull or post-pull status read rather
than retaining the pre-pull snapshot in background refreshes.
Let a failed recovery scan reach refresh failure handling and backoff.

Upstream-PR: pingdotgg#19447
Co-Authored-By: GPT-6.1-Sol at high effort <noreply@openai.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: GPT-6.1-Sol at xhigh effort, review subagents <noreply@openai.com>
Expose Fork beside eligible compaction markers on web, desktop, and mobile.
Reuse run-based forks and require an exact native turn reference for native
compaction forks, so automatic compaction includes the containing turn and
unsupported cursors stay unavailable. Allow every finished run status the
server can fork.

Claude /compact turns record their persisted command echo, the turn's last
transcript entry after the compaction summary, as an exact fork point, so
their markers offer Fork. A live SDK probe confirmed a fork there keeps the
compacted context and drops later turns; the compaction boundary itself
would drop the summary.

Co-Authored-By: GPT-6.1-Sol at high effort <noreply@openai.com>
Co-Authored-By: GPT-6.1-Sol at high effort, analysis and review subagent for compaction forks <noreply@openai.com>
Co-Authored-By: Claude Opus 5.5, review and run-status fix <noreply@anthropic.com>
Co-Authored-By: GPT-6.1-Sol at xhigh effort, review subagent for compaction fork recovery <noreply@openai.com>
Co-Authored-By: Claude Opus 5.5, review and Claude compaction fork integration <noreply@anthropic.com>
Co-Authored-By: GPT-6.1-Sol at high effort, exploration and implementation subagents for Claude compaction forks <noreply@openai.com>
Co-Authored-By: GPT-6.1-Sol at xhigh effort, review subagent for Claude compaction forks <noreply@openai.com>
Retry guarded failure finalization when ingestion and its terminal write fail. Bind recovery to the service lifetime so a rejected startup cannot abandon it, preserve run/attempt ownership on every retry, and throttle persistent failure warnings.

Upstream-PR: pingdotgg#19646
Co-Authored-By: GPT-6.1-Sol at high effort <noreply@openai.com>
Co-Authored-By: GPT-6.1-Sol at high effort, implementation and investigation subagents <noreply@openai.com>
Co-Authored-By: GPT-6.1-Sol at high effort, startup recovery review subagent <noreply@openai.com>
Co-Authored-By: GPT-6.1-Sol at xhigh effort, independent review subagents <noreply@openai.com>
Co-Authored-By: Claude Opus 5.5, independent investigation and sanity review <noreply@anthropic.com>
Fork releases are named after the upstream nightly they are built on,
plus .fork for a rebase with no fork changes or .fork.<n> for the nth
release with new or updated fork patches on that nightly. Upstream's
nightly version checks accept the suffix so fork builds stay on the
nightly update channel.

Standalone upstream server targets, version comparisons, npm availability
checks, and manual commands use the corresponding upstream version. Servers
already running the fork retain the full fork target in comparisons and
update requests, including older-host recovery. Fork archive updates and
desktop-managed servers do not wait for npm publication. Mobile and CLI
release checks, archive downloads, and SSH bootstrap select the fork
repository for fork versions while preserving explicit download mirrors.

Co-Authored-By: GPT-6.1 Sol at high effort <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol at xhigh effort, review subagent for server update versions <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol at high effort <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol at high effort, implementation subagent for ARM CLI archives <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol at xhigh effort, review subagents for sync repair <noreply@openai.com>
A retained provider session can outlive a provider switch. Scope suggestion publication and cleanup to the run that claimed the thread, so late results cannot replace or clear its newer suggestion.

Co-Authored-By: GPT-6.1-Sol at high effort <noreply@openai.com>
Co-Authored-By: Claude Opus 5.5 at high effort, implementation <noreply@anthropic.com>
Co-Authored-By: GPT-6.1-Sol at xhigh effort, fork audit and final review <noreply@openai.com>
electron-builder's NSIS StartApp relaunches through ExecShellAsUser,
which always de-elevates, so a T3 Code run as administrator came back
without it after an auto-update. A customInstall hook starts the app
directly from the per-user installer, which inherits the elevation of
the app that spawned it, then exits before StartApp.
Co-Authored-By: Claude Opus 5.5 at low effort <noreply@anthropic.com>
Co-Authored-By: GPT-6.1-Sol at xhigh effort, review subagent <noreply@openai.com>
Default the Claude API timeout to one hour while preserving host and instance
overrides. Copy the merged environment rather than mutating shared state.

Co-Authored-By: GPT-6.1-Sol at high effort <noreply@openai.com>
Co-Authored-By: GPT-6.1-Sol at high effort, implementation subagent for account pin CLI <noreply@openai.com>
Co-Authored-By: GPT-6.1-Sol at xhigh effort, review subagent for Claude timeout and integrated sync <noreply@openai.com>
…thread

Mark buffered wake output settled when a user turn consumes its result.
The queued continuation replays that output and finishes, while a later
wake reopens the buffer. Preserve all visible output.

Co-Authored-By: GPT-6.1-Sol at high effort <noreply@openai.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Codex, investigation and reproduction subagent in an earlier session <noreply@openai.com>
Co-Authored-By: GPT-6.1-Sol at xhigh effort, review subagent for the wake stall fix <noreply@openai.com>
Keep the fork's safe steering and Stop/disposal protections around upstream's
question reactor. Serialize late-notice checks with parent commands and cancel
queued question notices with their task, retaining upstream's read/respond flow.

Co-Authored-By: GPT-6.1-Sol at high effort <noreply@openai.com>
Co-Authored-By: GPT-6.1-Sol at high effort, implementation subagent for delegated question rebase protections <noreply@openai.com>
Co-Authored-By: GPT-6.1-Sol at xhigh effort, review subagent for fork rebase <noreply@openai.com>
Alb11747 and others added 14 commits October 26, 2026 06:41
Upstream f512ff6 expands the stack on pointer entry and hides the peek before Playwright finishes hovering it. Target the stable stack wrapper while preserving all focus, visibility, count and Escape assertions.

Co-Authored-By: GPT-6.1 Sol at high effort <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol at xhigh effort, review subagent <noreply@openai.com>
Upstream added heavy Word preview cases with a 15-second ceiling and runs web tests on eight vCPUs. Run the unchanged preview file without competing unit or browser files, then run the remainder in the same standard Ubuntu job. Preserve every test and timeout without adding jobs or larger runners.

Co-Authored-By: GPT-6.1 Sol at high effort <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol at xhigh effort, review subagent <noreply@openai.com>
Skip composer predictions for agent-launched turns, automatic wakes, and scheduled tasks. Direct web and mobile messages remain eligible even in agent-created threads.

Co-Authored-By: GPT-6.1 Sol at high effort <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol at xhigh effort, review subagent for prompt predictions <noreply@openai.com>
Keep capacity, throttling and exhausted transport retries in the same run with
capped backoff until progress or Stop. Preserve genuine quota reset recovery,
recheck unknown reset times, and retain permanent HTTP failure evidence.
Continue retrying explicit overload rejections while starting a retry.

Co-Authored-By: GPT-6 Astra at high effort <noreply@openai.com>
Co-Authored-By: Claude Opus 5.5 at high effort, implementation subagent <noreply@anthropic.com>
Co-Authored-By: GPT-6.1 Sol at xhigh effort, review subagent <noreply@openai.com>
Co-Authored-By: GPT-6 Astra at high effort, review subagent <noreply@openai.com>
The resolver clone stayed on resolve/<run_id> after every promotion, and its
branches piled up.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Fork releases could build on an upstream nightly a day old, because syncs
waited for upstream to go quiet. Agents now run sync-before-push.sh before
pushing an app or workflow change; it syncs and promotes first when main lacks
the newest nightly, and the push's release cancels the sync's own release.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts:
#	apps/web/src/components/chat/MessagesTimeline.browser.test.tsx
#	packages/provider-core/src/server/McpProviderSessions.ts
Upstream enables Effect reusable-function diagnostics. Wrap the fork agent-message claim and registration methods with named Effect.fn spans to satisfy the updated package checks.

Co-Authored-By: GPT-6.1 Sol at high effort <noreply@openai.com>
Use the Effect-managed abort signal in the agent hook regression test. Express root-only compaction hydration as an inline generator so the upstream conditional Effect diagnostic does not reject the retained fork behavior.

Co-Authored-By: GPT-6.1 Sol at high effort <noreply@openai.com>
The upstream no-inline-schema-compile rule rejects the fork overload retry path. Compile its Codex request error predicate once at module scope, preserving the -32001 retry behavior.

Co-Authored-By: GPT-6.1 Sol at high effort <noreply@openai.com>
Wrap the fork update harness file reader in the named Effect.fn required by upstream reusable-function diagnostics. Preserve package-type and app-update.yml fixture reads and existing error behavior.

Co-Authored-By: GPT-6.1 Sol at high effort <noreply@openai.com>
Threads that fail in the same capacity burst all scheduled identical
backoffs, so every round hit the provider at once. Each wait is now drawn
from the upper half of its 10s-to-3-minute step.

Co-Authored-By: Claude Opus 5.5 at medium effort <noreply@anthropic.com>
When Claude Code gave up on a 529 overload, server error, timeout or dropped
connection, the run failed and needed a manual resume. Root turns now keep
the run open, show the provider retry row, and continue the same session
after a jittered backoff (10s doubling to 3 minutes, no attempt cap) with an
SDK-only continuation that adds no conversation message. Reopening keeps the
current history and any steering sent during the wait; Stop cancels. Startup
and authentication failures that cannot clear on their own still fail, and
usage limits keep their reset handling.

Co-Authored-By: Claude Opus 5.5 at medium effort <noreply@anthropic.com>
Co-Authored-By: GPT-6.1 Sol at high effort, implementation subagent <noreply@openai.com>
Co-Authored-By: GPT-6 Astra at high effort, review subagent <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol at high effort <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol at high effort, review subagent for fork sync resolution <noreply@openai.com>

# Conflicts:
#	apps/server/src/orchestration-v2/Adapters/CodexAdapterV2.ts
#	apps/server/src/orchestration-v2/Orchestrator.ts
#	apps/server/src/orchestration-v2/SteeringCompletion.integration.test.ts
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-26T21:57:01.430040Z 40a4615 Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0471df97c2

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment on lines +609 to +613
if (
navigationUrl &&
(navigationUrl.protocol === "http:" || navigationUrl.protocol === "https:") &&
navigationUrl.pathname.startsWith("/api/assets/") &&
navigationUrl.hash === "#download"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Authenticate the download marker before handling it

Any off-origin URL whose path starts with /api/assets/ and fragment is #download now bypasses the existing external-browser boundary and is passed directly to Electron's downloadURL. An assistant or other untrusted Markdown source can therefore emit a link such as https://attacker.example/api/assets/file#download; clicking it downloads attacker-controlled content inside the app instead of opening the system browser. Route the controlled “Download file” action through IPC, or otherwise verify that the navigation came from a minted asset URL for a connected environment rather than trusting a forgeable URL shape.

Useful? React with 👍 / 👎.

Adapt the fork restoration fixture from b16e6cc to upstream 3cb16cf (pingdotgg#25463), which replaced onManualNavigation with the shared viewport signal and removed unconditional scroll reporting after rendering. Subscribe through onViewportAttach, release follow during navigation and restoration, and exercise normal scroll reporting after the restored offset is reached. Preserve every saved-position and thread-switch assertion.

Co-Authored-By: GPT-6.1 Sol at high effort <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol at high effort, review subagent for timeline fixture adaptation <noreply@openai.com>
@Alb11747

Copy link
Copy Markdown
Owner

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. 🎉

Reviewed commit: 464e6eb8b0

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Address the Codex finding on sync PR #30 in fork patch 83b318e. Restore the upstream external-navigation policy instead of trusting a forgeable #download URL fragment. The controlled Download file action sends its permission-checked, minted asset URL through the desktop preload bridge; web and older desktop clients retain ordinary signed attachment links. Preserve local and remote download coverage through the IPC command and add the attacker-origin navigation regression.

Co-Authored-By: GPT-6.1 Sol at high effort <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol at high effort, review subagent for desktop download fix <noreply@openai.com>
@Alb11747 Alb11747 mentioned this pull request Oct 26, 2026
@Alb11747

Copy link
Copy Markdown
Owner

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 391c9c581e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +8629 to +8632
...(queuedMessage.delegatedCompletion === undefined
? {}
: { delegatedCompletion: queuedMessage.delegatedCompletion }),
atToolBoundary,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve notification metadata when steering delegated questions

When a delegated-task question joins a running parent through the new tool-boundary path, only delegatedCompletion is forwarded; the question's notification metadata is dropped. dispatchSteerIntoRun then recreates the message without that metadata, so notificationTurnItem produces an ordinary user_message instead of a notification. This exposes the internal pending-request instructions as a chat message and removes the linked child-task notice. The newly enabled safe-steering path has the same problem. Forward and preserve notification through the steering helper for both paths.

Useful? React with 👍 / 👎.

Fix the fork change "fix(server): preserve delegated question delivery across task lifecycle" (fff81a2) and its interaction with "fix(server): Claude takes agent updates at tool boundaries" (2d7eef0). Pass notification through dispatchSteerIntoRun and both callers just like delegatedCompletion, so delegated questions remain linked notifications rather than ordinary user messages. The existing Orchestrator question tests failed first for both safe steering and tool-boundary delivery; retain their queued, deduplication, Stop and disposal coverage.

Co-Authored-By: GPT-6.1 Sol at high effort <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol at high effort, review subagent for delegated-question notification fix <noreply@openai.com>
@Alb11747

Copy link
Copy Markdown
Owner

@codex review

1 similar comment
@Alb11747

Copy link
Copy Markdown
Owner

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. You're on a roll.

Reviewed commit: 40a4615ebc

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@github-actions

Copy link
Copy Markdown
Author

@github-actions github-actions Bot closed this Oct 26, 2026

This branch had an error being deployed

1 failed deployment
fork-release-delay — 40a4615e Deployed Oct 26, 2026 by Alb11747 via Wait for pushes to settle #113
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants