@metaobjectsdev/metadata 0.24.0 → 0.24.2

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 (64) hide show
  1. package/dist/attr-contradictions.d.ts +52 -0
  2. package/dist/attr-contradictions.d.ts.map +1 -0
  3. package/dist/attr-contradictions.js +100 -0
  4. package/dist/attr-contradictions.js.map +1 -0
  5. package/dist/core/identity/identity-definition.embedded.js +2 -2
  6. package/dist/core/identity/identity-definition.embedded.js.map +1 -1
  7. package/dist/core/index/index-definition.embedded.js +2 -2
  8. package/dist/core/index/index-definition.embedded.js.map +1 -1
  9. package/dist/core/requirement/meta-requirement.d.ts +9 -1
  10. package/dist/core/requirement/meta-requirement.d.ts.map +1 -1
  11. package/dist/core/requirement/meta-requirement.js +15 -2
  12. package/dist/core/requirement/meta-requirement.js.map +1 -1
  13. package/dist/core/requirement/requirement-constants.d.ts +30 -2
  14. package/dist/core/requirement/requirement-constants.d.ts.map +1 -1
  15. package/dist/core/requirement/requirement-constants.js +32 -1
  16. package/dist/core/requirement/requirement-constants.js.map +1 -1
  17. package/dist/core/requirement/requirement-definition.embedded.d.ts.map +1 -1
  18. package/dist/core/requirement/requirement-definition.embedded.js +22 -4
  19. package/dist/core/requirement/requirement-definition.embedded.js.map +1 -1
  20. package/dist/core/vocabulary-rewrite-yaml.d.ts +21 -0
  21. package/dist/core/vocabulary-rewrite-yaml.d.ts.map +1 -0
  22. package/dist/core/vocabulary-rewrite-yaml.js +348 -0
  23. package/dist/core/vocabulary-rewrite-yaml.js.map +1 -0
  24. package/dist/errors.d.ts +1 -1
  25. package/dist/errors.d.ts.map +1 -1
  26. package/dist/errors.js +31 -2
  27. package/dist/errors.js.map +1 -1
  28. package/dist/index.d.ts +2 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +3 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/loader/meta-data-loader.d.ts.map +1 -1
  33. package/dist/loader/meta-data-loader.js +8 -1
  34. package/dist/loader/meta-data-loader.js.map +1 -1
  35. package/dist/loader/validation-passes.d.ts +2 -0
  36. package/dist/loader/validation-passes.d.ts.map +1 -1
  37. package/dist/loader/validation-passes.js +328 -43
  38. package/dist/loader/validation-passes.js.map +1 -1
  39. package/dist/persistence/origin/origin-definition.embedded.js +5 -5
  40. package/dist/persistence/origin/origin-definition.embedded.js.map +1 -1
  41. package/dist/registry-manifest.d.ts +1 -1
  42. package/dist/registry-manifest.js +1 -1
  43. package/dist/retired-vocabulary.d.ts.map +1 -1
  44. package/dist/retired-vocabulary.js +54 -11
  45. package/dist/retired-vocabulary.js.map +1 -1
  46. package/dist/vocabulary-rewrite.d.ts.map +1 -1
  47. package/dist/vocabulary-rewrite.js +127 -15
  48. package/dist/vocabulary-rewrite.js.map +1 -1
  49. package/package.json +6 -1
  50. package/src/attr-contradictions.ts +141 -0
  51. package/src/core/identity/identity-definition.embedded.ts +2 -2
  52. package/src/core/index/index-definition.embedded.ts +2 -2
  53. package/src/core/requirement/meta-requirement.ts +18 -1
  54. package/src/core/requirement/requirement-constants.ts +34 -1
  55. package/src/core/requirement/requirement-definition.embedded.ts +22 -4
  56. package/src/core/vocabulary-rewrite-yaml.ts +375 -0
  57. package/src/errors.ts +31 -2
  58. package/src/index.ts +9 -0
  59. package/src/loader/meta-data-loader.ts +10 -1
  60. package/src/loader/validation-passes.ts +410 -47
  61. package/src/persistence/origin/origin-definition.embedded.ts +5 -5
  62. package/src/registry-manifest.ts +1 -1
  63. package/src/retired-vocabulary.ts +54 -11
  64. package/src/vocabulary-rewrite.ts +137 -15
@@ -1 +1 @@
1
- {"version":3,"file":"meta-data-loader.js","sourceRoot":"","sources":["../../src/loader/meta-data-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meta-data-loader.js","sourceRoot":"","sources":["../../src/loader/meta-data-loader.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export declare function validateDataGridSortFields(root: MetaData): ParseError[]
4
4
  export declare function validateTemplatePayloadRefs(root: MetaData): ParseError[];
5
5
  export declare function validateFilterableHasIndex(root: MetaData): string[];
6
6
  export declare function validateFilterableHasSupportedOps(root: MetaData): ParseError[];
7
+ export declare function validateSortableHasSupportedSubtype(root: MetaData): ParseError[];
7
8
  export declare function validateOriginPaths(root: MetaData): ParseError[];
8
9
  export declare function validateDerivedFieldProvidability(root: MetaData): ParseError[];
9
10
  export declare function validateFieldObjectStorage(root: MetaData): ParseError[];
@@ -13,4 +14,5 @@ export declare function validateDataGridFilterValues(root: MetaData): ParseError
13
14
  export declare function validateRelationships(root: MetaData): ParseError[];
14
15
  export declare function validateIndexLookupFields(root: MetaData): ParseError[];
15
16
  export declare function validateProjectionFilter(root: MetaData): ParseError[];
17
+ export declare function validateRetiredRequirementLinks(root: MetaData): ParseError[];
16
18
  //# sourceMappingURL=validation-passes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation-passes.d.ts","sourceRoot":"","sources":["../../src/loader/validation-passes.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AA4H1C,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CAyBvE;AAmFD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CAkIxE;AAaD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,CAkCnE;AAWD,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CAoB9E;AAgoBD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CA0ShE;AA6BD,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CA0B9E;AAkBD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CAsCvE;AA2BD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CAsC7D;AAkED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CAIlE;AAuCD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CAyBzE;AA4CD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CAwIlE;AAcD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CA2CtE;AA6ED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CA6BrE"}
1
+ {"version":3,"file":"validation-passes.d.ts","sourceRoot":"","sources":["../../src/loader/validation-passes.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIvD,OAAO,EAAE,UAAU,EAAkB,MAAM,cAAc,CAAC;AAsI1D,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CAyBvE;AAmFD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CAkIxE;AAaD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,CAkCnE;AAWD,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CAwC9E;AAUD,wBAAgB,mCAAmC,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CAwBhF;AAitBD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CAkXhE;AA6BD,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CA0B9E;AAkBD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CAsCvE;AA2BD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CAsC7D;AAkED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CAIlE;AAuCD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CAyBzE;AA4CD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CAwIlE;AAkCD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CAgGtE;AA6ED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CA6BrE;AAuGD,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CA2C5E"}
@@ -9,19 +9,21 @@
9
9
  // validateFieldObjectStorage (called by MetaDataLoader.load() in order).
10
10
  // Private: _findObject, _findField, _findRelationship,
11
11
  // _validateFromPath, _validateViaPath (helpers, not exported).
12
+ import { contradictionHint, contradictionsFor } from "../attr-contradictions.js";
12
13
  import { ParseError } from "../errors.js";
13
14
  import { resolveObjectRef, didYouMeanHint } from "../naming-refs.js";
14
15
  import { PACKAGE_SEPARATOR, CHILD_REF_SEPARATOR } from "../shared/structural.js";
15
16
  import { resolvedSource } from "../source.js";
16
17
  import { TYPE_OBJECT, TYPE_FIELD, TYPE_LAYOUT, TYPE_IDENTITY, TYPE_ORIGIN, TYPE_RELATIONSHIP, TYPE_SOURCE, TYPE_TEMPLATE, TYPE_INDEX, } from "../shared/base-types.js";
17
18
  import { INDEX_SUBTYPE_LOOKUP, INDEX_ATTR_FIELDS, } from "../core/index/index-constants.js";
19
+ import { IDENTITY_SUBTYPE_SECONDARY } from "../core/identity/identity-constants.js";
18
20
  import { MetaIndex } from "../core/index/meta-index.js";
19
21
  import { TEMPLATE_ATTR_PAYLOAD_REF, TEMPLATE_ATTR_RESPONSE_REF, TEMPLATE_ATTR_REQUIRED_SLOTS, TEMPLATE_ATTR_TEXT_REF, TEMPLATE_ATTR_KIND, TEMPLATE_KIND_EMAIL, TEMPLATE_ATTR_SUBJECT_REF, TEMPLATE_ATTR_HTML_BODY_REF, TEMPLATE_SUBTYPE_OUTPUT, TEMPLATE_SUBTYPE_PROMPT, } from "../template/template-constants.js";
20
22
  import { OBJECT_SUBTYPE_ENTITY, OBJECT_SUBTYPE_VALUE, OBJECT_SUBTYPE_PROJECTION, OBJECT_PROJECTION_ATTR_FILTER, } from "../core/object/object-constants.js";
21
23
  import { MetaSource } from "../persistence/source/meta-source.js";
22
24
  import { LAYOUT_SUBTYPE_DATA_GRID, LAYOUT_DATA_GRID_ATTR_DEFAULT_SORT_FIELD, LAYOUT_DATA_GRID_ATTR_FILTER, } from "../presentation/layout/layout-constants.js";
23
- import { FIELD_ATTR_FILTERABLE, FIELD_ATTR_OBJECT_REF, FIELD_ATTR_STORAGE, STORAGE_FLATTENED, FIELD_ATTR_DEFAULT, FIELD_SUBTYPE_INT, FIELD_SUBTYPE_LONG, FIELD_SUBTYPE_CURRENCY, FIELD_SUBTYPE_DOUBLE, FIELD_SUBTYPE_FLOAT, FIELD_SUBTYPE_DECIMAL, FIELD_SUBTYPE_BOOLEAN, FIELD_SUBTYPE_ENUM, FIELD_SUBTYPE_OBJECT, FIELD_SUBTYPE_MAP, FIELD_ATTR_REQUIRED, FIELD_ATTR_VALUE_TYPE, FIELD_SUBTYPE_STRING, FIELD_SUBTYPE_DATE, FIELD_SUBTYPE_TIME, FIELD_SUBTYPE_TIMESTAMP, FIELD_SUBTYPE_UUID, } from "../core/field/field-constants.js";
24
- import { FIELD_ATTR_DB_INDEXED } from "../persistence/db/db-constants.js";
25
+ import { FIELD_ATTR_FILTERABLE, FIELD_ATTR_SORTABLE, FIELD_ATTR_OBJECT_REF, FIELD_ATTR_STORAGE, STORAGE_FLATTENED, FIELD_ATTR_DEFAULT, FIELD_SUBTYPE_INT, FIELD_SUBTYPE_LONG, FIELD_SUBTYPE_CURRENCY, FIELD_SUBTYPE_DOUBLE, FIELD_SUBTYPE_FLOAT, FIELD_SUBTYPE_DECIMAL, FIELD_SUBTYPE_BOOLEAN, FIELD_SUBTYPE_ENUM, FIELD_SUBTYPE_OBJECT, FIELD_SUBTYPE_MAP, FIELD_ATTR_REQUIRED, FIELD_ATTR_VALUE_TYPE, FIELD_SUBTYPE_STRING, FIELD_SUBTYPE_DATE, FIELD_SUBTYPE_TIME, FIELD_SUBTYPE_TIMESTAMP, FIELD_SUBTYPE_UUID, } from "../core/field/field-constants.js";
26
+ import { FIELD_ATTR_DB_INDEXED, IDENTITY_ATTR_EXPR } from "../persistence/db/db-constants.js";
25
27
  import { IDENTITY_ATTR_FIELDS, IDENTITY_SUBTYPE_REFERENCE, IDENTITY_REFERENCE_ATTR_REFERENCES, } from "../core/identity/identity-constants.js";
26
28
  import { ORIGIN_SUBTYPE_PASSTHROUGH, ORIGIN_SUBTYPE_AGGREGATE, ORIGIN_SUBTYPE_COMPUTED, ORIGIN_SUBTYPE_FIRST, ORIGIN_PASSTHROUGH_ATTR_FROM, ORIGIN_PASSTHROUGH_ATTR_VIA, ORIGIN_PASSTHROUGH_ATTR_CONVERT, ORIGIN_AGGREGATE_ATTR_AGG, ORIGIN_AGGREGATE_ATTR_OF, ORIGIN_AGGREGATE_ATTR_VIA, ORIGIN_AGGREGATE_ATTR_FILTER, ORIGIN_ATTR_DISTINCT, ORIGIN_ATTR_ORDER_BY, ORIGIN_COMPUTED_ATTR_EXPR, ORIGIN_FIRST_ATTR_OF, ORIGIN_FIRST_ATTR_VIA, ORIGIN_FIRST_ATTR_FILTER, AGG_ANY, AGG_ALL, AGG_COLLECT, ASSEMBLY_ORIGIN_SUBTYPES, } from "../persistence/origin/origin-constants.js";
27
29
  import { inferExprType, validateExprNode, } from "../core/attr/meta-attr-expression.js";
@@ -29,6 +31,7 @@ import { SORT_ORDER_VALUES } from "../core/query/query-constants.js";
29
31
  import { RELATIONSHIP_ATTR_OBJECT_REF, RELATIONSHIP_ATTR_CARDINALITY, RELATIONSHIP_ATTR_THROUGH, RELATIONSHIP_ATTR_SOURCE_REF_FIELD, RELATIONSHIP_ATTR_SYMMETRIC, CARDINALITY_ONE, CARDINALITY_MANY, } from "../core/relationship/relationship-constants.js";
30
32
  import { stripPackage } from "../naming.js";
31
33
  import { FILTER_COMPOSE_OR, FILTER_COMPOSE_AND, opsForSubType, opsForField, } from "../core/query/query-constants.js";
34
+ import { REQUIREMENT, REQUIREMENT_ATTR_STATUS, REQUIREMENT_ATTR_IMPLEMENTED_BY, REQUIREMENT_ATTR_SUPERSEDED_BY, REQUIREMENT_STATUS_RETIRED, } from "../core/requirement/requirement-constants.js";
32
35
  // ---------------------------------------------------------------------------
33
36
  // Layout dataGrid @defaultSortField validation
34
37
  // ---------------------------------------------------------------------------
@@ -287,6 +290,19 @@ export function validateFilterableHasSupportedOps(root) {
287
290
  // ADR-0039: resolving — a concrete field may inherit @filterable via extends.
288
291
  if (field.attr(FIELD_ATTR_FILTERABLE) !== true)
289
292
  continue;
293
+ // #335 Half B — an ARRAY field has no operator band either. Every FR-009
294
+ // operator (eq/ne/gt/gte/lt/lte/in/like/isNull) is a scalar comparison;
295
+ // none applies to a collection column. The allowlist template does not
296
+ // consult isArray and falls through to the "string" band, so this
297
+ // previously emitted a `like` rule against a text[] column — SQL that
298
+ // cannot execute. Same reason as the subtype check below, so same code.
299
+ // ADR-0039: resolvedIsArray(), never the own `isArray` flag.
300
+ if (field.resolvedIsArray()) {
301
+ errors.push(new ParseError(`Field "${obj.name}.${field.name}" has @filterable: true but is an array ` +
302
+ `(isArray: true). No filter operator applies to a collection column. ` +
303
+ `Remove @filterable from this field.`, { code: "ERR_FILTERABLE_UNSUPPORTED_SUBTYPE", source: field.source }));
304
+ continue;
305
+ }
290
306
  if (opsForSubType(field.subType).length > 0)
291
307
  continue;
292
308
  errors.push(new ParseError(`Field "${obj.name}.${field.name}" has @filterable: true but its subtype ` +
@@ -297,6 +313,35 @@ export function validateFilterableHasSupportedOps(root) {
297
313
  return errors;
298
314
  }
299
315
  // ---------------------------------------------------------------------------
316
+ // @sortable on a subtype or shape that cannot be ordered (#335 Half B)
317
+ // ---------------------------------------------------------------------------
318
+ // @sortable defaults FROM @filterable, so it is independently set only when
319
+ // explicit — and nothing validated it, while @filterable has had a hard error
320
+ // since SP-H Unit9. A @sortable JSON or array column emits a sort entry over a
321
+ // column no dialect can ORDER BY meaningfully. → ERR_SORTABLE_UNSUPPORTED_SUBTYPE.
322
+ export function validateSortableHasSupportedSubtype(root) {
323
+ const errors = [];
324
+ // ADR-0039: root has no super; children()==ownChildren() but resolving is the default.
325
+ for (const obj of root.children().filter((c) => c.type === TYPE_OBJECT)) {
326
+ // children() — inherited @sortable fields (via extends:/super:) are visible.
327
+ for (const field of obj.children().filter((c) => c.type === TYPE_FIELD)) {
328
+ // ADR-0039: resolving — a concrete field may inherit @sortable via extends.
329
+ if (field.attr(FIELD_ATTR_SORTABLE) !== true)
330
+ continue;
331
+ // ADR-0039: resolvedIsArray(), never the own `isArray` flag.
332
+ const isArray = field.resolvedIsArray();
333
+ if (!isArray && opsForSubType(field.subType).length > 0)
334
+ continue;
335
+ errors.push(new ParseError(`Field "${obj.name}.${field.name}" has @sortable: true but ` +
336
+ (isArray
337
+ ? `is an array (isArray: true) — a collection column has no ordering.`
338
+ : `its subtype "${field.subType}" cannot be ordered.`) +
339
+ ` Remove @sortable from this field.`, { code: "ERR_SORTABLE_UNSUPPORTED_SUBTYPE", source: field.source }));
340
+ }
341
+ }
342
+ return errors;
343
+ }
344
+ // ---------------------------------------------------------------------------
300
345
  // Origin path validation
301
346
  //
302
347
  // Walks every projection's fields, finds `origin` (TYPE_ORIGIN) children,
@@ -393,9 +438,13 @@ function _validateFromPath(fromAttr, root, projection, fieldName, originSource,
393
438
  return { entity: sourceObj, field: sourceField };
394
439
  }
395
440
  /**
396
- * Validate an explicit `@via` "Entity.rel[.rel...]" path. Returns the walked
397
- * relationship hop nodes (in path order) on full success — FR-024 B5 runs the
398
- * cardinality checks over them — or undefined when any error was pushed.
441
+ * Validate an explicit `@via` "Entity.rel[.rel...]" path. On full success
442
+ * returns the walked relationship hop nodes (in path order) — FR-024 B5 runs
443
+ * the cardinality checks over them — together with the terminal entity node
444
+ * (#335: a whole-object `@agg:collect` has no `@of` entity, so `@orderBy` keys
445
+ * and value-object members resolve against the terminal instead). Returns
446
+ * undefined when any error was pushed, so `terminal` is defined exactly when
447
+ * `hops` is.
399
448
  */
400
449
  function _validateViaPath(viaAttr, root, projection, fieldName, originSource, errors) {
401
450
  const projectionName = projection.name;
@@ -470,7 +519,8 @@ function _validateViaPath(viaAttr, root, projection, fieldName, originSource, er
470
519
  hops.push(rel);
471
520
  currentObj = nextObj;
472
521
  }
473
- return hops;
522
+ // currentObj is the terminal: every earlier exit returned undefined.
523
+ return { hops, terminal: currentObj };
474
524
  }
475
525
  // ---------------------------------------------------------------------------
476
526
  // FR-024 B5 — base-entity derivation, single-hop-unique @via inference, and
@@ -663,6 +713,46 @@ function _checkAggregateCardinality(hops, obj, fieldName, originSource, errors)
663
713
  `aggregating over a to-one path — you meant passthrough (ADR-0029).`, { code: "ERR_ORIGIN_CARDINALITY", source: originSource }));
664
714
  }
665
715
  }
716
+ /**
717
+ * #335 — a whole-object `@agg:collect` projects EXACTLY the declared value
718
+ * object's members, each matched by NAME against the `@via` terminal entity.
719
+ *
720
+ * Two rules, both fail-closed:
721
+ * - a member with no matching field on the terminal is unresolvable. Failing
722
+ * OPEN here is how #270 turned a curated value object into the full entity,
723
+ * invisible in a diff because the metadata still read as curated.
724
+ * - a matched member must agree on BOTH type axes (#185 type-preserving
725
+ * doctrine), so a scalar member cannot bind an array field or vice versa.
726
+ *
727
+ * Both refusals carry a whole-object-specific code — ERR_COLLECT_MEMBER_UNRESOLVED
728
+ * for the unmatched member, ERR_COLLECT_WHOLE_OBJECT for the type disagreement.
729
+ * The latter is deliberately NOT the scalar arm's ERR_INVALID_ORIGIN: a loader
730
+ * that still requires @of rejects this metadata with ERR_INVALID_ORIGIN too, so
731
+ * sharing the code would make a corpus fixture pass on a port that implements
732
+ * nothing (the corpus compares only code + source, never message text).
733
+ */
734
+ function _checkCollectMembers(refTarget, terminal, obj, field, src, errors) {
735
+ // ADR-0039: resolving — a value object may inherit members via extends, and
736
+ // the terminal entity may inherit fields; own-only would silently skip
737
+ // inherited members, which is exactly the #270 bug class this guards.
738
+ const terminalFields = terminal.children().filter((c) => c.type === TYPE_FIELD);
739
+ for (const member of refTarget.children().filter((c) => c.type === TYPE_FIELD)) {
740
+ const match = terminalFields.find((f) => f.name === member.name);
741
+ if (match === undefined) {
742
+ errors.push(new ParseError(`origin.aggregate @agg:collect on ${obj.name}.${field.name}: value-object member ` +
743
+ `'${member.name}' has no matching field on '${terminal.name}' — a whole-object ` +
744
+ `rollup projects exactly the declared members.`, { code: "ERR_COLLECT_MEMBER_UNRESOLVED", source: src }));
745
+ continue;
746
+ }
747
+ const memberLabel = _typeLabel(member);
748
+ const matchLabel = _typeLabel(match);
749
+ if (memberLabel !== matchLabel) {
750
+ errors.push(new ParseError(`origin.aggregate @agg:collect on ${obj.name}.${field.name}: value-object member ` +
751
+ `'${member.name}' is ${memberLabel} but '${terminal.name}.${match.name}' ` +
752
+ `is ${matchLabel} — a whole-object rollup preserves each member's type.`, { code: "ERR_COLLECT_WHOLE_OBJECT", source: src }));
753
+ }
754
+ }
755
+ }
666
756
  /**
667
757
  * FR-024 B6 (spec §4; ADR-0029 decision 7) — extends/origin agreement.
668
758
  *
@@ -718,14 +808,21 @@ function _checkExtendsOriginAgreement(field, fromField, fromAttr, obj, originSou
718
808
  * FR-015 stored-proc parameter refs the retired ERR_PARAMETER_REF_PASSTHROUGH_
719
809
  * TYPE_MISMATCH used to cover).
720
810
  */
811
+ /**
812
+ * Both type axes in one comparable token. Subtype names never contain "[]", so
813
+ * equal labels ⇔ same subType AND same array-ness. Nullability is deliberately
814
+ * NOT judged — an outer-join view legitimately widens NOT NULL.
815
+ * ADR-0039: resolvedIsArray(), never the own `isArray` flag — a field may
816
+ * inherit its array-ness via extends.
817
+ */
818
+ function _typeLabel(field) {
819
+ return `field.${field.subType}${field.resolvedIsArray() ? "[]" : ""}`;
820
+ }
721
821
  function _checkPassthroughType(field, fromField, fromAttr, convert, obj, originSource, errors) {
722
822
  if (convert)
723
823
  return; // deliberate type change acknowledged
724
- // Compare both axes at once via the type-label: subtype names never contain
725
- // "[]", so equal labels ⇔ same subType AND same array-ness (nullability is
726
- // deliberately not judged — an outer-join view legitimately widens NOT NULL).
727
- const declared = `field.${field.subType}${field.resolvedIsArray() ? "[]" : ""}`;
728
- const source = `field.${fromField.subType}${fromField.resolvedIsArray() ? "[]" : ""}`;
824
+ const declared = _typeLabel(field);
825
+ const source = _typeLabel(fromField);
729
826
  if (declared === source)
730
827
  return;
731
828
  errors.push(new ParseError(`origin.passthrough on ${obj.name}.${field.name}: field is ${declared} but its @from source ` +
@@ -742,8 +839,12 @@ function _checkPassthroughType(field, fromField, fromAttr, convert, obj, originS
742
839
  * and carries no vocabulary. Shared by `@agg:collect` (element order) and
743
840
  * `origin.first` (row selection). A missing related entity means a prior error
744
841
  * already fired — skip silently.
842
+ *
843
+ * `code` lets the whole-object `@agg:collect` arm report ERR_COLLECT_WHOLE_OBJECT
844
+ * instead; it defaults to ERR_INVALID_ORIGIN so the scalar `@of` and `origin.first`
845
+ * call sites keep their existing envelope byte-for-byte.
745
846
  */
746
- function _validateOrderByKeys(orderBy, relatedEntity, obj, fieldName, label, originSource, errors) {
847
+ function _validateOrderByKeys(orderBy, relatedEntity, obj, fieldName, label, originSource, errors, code = "ERR_INVALID_ORIGIN") {
747
848
  if (!Array.isArray(orderBy) || relatedEntity === undefined)
748
849
  return;
749
850
  for (const raw of orderBy) {
@@ -755,10 +856,10 @@ function _validateOrderByKeys(orderBy, relatedEntity, obj, fieldName, label, ori
755
856
  // ADR-0039: resolving — an ordering key may target an inherited field.
756
857
  const target = relatedEntity.children().find((f) => f.type === TYPE_FIELD && f.name === key);
757
858
  if (target === undefined) {
758
- errors.push(new ParseError(`${label} on ${obj.name}.${fieldName}: @orderBy key "${raw}" — no such field "${key}" on ${relatedEntity.name}.`, { code: "ERR_INVALID_ORIGIN", source: originSource }));
859
+ errors.push(new ParseError(`${label} on ${obj.name}.${fieldName}: @orderBy key "${raw}" — no such field "${key}" on ${relatedEntity.name}.`, { code, source: originSource }));
759
860
  }
760
861
  else if (dir !== undefined && !SORT_ORDER_VALUES.includes(dir)) {
761
- errors.push(new ParseError(`${label} on ${obj.name}.${fieldName}: @orderBy key "${raw}" — direction must be one of ${SORT_ORDER_VALUES.join("|")}.`, { code: "ERR_INVALID_ORIGIN", source: originSource }));
862
+ errors.push(new ParseError(`${label} on ${obj.name}.${fieldName}: @orderBy key "${raw}" — direction must be one of ${SORT_ORDER_VALUES.join("|")}.`, { code, source: originSource }));
762
863
  }
763
864
  }
764
865
  }
@@ -813,9 +914,9 @@ export function validateOriginPaths(root) {
813
914
  // ADR-0039: own — origin.* never inherits (ADR-0029).
814
915
  const via = origin.ownAttr(ORIGIN_PASSTHROUGH_ATTR_VIA);
815
916
  if (typeof via === "string" && via !== "") {
816
- const hops = _validateViaPath(via, root, obj, field.name, origin.source, errors);
817
- if (hops !== undefined) {
818
- _checkPassthroughCardinality(hops, obj, field.name, origin.source, errors);
917
+ const walked = _validateViaPath(via, root, obj, field.name, origin.source, errors);
918
+ if (walked !== undefined) {
919
+ _checkPassthroughCardinality(walked.hops, obj, field.name, origin.source, errors);
819
920
  }
820
921
  }
821
922
  else if (fromTarget !== undefined && !isValueHost) {
@@ -880,15 +981,78 @@ export function validateOriginPaths(root) {
880
981
  errors.push(new ParseError(`origin.aggregate @agg:${String(agg)} on ${obj.name}.${field.name}: requires an explicit @via (a quantifier has no @of to infer the path from).`, { code: "ERR_INVALID_ORIGIN", source: src }));
881
982
  }
882
983
  else {
883
- const hops = _validateViaPath(via, root, obj, field.name, src, errors);
884
- if (hops !== undefined)
885
- _checkAggregateCardinality(hops, obj, field.name, src, errors);
984
+ const walked = _validateViaPath(via, root, obj, field.name, src, errors);
985
+ if (walked !== undefined)
986
+ _checkAggregateCardinality(walked.hops, obj, field.name, src, errors);
886
987
  }
887
988
  continue;
888
989
  }
889
- // --- count/sum/avg/min/max/collect: @of REQUIRED ---
990
+ // --- @of: REQUIRED for count/sum/avg/min/max; OPTIONAL for collect ---
991
+ // #335 — an @of-absent collect is a WHOLE-OBJECT rollup: collect the
992
+ // related rows as an array of the field's declared @objectRef value
993
+ // object rather than an array of one scalar column.
890
994
  if (!ofPresent) {
891
- errors.push(new ParseError(`origin.aggregate on ${obj.name}.${field.name}: missing @of.`, { code: "ERR_INVALID_ORIGIN", source: src }));
995
+ if (!isCollect) {
996
+ errors.push(new ParseError(`origin.aggregate on ${obj.name}.${field.name}: missing @of.`, { code: "ERR_INVALID_ORIGIN", source: src }));
997
+ continue;
998
+ }
999
+ // Whole-object rollup. The carrying field must be a field.object
1000
+ // naming a value object, and @via must be explicit (there is no @of
1001
+ // entity to infer the single-hop relation from).
1002
+ // ADR-0039: resolving — @objectRef may be inherited via extends.
1003
+ const objectRef = field.attr(FIELD_ATTR_OBJECT_REF);
1004
+ if (field.subType !== FIELD_SUBTYPE_OBJECT || typeof objectRef !== "string" || objectRef === "") {
1005
+ errors.push(new ParseError(`origin.aggregate @agg:collect on ${obj.name}.${field.name}: @of is omitted, so this is a ` +
1006
+ `whole-object rollup — the carrying field must be a field.object declaring @objectRef ` +
1007
+ `(add @of to collect a single column instead).`, { code: "ERR_COLLECT_WHOLE_OBJECT", source: src }));
1008
+ continue;
1009
+ }
1010
+ // #210's value-only rule is PAYLOAD-scoped and never reaches a
1011
+ // projection-hosted field, so this branch enforces it itself.
1012
+ // Without it an @objectRef to an entity silently rolls up the FULL
1013
+ // entity — the #270 shape, this time baked into DDL.
1014
+ // ADR-0042 — a bare @objectRef resolves in the DECLARING owner's
1015
+ // package (an inherited field resolves in the package that
1016
+ // declared it) — same rule _checkNestedPayloadRefsValueOnly uses.
1017
+ const refOwner = field.parent ?? obj;
1018
+ const refPkg = refOwner.package ?? refOwner.fileDefaultPackage ?? "";
1019
+ const refTarget = resolveObjectRef(root, objectRef, refPkg).node;
1020
+ if (refTarget !== undefined && refTarget.subType !== OBJECT_SUBTYPE_VALUE) {
1021
+ errors.push(new ParseError(`origin.aggregate @agg:collect on ${obj.name}.${field.name}: @objectRef '${objectRef}' ` +
1022
+ `resolves to ${TYPE_OBJECT}.${refTarget.subType} — a whole-object rollup must target an ` +
1023
+ `object.value (#210, ADR-0028).`, { code: "ERR_SUBTYPE_RULE_VIOLATION", source: src }));
1024
+ continue;
1025
+ }
1026
+ // ADR-0039: own — origin.* never inherits (ADR-0029).
1027
+ const viaAttr = origin.ownAttr(ORIGIN_AGGREGATE_ATTR_VIA);
1028
+ if (typeof viaAttr !== "string" || viaAttr === "") {
1029
+ errors.push(new ParseError(`origin.aggregate @agg:collect on ${obj.name}.${field.name}: @via is required on a ` +
1030
+ `whole-object rollup — there is no @of entity to infer the relationship from.`, { code: "ERR_COLLECT_WHOLE_OBJECT", source: src }));
1031
+ continue;
1032
+ }
1033
+ // @distinct is refused on the object form. It is NOT an engine limit
1034
+ // (both engines dedupe JSON objects); it is a guaranteed no-op
1035
+ // whenever the value object carries the entity's primary key, which
1036
+ // is the common case, and a silent no-op is worse than a refusal.
1037
+ if (hasDistinct) {
1038
+ errors.push(new ParseError(`origin.aggregate @agg:collect on ${obj.name}.${field.name}: @distinct is not supported on a ` +
1039
+ `whole-object rollup (it is a no-op whenever the value object carries the primary key).`, { code: "ERR_COLLECT_WHOLE_OBJECT", source: src }));
1040
+ continue;
1041
+ }
1042
+ // One walk yields both the hops (cardinality) and the terminal
1043
+ // entity (@orderBy keys, member resolution). An invalid @via
1044
+ // (e.g. single-segment "A") returns undefined having already
1045
+ // pushed its own error, so everything downstream is skipped and
1046
+ // no second, misleadingly-scoped error is emitted.
1047
+ const via = _validateViaPath(viaAttr, root, obj, field.name, src, errors);
1048
+ if (via !== undefined) {
1049
+ _checkAggregateCardinality(via.hops, obj, field.name, src, errors);
1050
+ // @orderBy keys resolve against the @via TERMINAL entity, not @of.
1051
+ _validateOrderByKeys(orderBy, via.terminal, obj, field.name, "origin.aggregate @agg:collect", src, errors, "ERR_COLLECT_WHOLE_OBJECT");
1052
+ if (refTarget !== undefined) {
1053
+ _checkCollectMembers(refTarget, via.terminal, obj, field, src, errors);
1054
+ }
1055
+ }
892
1056
  continue;
893
1057
  }
894
1058
  // NOTE (FR-024 B6): NO extends/origin agreement check on aggregates —
@@ -907,9 +1071,9 @@ export function validateOriginPaths(root) {
907
1071
  // ADR-0039: own — origin.* never inherits (ADR-0029).
908
1072
  const via = origin.ownAttr(ORIGIN_AGGREGATE_ATTR_VIA);
909
1073
  if (typeof via === "string" && via !== "") {
910
- const hops = _validateViaPath(via, root, obj, field.name, src, errors);
911
- if (hops !== undefined) {
912
- _checkAggregateCardinality(hops, obj, field.name, src, errors);
1074
+ const walked = _validateViaPath(via, root, obj, field.name, src, errors);
1075
+ if (walked !== undefined) {
1076
+ _checkAggregateCardinality(walked.hops, obj, field.name, src, errors);
913
1077
  }
914
1078
  continue;
915
1079
  }
@@ -987,9 +1151,9 @@ export function validateOriginPaths(root) {
987
1151
  // @via — explicit (validated + cardinality) or single-hop-unique inferred.
988
1152
  const via = origin.ownAttr(ORIGIN_FIRST_ATTR_VIA);
989
1153
  if (typeof via === "string" && via !== "") {
990
- const hops = _validateViaPath(via, root, obj, field.name, src, errors);
991
- if (hops !== undefined)
992
- _checkAggregateCardinality(hops, obj, field.name, src, errors);
1154
+ const walked = _validateViaPath(via, root, obj, field.name, src, errors);
1155
+ if (walked !== undefined)
1156
+ _checkAggregateCardinality(walked.hops, obj, field.name, src, errors);
993
1157
  }
994
1158
  else if (ofTarget !== undefined) {
995
1159
  // (A value host never reaches here — the #210 assembly-origin
@@ -1402,12 +1566,32 @@ export function validateRelationships(root) {
1402
1566
  // NOTE: identity.reference @references resolution moved to the validation registry
1403
1567
  // (defaultValidationRegistry → a declarative reference descriptor with dottedFieldPath).
1404
1568
  // ---------------------------------------------------------------------------
1405
- // index.lookup @fields resolution (Task 3)
1569
+ // Index-key resolution for index.lookup AND identity.secondary (#342)
1570
+ //
1571
+ // An index declares its key EXACTLY ONE of two ways: plain columns (@fields) or
1572
+ // a key expression (@expr, e.g. `lower(email)` / `(payload->>'device_id')`).
1573
+ // The registry has always said so — @expr is described as "Used INSTEAD of
1574
+ // @fields" — and `migrate-ts` has always implemented it that way
1575
+ // (`columns: expr ? [] : cols`, expected-schema.ts). Only the LOADER disagreed,
1576
+ // requiring @fields unconditionally, which made an expression index
1577
+ // unreachable: omitting @fields failed to load, and the one spelling that DID
1578
+ // load (@fields AND @expr) had its @fields silently discarded by the engine.
1579
+ //
1580
+ // So the two rules below are one rule — the key is @fields XOR @expr:
1581
+ // - NEITHER: nothing declares the key.
1582
+ // - BOTH: contradictory, and previously half-honored. Rejected rather than
1583
+ // given a precedence rule, because an accepted-but-half-ignored declaration
1584
+ // is exactly the silent-wrong-output the sealed strict registry exists to
1585
+ // prevent (cf. ERR_SQL_BODY_WITH_UNMANAGED — @sql vs @unmanaged is the same
1586
+ // "two mutually exclusive non-default states of one axis" shape).
1587
+ //
1588
+ // Applies to identity.secondary too: per ADR-0040 uniqueness lives in the TYPE,
1589
+ // so identity.secondary IS a unique index and keys itself identically. Both
1590
+ // carry @expr from the same db provider, and migrate-ts branches on @expr for
1591
+ // both — the loader was the only tier treating them differently.
1406
1592
  //
1407
- // Every index.lookup on an entity must name at least one field, and every
1408
- // named field must exist in the entity's EFFECTIVE (resolved) field set.
1409
- // ADR-0039: use children() / MetaIndex.fields() — never own* — so that a
1410
- // field inherited via extends still resolves correctly.
1593
+ // ADR-0039: children() / MetaIndex.fields() never own* so a field inherited
1594
+ // via extends still resolves.
1411
1595
  // ---------------------------------------------------------------------------
1412
1596
  export function validateIndexLookupFields(root) {
1413
1597
  const errors = [];
@@ -1415,22 +1599,67 @@ export function validateIndexLookupFields(root) {
1415
1599
  for (const obj of root.children().filter((c) => c.type === TYPE_OBJECT)) {
1416
1600
  // Effective (resolved) field names — includes inherited fields via extends.
1417
1601
  const effectiveFieldNames = new Set(obj.children().filter((c) => c.type === TYPE_FIELD).map((f) => f.name));
1418
- for (const node of obj.children().filter((c) => c.type === TYPE_INDEX && c.subType === INDEX_SUBTYPE_LOOKUP)) {
1419
- // MetaIndex.fields() uses the resolving attr() accessor per ADR-0039.
1420
- const idx = node;
1421
- const fields = idx.fields();
1422
- // Rule 1: must have at least one field.
1423
- if (fields.length === 0) {
1424
- errors.push(new ParseError(`index.lookup "${idx.name}" on "${obj.name}" has no @${INDEX_ATTR_FIELDS}; ` +
1425
- `at least one field is required`, { code: "ERR_INVALID_INDEX", source: idx.source }));
1602
+ const keyed = obj.children().filter((c) => (c.type === TYPE_INDEX && c.subType === INDEX_SUBTYPE_LOOKUP) ||
1603
+ (c.type === TYPE_IDENTITY && c.subType === IDENTITY_SUBTYPE_SECONDARY));
1604
+ for (const node of keyed) {
1605
+ const label = `${node.type}.${node.subType}`;
1606
+ // PRESENCE vs CONTENT are two different questions here, and conflating them
1607
+ // is a bug in both directions:
1608
+ //
1609
+ // - The CONTRADICTION check needs PRESENCE. `@fields: []` alongside @expr
1610
+ // is still a declaration of both, and keying it on non-emptiness let the
1611
+ // total-discard spelling load clean while `@fields: ["x"]` + @expr was
1612
+ // refused — the rule missing exactly the case it exists to catch.
1613
+ // - The KEY-RESOLUTION check needs normalized CONTENT, via the guarded
1614
+ // accessor. Reading the raw attr with a cast meant a scalar `@fields: 5`
1615
+ // threw an uncaught TypeError out of load() in TS while the other three
1616
+ // ports reported a clean error.
1617
+ //
1618
+ // The guarded accessor is the fix for the second and the OBSTACLE for the
1619
+ // first — it collapses absent, scalar and explicit `[]` to the same `[]` —
1620
+ // so the two questions are asked separately and never routed through one
1621
+ // predicate. ADR-0039: both reads resolve through extends.
1622
+ const hasFieldsAttr = node.attr(IDENTITY_ATTR_FIELDS) !== undefined;
1623
+ // MetaIndex.fields() / MetaIdentity.fields are the same guarded read
1624
+ // (`Array.isArray(f) ? f : []`); never re-hand-roll it.
1625
+ const fields = node instanceof MetaIndex ? node.fields() : node.fields;
1626
+ const exprRaw = node.attr(IDENTITY_ATTR_EXPR);
1627
+ const hasExpr = typeof exprRaw === "string" && exprRaw.trim().length > 0;
1628
+ // Rule 1a: exactly one of @fields / @expr may be DECLARED.
1629
+ //
1630
+ // The closing sentence comes from `attr-contradictions.ts`, which is also what
1631
+ // `meta upgrade` rewrites from — so the fix an adopter is TOLD about and the edit
1632
+ // the tool MAKES are one statement, and a change to either moves both. #337 is the
1633
+ // reason it names the command at all: an adopter shown only that their metadata is
1634
+ // invalid concludes the tool has a bug, because nothing points at the way out.
1635
+ if (hasFieldsAttr && hasExpr) {
1636
+ const contradiction = contradictionsFor(label).find((c) => c.drop === INDEX_ATTR_FIELDS && c.keep === IDENTITY_ATTR_EXPR);
1637
+ errors.push(new ParseError(
1638
+ // The site states WHICH node broke the rule; the table states the RULE and the
1639
+ // fix. Splitting it that way is what keeps one copy of each.
1640
+ `${label} "${node.name}" on "${obj.name}" declares BOTH ` +
1641
+ `@${INDEX_ATTR_FIELDS} and @${IDENTITY_ATTR_EXPR}: ` +
1642
+ (contradiction === undefined
1643
+ ? `@${IDENTITY_ATTR_EXPR} is used INSTEAD of @${INDEX_ATTR_FIELDS} — drop one.`
1644
+ : contradictionHint(contradiction)), { code: "ERR_INVALID_INDEX", source: node.source }));
1645
+ continue;
1646
+ }
1647
+ // Rule 1b: whichever is declared must actually supply a key.
1648
+ if (fields.length === 0 && !hasExpr) {
1649
+ errors.push(new ParseError(`${label} "${node.name}" on "${obj.name}" declares no key: ` +
1650
+ `it must have @${INDEX_ATTR_FIELDS} (one or more columns) or ` +
1651
+ `@${IDENTITY_ATTR_EXPR} (a key expression)`, { code: "ERR_INVALID_INDEX", source: node.source }));
1426
1652
  continue;
1427
1653
  }
1428
1654
  // Rule 2: every named field must resolve against the entity's effective field set.
1655
+ // An expression index has no @fields to resolve — @expr is raw SQL over the
1656
+ // physical columns, deliberately not parsed here (ADR-0023 keeps the grammar
1657
+ // closed only where the loader owns it).
1429
1658
  for (const fieldName of fields) {
1430
1659
  if (!effectiveFieldNames.has(fieldName)) {
1431
- errors.push(new ParseError(`index.lookup "${idx.name}" on "${obj.name}" references field "${fieldName}" ` +
1660
+ errors.push(new ParseError(`${label} "${node.name}" on "${obj.name}" references field "${fieldName}" ` +
1432
1661
  `which does not exist on "${obj.name}". ` +
1433
- `Available fields: ${[...effectiveFieldNames].join(", ") || "(none)"}`, { code: "ERR_INVALID_INDEX", source: idx.source }));
1662
+ `Available fields: ${[...effectiveFieldNames].join(", ") || "(none)"}`, { code: "ERR_INVALID_INDEX", source: node.source }));
1434
1663
  }
1435
1664
  }
1436
1665
  }
@@ -1558,4 +1787,60 @@ function checkProjectionFilterRefs(filter, fields, projectionName, source, error
1558
1787
  }
1559
1788
  }
1560
1789
  }
1790
+ // ---------------------------------------------------------------------------
1791
+ // FR-039 — a retired requirement's link vocabulary
1792
+ //
1793
+ // Two rules, and the first is the whole structural point of the FR.
1794
+ //
1795
+ // 1. `@status: retired` may NOT carry `@implementedBy`. Not exempt from the
1796
+ // dangling-reference check — REFUSED. 0.24.0 removed the previous retired
1797
+ // vocabulary because `verify` was SILENT on dangling refs for it, hiding 29
1798
+ // unresolvable references across 14 entries in one estate while reporting
1799
+ // zero. That silence was a deliberate EXEMPTION, so the fix was diagnosed as
1800
+ // "delete the vocabulary". Forbidding the attribute makes the bug class
1801
+ // UNREACHABLE instead: a retired capability has no implementation by
1802
+ // definition, so its references cannot dangle because they cannot exist.
1803
+ //
1804
+ // 2. `@supersededBy` is legal ONLY on `retired`. It names what REPLACED a
1805
+ // withdrawn capability; on a live one there is nothing to have replaced it.
1806
+ // Resolution of the reference itself is `verify`'s job (it owns every other
1807
+ // @implementedBy-style resolution) — the loader owns the shape.
1808
+ //
1809
+ // Runs in every port. `requirement.*` gate logic otherwise lives only in the TS
1810
+ // CLI, which is exactly why THIS rule belongs in the loader: a Java or Python
1811
+ // estate would otherwise be free to author the shape the rule exists to prevent.
1812
+ //
1813
+ // ADR-0039: children()/attr() throughout — never own* — so a requirement that
1814
+ // inherits its status through `extends` is judged on its EFFECTIVE status.
1815
+ // ---------------------------------------------------------------------------
1816
+ export function validateRetiredRequirementLinks(root) {
1817
+ const errors = [];
1818
+ const walk = (node) => {
1819
+ for (const child of node.children()) {
1820
+ if (child.type === REQUIREMENT) {
1821
+ const status = child.attr(REQUIREMENT_ATTR_STATUS);
1822
+ const isRetired = status === REQUIREMENT_STATUS_RETIRED;
1823
+ if (isRetired && child.attr(REQUIREMENT_ATTR_IMPLEMENTED_BY) !== undefined) {
1824
+ errors.push(new ParseError(`requirement.${child.subType} "${child.name}" is @status: ` +
1825
+ `${REQUIREMENT_STATUS_RETIRED} and declares @${REQUIREMENT_ATTR_IMPLEMENTED_BY}. ` +
1826
+ `A retired capability has no implementation — that is what retiring it means. ` +
1827
+ `Delete the attribute; if the nodes are still there, the capability is not retired. ` +
1828
+ `What used to implement it belongs in \`notes\`, and what REPLACED it in ` +
1829
+ `@${REQUIREMENT_ATTR_SUPERSEDED_BY}.`, { code: "ERR_REQUIREMENT_RETIRED_HAS_IMPLEMENTORS", source: child.source }));
1830
+ }
1831
+ if (!isRetired && child.attr(REQUIREMENT_ATTR_SUPERSEDED_BY) !== undefined) {
1832
+ errors.push(new ParseError(`requirement.${child.subType} "${child.name}" declares ` +
1833
+ `@${REQUIREMENT_ATTR_SUPERSEDED_BY} but its @${REQUIREMENT_ATTR_STATUS} is ` +
1834
+ `"${status ?? "(absent)"}". That attribute names the requirement which REPLACED a ` +
1835
+ `withdrawn one, so it is legal only on @${REQUIREMENT_ATTR_STATUS}: ` +
1836
+ `${REQUIREMENT_STATUS_RETIRED}.`, { code: "ERR_REQUIREMENT_SUPERSEDED_BY_NOT_RETIRED", source: child.source }));
1837
+ }
1838
+ }
1839
+ // Hierarchy IS nesting, so a retired requirement can sit at any depth.
1840
+ walk(child);
1841
+ }
1842
+ };
1843
+ walk(root);
1844
+ return errors;
1845
+ }
1561
1846
  //# sourceMappingURL=validation-passes.js.map