Refuse a quarantine the record declares nothing about - #232
Merged
iderex merged 1 commit intoAug 31, 2026
Merged
Conversation
Record 0019 says an experiment may borrow only inside experiments/<slug>/borrowed, that the directory carries its own LICENSE, and that the experiment record declares the borrowing in a Borrowed field. Two of the three disagreements that layout can produce were refused. The third was not: a borrowed directory in an experiment whose record declares no Borrowed passed, so borrowed material could sit in the tree with its source and its licence named nowhere a header reader would look. It was left unbuilt because it read as a refusal on an absent field, which record 0013 forbids and which refuseHardware declines one field over for that reason. It is not one. The subject here is the directory, which is present, and a tree carrying a quarantine has already said it borrows before any header is opened. Nothing reads an absence, so an experiment that borrows nothing writes nothing and is never asked about the field, which is the whole of what 0013 bought. The message names both sides, the directory it refuses and the record that declares nothing, because which of the two is wrong decides the repair. A quarantine somewhere other than experiments/<slug>/borrowed stays the other arm's subject, so such an experiment is refused once and this arm reads the directory after it is moved. testdata/cases/a-borrowed-directory-the-record-does-not-declare declares exactly this refusal and no other. Its tree is byte-identical to its near neighbour an-experiment-that-borrows-and-declares-it apart from the one header line, so what the refusal is about is the declaration and not the layout. Both legs were proved by breaking them: deleting the refusal site reddens the new case alone, and widening the condition from `held && !declared` to `held` reddens the neighbour and the three other cases that borrow and declare it. Record 0019 is not edited. Its sentence saying nothing refuses this rule is evidence of the day it landed, and record 0026 decides that a landed record's evidence is never brought up to date. Signed-off-by: Nils Lehnen <30603423+iderex@users.noreply.github.com>
iderex
deleted the
borrowed/refuse-a-quarantine-the-record-declares-nothing-about
branch
August 31, 2026 18:00
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #188.
Record
0019allows an experiment to borrow only insideexperiments/<slug>/borrowed, requires that directory to carry its ownLICENSE, and requires the experiment record to declare the borrowing in aBorrowed:field. #189 landed two of the three disagreements that layout canproduce. The third was left unbuilt: a borrowed directory in an experiment
whose record declares no
Borrowed:passed, so borrowed material could sit inthe tree with its source and its licence named nowhere a header reader would
look.
Why it may exist now, when it could not before
It was left unbuilt because it read as a refusal on an absent field, which
record
0013forbids and whichrefuseHardwaredeclines one field over forexactly that reason. It is not one. The subject is the directory, which is
present; a tree carrying a quarantine has already said it borrows before any
header is opened. Nothing here reads an absence, so an experiment that borrows
nothing writes nothing and is never asked about the field, which is the whole
of what
0013bought. The decision to key it that way was taken on #188 on2026-08-31 and this change executes it rather than re-taking it.
The means
Go, in
internal/check/, because this is a second arm onrefuseBorrowedrather than a new artefact: the runner already walks
experiments/, alreadyreads the header, already resolves the quarantine path, and the case harness
under
testdata/cases/already compares whole refusal sets. A means thatcarries a refusable property, an executed proof and a command behind every
claim is what the standpoint asks for, and this one is already carrying all
three for its two neighbours.
What it refuses
The message names the directory it refuses and the record that declares
nothing, because which of the two is wrong decides the repair. The subject is
the directory rather than the record, which is the same sentence as the
paragraph above read off the output.
Proof that the guard bites, in both directions
The case declares exactly this refusal and no other, and its tree is identical
to its near neighbour
an-experiment-that-borrows-and-declares-itapart fromone header line:
Deleting the refusal site reddens the new case and nothing else:
Widening the condition from
held && !declaredtoheld, which is theone-character mistake available here, reddens the neighbour and every other
case that borrows and declares it:
Both runs were made and then reverted; the tree here carries neither break.
The gate on this branch
What record
0019does not get, deliberatelyThat record says in bold that nothing in this repository refuses a violation of
its rule today. That sentence is now wrong about the tree and it is not edited.
It is evidence of the day the record landed, and
docs/decisions/0026-evidence-in-a-landed-record-that-stopped-reproducing.mddecides that a landed record's evidence is never brought up to date and that a
paste under a standing decision is history rather than error. The decision
0019took is unchanged by this, so it gains no successor either. What isrepaired instead are the two documents outside
docs/decisions/that describethe gate as it is today:
CONTRIBUTING.mdanddocs/experiment-template.mdboth said this case still passes.
What a green run still does not prove
Nothing here opens the licence file or reads a word of it, and that bound is
written at
refuseBorrowedrather than only here. A pass says the layout andthe declaration do not contradict each other. It says nothing about which
licence the borrowed code is actually under, and nothing about whether the
result may be promoted into a board under other terms, which
0019leavesundecided on purpose.
Where this arm does not reach is at its own constant: a quarantine somewhere
other than
experiments/<slug>/borrowedis the neighbouring arm's subject, soan experiment whose only borrowed directory is in the wrong place is refused
once, and this arm reads the directory after it has been moved.
No second reader
Nobody but me has read this change. The evidence above stands in place of a
second reader rather than beside one, and the two break-and-watch runs are what
there is instead.