Leave a record's moved reading as the command that produced it (#269) - #285
Merged
Conversation
0103 pastes a command and three file names under a paragraph arguing that a refusal with a worked case behind it is quotable. The command returns five files today. Nobody edited that paragraph: two records were added that name #103, and the paste went stale where it stood. 0269 decides that where a landed record pastes a command and the output no longer reproduces, the output is deleted and the command is left standing alone, with nothing pasted in its place. 0001 receives a second `Narrowed-by:` line for it, naming the clause narrowed - the prohibition on editing a record in place, which does not reach a pasted output removed so that only its command is left. The failure it prevents is a reader who runs the command, finds two files the record does not account for, and cannot tell whether the record is wrong or they are. That is the defect class this repository's rules lead with, standing in the record whose subject is what may be admitted at all. A fresh output pasted in place of the stale one repairs the sentence and not the class, and the evidence for that is the instance itself: the count moved from three to five without anybody opening the paragraph, so a second paste is a second thing that goes stale at the next record naming #103. The command alone cannot fail in that direction - it either runs or it visibly does not. What is lost is stated in the record rather than softened. The historical reading leaves the file and the history is where it is found afterwards, which is a real cost and the one argument against this decision. One thing near the paste is untouched and the record says so, to stop it being raised again: the sentence above the command counts three refusals with a worked case behind them, that is a count of refusals rather than of files, and the two were never the same number. Nothing refuses a stale paste, before or after this. No check here re-runs a command a record wrote down, and none could without executing arbitrary commands out of tracked text, which this gate deliberately does not do. The record says so of itself rather than implying a mechanism arrived. Signed-off-by: Nils Lehnen <30603423+iderex@users.noreply.github.com>
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.
The issue this belongs to
Closes #269
What changed
0103 pastes a command and three file names under a paragraph arguing that a
refusal with a worked case behind it is quotable. The command returns five files
today, and nobody edited that paragraph: two records were added that name #103,
and the paste went stale where it stood.
0269 names the route, which the issue asks for rather than assuming. Where a
landed record pastes a command and the output no longer reproduces, the output is
deleted and the command is left standing alone, and nothing is pasted in its
place. It is a fourth edit that is not a supersession.
0001 receives a second
Narrowed-by:line for it, in the field 0267 landedearlier today, naming the clause narrowed: the prohibition on editing a record in
place, which does not reach a pasted output removed so that only its command is
left. 0269 names 0001 back, and the check refuses either half without the other.
The shape is then applied to the instance. The three pasted paths leave 0103 and
the
git grepline above them stays.What failure it prevents
A reader who runs the command finds two files the record does not account for and
cannot tell whether the record is wrong or whether they are. That is the defect
class this repository's rules lead with, standing in the record whose subject is
what may be admitted at all.
It has already happened rather than being expected, and the way it happened is the
argument for the route: no change opened that paragraph. Records were added
elsewhere and the count under it moved by itself, which is what makes this a class
and not a mistake somebody made.
The route matters as much as the repair. The only route 0001 offered was a
supersession of the whole record, which discards a licence set, a worth test, five
grounds and a clause for a standing requirement to correct three lines. A rule
whose honest route costs that much selects for the quiet one, which here is
leaving the wrong output standing.
Evidence
The commit these were run at:
What the record pasted, read at the reference a reader has rather than from a
working tree:
The same command against the same reference:
Five rather than three. At this branch's head it is six, because 0269 names #103
too, which is the same drift arriving again during the change that repairs it:
The pairing 0267 landed, over the tree with the second narrowing on it:
The rest of the gate, run locally at this commit:
What a guard here refuses, and the proof it bites
No guard is added by this change. The one it uses is 0267's, which landed in #284
with its sixteen fixtures, and the two new fields are inside its subject rather
than beside it: the run above reads six fields where the previous run read four,
and refuses either half of the new pair without the other.
The means, and why it fits
A decision record and a deletion inside another one. Nothing is built, because
what #269 asks for is a route rather than a mechanism, and the record is where a
route is written. No language, runtime or dependency is added or touched.
What this does not cover
Nothing refuses a stale paste, before this change or after it. No check here
re-runs a command a record wrote down, and none could without executing arbitrary
commands out of tracked text, which this gate deliberately does not do. The record
says that of itself rather than implying a mechanism arrived, and this change adds
no check.
The historical reading leaves the file. A reader who wants what the command
returned on 2026-08-24 goes to the history for it. That is a real cost, it is the
one argument against this decision, and it is written into the record rather than
left out of it.
The sentence above the paste is untouched and is not the thing repaired. It counts
three refusals with a worked case behind them; that is a count of refusals rather
than of files, and the two were never the same number - 0103 itself and 0011 are
among the five and neither is a refusal with a worked case. The record says so, so
that the next reader does not raise it as a second instance.
Every other pasted reading in every other record in this tree is unexamined. This
change repairs the one instance #269 names and counts none of the others.
No run on GitHub had happened when this body was written. Every command above ran
on a Windows machine in Git Bash.
Who has read it
Nobody other than the author. There was no second reader available for it, and the
evidence above stands in place of one rather than the question being left open.