Skip to content

Commit 85bb9da

Browse files
committed
chore(changeset): patch @objectstack/spec for the re-anchored doc block
The functional-completeness module doc is emitted verbatim into `packages/spec/dist/kernel/index.d.ts`, which `files[]` publishes, so the citation text that moved ships to consumers. Half 1 of the published-text test says no (the source path is not in `files[]` and is not a `*.zod.ts`); half 2 says yes, measured on a fresh build. `@objectstack/rest` answers no on both halves — the changed file is a `.test.ts`, and its text is absent from `packages/rest/dist` while a positive control from the same file's module is present. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016N6xmWt5hYm94ffVEwGH8x
1 parent 5c978f8 commit 85bb9da

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
"@objectstack/spec": patch
3+
---
4+
5+
`functional-completeness`'s published doc block now anchors its `record-validator.ts` citations on a SYMBOL and a verbatim snippet instead of a line number.
6+
7+
The module doc for the functional-completeness predicate is emitted verbatim into `dist/kernel/index.d.ts`, so the citations that justify its rules ship to consumers. Three of them cited `packages/objectql/src/validation/record-validator.ts` by line — `:452` for the `select`/`radio` rule and `:471` for the `multiselect` NON-rule — and the validator has moved twice since those numbers were written. Both landed hundreds of lines away, on unrelated prose inside a comment block, which is the failure mode a `path:NNN` anchor has by construction: the line it lands on still looks like plausible code, so nothing reads as broken.
8+
9+
Each citation now names the enclosing function `validateOne` and quotes the runtime text it relies on — `allowed.length > 0 && !allowed.includes(String(value))` for the empty-option-list gate, `// free-form (tags without options)` for the NON-rule. A snippet anchor cannot rot silently the way a line number does: it either still matches the file or it does not.
10+
11+
No rule, severity, accept set or exported symbol changes, and the pinned NON-rule (`multiselect` without `options` is deliberately not flagged) is untouched — the runtime text it quotes is unchanged and still present. Documentation only.

0 commit comments

Comments
 (0)