saphan dry-run
Rehearse a write verb through its OWN rehearsal path, under a prefix a permission class can allow independently of the verb itself
saphan dry-run
Rehearse a write verb through its OWN rehearsal path, under a prefix a permission class can allow independently of the verb itself
Re-runs "saphan <verb> [args...]" in rehearsal mode through the identical
entrypoint a real invocation of that line would use — never a parallel
validator. The rehearsal a verb performs here is the verb's OWN, byte for
byte: this command composes no second copy of any verb's validation.
This prefix is the ONE spelling of a rehearsal. The mode is reached no other way in the vocabulary, and the wire form it composes internally is an implementation detail of this file — not a second name the engine offers. The reason is a permission fact: an allowlist matches a command PREFIX, so "saphan dry-run *" can be permitted while "saphan gate *" stays denied, which no flag deep in argv can express.
Existing rehearsal sites this verb re-uses verbatim: bridge init, gate, gate batch, machine renew, machine set-binary, machine set-repo-dir, machine set-worktrees-root, machine refresh-repo, machine deliver-branch, machine set-slots, machine set-price, machine unseat, merge, owner-block-settle, owner-block-discharge, refusal-class ratify, seat auth-performed, teardown, canon send.
A <verb> that does not resolve to a known command, or that resolves to one
with no rehearsal path of its own, REFUSES BY NAME — it is never forwarded,
so it can never fall through to executing the real act.