Proof task contract
Proof contracts describe operator-controlled assertions against a recorded run. A contract uses schema version 1 and names:
- the contract;
- the target run;
- one or more assertions.
Supported assertion families cover files, bounded HTTP checks, fixed Git working-tree checks, and exact-allowlisted commands.
Validate
Section titled “Validate”odinn experimental proof contract validate ./contract.jsonRun it:
odinn experimental proof run \ <run-id> \ --contract ./contract.jsonPath and command rules
Section titled “Path and command rules”File paths and command working directories are confined to the run workspace. Command execution is denied unless the complete argument vector exactly matches an operator-owned allowlist entry.
Approved commands run without a shell and receive a minimal environment. Output is bounded. Timed-out or flooding process trees are terminated.
Advanced: version 1 example
{ "schemaVersion": 1, "id": "release-check", "runId": "target-run", "assertions": [ { "id": "tests", "type": "command", "command": ["/absolute/path/to/pnpm", "test"], "expect": { "exitCode": 0 } }, { "id": "marker", "type": "file", "path": "dist/ready.txt", "expect": { "exists": true } } ]}Regular-expression matching is bounded and permits only documented flags. Model output cannot set a run to verified.
Read Run Checks before enabling Proof.
