Repository navigation
Conversation
Contributor
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This is a localized Claude resume bug fix that restores missing child-thread creation while preserving existing thread metadata. The optional event field is backwards-compatible and the recovery behavior is covered by targeted tests. You can add or adjust custom eligibility rules. Learn more. |
AdEx-Partners-DE
added a commit
to AdEx-Partners-DE/t3code
that referenced
this pull request
Oct 12, 2026
… child thread (adopts upstream pingdotgg#18362) Own diff of pingdotgg#18362 at c87221f, applied on stark/main. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
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.
Problem
If T3 misses a Claude subagent's launch (in #18319 the disk filled up mid-run) and a later turn resumes that subagent with
SendMessage, its card shows as Working but opening it shows "Thread unavailable". The subagent'schildThreadIdpoints at a thread that was never created.recoverResumedClaudeSubagentregisters the unknown subagent withchildThread: null, assuming the child thread already exists from before a restart. The reopen then skipsapp_thread.created, because that event is only sent for subagents seen for the first time.Change
app_thread.createdwith a newcreateOnlyflag.createOnlyevent when the thread already exists. The normal restart case keeps the child thread's title and model, and the missed-launch case gets its thread created.Scope and approval
Fixes #18319. Triaged and accepted by @juliusmarminge, who confirmed the cause and the create-only fix shape in the issue comments. Separate from #16261 and #17596.
Verification
ClaudeAdapterV2.test.ts> "projects workflow member threads after resuming a restarted session" resumes a subagent through the recovery path. It now expects one create-onlyapp_thread.createdfor the recovered subagent's child thread. Fails onmain(expected [] to deeply equal [ true ]), passes with this change.ProviderEventIngestor.test.ts> "updates provider child metadata without recreating its saved thread" now also checks that a create-only event with a different title leaves the existing thread alone. Fails without the ingestor change, passes with it.vp test runonProviderEventIngestor.test.ts,ClaudeAdapterV2.test.ts,RunExecutionService.test.ts, andClaudeAutomaticDelivery.integration.test.ts: 298 passed.tsc --noEmitinapps/serverandpackages/provider-core: no errors. Targeted lint and format are clean.mainand found no issues.Created with Claude Opus 5.5 in Claude Code (T3 Code), reviewed by GPT-6 Astra in Codex CLI.