pub fn gate_defaults(
profile: &ProfileSnapshot,
git: &GitWorkflow,
) -> Option<(&'static str, &'static str)>Expand description
The canonical release gate answers, for the one shape that renders a
gate reading them, or None for every other shape.
One shape consumes them: GitHub, an automatic release, the trunk
style, and local integration. There the rendered release workflow
wakes on a workflow completing and judges a named check, so a landing
that left either empty would render a gate no event can ever satisfy.
The names are this convention’s own: runbooks/setup.md writes the
gate job as gate, and ci is the workflow that carries it.
They are a compiled default and nothing more. A flag, the committed
configuration, and a compatible record each answer ahead of them, the
resolved answer is written back and recorded, and rk setup check
proves it against the target’s own workflow files. A project whose
names differ states them and the default never applies.
Every other shape resolves to empty, because no rendered reader
consumes the answer there. Under forge integration the trunk ruleset
holds the release request and setup.required_check names the context
that ruleset requires, which is the project’s own answer and not this
convention’s, so protect-trunk keeps asking for it.