Declare the boundary
Name the preflight, execution command, working directory, time and output limits, protected paths, and receipt path.
Inspect plan contractExecution & retry governance / 03
Distinguish “preflight failed” from “the real attempt started” before a costly or stateful command consumes retry lineage.
Failure, timeout, output overflow, spawn failure, or protected-path mutation prevents execution.
Protected paths and command-output metadata are hashed without collecting output content.
The receipt distinguishes an unconsumed attempt from a command that was actually invoked.
Use it when
Attempt Boundary is for model runs, migrations, deployments, batch jobs, and other costly or stateful work where retry accounting matters. It places one bounded preflight in front of one configured execution command and records the exact side of the boundary where the attempt stopped.
Workflow
Name the preflight, execution command, working directory, time and output limits, protected paths, and receipt path.
Inspect plan contractHash bounded files and directories before and after preflight. Store only byte counts and digests for command output.
Open neutral planRecord an unconsumed attempt when preflight prevents execution, or consumed once the wrapper invokes the real command.
Inspect receipt contractQuick start
npm install https://kaldenframelabs.com/downloads/kaldenframe-labs-attempt-boundary-0.1.0.tgz
npx attempt-boundary run ./attempt-plan.json --root ./workspace
npx attempt-boundary verify ./workspace/receipts/attempt-001.json
Exit 4 means preflight stopped execution. Exit 5 means execution was invoked but failed, timed out, or exceeded its output limit.
Included
Adjacent decision