saphan certify
Certify the current trunk tip at one immutable SHA
saphan certify
Certify the current trunk tip at one immutable SHA
Certify the CURRENT local trunk tip in a detached scratch worktree.
WHICH SUITE RUNS is config-v1's answer, not this verb's: [verify.full] declares argv, report kind (go-test-json | exitcode) and timeout. A repository with no declaration but a go.mod runs Go's own module suite and the record NAMES that default (suite_source: default-go). A repository with neither is REFUSED BY NAME — this verb will not run a Go command in a repository it knows nothing about and then report a verdict about the result. See docs/Saphan Studio.
Every attempt is append-only and keyed by one full SHA. Only a measured clean-green result advances the local verified pointer; a killed, timed-out, or otherwise incomplete suite is recorded as measurement-failed, retried, and never treated as a verdict. The certifier never pushes or mutates a remote.
--status projects the immutable attempt log plus the verified pointer. --bisect walks existing first-parent merge commits after the verified pointer, names the first measured regression, and composes a local revert order for the owner. It never reverts automatically and never pushes.
Options
| Option | Type | Default | Description |
|---|---|---|---|
--bisect | bool | false | walk first-parent merge commits after the verified pointer and compose a revert order |
--force | bool | false | allow a verified pointer to move to non-descendant history after explicit inspection |
--lock-timeout | duration | 5s | maximum wait for another certifier holding this repository lock |
--repo | string | unset | repository to certify (default: current directory) |
--status | bool | false | project the verified pointer and latest immutable attempt without measuring |
--timeout | duration | 10m0s | wall-clock budget for one detached suite attempt (unset: verify.full.timeout, then the built-in 10m) |
--trunk | string | develop | local trunk ref to resolve once at certification start |