Whole-branch review Important finding. The no-CI-handoff fix uses ci_required = verify_profile(repo) != "none" as a proxy. But verify_profile=="none" means "no test suite", not "no CI" — a repo can have no local tests yet still run GitHub Actions (link-check, build, spell-check).
If documentation actually runs CI, the loop wrongly skips the CI wait and hands off immediately — the exact behavior the gate should prevent. documentation#2 itself adds a CI workflow, flipping docs from no-CI → has-CI on merge.
Fix: a real per-repo ci_required signal decoupled from _NO_TESTS (detect .github/workflows presence, or an explicit config set). Depends on each non-core repo’s actual CI setup.
Whole-branch review Important finding. The no-CI-handoff fix uses
ci_required = verify_profile(repo) != "none"as a proxy. Butverify_profile=="none"means "no test suite", not "no CI" — a repo can have no local tests yet still run GitHub Actions (link-check, build, spell-check).If
documentationactually runs CI, the loop wrongly skips the CI wait and hands off immediately — the exact behavior the gate should prevent. documentation#2 itself adds a CI workflow, flipping docs from no-CI → has-CI on merge.Fix: a real per-repo
ci_requiredsignal decoupled from_NO_TESTS(detect.github/workflowspresence, or an explicit config set). Depends on each non-core repo’s actual CI setup.