Execution and delivery details¶
How execution works explains graph execution.
Process cleanup¶
When a run closes, zeroshot atomically closes its execution activity; a late process cannot appear after the terminal result.
On Linux, each local command has a private supervisor that also owns descendants which detach with
setsid, change process group, or double-fork. It stops and reaps them when the command finishes,
the run cancels, or the controller dies. Workspace ownership remains held through cleanup, so a
successor cannot resume while that command's descendants can still write. This uses the kernel's
subreaper support and procfs; it needs no root access or cgroup setup. Windows uses Job Objects.
macOS retains process-group cleanup; descendants that detach can outlive the command there.
Auto-research¶
auto-research runs ten iterations by default. Optional run input options.iterations selects a
positive count bound at admission, subject to the engine's general execution and loop budgets.
Each normal round has five model executions:
- Three independent read-only scouts propose exploration, synthesis, and challenge directions.
- One researcher selects the parent and experiment, verifies/restores candidate bytes, runs the experiment, and prepares a supported retained result with compact evidence.
- A fresh read-only reviewer accepts the proposed disposition, requests concrete corrections, or approves a justified early stop. A supported non-adoption can be accepted without replacing the incumbent. Plateau alone does not justify stopping before the requested count.
The scouts and researcher keep separate continuing sessions by default; the reviewer starts fresh. Required corrections return to the same researcher without repeating scouting or consuming another research round, then receive fresh review. This work/review cycle has a 64-pass safety limit. Routine file, tool, or archive errors can be repaired by the researcher. Missing optional historical archives and cosmetic bookkeeping issues are advisory when the current result and retained state are supported. Native reviewer outcomes establish approval; no separate file audit counter is required. There are no bootstrap, staging, finalization, or extra audit model passes.
Records live under .zeroshot/research at the shared workspace root, including for tasks in
subdirectories. The researcher keeps the charter, current summary, backlog, round evidence, and
restorable candidate source there. After two accepted non-adoptions, or diminishing returns across
max(1, ceil(iterationLimit / 10)) accepted rounds on one approach, it explicitly reconsiders a new
mechanism, an archived parent, and a discriminating measurement. These are reasoned alternatives,
not a mandatory parent switch or a fixed gain threshold.
The template supports local results and --push. With --push, the reviewer supplies title and
description and one trusted Git delivery node publishes each accepted round. Research agents never
use Git. Exhausted review, unrecovered execution errors, delivery errors, and delivery repair
requests stop the run explicitly; unreviewed work is never published. Existing saved profiles and
admitted runs keep their stored graph and runtime.
Delivery feedback¶
PR and merge delivery consider feedback by default. Use --no-pr-feedback to ignore PR discussion;
the git_delivery binding describes the runtime
setting.
Automatic repairs accept feedback only from current writers on the target repository. GitHub
confirms effective write or admin permission for issue comments, submitted reviews (including
unwritten change requests), inline comments and replies. GitLab confirms active Developer-or-higher
project membership, including inherited and invited membership, for discussion notes. The account
must be active. Enterprise Edition also requires active membership_state; awaiting membership is
ignored. Community Edition omits that field, so its response is accepted only after instance metadata
confirms the edition. Unknown or malformed membership status fails the feedback read. Permissions
are checked again on each inspection and bound to the author's stable numeric identity. Organization
association, PR authorship, requested-reviewer status and bot status grant no exception. Confirmed
read-only access or nonmembership is ignored and does not start another worker/reviewer round.
Failed or incomplete permission lookups stop delivery or use its existing retry handling.