@primmel/primmel 1.11.0 → 1.12.0

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/src/check-rules.d.ts.map +1 -1
  2. package/dist/src/check-rules.js +29 -0
  3. package/dist/src/check-rules.js.map +1 -1
  4. package/dist/src/check.d.ts.map +1 -1
  5. package/dist/src/check.js +254 -3
  6. package/dist/src/check.js.map +1 -1
  7. package/dist/src/model-diff.d.ts.map +1 -1
  8. package/dist/src/model-diff.js +17 -0
  9. package/dist/src/model-diff.js.map +1 -1
  10. package/dist/src/ser-des/config/documentModule.d.ts +5 -0
  11. package/dist/src/ser-des/config/documentModule.d.ts.map +1 -0
  12. package/dist/src/ser-des/config/documentModule.js +109 -0
  13. package/dist/src/ser-des/config/documentModule.js.map +1 -0
  14. package/dist/src/ser-des/config/index.d.ts.map +1 -1
  15. package/dist/src/ser-des/config/index.js +46 -0
  16. package/dist/src/ser-des/config/index.js.map +1 -1
  17. package/dist/src/ser-des/config/informativeAnnex.d.ts +5 -0
  18. package/dist/src/ser-des/config/informativeAnnex.d.ts.map +1 -0
  19. package/dist/src/ser-des/config/informativeAnnex.js +185 -0
  20. package/dist/src/ser-des/config/informativeAnnex.js.map +1 -0
  21. package/dist/src/ser-des/config/process.d.ts.map +1 -1
  22. package/dist/src/ser-des/config/process.js +369 -3
  23. package/dist/src/ser-des/config/process.js.map +1 -1
  24. package/dist/src/ser-des/config/processModel.d.ts +13 -0
  25. package/dist/src/ser-des/config/processModel.d.ts.map +1 -0
  26. package/dist/src/ser-des/config/processModel.js +163 -0
  27. package/dist/src/ser-des/config/processModel.js.map +1 -0
  28. package/dist/src/ser-des/config/schemeType.d.ts +7 -0
  29. package/dist/src/ser-des/config/schemeType.d.ts.map +1 -0
  30. package/dist/src/ser-des/config/schemeType.js +232 -0
  31. package/dist/src/ser-des/config/schemeType.js.map +1 -0
  32. package/dist/src/ser-des/package.d.ts.map +1 -1
  33. package/dist/src/ser-des/package.js +35 -8
  34. package/dist/src/ser-des/package.js.map +1 -1
  35. package/dist/src/ser-des/parse.d.ts.map +1 -1
  36. package/dist/src/ser-des/parse.js +8 -0
  37. package/dist/src/ser-des/parse.js.map +1 -1
  38. package/dist/src/ser-des/types.d.ts +12 -0
  39. package/dist/src/ser-des/types.d.ts.map +1 -1
  40. package/dist/src/types/DocumentModule.d.ts +27 -0
  41. package/dist/src/types/DocumentModule.d.ts.map +1 -0
  42. package/dist/src/types/DocumentModule.js +38 -0
  43. package/dist/src/types/DocumentModule.js.map +1 -0
  44. package/dist/src/types/InformativeAnnex.d.ts +44 -0
  45. package/dist/src/types/InformativeAnnex.d.ts.map +1 -0
  46. package/dist/src/types/InformativeAnnex.js +35 -0
  47. package/dist/src/types/InformativeAnnex.js.map +1 -0
  48. package/dist/src/types/Package.d.ts +7 -3
  49. package/dist/src/types/Package.d.ts.map +1 -1
  50. package/dist/src/types/ProcessModel.d.ts +27 -0
  51. package/dist/src/types/ProcessModel.d.ts.map +1 -0
  52. package/dist/src/types/ProcessModel.js +31 -0
  53. package/dist/src/types/ProcessModel.js.map +1 -0
  54. package/dist/src/types/SchemeType.d.ts +51 -0
  55. package/dist/src/types/SchemeType.d.ts.map +1 -0
  56. package/dist/src/types/SchemeType.js +41 -0
  57. package/dist/src/types/SchemeType.js.map +1 -0
  58. package/dist/src/types/Standard.d.ts +16 -0
  59. package/dist/src/types/Standard.d.ts.map +1 -1
  60. package/dist/src/types/process.d.ts +99 -1
  61. package/dist/src/types/process.d.ts.map +1 -1
  62. package/dist-browser/index.mjs +1450 -985
  63. package/dist-cli/primmel.mjs +1313 -120
  64. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"check-rules.d.ts","sourceRoot":"","sources":["../../src/check-rules.ts"],"names":[],"mappings":"AAoBA,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,SAAS,GACT,SAAS,GACT,eAAe,GACf,SAAS,GACT,aAAa,GACb,YAAY,GACZ,OAAO,GACP,UAAU,GACV,WAAW,GACX,iBAAiB,GACjB,OAAO,GACP,UAAU,GACV,SAAS,GACT,cAAc,GACd,WAAW,CAAC;AAEhB,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE5C,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAWD,qCAAqC;AACrC,eAAO,MAAM,WAAW,EAAE,SAAS,EAwrClC,CAAC;AAIF,uEAAuE;AACvE,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAE3D;AAED,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CAM5D"}
1
+ {"version":3,"file":"check-rules.d.ts","sourceRoot":"","sources":["../../src/check-rules.ts"],"names":[],"mappings":"AAoBA,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,SAAS,GACT,SAAS,GACT,eAAe,GACf,SAAS,GACT,aAAa,GACb,YAAY,GACZ,OAAO,GACP,UAAU,GACV,WAAW,GACX,iBAAiB,GACjB,OAAO,GACP,UAAU,GACV,SAAS,GACT,cAAc,GACd,WAAW,CAAC;AAEhB,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE5C,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAWD,qCAAqC;AACrC,eAAO,MAAM,WAAW,EAAE,SAAS,EA0uClC,CAAC;AAIF,uEAAuE;AACvE,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAE3D;AAED,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CAM5D"}
@@ -109,6 +109,35 @@ exports.CHECK_RULES = [
109
109
  // its target register is in composition scope. Mirror of the OIML
110
110
  // SMART linker's R25.
111
111
  R('C120', 'framework-references-resolve', 'composition', 'error', 'normal', 'smart TODO.roadmap/40 (the packages-as-SSOT epic)'),
112
+ // C121 (smart TODO.roadmap/40 batch 2; the packages-as-SSOT epic): the
113
+ // abstract-process model's framework bindings resolve — the process's
114
+ // roles / organs / participant_kinds lists, the decision rule, the
115
+ // declaration kind + the sign|update action vocabulary, the discharged
116
+ // declaration gate, realized_by → process, approved_by → approval, and
117
+ // the calendar windows' shape (kind vocabulary; exactly one of
118
+ // years/months); the process_model's sequence members and register
119
+ // maintainers ride the same rule. Per-register gating (the C58
120
+ // doctrine): an edge is checked only when its target register is in
121
+ // composition scope.
122
+ R('C121', 'abstract-process-references-resolve', 'process', 'error', 'normal', 'smart TODO.roadmap/40 batch 2 (the packages-as-SSOT epic)'),
123
+ // C122 (smart TODO.roadmap/40 batch 2; the packages-as-SSOT epic): the
124
+ // ISO/IEC 17067 register is composable — a manifest's scheme_type
125
+ // token resolves against the composed scheme_type register when one is
126
+ // in scope, and a scheme_type's determination / attestation /
127
+ // surveillance.activities entries resolve against the composed
128
+ // scheme_activity_kind menus. Per-register gating (the C58 doctrine);
129
+ // the register-free fallback stays (the C89 spelling precedent), and
130
+ // C98's hard-coded no-surveillance set defers to the register's
131
+ // surveillance.required when the register is in scope.
132
+ R('C122', 'scheme-type-resolves', 'composition', 'error', 'normal', 'smart TODO.roadmap/40 batch 2 (the packages-as-SSOT epic)'),
133
+ // C123 (smart TODO.roadmap/40 batch 2; the packages-as-SSOT epic): the
134
+ // document module's edges resolve — sequence members → process,
135
+ // register maintainers → governance_organ (per-register gated, the C58
136
+ // doctrine), the declared namespace is an absolute requirement-
137
+ // namespace path (the pin C119 now prefers over the requirement_class-
138
+ // id derivation), and the informative annex's applies_to names a known
139
+ // package (locator-gated, the C97-class resolution discipline).
140
+ R('C123', 'document-module-references-resolve', 'composition', 'error', 'normal', 'smart TODO.roadmap/40 batch 2 (the packages-as-SSOT epic)'),
112
141
  // ── quantities / time / duality (TODO.roadmap/06) ─────────────────
113
142
  R('C32', 'inv1-no-bare-quantity', 'quantities', 'error', 'normal', 'TODO.roadmap/06, INV-1'),
114
143
  R('C33', 'quantity-coherence', 'quantities', 'error', 'normal', 'TODO.roadmap/06'),
@@ -1 +1 @@
1
- {"version":3,"file":"check-rules.js","sourceRoot":"","sources":["../../src/check-rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check-rules.js","sourceRoot":"","sources":["../../src/check-rules.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/check.ts"],"names":[],"mappings":"AAkVA,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAW3B,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AA2D7C,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,CAw4Jd;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":"AA4WA,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAW3B,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AA2D7C,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,CAyrKd;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
@@ -152,7 +152,10 @@
152
152
  // (TODO.roadmap/39b — ISO/IEC 17065 role segregation) are
153
153
  // well-formed: pair members resolve to declared processes (or the
154
154
  // reserved case_personnel token), are distinct, and include the
155
- // owning process
155
+ // owning process; the kind-conditional XOR (smart TODO.roadmap/40
156
+ // batch 2): a disjoint constraint is ONLY a pair, a consultancy
157
+ // bar carries barred relations (required) + an optional period and
158
+ // never a pair
156
159
  // C74 process-io-type-coherence (TODO.roadmap/38): typed transition
157
160
  // boundaries — one name (signature in/out, registers) carries ONE
158
161
  // type; two declarations of the same name whose quantity
@@ -311,6 +314,29 @@
311
314
  // document approving organs, decision_rule edges. Per-register
312
315
  // gating (the C58 doctrine): an edge is checked only when its
313
316
  // target register is in composition scope
317
+ // C121 abstract-process-references-resolve (smart TODO.roadmap/40
318
+ // batch 2): the abstract-process model's framework bindings resolve
319
+ // — roles/organs/participant_kinds lists, decision.rule, the
320
+ // declaration kind + sign|update action vocabulary,
321
+ // discharges_gate, realized_by → process, approved_by → approval,
322
+ // the calendar windows' shape (kind vocabulary; exactly one of
323
+ // years/months), and the process_model's sequence + register
324
+ // maintainer edges. Per-register gating (the C58 doctrine)
325
+ // C122 scheme-type-resolves (smart TODO.roadmap/40 batch 2): the
326
+ // ISO/IEC 17067 register is composable — a manifest's scheme_type
327
+ // token resolves against the composed scheme_type register when one
328
+ // is in scope; a scheme_type's determination / attestation /
329
+ // surveillance.activities entries resolve against the composed
330
+ // scheme_activity_kind menus. C98's no-surveillance set defers to
331
+ // the register's surveillance.required (register-free fallback
332
+ // stays)
333
+ // C123 document-module-references-resolve (smart TODO.roadmap/40 batch
334
+ // 2): the document module's edges resolve — sequence → process,
335
+ // register maintainer → governance_organ (per-register gated), the
336
+ // declared namespace is an absolute requirement-namespace path (the
337
+ // pin C119 prefers over the requirement_class-id derivation), and
338
+ // the informative annex's applies_to names a known package
339
+ // (locator-gated)
314
340
  //
315
341
  // Levels (TODO.roadmap/17): the DEFAULT level runs the normal-level
316
342
  // rules at their catalog severities. --audit additionally runs the
@@ -1365,6 +1391,11 @@ function checkPackage(dir, options = {}) {
1365
1391
  // never roles — a scheme may bind one role to evaluation, review AND
1366
1392
  // decision, so the norms quantify over process involvement. Per-
1367
1393
  // assignment runtime enforcement is the platform's business (task 44).
1394
+ // The kind-conditional shape (smart TODO.roadmap/40 batch 2 — the YAML
1395
+ // schema's allOf discipline, data/schemas/abstract-processes.yaml): a
1396
+ // case_personnel_disjoint constraint is ONLY a pair (no period, no
1397
+ // barred relations); a consultancy_bar is ONLY a barred-relations list
1398
+ // with an optional period (never a pair).
1368
1399
  // Mirror of the OIML SMART linker's R24 abstract-process-segregation.
1369
1400
  {
1370
1401
  const SEGREGATION_CASE_PERSONNEL = 'case_personnel';
@@ -1381,6 +1412,9 @@ function checkPackage(dir, options = {}) {
1381
1412
  err('C59', `process ${p.id}: segregation constraint "${s.id}" is case_personnel_disjoint but declares ${s.pair.length} pair members — exactly two are required (segregation-members-resolve)`);
1382
1413
  continue;
1383
1414
  }
1415
+ if (s.period !== '' || s.barred.length > 0) {
1416
+ err('C59', `process ${p.id}: segregation constraint "${s.id}" is case_personnel_disjoint but declares ${s.period !== '' ? `period "${s.period}"` : 'barred relations'} — a disjoint constraint is ONLY a pair; the period/barred facets belong to consultancy_bar (segregation-members-resolve)`);
1417
+ }
1384
1418
  const [a, b] = s.pair;
1385
1419
  if (a === b) {
1386
1420
  err('C59', `process ${p.id}: segregation constraint "${s.id}" declares "${a}" disjoint from itself — the two personnel sets must be distinct (segregation-members-resolve)`);
@@ -1395,6 +1429,134 @@ function checkPackage(dir, options = {}) {
1395
1429
  err('C59', `process ${p.id}: segregation constraint "${s.id}" is declared on process "${p.id}" but neither pair member is "${p.id}" — the constrained process owns its segregation constraints (segregation-members-resolve)`);
1396
1430
  }
1397
1431
  }
1432
+ else {
1433
+ // consultancy_bar — the barred client relations are REQUIRED
1434
+ // (a bar that bars nothing is no bar); the pair is the disjoint
1435
+ // kind's shape and never appears here; the period is optional
1436
+ // (4.2.10 body-specified vs 7.13.6 fixed P2Y).
1437
+ if (s.barred.length === 0) {
1438
+ err('C59', `process ${p.id}: segregation constraint "${s.id}" is consultancy_bar but bars no client relation — the barred list is required (segregation-members-resolve)`);
1439
+ }
1440
+ if (s.pair.length > 0) {
1441
+ err('C59', `process ${p.id}: segregation constraint "${s.id}" is consultancy_bar but declares a pair — the pair is the case_personnel_disjoint shape; a bar carries barred relations and an optional period only (segregation-members-resolve)`);
1442
+ }
1443
+ }
1444
+ }
1445
+ }
1446
+ }
1447
+ // ── C121: abstract-process-references-resolve (smart TODO.roadmap/40 ──
1448
+ // batch 2; the packages-as-SSOT epic) ───────────────────────────────
1449
+ // The abstract-process model's framework bindings resolve against the
1450
+ // composed registers: the role binding list, the organ and participant
1451
+ // kind facets, the decision rule, the declaration kind (plus the sign |
1452
+ // update action vocabulary), the discharged declaration gate, the
1453
+ // realizing processes and the authorizing approvals; the calendar
1454
+ // windows' shape legs (the max_elapsed | min_elapsed kind vocabulary;
1455
+ // exactly one of years/months — the scheme_lifecycle duration
1456
+ // sub-grammar) are register-free. The process_model's sequence members
1457
+ // (→ process) and register maintainers (→ governance_organ) ride the
1458
+ // same rule. Per-register gating (the C58 doctrine): an edge is checked
1459
+ // only when its target register is in composition scope. The windows'
1460
+ // anchor/applies_to FIELD resolution stays consumer-side (the R26
1461
+ // precedent). Mirror of the OIML SMART linker's abstract-process
1462
+ // reference legs.
1463
+ {
1464
+ const apRoleIds = new Set((standard.roles ?? []).map(r => r.id));
1465
+ const apGateIds = new Set((standard.declarationGates ?? []).map(g => g.id));
1466
+ const apRuleIds = new Set((standard.decisionRules ?? []).map(r => r.id));
1467
+ const apApprovalIds = new Set((standard.approvals ?? []).map(a => a.id));
1468
+ // The C120 organ/kind/declaration resolvers report under C120 — the
1469
+ // abstract-process edges are C121's, so the rule carries its own
1470
+ // per-register-gated resolvers over the same composed registers.
1471
+ const resolveOrganAp = (where, facet, id) => {
1472
+ if (organIds.size > 0 && id !== '' && !organIds.has(id)) {
1473
+ err('C121', `${where}: ${facet} "${id}" is not a declared governance organ (abstract-process-references-resolve)`);
1474
+ }
1475
+ };
1476
+ const resolveKindAp = (where, facet, id) => {
1477
+ if (kindIds.size > 0 && id !== '' && !kindIds.has(id)) {
1478
+ err('C121', `${where}: ${facet} "${id}" is not a declared participant kind (abstract-process-references-resolve)`);
1479
+ }
1480
+ };
1481
+ const resolveDeclarationAp = (where, facet, id) => {
1482
+ if (declIds.size > 0 && id !== '' && !declIds.has(id)) {
1483
+ err('C121', `${where}: ${facet} "${id}" is not a declared declaration kind (abstract-process-references-resolve)`);
1484
+ }
1485
+ };
1486
+ const resolveProcessRef = (where, facet, id) => {
1487
+ if (frameworkProcessIds.size > 0 && !frameworkProcessIds.has(id)) {
1488
+ err('C121', `${where}: ${facet} "${id}" is not a declared process (abstract-process-references-resolve)`);
1489
+ }
1490
+ };
1491
+ for (const p of standard.processes ?? []) {
1492
+ const where = `process ${p.id}`;
1493
+ if (apRoleIds.size > 0) {
1494
+ for (const r of p.roles ?? []) {
1495
+ if (!apRoleIds.has(r)) {
1496
+ err('C121', `${where}: roles "${r}" is not a declared role (abstract-process-references-resolve)`);
1497
+ }
1498
+ }
1499
+ }
1500
+ for (const o of p.organs ?? []) {
1501
+ resolveOrganAp(where, 'organs', o);
1502
+ }
1503
+ for (const k of p.participantKinds ?? []) {
1504
+ resolveKindAp(where, 'participant_kinds', k);
1505
+ }
1506
+ if (p.decision) {
1507
+ if (p.decision.rule === '') {
1508
+ err('C121', `${where}: the decision facet declares no rule — a decision names the decision_rule it applies (abstract-process-references-resolve)`);
1509
+ }
1510
+ else if (apRuleIds.size > 0 && !apRuleIds.has(p.decision.rule)) {
1511
+ err('C121', `${where}: decision.rule "${p.decision.rule}" is not a declared decision rule (abstract-process-references-resolve)`);
1512
+ }
1513
+ }
1514
+ if (p.declaration) {
1515
+ if (p.declaration.kind === '') {
1516
+ err('C121', `${where}: the declaration facet declares no kind — a declaration names the declaration_kind it signs or updates (abstract-process-references-resolve)`);
1517
+ }
1518
+ else {
1519
+ resolveDeclarationAp(where, 'declaration.kind', p.declaration.kind);
1520
+ }
1521
+ if (p.declaration.action !== 'sign' &&
1522
+ p.declaration.action !== 'update') {
1523
+ err('C121', `${where}: declaration action "${p.declaration.action || '(none)'}" — a declaration is signed or updated (valid: sign, update) (abstract-process-references-resolve)`);
1524
+ }
1525
+ }
1526
+ if (p.dischargesGate !== '' &&
1527
+ apGateIds.size > 0 &&
1528
+ !apGateIds.has(p.dischargesGate)) {
1529
+ err('C121', `${where}: discharges_gate "${p.dischargesGate}" is not a declared declaration gate (abstract-process-references-resolve)`);
1530
+ }
1531
+ for (const r of p.realizedBy ?? []) {
1532
+ resolveProcessRef(where, 'realized_by', r);
1533
+ }
1534
+ if (apApprovalIds.size > 0) {
1535
+ for (const a of p.approvedBy ?? []) {
1536
+ if (!apApprovalIds.has(a)) {
1537
+ err('C121', `${where}: approved_by "${a}" is not a declared approval (abstract-process-references-resolve)`);
1538
+ }
1539
+ }
1540
+ }
1541
+ for (const w of p.windows ?? []) {
1542
+ const wwhere = `${where} window ${w.id}`;
1543
+ if (w.kind !== 'max_elapsed' && w.kind !== 'min_elapsed') {
1544
+ err('C121', `${wwhere}: kind "${w.kind || '(none)'}" — a calendar window is a deadline or a cooling-off (valid: max_elapsed, min_elapsed) (abstract-process-references-resolve)`);
1545
+ }
1546
+ if (w.windowYears > 0 === w.windowMonths > 0) {
1547
+ err('C121', `${wwhere}: the window duration declares ${w.windowYears > 0
1548
+ ? 'both years and months'
1549
+ : 'neither years nor months'} — exactly one is required (the scheme_lifecycle window sub-grammar) (abstract-process-references-resolve)`);
1550
+ }
1551
+ }
1552
+ }
1553
+ for (const m of standard.processModels ?? []) {
1554
+ const where = `process_model ${m.id}`;
1555
+ for (const s of m.sequence ?? []) {
1556
+ resolveProcessRef(where, 'sequence', s);
1557
+ }
1558
+ for (const r of m.registers ?? []) {
1559
+ resolveOrganAp(`${where} register ${r.id}`, 'maintainer', r.maintainer);
1398
1560
  }
1399
1561
  }
1400
1562
  }
@@ -2427,6 +2589,88 @@ function checkPackage(dir, options = {}) {
2427
2589
  }
2428
2590
  }
2429
2591
  }
2592
+ // ── C122: scheme-type-resolves (smart TODO.roadmap/40 batch 2; the ──
2593
+ // packages-as-SSOT epic) ────────────────────────────────────────────
2594
+ // The ISO/IEC 17067 register is composable: a manifest's `scheme_type`
2595
+ // token resolves against the composed scheme_type register WHEN one is
2596
+ // in scope (per-register gating, the C58 doctrine — a register-less
2597
+ // package keeps the register-free fallback, the C89 spelling
2598
+ // precedent); and a scheme_type's determination / attestation /
2599
+ // surveillance.activities entries resolve against the composed
2600
+ // scheme_activity_kind menus when THAT register is in scope. C98's
2601
+ // hard-coded no-surveillance set defers to the register's
2602
+ // surveillance.required (below, in the C97–C98 block).
2603
+ {
2604
+ const schemeTypeIds = new Set((standard.schemeTypes ?? []).map(t => t.id));
2605
+ const menuIds = new Set((standard.schemeActivityKinds ?? []).map(k => k.id));
2606
+ const manifestSchemeType = standard.packageManifest?.schemeType;
2607
+ if (schemeTypeIds.size > 0 &&
2608
+ manifestSchemeType &&
2609
+ !schemeTypeIds.has(manifestSchemeType)) {
2610
+ err('C122', `package "${standard.packageManifest.id}": scheme_type "${manifestSchemeType}" is not a declared scheme type of the in-scope ISO/IEC 17067 register (scheme-type-resolves)`);
2611
+ }
2612
+ if (menuIds.size > 0) {
2613
+ const resolveMenuEntry = (where, facet, id) => {
2614
+ if (!menuIds.has(id)) {
2615
+ err('C122', `${where}: ${facet} "${id}" is not a declared scheme activity kind (scheme-type-resolves)`);
2616
+ }
2617
+ };
2618
+ for (const t of standard.schemeTypes ?? []) {
2619
+ const where = `scheme_type ${t.id}`;
2620
+ for (const d of t.determination) {
2621
+ resolveMenuEntry(where, 'determination', d);
2622
+ }
2623
+ for (const a of t.attestation) {
2624
+ resolveMenuEntry(where, 'attestation', a);
2625
+ }
2626
+ for (const s of t.surveillance?.activities ?? []) {
2627
+ resolveMenuEntry(where, 'surveillance.activities', s);
2628
+ }
2629
+ }
2630
+ }
2631
+ }
2632
+ // ── C123: document-module-references-resolve (smart TODO.roadmap/40 ──
2633
+ // batch 2; the packages-as-SSOT epic) ───────────────────────────────
2634
+ // The document module's edges resolve: the sequence members against
2635
+ // the composed processes, the register maintainers against the
2636
+ // governance_organ register (per-register gating, the C58 doctrine),
2637
+ // and the declared namespace is an absolute requirement-namespace path
2638
+ // (the register-free shape leg). The informative annex's applies_to
2639
+ // names a known package — checked through the dependency-manifest
2640
+ // locator, so the leg is gated on a locator being supplied (the
2641
+ // C97-class resolution discipline; without a locator the sibling scan
2642
+ // cannot adjudicate non-sibling ids and the leg stays silent).
2643
+ {
2644
+ const dmOrganIds = new Set((standard.governanceOrgans ?? []).map(o => o.id));
2645
+ const dmProcessIds = new Set((standard.processes ?? []).map(p => p.id));
2646
+ for (const m of standard.documentModules ?? []) {
2647
+ const where = `document_module ${m.id}`;
2648
+ if (m.namespace !== '' && !m.namespace.startsWith('/')) {
2649
+ err('C123', `${where}: namespace "${m.namespace}" is not an absolute requirement-namespace path (e.g. /req/cs/${m.id}) — the declared pin C119 guards must be a path (document-module-references-resolve)`);
2650
+ }
2651
+ if (dmProcessIds.size > 0) {
2652
+ for (const s of m.sequence ?? []) {
2653
+ if (!dmProcessIds.has(s)) {
2654
+ err('C123', `${where}: sequence "${s}" is not a declared process (document-module-references-resolve)`);
2655
+ }
2656
+ }
2657
+ }
2658
+ if (dmOrganIds.size > 0) {
2659
+ for (const r of m.registers ?? []) {
2660
+ if (r.maintainer !== '' && !dmOrganIds.has(r.maintainer)) {
2661
+ err('C123', `${where} register ${r.id}: maintainer "${r.maintainer}" is not a declared governance organ (document-module-references-resolve)`);
2662
+ }
2663
+ }
2664
+ }
2665
+ }
2666
+ if (options.resolvePackage) {
2667
+ for (const a of standard.informativeAnnexes ?? []) {
2668
+ if (a.appliesTo !== '' && !resolveDepManifest(a.appliesTo)) {
2669
+ err('C123', `informative_annex ${a.id}: applies_to "${a.appliesTo}" does not resolve to a known package — the CASCO layer the annex applies to must resolve (document-module-references-resolve)`);
2670
+ }
2671
+ }
2672
+ }
2673
+ }
2430
2674
  // ── C97–C98: the certification program (TODO.v2/01;
2431
2675
  // analysis/twin-certification-design.md Q4) ──
2432
2676
  // A fourth publisher with the product_reference shape: the scheme
@@ -2464,9 +2708,16 @@ function checkPackage(dir, options = {}) {
2464
2708
  // surveillance machinery. A monitor IS a continuous claim ("without
2465
2709
  // triggers, 'continuous' has no clock" — types/Monitor.ts); an
2466
2710
  // activity_kind { surveillance } process is a surveillance claim.
2711
+ // When the scheme-type register is in scope (smart TODO.roadmap/40
2712
+ // batch 2 — composed via uses), the register's own
2713
+ // surveillance.required adjudicates; the hard-coded type_1a/1b set
2714
+ // is the register-free fallback (the C89 spelling precedent).
2467
2715
  const SCHEME_TYPES_WITHOUT_SURVEILLANCE = new Set(['type_1a', 'type_1b']);
2468
- if (productManifest.schemeType &&
2469
- SCHEME_TYPES_WITHOUT_SURVEILLANCE.has(productManifest.schemeType)) {
2716
+ const registerEntry = (standard.schemeTypes ?? []).find(t => t.id === productManifest.schemeType);
2717
+ const noSurveillance = registerEntry
2718
+ ? !registerEntry.surveillance?.required
2719
+ : SCHEME_TYPES_WITHOUT_SURVEILLANCE.has(productManifest.schemeType ?? '');
2720
+ if (productManifest.schemeType && noSurveillance) {
2470
2721
  const claims = [];
2471
2722
  if ((standard.monitors ?? []).length > 0) {
2472
2723
  claims.push(`${standard.monitors.length} monitor(s): ${standard.monitors.map(m => m.id).join(', ')}`);