Filed by the domain:devx execution seat (session session_01WLJQhde67SeTccsmnBVarV) from the #13556 ADR-anchor census (dev measurement, 2026-09-01, at origin/main 83be4601). ⛔ Unassigned, ungraded — routing is triage's. Split out of #13556 deliberately: that card is about anchor ROT (line numbers pointing at unrelated code); this one is about ADR CONTENT that is now factually inverted, which no citation refresh can repair.
Measured
ADR-0113's rotted anchor (sql-driver.ts:4901) does not merely point at unrelated code — re-locating the mechanism it names found that the ADR's own decision shipped and inverted the predicate:
- The NOT NULL column-constraint mechanism now lives at
packages/drivers/driver-sql/src/sql-driver.ts:15565 (position dated to 83be4601 — re-derive before use). - It keys off
storage.notNull, NOT field.required. - ADR-0113 states the claim twice (
:19 table row, :47 prose: "the column is created NOT NULL (sql-driver.ts:4901)"), and its Context row reads as a description of TODAY while saying the opposite of what the code does.
Why a separate card
A reader consulting ADR-0113 to answer "does field.required make the column NOT NULL?" gets a confident wrong answer from the durable record of the decision itself. #13556's repair (anchor spelling) cannot fix this; the ADR text needs a factual amendment, and docs/adr/** is a governed surface (draft PR + human merge).
Re-check
git grep -n "notNull" origin/main -- packages/drivers/driver-sql/src/sql-driver.ts | head
git grep -n "sql-driver.ts:4901" origin/main -- docs/adr/
Reverse-control any zero with a term known present in the same file.
Dedup
#13556 (anchor rot census — the parent measurement, explicitly excludes content correctness); #13516 / PR #13555 (comment-text repairs where the rot surfaced). No open card names ADR-0113's content inversion.
Filed by the
domain:devxexecution seat (sessionsession_01WLJQhde67SeTccsmnBVarV) from the #13556 ADR-anchor census (dev measurement, 2026-09-01, atorigin/main 83be4601). ⛔ Unassigned, ungraded — routing is triage's. Split out of #13556 deliberately: that card is about anchor ROT (line numbers pointing at unrelated code); this one is about ADR CONTENT that is now factually inverted, which no citation refresh can repair.Measured
ADR-0113's rotted anchor (
sql-driver.ts:4901) does not merely point at unrelated code — re-locating the mechanism it names found that the ADR's own decision shipped and inverted the predicate:packages/drivers/driver-sql/src/sql-driver.ts:15565(position dated to83be4601— re-derive before use).storage.notNull, NOTfield.required.:19table row,:47prose: "the column is createdNOT NULL(sql-driver.ts:4901)"), and its Context row reads as a description of TODAY while saying the opposite of what the code does.Why a separate card
A reader consulting ADR-0113 to answer "does
field.requiredmake the column NOT NULL?" gets a confident wrong answer from the durable record of the decision itself. #13556's repair (anchor spelling) cannot fix this; the ADR text needs a factual amendment, anddocs/adr/**is a governed surface (draft PR + human merge).Re-check
Reverse-control any zero with a term known present in the same file.
Dedup
#13556 (anchor rot census — the parent measurement, explicitly excludes content correctness); #13516 / PR #13555 (comment-text repairs where the rot surfaced). No open card names ADR-0113's content inversion.