Repository navigation
teamwright 0.13.0
Added
/teamwright:parallel auto: the orchestrator runs tasks in parallel itself. Until now parallel work meant the owner opened a session per worktree; the orchestrator could not even call/teamwright:parallel(it was owner-only), and red-tests or implement held one taskIN_PROGRESSper tree while nine analysed tasks waited. Nowparallelis open to the model, andautoanalyses the next batch in the main tree, plans disjoint seams, starts the worktrees, prepares their index, launches their stages headless, watches, merges each approved task (rebase, gate in the worktree, fast-forward) and starts the next — owner decisions are collected, not asked. A stage session that leaves analysed tasks waiting withbatch.parallelabove 1 goes toparallel auto(stage-protocol.md§3).tw-parallel.py prepare <ids>— the context tool's index per worktree: Serena's.serena/cachecopied from the main tree, thenserena project indexrefreshes what differs (TW_CONTEXT_INDEX_CMDoverrides the command). A worktree that cannot index is reported and not launched.tw-parallel.py launch <ids>/run <id>— in the worktree, ask the router; whileheadless.run, runclaude -p <headless.prompt>(one stage per session, a fresh context) and ask again; stop atCODE_COMPLETE, an owner decision (escalatewith the reason),TEAMWRIGHT_PAUSE, two stages that moved nothing (stuck) orTW_PARALLEL_MAX_STAGES(12). At mostbatch.parallelat once. State and log:.teamwright/parallel/<ID>.json,.log;statusshows them. Command:TW_CLAUDE(defaultclaude) withTEAMWRIGHT_CLAUDE_ARGS(defaultacceptEdits, the tools a stage needs, the autonomous-run note). Tests intests/test-tw-parallel.sh..teamwright/parallel/,.serena/cache/and.serena/logs/are gitignored by the installer, so a worktree's copied index does not look like uncommitted work.
Full changelog: CHANGELOG.md