Skip to content

Leave a record's moved reading as the command that produced it (#269) - #285

Merged
iderex merged 1 commit into
mainfrom
a-reading-that-has-moved-269
Sep 2, 2026
Merged

Leave a record's moved reading as the command that produced it (#269)#285
iderex merged 1 commit into
mainfrom
a-reading-that-has-moved-269

Conversation

@iderex

@iderex iderex commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

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 landed
earlier 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 grep line 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:

git rev-parse HEAD
d2001431d4e5ab5d8f42df75b79c4fefdd13a9c8

What the record pasted, read at the reference a reader has rather than from a
working tree:

git show origin/main:docs/decisions/0103-what-admits-a-dependency-and-what-is-refused.md | sed -n '137,140p'
    git grep -l '#103' -- docs/decisions
    docs/decisions/0041-how-a-cache-key-is-built.md
    docs/decisions/0061-the-span-facility.md
    docs/decisions/0112-where-the-platform-decoder-begins.md

The same command against the same reference:

git grep -l '#103' origin/main -- docs/decisions
origin/main:docs/decisions/0011-the-language-the-toolchain-and-the-binding-layer.md
origin/main:docs/decisions/0041-how-a-cache-key-is-built.md
origin/main:docs/decisions/0061-the-span-facility.md
origin/main:docs/decisions/0103-what-admits-a-dependency-and-what-is-refused.md
origin/main:docs/decisions/0112-where-the-platform-decoder-begins.md

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:

git grep -l '#103' HEAD -- docs/decisions | wc -l
6

The pairing 0267 landed, over the tree with the second narrowing on it:

bash .github/decision-records/decision-records.sh check | grep -E '^Records:|^ok  '
Records: 63. Fields found: 6.
ok    6 field(s) name a record that exists, name a clause, and are named back

The rest of the gate, run locally at this commit:

cargo test --locked | grep -c '^test result: ok'
9

bash .github/doc-paths/doc-paths.sh check | tail -1
Every path these documents name resolves against the tracked set.

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.

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>
@iderex
iderex merged commit 3cedb0e into main Sep 2, 2026
26 checks passed
@iderex
iderex deleted the a-reading-that-has-moved-269 branch September 2, 2026 14:41
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.

0103 pastes a command whose output has moved from three files to five

1 participant