Skip to content

Require the Review gate (scheduled) context in branch protection #154

Description

@lamemustafa

What

master branch protection currently requires exactly one status context:

["Review gate"]

PR #147 adds a second, Review gate (scheduled), published by the trusted
reconciliation workflow (.github/workflows/review-gate-reconcile.yml) every 15
minutes from a default-branch checkout.

Until that context is added to branch protection it computes a verdict nobody
enforces. A Codex finding posted as a PR-level comment after the event-backed
Review gate has already passed will be detected and published as a failure — and
the PR will still be mergeable, because branch protection matches required checks by
context name.

Why it is not done in #147

The context cannot be added before it exists. GitHub offers a context in the
branch-protection UI only after a check run of that name has been observed, and the
reconciliation workflow runs from the default branch — so it produces nothing until
#147 merges and the first scheduled run fires.

This is a repository-admin action, not a code change.

Steps

  1. Merge fix(ci): fail closed on incomplete review evaluation #147.
  2. Wait for the first scheduled reconciliation run (cron is */15 * * * *), or
    dispatch review-gate-reconcile manually.
  3. Confirm a Review gate (scheduled) check run appears on an open PR head.
  4. Add Review gate (scheduled) to the required status checks for master.

Verification

With both contexts required, a PR-level finding posted after the event-backed check
has passed should leave the PR unmergeable within one cron interval, and hiding the
finding as Resolved should clear it on the following run.

Until step 4 is complete, treat the scheduled verdict as advisory. Do not describe
late PR-level findings as gated.

Blocks the last open review thread on #147.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions