@primmel/primmel 1.12.0 → 1.14.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 (163) hide show
  1. package/dist/src/check-rules.d.ts.map +1 -1
  2. package/dist/src/check-rules.js +115 -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 +896 -0
  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 +40 -0
  9. package/dist/src/model-diff.js.map +1 -1
  10. package/dist/src/ser-des/config/applicationDeclaration.d.ts +5 -0
  11. package/dist/src/ser-des/config/applicationDeclaration.d.ts.map +1 -0
  12. package/dist/src/ser-des/config/applicationDeclaration.js +102 -0
  13. package/dist/src/ser-des/config/applicationDeclaration.js.map +1 -0
  14. package/dist/src/ser-des/config/aspect.d.ts +5 -0
  15. package/dist/src/ser-des/config/aspect.d.ts.map +1 -0
  16. package/dist/src/ser-des/config/aspect.js +128 -0
  17. package/dist/src/ser-des/config/aspect.js.map +1 -0
  18. package/dist/src/ser-des/config/calculation.d.ts.map +1 -1
  19. package/dist/src/ser-des/config/calculation.js +134 -18
  20. package/dist/src/ser-des/config/calculation.js.map +1 -1
  21. package/dist/src/ser-des/config/calculationContext.d.ts +5 -0
  22. package/dist/src/ser-des/config/calculationContext.d.ts.map +1 -0
  23. package/dist/src/ser-des/config/calculationContext.js +62 -0
  24. package/dist/src/ser-des/config/calculationContext.js.map +1 -0
  25. package/dist/src/ser-des/config/certificateTemplate.d.ts +5 -0
  26. package/dist/src/ser-des/config/certificateTemplate.d.ts.map +1 -0
  27. package/dist/src/ser-des/config/certificateTemplate.js +195 -0
  28. package/dist/src/ser-des/config/certificateTemplate.js.map +1 -0
  29. package/dist/src/ser-des/config/commonTestCondition.d.ts +5 -0
  30. package/dist/src/ser-des/config/commonTestCondition.d.ts.map +1 -0
  31. package/dist/src/ser-des/config/commonTestCondition.js +75 -0
  32. package/dist/src/ser-des/config/commonTestCondition.js.map +1 -0
  33. package/dist/src/ser-des/config/evaluationDimension.d.ts +5 -0
  34. package/dist/src/ser-des/config/evaluationDimension.d.ts.map +1 -0
  35. package/dist/src/ser-des/config/evaluationDimension.js +128 -0
  36. package/dist/src/ser-des/config/evaluationDimension.js.map +1 -0
  37. package/dist/src/ser-des/config/evaluationProfile.d.ts +5 -0
  38. package/dist/src/ser-des/config/evaluationProfile.d.ts.map +1 -0
  39. package/dist/src/ser-des/config/evaluationProfile.js +61 -0
  40. package/dist/src/ser-des/config/evaluationProfile.js.map +1 -0
  41. package/dist/src/ser-des/config/formulaNote.d.ts +5 -0
  42. package/dist/src/ser-des/config/formulaNote.d.ts.map +1 -0
  43. package/dist/src/ser-des/config/formulaNote.js +66 -0
  44. package/dist/src/ser-des/config/formulaNote.js.map +1 -0
  45. package/dist/src/ser-des/config/identitySlot.d.ts +5 -0
  46. package/dist/src/ser-des/config/identitySlot.d.ts.map +1 -0
  47. package/dist/src/ser-des/config/identitySlot.js +120 -0
  48. package/dist/src/ser-des/config/identitySlot.js.map +1 -0
  49. package/dist/src/ser-des/config/index.d.ts.map +1 -1
  50. package/dist/src/ser-des/config/index.js +200 -0
  51. package/dist/src/ser-des/config/index.js.map +1 -1
  52. package/dist/src/ser-des/config/partAnnex.d.ts +5 -0
  53. package/dist/src/ser-des/config/partAnnex.d.ts.map +1 -0
  54. package/dist/src/ser-des/config/partAnnex.js +91 -0
  55. package/dist/src/ser-des/config/partAnnex.js.map +1 -0
  56. package/dist/src/ser-des/config/promiseSet.d.ts +5 -0
  57. package/dist/src/ser-des/config/promiseSet.d.ts.map +1 -0
  58. package/dist/src/ser-des/config/promiseSet.js +46 -0
  59. package/dist/src/ser-des/config/promiseSet.js.map +1 -0
  60. package/dist/src/ser-des/config/selectionRules.d.ts +9 -0
  61. package/dist/src/ser-des/config/selectionRules.d.ts.map +1 -0
  62. package/dist/src/ser-des/config/selectionRules.js +372 -0
  63. package/dist/src/ser-des/config/selectionRules.js.map +1 -0
  64. package/dist/src/ser-des/config/storyline.d.ts +7 -0
  65. package/dist/src/ser-des/config/storyline.d.ts.map +1 -0
  66. package/dist/src/ser-des/config/storyline.js +264 -0
  67. package/dist/src/ser-des/config/storyline.js.map +1 -0
  68. package/dist/src/ser-des/config/subject.d.ts +18 -1
  69. package/dist/src/ser-des/config/subject.d.ts.map +1 -1
  70. package/dist/src/ser-des/config/subject.js +270 -61
  71. package/dist/src/ser-des/config/subject.js.map +1 -1
  72. package/dist/src/ser-des/config/testReport.d.ts +7 -0
  73. package/dist/src/ser-des/config/testReport.d.ts.map +1 -0
  74. package/dist/src/ser-des/config/testReport.js +322 -0
  75. package/dist/src/ser-des/config/testReport.js.map +1 -0
  76. package/dist/src/ser-des/config/verificationPathway.d.ts +5 -0
  77. package/dist/src/ser-des/config/verificationPathway.d.ts.map +1 -0
  78. package/dist/src/ser-des/config/verificationPathway.js +361 -0
  79. package/dist/src/ser-des/config/verificationPathway.js.map +1 -0
  80. package/dist/src/ser-des/config/workflowConfig.d.ts +5 -0
  81. package/dist/src/ser-des/config/workflowConfig.d.ts.map +1 -0
  82. package/dist/src/ser-des/config/workflowConfig.js +129 -0
  83. package/dist/src/ser-des/config/workflowConfig.js.map +1 -0
  84. package/dist/src/ser-des/package.d.ts +10 -0
  85. package/dist/src/ser-des/package.d.ts.map +1 -1
  86. package/dist/src/ser-des/package.js +166 -12
  87. package/dist/src/ser-des/package.js.map +1 -1
  88. package/dist/src/ser-des/parse.d.ts.map +1 -1
  89. package/dist/src/ser-des/parse.js +29 -0
  90. package/dist/src/ser-des/parse.js.map +1 -1
  91. package/dist/src/ser-des/types.d.ts +37 -0
  92. package/dist/src/ser-des/types.d.ts.map +1 -1
  93. package/dist/src/types/ApplicationDeclaration.d.ts +23 -0
  94. package/dist/src/types/ApplicationDeclaration.d.ts.map +1 -0
  95. package/dist/src/types/ApplicationDeclaration.js +32 -0
  96. package/dist/src/types/ApplicationDeclaration.js.map +1 -0
  97. package/dist/src/types/Aspect.d.ts +30 -0
  98. package/dist/src/types/Aspect.d.ts.map +1 -0
  99. package/dist/src/types/Aspect.js +41 -0
  100. package/dist/src/types/Aspect.js.map +1 -0
  101. package/dist/src/types/Calculation.d.ts +35 -0
  102. package/dist/src/types/Calculation.d.ts.map +1 -1
  103. package/dist/src/types/CalculationContext.d.ts +17 -0
  104. package/dist/src/types/CalculationContext.d.ts.map +1 -0
  105. package/dist/src/types/CalculationContext.js +34 -0
  106. package/dist/src/types/CalculationContext.js.map +1 -0
  107. package/dist/src/types/CertificateTemplate.d.ts +46 -0
  108. package/dist/src/types/CertificateTemplate.d.ts.map +1 -0
  109. package/dist/src/types/CertificateTemplate.js +46 -0
  110. package/dist/src/types/CertificateTemplate.js.map +1 -0
  111. package/dist/src/types/CommonTestCondition.d.ts +15 -0
  112. package/dist/src/types/CommonTestCondition.d.ts.map +1 -0
  113. package/dist/src/types/CommonTestCondition.js +22 -0
  114. package/dist/src/types/CommonTestCondition.js.map +1 -0
  115. package/dist/src/types/EvaluationDimension.d.ts +32 -0
  116. package/dist/src/types/EvaluationDimension.d.ts.map +1 -0
  117. package/dist/src/types/EvaluationDimension.js +38 -0
  118. package/dist/src/types/EvaluationDimension.js.map +1 -0
  119. package/dist/src/types/EvaluationProfile.d.ts +10 -0
  120. package/dist/src/types/EvaluationProfile.d.ts.map +1 -0
  121. package/dist/src/types/EvaluationProfile.js +25 -0
  122. package/dist/src/types/EvaluationProfile.js.map +1 -0
  123. package/dist/src/types/IdentitySlot.d.ts +24 -0
  124. package/dist/src/types/IdentitySlot.d.ts.map +1 -0
  125. package/dist/src/types/IdentitySlot.js +34 -0
  126. package/dist/src/types/IdentitySlot.js.map +1 -0
  127. package/dist/src/types/PartAnnex.d.ts +18 -0
  128. package/dist/src/types/PartAnnex.d.ts.map +1 -0
  129. package/dist/src/types/PartAnnex.js +29 -0
  130. package/dist/src/types/PartAnnex.js.map +1 -0
  131. package/dist/src/types/PromiseSet.d.ts +8 -0
  132. package/dist/src/types/PromiseSet.d.ts.map +1 -0
  133. package/dist/src/types/PromiseSet.js +35 -0
  134. package/dist/src/types/PromiseSet.js.map +1 -0
  135. package/dist/src/types/SelectionRules.d.ts +73 -0
  136. package/dist/src/types/SelectionRules.d.ts.map +1 -0
  137. package/dist/src/types/SelectionRules.js +55 -0
  138. package/dist/src/types/SelectionRules.js.map +1 -0
  139. package/dist/src/types/Standard.d.ts +73 -0
  140. package/dist/src/types/Standard.d.ts.map +1 -1
  141. package/dist/src/types/Storyline.d.ts +62 -0
  142. package/dist/src/types/Storyline.d.ts.map +1 -0
  143. package/dist/src/types/Storyline.js +51 -0
  144. package/dist/src/types/Storyline.js.map +1 -0
  145. package/dist/src/types/Subject.d.ts +64 -1
  146. package/dist/src/types/Subject.d.ts.map +1 -1
  147. package/dist/src/types/Symbol.d.ts +17 -0
  148. package/dist/src/types/Symbol.d.ts.map +1 -1
  149. package/dist/src/types/TestReport.d.ts +71 -0
  150. package/dist/src/types/TestReport.d.ts.map +1 -0
  151. package/dist/src/types/TestReport.js +73 -0
  152. package/dist/src/types/TestReport.js.map +1 -0
  153. package/dist/src/types/VerificationPathway.d.ts +63 -0
  154. package/dist/src/types/VerificationPathway.d.ts.map +1 -0
  155. package/dist/src/types/VerificationPathway.js +56 -0
  156. package/dist/src/types/VerificationPathway.js.map +1 -0
  157. package/dist/src/types/WorkflowConfig.d.ts +34 -0
  158. package/dist/src/types/WorkflowConfig.d.ts.map +1 -0
  159. package/dist/src/types/WorkflowConfig.js +47 -0
  160. package/dist/src/types/WorkflowConfig.js.map +1 -0
  161. package/dist-browser/index.mjs +2391 -934
  162. package/dist-cli/primmel.mjs +9364 -5469
  163. package/package.json +1 -1
@@ -0,0 +1,71 @@
1
+ import type { ApplicabilityEntry } from './Form';
2
+ /** One form entry of a skeleton section (or subsection). */
3
+ export interface TestReportFormEntry {
4
+ /** The form construct id (e.g. r60-3/sec-4.1 — C140). */
5
+ id: string;
6
+ /** The generated-file stem — NOT derivable from the id. */
7
+ file: string;
8
+ title: string;
9
+ /** The binding conformance_test id ('' when unstated — C140). */
10
+ conformanceTest: string;
11
+ /** The binding requirement ids (C140). */
12
+ requirements: string[];
13
+ /** always | conditional (parse-enforced; '' when unstated). */
14
+ required: string;
15
+ /** The conditional-inclusion rule ([] when unconditional). */
16
+ applicability: ApplicabilityEntry[];
17
+ /** The documentary note ('' when unstated). */
18
+ notes: string;
19
+ }
20
+ /** A titled subsection of a skeleton section. */
21
+ export interface TestReportSubsection {
22
+ /** The subsection title (the heading — subsections carry no id). */
23
+ title: string;
24
+ description: string;
25
+ applicability: ApplicabilityEntry[];
26
+ forms: TestReportFormEntry[];
27
+ }
28
+ /** A clause-keyed skeleton section. */
29
+ export interface TestReportSection {
30
+ /** The clause token (e.g. `4`). */
31
+ id: string;
32
+ title: string;
33
+ description: string;
34
+ forms: TestReportFormEntry[];
35
+ subsections: TestReportSubsection[];
36
+ }
37
+ export interface TestReportSkeleton {
38
+ /** e.g. `r60-3/test-report`. */
39
+ id: string;
40
+ title: string;
41
+ description: string;
42
+ /** The documentary note ('' when unstated — the r91 stub's facet). */
43
+ note: string;
44
+ sections: TestReportSection[];
45
+ }
46
+ /** One checklist entry. Every facet is NULL when unstated (never '')
47
+ * — the overlay deep merge reads null as "the overlay does not name
48
+ * this key" and keeps the base value. */
49
+ export interface TestReportChecklistEntry {
50
+ id: string;
51
+ /** The PD-05 element letter (a–r today; C141 warns outside — the
52
+ * element count can grow). */
53
+ element: string | null;
54
+ description: string | null;
55
+ /** shall | may (parse-enforced when present). */
56
+ obligation: string | null;
57
+ /** The note qualifying the description (the may-entry's). */
58
+ descriptionNote: string | null;
59
+ /** The engine-expression source — documentary, never resolved. */
60
+ source: string | null;
61
+ /** The engine-expression validation — documentary, never resolved. */
62
+ validation: string | null;
63
+ }
64
+ export interface TestReportChecklist {
65
+ /** e.g. `oiml-cs-trf`. */
66
+ id: string;
67
+ /** The deep-merge overlay marker (B3.1; consumed by composition). */
68
+ overlay: boolean;
69
+ entries: TestReportChecklistEntry[];
70
+ }
71
+ //# sourceMappingURL=TestReport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestReport.d.ts","sourceRoot":"","sources":["../../../src/types/TestReport.ts"],"names":[],"mappings":"AAuEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAEjD,4DAA4D;AAC5D,MAAM,WAAW,mBAAmB;IAClC,yDAAyD;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,eAAe,EAAE,MAAM,CAAC;IACxB,0CAA0C;IAC1C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,aAAa,EAAE,kBAAkB,EAAE,CAAC;IACpC,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,iDAAiD;AACjD,MAAM,WAAW,oBAAoB;IACnC,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,kBAAkB,EAAE,CAAC;IACpC,KAAK,EAAE,mBAAmB,EAAE,CAAC;CAC9B;AAED,uCAAuC;AACvC,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,WAAW,EAAE,oBAAoB,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,kBAAkB;IACjC,gCAAgC;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAED;;0CAE0C;AAC1C,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX;mCAC+B;IAC/B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iDAAiD;IACjD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,6DAA6D;IAC7D,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kEAAkE;IAClE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,sEAAsE;IACtE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,0BAA0B;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,qEAAqE;IACrE,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,wBAAwB,EAAE,CAAC;CACrC"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ // ─────────────────────────────────────────────────────────────────────
3
+ // The test-report skeleton + the OIML-CS test-report checklist (smart
4
+ // TODO.roadmap/40 batch 3; the packages-as-SSOT epic) — two constructs,
5
+ // one file (the schemeType.ts precedent).
6
+ //
7
+ // The skeleton is the rec's evaluation-report structure — sections by
8
+ // clause, forms (the entry id IS the form construct id), and
9
+ // subsections:
10
+ //
11
+ // test_report_skeleton r60-3/test-report {
12
+ // title "OIML R 60 Type Evaluation Report"
13
+ // description "…"
14
+ // note "…" # optional (the r91 stub)
15
+ // section 4 { # the clause token
16
+ // title "Evaluation Report"
17
+ // description "…"
18
+ // form r60-3/sec-4.1 { # id = the form construct (C140)
19
+ // file "04-01-authority-info" # the generated-file stem — NOT derivable from the id
20
+ // title "Issuing Authority"
21
+ // required always # always|conditional (parse-enforced)
22
+ // }
23
+ // form r60-3/sec-4.3.2-b {
24
+ // file "04-03-02-b-performance-digital"
25
+ // title "Summary of Performance Test Results (Digital)"
26
+ // required conditional # ⇒ applicability or notes (C140, warning)
27
+ // applicability { technology: [digital, digital-with-processing] }
28
+ // }
29
+ // subsection "Base Metrological Tests" {
30
+ // description "…"
31
+ // form r60-3/table-6.5 {
32
+ // file "load-cell-errors"
33
+ // title "…"
34
+ // conformance_test /conf/metrological-tests/measurement-error-repeatability-mdlo
35
+ // requirements { /req/metrological/mpe }
36
+ // required always
37
+ // }
38
+ // }
39
+ // }
40
+ // }
41
+ //
42
+ // The checklist is PD-05 §4.4.3's 18-element (a–r) required-content
43
+ // register, single-sourced in the oiml-cs package with the rec packages
44
+ // overlaying the four composition-point entries' rec-bound
45
+ // source/validation strings (the B3.1 deep merge — entry scalars land
46
+ // in place, the base order survives):
47
+ //
48
+ // test_report_checklist oiml-cs-trf { # the oiml-cs package
49
+ // entry sample_identification {
50
+ // element "h"
51
+ // description "Specific samples tested, including their identification"
52
+ // obligation shall # shall|may (parse-enforced)
53
+ // }
54
+ // }
55
+ // # a rec package:
56
+ // test_report_checklist oiml-cs-trf {
57
+ // overlay true
58
+ // entry sample_identification { validation "form_contains('04-07-sample-selection')" }
59
+ // }
60
+ //
61
+ // C140 test-report-skeleton-references: the form entry id → the form
62
+ // construct, conformance_test → conformance_test, requirements →
63
+ // requirement (all per-register gated — the smart R29/R35 mirrors);
64
+ // required conditional ⇒ applicability or notes present (warning).
65
+ // C141 checklist-entry-shape: the element letter ∈ a–r (check-time
66
+ // WARNING — PD-05's element count can grow), the entry ids unique per
67
+ // checklist, and an overlay entry must name an upstream entry id (the
68
+ // orphan-overlay error — the census's R2 residue failure mode). The
69
+ // source/validation strings are engine expressions — documentary,
70
+ // never resolved.
71
+ // ─────────────────────────────────────────────────────────────────────
72
+ Object.defineProperty(exports, "__esModule", { value: true });
73
+ //# sourceMappingURL=TestReport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestReport.js","sourceRoot":"","sources":["../../../src/types/TestReport.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,sEAAsE;AACtE,wEAAwE;AACxE,0CAA0C;AAC1C,EAAE;AACF,sEAAsE;AACtE,6DAA6D;AAC7D,eAAe;AACf,EAAE;AACF,6CAA6C;AAC7C,+CAA+C;AAC/C,sBAAsB;AACtB,qEAAqE;AACrE,8DAA8D;AAC9D,kCAAkC;AAClC,wBAAwB;AACxB,4EAA4E;AAC5E,iGAAiG;AACjG,oCAAoC;AACpC,iFAAiF;AACjF,UAAU;AACV,iCAAiC;AACjC,gDAAgD;AAChD,gEAAgE;AAChE,sFAAsF;AACtF,2EAA2E;AAC3E,UAAU;AACV,+CAA+C;AAC/C,0BAA0B;AAC1B,iCAAiC;AACjC,oCAAoC;AACpC,sBAAsB;AACtB,2FAA2F;AAC3F,mDAAmD;AACnD,4BAA4B;AAC5B,YAAY;AACZ,UAAU;AACV,QAAQ;AACR,MAAM;AACN,EAAE;AACF,oEAAoE;AACpE,wEAAwE;AACxE,2DAA2D;AAC3D,sEAAsE;AACtE,sCAAsC;AACtC,EAAE;AACF,iEAAiE;AACjE,oCAAoC;AACpC,oBAAoB;AACpB,8EAA8E;AAC9E,wEAAwE;AACxE,QAAQ;AACR,MAAM;AACN,qBAAqB;AACrB,wCAAwC;AACxC,mBAAmB;AACnB,2FAA2F;AAC3F,MAAM;AACN,EAAE;AACF,qEAAqE;AACrE,iEAAiE;AACjE,oEAAoE;AACpE,mEAAmE;AACnE,mEAAmE;AACnE,sEAAsE;AACtE,sEAAsE;AACtE,oEAAoE;AACpE,kEAAkE;AAClE,kBAAkB;AAClB,wEAAwE"}
@@ -0,0 +1,63 @@
1
+ import type { ApplicabilityEntry } from './Form';
2
+ import type { SourceRef } from './Subject';
3
+ /** The validity window (the scheme_lifecycle window sub-grammar). */
4
+ export interface VerificationWindow {
5
+ years: number;
6
+ months: number;
7
+ }
8
+ /** One re-verification trigger. */
9
+ export interface VerificationTrigger {
10
+ id: string;
11
+ /** timer | signal (parse-enforced; '' when unstated). */
12
+ kind: string;
13
+ /** The out-of-cycle signal event — required iff kind signal (C138). */
14
+ event: string;
15
+ /** The lifecycle state-machine transition action (C138, gated). */
16
+ action: string;
17
+ /** The dimension applicability ([] = unconditional). */
18
+ applicability: ApplicabilityEntry[];
19
+ description: string;
20
+ source: SourceRef | null;
21
+ }
22
+ /** One verification mark. */
23
+ export interface VerificationMark {
24
+ id: string;
25
+ mark: string;
26
+ location: string;
27
+ clause: string;
28
+ }
29
+ export default interface VerificationPathway {
30
+ /** e.g. `initial-verification`. */
31
+ id: string;
32
+ /** initial | subsequent | periodic | in-service (parse-enforced). */
33
+ kind: string;
34
+ label: string;
35
+ description: string;
36
+ /** The pre-test visual inspection prose ('' when unstated). */
37
+ visualInspection: string;
38
+ /** The per-kind test set — conformance_test ids. */
39
+ tests: string[];
40
+ /** The conformity-assessment scope (null when unstated). */
41
+ assessment: {
42
+ covers: string[];
43
+ description: string;
44
+ } | null;
45
+ /** The limits mode block (null when unstated). */
46
+ limits: {
47
+ mode: string;
48
+ description: string;
49
+ source: SourceRef | null;
50
+ } | null;
51
+ /** The marking block (null when unstated). */
52
+ marking: {
53
+ marks: VerificationMark[];
54
+ securing: string[];
55
+ } | null;
56
+ /** The validity block (null when unstated). */
57
+ validity: {
58
+ window: VerificationWindow | null;
59
+ triggers: VerificationTrigger[];
60
+ } | null;
61
+ source: SourceRef | null;
62
+ }
63
+ //# sourceMappingURL=VerificationPathway.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VerificationPathway.d.ts","sourceRoot":"","sources":["../../../src/types/VerificationPathway.ts"],"names":[],"mappings":"AAsDA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,qEAAqE;AACrE,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,mCAAmC;AACnC,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,aAAa,EAAE,kBAAkB,EAAE,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;CAC1B;AAED,6BAA6B;AAC7B,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,CAAC,OAAO,WAAW,mBAAmB;IAC1C,mCAAmC;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,gBAAgB,EAAE,MAAM,CAAC;IACzB,oDAAoD;IACpD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,4DAA4D;IAC5D,UAAU,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7D,kDAAkD;IAClD,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;KAC1B,GAAG,IAAI,CAAC;IACT,8CAA8C;IAC9C,OAAO,EAAE;QAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IAClE,+CAA+C;IAC/C,QAAQ,EAAE;QACR,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;QAClC,QAAQ,EAAE,mBAAmB,EAAE,CAAC;KACjC,GAAG,IAAI,CAAC;IACT,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;CAC1B"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ // ─────────────────────────────────────────────────────────────────────
3
+ // The verification pathway (smart TODO.roadmap/40 batch 3; the
4
+ // packages-as-SSOT epic) — the metrological-control pathways beyond
5
+ // type evaluation (OIML V 1:2022, 2.09 verification; 2.12 initial /
6
+ // 2.13 subsequent / 2.14 mandatory periodic; the in-service inspection
7
+ // kind is the Recommendation's own): the per-kind test set REUSING the
8
+ // conformance machinery, the assessment scope, the limits mode, the
9
+ // marking/securing applied after a pass, and the validity window with
10
+ // its re-verification triggers bound to lifecycle state-machine
11
+ // actions:
12
+ //
13
+ // verification_pathway initial-verification {
14
+ // kind initial # initial|subsequent|periodic|in-service (parse-enforced)
15
+ // label "Initial verification"
16
+ // description "…"
17
+ // visual_inspection "…" # optional
18
+ // tests { /conf/field/stationary-field-test … } # → conformance_test (C138)
19
+ // assessment {
20
+ // covers { /req/metrological/mpe-stationary … } # → requirement (C138)
21
+ // description "…"
22
+ // }
23
+ // limits {
24
+ // mode same-as-type-evaluation # same-as-type-evaluation|override (parse-enforced)
25
+ // description "…"
26
+ // source { doc "urn:oiml:pub:r:91-1:2025" clause "8.2.3" }
27
+ // }
28
+ // marking {
29
+ // mark verification-mark { mark "verification mark" location "…" clause "8.2.4" }
30
+ // securing { "sealing of adjustment means (7.13 a)" "…" }
31
+ // }
32
+ // validity {
33
+ // window { years 1 } # the scheme_lifecycle window sub-grammar (≥1 of years/months — C138)
34
+ // trigger validity-elapsed { kind timer action validity_elapsed description "…" }
35
+ // trigger tyre-change {
36
+ // kind signal # timer|signal (parse-enforced)
37
+ // event tyre-change # required iff kind signal (C138)
38
+ // action invalidating_signal_received # → a lifecycle state_machine transition action (C138, gated)
39
+ // applicability { mode_of_use: [moving] }
40
+ // source { doc "urn:oiml:pub:r:91-1:2025" clause "6.15.3 Note 2" }
41
+ // }
42
+ // }
43
+ // source { doc "urn:oiml:pub:r:91-1:2025" clause "8.2" }
44
+ // }
45
+ //
46
+ // The YAML `reference:` facet is DROPPED (derivable from `source` — the
47
+ // Batch-2 decision on abstract processes).
48
+ //
49
+ // C138 verification-pathway-references: tests → conformance_test,
50
+ // covers → requirement (per-register gated), the trigger action → a
51
+ // transition action of an in-scope lifecycle state_machine (the R22
52
+ // mirror), event required iff kind signal, the window carries ≥1 of
53
+ // years/months.
54
+ // ─────────────────────────────────────────────────────────────────────
55
+ Object.defineProperty(exports, "__esModule", { value: true });
56
+ //# sourceMappingURL=VerificationPathway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VerificationPathway.js","sourceRoot":"","sources":["../../../src/types/VerificationPathway.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,+DAA+D;AAC/D,oEAAoE;AACpE,oEAAoE;AACpE,uEAAuE;AACvE,uEAAuE;AACvE,oEAAoE;AACpE,sEAAsE;AACtE,gEAAgE;AAChE,WAAW;AACX,EAAE;AACF,gDAAgD;AAChD,kGAAkG;AAClG,mCAAmC;AACnC,sBAAsB;AACtB,mDAAmD;AACnD,kFAAkF;AAClF,mBAAmB;AACnB,6EAA6E;AAC7E,wBAAwB;AACxB,QAAQ;AACR,eAAe;AACf,4FAA4F;AAC5F,wBAAwB;AACxB,iEAAiE;AACjE,QAAQ;AACR,gBAAgB;AAChB,wFAAwF;AACxF,gEAAgE;AAChE,QAAQ;AACR,iBAAiB;AACjB,8GAA8G;AAC9G,wFAAwF;AACxF,8BAA8B;AAC9B,wEAAwE;AACxE,0EAA0E;AAC1E,8GAA8G;AAC9G,kDAAkD;AAClD,2EAA2E;AAC3E,UAAU;AACV,QAAQ;AACR,6DAA6D;AAC7D,MAAM;AACN,EAAE;AACF,wEAAwE;AACxE,2CAA2C;AAC3C,EAAE;AACF,kEAAkE;AAClE,oEAAoE;AACpE,oEAAoE;AACpE,oEAAoE;AACpE,gBAAgB;AAChB,wEAAwE"}
@@ -0,0 +1,34 @@
1
+ /** One workflow step. The optional scalar facets are NULL when
2
+ * unstated (never '') — the overlay deep merge reads null as "the
3
+ * overlay does not name this key" and keeps the base value. */
4
+ export interface WorkflowStep {
5
+ /** The step id. */
6
+ id: string;
7
+ /** intake | dispatch | testing | evaluation | issuance
8
+ * (parse-enforced; null when an overlay entry restates none). */
9
+ phase: string | null;
10
+ /** The owning role id (snake_case; resolves against the role
11
+ * register — C137; null when unstated). */
12
+ actor: string | null;
13
+ /** The UI label (null when unstated). */
14
+ label: string | null;
15
+ /** The prose description (null when unstated). */
16
+ description: string | null;
17
+ /** The data-class ids (or documentary composite strings) the step
18
+ * reads ([] appends nothing under the overlay merge). */
19
+ inputs: string[];
20
+ /** The data-class ids (or documentary composite strings) the step
21
+ * produces ([] appends nothing under the overlay merge). */
22
+ outputs: string[];
23
+ /** The gate predicates — prose, never resolved (C137). */
24
+ gates: string[];
25
+ }
26
+ export default interface WorkflowConfig {
27
+ /** Conventionally `certification` (singleton per layer). */
28
+ id: string;
29
+ /** The deep-merge overlay marker (B3.1; consumed by composition). */
30
+ overlay: boolean;
31
+ /** The steps, in declared order. */
32
+ steps: WorkflowStep[];
33
+ }
34
+ //# sourceMappingURL=WorkflowConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowConfig.d.ts","sourceRoot":"","sources":["../../../src/types/WorkflowConfig.ts"],"names":[],"mappings":"AA6CA;;gEAEgE;AAChE,MAAM,WAAW,YAAY;IAC3B,mBAAmB;IACnB,EAAE,EAAE,MAAM,CAAC;IACX;sEACkE;IAClE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;gDAC4C;IAC5C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,yCAAyC;IACzC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,kDAAkD;IAClD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;8DAC0D;IAC1D,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;iEAC6D;IAC7D,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,0DAA0D;IAC1D,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,CAAC,OAAO,WAAW,cAAc;IACrC,4DAA4D;IAC5D,EAAE,EAAE,MAAM,CAAC;IACX,qEAAqE;IACrE,OAAO,EAAE,OAAO,CAAC;IACjB,oCAAoC;IACpC,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ // ─────────────────────────────────────────────────────────────────────
3
+ // The workflow config (smart TODO.roadmap/40 batch 3; the
4
+ // packages-as-SSOT epic) — the rec's certification workflow as a
5
+ // register of steps with explicit actor handoffs (smart's
6
+ // workflow.service.ts gating), a different thing from the
7
+ // `process`/`process_model` abstract-process machinery and from
8
+ // `state_machine` lifecycles:
9
+ //
10
+ // workflow_config certification { # singleton per layer
11
+ // step application {
12
+ // phase intake # intake|dispatch|testing|evaluation|issuance (parse-enforced)
13
+ // actor applicant # → role register (C137)
14
+ // label "Type Evaluation Application"
15
+ // description "…"
16
+ // inputs { applicant_info model_family_matrix documentation }
17
+ // outputs { Application }
18
+ // gates { "Application.status = SUBMITTED" "…" }
19
+ // }
20
+ // …
21
+ // }
22
+ //
23
+ // # a rec package overlays the core skeleton:
24
+ // workflow_config certification {
25
+ // overlay true # the deep-merge marker (B3.1)
26
+ // step test-request-dispatch {
27
+ // gates { "Each TestRequest.required_forms subset of R 60-3 form identifiers" }
28
+ // }
29
+ // }
30
+ //
31
+ // The OVERLAY composition is the point: the core layer carries the
32
+ // 5-step OIML-CS skeleton and each rec package appends its bound gate
33
+ // criteria — `workflowConfigs` rides OVERLAY_DEEP_MERGE_FIELDS, so an
34
+ // overlay-marked entry merges FIELD-WISE (steps union by id preserving
35
+ // first-seen order, gates append as a union, scalars override), the
36
+ // smart layer-composer's contract.
37
+ //
38
+ // C137 workflow-config-references: `actor` resolves against the role
39
+ // register (per-register gated; role ids are snake_case — the YAML
40
+ // hyphenation is the emitter's); `inputs`/`outputs` entries resolve
41
+ // against the data-class register ONLY when the entry is a single clean
42
+ // token (composite strings like "TestReport containing FormInstance"
43
+ // stay documentary — skipped, never errored); `gates` are prose
44
+ // predicates — never resolved (the R26 field-resolution precedent).
45
+ // ─────────────────────────────────────────────────────────────────────
46
+ Object.defineProperty(exports, "__esModule", { value: true });
47
+ //# sourceMappingURL=WorkflowConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowConfig.js","sourceRoot":"","sources":["../../../src/types/WorkflowConfig.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,0DAA0D;AAC1D,iEAAiE;AACjE,0DAA0D;AAC1D,0DAA0D;AAC1D,gEAAgE;AAChE,8BAA8B;AAC9B,EAAE;AACF,iEAAiE;AACjE,yBAAyB;AACzB,0GAA0G;AAC1G,oEAAoE;AACpE,4CAA4C;AAC5C,wBAAwB;AACxB,oEAAoE;AACpE,gCAAgC;AAChC,uDAAuD;AACvD,QAAQ;AACR,QAAQ;AACR,MAAM;AACN,EAAE;AACF,gDAAgD;AAChD,oCAAoC;AACpC,0EAA0E;AAC1E,mCAAmC;AACnC,sFAAsF;AACtF,QAAQ;AACR,MAAM;AACN,EAAE;AACF,mEAAmE;AACnE,sEAAsE;AACtE,sEAAsE;AACtE,uEAAuE;AACvE,oEAAoE;AACpE,mCAAmC;AACnC,EAAE;AACF,qEAAqE;AACrE,mEAAmE;AACnE,oEAAoE;AACpE,wEAAwE;AACxE,qEAAqE;AACrE,gEAAgE;AAChE,oEAAoE;AACpE,wEAAwE"}