Step 4 of .github-private#913. Steps 1–3 put the pieces in place on 37 repos (required standard / test, allow_auto_merge, the auto-merge.yml caller, measured live on desk#84). Today the epic asserts that arrangement; the standard should measure it, per public repo, so a repo that falls out of it is a finding and not a memory.
What the snapshot gains
Per row, a dark_factory object read with the lane's own token:
required_checks — the required_status_checks contexts on the default branch, from GET /repos/{r}/rules/branches/{default} (public on public repos). Unreadable → a lane gap, never a silent empty list.
arming_lane — auto-merge.yml if the repo carries the org caller on its default branch, else null; dependabot-auto-merge.yml reported beside it while it still exists (#929).
gate_ready — true only when standard / test and pr-claim / pr-claim are required and the arming lane is present. Three facts, all observed.
allow_auto_merge is not in this object: GitHub returns it only to an admin-rights caller, and the lane deliberately mints nothing. It is declared in infra github-admin/repositories.tf and applied there; the snapshot says so rather than guessing.
New findings (repo's, not the lane's)
arming-lane-absent — gated (standard / test required) but no arming lane: green waits for a person.
gate-absent — calls the standard but nothing on the default branch requires it: green gates nothing (the fail-open case #913 names).
Totals gain gate_ready; the summary line and the reader print it. desk's Repo health section picks it up in a later PR.
Expected on the first run: 37 gate_ready; the remaining callers land in gate-absent, which is the step-1 rollout's remaining denominator stated by the instrument rather than by hand.
Step 4 of
.github-private#913. Steps 1–3 put the pieces in place on 37 repos (requiredstandard / test,allow_auto_merge, theauto-merge.ymlcaller, measured live on desk#84). Today the epic asserts that arrangement; the standard should measure it, per public repo, so a repo that falls out of it is a finding and not a memory.What the snapshot gains
Per row, a
dark_factoryobject read with the lane's own token:required_checks— therequired_status_checkscontexts on the default branch, fromGET /repos/{r}/rules/branches/{default}(public on public repos). Unreadable → a lane gap, never a silent empty list.arming_lane—auto-merge.ymlif the repo carries the org caller on its default branch, elsenull;dependabot-auto-merge.ymlreported beside it while it still exists (#929).gate_ready— true only whenstandard / testandpr-claim / pr-claimare required and the arming lane is present. Three facts, all observed.allow_auto_mergeis not in this object: GitHub returns it only to an admin-rights caller, and the lane deliberately mints nothing. It is declared in infragithub-admin/repositories.tfand applied there; the snapshot says so rather than guessing.New findings (repo's, not the lane's)
arming-lane-absent— gated (standard / testrequired) but no arming lane: green waits for a person.gate-absent— calls the standard but nothing on the default branch requires it: green gates nothing (the fail-open case #913 names).Totals gain
gate_ready; the summary line and the reader print it. desk's Repo health section picks it up in a later PR.Expected on the first run: 37
gate_ready; the remaining callers land ingate-absent, which is the step-1 rollout's remaining denominator stated by the instrument rather than by hand.