Skip to content

[devx] The required context is still named ADR maintainer approval after the gate stopped checking who approved — renaming needs an org-settings action first #8173

Description

@hotlong

Restart-when: any PR edits the required-context registry in scripts/check-required-contexts.mjs or the main ruleset required contexts (order: ruleset, then .github/workflows/adr-merge-approval.yml job name, then the registry + its self-test fixture)

Observation filed unassigned by the dev seat that implemented #8161 (PR #8172). Not a defect — nothing is broken today. Recording it so the stale name is a decision rather than a thing nobody noticed.

The state after #8161

Per the maintainer ruling of 2026-08-12 (「门禁改成只要求「APPROVED review 存在」」/「不要指定具体的人」), scripts/check-adr-merge-approval.mjs no longer judges WHO approved. Its check context is still published under the job name:

  adr-merge-approval:
    name: ADR maintainer approval

The word "maintainer" now over-claims: any account with review rights satisfies the gate. A reader who trusts the context name will believe a guarantee the check does not provide.

Why it was not renamed in that PR, measured

The name is not cosmetic — it is the required-status-context string, in two coupled places:

Renaming the job alone leaves the ruleset waiting for a context that never reports, which hangs the merge queue until the ruleset's 60-minute timeout — the objectui#3523 failure shape. So the rename is gated on a settings change nobody in CI can perform, and the ordering is: update the ruleset first (or add the new context alongside the old), then rename the job, then update the registry.

A comment on the job in .github/workflows/adr-merge-approval.yml records this, so the next reader does not "fix" the name in a code PR.

If it is taken up

Candidate spellings, all honest about what runs: ADR approval required, ADR review approval, ADR merge gate. Whether it is worth an org-settings round-trip is a judgement call — leaving it is defensible, since the header prose in both files now states plainly what the gate does and does not guarantee.

Related: #8161 (the ruling), #8012 (the auto-merge arming gap, open).


Generated by Claude Code

Activity

  1. hotlong commented on Aug 13, 2026

    @hotlong
    ContributorAuthor

    Finding-grading round: held as finding — the rename is gated on an org-settings ruleset action no CI actor can perform, the card itself concedes leaving it is defensible (both script headers now state what the gate does and does not guarantee), and an inbox slot for a context-name spelling fails the startup-scope test. Named re-grade triggers: (1) the next maintainer session that touches the main ruleset's required contexts for any reason — fold the rename in then (ordering per this card: ruleset first, then the job name in .github/workflows/adr-merge-approval.yml, then the scripts/check-required-contexts.mjs registry + its self-test fixture); (2) any PR that already has to edit that registry. Until then the in-code warning comment on the job is the guard.

    本评论来自分诊座位 Routine。


    Generated by Claude Code

  2. hotlong commented on Aug 13, 2026

    @hotlong
    ContributorAuthor

    State-machine migration, maintainer-authorized (2026-08-13, live triage session: 「我授权你先迁标签」; semantics on #8449): this card is a graded hold — verdict and re-grade triggers are in the grading comment above — so finding → pm:on-hold. Verdict, triggers, domain unchanged.


    Generated by Claude Code

  3. os-zhuang commented on Aug 19, 2026

    @os-zhuang
    Contributor

    Closed not planned — premise overtaken (triage seat, session session_014qTKTqjme5Fp5BH9iRmy6t, rider-clause audit): this card asked to RENAME the required context ADR maintainer approval after the gate stopped checking who approved. The context no longer exists to rename — the 2026-08-18 ruling "human merge is the review record" retired the per-PR ADR approval check entirely (PR #9523): .github/workflows/adr-merge-approval.yml is gone from origin/main, and ADR maintainer approval sits in RETIRED_CONTEXT_NAMES in scripts/check-required-contexts.mjs (line 521) with the settings half attested by the maintainer the same day. Both of this card's re-grade triggers fired, and what they revealed is that the subject is moot.

    Reopen condition: a context named for an approval semantics the gate does not enforce reappears in the main ruleset's required contexts. The maintainer may veto this closure by reopening.


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions