You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
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.
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.
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.mdis still pending (one of 810 unreleased changesets; added by commitb8fc7280). It is the customer-facing description of the react-tier vocabulary convergence, and it contains this sentence: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
objectNameonly, 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 onorigin/main, declares@objectstack/specminor and@objectstack/lintminor..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/lintpatch and states the opposite behaviour.b8fc7280:@objectstack/lintis 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