What
repo-config/configure.sh checks one repository whatever its registry status, so a fleet-wide loop over registry/repos.json reports a finding on each archived repository that no write can ever clear. GitHub answers HTTP 403: Repository was archived so is read-only on a label write, and no ordering or retry changes that.
Found while rolling the comments label out to the 21 live fleet repositories ahead of promotion PR #1669. The three archived entries, DiskSpeedTest, GEM-Echo-Server and GoogleTo1Password, refused the write, so labels.json declaring comments leaves all three permanently non-conformant on that assertion.
Decision (ptr727, 2026-09-17)
configure.sh reads the target's registry/repos.json status and exits early on status: "archived", reporting the repository as out of scope rather than as drift.
This asserts no new policy. spec/audit.py already treats an archived entry as known and out of scope by design (spec/audit.py:418), and each of the three registry entries already carries the driftNote "Archived on GitHub. [...] No further conformance work is expected while archived." Only configure.sh does not honor what the registry and the audit already say.
The two alternatives were declined. Documenting that a fleet loop filters on status before calling the script leaves the filtering to whoever writes the loop, which is how this finding appeared. Accepting three permanent findings trains a reader to ignore lines in the check's output.
Scope
repo-config/configure.sh: early exit on an archived status, on the check and apply paths alike, with a message that names the status as the reason.
- Cover it wherever the script self-test suite reaches this script.
repo-config/README.md, where it documents what the check covers.
Not in scope: whether an archived repository keeps its registry entry. It does, because the fleet membership check reads it (#550).
What
repo-config/configure.shchecks one repository whatever its registry status, so a fleet-wide loop overregistry/repos.jsonreports a finding on each archived repository that no write can ever clear. GitHub answersHTTP 403: Repository was archived so is read-onlyon a label write, and no ordering or retry changes that.Found while rolling the
commentslabel out to the 21 live fleet repositories ahead of promotion PR #1669. The three archived entries, DiskSpeedTest, GEM-Echo-Server and GoogleTo1Password, refused the write, solabels.jsondeclaringcommentsleaves all three permanently non-conformant on that assertion.Decision (ptr727, 2026-09-17)
configure.shreads the target'sregistry/repos.jsonstatus and exits early onstatus: "archived", reporting the repository as out of scope rather than as drift.This asserts no new policy.
spec/audit.pyalready treats an archived entry as known and out of scope by design (spec/audit.py:418), and each of the three registry entries already carries the driftNote "Archived on GitHub. [...] No further conformance work is expected while archived." Onlyconfigure.shdoes not honor what the registry and the audit already say.The two alternatives were declined. Documenting that a fleet loop filters on status before calling the script leaves the filtering to whoever writes the loop, which is how this finding appeared. Accepting three permanent findings trains a reader to ignore lines in the check's output.
Scope
repo-config/configure.sh: early exit on an archived status, on thecheckandapplypaths alike, with a message that names the status as the reason.repo-config/README.md, where it documents what the check covers.Not in scope: whether an archived repository keeps its registry entry. It does, because the fleet membership check reads it (#550).