Skip to content

Commit 9a0331f

Browse files
committed
chore(changeset): patch @objectstack/cli for the docs/duplicate-name record
The comment is emitted into the published tarball (files[] ships dist/, tsc without removeComments), so the diff publishes bytes and takes a changeset rather than skip-changeset. Measurement recorded in the body. Claude-Session: https://claude.ai/code/session_01QCdUBjM47SxioST9z5Zwdf Co-authored-by: Claude <noreply@anthropic.com>
1 parent 2fa78a7 commit 9a0331f

1 file changed

Lines changed: 43 additions & 0 deletions

File tree

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
'@objectstack/cli': patch
3+
---
4+
5+
`collect-docs.ts` records what the `docs/duplicate-name` refusal rests on now that ADR-0048 §3.4 retired its older justification (#19248)
6+
7+
`docs/duplicate-name` refuses two owners declaring one doc name. The claim it
8+
was once explained by — *"one registration overwrites the other"* — was retired
9+
by ADR-0048, and a refusal whose stated justification no longer exists is worth
10+
examining rather than inheriting second-hand. #19248 examined it.
11+
12+
**The verdict is that no wording change was warranted**, and the ADR text is
13+
quoted into the rule's own docblock so the next reader does not have to
14+
re-derive it. §3.4 retires a RUNTIME throw and nothing else — *"The
15+
cross-package **throw is retired**; two distinct packages coexist on the same
16+
bare name by construction."* — while keeping, in the same clause, the class
17+
this lint belongs to: *"Authoring-time hygiene — an author shipping two
18+
`page/home` in one package — stays covered by the `naming/namespace-prefix`
19+
lint in `os lint`."* Both sentences are quoted verbatim, checked against
20+
`docs/adr/0048-cross-package-metadata-collision.md` on this branch's base
21+
(`13d52947d8`) rather than recalled.
22+
23+
The message already said `for authoring hygiene` and already declined the
24+
retired claim by name, so what shipped was correct and stays byte-identical.
25+
What the docblock gains is the ADR's own words, the card number the standing
26+
**severity** disagreement is filed under, and the boundary between the two
27+
questions: §3.4 hands authoring hygiene to a warning-only lint while this one
28+
is `severity: 'error'`, which is a live question about the level and not about
29+
the reason.
30+
31+
⛔ No behaviour changes. No rule, message, severity or accept set moves; the
32+
only edited bytes are inside one docblock comment.
33+
34+
**This ships, which is why it carries a changeset rather than
35+
`skip-changeset`.** `@objectstack/cli`'s published `files[]` is
36+
`["dist","README.md","CHANGELOG.md"]` and the package builds with plain `tsc`
37+
(`tsc -p tsconfig.build.json`, no `removeComments`), so the comment is emitted
38+
into the tarball — measured on the rebuilt artifact: the new clause is present
39+
in `dist/utils/collect-docs.js` (1 occurrence), the replaced spelling is absent
40+
from all of `dist` (0), and `dist/**/*.d.ts` carries 0 of it because the block
41+
sits above a non-exported helper. The rule's own runtime message resolves to
42+
that same file as the positive control. So the published JS bytes move while
43+
the declaration surface does not.

0 commit comments

Comments
 (0)