Repository navigation
feat(orchestration): run ticket workers as launched threads and follow T3 nightlies - #13
Merged
Merged
Conversation
Swarm workers and per-PR interrogation leads become top-level threads bound to their worktree, so T3 shows each one's real branch. A delegate child inherits the parent's checkout and was labelled with its branch. delegate-subagents gains a Launched workers section for launching, waiting, reading, further rounds, and cancelling those threads. It also follows the October 11-12 T3 nightlies: per-provider runtime modes, providers turned off per project, automatic continuations after a server restart, and stopping Claude workflows. pr gains an optional review-guide step, and implement treats a launched worker like a delegated task. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Summary
swarm-ticketsnow runs each ticket's worker as a top-level T3 thread bound tothat ticket's worktree.
interrogationruns one lead thread per PR, bound tothat PR's worktree, so T3 shows each thread's real branch. The orchestration
skills also follow the T3 Code nightlies of October 11–12, 2026: per-provider
runtime modes, providers turned off per project, automatic continuations after
a server restart, and stopping Claude workflows.
prcan start a review guidewhen someone asks for one.
Why
Batches
swarm-20261009-aandswarm-20261010-aran their workers asdelegate_taskchildren. Each child inherited the parent's checkout binding,so T3 labelled every worker with branch
dev, whatever worktree it edited.The nightlies then changed behaviour the skills relied on:
t3_thread_launchruns a provider that lacks the requested mode asapproval-required(fix(server): delegated Muse tasks no longer ask approval for every command pingdotgg/t3code#18065).(feat(settings): providers can be turned on or off per project pingdotgg/t3code#17879).
Changes
delegate-subagentsexisting_worktree, with a run tag for lost-response recovery;t3_thread_wait, reading witht3_thread_read;t3_thread_send, and cancelling.runtimeModes;ultracodeonly when the user names it.t3_queue_listis empty;queuedbefore waiting.t3_workflow_stop. A cancelled task that reportscompletedis recorded as cancelled.delegate_taskcalls. A correction that needs the same child's context can be queued to itschildThreadId, falling back todelegate_taskwhen notaskIdcomes back.swarm-tickets(SKILL.md,agents/openai.yaml,references/example.md)t3_thread_wait.threadId, run tag, and read position.prreceives aReview guide:line.t3_thread_search.interrogationmode: "wait".implementprwrite_pull_request_guideswith the PR URL. It records the outcome without waiting and refreshes only a guide that isstale.docs/agents/issue-tracker.md.Before and After
No image attached. The diff changes only skill instructions (Markdown and YAML), with no UI.
Validation
All checks ran on the head commit
266efcd. The repository has no package scripts or CI.git diff --check origin/main HEAD](path.md)/.png/.sh/.jslink underskills/grepof#launched-workers,#4-assess-the-result,#harness-notes,#workspacesagainst the target headingsgrep -rn "As a subagent" skills0.0.46-nightly.20261012.3010Not run:
agents/openai.yaml: no YAML parser is installed here.childThreadIdfollow-up returning ataskId;threadId.Risk
swarm-ticketsnow creates one top-level thread per ticket and keeps the parent's turn open until delivery. A run that relied on ending the turn after dispatch behaves differently.childThreadIdcorrection path rests on the livet3_thread_senddescription. The orchestrator MCP doc at the same tag says a send "does not reopen a completed task". The fallback todelegate_taskcovers a send that returns notaskId.🤖 Generated with Claude Code
Model: Claude Opus 5.5