SuperAPI AI 工具集

dispatch-spawn

通用与其它

查看项目

更新于 10-15 20:34

技能介绍

用途:为 /dispatch 提供统一的受限 worker 启动与落地机制,适用于 pi 或 claude 两种 harness。

主要能力:脚本 scripts/spawn-confined.sh <harness> <B> <BRANCH> <DIR> <PROMPT_FILE> [BACKSTOP_SECS] 自行完成整个预启动序列——能力探测(Linux 要求 bwrap 存在,macOS 由 doctrine worktree jail-prefix 给出具名拒绝,无不受限回退,jail 无法建立即中止)、fork(doctrine worktree fork --base <B> --branch <BRANCH> --dir <DIR> --worker,故意不绑定 slice/phase)、限制并执行(timeout <BACKSTOP> <jail prefix> <harness exec>,向 worker 投递提示文件,jail 读写绑定 fork 目录与 harness 配置目录、其余只读,并设置 DOCTRINE_WORKER=1)。claude -p 以进程退出为完成信号;pi --mode rpc 不会自行退出,需用 fifo 保持 stdin 并轮询其 settle 事件。

落地:worker 返回的是未提交工作树,不会自动回收。用 doctrine worktree import --base <B> --from-worktree <DIR> --slice <N> 导入,经 classify_import 范围检查与 prove 门禁,红色增量会暂存中止而非自动修复;随后由编排者在协调分支提交一次,用 doctrine slice record-delta <N> PHASE-NN --commit <S> 记录边界(S 固定为代码提交,不可跳过),在协调树上验证后执行 doctrine slice phase --status completed <N> PHASE-NN,最后 doctrine worktree gc --fork <BRANCH> 回收(幂等,--dry-run 只打印判定)。

限制与红线:不得让 worker 自行提交(其 .git 只读);不得绕过脚本手工 exec;不得省略 backstop 超时;不得 eval 提示;pi 的 RPC stdin 不得用 heredoc;不得绕过范围或 prove 门禁导入;不得自动修复红色增量;未落地前不得强制删除 fork;不得信任 worker 自报结果,工作树才是事实来源;spawn 非零必须中止。