Surfaced by #17330's dev as an out_of_scope_findings entry and independently re-verified by the domain:devx execution seat before filing. ⛔ Unlabelled for domain:* and ungraded — routing and grading are triage's. ⛔ The seat did not dedupe; dedupe words at the bottom.
Class (a) — a published claim that fails when acted on
packages/lint/CHANGELOG.md:2176 — text that ships inside the npm tarball, and the text an upgrading agent greps — states:
FIELD_RULE_AMBIENT_ROOTS and FIELD_RULE_JUDGED_ROOTS are exported beside
the existing FIELD_RULE_BOUND_ROOTS
Measured against the source of truth
packages/lint/src/index.ts:53 on origin/main, the package's only export site for this family:
export { validateStackExpressions, fieldRuleRootIssue, FIELD_RULE_BOUND_ROOTS } from './validate-expressions.js';
| name |
occurrences in src/index.ts |
FIELD_RULE_BOUND_ROOTS (lit control) |
1 — and it is in the export statement |
FIELD_RULE_AMBIENT_ROOTS |
0 |
FIELD_RULE_JUDGED_ROOTS |
0 |
src/index.ts carries no star-export, so there is no second path by which either name could reach a consumer.
⇒ A consumer who writes import { FIELD_RULE_AMBIENT_ROOTS } from '@objectstack/lint' on the strength of that CHANGELOG sentence gets a resolution failure. The sentence is not merely stale; it is actionable and it fails when acted on.
⚠️ #17330's dev additionally reports the same result read off a freshly built packages/lint/dist/index.d.ts (0 occurrences, same lit control 3). This seat verified the source leg only; the dist leg is the dev's reading, recorded as such.
The remedy is constrained by AGENTS.md
Per AGENTS.md, a false CHANGELOG entry is amended in a dedicated docs-only PR — ⛔ never by an erratum in a later entry, and ⛔ never folded into a code PR. That is why this is its own card rather than a rider on #17330.
⛔ Deliberately not decided here: whether the right repair is to correct the sentence or to actually export the two names. They are different products — one fixes a false record, the other widens the published surface (and would then owe a Clause-② judgement). Whoever grades this should say which, rather than letting the implementer pick.
Acceptance
- The entry states only what
src/index.ts actually exports, verified at the export statement, with a lit control beside the zero.
- Docs-only PR; ⛔ no source change riding along.
- If instead the decision is to export the names, that is a different card — ⛔ do not do both in one PR.
Dedupe words
FIELD_RULE_AMBIENT_ROOTS · FIELD_RULE_JUDGED_ROOTS · lint CHANGELOG export claim · #13935 changeset · published surface index.d.ts
Generated by Claude Code
Surfaced by #17330's dev as an
out_of_scope_findingsentry and independently re-verified by thedomain:devxexecution seat before filing. ⛔ Unlabelled fordomain:*and ungraded — routing and grading are triage's. ⛔ The seat did not dedupe; dedupe words at the bottom.Class (a) — a published claim that fails when acted on
packages/lint/CHANGELOG.md:2176— text that ships inside the npm tarball, and the text an upgrading agent greps — states:Measured against the source of truth
packages/lint/src/index.ts:53onorigin/main, the package's only export site for this family:src/index.tsFIELD_RULE_BOUND_ROOTS(lit control)FIELD_RULE_AMBIENT_ROOTSFIELD_RULE_JUDGED_ROOTSsrc/index.tscarries no star-export, so there is no second path by which either name could reach a consumer.⇒ A consumer who writes
import { FIELD_RULE_AMBIENT_ROOTS } from '@objectstack/lint'on the strength of that CHANGELOG sentence gets a resolution failure. The sentence is not merely stale; it is actionable and it fails when acted on.packages/lint/dist/index.d.ts(0 occurrences, same lit control 3). This seat verified the source leg only; the dist leg is the dev's reading, recorded as such.The remedy is constrained by AGENTS.md
Per AGENTS.md, a false CHANGELOG entry is amended in a dedicated docs-only PR — ⛔ never by an erratum in a later entry, and ⛔ never folded into a code PR. That is why this is its own card rather than a rider on #17330.
⛔ Deliberately not decided here: whether the right repair is to correct the sentence or to actually export the two names. They are different products — one fixes a false record, the other widens the published surface (and would then owe a Clause-② judgement). Whoever grades this should say which, rather than letting the implementer pick.
Acceptance
src/index.tsactually exports, verified at the export statement, with a lit control beside the zero.Dedupe words
FIELD_RULE_AMBIENT_ROOTS·FIELD_RULE_JUDGED_ROOTS·lint CHANGELOG export claim·#13935 changeset·published surface index.d.tsGenerated by Claude Code