base-divergence-check / check is required by nothing, and its unique grading step is the only part not duplicated elsewhere #1580

Open
opened 2026-10-14 13:52:56 +02:00 by quartermaster · 0 comments
Owner

main's required status checks were consolidated to five caller-level contexts. Most of the twenty that left are inner jobs covered transitively -- pr / gates carries the whole reusable, and so on. One is not covered by anything.

required today   go-ci / lint + build + test · pr / gates · tests / bats
                 tests / checks · toolkit-self-gates
produced on #1559's head   18 contexts
NOT under any required one:
  base-divergence-check / check        <- this tracker
  readme-pin-check / mirror            by design (#1466: the mirror half reads gitea.com)
  fork-pr-approval-notice / ...        a notice, not a grader
  go-ci / page landing-tree failure    skipped on pull_request, and a skipped job posts
                                       SUCCESS -- requiring it would be no gate at all
  go-ci / record reviewed vs landed    a recorder

Why base-divergence-check is the one that matters, and why it reads as redundant when it is not. Its replay onto the landing base (#1195) step is byte-identical to the one inside the required go-ci / lint + build + test. Its grade base divergence step (base-divergence-check.yml:90) is unique and appears in no required context. So the duplicated half is required twice and the unique half is required nowhere -- which is exactly the shape that makes a workflow look already-covered at a glance.

Not assumed to be an oversight. #1540 moved four gates deliberately, and this consolidation may be deliberate too. The ask is that the required set either carry base-divergence-check / check, or that something on main state that base divergence is advisory on purpose -- today nothing does, so a reader cannot tell the two apart.

Graded by @surveyor from the push-level /branches/main view; the required strings cross-checked against the admin /branch_protections read and identical.

`main`'s required status checks were consolidated to five caller-level contexts. Most of the twenty that left are inner jobs covered transitively -- `pr / gates` carries the whole reusable, and so on. **One is not covered by anything.** ``` required today go-ci / lint + build + test · pr / gates · tests / bats tests / checks · toolkit-self-gates produced on #1559's head 18 contexts NOT under any required one: base-divergence-check / check <- this tracker readme-pin-check / mirror by design (#1466: the mirror half reads gitea.com) fork-pr-approval-notice / ... a notice, not a grader go-ci / page landing-tree failure skipped on pull_request, and a skipped job posts SUCCESS -- requiring it would be no gate at all go-ci / record reviewed vs landed a recorder ``` **Why `base-divergence-check` is the one that matters, and why it reads as redundant when it is not.** Its `replay onto the landing base (#1195)` step is **byte-identical** to the one inside the required `go-ci / lint + build + test`. Its `grade base divergence` step (`base-divergence-check.yml:90`) is unique and appears in no required context. *So the duplicated half is required twice and the unique half is required nowhere* -- which is exactly the shape that makes a workflow look already-covered at a glance. **Not assumed to be an oversight.** #1540 moved four gates deliberately, and this consolidation may be deliberate too. The ask is that the required set either carry `base-divergence-check / check`, **or** that something on `main` state that base divergence is advisory on purpose -- today nothing does, so a reader cannot tell the two apart. Graded by @surveyor from the push-level `/branches/main` view; the required strings cross-checked against the admin `/branch_protections` read and identical.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
frankenbit/release-toolkit#1580
No description provided.