Repository navigation
Commit 19db79b
committed
docs(spec): state the prior behaviour truthfully — no diagnostic, not a warning
The changeset said an input the artifact pass newly refuses "previously
composed with only a warning". Measured on main, that class of input produces
no diagnostic at all: `composeStacks` calls `validateCrossReferences` zero
times and `console.warn` zero times, and its one `warnMalformedCollectionKey`
site fires on `declared.length !== arrays.length` — a collection key that is
not an array. The newly-refused inputs carry well-formed arrays with a
dangling reference, so that condition never holds.
The clause conflated two populations and handed an upgrading reader a false
self-test ("we never saw a warning, so this is not us") in text that ships
verbatim into CHANGELOG.md. It now reads "where it previously composed with no
diagnostic at all — the existing non-array warning covers a malformed
collection key, not a dangling reference".
Same stroke, the precision the review asked for: the no-op half of the
invariant holds for an input that passed the strict parse AND did not opt in.
An opted-in input also passed that parse but resolved against its own objects
plus the names it listed, and checking a listed name against the real artifact
is what this pass is for — so it can fail here by design. The qualifier is
added in the changeset, in the `collectArtifactCrossReferenceErrors` docstring
and in the fixture file's header, which carried the same sentence.
Text only: no schema, no rule, no fixture and no docs page changes, and the
changeset level stays `minor`.
Claude-Session: https://claude.ai/code/session_01T3YsvpK1PvYf9n1YUhYP6W
Co-authored-by: Claude <noreply@anthropic.com>1 parent 0c21631 commit 19db79b
3 files changed
Lines changed: 17 additions & 9 deletions
File tree
- .changeset
- packages/spec/src
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
| 23 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
47 | | - | |
48 | | - | |
49 | | - | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
50 | 53 | | |
51 | 54 | | |
52 | 55 | | |
53 | | - | |
| 56 | + | |
54 | 57 | | |
55 | 58 | | |
56 | 59 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3804 | 3804 | | |
3805 | 3805 | | |
3806 | 3806 | | |
3807 | | - | |
3808 | | - | |
3809 | | - | |
3810 | | - | |
| 3807 | + | |
| 3808 | + | |
| 3809 | + | |
| 3810 | + | |
| 3811 | + | |
| 3812 | + | |
| 3813 | + | |
| 3814 | + | |
| 3815 | + | |
3811 | 3816 | | |
3812 | 3817 | | |
3813 | 3818 | | |
| |||
0 commit comments