Skip to content

Commit 8798cd2

Browse files
docs(lint): name what actually guards the unprovisionedAnchors wiring (#8664) (#8944)
The tail of `checkFieldRefs`' `unprovisionedAnchors` parameter comment named `check-cross-package-test-inputs` as the gate that would notice an in-repo caller dropping the index. That gate is a CI input-scoping gate: it decides which packages CI runs (turbo's affected set) and how the `test` task cache is keyed, from a declared glob list. It scans test source text for filesystem path spellings; it has no symbol table, no call graph, and no view of argument passing, so it structurally cannot notice a dropped argument. Its `@objectstack/lint` entry declares the authoring-rule-wiring radius and says nothing about the anchor index. The claim was false in the dangerous direction: it told the next author the wiring was machine-guarded, which is exactly the belief that stops someone writing the test that guards it. Replaced with what was measured, following #8404's precedent: the two in-repo callers named explicitly, and the behaviour tests that actually go red — found by dropping the argument at each of the seven in-repo threading sites in turn. Both module seams are pinned; the four finer-grained calls inside `checkBlockFieldProps` are threaded by convention only and leave the whole lint suite green when dropped, which the comment now says rather than implies otherwise. That coverage gap is filed as #8943. Comment-only: no behaviour change, no changeset. Claude-Session: https://claude.ai/code/session_011RB4waLuNbdruCo6X9oobm Co-authored-by: Claude <noreply@anthropic.com>
1 parent de776ef commit 8798cd2

1 file changed

Lines changed: 15 additions & 1 deletion

File tree

‎packages/lint/src/validate-page-field-bindings.ts‎

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,21 @@ export function checkFieldRefs(
353353
// question goes unasked and only the existence one is answered — the
354354
// pre-#8340 behaviour, preserved for out-of-repo callers of this exported
355355
// core (cloud graph-lint, the AI authoring path). Every in-repo caller passes
356-
// it; `check-cross-package-test-inputs` is what would notice if one stopped.
356+
// it: `validatePageFieldBindings` below, and `checkBlockFieldProps` in
357+
// `validate-react-page-props`.
358+
//
359+
// [#8664] What NOTICES if one stops is a behaviour test through the
360+
// top-level entry point — nothing else can. No CI gate reads call sites:
361+
// `check-cross-package-test-inputs`, named here until #8664, is an
362+
// input-scoping gate (it decides which packages CI runs and how the `test`
363+
// task cache is keyed, from a declared glob list) and has no view of
364+
// argument passing. Measured by dropping the argument at each site: both
365+
// entry seams go red — "warns on a highlights binding over an unprovisioned
366+
// anchor" in this file's test, and "reaches the FILTER position through the
367+
// shared core" in validate-react-page-props.test.ts, which also covers the
368+
// `queried` call inside `checkBlockFieldProps`. The other four calls inside
369+
// `checkBlockFieldProps` are threaded by convention only — dropping the
370+
// index there leaves the whole lint suite green (#8943).
357371
unprovisionedAnchors?: ReadonlyMap<string, ReadonlySet<string>>,
358372
): PageFieldFinding[] {
359373
const findings: PageFieldFinding[] = [];

0 commit comments

Comments
 (0)