From 4d5096d4b1d391c9fea0fd3527ccaa53de7118a2 Mon Sep 17 00:00:00 2001 From: Torsten Mahr Date: Mon, 31 Aug 2026 14:39:52 +0200 Subject: [PATCH] Say that committing a qualifying badge value is permitted, never required The first repository assessed against 1.6.0 read the badge rules twice and got two answers. The committing bullet names licence, platform, and conformance as qualifying for a committed image; the next bullet gives a `Pass` to a live third-party image "everywhere else". Those three values are not "everywhere else", so the text left them with no stated result, and `may` could be read as `must`. The permission is now explicit, and the `Pass` is tied to the absence of a first-party image rather than to "everywhere else". Nothing changes for any recorded result: 1.6.0 already ruled out the reading that would turn a `Pass` into a `Fail`. This puts that in the rule instead of the changelog. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 9b1752df-b072-40bc-b7bb-b985d12dd604 --- .github/badges/conformance.svg | 6 +++--- .github/conformance.yml | 2 +- CHANGELOG.md | 14 ++++++++++++++ docs/repository-quality-standard.md | 16 +++++++++------- docs/self-assessment.md | 2 +- standard.yml | 2 +- 6 files changed, 29 insertions(+), 13 deletions(-) diff --git a/.github/badges/conformance.svg b/.github/badges/conformance.svg index f874123..6c3b41d 100644 --- a/.github/badges/conformance.svg +++ b/.github/badges/conformance.svg @@ -1,10 +1,10 @@ - - trsdn standard: v1.6.0 - Healthy + + trsdn standard: v1.6.1 - Healthy trsdn standard - v1.6.0 - Healthy + v1.6.1 - Healthy diff --git a/.github/conformance.yml b/.github/conformance.yml index d512b34..66a9b41 100644 --- a/.github/conformance.yml +++ b/.github/conformance.yml @@ -6,7 +6,7 @@ # The badge in .github/badges/ is generated from this file. Change the evidence # first, then this record, then regenerate. Never the other way round. -standard_version: "1.6.0" +standard_version: "1.6.1" assessed_on: "2026-08-31" state: "Healthy" evidence: "docs/self-assessment.md" diff --git a/CHANGELOG.md b/CHANGELOG.md index c115ed7..042c148 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,20 @@ recorded here. Versions follow the compatibility policy in the [Repository Quality Standard](docs/repository-quality-standard.md). +## 1.6.1 - 2026-08-31 + +- Closed an ambiguity in the badge image rule, found by the first repository + assessed against 1.6.0. The committing bullet named license, platform, and + conformance as qualifying for a committed image, and the following bullet + granted a `Pass` to a live third-party image "everywhere else". Read together, + the three named values fell outside "everywhere else" and were left with no + stated result at all — neither `Pass` nor `Partial` nor `Fail` — which let + `may` be read as `must`. Committing a qualifying value is now stated as + permitted and never required, and the `Pass` is tied to the absence of a + first-party image rather than to "everywhere else". No result changes; 1.6.0 + already excluded a reading that turns a recorded `Pass` into a `Fail`, and + this states in the rule text what that exclusion implied. + ## 1.6.0 - 2026-08-31 - Corrected the reason given for self-hosting images. Both `P08` and `P09` diff --git a/docs/repository-quality-standard.md b/docs/repository-quality-standard.md index 227e434..20516e5 100644 --- a/docs/repository-quality-standard.md +++ b/docs/repository-quality-standard.md @@ -1,6 +1,6 @@ # Repository Quality Standard -- Version: 1.6.0 +- Version: 1.6.1 - Last reviewed: 2026-08-31 - Review cadence: every six months, even when nothing changes @@ -499,16 +499,18 @@ Rules: - Badges outside the required and optional sets need a stated reason. A wall of badges carries less information than four accurate ones. - A badge image may be committed to the repository only when a repository event - regenerates it. License, platform, and conformance qualify. CI status and the - latest release move without a commit, so a committed image of either is stale - between regenerations. Bounded staleness is acceptable for the activity card - in `P09`; it is not acceptable for a badge reporting current status. + regenerates it. License, platform, and conformance qualify, and committing + them is permitted, never required. CI status and the latest release move + without a commit, so a committed image of either is stale between + regenerations. Bounded staleness is acceptable for the activity card in `P09`; + it is not acceptable for a badge reporting current status. - Where the authority for a value publishes its own image, use that image. GitHub serves a workflow status badge for a repository's own CI, so that badge is first-party and live at once. A third-party render of the same value is not a `Fail`, but it is the weaker option and reassessment should replace it. -- Everywhere else a live third-party image is a `Pass`. Serving a value late is - worse than serving it from somebody else's host. +- A live third-party image is a `Pass` for any value with no first-party image, + whether or not that value would also qualify for committing. Serving a value + late is worse than serving it from somebody else's host. A hardcoded `Swift 5.9` badge beside a manifest that has moved to 6.0 is the failure this section exists to prevent. diff --git a/docs/self-assessment.md b/docs/self-assessment.md index e8a5499..ff23f87 100644 --- a/docs/self-assessment.md +++ b/docs/self-assessment.md @@ -1,6 +1,6 @@ # Self-Assessment: trsdn/.github -- Standard version: 1.6.0 +- Standard version: 1.6.1 - Assessed on: 2026-08-31 - State: **Healthy** - Record: [`.github/conformance.yml`](../.github/conformance.yml) diff --git a/standard.yml b/standard.yml index ff74bb6..6381a37 100644 --- a/standard.yml +++ b/standard.yml @@ -3,7 +3,7 @@ # Generated by scripts/standard.py from # docs/repository-quality-standard.md. Do not edit by hand. -version: "1.6.0" +version: "1.6.1" last_reviewed: "2026-08-31" prefixes: