Part of the PR-closeout contract repair (session 019eccc1, F1).
GW-B — labels in github-workflows:
- A gate that references a GitHub label which was never seeded fails on repos that lack it (
gh ... --label X errors; label-gated jobs misfire). The closeout session hit this with no-changelog.
- Add a gate-label audit (
scripts/gate-labels.mjs + test): statically collect every label declared as a *-label / *-labels workflow-input default, and fail if any is not in the seed set. Unreferenced seed labels are reported as informational only (many are valid manual/triage labels).
- The audit immediately surfaced three referenced-but-unseeded labels —
ci:full (repo-required-gate force-full-ci-label), auto-triaged (anomaly-triage), doc-orphan (doc-orphan-detector) — now added to the seed.
- The seed array was moved to
scripts/labels.mjs so the audit can import it without executing the setup-repo.mjs CLI.
Provisioning of the live repos with the full label set (so our own repos stop lacking no-changelog/ci:full) is a separate step run with setup-repo.mjs.
Part of the PR-closeout contract repair (session 019eccc1, F1).
GW-B — labels in
github-workflows:gh ... --label Xerrors; label-gated jobs misfire). The closeout session hit this withno-changelog.scripts/gate-labels.mjs+ test): statically collect every label declared as a*-label/*-labelsworkflow-input default, and fail if any is not in the seed set. Unreferenced seed labels are reported as informational only (many are valid manual/triage labels).ci:full(repo-required-gateforce-full-ci-label),auto-triaged(anomaly-triage),doc-orphan(doc-orphan-detector) — now added to the seed.scripts/labels.mjsso the audit can import it without executing thesetup-repo.mjsCLI.Provisioning of the live repos with the full label set (so our own repos stop lacking
no-changelog/ci:full) is a separate step run withsetup-repo.mjs.