In the terminal
One Task from start to a reviewed local candidate
machinist start "Reject unknown timezone names in parse_timezone with a ValueError"
# Read the saved Spec, then approve its exact commit:
machinist approve --task T1 --spec-sha <full-spec-commit-sha>
# Execute, Verification Gates, and independent Review run in the foreground.
# Findings are advisory. Inspect the report and candidate diff, then:
machinist integrate T1
# Optional: publish a PR or MR instead of, or after, integrating.
machinist publish T1 --provider github
Your two decisions
Approval and integration stay with you
Approval names one exact Spec commit. If the Spec changes, you approve the new commit before anything runs.
Integration moves your branch to the reviewed candidate by fast-forward only. A dirty checkout or a moved base stops it.
Custody
AgentMachinist makes every commit
- The Harness drafts, edits, and reviews. AgentMachinist commits.
- After each Harness run, AgentMachinist checks HEAD, local refs, and protected Git metadata for changes.
- Required verification gates must pass before AgentMachinist commits a candidate.
- This is detection plus reduced credentials, not a sandbox.
When plans change
Amend, retry, or publish
machinist amendturns feedback on a reviewed candidate into a new Spec, which needs a fresh Approval.- Failed runs retain Evidence and need an explicit retry. Local
machinist retrydefaults to resuming validated retained Execute edits. Add--freshto start in a new Workshop. machinist publishpushes the candidate and opens a GitHub PR or GitLab MR without rerunning any Phase.
Optional bounded repair, added in 0.18.0, defaults off and can repeat implementation once after an eligible required Gate failure, before rerunning all Gates. It stays inside Execute and the approved Spec. Failed or interrupted repair needs explicit retry --fresh.