This is the record of an abcd-managed repository

abcdBetav0.16.2 · 2026-11-06

Development record

The decomposition discipline requires a cross-record link to be typed with one of four relations, supersedes or reverses or duplicates or refines, and never a vague related. Only the first of those four exists. supersedes is schema-known through recordHandleFields and is carried by fifty-eight decision records and three others, while reverses, duplicates and refines appear in no schema and in no committed record anywhere in the tree: the field list a record may carry is related_adrs, related_intents, builds_on and blocked_by, and a record carrying a key outside the known set is dropped by the reader rather than reported, so writing one of the three missing words would make the record invisible to every surface that reads it. The consequence is that an author following the rule literally either writes a link the tooling silently discards or writes the relation in prose and calls it typed, and the corpus shows the second: records assert a typed link in a heading and carry no frontmatter edge, which reads as done to a human and is invisible to every graph walker. That is the shape enforcement-claims-are-facts refuses, a convention naming a mechanism that does not exist, and it is load-bearing here because the decomposition protocol is the documented gate until its automated rung ships. Fix candidates, none chosen: implement the three missing relations as known fields so the rule can be followed; or narrow the rule to the vocabulary the schema implements and say what an author does with a relation the four words cannot express; or record that prose is the sanctioned form for the three and stop calling them typed. Detector: a record asserting a typed relation in its body carries a frontmatter edge naming the same target, and a relation the schema cannot express is refused at write time rather than dropped in silence.

issueopenmajoriss-2609091256264547

The decomposition discipline requires a cross-record link to be typed with one of four relations, supersedes or reverses or duplicates or refines, and never a vague related. Only the first of those four exists. supersedes is schema-known through recordHandleFields and is carried by fifty-eight decision records and three others, while reverses, duplicates and refines appear in no schema and in no committed record anywhere in the tree: the field list a record may carry is related_adrs, related_intents, builds_on and blocked_by, and a record carrying a key outside the known set is dropped by the reader rather than reported, so writing one of the three missing words would make the record invisible to every surface that reads it. The consequence is that an author following the rule literally either writes a link the tooling silently discards or writes the relation in prose and calls it typed, and the corpus shows the second: records assert a typed link in a heading and carry no frontmatter edge, which reads as done to a human and is invisible to every graph walker. That is the shape enforcement-claims-are-facts refuses, a convention naming a mechanism that does not exist, and it is load-bearing here because the decomposition protocol is the documented gate until its automated rung ships. Fix candidates, none chosen: implement the three missing relations as known fields so the rule can be followed; or narrow the rule to the vocabulary the schema implements and say what an author does with a relation the four words cannot express; or record that prose is the sanctioned form for the three and stop calling them typed. Detector: a record asserting a typed relation in its body carries a frontmatter edge naming the same target, and a relation the schema cannot express is refused at write time rather than dropped in silence.

Deferral 2026-09-29

Deferred past v0.11.1: The product thinker's ruling M23 of 2026-09-23: support all four relations as typed fields on every record and every reader. Partly delivered: the filing-time match (itd-2609212137116617, shipped) writes duplicates and refines, and the lint resolves them; reverses exists in no schema, and the other families have not been planned. Owed: planning the remainder, which opens on one question: do the missing relations land on every record family at once, or family by family?

Remedy grounds (2026-09-29)

  • Ruling M23 (2026-09-23, dcn-2609230000000010) chose to build all four relations; duplicates and refines are schema-known on issues (internal/core/issueschema/issueschema.go), and reverses appears in no schema.
  • The body-edge lint is the record's own detector and stops the prose-called-typed shape from recurring.
  • Rejected: narrowing the rule to the implemented words, which the ruling declined.

Evidence 2026-10-04 (a downstream lab)

A downstream private project's lab reported that no frontmatter field links an intent to the ADR it carries out, only prose and the ADR's related_intents. Half of that is not so: intent frontmatter accepts related_adrs (record-lint's recordRefFields), and 62 intents in this repository carry it. The half that stands is this record's: related_adrs is the untyped related link the decomposition discipline refuses, no intent verb writes it, and "carries out" is not among the four typed relations of ruling M23, so the remainder's planning also meets the question of whether an intent-to-decision edge needs a relation of its own.

Deferral lapsed 2026-10-23

The deferral past v0.11.1 lapsed long ago and is withdrawn, on the old-majors triage of 2026-10-23. It stays open as a still-real major; no intent carries it yet. The reason it carried stays in the body above.

Checked at the default branch 2026-10-28

Partly met since: record-lint's reference fields now include reverses, duplicates and refines (internal/core/lint/schema.go), so the body's "reverses exists in no schema" is stale for the linter. The issue schema (internal/core/issueschema) still carries no reverses field.

Frontmatter

idiss-2609091256264547
typeissue
lifecycleopen
severitymajor

mentions13