用途:这是 doctrine 中 /dispatch 的 codex/pi 分支,负责通过 doctrine worktree fork --worker 创建 worktree,再把 worker 作为子进程启动,其 cwd 绑定到该 fork。驱动循环位于 /dispatch 路由器中。
主要能力与用法:codex 分支先执行 doctrine worktree fork --base "$B" --branch "$BR" --dir "$D" --worker,失败则报错退出;随后用 env -C "$D" DOCTRINE_WORKER=1 codex exec "<pre-distilled prompt>" 启动。pi 分支在 fork 后复制 AGENTS.md,用 mkfifo 建立 FIFO 保持 stdin 打开(pi RPC 遇 EOF 会退出),通过 timeout 300 env -C "$D" DOCTRINE_WORKER=1 pi --mode rpc --thinking off --session-dir "$D/.pi-session" --no-extensions --no-skills --no-themes --offline --approve --tools read,bash,edit,write,grep,find,ls 运行,结束后 rm -f 删除 FIFO。
边界记录:在 conclude 处方(doctrine dispatch next --slice <N>)中,代码提交后执行 doctrine slice record-delta <SL> PHASE-NN --commit <S>,把每阶段边界写入主树一致性注册表。需在代码提交落地后立即捕获 S=$(git rev-parse HEAD),记录时不要读 HEAD。该分支没有 record-boundary,此 record-delta 即其注册表写入,每个已落地阶段都必须执行;dispatch sync --prepare-review 的完整性门禁会在缺少注册表行时中止。
限制与红线:禁止 eval;禁止在 env -C "$D" 之外启动;必须使用 timeout;RPC 模式不得用 heredoc;fork 失败必须中止;必须携带 DOCTRINE_WORKER=1;RPC stdin 必须用 fifo 并在退出后删除;应回到路由器获取漏斗节奏。其余细节暂未提供。