require_checks refuses a head that carries no statuses. A repository
with the setting on and no .gitbay/ci.yml has no mergeable merge
request at all, and no remedy but turning the setting off (krz/hypo!1).
The gate now refuses silence only from a head whose CI would have
spoken: .gitbay/ci.yml present, parseable, and carrying at least one
job that is neither schedule:- nor tags:-only. A config that will not
parse counts as running jobs — the push recorded a ci/config failure
for it, so that head is not silent.
#172's skipped statuses are unaffected: a path-filtered job still
reports, and a head whose ci.yml has push jobs still needs their
statuses.
Tests: TestRequireChecks{PassesWithNoCIConfig,PassesWithNoPushJobs,RefusesSilentPushJob}
in internal/control, and TestRequireChecksWithoutCIConfigMerges in
e2e. The first two fail before the change.
Closes #216