Repository navigation
Runner split steps 2–5: ask/btw, turn setup, subagents, session recording (#1447, stacked on #1456) - #1458
Merged
Conversation
Seam 2 of the createRunner split. startAskRun, startBtw, cancelBtw, promoteBtw and listActiveBtwCount move verbatim behind a ctx destructure; the module owns btwActive and hands stopAll a stopAllBtw() that runs the same kill-and-clear loop at the same point. ctx gains the Ask seams (askComplete, searchMemory, bootstrapMemory), userDataPath, otel, isReplayTurn, tryReadCodeIndex, clearRun, markRunFailed and finishSuccessfulTurn. The return object and module.exports are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…n-setup.js (#1447) Seam 3 of the createRunner split. materializePendingWorktree, failWorktreeSetup and dispatchOrchCommand move verbatim behind a ctx destructure. The one body edit: dispatchOrchCommand hands startWithPoolFailover `startRun: ctx.startRun`, read at call time, since startRun stays in runner.js. ctx gains pushFn, shortError, providerBinAvailable and startRun. The return object and module.exports are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Seam 4 of the createRunner split. SUBAGENT_ROWS_MAX and the seven subagent-row functions (subagentRows … finishRunningSubagents) move verbatim behind a ctx destructure. The five that the rest of createRunner calls keep their names via the factory's return value. ctx gains nothing: the seam needs only store, pushDetail and pushThreadsChanged. The return object and module.exports are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…js (#1447) Seam 5 of the createRunner split. The sessionRecorder construction, sessionBaseFields, recordSessionOnAppend and recordSessionAtTerminal move verbatim behind a ctx destructure. The factory returns the recorder, so stopAll and flushTranscripts flush it unchanged, and appendMessage / notifyRunTerminal call the record functions at the same points. The recorder is now built with the other seam factories, before the boot crew sweep; nothing between its old line and there could record. ctx gains getMemStatus. The return object and module.exports are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
This was referenced Oct 4, 2026
Closed
currentbits
changed the base branch from
coder/runner-split-step-1-ctx-watchdogs-39333f
to
main
October 5, 2026 11:02
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.
Round 3, steps 2–5 of the
createRunnersplit (#1447), followingdocs/superpowers/specs/2026-10-04-runner-split-design.mdand the seam convention from step 1 (header ofelectron/runner-watchdogs.js).Stacked on #1456, which is stacked on #1454. Merge order: #1454 → #1456 → this.
One commit per seam; the full electron suite passed after each.
/btwrunner-ask-runs.jsbtwActive;stopAllBtw()for stopAllrunner-turn-setup.jsstartRunthrough ctx at call time)runner-subagents.jsSUBAGENT_ROWS_MAXrunner-session-recording.jssessionRecorderrunner.js: 9,120 → 8,345 lines.Checked
create<Seam>(ctx)factories with theirconst {…} = ctxdestructures, the four factory calls,stopAllBtw(), and onestartRun: ctx.startRun. That last one is read inside an async call, so the lookup still happens at call time.stopAllBtw()is the exact loopstopAllused to run inline overbtwActive.refreshAllQuotaWaits(), so nothing calls a moved function before it's bound.module.exports.npm run typecheckis clean.Next: seam 6 (Claude keep-alive), once the safety tests in #1457 are on main.
🤖 Generated with Claude Code