saphan closure
Acts directly on a stream's closure: the cleanup job that a final owner decision (a merge, or a close without merging) starts.
Acts directly on a stream's closure: the cleanup job that a final owner decision (a merge, or a close without merging) starts. A closure collects and verifies the stream's evidence, then removes its worktree, branch, run directory and claim; ⚠ those removals are not undone. It normally runs by itself from the final command; these subcommands are for when that command can no longer reach it.
saphan closure redrive
Resumes an unfinished closure from the first step the record shows as not done, using the cleanup logic of the binary you are running, for example after a fix to a step that previously failed; a finished closure is refused. It writes no gate decision and signs nothing. It is an owner act: it prints a one-time six-character code on the terminal and waits for it to be typed back, and is refused with no terminal (scripts, CI), inside the console's browser terminal (use the passkey there) and after five wrong codes. If the stream's own final command can still run, re-running it resumes the same closure and this command is not needed. Prefix with saphan dry-run to see which step it would resume and what blocks it, without writing anything.
| flag | type | default | what it does |
|---|---|---|---|
--all-blocked | bool | false | Resume every unfinished closure in the record after one owner code; one closure failing does not stop the others. ⚠ It first opens a closure for each stream whose final decision has none (up to 100 per run), before the code is asked. Give either this or --stream. |
--stream | string | The stream whose unfinished closure is resumed; a stream with no closure is refused, because this form never opens one. Give either this or --all-blocked. |
Global options apply to every command — see Every command.