From 27fb1cde76ff0e9177d8208b8e4a61c8495e9d5a Mon Sep 17 00:00:00 2001 From: Nils Lehnen <30603423+iderex@users.noreply.github.com> Date: Mon, 17 Aug 2026 01:25:16 +0200 Subject: [PATCH] Say that the prose half of the prettier row is in the tree (#26) What was wrong. The `prettier` row read "the prose half is issue #50 and nothing in this tree formats Markdown today". Both halves of that sentence stopped being true on 2026-08-11. The row is a day older than the check it says is absent: git log -1 --format='%h %ad %s' --date=short --diff-filter=A \ -- docs/quality-parity.md 28b9142 2026-08-10 Walk the sso required set and say what survives here git log -1 --format='%h %ad %s' --date=short --diff-filter=A \ -- .github/workflows/prose.yml a9f3b74 2026-08-11 Refuse a whitespace change that hides the sentence next to it So a sixth declared check name had no verdict in this document, for a different reason from the five that were given one a commit ago. Those were never written down. This one was written down as absent and the entry went stale where it stood, which is the harder of the two to find, because a reader searching the row for the prose half finds a sentence rather than nothing. How it was found. By comparing the names the tree declares against the literals this document carries, rather than by reading the row: git grep -h -oE '\{Name: "[^"]+"' origin/main \ -- internal/contexts/contexts.go | sed 's/{Name: "//; s/"$//' | sort -u \ | while read -r n; do grep -qF "$n" docs/quality-parity.md || echo "no literal in doc: $n" done no literal in doc: prose format The six build entries the same sweep prints are not this case. Their verdict is in the `build` row and reaches them through the platform record rather than through six literals, which is the enumeration rule working as intended. What this changes. The row names both jobs, says both are kept and belong in the required set, and keeps the one thing the old sentence had right underneath it: neither of them rewrites anything. That is where the split departs from the target, since `prettier` formats and these two refuse, so a departure is a red tick here and a diff there. Signed-off-by: Nils Lehnen <30603423+iderex@users.noreply.github.com> --- docs/quality-parity.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/quality-parity.md b/docs/quality-parity.md index 3888c8b..6351098 100644 --- a/docs/quality-parity.md +++ b/docs/quality-parity.md @@ -60,7 +60,7 @@ today no tick does. | `Enforce greppable invariants` | Kept, different invariants | The invariants are properties of this repository's own tracked text, which is a different set from the target's, and they are in `internal/invariants/`. | | `Reject Trojan Source Unicode` | Kept unchanged | Already in the tree, and the attack it refuses is a property of source rather than of a language. | | `Audit workflows (zizmor)` | Kept unchanged | Already in the tree. The workflow YAML is the other executable thing here and it runs with write scopes. The job reports under this name and the code-scanning upload reports under `zizmor`, which is a different context and does not arrive on every pull request. | -| `prettier` | Kept, split in two | Records here are Markdown, and a whitespace diff on a record hides the sentence that changed. The runner's own source is held to `gofmt` by a job already in the tree; the prose half is issue #50 and nothing in this tree formats Markdown today. | +| `prettier` | Kept, split in two, and both halves are in the tree | Records here are Markdown, and a whitespace diff on a record hides the sentence that changed. The runner's own source is held to `gofmt` by the `format` job and the prose half is the `prose format` job. Both are kept and both belong in the required set. Neither rewrites anything, which is where the split departs from the target: `prettier` formats and these two refuse, so a departure is a red tick here and a diff there. | | `dependency-review` | Kept unchanged | Already in the tree, refusing a newly introduced dependency carrying a known advisory. | ## What this board adds that the target does not have