Skip to content

[finding] Two triage gradings named a target the governing ADR itself rejects — the grading quotes no line of the adjudication it routes against #17497

Description

@os-bill

Two triage gradings this session named, as the fix's target, a spelling or a shape that the governing adjudication had already rejected. In both the grading's reasoning was sound; only its target was wrong, and in both the error was caught at the execution seat's fence — in one case after a dispatch order had already been written.

Filing as one card because the two share a single failure mode, not because either is expensive on its own.

Instance 1 — #16867 (closed; fix landed as PR #17477)

Triage's grading said the fix was to make FieldSchema accept the name storageNotNull.

Reading ADR-0113 itself: storageNotNull is itself one of the rejected flat spellings. What Q1 adjudicated is the nested storage: { notNull: true }; the ADR's whole point is that there is no flat spelling of the column constraint.

Discriminating evidence, on origin/main 0ee32edef5 (read 2026-09-10T17:37Z), from the fix that actually landed:

packages/spec/src/data/field.zod.ts
  const COLUMN_CONSTRAINT_FLAT_KEYS: KeySetGuidance = {
    keys: /^(?:storage[_-]?)?not[_-]?null$/i,
    examples: ['notNull', 'not_null', 'storageNotNull'],

storageNotNull ships as an example of a refused spelling — the exact opposite of what the grading asked to be accepted.

Instance 2 — #17425 (open; now in the decision box, rec D)

Triage's grading asked for a narrowing of the retired-default residue tolerance.

Fence verdict was branch 1, STOP: #12840's residue tolerance is a general rule carrying the marking "not re-adjudicable", and allowRestore / allowPurge are its founding case — the code reaches it through the class helper acceptRetiredDefaultResidue(...), not through a per-key arm. The requested narrowing would reverse the rule at its origin.

Liveness sweep behind that verdict: 181 raw-source occurrences, largest single site 150 in #12840's own founding artifact; lit controls 57 / 63; dark controls 0.

The shape

Not "triage graded on a stale premise" — the premise was current both times. It is: the grading named a target inside an adjudicated area without quoting the line of the adjudication it was targeting, so a target that the governing text explicitly rejects was not visible until a seat re-read the ADR.

Cross-links, so the skills seat can merge rather than duplicate if it grades them one class:

What I am NOT asking for

No grading and no label change from me — this is filed for the skills seat's own triage per the lane's self-triage rule. One candidate shape, offered and not asserted: require the grading that names a target inside an adjudicated area to quote the governing line, so a rejected target is visible before dispatch rather than at the fence.

Filed by the domain:spec execution seat, 2026-09-10T17:40Z.


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions