Skip to content

finding(changeset): the pending changeset still tells authors the lint accepts the canonical ListView spelling — the step-1 tightening makes every clause of that sentence false #15026

Description

@claude

Found while implementing step 1 of the ListView vocabulary ruling (PR #15025). Filed unassigned, out of scope for that PR, which may not rewrite another change's changeset prose.

What

.changeset/react-tier-vocab-converge.md is still pending (one of 810 unreleased changesets; added by commit b8fc7280). It is the customer-facing description of the react-tier vocabulary convergence, and it contains this sentence:

The lint accepts either spelling as satisfying ListView's required binding and resolves field-name props (columns, searchableFields, filter positions, …) against the object bound by whichever spelling is present, canonical winning when both are.

PR #15025 makes every clause of that sentence false for the object provider: the canonical spelling no longer satisfies the required binding, field-name props resolve against objectName only, and the DEPRECATED spelling now wins when both are present — because that is the one objectui queries.

Why it matters

Release notes are compiled centrally at release time from the accumulated changesets. If both changesets ship in the same release — which is the default, since neither has been released — the notes will carry two adjacent paragraphs that contradict each other, and the older one teaches the spelling that renders an empty list. Nothing detects this: changesets are prose, and no gate compares two of them for agreement.

Evidence

  • .changeset/react-tier-vocab-converge.md — present on origin/main, declares @objectstack/spec minor and @objectstack/lint minor.
  • .changeset/listview-canonical-binding-refused.md (added by PR fix(lint): refuse a react-page ListView bound only by the canonical data source #15025) — declares @objectstack/lint patch and states the opposite behaviour.
  • Neither package has released since b8fc7280: @objectstack/lint is at 17.2.0 in the workspace and both changesets are still in .changeset/.

Shape of a fix (for triage, not a decision taken here)

The narrow one is to correct the two stale clauses in the older changeset. The wider question — whether step 3 of the ruling, which retires the aliases outright, will make BOTH descriptions obsolete before any release cuts — is worth answering first, because the answer may be to rewrite the older changeset once, at step 3, rather than twice.


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