Skip to content

Say that one kept name is reported twice on one commit (#26) - #146

Merged
iderex merged 1 commit into
mainfrom
parity/one-context-is-reported-twice-on-one-commit
Aug 17, 2026
Merged

Say that one kept name is reported twice on one commit (#26)#146
iderex merged 1 commit into
mainfrom
parity/one-context-is-reported-twice-on-one-commit

Conversation

@iderex

@iderex iderex commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Refs #26

What this changes

The walk of which contexts arrive gains a subsection saying that one kept name
is reported twice on the same commit, and why. Reject Trojan Source Unicode
is produced by two runs of one workflow, because unicode-guard.yml is the
only file here whose push trigger reads every branch, so a branch pushed for a
pull request starts it for the push and for the pull request.

Four commands and their output: the duplicate itself and the two check suites
behind it, the push branch scope of every workflow in the tree, the trigger
block with the reason its author wrote for it, and the checkout line from each
of the two runs.

Nothing else in the document moves and no other file is touched.

What failure it prevents

This issue assembles the required set from the names a completed run reported,
and every command in that document which lists them deduplicates. One name
where the gate would meet two check runs is therefore invisible at the moment
the set is written, and the two runs read different trees: one takes the
branch, the other takes the branch merged into the base. A change that carries
none of these characters on the branch and carries one once merged separates
them, which is the case this guard exists for one merge earlier.

What was run

I ran the four commands CONTRIBUTING.md names, at the commit being pushed,
and the checker over this tree.

$ go build ./cmd/... ./internal/...
$ go vet ./cmd/... ./internal/...
$ gofmt -l cmd internal
(no output)
$ go test -count=1 ./cmd/... ./internal/...
ok  	github.com/Flowfin/lab/cmd/contexts	3.164s
ok  	github.com/Flowfin/lab/cmd/lab	4.582s
ok  	github.com/Flowfin/lab/cmd/notices	15.221s
ok  	github.com/Flowfin/lab/cmd/pullrequest	1.970s
ok  	github.com/Flowfin/lab/internal/check	1.969s
ok  	github.com/Flowfin/lab/internal/contexts	0.635s
ok  	github.com/Flowfin/lab/internal/hardware	1.413s
ok  	github.com/Flowfin/lab/internal/invariants	2.466s
ok  	github.com/Flowfin/lab/internal/notices	1.247s
ok  	github.com/Flowfin/lab/internal/prose	0.639s
ok  	github.com/Flowfin/lab/internal/pullrequest	0.976s

$ go run ./cmd/lab check .
examined .
1 experiment directory walked, 1 record read
18 decision records read
the time this run read is 2026-08-17T10:02:08Z
0 refused

Every command the subsection quotes was run before it was written and its
output pasted from that run rather than retyped. The tracker commands were run
against Flowfin/lab and the git commands against origin/main at 1ef2267.
The two log extracts are piped through sed in the quoted command itself,
because the raw log is tab separated and prose-carries-a-tab refuses a tab in
tracked Markdown.

What this does not do

It assembles no set and changes no ruleset, so every clause of this issue's
done-condition still stands where it stood.

It does not say what the platform does when two check runs answer to one
required name. That is behaviour this tree does not state, the set here is
empty so it cannot be measured on this board, and the subsection says both
rather than reasoning to an answer.

It proposes no repair. Narrowing the push trigger, renaming one of the two jobs
and leaving it as it is are all available, and which one is right depends on
what the set is meant to hold, which is this issue rather than this change.

The measurement is of one pull request on this board. Another workflow gaining
a push trigger over every branch would add a second doubled name, and the
command that derives the branch scopes is in the subsection so a reader can
re-run it rather than trust the list.

There is no second reader for this change tonight. What stands in place of one
is the output above and the commands in the subsection, each of which
reproduces against origin/main.

The set this issue assembles is taken from the names a completed run reported,
and every command in docs/quality-parity.md that lists them deduplicates. One
kept name is produced by two runs on the same commit, so the command prints one
line where the gate would meet two check runs, and nothing beside the command
said so.

unicode-guard.yml is the only workflow here whose push trigger reads every
branch, so a branch pushed for a pull request starts it once for the push and
once for the pull request. The two runs do not read the same tree: the checkout
lines quoted in the new subsection show one taking the branch and the other
taking the branch merged into the base, which is the difference a guard against
characters that change how source reads exists for one merge earlier.

What a merge does when two check runs answer to one name is platform behaviour
this tree does not state, and the required set here is empty, so it cannot be
measured on this board today. The subsection says that rather than reasoning
past it.

The means is prose in the document this issue reads the set from. It carries
its commands and their output the way the rest of that file does and needs no
apparatus maintained beside it.

Nothing here assembles the set or touches the ruleset, so the issue keeps every
clause of its done-condition.

Signed-off-by: Nils Lehnen <30603423+iderex@users.noreply.github.com>
@iderex
iderex merged commit 7ff4c58 into main Aug 17, 2026
25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant