Skip to content

Read the key condition rather than the paragraph resting on it - #215

Merged
iderex merged 1 commit into
mainfrom
parity/read-the-key-condition-rather-than-the-paragraph
Aug 28, 2026
Merged

iderex merged 1 commit into
mainfrom
parity/read-the-key-condition-rather-than-the-paragraph

Conversation

@iderex

@iderex iderex commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Refs #55

What was wrong

The signature subsection of docs/quality-parity.md pasted OPEN under one
command and rested two sentences on that value: that a merge on this board
refuses an unsigned commit while the custody story record 0023 conditions that
refusal on is unfinished, and that whether the setting should stand before that
issue is answered is a question the walk does not take. That custody question is one
I keep elsewhere rather than on this board, and read again at the head of this
branch it is answered: it is closed.

How it was found

By running every command that subsection pastes before quoting a row back. That
is the only way this class is found: a claim about another artefact reads the
same whether or not the artefact still says it, so nothing about the paragraph
looked wrong. The failure it prevents is a reader taking a gap this document
describes for one that is still open and deciding against it.

What the change says instead

The paste is repaired and the two sentences are replaced by what is left of the
gap, which is smaller and is stated exactly: the requirement is configured on
both boards and the condition it arrived ahead of has been met. The half that
does not shrink is kept rather than dropped, because record 0023 decides that a
signature is required and does not decide what happens to a contributor who
holds no key.

A second paste in the same subsection could not be run at all

Its issue-timeline command held a literal \n where the line continuation
belongs, so the shell passed n as a second argument:

accepts 1 arg(s), received 2

It is a real newline now, and the three lines pasted under it reproduce:

gh api repos/Flowfin/lab/issues/46/timeline --paginate \
  --jq '.[] | select(.event=="closed" or .event=="reopened")
        | "\(.event) \(.created_at)"'
Der Befehl "select" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

What else the walk returned, and what did not move

I re-read the rest of the subsection's evidence at this head rather than
trusting the rows. The rule types and the nine pull-request parameters return
what the tables give them, so nothing else in this section is repaired here:

gh api repos/Flowfin/lab/rules/branches/main --jq '.[].type'
deletion
non_fast_forward
pull_request
required_signatures
gh api repos/Flowfin/jellyfin-plugin-sso/rules/branches/main --jq '.[].type'
deletion
non_fast_forward
required_status_checks
pull_request
required_signatures
gh api repos/Flowfin/lab/rules/branches/main --jq '.[] | select(.type=="pull_request") | .parameters'
Der Befehl "select" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

The three commit verifications the subsection pastes also still return what it
says they return:

for c in 45bfe62 2edacce 43b4fae; do
  gh api repos/Flowfin/lab/commits/$c --jq '.commit.verification | "\(.verified) \(.reason)"'
done
true valid
true valid
true valid

What this does not finish

#55. The leg that issue is left on is the allowed_merge_methods edit on the
ruleset, which is not in this tree and which nothing in this change reaches. The
row in the parameter table already marks it as a change owed and the command
above still prints all three methods.

It also touches no other section of this file. Two of them are the subject of
other open work on this board, and one file under two hands at once is the
collision that costs more than a stale line.

The means

Markdown prose inside a document that already exists, because the artefact being
repaired is that document and the repair is three paragraphs and one line of a
pasted command. Nothing here adds a language, a runtime or a dependency, and
nothing here is a property a check could refuse: whether a paste still
reproduces is answered by running it, which is what this body does.

The gate, run at this head

go build ./cmd/... ./internal/...
go vet ./cmd/... ./internal/...
gofmt -l cmd internal
go test -count=1 -v ./cmd/... ./internal/...
go run ./cmd/lab check .

Every one of them is silent or green; gofmt -l printed nothing, which is its
passing result. The prose format check reads this file and passed:

--- PASS: TestThisRepositorySatisfiesTheProseFormat (2.76s)
    examined ../..
    41 prose files read, and testdata is not read
    0 refused

and the runner's own verb:

go run ./cmd/lab check .
examined .
1 experiment directory walked, 1 record read
26 decision records read
0 refused

Reading

There is no second reader for this change tonight. Nothing here has been read by
anybody other than whoever wrote it, and the evidence above stands in place of
that reading rather than replacing it.

The signature subsection of docs/quality-parity.md pasted OPEN under

    gh issue view 1609 --repo iderex/operations --json state --jq '.state'

and rested two sentences on that value: that a merge on this board refuses an
unsigned commit while the custody story record 0023 conditions that refusal on
is unfinished, and that whether the setting should stand before that issue is
answered is a question the walk does not take. The command returns CLOSED.

I found it by running every command the subsection pastes before quoting a row
back, which is the only way this class is found: a claim about another artefact
reads the same whether or not the artefact still says it. The failure the
repair prevents is a reader taking a gap this document describes for one that
is still open, and deciding against it.

What is left of the gap is stated exactly rather than dropped. The requirement
is configured on both boards and the condition it arrived ahead of has been
met, so the row is a met condition rather than a pending one; and the half that
does not shrink is kept, because record 0023 decides that a signature is
required and does not decide what happens to a contributor who holds no key.

The same subsection carried a second paste that could not be run at all. Its
issue-timeline command held a literal \n where the line continuation
belongs, so the shell passed n as a second argument and gh answered
"accepts 1 arg(s), received 2". It is a real newline now and the three lines
pasted under it reproduce.

This does not finish #55. The leg that issue is left on is the
allowed_merge_methods edit on the ruleset, which is not in this tree and which
nothing here reaches.

Refs #55

Signed-off-by: Nils Lehnen <30603423+iderex@users.noreply.github.com>
@iderex iderex self-assigned this Aug 28, 2026
@iderex
iderex merged commit 18872fe into main Aug 28, 2026
25 checks passed
@iderex
iderex deleted the parity/read-the-key-condition-rather-than-the-paragraph branch August 28, 2026 21:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant