Skip to content

A record that narrows one clause of another has no shape in 0001, and one now exists in the tree #267

Description

@iderex

0001 fixes that a record is added or superseded and never edited in place, and it
names three edits that are not supersessions. None of them covers a later record
that narrows one clause of an earlier one while leaving the rest of it standing.

The evidence

The permitted edits, read out of the record that imposes the rule:

git rev-parse origin/main
ded6d1fcbd9ad65b5a04fbf58c0a7d0e34dd2c10
git show origin/main:docs/decisions/0001-decision-records.md | grep -n 'Three edits are not supersessions' -A6

and the test it gives for the third:

git show origin/main:docs/decisions/0001-decision-records.md | tr '\n' ' ' | tr -s ' ' | grep -o 'If the edit could be removed[^.]*\.'

So the pointer is allowed only where removing it would take no reason away, which
means the narrowing itself cannot live in the record it narrows.

The instance that raised it

0243 narrows the fourth of 0103's refused behaviours: a dependency that writes to
a log stays refused, and one that links a logging facade whose sink is absent
does not, on the condition that the core installs no logger. Everything else in
0103 - the worth test, the licence set, the other four grounds, the clause for a
standing requirement - is unchanged, so superseding it whole would discard five
things nobody argued with to move one.

What the tree carries as a result: 0103 keeps its own text, receives a pointer,
and a reader who does not follow that pointer reads its fourth behaviour one
clause wider than the rule in force. Nothing refuses that reader.

What this produces

A decision on which of these the format takes, recorded in docs/decisions/:

A Narrowed-by: NNNN line beside a Status: line, so that the pointer is a field
a reader cannot miss rather than a sentence in a section they may not reach.

A supersession that names the section it replaces, so 0103 becomes
superseded in part by NNNN and the part is named.

Neither, with the whole-record supersession accepted as the cost and 0243 rewritten
as a full replacement of 0103.

Done when

The record is in docs/decisions/, 0001 carries whatever the answer requires of
it, and the shape is applied to the one instance that exists, which is 0103 and
0243. 0001's own reversal condition already contemplates this: a record whose
subject does not fit its headings, twice.

Metadata

Metadata

Assignees

Labels

decisionAn architecture decision that must be written down with its reasonsdocumentationImprovements or additions to documentation

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions