@metaobjectsdev/metadata 0.15.19 → 0.15.21-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/core-types.d.ts.map +1 -1
  2. package/dist/core-types.js +14 -1
  3. package/dist/core-types.js.map +1 -1
  4. package/dist/errors.d.ts +1 -1
  5. package/dist/errors.d.ts.map +1 -1
  6. package/dist/errors.js +5 -6
  7. package/dist/errors.js.map +1 -1
  8. package/dist/index.d.ts +1 -1
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +1 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/loader/meta-data-loader.d.ts.map +1 -1
  13. package/dist/loader/meta-data-loader.js +1 -2
  14. package/dist/loader/meta-data-loader.js.map +1 -1
  15. package/dist/loader/validation-passes.d.ts +0 -14
  16. package/dist/loader/validation-passes.d.ts.map +1 -1
  17. package/dist/loader/validation-passes.js +50 -71
  18. package/dist/loader/validation-passes.js.map +1 -1
  19. package/dist/loader/validation-registry.d.ts.map +1 -1
  20. package/dist/loader/validation-registry.js +25 -20
  21. package/dist/loader/validation-registry.js.map +1 -1
  22. package/dist/naming-refs.d.ts +42 -26
  23. package/dist/naming-refs.d.ts.map +1 -1
  24. package/dist/naming-refs.js +67 -39
  25. package/dist/naming-refs.js.map +1 -1
  26. package/dist/persistence/origin/origin-constants.d.ts.map +1 -1
  27. package/dist/persistence/origin/origin-constants.js +4 -3
  28. package/dist/persistence/origin/origin-constants.js.map +1 -1
  29. package/dist/persistence/origin/origin-definition.embedded.js +1 -1
  30. package/dist/persistence/origin/origin-definition.embedded.js.map +1 -1
  31. package/dist/persistence/source/validate-source-parameter-ref.d.ts.map +1 -1
  32. package/dist/persistence/source/validate-source-parameter-ref.js +7 -18
  33. package/dist/persistence/source/validate-source-parameter-ref.js.map +1 -1
  34. package/dist/validation-types.d.ts +4 -2
  35. package/dist/validation-types.d.ts.map +1 -1
  36. package/package.json +1 -1
  37. package/src/core-types.ts +14 -1
  38. package/src/errors.ts +5 -6
  39. package/src/index.ts +1 -1
  40. package/src/loader/meta-data-loader.ts +1 -2
  41. package/src/loader/validation-passes.ts +54 -72
  42. package/src/loader/validation-registry.ts +25 -17
  43. package/src/naming-refs.ts +66 -40
  44. package/src/persistence/origin/origin-constants.ts +4 -3
  45. package/src/persistence/origin/origin-definition.embedded.ts +1 -1
  46. package/src/persistence/source/validate-source-parameter-ref.ts +7 -19
  47. package/src/validation-types.ts +4 -2
@@ -10,7 +10,7 @@
10
10
  // Private: _findObject, _findField, _findRelationship,
11
11
  // _validateFromPath, _validateViaPath (helpers, not exported).
12
12
  import { ParseError } from "../errors.js";
13
- import { refMatchesObject, resolveObjectRef, REF_BEARING_ATTR_NAMES } from "../naming-refs.js";
13
+ import { resolveObjectRef, didYouMeanHint } from "../naming-refs.js";
14
14
  import { PACKAGE_SEPARATOR, CHILD_REF_SEPARATOR } from "../shared/structural.js";
15
15
  import { resolvedSource } from "../source.js";
16
16
  import { TYPE_OBJECT, TYPE_FIELD, TYPE_LAYOUT, TYPE_IDENTITY, TYPE_ORIGIN, TYPE_RELATIONSHIP, TYPE_SOURCE, TYPE_TEMPLATE, TYPE_INDEX, } from "../shared/base-types.js";
@@ -110,12 +110,15 @@ export function validateTemplatePayloadRefs(root) {
110
110
  errors.push(new ParseError(`template "${tmpl.name}" requires @textRef`, { code: "ERR_INVALID_TEMPLATE", source: tmpl.source }));
111
111
  }
112
112
  }
113
+ // ADR-0042 — a bare @payloadRef/@responseRef resolves in the template's package.
114
+ const referrerPkg = tmpl.package ?? tmpl.fileDefaultPackage ?? "";
113
115
  // ADR-0039: resolving — a template may inherit @payloadRef via extends.
114
116
  const payloadRef = tmpl.attr(TEMPLATE_ATTR_PAYLOAD_REF);
115
117
  if (typeof payloadRef !== "string")
116
118
  continue; // absence handled by the required-attr schema check
117
119
  // ADR-0039: root has no super; children()==ownChildren() but resolving is the default.
118
- const payload = root.children().find((c) => c.type === TYPE_OBJECT && refMatchesObject(c, payloadRef));
120
+ // ADR-0042: resolveObjectRef prefers the referrer's own package before a root-level object.
121
+ const payload = resolveObjectRef(root, payloadRef, referrerPkg).node;
119
122
  if (!payload || payload.subType !== OBJECT_SUBTYPE_VALUE) {
120
123
  // FR5d — @payloadRef is a reference; emit format=resolved with
121
124
  // referrer=template FQN, target=the unresolved payloadRef string.
@@ -129,7 +132,8 @@ export function validateTemplatePayloadRefs(root) {
129
132
  const responseRef = tmpl.attr(TEMPLATE_ATTR_RESPONSE_REF);
130
133
  if (typeof responseRef === "string") {
131
134
  // ADR-0039: root has no super; children()==ownChildren() but resolving is the default.
132
- const resVo = root.children().find((c) => c.type === TYPE_OBJECT && refMatchesObject(c, responseRef));
135
+ // ADR-0042: resolveObjectRef prefers the referrer's own package before a root-level object.
136
+ const resVo = resolveObjectRef(root, responseRef, referrerPkg).node;
133
137
  if (!resVo || resVo.subType !== OBJECT_SUBTYPE_VALUE) {
134
138
  errors.push(new ParseError(`template "${tmpl.name}" @responseRef "${responseRef}" does not resolve to an object.value at root`, { code: "ERR_INVALID_TEMPLATE", source: resolvedSource(tmpl.source, tmpl.fqn(), responseRef) }));
135
139
  }
@@ -153,54 +157,12 @@ export function validateTemplatePayloadRefs(root) {
153
157
  }
154
158
  return errors;
155
159
  }
156
- // ---------------------------------------------------------------------------
157
- // Cross-package reference ambiguity (the object-ref contract)
158
- // ---------------------------------------------------------------------------
159
- /**
160
- * A BARE object reference (no `::`) that names an object present in MORE THAN ONE
161
- * package, with NO match in the referrer's own package, is ambiguous → emit
162
- * ERR_AMBIGUOUS_REF (the author must qualify it with the package). An FQN ref is
163
- * exact (never ambiguous); a bare ref that matches the referrer's own package, or
164
- * exactly one package anywhere, resolves fine. Covers every object-ref-bearing
165
- * attr in `REF_BEARING_ATTR_NAMES` (@objectRef / @references / @from / @of / @via
166
- * / @parameterRef / @payloadRef / @responseRef) — the dotted `.child` tail of the
167
- * origin heads is stripped to the entity OWNER. `extends` is intentionally NOT
168
- * covered: its FR-032 super-resolver is same-package/root-strict and never
169
- * matches a packaged object by bare name, so a bare cross-package `extends` is
170
- * unresolved (ERR_UNRESOLVED_SUPER), not ambiguous.
171
- */
172
- export function validateCrossPackageRefs(root) {
173
- const errors = [];
174
- for (const obj of root.children().filter((c) => c.type === TYPE_OBJECT)) {
175
- const referrerPkg = obj.package ?? obj.fileDefaultPackage ?? "";
176
- const visit = (node) => {
177
- for (const attrName of REF_BEARING_ATTR_NAMES) {
178
- const raw = node.ownAttr(attrName);
179
- if (typeof raw !== "string")
180
- continue;
181
- // Owner = the object part; strip any FR-024 dotted `.child` tail. An FQN
182
- // owner (has `::`) is resolved exactly and can never be ambiguous.
183
- const dot = raw.indexOf(CHILD_REF_SEPARATOR);
184
- const owner = dot === -1 ? raw : raw.slice(0, dot);
185
- if (owner.includes(PACKAGE_SEPARATOR) || owner === "")
186
- continue;
187
- if (!resolveObjectRef(root, owner, referrerPkg).ambiguous)
188
- continue;
189
- const pkgs = root
190
- .children()
191
- .filter((c) => c.type === TYPE_OBJECT && c.name === owner)
192
- .map((c) => c.resolutionKey());
193
- errors.push(new ParseError(`${attrName} "${raw}" on ${obj.fqn()}: bare reference "${owner}" is ambiguous — it names an object ` +
194
- `in multiple packages (${pkgs.join(", ")}) and none is in the referrer's package "${referrerPkg}". ` +
195
- `Qualify it with the package (FQN).`, { code: "ERR_AMBIGUOUS_REF", source: resolvedSource(node.source, obj.fqn(), owner) }));
196
- }
197
- for (const c of node.ownChildren())
198
- visit(c);
199
- };
200
- visit(obj);
201
- }
202
- return errors;
203
- }
160
+ // ADR-0042 — the cross-package ambiguity pass (ERR_AMBIGUOUS_REF) is RETIRED.
161
+ // A bare reference now resolves package-locally (referrer's package, else
162
+ // root-level) at every ref site via resolveObjectRef / refMatchesObject, so
163
+ // cross-package ambiguity is unreachable; an unresolved ref fails closed with
164
+ // its per-attr code (ERR_INVALID_RELATIONSHIP / ERR_INVALID_REFERENCE /
165
+ // ERR_UNRESOLVED_OBJECT_REF / ERR_INVALID_ORIGIN / ERR_INVALID_TEMPLATE).
204
166
  // ---------------------------------------------------------------------------
205
167
  // @filterable without index validation
206
168
  // ---------------------------------------------------------------------------
@@ -282,11 +244,11 @@ export function validateFilterableHasSupportedOps(root) {
282
244
  // Note: @agg vocabulary is validated by validateAttrSchema (A3 pass) via
283
245
  // allowedValues on the origin.aggregate @agg attr schema — not here.
284
246
  // ---------------------------------------------------------------------------
285
- function _findObject(root, name) {
286
- // FR-032 origin heads are FQN-qualified after the desugar/sweep; match on
287
- // the effective FQN resolution key (with bare back-compat).
288
- // ADR-0039: root has no super; children()==ownChildren() but resolving is the default.
289
- return root.children().find((c) => c.type === TYPE_OBJECT && refMatchesObject(c, name));
247
+ function _findObject(root, name, referrerPkg) {
248
+ // ADR-0042 package-local resolution an FQN resolves exactly on its
249
+ // resolution key; a bare name resolves in the referrer's package, else a
250
+ // root-level object. Shares the single resolveObjectRef matcher.
251
+ return resolveObjectRef(root, name, referrerPkg).node;
290
252
  }
291
253
  function _findField(obj, name) {
292
254
  // Use children() so inherited fields (via extends:/super:) are included.
@@ -330,6 +292,8 @@ function _validateFromPath(fromAttr, root, projection, fieldName, originSource,
330
292
  // FR5d — referrer is `<projection-FQN>::<fieldName>` (the canonical
331
293
  // "where the broken reference lives" identifier).
332
294
  const referrer = `${projection.fqn()}::${fieldName}`;
295
+ // ADR-0042 — a bare @from/@of head resolves in the projection's package.
296
+ const referrerPkg = projection.package ?? projection.fileDefaultPackage ?? "";
333
297
  const dotIdx = fromAttr.indexOf(".");
334
298
  if (dotIdx < 1 || dotIdx === fromAttr.length - 1) {
335
299
  // Malformed shape (not "Entity.field") — not a reference resolution
@@ -343,7 +307,7 @@ function _validateFromPath(fromAttr, root, projection, fieldName, originSource,
343
307
  }
344
308
  const entityName = fromAttr.slice(0, dotIdx);
345
309
  const targetFieldName = fromAttr.slice(dotIdx + 1);
346
- const sourceObj = _findObject(root, entityName);
310
+ const sourceObj = _findObject(root, entityName, referrerPkg);
347
311
  if (!sourceObj) {
348
312
  // FR5d — entity half of the ref didn't resolve. target = full ref.
349
313
  errors.push(new ParseError(`${label} "${fromAttr}" on ${projectionName}.${fieldName}: no such entity "${entityName}".`, {
@@ -372,6 +336,8 @@ function _validateViaPath(viaAttr, root, projection, fieldName, originSource, er
372
336
  const projectionName = projection.name;
373
337
  // FR5d — referrer is `<projection-FQN>::<fieldName>`.
374
338
  const referrer = `${projection.fqn()}::${fieldName}`;
339
+ // ADR-0042 — a bare @via HEAD resolves in the projection's package.
340
+ const referrerPkg = projection.package ?? projection.fileDefaultPackage ?? "";
375
341
  const segments = viaAttr.split(".");
376
342
  if (segments.length < 2) {
377
343
  errors.push(new ParseError(`origin.@via "${viaAttr}" on ${projectionName}.${fieldName}: must be of form "Entity.relationship[.relationship...]".`, {
@@ -381,7 +347,7 @@ function _validateViaPath(viaAttr, root, projection, fieldName, originSource, er
381
347
  return undefined;
382
348
  }
383
349
  const [entityName, ...relSegments] = segments;
384
- let currentObj = _findObject(root, entityName);
350
+ let currentObj = _findObject(root, entityName, referrerPkg);
385
351
  if (!currentObj) {
386
352
  errors.push(new ParseError(`origin.@via "${viaAttr}" on ${projectionName}.${fieldName}: no such entity "${entityName}".`, {
387
353
  code: "ERR_INVALID_ORIGIN",
@@ -421,7 +387,9 @@ function _validateViaPath(viaAttr, root, projection, fieldName, originSource, er
421
387
  }));
422
388
  return undefined;
423
389
  }
424
- const nextObj = _findObject(root, refTarget);
390
+ // ADR-0042 the hop target (@objectRef/@references) resolves in the package
391
+ // of the entity that DECLARES the relationship/reference, i.e. currentObj.
392
+ const nextObj = _findObject(root, refTarget, currentObj.package ?? currentObj.fileDefaultPackage ?? "");
425
393
  if (!nextObj) {
426
394
  // FR5d — relationship's @objectRef points at a missing entity. This
427
395
  // is the @objectRef-resolution edge of the via-path walk (the "5th
@@ -472,20 +440,26 @@ function _hopCardinality(rel) {
472
440
  * anchor `Product` (what the author wrote), never `BaseEntity` (where the
473
441
  * child physically lives).
474
442
  */
475
- function _refNamedOwner(node, root) {
443
+ function _refNamedOwner(node, root, referrerPkg) {
476
444
  const ref = node.superRef;
477
445
  if (ref === undefined)
478
446
  return undefined;
479
- const lastSep = ref.lastIndexOf("::");
480
- const tail = lastSep === -1 ? ref : ref.slice(lastSep + 2);
481
- const dot = tail.indexOf(".");
482
- if (dot <= 0)
483
- return undefined;
484
- return _findObject(root, tail.slice(0, dot));
447
+ // Owner = everything before the child dot in the FINAL ::-segment (the object
448
+ // the extends anchors at). ADR-0042: resolve it AS AUTHORED an FQN owner
449
+ // (`acme::Customer`) resolves exactly, a bare owner (`Product`) resolves in
450
+ // the referrer's package. Do NOT strip the package to a bare tail.
451
+ const lastSep = ref.lastIndexOf(PACKAGE_SEPARATOR);
452
+ const segStart = lastSep === -1 ? 0 : lastSep + PACKAGE_SEPARATOR.length;
453
+ const dotInSeg = ref.indexOf(CHILD_REF_SEPARATOR, segStart);
454
+ if (dotInSeg <= segStart)
455
+ return undefined; // no dotted child owner
456
+ return _findObject(root, ref.slice(0, dotInSeg), referrerPkg);
485
457
  }
486
458
  function _deriveBaseEntity(obj, root, fieldName, originSource, errors) {
487
459
  if (obj.subType !== OBJECT_SUBTYPE_PROJECTION)
488
460
  return obj;
461
+ // ADR-0042 — a bare extends owner resolves in this projection's package.
462
+ const referrerPkg = obj.package ?? obj.fileDefaultPackage ?? "";
489
463
  // 1) The extended identity anchors the base entity (declared, not inferred).
490
464
  // The anchor is the entity NAMED in the ref's owner part — see _refNamedOwner.
491
465
  // ADR-0039: own — inspects THIS projection's OWN declared identities to read
@@ -493,7 +467,7 @@ function _deriveBaseEntity(obj, root, fieldName, originSource, errors) {
493
467
  for (const identity of obj.ownChildren().filter((c) => c.type === TYPE_IDENTITY)) {
494
468
  const extended = identity.superResolved;
495
469
  if (extended !== undefined && extended.type === TYPE_IDENTITY) {
496
- const named = _refNamedOwner(identity, root);
470
+ const named = _refNamedOwner(identity, root, referrerPkg);
497
471
  if (named !== undefined)
498
472
  return named;
499
473
  const owner = extended.parent;
@@ -510,7 +484,7 @@ function _deriveBaseEntity(obj, root, fieldName, originSource, errors) {
510
484
  const sup = f.superResolved;
511
485
  if (sup === undefined)
512
486
  continue;
513
- const named = _refNamedOwner(f, root);
487
+ const named = _refNamedOwner(f, root, referrerPkg);
514
488
  const owner = named ?? sup.parent;
515
489
  if (owner !== undefined &&
516
490
  owner.type === TYPE_OBJECT &&
@@ -1102,6 +1076,8 @@ export function validateRelationships(root) {
1102
1076
  const errors = [];
1103
1077
  // ADR-0039: root has no super; children()==ownChildren() but resolving is the default.
1104
1078
  for (const obj of root.children().filter((c) => c.type === TYPE_OBJECT)) {
1079
+ // ADR-0042 — a bare @through resolves in the declaring entity's package.
1080
+ const referrerPkg = obj.package ?? obj.fileDefaultPackage ?? "";
1105
1081
  // ADR-0039: own — a relationship is validated on the entity that DECLARES it
1106
1082
  // (the M:N slim-vocabulary rules apply to own-declared relationships; its
1107
1083
  // inheritable attrs are read resolving below).
@@ -1139,15 +1115,18 @@ export function validateRelationships(root) {
1139
1115
  `@${RELATIONSHIP_ATTR_SOURCE_REF_FIELD}; they are mutually exclusive.`, { code: "ERR_BAD_ATTR_VALUE", source: rel.source }));
1140
1116
  }
1141
1117
  // Rule (a): @symmetric is valid only on a self-join (@objectRef == declaring entity).
1142
- const isSelfJoin = typeof objectRef === "string" && stripPackage(objectRef) === obj.name;
1118
+ // ADR-0042: resolve @objectRef and compare NODE IDENTITY a bare "Widget"
1119
+ // in this package is self, but an FQN "other::Widget" (a different same-short-
1120
+ // name entity) is NOT (comparing stripped short names would misclassify it).
1121
+ const isSelfJoin = typeof objectRef === "string" && resolveObjectRef(root, objectRef, referrerPkg).node === obj;
1143
1122
  if (symmetric && !isSelfJoin) {
1144
1123
  errors.push(new ParseError(`relationship "${obj.name}.${rel.name}" sets @${RELATIONSHIP_ATTR_SYMMETRIC} but @${RELATIONSHIP_ATTR_OBJECT_REF} ` +
1145
1124
  `"${String(objectRef)}" is not the declaring entity "${obj.name}"; @${RELATIONSHIP_ATTR_SYMMETRIC} is self-join-only.`, { code: "ERR_BAD_ATTR_VALUE", source: rel.source }));
1146
1125
  }
1147
1126
  // Rule (c): @through must name an entity declaring exactly two identity.reference children.
1148
- const junction = _findObject(root, through);
1127
+ const junction = _findObject(root, through, referrerPkg);
1149
1128
  if (!junction) {
1150
- errors.push(new ParseError(`relationship "${obj.name}.${rel.name}" @${RELATIONSHIP_ATTR_THROUGH} "${through}" does not resolve to an entity.`, { code: "ERR_INVALID_RELATIONSHIP", source: resolvedSource(rel.source, `${obj.fqn()}::${rel.name}`, String(through)) }));
1129
+ errors.push(new ParseError(`relationship "${obj.name}.${rel.name}" @${RELATIONSHIP_ATTR_THROUGH} "${through}" does not resolve to an entity.${didYouMeanHint(root, String(through))}`, { code: "ERR_INVALID_RELATIONSHIP", source: resolvedSource(rel.source, `${obj.fqn()}::${rel.name}`, String(through)) }));
1151
1130
  continue;
1152
1131
  }
1153
1132
  const refCount = _countJunctionReferences(junction);
@@ -1 +1 @@
1
- {"version":3,"file":"validation-passes.js","sourceRoot":"","sources":["../../src/loader/validation-passes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation-passes.js","sourceRoot":"","sources":["../../src/loader/validation-passes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validation-registry.d.ts","sourceRoot":"","sources":["../../src/loader/validation-registry.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAqCnD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,GAAG,UAAU,EAAE,CA2C5F"}
1
+ {"version":3,"file":"validation-registry.d.ts","sourceRoot":"","sources":["../../src/loader/validation-registry.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAqCnD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,GAAG,UAAU,EAAE,CAkD5F"}
@@ -6,33 +6,32 @@
6
6
  // built-once symbol table: per node, apply declared references, invoke the type's
7
7
  // validator, recurse. See docs/superpowers/specs/2026-06-19-metadata-validation-architecture-design.md.
8
8
  import { ParseError } from "../errors.js";
9
- import { refMatchesObject } from "../naming-refs.js";
9
+ import { didYouMeanHint } from "../naming-refs.js";
10
10
  import { TYPE_OBJECT } from "../shared/base-types.js";
11
+ import { PACKAGE_SEPARATOR } from "../shared/structural.js";
11
12
  /** A symbol table of every top-level object, built once per load (the binder analogue). */
12
13
  class SymbolTableImpl {
13
- byRef = new Map();
14
+ byKey = new Map();
14
15
  static build(root) {
15
16
  const t = new SymbolTableImpl();
16
17
  // ADR-0039: root has no super; children()==ownChildren() but resolving is the default.
17
18
  for (const child of root.children()) {
18
19
  if (child.type !== TYPE_OBJECT)
19
20
  continue;
20
- if (child.name)
21
- t.byRef.set(child.name, child);
22
- t.byRef.set(child.fqn(), child);
23
- t.byRef.set(child.resolutionKey(), child);
21
+ // ADR-0042: key by the canonical resolution key ONLY (the FQN, or the bare
22
+ // name for a root-level/empty-package object) — NO bare-name fallback, so a
23
+ // bare ref never binds a same-named object in another package.
24
+ t.byKey.set(child.resolutionKey(), child);
24
25
  }
25
26
  return t;
26
27
  }
27
- resolveObject(ref) {
28
- const hit = this.byRef.get(ref);
29
- if (hit)
30
- return hit;
31
- for (const obj of this.byRef.values()) {
32
- if (refMatchesObject(obj, ref))
33
- return obj;
34
- }
35
- return undefined;
28
+ /** ADR-0042 package-local resolution: FQN → exact resolution-key match; bare →
29
+ * the referrer's own package (`<referrerPkg>::<ref>`), else a root-level object. */
30
+ resolveObject(ref, referrerPkg) {
31
+ if (ref.includes(PACKAGE_SEPARATOR))
32
+ return this.byKey.get(ref);
33
+ const localKey = referrerPkg !== "" ? `${referrerPkg}${PACKAGE_SEPARATOR}${ref}` : ref;
34
+ return this.byKey.get(localKey) ?? this.byKey.get(ref);
36
35
  }
37
36
  }
38
37
  class ValidationContextImpl {
@@ -52,9 +51,15 @@ class ValidationContextImpl {
52
51
  */
53
52
  export function runRegisteredValidation(root, registry) {
54
53
  const ctx = new ValidationContextImpl(SymbolTableImpl.build(root));
55
- walk(root);
54
+ walk(root, "");
56
55
  return ctx.errors;
57
- function walk(node) {
56
+ function walk(node, referrerPkg) {
57
+ // ADR-0042: a top-level object establishes the package context for its
58
+ // subtree; nested ref-bearing nodes (relationship/field.object/
59
+ // identity.reference) resolve BARE refs against it. Nested nodes carry no
60
+ // `package`, so they inherit the enclosing object's (via fileDefaultPackage,
61
+ // else the threaded context).
62
+ const pkg = node.type === TYPE_OBJECT ? (node.package ?? node.fileDefaultPackage ?? referrerPkg) : referrerPkg;
58
63
  const def = registry.find(node.type, node.subType);
59
64
  if (def) {
60
65
  for (const desc of def.references ?? []) {
@@ -64,12 +69,12 @@ export function runRegisteredValidation(root, registry) {
64
69
  if (typeof raw !== "string" || raw === "")
65
70
  continue; // absence is the required-attr pass's job
66
71
  const entityRef = desc.dottedFieldPath ? (raw.split(".")[0] ?? raw) : raw;
67
- const target = ctx.symbols.resolveObject(entityRef);
72
+ const target = ctx.symbols.resolveObject(entityRef, pkg);
68
73
  // Qualify the node name with its owning entity (e.g. "Order.items") so the error is
69
74
  // locatable from the message alone, not just the source envelope.
70
75
  const qname = node.parent?.name ? `${node.parent.name}.${node.name}` : node.name;
71
76
  if (!target) {
72
- ctx.error(desc.errorCode, node, `${node.type}.${node.subType} "${qname}" @${desc.attr} "${raw}" does not resolve to an object.`);
77
+ ctx.error(desc.errorCode, node, `${node.type}.${node.subType} "${qname}" @${desc.attr} "${raw}" does not resolve to an object.${didYouMeanHint(root, entityRef)}`);
73
78
  }
74
79
  else if (target.type !== desc.targetType ||
75
80
  (desc.targetSubType !== undefined && target.subType !== desc.targetSubType)) {
@@ -83,7 +88,7 @@ export function runRegisteredValidation(root, registry) {
83
88
  // ADR-0039: own — structural walk visiting every physical node once at its
84
89
  // declaration site (an inherited child is validated on its declaring parent).
85
90
  for (const child of node.ownChildren())
86
- walk(child);
91
+ walk(child, pkg);
87
92
  }
88
93
  }
89
94
  //# sourceMappingURL=validation-registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation-registry.js","sourceRoot":"","sources":["../../src/loader/validation-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation-registry.js","sourceRoot":"","sources":["../../src/loader/validation-registry.ts"],"names":[],"mappings":"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"}