pub fn resolve_check_name(name: &str, manifest: &Manifest) -> Named2Expand description
amont run <check> — one check by name. None when there is no such
check, which the caller turns into a usage error.
Lives here rather than in main.rs so registry::lookup stays inside the
runtime, and so the hold decision is made once: a named check takes the
index-fidelity hold only when it is a Stage::PreCommit check running in
staged mode. A pre-push or commit-msg check invoked by name must never
touch the working tree — nothing about a push is a staging operation.
Resolve what amont run <name> means, exactly as hook.skip resolves a
name — the rest of the tool taught ban-terms; making run demand the
full id was a pointless second vocabulary. Ambiguity is an answer, not a
guess: the two branch-pattern checks are different code at different
stages.
Public because the CALLER needs the answer before anything else happens: main decides whether to synthesize push refs from the resolved name, and an ambiguous name must say so rather than fail on a missing upstream it was never going to use.