Saphan StudioDocs
Reference/Commands

saphan certify

Runs the repository's full verification suite against the current tip of the local trunk branch, in a detached scratch worktree on this machine with your own permissions, and records the result agains

Runs the repository's full verification suite against the current tip of the local trunk branch, in a detached scratch worktree on this machine with your own permissions, and records the result against that exact commit. The suite is the one declared under verify.full in the configuration; a repository with no declaration but a go.mod runs Go's own test suite, and a repository with neither is refused rather than guessed at. Only a complete, clean pass moves the repository's "verified" marker forward; a killed, timed-out or incomplete run is recorded as a failed measurement, never as a verdict. It never pushes and never changes a remote.

saphan certify --repo /path/to/repo
saphan certify --status
saphan certify
flagtypedefaultwhat it does
--bisectboolfalseWalk the merge commits made since the last verified commit, name the first one that broke the suite, and print a revert order for you to act on; nothing is reverted automatically.
--forceboolfalseAllow the verified marker to move to a commit that does not descend from the current one, after you have inspected why the history diverged. ⚠ Nothing checks that you did.
--lock-timeoutduration5sHow long to wait for another certification of the same repository to release its lock before giving up.
--repostringThe repository to certify, as a path or a repository name from the workspace inventory; defaults to the repository of the current directory.
--statusboolfalseShow the verified marker and the latest recorded attempt without running anything; exits non-zero when the trunk tip is not verified.
--timeoutduration10m0sThe time allowed for one run of the suite; when not given, verify.full.timeout from the configuration applies, then 10 minutes.
--trunkstringdevelopThe local branch whose tip is certified, resolved once at the start. ⚠ Defaults to develop; give it whenever your trunk has another name, such as main.

Global options apply to every command — see Every command.