@primmel/primmel 1.3.2 → 1.4.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 (423) hide show
  1. package/dist/index.d.ts +40 -4
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +112 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/check-allowlist.d.ts +56 -0
  6. package/dist/src/check-allowlist.d.ts.map +1 -0
  7. package/dist/src/check-allowlist.js +307 -0
  8. package/dist/src/check-allowlist.js.map +1 -0
  9. package/dist/src/check-rules.d.ts +17 -0
  10. package/dist/src/check-rules.d.ts.map +1 -0
  11. package/dist/src/check-rules.js +351 -0
  12. package/dist/src/check-rules.js.map +1 -0
  13. package/dist/src/check.d.ts +115 -0
  14. package/dist/src/check.d.ts.map +1 -0
  15. package/dist/src/check.js +4164 -0
  16. package/dist/src/check.js.map +1 -0
  17. package/dist/src/export/rdf-competency-questions.d.ts +11 -0
  18. package/dist/src/export/rdf-competency-questions.d.ts.map +1 -0
  19. package/dist/src/export/rdf-competency-questions.js +99 -0
  20. package/dist/src/export/rdf-competency-questions.js.map +1 -0
  21. package/dist/src/export/rdf-shapes.d.ts +3 -0
  22. package/dist/src/export/rdf-shapes.d.ts.map +1 -0
  23. package/dist/src/export/rdf-shapes.js +225 -0
  24. package/dist/src/export/rdf-shapes.js.map +1 -0
  25. package/dist/src/export/rdf-vocabulary.d.ts +125 -0
  26. package/dist/src/export/rdf-vocabulary.d.ts.map +1 -0
  27. package/dist/src/export/rdf-vocabulary.js +230 -0
  28. package/dist/src/export/rdf-vocabulary.js.map +1 -0
  29. package/dist/src/export/rdf.d.ts +92 -0
  30. package/dist/src/export/rdf.d.ts.map +1 -0
  31. package/dist/src/export/rdf.js +707 -0
  32. package/dist/src/export/rdf.js.map +1 -0
  33. package/dist/src/export/reqif.d.ts +81 -0
  34. package/dist/src/export/reqif.d.ts.map +1 -0
  35. package/dist/src/export/reqif.js +703 -0
  36. package/dist/src/export/reqif.js.map +1 -0
  37. package/dist/src/instance-resolution.d.ts +68 -0
  38. package/dist/src/instance-resolution.d.ts.map +1 -0
  39. package/dist/src/instance-resolution.js +239 -0
  40. package/dist/src/instance-resolution.js.map +1 -0
  41. package/dist/src/mapping-coverage.d.ts +220 -0
  42. package/dist/src/mapping-coverage.d.ts.map +1 -0
  43. package/dist/src/mapping-coverage.js +528 -0
  44. package/dist/src/mapping-coverage.js.map +1 -0
  45. package/dist/src/model-diff.d.ts +198 -0
  46. package/dist/src/model-diff.d.ts.map +1 -0
  47. package/dist/src/model-diff.js +914 -0
  48. package/dist/src/model-diff.js.map +1 -0
  49. package/dist/src/operational-state.d.ts +112 -0
  50. package/dist/src/operational-state.d.ts.map +1 -0
  51. package/dist/src/operational-state.js +162 -0
  52. package/dist/src/operational-state.js.map +1 -0
  53. package/dist/src/package-diff.d.ts +36 -0
  54. package/dist/src/package-diff.d.ts.map +1 -0
  55. package/dist/src/package-diff.js +104 -0
  56. package/dist/src/package-diff.js.map +1 -0
  57. package/dist/src/ser-des/config/acceptance.d.ts +10 -0
  58. package/dist/src/ser-des/config/acceptance.d.ts.map +1 -0
  59. package/dist/src/ser-des/config/acceptance.js +163 -0
  60. package/dist/src/ser-des/config/acceptance.js.map +1 -0
  61. package/dist/src/ser-des/config/activityArchetype.d.ts +5 -0
  62. package/dist/src/ser-des/config/activityArchetype.d.ts.map +1 -0
  63. package/dist/src/ser-des/config/activityArchetype.js +78 -0
  64. package/dist/src/ser-des/config/activityArchetype.js.map +1 -0
  65. package/dist/src/ser-des/config/artifact.d.ts +16 -0
  66. package/dist/src/ser-des/config/artifact.d.ts.map +1 -0
  67. package/dist/src/ser-des/config/artifact.js +392 -0
  68. package/dist/src/ser-des/config/artifact.js.map +1 -0
  69. package/dist/src/ser-des/config/calculation.d.ts.map +1 -1
  70. package/dist/src/ser-des/config/calculation.js +214 -12
  71. package/dist/src/ser-des/config/calculation.js.map +1 -1
  72. package/dist/src/ser-des/config/comment.d.ts +34 -0
  73. package/dist/src/ser-des/config/comment.d.ts.map +1 -0
  74. package/dist/src/ser-des/config/comment.js +121 -0
  75. package/dist/src/ser-des/config/comment.js.map +1 -0
  76. package/dist/src/ser-des/config/competenceKind.d.ts +8 -0
  77. package/dist/src/ser-des/config/competenceKind.d.ts.map +1 -0
  78. package/dist/src/ser-des/config/competenceKind.js +266 -0
  79. package/dist/src/ser-des/config/competenceKind.js.map +1 -0
  80. package/dist/src/ser-des/config/composition.d.ts +6 -0
  81. package/dist/src/ser-des/config/composition.d.ts.map +1 -0
  82. package/dist/src/ser-des/config/composition.js +165 -0
  83. package/dist/src/ser-des/config/composition.js.map +1 -0
  84. package/dist/src/ser-des/config/conformanceClass.d.ts +9 -0
  85. package/dist/src/ser-des/config/conformanceClass.d.ts.map +1 -0
  86. package/dist/src/ser-des/config/conformanceClass.js +128 -0
  87. package/dist/src/ser-des/config/conformanceClass.js.map +1 -0
  88. package/dist/src/ser-des/config/conformanceTest.d.ts +6 -0
  89. package/dist/src/ser-des/config/conformanceTest.d.ts.map +1 -0
  90. package/dist/src/ser-des/config/conformanceTest.js +929 -0
  91. package/dist/src/ser-des/config/conformanceTest.js.map +1 -0
  92. package/dist/src/ser-des/config/constraint.d.ts +5 -0
  93. package/dist/src/ser-des/config/constraint.d.ts.map +1 -0
  94. package/dist/src/ser-des/config/constraint.js +108 -0
  95. package/dist/src/ser-des/config/constraint.js.map +1 -0
  96. package/dist/src/ser-des/config/data.d.ts.map +1 -1
  97. package/dist/src/ser-des/config/data.js +105 -12
  98. package/dist/src/ser-des/config/data.js.map +1 -1
  99. package/dist/src/ser-des/config/design.d.ts +9 -0
  100. package/dist/src/ser-des/config/design.d.ts.map +1 -0
  101. package/dist/src/ser-des/config/design.js +847 -0
  102. package/dist/src/ser-des/config/design.js.map +1 -0
  103. package/dist/src/ser-des/config/discrepancyRecord.d.ts +5 -0
  104. package/dist/src/ser-des/config/discrepancyRecord.d.ts.map +1 -0
  105. package/dist/src/ser-des/config/discrepancyRecord.js +109 -0
  106. package/dist/src/ser-des/config/discrepancyRecord.js.map +1 -0
  107. package/dist/src/ser-des/config/dual.d.ts +9 -0
  108. package/dist/src/ser-des/config/dual.d.ts.map +1 -0
  109. package/dist/src/ser-des/config/dual.js +84 -0
  110. package/dist/src/ser-des/config/dual.js.map +1 -0
  111. package/dist/src/ser-des/config/field-parser.d.ts +92 -7
  112. package/dist/src/ser-des/config/field-parser.d.ts.map +1 -1
  113. package/dist/src/ser-des/config/field-parser.js +832 -29
  114. package/dist/src/ser-des/config/field-parser.js.map +1 -1
  115. package/dist/src/ser-des/config/form.d.ts.map +1 -1
  116. package/dist/src/ser-des/config/form.js +355 -134
  117. package/dist/src/ser-des/config/form.js.map +1 -1
  118. package/dist/src/ser-des/config/formulasUsed.d.ts +9 -0
  119. package/dist/src/ser-des/config/formulasUsed.d.ts.map +1 -0
  120. package/dist/src/ser-des/config/formulasUsed.js +126 -0
  121. package/dist/src/ser-des/config/formulasUsed.js.map +1 -0
  122. package/dist/src/ser-des/config/index.d.ts.map +1 -1
  123. package/dist/src/ser-des/config/index.js +180 -1
  124. package/dist/src/ser-des/config/index.js.map +1 -1
  125. package/dist/src/ser-des/config/instance.d.ts +22 -0
  126. package/dist/src/ser-des/config/instance.d.ts.map +1 -0
  127. package/dist/src/ser-des/config/instance.js +266 -0
  128. package/dist/src/ser-des/config/instance.js.map +1 -0
  129. package/dist/src/ser-des/config/invariant.d.ts +9 -0
  130. package/dist/src/ser-des/config/invariant.d.ts.map +1 -0
  131. package/dist/src/ser-des/config/invariant.js +143 -0
  132. package/dist/src/ser-des/config/invariant.js.map +1 -0
  133. package/dist/src/ser-des/config/mapProfile.d.ts.map +1 -1
  134. package/dist/src/ser-des/config/mapProfile.js +199 -14
  135. package/dist/src/ser-des/config/mapProfile.js.map +1 -1
  136. package/dist/src/ser-des/config/metadata.js +6 -6
  137. package/dist/src/ser-des/config/metadata.js.map +1 -1
  138. package/dist/src/ser-des/config/monitor.d.ts +9 -0
  139. package/dist/src/ser-des/config/monitor.d.ts.map +1 -0
  140. package/dist/src/ser-des/config/monitor.js +322 -0
  141. package/dist/src/ser-des/config/monitor.js.map +1 -0
  142. package/dist/src/ser-des/config/note.d.ts.map +1 -1
  143. package/dist/src/ser-des/config/note.js +16 -1
  144. package/dist/src/ser-des/config/note.js.map +1 -1
  145. package/dist/src/ser-des/config/packageManifest.d.ts +5 -0
  146. package/dist/src/ser-des/config/packageManifest.d.ts.map +1 -0
  147. package/dist/src/ser-des/config/packageManifest.js +349 -0
  148. package/dist/src/ser-des/config/packageManifest.js.map +1 -0
  149. package/dist/src/ser-des/config/passport.d.ts +9 -0
  150. package/dist/src/ser-des/config/passport.d.ts.map +1 -0
  151. package/dist/src/ser-des/config/passport.js +191 -0
  152. package/dist/src/ser-des/config/passport.js.map +1 -0
  153. package/dist/src/ser-des/config/process.d.ts +5 -3
  154. package/dist/src/ser-des/config/process.d.ts.map +1 -1
  155. package/dist/src/ser-des/config/process.js +915 -8
  156. package/dist/src/ser-des/config/process.js.map +1 -1
  157. package/dist/src/ser-des/config/quantity.d.ts +21 -0
  158. package/dist/src/ser-des/config/quantity.d.ts.map +1 -0
  159. package/dist/src/ser-des/config/quantity.js +114 -0
  160. package/dist/src/ser-des/config/quantity.js.map +1 -0
  161. package/dist/src/ser-des/config/quantityRegister.d.ts +9 -0
  162. package/dist/src/ser-des/config/quantityRegister.d.ts.map +1 -0
  163. package/dist/src/ser-des/config/quantityRegister.js +202 -0
  164. package/dist/src/ser-des/config/quantityRegister.js.map +1 -0
  165. package/dist/src/ser-des/config/reference.d.ts.map +1 -1
  166. package/dist/src/ser-des/config/reference.js +6 -0
  167. package/dist/src/ser-des/config/reference.js.map +1 -1
  168. package/dist/src/ser-des/config/referenceMaterial.d.ts +5 -0
  169. package/dist/src/ser-des/config/referenceMaterial.d.ts.map +1 -0
  170. package/dist/src/ser-des/config/referenceMaterial.js +296 -0
  171. package/dist/src/ser-des/config/referenceMaterial.js.map +1 -0
  172. package/dist/src/ser-des/config/requirement.d.ts +16 -0
  173. package/dist/src/ser-des/config/requirement.d.ts.map +1 -0
  174. package/dist/src/ser-des/config/requirement.js +579 -0
  175. package/dist/src/ser-des/config/requirement.js.map +1 -0
  176. package/dist/src/ser-des/config/role.d.ts.map +1 -1
  177. package/dist/src/ser-des/config/role.js +12 -0
  178. package/dist/src/ser-des/config/role.js.map +1 -1
  179. package/dist/src/ser-des/config/series.d.ts +9 -0
  180. package/dist/src/ser-des/config/series.d.ts.map +1 -0
  181. package/dist/src/ser-des/config/series.js +121 -0
  182. package/dist/src/ser-des/config/series.js.map +1 -0
  183. package/dist/src/ser-des/config/sourceDiscrepancy.d.ts +11 -0
  184. package/dist/src/ser-des/config/sourceDiscrepancy.d.ts.map +1 -0
  185. package/dist/src/ser-des/config/sourceDiscrepancy.js +83 -0
  186. package/dist/src/ser-des/config/sourceDiscrepancy.js.map +1 -0
  187. package/dist/src/ser-des/config/stateMachine.d.ts.map +1 -1
  188. package/dist/src/ser-des/config/stateMachine.js +189 -38
  189. package/dist/src/ser-des/config/stateMachine.js.map +1 -1
  190. package/dist/src/ser-des/config/subform.d.ts.map +1 -1
  191. package/dist/src/ser-des/config/subform.js +25 -33
  192. package/dist/src/ser-des/config/subform.js.map +1 -1
  193. package/dist/src/ser-des/config/subject.d.ts +58 -0
  194. package/dist/src/ser-des/config/subject.d.ts.map +1 -0
  195. package/dist/src/ser-des/config/subject.js +2093 -0
  196. package/dist/src/ser-des/config/subject.js.map +1 -0
  197. package/dist/src/ser-des/config/symbol.d.ts.map +1 -1
  198. package/dist/src/ser-des/config/symbol.js +130 -6
  199. package/dist/src/ser-des/config/symbol.js.map +1 -1
  200. package/dist/src/ser-des/config/table.d.ts.map +1 -1
  201. package/dist/src/ser-des/config/table.js +373 -7
  202. package/dist/src/ser-des/config/table.js.map +1 -1
  203. package/dist/src/ser-des/config/term.d.ts.map +1 -1
  204. package/dist/src/ser-des/config/term.js +107 -0
  205. package/dist/src/ser-des/config/term.js.map +1 -1
  206. package/dist/src/ser-des/config/testPointSet.d.ts +5 -0
  207. package/dist/src/ser-des/config/testPointSet.d.ts.map +1 -0
  208. package/dist/src/ser-des/config/testPointSet.js +199 -0
  209. package/dist/src/ser-des/config/testPointSet.js.map +1 -0
  210. package/dist/src/ser-des/config/testSequence.d.ts +9 -0
  211. package/dist/src/ser-des/config/testSequence.d.ts.map +1 -0
  212. package/dist/src/ser-des/config/testSequence.js +206 -0
  213. package/dist/src/ser-des/config/testSequence.js.map +1 -0
  214. package/dist/src/ser-des/config/text.d.ts +5 -0
  215. package/dist/src/ser-des/config/text.d.ts.map +1 -0
  216. package/dist/src/ser-des/config/text.js +106 -0
  217. package/dist/src/ser-des/config/text.js.map +1 -0
  218. package/dist/src/ser-des/config/twin.d.ts +31 -0
  219. package/dist/src/ser-des/config/twin.d.ts.map +1 -0
  220. package/dist/src/ser-des/config/twin.js +362 -0
  221. package/dist/src/ser-des/config/twin.js.map +1 -0
  222. package/dist/src/ser-des/config/verdict.d.ts +5 -0
  223. package/dist/src/ser-des/config/verdict.d.ts.map +1 -0
  224. package/dist/src/ser-des/config/verdict.js +159 -0
  225. package/dist/src/ser-des/config/verdict.js.map +1 -0
  226. package/dist/src/ser-des/config/viewProfile.d.ts.map +1 -1
  227. package/dist/src/ser-des/config/viewProfile.js +7 -0
  228. package/dist/src/ser-des/config/viewProfile.js.map +1 -1
  229. package/dist/src/ser-des/includes.d.ts.map +1 -1
  230. package/dist/src/ser-des/includes.js +5 -2
  231. package/dist/src/ser-des/includes.js.map +1 -1
  232. package/dist/src/ser-des/index.d.ts +12 -0
  233. package/dist/src/ser-des/index.d.ts.map +1 -1
  234. package/dist/src/ser-des/index.js +42 -0
  235. package/dist/src/ser-des/index.js.map +1 -1
  236. package/dist/src/ser-des/package.d.ts +53 -0
  237. package/dist/src/ser-des/package.d.ts.map +1 -0
  238. package/dist/src/ser-des/package.js +404 -0
  239. package/dist/src/ser-des/package.js.map +1 -0
  240. package/dist/src/ser-des/parse-block.d.ts.map +1 -1
  241. package/dist/src/ser-des/parse-block.js +7 -1
  242. package/dist/src/ser-des/parse-block.js.map +1 -1
  243. package/dist/src/ser-des/parse.d.ts.map +1 -1
  244. package/dist/src/ser-des/parse.js +45 -0
  245. package/dist/src/ser-des/parse.js.map +1 -1
  246. package/dist/src/ser-des/prm.d.ts +53 -0
  247. package/dist/src/ser-des/prm.d.ts.map +1 -0
  248. package/dist/src/ser-des/prm.js +257 -0
  249. package/dist/src/ser-des/prm.js.map +1 -0
  250. package/dist/src/ser-des/resolve.d.ts.map +1 -1
  251. package/dist/src/ser-des/resolve.js +1 -0
  252. package/dist/src/ser-des/resolve.js.map +1 -1
  253. package/dist/src/ser-des/tokenize.d.ts +11 -0
  254. package/dist/src/ser-des/tokenize.d.ts.map +1 -1
  255. package/dist/src/ser-des/tokenize.js +28 -1
  256. package/dist/src/ser-des/tokenize.js.map +1 -1
  257. package/dist/src/ser-des/types.d.ts +56 -1
  258. package/dist/src/ser-des/types.d.ts.map +1 -1
  259. package/dist/src/spelling.d.ts +35 -0
  260. package/dist/src/spelling.d.ts.map +1 -0
  261. package/dist/src/spelling.js +140 -0
  262. package/dist/src/spelling.js.map +1 -0
  263. package/dist/src/text-coverage.d.ts +164 -0
  264. package/dist/src/text-coverage.d.ts.map +1 -0
  265. package/dist/src/text-coverage.js +679 -0
  266. package/dist/src/text-coverage.js.map +1 -0
  267. package/dist/src/time.d.ts +55 -0
  268. package/dist/src/time.d.ts.map +1 -0
  269. package/dist/src/time.js +223 -0
  270. package/dist/src/time.js.map +1 -0
  271. package/dist/src/type-expr.d.ts +31 -0
  272. package/dist/src/type-expr.d.ts.map +1 -0
  273. package/dist/src/type-expr.js +110 -0
  274. package/dist/src/type-expr.js.map +1 -0
  275. package/dist/src/types/Acceptance.d.ts +31 -0
  276. package/dist/src/types/Acceptance.d.ts.map +1 -0
  277. package/dist/src/types/Acceptance.js +12 -0
  278. package/dist/src/types/Acceptance.js.map +1 -0
  279. package/dist/src/types/ActivityArchetype.d.ts +14 -0
  280. package/dist/src/types/ActivityArchetype.d.ts.map +1 -0
  281. package/dist/src/types/ActivityArchetype.js +17 -0
  282. package/dist/src/types/ActivityArchetype.js.map +1 -0
  283. package/dist/src/types/Artifact.d.ts +117 -0
  284. package/dist/src/types/Artifact.d.ts.map +1 -0
  285. package/dist/src/types/Artifact.js +35 -0
  286. package/dist/src/types/Artifact.js.map +1 -0
  287. package/dist/src/types/Calculation.d.ts +49 -0
  288. package/dist/src/types/Calculation.d.ts.map +1 -1
  289. package/dist/src/types/Comment.d.ts +23 -0
  290. package/dist/src/types/Comment.d.ts.map +1 -0
  291. package/dist/src/types/Comment.js +3 -0
  292. package/dist/src/types/Comment.js.map +1 -0
  293. package/dist/src/types/CompetenceKind.d.ts +70 -0
  294. package/dist/src/types/CompetenceKind.d.ts.map +1 -0
  295. package/dist/src/types/CompetenceKind.js +3 -0
  296. package/dist/src/types/CompetenceKind.js.map +1 -0
  297. package/dist/src/types/Composition.d.ts +80 -0
  298. package/dist/src/types/Composition.d.ts.map +1 -0
  299. package/dist/src/types/Composition.js +44 -0
  300. package/dist/src/types/Composition.js.map +1 -0
  301. package/dist/src/types/ConformanceClass.d.ts +22 -0
  302. package/dist/src/types/ConformanceClass.d.ts.map +1 -0
  303. package/dist/src/types/ConformanceClass.js +7 -0
  304. package/dist/src/types/ConformanceClass.js.map +1 -0
  305. package/dist/src/types/ConformanceTest.d.ts +206 -0
  306. package/dist/src/types/ConformanceTest.d.ts.map +1 -0
  307. package/dist/src/types/ConformanceTest.js +3 -0
  308. package/dist/src/types/ConformanceTest.js.map +1 -0
  309. package/dist/src/types/Constraint.d.ts +34 -0
  310. package/dist/src/types/Constraint.d.ts.map +1 -0
  311. package/dist/src/types/Constraint.js +3 -0
  312. package/dist/src/types/Constraint.js.map +1 -0
  313. package/dist/src/types/Design.d.ts +147 -0
  314. package/dist/src/types/Design.d.ts.map +1 -0
  315. package/dist/src/types/Design.js +10 -0
  316. package/dist/src/types/Design.js.map +1 -0
  317. package/dist/src/types/DiscrepancyRecord.d.ts +42 -0
  318. package/dist/src/types/DiscrepancyRecord.d.ts.map +1 -0
  319. package/dist/src/types/DiscrepancyRecord.js +3 -0
  320. package/dist/src/types/DiscrepancyRecord.js.map +1 -0
  321. package/dist/src/types/Form.d.ts +127 -1
  322. package/dist/src/types/Form.d.ts.map +1 -1
  323. package/dist/src/types/FormulasUsed.d.ts +95 -0
  324. package/dist/src/types/FormulasUsed.d.ts.map +1 -0
  325. package/dist/src/types/FormulasUsed.js +64 -0
  326. package/dist/src/types/FormulasUsed.js.map +1 -0
  327. package/dist/src/types/Instance.d.ts +105 -0
  328. package/dist/src/types/Instance.d.ts.map +1 -0
  329. package/dist/src/types/Instance.js +40 -0
  330. package/dist/src/types/Instance.js.map +1 -0
  331. package/dist/src/types/Invariant.d.ts +82 -0
  332. package/dist/src/types/Invariant.d.ts.map +1 -0
  333. package/dist/src/types/Invariant.js +50 -0
  334. package/dist/src/types/Invariant.js.map +1 -0
  335. package/dist/src/types/MapProfile.d.ts +36 -1
  336. package/dist/src/types/MapProfile.d.ts.map +1 -1
  337. package/dist/src/types/Monitor.d.ts +144 -0
  338. package/dist/src/types/Monitor.d.ts.map +1 -0
  339. package/dist/src/types/Monitor.js +74 -0
  340. package/dist/src/types/Monitor.js.map +1 -0
  341. package/dist/src/types/Note.d.ts +4 -1
  342. package/dist/src/types/Note.d.ts.map +1 -1
  343. package/dist/src/types/Package.d.ts +161 -0
  344. package/dist/src/types/Package.d.ts.map +1 -0
  345. package/dist/src/types/Package.js +3 -0
  346. package/dist/src/types/Package.js.map +1 -0
  347. package/dist/src/types/Passport.d.ts +125 -0
  348. package/dist/src/types/Passport.d.ts.map +1 -0
  349. package/dist/src/types/Passport.js +84 -0
  350. package/dist/src/types/Passport.js.map +1 -0
  351. package/dist/src/types/Quantity.d.ts +99 -0
  352. package/dist/src/types/Quantity.d.ts.map +1 -0
  353. package/dist/src/types/Quantity.js +24 -0
  354. package/dist/src/types/Quantity.js.map +1 -0
  355. package/dist/src/types/Reference.d.ts +2 -0
  356. package/dist/src/types/Reference.d.ts.map +1 -1
  357. package/dist/src/types/ReferenceMaterial.d.ts +53 -0
  358. package/dist/src/types/ReferenceMaterial.d.ts.map +1 -0
  359. package/dist/src/types/ReferenceMaterial.js +14 -0
  360. package/dist/src/types/ReferenceMaterial.js.map +1 -0
  361. package/dist/src/types/Requirement.d.ts +111 -0
  362. package/dist/src/types/Requirement.d.ts.map +1 -0
  363. package/dist/src/types/Requirement.js +10 -0
  364. package/dist/src/types/Requirement.js.map +1 -0
  365. package/dist/src/types/Role.d.ts +4 -0
  366. package/dist/src/types/Role.d.ts.map +1 -1
  367. package/dist/src/types/Series.d.ts +31 -0
  368. package/dist/src/types/Series.d.ts.map +1 -0
  369. package/dist/src/types/Series.js +14 -0
  370. package/dist/src/types/Series.js.map +1 -0
  371. package/dist/src/types/SourceDiscrepancy.d.ts +21 -0
  372. package/dist/src/types/SourceDiscrepancy.d.ts.map +1 -0
  373. package/dist/src/types/SourceDiscrepancy.js +13 -0
  374. package/dist/src/types/SourceDiscrepancy.js.map +1 -0
  375. package/dist/src/types/Standard.d.ts +68 -0
  376. package/dist/src/types/Standard.d.ts.map +1 -1
  377. package/dist/src/types/StateMachine.d.ts +43 -0
  378. package/dist/src/types/StateMachine.d.ts.map +1 -1
  379. package/dist/src/types/StateMachine.js +7 -0
  380. package/dist/src/types/StateMachine.js.map +1 -1
  381. package/dist/src/types/Subject.d.ts +432 -0
  382. package/dist/src/types/Subject.d.ts.map +1 -0
  383. package/dist/src/types/Subject.js +13 -0
  384. package/dist/src/types/Subject.js.map +1 -0
  385. package/dist/src/types/Symbol.d.ts +31 -1
  386. package/dist/src/types/Symbol.d.ts.map +1 -1
  387. package/dist/src/types/Table.d.ts +43 -0
  388. package/dist/src/types/Table.d.ts.map +1 -1
  389. package/dist/src/types/Term.d.ts +29 -0
  390. package/dist/src/types/Term.d.ts.map +1 -1
  391. package/dist/src/types/TestPointSet.d.ts +33 -0
  392. package/dist/src/types/TestPointSet.d.ts.map +1 -0
  393. package/dist/src/types/TestPointSet.js +11 -0
  394. package/dist/src/types/TestPointSet.js.map +1 -0
  395. package/dist/src/types/TestSequence.d.ts +105 -0
  396. package/dist/src/types/TestSequence.d.ts.map +1 -0
  397. package/dist/src/types/TestSequence.js +65 -0
  398. package/dist/src/types/TestSequence.js.map +1 -0
  399. package/dist/src/types/Text.d.ts +21 -0
  400. package/dist/src/types/Text.d.ts.map +1 -0
  401. package/dist/src/types/Text.js +38 -0
  402. package/dist/src/types/Text.js.map +1 -0
  403. package/dist/src/types/Time.d.ts +43 -0
  404. package/dist/src/types/Time.d.ts.map +1 -0
  405. package/dist/src/types/Time.js +14 -0
  406. package/dist/src/types/Time.js.map +1 -0
  407. package/dist/src/types/Twin.d.ts +155 -0
  408. package/dist/src/types/Twin.d.ts.map +1 -0
  409. package/dist/src/types/Twin.js +102 -0
  410. package/dist/src/types/Twin.js.map +1 -0
  411. package/dist/src/types/Verdict.d.ts +40 -0
  412. package/dist/src/types/Verdict.d.ts.map +1 -0
  413. package/dist/src/types/Verdict.js +14 -0
  414. package/dist/src/types/Verdict.js.map +1 -0
  415. package/dist/src/types/ViewProfile.d.ts +6 -0
  416. package/dist/src/types/ViewProfile.d.ts.map +1 -1
  417. package/dist/src/types/data.d.ts +27 -0
  418. package/dist/src/types/data.d.ts.map +1 -1
  419. package/dist/src/types/process.d.ts +231 -0
  420. package/dist/src/types/process.d.ts.map +1 -1
  421. package/dist-browser/index.mjs +6695 -662
  422. package/dist-cli/primmel.mjs +21453 -0
  423. package/package.json +61 -5
@@ -0,0 +1,155 @@
1
+ /**
2
+ * Twin interface constructs (Primmel v3, TODO.roadmap/32 — doctrine
3
+ * ch. 14 §14.4, concept doc §10.2–10.3): the live twin's integration
4
+ * language.
5
+ *
6
+ * A live twin is a subject instance whose anatomy is SERVED (ch. 14 §14.3):
7
+ * "no new anatomy needed, only plumbing to serve it". Three small
8
+ * primitives, two of which live on the subject anatomy itself:
9
+ *
10
+ * endpoint (IS-level) — the subject's declared API surface, part of the
11
+ * type definition "like a marking or a software identification"
12
+ * (§14.3). Declared inline in the subject's `is { … }` block (§14.11
13
+ * grammar sketch), NOT as a top-level construct: an endpoint is
14
+ * meaningless detached from the subject whose interface it is. Each
15
+ * endpoint declares:
16
+ * operations — { name, kind: query | subscribe | invoke, serves/does
17
+ * refs, payload schema }: query pulls a current value, subscribe
18
+ * pushes on change, invoke triggers a process. Every operation
19
+ * carries a payload schema — a QuantityValue per INV-1, ALWAYS
20
+ * with unit (`1` for dimensionless/state payloads) and timestamp
21
+ * (§14.4; §14.12: "every endpoint operation has an access scope
22
+ * and a payload schema (QuantityValue with timestamp)").
23
+ * access scopes — who may call what: public | registered |
24
+ * authority. Every operation is covered by exactly one scope
25
+ * (linter C62).
26
+ * profile — the connector profile binding the protocol (below).
27
+ *
28
+ * serve (HAS-level) — the binding from an aspect to an operation:
29
+ * `serve <aspect> via <operation> { fresh_within <duration> }`,
30
+ * declared in the subject's `has { … }` block. Freshness is part of
31
+ * the binding (§14.4): "the engine must know how old a value may be
32
+ * before it stops meaning anything" — a live binding without
33
+ * `fresh_within` is an error (§14.12; linter C63). The aspect path
34
+ * uses the task-03 scope vocabulary ([level.]{parameters|
35
+ * classification|test_context}.<key>, plus the reserved `state` /
36
+ * `environmental_context` aspects and bare attribute/characteristic
37
+ * names); the operation resolves against the owning subject's
38
+ * endpoints (linter C60, with unit coherence between the served
39
+ * aspect and the operation's payload).
40
+ *
41
+ * connector_profile (foundations) — the protocol binding registry:
42
+ * the model is protocol-neutral; profiles bind protocols (§14.4).
43
+ * The four standard profiles (rest_json, mqtt, opc_ua, file_drop —
44
+ * BUILTIN_CONNECTOR_PROFILES) are known to the kernel without
45
+ * declaration; packages extend the registry by declaring
46
+ * `connector_profile` constructs (OCP — new profiles are added by
47
+ * declaration, never by kernel edits). An endpoint's `profile`
48
+ * resolves against declared profiles ∪ the built-ins (linter C64).
49
+ *
50
+ * Freshness semantics (§14.5 step 3): served values are timestamped; a
51
+ * stale value degrades the verdict to `indeterminate` — never fail (a
52
+ * network outage is not a metrological event), never a silent pass
53
+ * (silence is not evidence). The runtime half lives in the smart app's
54
+ * verdict service (browser/src/services/verdict.service.ts); the window
55
+ * parser is parseFreshnessWindow in src/time.ts.
56
+ *
57
+ * Maps 1:1 to the OIML SMART domain model layer (data/<rec>/model/
58
+ * twin.yaml): the YAML side carries `endpoints:` / `serves:` registries;
59
+ * the codecs emit/parse the subject blocks (construct-symmetric,
60
+ * TODO.refactor/16).
61
+ */
62
+ /** Operation kinds (§14.4): pull a current value | push on change |
63
+ * trigger a process. */
64
+ export declare const ENDPOINT_OPERATION_KINDS: readonly ["query", "subscribe", "invoke"];
65
+ export type EndpointOperationKind = (typeof ENDPOINT_OPERATION_KINDS)[number];
66
+ /** Access scopes (§14.4): who may call what. */
67
+ export declare const ENDPOINT_ACCESS_SCOPES: readonly ["public", "registered", "authority"];
68
+ export type EndpointAccessScope = (typeof ENDPOINT_ACCESS_SCOPES)[number];
69
+ /**
70
+ * The payload schema of an operation (§14.4): a QuantityValue per INV-1,
71
+ * always with unit and timestamp. `unit` carries the package register's
72
+ * dimensionless unit id (e.g. R 60's `dimensionless` entry) for
73
+ * non-quantity payloads (state reports, diagnostic reports).
74
+ */
75
+ export interface EndpointPayload {
76
+ /** Quantity kind of the served value (mass, state, diagnostic_report, …). */
77
+ quantityKind: string;
78
+ /** Unit id from the package's quantity register; the register's
79
+ * dimensionless id (e.g. `dimensionless`) when the payload is
80
+ * non-quantity. */
81
+ unit: string;
82
+ /** Served values carry timestamps (§14.5) — must be true (C61): a value
83
+ * without a time is not evidence. */
84
+ timestamp: boolean;
85
+ }
86
+ /** operation <name> { … } — one operation of an endpoint. */
87
+ export interface EndpointOperation {
88
+ name: string;
89
+ /** query | subscribe | invoke (ENDPOINT_OPERATION_KINDS; C60/C62 flag others). */
90
+ kind: string;
91
+ /**
92
+ * The aspects this operation serves (query/subscribe face) — logical
93
+ * aspect names in the owning subject's vocabulary (attribute ids,
94
+ * characteristic names, the reserved `state` / `environmental_context`
95
+ * aspects); comma- or space-separated in the surface syntax.
96
+ */
97
+ serves: string[];
98
+ /** The processes this operation invokes (invoke face) — behavior ids. */
99
+ does: string[];
100
+ /** The payload schema; null when undeclared (C61). */
101
+ payload: EndpointPayload | null;
102
+ }
103
+ /**
104
+ * endpoint <id> — the subject's declared API surface (IS-level). Nested in
105
+ * the subject's `is { … }` block; the owning subject is implicit.
106
+ */
107
+ export interface Endpoint {
108
+ id: string;
109
+ operations: EndpointOperation[];
110
+ /** Access scope → operation names. Every operation is covered by
111
+ * exactly one scope (C62); scopes are public | registered | authority. */
112
+ access: Partial<Record<EndpointAccessScope, string[]>>;
113
+ /** Connector profile id — a declared connector_profile or one of the
114
+ * built-ins (C64). */
115
+ profile: string;
116
+ }
117
+ /**
118
+ * serve <aspect> via <operation> { fresh_within <duration> } — the
119
+ * HAS-level binding from an aspect to an endpoint operation (§14.4).
120
+ * `freshWithin` is the freshness window: ISO-8601 duration or the
121
+ * shorthand form (`5s`, `500ms`, `1min`, `1h`, `1d`); empty = C63 (a live
122
+ * binding without fresh_within is an error — §14.12).
123
+ */
124
+ export interface ServeBinding {
125
+ /** The served aspect path (task-03 scope vocabulary:
126
+ * [level.]{parameters|classification|test_context}.<key>, the reserved
127
+ * `state` / `environmental_context` aspects, or a bare
128
+ * attribute/characteristic/dimension name). */
129
+ aspect: string;
130
+ /** The serving operation name (resolves against the owning subject's
131
+ * endpoints — C60). */
132
+ via: string;
133
+ /** The freshness window (e.g. `5s`, `PT1M`); empty when undeclared (C63). */
134
+ freshWithin: string;
135
+ }
136
+ /** connector_profile <id> — a protocol binding declared per endpoint family. */
137
+ export interface ConnectorProfile {
138
+ id: string;
139
+ /** The bound protocol (free text, e.g. "REST/JSON", "MQTT", "OPC-UA"). */
140
+ protocol: string;
141
+ /** What the profile carries / how the operation kinds map. */
142
+ description: string;
143
+ referenceIds: string[];
144
+ }
145
+ /**
146
+ * The four standard connector profiles (§14.4) — known to the kernel
147
+ * without declaration; the linter (C64) resolves endpoint profiles
148
+ * against declared connector_profile constructs ∪ this set. The registry
149
+ * is OCP-extensible: packages add profiles by declaring them.
150
+ */
151
+ export declare const BUILTIN_CONNECTOR_PROFILES: Readonly<Record<string, {
152
+ protocol: string;
153
+ description: string;
154
+ }>>;
155
+ //# sourceMappingURL=Twin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Twin.d.ts","sourceRoot":"","sources":["../../../src/types/Twin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAEH;yBACyB;AACzB,eAAO,MAAM,wBAAwB,2CAI3B,CAAC;AACX,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9E,gDAAgD;AAChD,eAAO,MAAM,sBAAsB,gDAIzB,CAAC;AACX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,YAAY,EAAE,MAAM,CAAC;IACrB;;wBAEoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb;0CACsC;IACtC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,6DAA6D;AAC7D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,yEAAyE;IACzE,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,sDAAsD;IACtD,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC;+EAC2E;IAC3E,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACvD;2BACuB;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B;;;oDAGgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf;4BACwB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,6EAA6E;IAC7E,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,gFAAgF;AAChF,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAC/C,MAAM,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAsB1D,CAAC"}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ /**
3
+ * Twin interface constructs (Primmel v3, TODO.roadmap/32 — doctrine
4
+ * ch. 14 §14.4, concept doc §10.2–10.3): the live twin's integration
5
+ * language.
6
+ *
7
+ * A live twin is a subject instance whose anatomy is SERVED (ch. 14 §14.3):
8
+ * "no new anatomy needed, only plumbing to serve it". Three small
9
+ * primitives, two of which live on the subject anatomy itself:
10
+ *
11
+ * endpoint (IS-level) — the subject's declared API surface, part of the
12
+ * type definition "like a marking or a software identification"
13
+ * (§14.3). Declared inline in the subject's `is { … }` block (§14.11
14
+ * grammar sketch), NOT as a top-level construct: an endpoint is
15
+ * meaningless detached from the subject whose interface it is. Each
16
+ * endpoint declares:
17
+ * operations — { name, kind: query | subscribe | invoke, serves/does
18
+ * refs, payload schema }: query pulls a current value, subscribe
19
+ * pushes on change, invoke triggers a process. Every operation
20
+ * carries a payload schema — a QuantityValue per INV-1, ALWAYS
21
+ * with unit (`1` for dimensionless/state payloads) and timestamp
22
+ * (§14.4; §14.12: "every endpoint operation has an access scope
23
+ * and a payload schema (QuantityValue with timestamp)").
24
+ * access scopes — who may call what: public | registered |
25
+ * authority. Every operation is covered by exactly one scope
26
+ * (linter C62).
27
+ * profile — the connector profile binding the protocol (below).
28
+ *
29
+ * serve (HAS-level) — the binding from an aspect to an operation:
30
+ * `serve <aspect> via <operation> { fresh_within <duration> }`,
31
+ * declared in the subject's `has { … }` block. Freshness is part of
32
+ * the binding (§14.4): "the engine must know how old a value may be
33
+ * before it stops meaning anything" — a live binding without
34
+ * `fresh_within` is an error (§14.12; linter C63). The aspect path
35
+ * uses the task-03 scope vocabulary ([level.]{parameters|
36
+ * classification|test_context}.<key>, plus the reserved `state` /
37
+ * `environmental_context` aspects and bare attribute/characteristic
38
+ * names); the operation resolves against the owning subject's
39
+ * endpoints (linter C60, with unit coherence between the served
40
+ * aspect and the operation's payload).
41
+ *
42
+ * connector_profile (foundations) — the protocol binding registry:
43
+ * the model is protocol-neutral; profiles bind protocols (§14.4).
44
+ * The four standard profiles (rest_json, mqtt, opc_ua, file_drop —
45
+ * BUILTIN_CONNECTOR_PROFILES) are known to the kernel without
46
+ * declaration; packages extend the registry by declaring
47
+ * `connector_profile` constructs (OCP — new profiles are added by
48
+ * declaration, never by kernel edits). An endpoint's `profile`
49
+ * resolves against declared profiles ∪ the built-ins (linter C64).
50
+ *
51
+ * Freshness semantics (§14.5 step 3): served values are timestamped; a
52
+ * stale value degrades the verdict to `indeterminate` — never fail (a
53
+ * network outage is not a metrological event), never a silent pass
54
+ * (silence is not evidence). The runtime half lives in the smart app's
55
+ * verdict service (browser/src/services/verdict.service.ts); the window
56
+ * parser is parseFreshnessWindow in src/time.ts.
57
+ *
58
+ * Maps 1:1 to the OIML SMART domain model layer (data/<rec>/model/
59
+ * twin.yaml): the YAML side carries `endpoints:` / `serves:` registries;
60
+ * the codecs emit/parse the subject blocks (construct-symmetric,
61
+ * TODO.refactor/16).
62
+ */
63
+ Object.defineProperty(exports, "__esModule", { value: true });
64
+ exports.BUILTIN_CONNECTOR_PROFILES = exports.ENDPOINT_ACCESS_SCOPES = exports.ENDPOINT_OPERATION_KINDS = void 0;
65
+ /** Operation kinds (§14.4): pull a current value | push on change |
66
+ * trigger a process. */
67
+ exports.ENDPOINT_OPERATION_KINDS = [
68
+ 'query',
69
+ 'subscribe',
70
+ 'invoke',
71
+ ];
72
+ /** Access scopes (§14.4): who may call what. */
73
+ exports.ENDPOINT_ACCESS_SCOPES = [
74
+ 'public',
75
+ 'registered',
76
+ 'authority',
77
+ ];
78
+ /**
79
+ * The four standard connector profiles (§14.4) — known to the kernel
80
+ * without declaration; the linter (C64) resolves endpoint profiles
81
+ * against declared connector_profile constructs ∪ this set. The registry
82
+ * is OCP-extensible: packages add profiles by declaring them.
83
+ */
84
+ exports.BUILTIN_CONNECTOR_PROFILES = {
85
+ rest_json: {
86
+ protocol: 'REST/JSON',
87
+ description: 'HTTP resource endpoints — query → GET, subscribe → server-push stream, invoke → POST; JSON payloads.',
88
+ },
89
+ mqtt: {
90
+ protocol: 'MQTT',
91
+ description: 'Pub/sub telemetry — subscribe → topic subscription, query → retained topic read, invoke → command topic.',
92
+ },
93
+ opc_ua: {
94
+ protocol: 'OPC-UA',
95
+ description: 'Industrial interoperability — query → read, subscribe → monitored items, invoke → method call.',
96
+ },
97
+ file_drop: {
98
+ protocol: 'file drop',
99
+ description: 'Batch/plugin sources (§14.7) — values arrive as dropped files/records; query reads the latest drop.',
100
+ },
101
+ };
102
+ //# sourceMappingURL=Twin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Twin.js","sourceRoot":"","sources":["../../../src/types/Twin.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;;;AAEH;yBACyB;AACZ,QAAA,wBAAwB,GAAG;IACtC,OAAO;IACP,WAAW;IACX,QAAQ;CACA,CAAC;AAGX,gDAAgD;AACnC,QAAA,sBAAsB,GAAG;IACpC,QAAQ;IACR,YAAY;IACZ,WAAW;CACH,CAAC;AAoFX;;;;;GAKG;AACU,QAAA,0BAA0B,GAEnC;IACF,SAAS,EAAE;QACT,QAAQ,EAAE,WAAW;QACrB,WAAW,EACT,sGAAsG;KACzG;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM;QAChB,WAAW,EACT,0GAA0G;KAC7G;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,QAAQ;QAClB,WAAW,EACT,gGAAgG;KACnG;IACD,SAAS,EAAE;QACT,QAAQ,EAAE,WAAW;QACrB,WAAW,EACT,qGAAqG;KACxG;CACF,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Verdict construct (OIML SMART TODO.refactor/04 — canonical verdict chain).
3
+ *
4
+ * A Verdict declares the SINGLE canonical derivation of one acceptance
5
+ * quantity ("derive once, reference everywhere"): requirements
6
+ * (limit.accepts), conformance tests, and form fields reference it by id
7
+ * instead of restating the expression. Every free identifier of the
8
+ * derivation must appear in `inputs` (linker rule verdict-inputs-resolve).
9
+ *
10
+ * Maps 1:1 to verdicts.yaml (data/schemas/verdicts.yaml).
11
+ */
12
+ import type AcceptanceDecision from './Acceptance';
13
+ import type { SourceRef } from './Subject';
14
+ /** How a series of derived values reduces to one scalar before acceptance. */
15
+ export type SeriesReduction = 'none' | 'max' | 'mean' | 'worst_case' | 'max_abs_over_window';
16
+ /** verdict <id> — one canonical acceptance quantity. */
17
+ export default interface Verdict {
18
+ id: string;
19
+ /** Display symbol of the quantity (e.g. C_M for mdlo_normalized). */
20
+ symbol?: string;
21
+ /**
22
+ * Id of the declared behavior this quantity is derived from — the
23
+ * behavior→I/O→characteristic chain link (TODO.roadmap/10).
24
+ */
25
+ behavior?: string;
26
+ /** Quantity kind of the derived value (e.g. mass, volume-fraction). */
27
+ quantityKind: string;
28
+ /** Measurement unit of the derived value; empty for dimensionless. */
29
+ unit: string;
30
+ /** The single canonical derivation, ocl{...}. */
31
+ derive: string;
32
+ /** Symbol ids the derivation reads (its free identifiers). */
33
+ inputs: string[];
34
+ /** Series→scalar reduction; null for scalar (single-measurement) verdicts. */
35
+ seriesReduction: SeriesReduction | null;
36
+ /** Acceptance decision rule (guarding, criterion, statistics). */
37
+ acceptance?: AcceptanceDecision | null;
38
+ source: SourceRef | null;
39
+ }
40
+ //# sourceMappingURL=Verdict.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Verdict.d.ts","sourceRoot":"","sources":["../../../src/types/Verdict.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,kBAAkB,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,8EAA8E;AAC9E,MAAM,MAAM,eAAe,GACzB,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,YAAY,GAAG,qBAAqB,CAAC;AAEjE,wDAAwD;AACxD,MAAM,CAAC,OAAO,WAAW,OAAO;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,YAAY,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,8EAA8E;IAC9E,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,kEAAkE;IAClE,UAAU,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACvC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;CAC1B"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ /**
3
+ * Verdict construct (OIML SMART TODO.refactor/04 — canonical verdict chain).
4
+ *
5
+ * A Verdict declares the SINGLE canonical derivation of one acceptance
6
+ * quantity ("derive once, reference everywhere"): requirements
7
+ * (limit.accepts), conformance tests, and form fields reference it by id
8
+ * instead of restating the expression. Every free identifier of the
9
+ * derivation must appear in `inputs` (linker rule verdict-inputs-resolve).
10
+ *
11
+ * Maps 1:1 to verdicts.yaml (data/schemas/verdicts.yaml).
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ //# sourceMappingURL=Verdict.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Verdict.js","sourceRoot":"","sources":["../../../src/types/Verdict.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG"}
@@ -4,6 +4,12 @@ interface ViewProfile {
4
4
  description: string;
5
5
  roles: string[];
6
6
  visibleElements: string[];
7
+ /**
8
+ * The reference-model namespace this view is read against ('' = none).
9
+ * Views reading coverage name the map_profile/mapSet namespace whose
10
+ * coverage they filter — they never mutate it.
11
+ */
12
+ against: string;
7
13
  }
8
14
  export default ViewProfile;
9
15
  export type ResolvableViewProfile = Resolvable<ViewProfile, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"ViewProfile.d.ts","sourceRoot":"","sources":["../../../src/types/ViewProfile.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IAEpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAEhB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,eAAe,WAAW,CAAC;AAG3B,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"ViewProfile.d.ts","sourceRoot":"","sources":["../../../src/types/ViewProfile.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AAYtC,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IAEpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAEhB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAe,WAAW,CAAC;AAG3B,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC"}
@@ -10,10 +10,25 @@ export type ResolvableRegistry = Resolvable<Registry, 'data'>;
10
10
  export interface DataClass {
11
11
  id: string;
12
12
  attributes: DataAttribute[];
13
+ /** Persistent store name for storable classes (v2 G2). */
14
+ store?: string;
15
+ /** Store indexes (v2 G2). */
16
+ indexes?: string[];
17
+ /** Helper classes embed into their parents (no store) (v2 G2). */
18
+ helper?: boolean;
19
+ /** Inheritance: fields merge from the parent (v2 G2). */
20
+ extends?: string;
21
+ /** Class-level description. */
22
+ description?: string;
13
23
  }
14
24
  export type ResolvableDataClass = {
15
25
  id: string;
16
26
  attributes: ResolveableDataAttribute[];
27
+ store?: string;
28
+ indexes?: string[];
29
+ helper?: boolean;
30
+ extends?: string;
31
+ description?: string;
17
32
  };
18
33
  export interface DataAttribute {
19
34
  id: string;
@@ -23,6 +38,18 @@ export interface DataAttribute {
23
38
  definition: string;
24
39
  ref: Reference[];
25
40
  satisfy: string[];
41
+ /** FK edge semantics on reference fields (v2 G2). */
42
+ onDelete?: string;
43
+ /** Legacy field kept for migration only (v2 G2). */
44
+ deprecated?: boolean;
45
+ /** Inline enum values for `enum`-typed fields. */
46
+ enumValues?: string[];
47
+ /** Explicit required flag (companion of modality). */
48
+ required?: boolean;
49
+ /** Unit of a quantity-valued field. */
50
+ unit?: string;
51
+ /** Default value (verbatim; structured defaults travel as JSON strings). */
52
+ defaultValue?: string;
26
53
  }
27
54
  export type ResolveableDataAttribute = Resolvable<DataAttribute, 'ref'>;
28
55
  export interface Enum {
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/types/data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,YAAY,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE9D,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,wBAAwB,EAAE,CAAC;CACxC,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,SAAS,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAExE,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/types/data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,YAAY,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE9D,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,kEAAkE;IAClE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,wBAAwB,EAAE,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,SAAS,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAExE,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB"}
@@ -1,8 +1,166 @@
1
1
  import { Resolvable } from './Resolvable';
2
2
  import { Registry } from './data';
3
3
  import { Subprocess } from './flow';
4
+ import type { TestInstances, TestPrecondition } from './ConformanceTest';
5
+ import type { QuantityValue } from './Quantity';
6
+ import type { SourceRef } from './Subject';
4
7
  import Provision from './Provision';
5
8
  import Role from './Role';
9
+ /** A typed name — a signature parameter or a register. */
10
+ export interface ProcessParameter {
11
+ name: string;
12
+ /** Quantity-kind / type annotation (single token, e.g. mass, time). */
13
+ type: string;
14
+ /**
15
+ * Registers only (TODO.roadmap/50): the slot's INITIAL value — a literal
16
+ * consistent with the declared type (number, text, boolean token, or a
17
+ * quantity value + unit; the block form carries the full QuantityValue
18
+ * contract). `= <value> [unit]` in the `registers { … }` entry.
19
+ * undefined = no initial value declared. Signature parameters never
20
+ * carry one (their values arrive at the call).
21
+ */
22
+ initial?: QuantityValue;
23
+ }
24
+ /** Process I/O signature: what the process consumes (IN) and produces (OUT). */
25
+ export interface ProcessSignature {
26
+ inputs: ProcessParameter[];
27
+ outputs: ProcessParameter[];
28
+ }
29
+ /**
30
+ * One role-segregation constraint of a process (TODO.roadmap/39b — the
31
+ * ISO/IEC 17065 clause-7 non-involvement rules: 7.5.1 reviewer ∉
32
+ * evaluation, 7.6.2 decider ∉ evaluation, 7.13.5 complaint resolution ∉
33
+ * case activities, 7.13.6/4.2.10 consultancy bars). First-class structured
34
+ * declaration, NOT an OCL invariant: invariants quantify over one
35
+ * process's own signature records, while segregation is a CROSS-process
36
+ * relation over personnel sets, per case — and invariant strings are never
37
+ * mechanically evaluated.
38
+ *
39
+ * `pair` members are PROCESS ids (that process's personnel set for the
40
+ * case at hand), or the reserved token `case_personnel` (the personnel
41
+ * involved in the certification activities of the case a complaint
42
+ * relates to — 7.13.5's case-relative set). Roles are deliberately not
43
+ * members: a scheme may bind one role to evaluation, review AND decision,
44
+ * so the norms quantify over process INVOLVEMENT, not role assignment.
45
+ * The linter (C59 segregation-members-resolve) checks well-formedness;
46
+ * per-assignment runtime enforcement is the platform's business.
47
+ */
48
+ export interface SegregationEntry {
49
+ id: string;
50
+ /** 'case_personnel_disjoint' | 'consultancy_bar' ('' = undeclared). */
51
+ kind: string;
52
+ /** Clause of the source standard stating the constraint (e.g. "7.5.1"). */
53
+ clause: string;
54
+ /** The two disjoint personnel sets (disjoint entries; exactly two). */
55
+ pair: string[];
56
+ /** ISO-8601 duration of a fixed consultancy bar (7.13.6: "P2Y"); '' = none. */
57
+ period: string;
58
+ /** The barred client relations ('consultancy' | 'employment') — bar entries. */
59
+ barred: string[];
60
+ /** Verbatim-faithful normative statement of the constraint. */
61
+ statement: string;
62
+ }
63
+ /** The eight step kinds of the v3 step vocabulary. */
64
+ export type ProcessStepKind = 'action' | 'approval' | 'gateway' | 'parallel_gateway' | 'start_event' | 'end_event' | 'timer_event' | 'signal_event';
65
+ /**
66
+ * One signature binding of a subprocess call (TODO.roadmap/38): the callee
67
+ * signature parameter `param` binds to the caller-side register/parameter
68
+ * `bind`. `callIn` bindings feed the callee's IN parameters (the caller
69
+ * name is READ); `callOut` mappings return the callee's OUT parameters
70
+ * (the caller name is WRITTEN). The linter (C76
71
+ * subprocess-signature-bound) checks completeness and kind compatibility;
72
+ * the caller-side names join the step's I/O for C12/C13/C75.
73
+ */
74
+ export interface ProcessCallBinding {
75
+ /** Callee signature parameter name. */
76
+ param: string;
77
+ /** Caller-side register/parameter name it binds to. */
78
+ bind: string;
79
+ }
80
+ /**
81
+ * One step of an executable process.
82
+ *
83
+ * Executor typing (`executor`):
84
+ * - 'machine' — the engine runs the step (OCL evaluation, gateway
85
+ * resolution, waits, register writes);
86
+ * - 'actor' — a role performs the step; actor steps are RECORDED, not
87
+ * run: `role` binds the performing role and `capture` binds the form
88
+ * through which the step's outputs land in evidence;
89
+ * - '' — untyped (events; or the author didn't declare one).
90
+ *
91
+ * Step I/O (`reads`/`writes`/`wait`, plus the caller-side names of a
92
+ * call's `with` bindings) names registers and signature parameters — the
93
+ * linter (C12/C13) checks those names resolve and that the step set
94
+ * realizes the process signature.
95
+ */
96
+ export interface ProcessStep {
97
+ id: string;
98
+ kind: ProcessStepKind;
99
+ executor: 'machine' | 'actor' | '';
100
+ /** Actor steps: the bound role id. */
101
+ role: string;
102
+ /** Actor steps: the capture form id through which outputs are recorded. */
103
+ capture: string;
104
+ /** Register/parameter names the step reads. */
105
+ reads: string[];
106
+ /** Register/parameter names the step writes. */
107
+ writes: string[];
108
+ /**
109
+ * `wait <name>` — a machine hold on a duration register/parameter.
110
+ * Counts as a read for the linter (C12/C13).
111
+ */
112
+ wait: string;
113
+ /** timer_event: ISO-8601 recurrence period (e.g. "P12M"). */
114
+ period: string;
115
+ /** signal_event: name of the external trigger that starts/resumes. */
116
+ signal: string;
117
+ /**
118
+ * `fires <transition>` (TODO.roadmap/07): when the step COMPLETES, the
119
+ * process's bound state machine (`state <machineRef>`) takes the named
120
+ * transition (identified by its action name). The fired sequence lands
121
+ * in the run's state trajectory (see src/operational-state.ts).
122
+ */
123
+ fires: string;
124
+ /**
125
+ * `calls <process>` (TODO.roadmap/38): the step invokes a sub-process.
126
+ * When the callee declares a signature, `callIn`/`callOut` bind it —
127
+ * every IN parameter bound from a caller register, every OUT parameter
128
+ * mapped back to a caller register (`calls <p> { with { in {…} out {…} } }`).
129
+ * '' = not a call step.
130
+ */
131
+ calls: string;
132
+ /** IN bindings of the call (callee param ← caller name; the caller READS). */
133
+ callIn: ProcessCallBinding[];
134
+ /** OUT mappings of the call (callee param → caller name; the caller WRITES). */
135
+ callOut: ProcessCallBinding[];
136
+ description: string;
137
+ }
138
+ /**
139
+ * A flow edge between two steps of the same `does` body.
140
+ *
141
+ * Connection semantics (three rules only):
142
+ * 1. serial — `A -> B`: do A, then B;
143
+ * 2. parallel — two unconditioned paths: both, in any order;
144
+ * 3. self-loop + timer — repeat with a period (recurrence).
145
+ *
146
+ * `condition` is an OCL Boolean over declared registers ('' = the
147
+ * unconditioned/default edge). On a gateway's outgoing edges the first
148
+ * satisfied condition in document order wins; the unconditioned edge
149
+ * catches the rest.
150
+ */
151
+ export interface ProcessFlowEdge {
152
+ from: string;
153
+ to: string;
154
+ condition: string;
155
+ }
156
+ /**
157
+ * The executable body (the DOES of the process). Its PRESENCE is what
158
+ * marks a process executable — `does: null` is the abstract form.
159
+ */
160
+ export interface ProcessFlow {
161
+ steps: ProcessStep[];
162
+ edges: ProcessFlowEdge[];
163
+ }
6
164
  export default interface Process {
7
165
  id: string;
8
166
  name: string;
@@ -11,10 +169,83 @@ export default interface Process {
11
169
  output: Registry[];
12
170
  input: Registry[];
13
171
  provision: Provision[];
172
+ /**
173
+ * The raw `validate_provision { … }` ids, exactly as authored. Unlike
174
+ * `provision` (which holds only ids that resolved to declared
175
+ * `provision` constructs), this list never loses a reference: OIML
176
+ * SMART packages point validate_provision at REQUIREMENT ids
177
+ * (`/req/cs/*` provisions — verified by the process, never by a
178
+ * conformance test), which the provision resolver cannot see. The
179
+ * linter reads this list (a provision'd requirement is covered, C5);
180
+ * the dumper emits it, so an unresolvable reference survives the
181
+ * load → dump round-trip instead of being silently dropped.
182
+ */
183
+ provisionRefs: string[];
14
184
  page: Subprocess | null;
15
185
  measure: string[];
16
186
  parent: string;
17
187
  children: string[];
188
+ /** IS: the I/O signature (null = undeclared). */
189
+ signature: ProcessSignature | null;
190
+ /** IS: OCL invariants over the signature and registers. */
191
+ invariants: string[];
192
+ /**
193
+ * IS: ISO/IEC 17000 activity-kind ids classifying this process in the
194
+ * functional approach (TODO.roadmap/39) — an abstract process may be
195
+ * tagged with several kinds (ISO/IEC 17065 §7.4 "evaluation" =
196
+ * selection + determination). Classification, not inheritance; the ids
197
+ * resolve against a declared activity_archetype register when one is in
198
+ * scope (C58 activity-kind-resolves).
199
+ */
200
+ activityKinds: string[];
201
+ /**
202
+ * IS: role-segregation constraints (TODO.roadmap/39b — the ISO/IEC
203
+ * 17065 non-involvement rules: review/decision personnel disjoint from
204
+ * evaluation personnel, complaint-resolution independence, consultancy
205
+ * bars). First-class machine-checkable declarations, not invariants;
206
+ * the linter (C59 segregation-members-resolve) checks well-formedness,
207
+ * per-assignment enforcement is the runtime's business.
208
+ */
209
+ segregation: SegregationEntry[];
210
+ /**
211
+ * IS: OCL Boolean guards on entry. A violated precondition voids the
212
+ * run AS A RUN (verdicts `invalid`, never `fail`); the language carries
213
+ * the declaration, the runtime evaluates it.
214
+ */
215
+ preconditions: TestPrecondition[];
216
+ /** IS: default executor — a role id, or the literal `machine`. */
217
+ executor: string;
218
+ /** HAS: typed registers the steps read and write. */
219
+ registers: ProcessParameter[];
220
+ /** HAS: the process's state machine reference. */
221
+ state: string;
222
+ /**
223
+ * Per-classification instance parameters keyed by a subject dimension
224
+ * (R 60: n_runs = 5 for accuracy classes A/B, 3 for C/D). Shared shape
225
+ * with conformance-test instances: TestInstances.
226
+ */
227
+ instances: TestInstances | null;
228
+ /**
229
+ * Child composition for the coverage calculus (TODO.roadmap/04): how
230
+ * this process's declared CHILDREN combine into its own fulfilment —
231
+ * `all` (default): every child is required (serial/parallel semantics);
232
+ * `gateway`: the children are exclusive branches and the gateway minimum
233
+ * (at least one branch) suffices for minimal cover. Coverage aggregation
234
+ * walks the parent/children tree (concept doc §5.3).
235
+ */
236
+ childComposition: 'all' | 'gateway';
237
+ /** DOES: the executable body. null = abstract process (always valid). */
238
+ does: ProcessFlow | null;
239
+ /**
240
+ * Clause-URN provenance (the same facet requirement/provision carry):
241
+ * `source { doc "urn:…" clause "…" [fragment "…"] }`. null = undeclared.
242
+ */
243
+ source: SourceRef | null;
244
+ /**
245
+ * Repeated `source { … }` blocks collect here (TODO.roadmap/24);
246
+ * `source` stays the first entry for back-compatibility.
247
+ */
248
+ sourceRefs?: SourceRef[];
18
249
  }
19
250
  export type ResolvableProcess = Resolvable<Process, 'actor' | 'output' | 'input' | 'provision' | 'page'>;
20
251
  //# sourceMappingURL=process.d.ts.map