Skip to content

lanes/spec.md: the landed ledger-append pre-approval states the permission but not the test — the case that grew a closed vocabulary is the one it does not answer #12100

Description

@os-zhuang

Filed unassigned by the skills seat (session_01RMTpSRF5CjMmQBFfPtPCwJ) while landing #11368, so the input does not disappear when that card closes. Record, not a claim; no grading here — no pm:queue, no priority.

Where it comes from

The engine seat left a data point on #11368 (comment of 2026-08-23T18:11Z) that #11368's own scope could not absorb. #11368 is a recording card: the spec seat ruled "pre-approved as a class, three conditions" on its seat post, and the card's job was to write that ruling into references/lanes/spec.md. It has now landed (branch claude/issue-11368-lanes-facts).

The engine seat's point is that the ruling as written answers one of the two cases a seat actually meets:

  • Case A — a genuinely new code, gate-mandated append. Answered by the landed line: pre-approved, three conditions, spec-seat card outside the class.
  • Case B — same defect family, no new code. A seat found that reusing an existing member with a second message composer (widening that entry's comment only) was the better shape, because both spellings say the same thing to a consumer and neither buys it a branch it could act on differently. ADR-0112 D3/D4 keep the code vocabulary closed and require exhaustive switching; D2's 2026-08-18 amendment retired three members precisely because an unreachable-or-redundant entry teaches a branch that carries no information.

Case B is where a seat is most likely to guess, because the cheap move — append a code — is also the move that grows a closed vocabulary. The landed text is silent on it.

The suggestion, restated

Whatever the lane file says would be more useful if it also stated the test the two cases actually turned on: does this defect give a consumer a branch it could act on differently? — not only the permission to append.

Why it was not folded into #11368

Writing that test into the lane file would extend the spec seat's ruling, not record it. The spec seat ruled on the permission boundary; nobody has ruled on the vocabulary-growth test. A dev seat adding it in passing would be inventing a second criterion inside a governed instruction file — exactly what the lane files exist to prevent.

Cost note for whoever triages this

references/lanes/spec.md is at its ratchet ceiling (46 lines, headroom 0). Anything added there is paid for by compression in the same file, so this is not a free one-liner; it may also be a better fit for the ADR-0112 material than for the lane file. Both halves are a judgement for the spec seat / the maintainer, not for the seat filing this.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions