@primmel/primmel 1.17.0 → 1.17.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.
@@ -1 +1 @@
1
- {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/check.ts"],"names":[],"mappings":"AAsYA,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAW3B,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AA4D7C,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB;yEACqE;IACrE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qDAAqD;AACrD,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAChC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AA+CD,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,YAAiB,GACzB,UAAU,EAAE,CA+8Md;AAoBD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,EAAE,CAwFjE;AA4BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,EAAE,CAwQnE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,EAAE,CA+ExE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,EAAE,CA0EjE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,EAAE,CA6FhE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,EAAE,CAoBhE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,EAAE,CA8CnE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ,GACjB,UAAU,EAAE,CAuNd"}
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/check.ts"],"names":[],"mappings":"AAwYA,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAW3B,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AA4D7C,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB;yEACqE;IACrE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qDAAqD;AACrD,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAChC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AA+CD,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,YAAiB,GACzB,UAAU,EAAE,CA49Md;AAoBD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,EAAE,CAwFjE;AA4BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,EAAE,CAwQnE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,EAAE,CA+ExE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,EAAE,CA0EjE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,EAAE,CA6FhE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,EAAE,CAoBhE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,EAAE,CA8CnE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ,GACjB,UAAU,EAAE,CAuNd"}
package/dist/src/check.js CHANGED
@@ -108,7 +108,9 @@
108
108
  // warns, naming the doctrine: a violated run-validity precondition
109
109
  // voids the run, it never fails the instrument
110
110
  // C42 promise-target-resolves: a promise's target is a declared
111
- // characteristic (of the owning subject) or behavior
111
+ // characteristic (of the owning subject), behavior, attribute (the
112
+ // C44 path), classification dimension, or symbol-registry id (the
113
+ // register doctrine — smart R15's resolution set)
112
114
  // C43 promise-verifiable: no verified_by declared AND no verifying
113
115
  // requirement/test derivable (requirements/tests binding the same
114
116
  // target) — a warning at authoring (TODO.roadmap/08)
@@ -995,9 +997,17 @@ function checkPackage(dir, options = {}) {
995
997
  err('C44', `subject ${s.id}: promise "${label}" only restates the declared attribute value "${p.target}" — a promise claims a characteristic or behavior (optionally conditioned); bare values stay origin: declared attributes (promise-not-bare-value)`);
996
998
  }
997
999
  }
1000
+ else if (dimIds.has(p.target) || symbolIds.has(p.target)) {
1001
+ // A claim ABOUT a classification dimension or a symbol-named
1002
+ // quantity is a legal target (the register doctrine — smart's
1003
+ // linker R15 resolves a promise target to a declared attribute,
1004
+ // dimension, characteristic (symbol id), or behavior). Like the
1005
+ // attribute path, no C43 derivation runs: dimensions/symbols
1006
+ // carry no requirement-binding channel here.
1007
+ }
998
1008
  else {
999
1009
  // C42 — the target resolves to nothing the subject can claim.
1000
- err('C42', `subject ${s.id}: promise "${label}" target "${p.target}" is not a declared characteristic or behavior (promise-target-resolves)`);
1010
+ err('C42', `subject ${s.id}: promise "${label}" target "${p.target}" is not a declared characteristic, behavior, attribute, dimension, or symbol (promise-target-resolves)`);
1001
1011
  }
1002
1012
  continue;
1003
1013
  }
@@ -1084,11 +1094,15 @@ function checkPackage(dir, options = {}) {
1084
1094
  err('C44', `${where} only restates the declared attribute value "${p.target}" — a promise claims a characteristic or behavior (optionally conditioned); bare values stay origin: declared attributes (promise-not-bare-value)`);
1085
1095
  }
1086
1096
  }
1097
+ else if (dimIds.has(p.target) || symbolIds.has(p.target)) {
1098
+ // Dimension/symbol targets — the same widening as the subject
1099
+ // leg above (smart R15's resolution set).
1100
+ }
1087
1101
  else if (owner) {
1088
1102
  // C42 — gated on the owning subject composing: without it the
1089
1103
  // characteristic register is out of scope and the target's
1090
1104
  // characteristic-ness is unknowable.
1091
- err('C42', `${where} target "${p.target}" is not a declared characteristic or behavior (promise-target-resolves)`);
1105
+ err('C42', `${where} target "${p.target}" is not a declared characteristic, behavior, attribute, dimension, or symbol (promise-target-resolves)`);
1092
1106
  }
1093
1107
  continue;
1094
1108
  }
@@ -3881,7 +3895,8 @@ function checkPackage(dir, options = {}) {
3881
3895
  // a declared classification dimension and every value to one of that
3882
3896
  // dimension's declared values (per-register gated, the smart R4/R8
3883
3897
  // applicability mirror; an OPEN dimension — no declared value set —
3884
- // accepts any value).
3898
+ // accepts any value). A set-cardinality dimension's preset is a value
3899
+ // LIST (r144's measurand_components) — each entry resolves.
3885
3900
  {
3886
3901
  for (const p of standard.evaluationProfiles ?? []) {
3887
3902
  const where = `evaluation_profile ${p.id}`;
@@ -3891,8 +3906,10 @@ function checkPackage(dir, options = {}) {
3891
3906
  continue;
3892
3907
  }
3893
3908
  const values = dimIds.get(dim);
3894
- if (values && values.size > 0 && !values.has(value)) {
3895
- err('C135', `${where}: dimensions entry "${dim}" names value "${value}", which the dimension does not declare (evaluation-profile-coherence)`);
3909
+ for (const v of Array.isArray(value) ? value : [value]) {
3910
+ if (values && values.size > 0 && !values.has(v)) {
3911
+ err('C135', `${where}: dimensions entry "${dim}" names value "${v}", which the dimension does not declare (evaluation-profile-coherence)`);
3912
+ }
3896
3913
  }
3897
3914
  }
3898
3915
  }