Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .changeset/spec-symbol-rename-blindspot-4592.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
---

Tooling only, releases nothing: `check:spec-symbols` now also sees a hand copy that was
RENAMED away from the spec's symbol, by reading the declaration's own spec-alignment claim.

Rule 1 of `scripts/check-spec-symbol-derivation.mjs` matches BY NAME, so the copy that
objectui#4588 found — the spec's six navigation keys, hand-written as
`ViewNavigationConfig`, drifted on `mode`, under the comment "Aligned with
@objectstack/spec ListView.navigation" — had nothing for it to match and passed every CI
run. Rule 2 flags an exported declaration whose doc comment claims alignment with
`@objectstack/spec` while the declaration references nothing spec-bound, with the same
governance the file already uses: a reasoned `CLAIM_ALLOW` map and a shrink-only
`CLAIM_DEBT` ledger regenerated by `--claim-ledger`.

The structural alternative was built as a one-off census and measured before being
rejected: 38 sites on the current tree at >= 0.80 key overlap with a spec object type,
nearly all legitimately distinct layers. It would also have missed the largest sub-class
outright — eight declarations claim alignment with spec symbols the installed spec does
not export at all, where a key-set comparison has nothing to compare against.
Loading
Loading