@primmel/primmel 1.3.2 → 1.4.1

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 +844 -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 +356 -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 +132 -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 +6699 -661
  422. package/dist-cli/primmel.mjs +21462 -0
  423. package/package.json +61 -5
@@ -0,0 +1,17 @@
1
+ export type CheckFamily = 'base' | 'anatomy' | 'process' | 'instantiation' | 'mapping' | 'composition' | 'quantities' | 'state' | 'promises' | 'artifacts' | 'characteristics' | 'twins' | 'coverage' | 'edition' | 'supply-chain';
2
+ export type CheckLevel = 'normal' | 'audit';
3
+ export interface CheckRule {
4
+ id: string;
5
+ name: string;
6
+ family: CheckFamily;
7
+ severity: 'error' | 'warning';
8
+ level: CheckLevel;
9
+ docs: string;
10
+ }
11
+ /** The full catalog, in id order. */
12
+ export declare const CHECK_RULES: CheckRule[];
13
+ /** The catalog entry for a rule id, or undefined for an unknown id. */
14
+ export declare function checkRule(id: string): CheckRule | undefined;
15
+ /** Rule ids active at a level ('audit' includes the normal rules). */
16
+ export declare function activeRuleIds(level: CheckLevel): Set<string>;
17
+ //# sourceMappingURL=check-rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-rules.d.ts","sourceRoot":"","sources":["../../src/check-rules.ts"],"names":[],"mappings":"AAoBA,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,SAAS,GACT,SAAS,GACT,eAAe,GACf,SAAS,GACT,aAAa,GACb,YAAY,GACZ,OAAO,GACP,UAAU,GACV,WAAW,GACX,iBAAiB,GACjB,OAAO,GACP,UAAU,GACV,SAAS,GACT,cAAc,CAAC;AAEnB,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE5C,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAWD,qCAAqC;AACrC,eAAO,MAAM,WAAW,EAAE,SAAS,EA48BlC,CAAC;AAIF,uEAAuE;AACvE,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAE3D;AAED,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CAM5D"}
@@ -0,0 +1,351 @@
1
+ "use strict";
2
+ // ─────────────────────────────────────────────────────────────────────
3
+ // primmel check — the rule catalog (TODO.roadmap/17).
4
+ //
5
+ // The machine-readable registry of every check `primmel check` runs —
6
+ // the single source the CLI prints (`primmel check --rules`) and the
7
+ // docs reference. Each rule has:
8
+ // id — the per-rule id (C1…C98) issues report under;
9
+ // name — the rule's short name (as used in issue messages);
10
+ // family — base | anatomy | process | instantiation | mapping |
11
+ // composition | quantities | state | promises | artifacts |
12
+ // characteristics | twins | coverage | edition |
13
+ // supply-chain;
14
+ // severity — the rule's DEFAULT severity at the normal level
15
+ // ('warning' rules escalate to errors under --strict;
16
+ // individual legs of a rule may escalate — see check.ts);
17
+ // level — 'normal' rules always run; 'audit' rules additionally run
18
+ // at --audit strictness (the coverage audits + C25);
19
+ // docs — the doctrine/plan pointer backing the rule.
20
+ // ─────────────────────────────────────────────────────────────────────
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.CHECK_RULES = void 0;
23
+ exports.checkRule = checkRule;
24
+ exports.activeRuleIds = activeRuleIds;
25
+ const R = (id, name, family, severity, level, docs) => ({ id, name, family, severity, level, docs });
26
+ /** The full catalog, in id order. */
27
+ exports.CHECK_RULES = [
28
+ // ── base (C1–C5 + the allowlist self-checks) ──────────────────────
29
+ R('C1', 'attribute-bind-scope', 'base', 'error', 'normal', 'concept doc §11.4'),
30
+ R('C2', 'reference-targets-resolve', 'base', 'error', 'normal', 'concept doc §11.4'),
31
+ R('C3', 'dimension-enums', 'base', 'error', 'normal', 'concept doc §11.4'),
32
+ R('C4', 'store-uniqueness', 'base', 'error', 'normal', 'concept doc §11.4'),
33
+ R('C5', 'req-test-coverage', 'base', 'warning', 'normal', 'concept doc §11.4–11.5'),
34
+ R('C56', 'allowlist-malformed', 'base', 'error', 'normal', 'concept doc §11.9'),
35
+ R('C57', 'allowlist-stale', 'base', 'error', 'normal', 'concept doc §11.3/§11.9'),
36
+ // ── anatomy (subject is/has/does, TODO.roadmap/01) ────────────────
37
+ R('C6', 'anatomy-family', 'anatomy', 'error', 'normal', 'TODO.roadmap/01'),
38
+ R('C7', 'anatomy-characteristic-derivation', 'anatomy', 'error', 'normal', 'TODO.roadmap/01'),
39
+ R('C8', 'anatomy-behavior-resolves', 'anatomy', 'error', 'normal', 'TODO.roadmap/01'),
40
+ R('C9', 'subject-extends-resolves', 'anatomy', 'warning', 'normal', 'TODO.roadmap/01'),
41
+ // ── process (executable bodies, TODO.roadmap/02) ──────────────────
42
+ R('C10', 'process-one-start', 'process', 'error', 'normal', 'TODO.roadmap/02'),
43
+ R('C11', 'process-terminal-end', 'process', 'error', 'normal', 'TODO.roadmap/02'),
44
+ R('C12', 'process-flow-names-resolve', 'process', 'error', 'normal', 'TODO.roadmap/02'),
45
+ R('C13', 'process-signature-realized', 'process', 'error', 'normal', 'TODO.roadmap/02'),
46
+ R('C14', 'process-timer-recurrence', 'process', 'error', 'normal', 'TODO.roadmap/02'),
47
+ R('C15', 'process-timer-period', 'process', 'error', 'normal', 'TODO.roadmap/02'),
48
+ R('C16', 'process-step-ids-unique', 'process', 'error', 'normal', 'TODO.roadmap/02'),
49
+ // C58 (TODO.roadmap/39): the ISO/IEC 17000 activity-kind classification
50
+ // facet on processes — every tagged kind resolves against a declared
51
+ // activity_archetype register when one is in scope, and the register's
52
+ // own parent references resolve within the register.
53
+ R('C58', 'activity-kind-resolves', 'process', 'error', 'normal', 'TODO.roadmap/39'),
54
+ // C59 (TODO.roadmap/39b): the ISO/IEC 17065 role-segregation facet on
55
+ // processes — every pair member resolves to a declared process (or the
56
+ // reserved case_personnel token), the two members are distinct, and the
57
+ // owning process is a member of its own pair.
58
+ R('C59', 'segregation-members-resolve', 'process', 'error', 'normal', 'TODO.roadmap/39'),
59
+ // C74–C76 (TODO.roadmap/38): typed transition boundaries — composition
60
+ // is sound only when the upstream output signature covers the
61
+ // downstream input signature (∘: t₁: A→B, t₂: B→C ⊢ t₂∘t₁: A→C).
62
+ // C74: one name carries ONE type across the signature/register
63
+ // declaration positions (kind/unit-coherent through the quantity
64
+ // register). C75: the step-chain dataflow covers every read (a writer
65
+ // on every incoming path, or a provided IN/instance/state name —
66
+ // error) and no write is dead (warning leg). Known limitation: the
67
+ // must-analysis intersects over all predecessors uniformly, so a
68
+ // parallel_gateway fork's conjunctive branches are treated as
69
+ // alternative paths — a post-join read of a single-branch write is
70
+ // reported uncovered (pessimistic: over-reports, never misses a real
71
+ // gap). C76: a `calls` step binds
72
+ // the callee's declared signature completely and kind-compatibly —
73
+ // across packages too, since processes merge over `uses`.
74
+ R('C74', 'process-io-type-coherence', 'process', 'error', 'normal', 'TODO.roadmap/38'),
75
+ R('C75', 'process-flow-io-cover', 'process', 'error', 'normal', 'TODO.roadmap/38'),
76
+ R('C76', 'subprocess-signature-bound', 'process', 'error', 'normal', 'TODO.roadmap/38'),
77
+ // ── instantiation (TODO.roadmap/03) ───────────────────────────────
78
+ R('C17', 'instance-scope', 'instantiation', 'error', 'normal', 'TODO.roadmap/03'),
79
+ R('C18', 'instance-version-pin', 'instantiation', 'error', 'normal', 'TODO.roadmap/03'),
80
+ R('C19', 'chain-acyclic', 'instantiation', 'error', 'normal', 'TODO.roadmap/03'),
81
+ R('C20', 'instance-of-resolves', 'instantiation', 'error', 'normal', 'TODO.roadmap/03'),
82
+ // ── mapping (TODO.roadmap/04) ─────────────────────────────────────
83
+ R('C21', 'mapping-resolves', 'mapping', 'error', 'normal', 'TODO.roadmap/04, concept doc §5.2'),
84
+ R('C22', 'mapping-direction', 'mapping', 'error', 'normal', 'TODO.roadmap/04, concept doc §5.6'),
85
+ R('C23', 'mapping-calculus-consistency', 'mapping', 'error', 'normal', 'TODO.roadmap/04, concept doc §5.8'),
86
+ R('C24', 'import-not-mapping', 'mapping', 'error', 'normal', 'TODO.roadmap/04, concept doc §5.6'),
87
+ R('C25', 'mapping-description', 'mapping', 'warning', 'audit', 'TODO.roadmap/04'),
88
+ R('C26', 'view-read-only', 'mapping', 'error', 'normal', 'TODO.roadmap/04'),
89
+ // ── composition (TODO.roadmap/05) ─────────────────────────────────
90
+ R('C27', 'uses-resolves', 'composition', 'error', 'normal', 'TODO.roadmap/05'),
91
+ R('C28', 'uses-no-redefine', 'composition', 'error', 'normal', 'TODO.roadmap/05'),
92
+ R('C29', 'uses-cycle', 'composition', 'error', 'normal', 'TODO.roadmap/05'),
93
+ R('C30', 'provides-consumed-or-waived', 'composition', 'warning', 'normal', 'TODO.roadmap/05'),
94
+ R('C31', 'requires-satisfied', 'composition', 'error', 'normal', 'TODO.roadmap/05'),
95
+ // ── quantities / time / duality (TODO.roadmap/06) ─────────────────
96
+ R('C32', 'inv1-no-bare-quantity', 'quantities', 'error', 'normal', 'TODO.roadmap/06, INV-1'),
97
+ R('C33', 'quantity-coherence', 'quantities', 'error', 'normal', 'TODO.roadmap/06'),
98
+ R('C34', 'duality-coherence', 'quantities', 'error', 'normal', 'TODO.roadmap/06'),
99
+ R('C35', 'time-format', 'quantities', 'error', 'normal', 'TODO.roadmap/06'),
100
+ R('C36', 'map-type', 'quantities', 'error', 'normal', 'TODO.roadmap/06'),
101
+ // ── operational state (TODO.roadmap/07) ───────────────────────────
102
+ R('C37', 'state-fires-resolve', 'state', 'error', 'normal', 'TODO.roadmap/07'),
103
+ R('C38', 'state-family-separation', 'state', 'error', 'normal', 'TODO.roadmap/07'),
104
+ R('C39', 'state-machine-states-referenced', 'state', 'error', 'normal', 'TODO.roadmap/07'),
105
+ R('C40', 'anatomy-state-resolves', 'state', 'error', 'normal', 'TODO.roadmap/07'),
106
+ R('C41', 'precondition-on-violation-known', 'state', 'warning', 'normal', 'TODO.roadmap/07'),
107
+ // ── promises (TODO.roadmap/08) ────────────────────────────────────
108
+ R('C42', 'promise-target-resolves', 'promises', 'error', 'normal', 'TODO.roadmap/08'),
109
+ R('C43', 'promise-verifiable', 'promises', 'warning', 'normal', 'TODO.roadmap/08'),
110
+ R('C44', 'promise-not-bare-value', 'promises', 'error', 'normal', 'TODO.roadmap/08'),
111
+ // ── artifacts (TODO.roadmap/09) ───────────────────────────────────
112
+ R('C45', 'artifact-def-contract', 'artifacts', 'error', 'normal', 'TODO.roadmap/09'),
113
+ R('C46', 'artifact-instance-resolves', 'artifacts', 'error', 'normal', 'TODO.roadmap/09'),
114
+ R('C47', 'artifact-evidence-separation', 'artifacts', 'error', 'normal', 'TODO.roadmap/09'),
115
+ // ── characteristics (TODO.roadmap/10) ─────────────────────────────
116
+ R('C48', 'characteristic-one-home', 'characteristics', 'error', 'normal', 'TODO.roadmap/10'),
117
+ R('C49', 'characteristic-behavior-link', 'characteristics', 'error', 'normal', 'TODO.roadmap/10'),
118
+ R('C50', 'characteristic-derivation-inputs', 'characteristics', 'error', 'normal', 'TODO.roadmap/10'),
119
+ // ── twins (TODO.roadmap/32 — doctrine ch. 14 §14.4/§14.12) ──────────
120
+ R('C60', 'serve-targets-resolve', 'twins', 'error', 'normal', 'TODO.roadmap/32, doctrine §14.12'),
121
+ R('C61', 'payload-schema-quantity', 'twins', 'error', 'normal', 'TODO.roadmap/32, doctrine §14.4/§14.12'),
122
+ R('C62', 'access-scope-covers-serves', 'twins', 'error', 'normal', 'TODO.roadmap/32, doctrine §14.12'),
123
+ R('C63', 'freshness-required-on-live-bindings', 'twins', 'error', 'normal', 'TODO.roadmap/32, doctrine §14.12'),
124
+ R('C64', 'endpoint-profile-resolves', 'twins', 'error', 'normal', 'TODO.roadmap/32, doctrine §14.4'),
125
+ // ── twins: the monitors (TODO.roadmap/34 — doctrine ch. 14 §14.5/§14.12) ──
126
+ R('C65', 'monitor-subject-resolves', 'twins', 'error', 'normal', 'TODO.roadmap/34, doctrine §14.5/§14.12'),
127
+ R('C66', 'monitor-trigger-wellformed', 'twins', 'error', 'normal', 'TODO.roadmap/34, doctrine §14.5 step 1'),
128
+ R('C67', 'monitor-evaluate-resolves', 'twins', 'error', 'normal', 'TODO.roadmap/34, doctrine §14.12'),
129
+ // C68 is the doctrine's verbatim warning (§14.12): a monitor without an
130
+ // escalation path for `fail` is a warning (it escalates to an error
131
+ // under --strict like any warning).
132
+ R('C68', 'monitor-fail-escalation', 'twins', 'warning', 'normal', 'TODO.roadmap/34, doctrine §14.12'),
133
+ R('C69', 'monitor-escalation-resolves', 'twins', 'error', 'normal', 'TODO.roadmap/34, doctrine §14.5 step 7'),
134
+ R('C70', 'monitor-emit-sinks', 'twins', 'error', 'normal', 'TODO.roadmap/34, doctrine §14.5 step 6'),
135
+ // ── coverage audits (TODO.roadmap/17, concept doc §11.5) ──────────
136
+ // The aspect↔requirement↔test↔form↔verdict closure: the requirement→test
137
+ // link is C5 (base); the closure's remaining links are the audit-level
138
+ // C51/C52; the anchoring legs (uses bound, lookup tables) are
139
+ // normal-level errors; the per-package budget is C55.
140
+ R('C51', 'coverage-test-evidence', 'coverage', 'warning', 'audit', 'TODO.roadmap/17, concept doc §11.5'),
141
+ R('C52', 'coverage-form-judgment', 'coverage', 'warning', 'audit', 'TODO.roadmap/17, concept doc §11.5'),
142
+ R('C53', 'coverage-uses-bound', 'coverage', 'error', 'normal', 'TODO.roadmap/17, concept doc §11.7'),
143
+ R('C54', 'coverage-lookup-table-exists', 'coverage', 'error', 'normal', 'TODO.roadmap/17, concept doc §11.7'),
144
+ // C55 is audit-level: it fires only when the budgeted rules C51/C52
145
+ // run (audit) — cataloguing it as normal would judge a C55 allowlist
146
+ // entry STALE at the default level, where no C55 issue can exist.
147
+ R('C55', 'coverage-budget', 'coverage', 'error', 'audit', 'TODO.roadmap/17'),
148
+ // ── text coverage (TODO.roadmap/26, concept doc §11.6) ──────────────
149
+ // Layer 5 of the validation stack: every normative sentence of the
150
+ // source maps to at least one model element (target 100 %), no two
151
+ // elements are semantic duplicates (target 0). C71 follows the C51/C52
152
+ // pattern (audit-level warning, budgeted by the package's
153
+ // text_coverage_budget — C72); C73 is the declarations' hygiene rule
154
+ // (stale allowances/adjudications — the KNOWN/STALE spirit). Duplicate
155
+ // pairs are REPORTED (primmel check --coverage), never auto-failed.
156
+ R('C71', 'text-coverage-sentence-uncovered', 'coverage', 'warning', 'audit', 'TODO.roadmap/26, concept doc §11.6'),
157
+ R('C72', 'text-coverage-budget', 'coverage', 'error', 'audit', 'TODO.roadmap/26, concept doc §11.6'),
158
+ R('C73', 'text-coverage-config', 'coverage', 'error', 'normal', 'TODO.roadmap/26, concept doc §11.6'),
159
+ // ── edition lifecycle (TODO.roadmap/28, doctrine ch. 13 §13.4/§13.7) ──
160
+ // Versioning relations live on the package manifest, never in subject
161
+ // models: status (C77), validity windows (C78), supersedes/replaces
162
+ // resolution + acyclicity (C79), and the INV-8 execution-side pin —
163
+ // every instance's definition_versions resolves against the package's
164
+ // edition register (C80).
165
+ R('C77', 'edition-status', 'edition', 'error', 'normal', 'TODO.roadmap/28, doctrine §13.4'),
166
+ R('C78', 'edition-validity-window', 'edition', 'error', 'normal', 'TODO.roadmap/28, doctrine §13.7'),
167
+ R('C79', 'edition-supersedes-resolves', 'edition', 'error', 'normal', 'TODO.roadmap/28, doctrine §13.7'),
168
+ R('C80', 'edition-pin-resolves', 'edition', 'error', 'normal', 'TODO.roadmap/28, INV-8, doctrine §13.5'),
169
+ // ── the model supply chain (TODO.roadmap/36, doctrine ch. 15) ───────
170
+ // Three publishers — standard (reference), manufacturer (product
171
+ // reference), user (implementation) — with mapping as the only
172
+ // relation between them. C81: the product reference package's
173
+ // declaration resolves (manufacturer, product, maps_to register ⇆
174
+ // map profiles). C82: unmapped IS promises flagged at authoring (an
175
+ // unmapped promise is a brochure claim). C83: abstract imports pin a
176
+ // version that resolves against the product's edition register.
177
+ R('C81', 'product-maps-resolves', 'supply-chain', 'error', 'normal', 'TODO.roadmap/36, doctrine ch. 15 §15.9'),
178
+ R('C82', 'product-unmapped-promises', 'supply-chain', 'warning', 'normal', 'TODO.roadmap/36, doctrine ch. 15 §15.2/§15.9'),
179
+ R('C83', 'abstract-import-pinned', 'supply-chain', 'error', 'normal', 'TODO.roadmap/36, doctrine ch. 15 §15.3/§15.9'),
180
+ // ── subject-intrinsic constraints (TODO.roadmap/51, BUG.R60-SSOT gap 7)
181
+ // The constraint construct's declaration shape — the kernel mirror of
182
+ // the OIML SMART constraints.yaml schema (stereotype «inv», one ocl{…}
183
+ // check, required violation_meaning, on_violation invalid|indeterminate,
184
+ // source doc+clause). Duplicate ids are the parse-time duplicate-id
185
+ // rule (surfaced as C96); the resolution legs stay smart-side (linker
186
+ // R32).
187
+ R('C84', 'constraint-shape', 'anatomy', 'error', 'normal', 'TODO.roadmap/51, BUG.R60-SSOT gap 7'),
188
+ // ── manifest base URN (TODO.roadmap/27, task-27c review Important 1) ──
189
+ // baseUrn grounds every downstream IRI (the RDF projection's document
190
+ // node + instance IRIs, edition-normalized provenance comparisons) but
191
+ // the manifest field is a free string: a malformed value (`urn:bad
192
+ // urn`) sailed through check AND produced spec-malformed export
193
+ // documents. Same well-formedness class as C78's window check.
194
+ R('C85', 'baseurn-wellformed', 'edition', 'error', 'normal', 'TODO.roadmap/27, task-27c review'),
195
+ // ── the model-native DPP (TODO.roadmap/35, doctrine ch. 14 §14.6, ch. 15
196
+ // §15.6/§15.9) ──
197
+ // The passport is the product model's public projection — "it cannot
198
+ // drift from the model because it *is* the model" (§14.6). §15.9's
199
+ // passport rule: "the passport projection contains only aspects that
200
+ // resolve — public classes contain nothing marked restricted". C86:
201
+ // every content entry's class is one of the six declared classes and a
202
+ // qualified `<class>.<ref>` resolves against the package's declared
203
+ // aspects/promises (sustainability refs are not kernel-resolved — the
204
+ // ESPR delegated-act content models do not exist yet). C87: an entry
205
+ // marked restricted/authority that a public class reaches (exact entry
206
+ // or covering bare class) is a leak. C88: the UPI scheme declares its
207
+ // pattern and its ESPR level (model | batch | item).
208
+ R('C86', 'passport-content-resolves', 'supply-chain', 'error', 'normal', 'TODO.roadmap/35, doctrine ch. 15 §15.9'),
209
+ R('C87', 'passport-access-leak', 'supply-chain', 'error', 'normal', 'TODO.roadmap/35, doctrine ch. 15 §15.9'),
210
+ R('C88', 'passport-upi-scheme', 'supply-chain', 'error', 'normal', 'TODO.roadmap/35, doctrine ch. 14 §14.6'),
211
+ // ── ISO 24229 multilinguality (TODO.roadmap/25, doctrine ch. 10) ────
212
+ // Every human-readable string is spelling-coded per ISO 24229; BCP 47
213
+ // is not used. C89 is the SYNTAX layer: the manifest default_spelling
214
+ // and declared spellings parse (script mandatory), every text block
215
+ // addresses an existing element's prose field — <element-id>.<field>,
216
+ // or <element-id>.<path…>.<field> for prose nested inside the element
217
+ // (E13: intermediate segments name nested structures, list items key
218
+ // by declared name/order/slot, the terminal is a prose field) — every
219
+ // spell entry's code parses with no duplicate per set, the default
220
+ // spelling's value stays inline (never in a text block), and every via
221
+ // conversion code
222
+ // parses (zz- user-assigned codes warn). Register resolution is the
223
+ // consumer's vendored-snapshot discipline — primmel-ts stays
224
+ // register-free (src/spelling.ts validates shape only).
225
+ R('C89', 'spelling-code-wellformed', 'base', 'error', 'normal', 'TODO.roadmap/25, doctrine ch. 10 §10.7'),
226
+ // ── the architecture invariants (smart gap-close E9,
227
+ // analysis/architecture-gaps-2026-07.md; smart docs/oiml-core/
228
+ // 09-invariants.md) ──
229
+ // The `invariant` construct is the first-class replacement for the
230
+ // note-family encoding (pipe-delimited structure inside a message
231
+ // string). C90 is the declaration shape: every invariant carries
232
+ // name, statement, and severity (severity is presence-judged only —
233
+ // the smart side owns the vocabulary), and enforcement is a non-empty
234
+ // claim list XOR the literal `aspirational` marker. C91 is the claim
235
+ // grammar: kernel:C<n> | linker:<kebab-name> | gate:<kebab-name>, and
236
+ // the aspirational marker never mixes with claims. Claim TARGET
237
+ // resolution is the smart-side linker rule R38's crosswalk — the
238
+ // kernel checks syntax/shape only.
239
+ R('C90', 'invariant-shape', 'base', 'error', 'normal', 'smart architecture-gaps-2026-07.md E9, docs/oiml-core/09-invariants.md'),
240
+ R('C91', 'invariant-enforcement-grammar', 'base', 'error', 'normal', 'smart architecture-gaps-2026-07.md E9, docs/oiml-core/09-invariants.md'),
241
+ // ── the required test orderings (smart gap-close E10,
242
+ // analysis/architecture-gaps-2026-07.md; the smart contract
243
+ // data/schemas/test-sequences.yaml) ──
244
+ // The `test_sequence` construct is the first-class replacement for
245
+ // the hand-authored supplemental test-sequences.yaml. C92 is the
246
+ // declaration shape: every sequence carries name, description, and a
247
+ // non-empty steps list; every step's order is a positive integer
248
+ // unique in the sequence; every step carries test XOR phase; role
249
+ // appears only on test steps and only in the baseline | follow_up
250
+ // vocabulary; depends_on is an integer. C93 is the dependency
251
+ // integrity: every depends_on names the order of an EARLIER step of
252
+ // the same sequence (no self-reference, no forward reference, no
253
+ // dangling order — with single-parent earlier-order edges a cycle is
254
+ // impossible by construction, so the per-edge checks subsume it).
255
+ // Test-ref RESOLUTION is the smart-side linker rule R39's crosswalk —
256
+ // the kernel checks syntax/shape only.
257
+ R('C92', 'test-sequence-shape', 'base', 'error', 'normal', 'smart architecture-gaps-2026-07.md E10, data/schemas/test-sequences.yaml'),
258
+ R('C93', 'test-sequence-integrity', 'base', 'error', 'normal', 'smart architecture-gaps-2026-07.md E10, data/schemas/test-sequences.yaml'),
259
+ // ── the per-test evaluation-formula traces (smart gap-close E11,
260
+ // analysis/architecture-gaps-2026-07.md; the smart contract
261
+ // data/schemas/formulas-used.yaml) ──
262
+ // The `formulas_used` construct is the first-class replacement for
263
+ // the hand-authored supplemental formulas-used.yaml. C94 is the
264
+ // declaration shape: every trace carries a non-empty test reference
265
+ // (the block symbol), name, description, and a non-empty formulas
266
+ // list; every formula identifier is well-formed — the snake_case
267
+ // shape the calculations registry uses for output names. Entry
268
+ // uniqueness per test is the parse-time duplicate-id rule's, surfaced
269
+ // as C96 (the collection key IS the test reference). Formula-id
270
+ // RESOLUTION
271
+ // (calculations ∪ formulas registries) is the smart-side linker rule
272
+ // R41's crosswalk — the kernel checks syntax/shape only.
273
+ R('C94', 'formulas-used-shape', 'base', 'error', 'normal', 'smart architecture-gaps-2026-07.md E11, data/schemas/formulas-used.yaml'),
274
+ // ── cascade machine routing (smart gap-close E12,
275
+ // analysis/cascade-machine-routing-design.md §4–§5) ──
276
+ // A status-writing cascade step (a mechanical `set` containing
277
+ // `status`, or a semantic `submit`/`lock`) on a machinated target
278
+ // declares `via <transition-action>` and ROUTES the write through a
279
+ // declared transition of the target's own machine, closing the
280
+ // raw-write leak (the walker's cascade handlers Object.assign'd
281
+ // status onto target records with no machine consultation). C95 is
282
+ // the whole routing contract, eight legs (§5): via-present,
283
+ // via-resolves, via-matches-status, via-unguarded,
284
+ // via-forbidden-elsewhere, self-consistency (a self-step writes the
285
+ // owning transition's `to`), status-is-a-state, and fields-resolve
286
+ // (where paths and set/with names against the target entity's
287
+ // declared fields). The catalogued severity is the steady state —
288
+ // error; leg 1 is de-escalated to a warning in check.ts during the
289
+ // rollout window (the shipped corpus carries the 14 via-less steps of
290
+ // the design's §3.2 — the smart declaration leg adds the facets),
291
+ // the C33 de-escalation precedent. The smart-side mirror is linker
292
+ // rule R44 cascade-routing (the C89+R43 spelling-check precedent).
293
+ R('C95', 'cascade-transition-resolve', 'state', 'error', 'normal', 'smart architecture-gaps-2026-07.md E12, analysis/cascade-machine-routing-design.md'),
294
+ // ── id uniqueness (the parse-time rule, surfaced) ──────────────────
295
+ // The parser stays total on a second declaration of one id in one
296
+ // id-keyed collection (last wins the slot) and collects a duplicate-id
297
+ // parse issue; checkPackage surfaces those under C96 — the visibility
298
+ // half of every per-collection uniqueness delegation (C84 constraints,
299
+ // C94 formulas-used; the E11 review finding). Parse-time detection is
300
+ // load-bearing: the parser overwrites the ctx slot, so post-parse the
301
+ // earlier declaration is unrecoverable.
302
+ R('C96', 'duplicate-id', 'base', 'error', 'normal', 'src/duplicate-id.ts, the smart gap-close E11 review finding'),
303
+ // ── the certification program (TODO.v2/01, smart
304
+ // analysis/twin-certification-design.md Q4) ──
305
+ // A fourth publisher with the product_reference shape: the scheme
306
+ // operator's program is related to recs (maps_to) and product packages
307
+ // (pinned abstract imports, C83's edition-pin discipline) by mapping
308
+ // only — composed into nothing. C97: the program's maps_to register
309
+ // resolves (the C81-class resolution discipline) and names no program
310
+ // or product package. C98: a no-surveillance ISO/IEC 17067 scheme
311
+ // shape (type_1a/1b) declared alongside surveillance machinery
312
+ // (monitors, surveillance-classified processes) is a warning — the
313
+ // type_1a/1b shape structurally can't say "continuously".
314
+ R('C97', 'program-maps-resolves', 'base', 'error', 'normal', 'smart TODO.v2/01, analysis/twin-certification-design.md Q4'),
315
+ R('C98', 'program-surveillance-required', 'base', 'warning', 'normal', 'smart TODO.v2/01, analysis/twin-certification-design.md Q4, ISO/IEC 17067 Table 1'),
316
+ // C99 (smart TODO.v2/01 TCD-2; analysis/twin-certification-design.md
317
+ // Q2): the probe-channel provenance facet on a measured test variable —
318
+ // the three-source physical channel a reference reading arrives by.
319
+ // The kernel checks SHAPE and VOCABULARY (register-free): the channel is
320
+ // one of reference_instrument | observer_attestation | sim_ground_truth,
321
+ // the ref cites the channel's register entry, observed_at names a
322
+ // declared variable of the same test, and an observer_attestation
323
+ // channel carries the DECLARED traceability limitation ("twin ≡ display,
324
+ // not twin ≡ mass" — never a comment). The ref's RESOLUTION against the
325
+ // equipment/personnel/sim registers is the smart-side linker's
326
+ // crosswalk (R45).
327
+ R('C99', 'variable-provenance-channel', 'twins', 'error', 'normal', 'smart TODO.v2/01 TCD-2, analysis/twin-certification-design.md Q2'),
328
+ // ── the composition facet (TODO.integration/14; the YAML-side
329
+ // declaration of TODO.v3/03 proven first) ──
330
+ // C100: every composed_of component's product reference resolves (an
331
+ // inline `pkg/subject` names a subject of this package; a bare package
332
+ // id is registered for the supply-chain gate's C81-class resolution)
333
+ // and its endpoint is named. C101: every serve of the composite
334
+ // subject is covered by the decomposition exactly once. C102: the
335
+ // composite state rule's vocabulary is closed
336
+ // (any_fault_else_analyzer first — a new rule is a grammar extension,
337
+ // never a free string).
338
+ R('C100', 'composition-components-resolve', 'twins', 'error', 'normal', 'TODO.integration/14, the composed_of construct (TODO.v3/03 Phase 2)'),
339
+ R('C101', 'composition-decomposition-covers', 'twins', 'error', 'normal', 'TODO.integration/14, the composed_of construct (TODO.v3/03 Phase 2)'),
340
+ R('C102', 'composition-state-rule-closed', 'twins', 'error', 'normal', 'TODO.integration/14, the composed_of construct (TODO.v3/03 Phase 2)'),
341
+ ];
342
+ const byId = new Map(exports.CHECK_RULES.map(r => [r.id, r]));
343
+ /** The catalog entry for a rule id, or undefined for an unknown id. */
344
+ function checkRule(id) {
345
+ return byId.get(id);
346
+ }
347
+ /** Rule ids active at a level ('audit' includes the normal rules). */
348
+ function activeRuleIds(level) {
349
+ return new Set(exports.CHECK_RULES.filter(r => level === 'audit' || r.level === 'normal').map(r => r.id));
350
+ }
351
+ //# sourceMappingURL=check-rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-rules.js","sourceRoot":"","sources":["../../src/check-rules.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,sDAAsD;AACtD,EAAE;AACF,sEAAsE;AACtE,qEAAqE;AACrE,iCAAiC;AACjC,6DAA6D;AAC7D,kEAAkE;AAClE,oEAAoE;AACpE,yEAAyE;AACzE,8DAA8D;AAC9D,6BAA6B;AAC7B,+DAA+D;AAC/D,mEAAmE;AACnE,uEAAuE;AACvE,yEAAyE;AACzE,kEAAkE;AAClE,2DAA2D;AAC3D,wEAAwE;;;AAy/BxE,8BAEC;AAGD,sCAMC;AAt+BD,MAAM,CAAC,GAAG,CACR,EAAU,EACV,IAAY,EACZ,MAAmB,EACnB,QAA6B,EAC7B,KAAiB,EACjB,IAAY,EACD,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAE9D,qCAAqC;AACxB,QAAA,WAAW,GAAgB;IACtC,qEAAqE;IACrE,CAAC,CACC,IAAI,EACJ,sBAAsB,EACtB,MAAM,EACN,OAAO,EACP,QAAQ,EACR,mBAAmB,CACpB;IACD,CAAC,CACC,IAAI,EACJ,2BAA2B,EAC3B,MAAM,EACN,OAAO,EACP,QAAQ,EACR,mBAAmB,CACpB;IACD,CAAC,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,mBAAmB,CAAC;IAC1E,CAAC,CAAC,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,mBAAmB,CAAC;IAC3E,CAAC,CACC,IAAI,EACJ,mBAAmB,EACnB,MAAM,EACN,SAAS,EACT,QAAQ,EACR,wBAAwB,CACzB;IACD,CAAC,CACC,KAAK,EACL,qBAAqB,EACrB,MAAM,EACN,OAAO,EACP,QAAQ,EACR,mBAAmB,CACpB;IACD,CAAC,CACC,KAAK,EACL,iBAAiB,EACjB,MAAM,EACN,OAAO,EACP,QAAQ,EACR,yBAAyB,CAC1B;IACD,qEAAqE;IACrE,CAAC,CAAC,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,CAAC;IAC1E,CAAC,CACC,IAAI,EACJ,mCAAmC,EACnC,SAAS,EACT,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,CAAC,CACC,IAAI,EACJ,2BAA2B,EAC3B,SAAS,EACT,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,CAAC,CACC,IAAI,EACJ,0BAA0B,EAC1B,SAAS,EACT,SAAS,EACT,QAAQ,EACR,iBAAiB,CAClB;IACD,qEAAqE;IACrE,CAAC,CACC,KAAK,EACL,mBAAmB,EACnB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,CAAC,CACC,KAAK,EACL,sBAAsB,EACtB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,CAAC,CACC,KAAK,EACL,4BAA4B,EAC5B,SAAS,EACT,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,CAAC,CACC,KAAK,EACL,4BAA4B,EAC5B,SAAS,EACT,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,CAAC,CACC,KAAK,EACL,0BAA0B,EAC1B,SAAS,EACT,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,CAAC,CACC,KAAK,EACL,sBAAsB,EACtB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,CAAC,CACC,KAAK,EACL,yBAAyB,EACzB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,wEAAwE;IACxE,qEAAqE;IACrE,uEAAuE;IACvE,qDAAqD;IACrD,CAAC,CACC,KAAK,EACL,wBAAwB,EACxB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,sEAAsE;IACtE,uEAAuE;IACvE,wEAAwE;IACxE,8CAA8C;IAC9C,CAAC,CACC,KAAK,EACL,6BAA6B,EAC7B,SAAS,EACT,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,uEAAuE;IACvE,8DAA8D;IAC9D,iEAAiE;IACjE,+DAA+D;IAC/D,iEAAiE;IACjE,sEAAsE;IACtE,iEAAiE;IACjE,mEAAmE;IACnE,iEAAiE;IACjE,8DAA8D;IAC9D,mEAAmE;IACnE,qEAAqE;IACrE,kCAAkC;IAClC,mEAAmE;IACnE,0DAA0D;IAC1D,CAAC,CACC,KAAK,EACL,2BAA2B,EAC3B,SAAS,EACT,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,CAAC,CACC,KAAK,EACL,uBAAuB,EACvB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,CAAC,CACC,KAAK,EACL,4BAA4B,EAC5B,SAAS,EACT,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,qEAAqE;IACrE,CAAC,CACC,KAAK,EACL,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,CAAC,CACC,KAAK,EACL,sBAAsB,EACtB,eAAe,EACf,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,CAAC,CACC,KAAK,EACL,eAAe,EACf,eAAe,EACf,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,CAAC,CACC,KAAK,EACL,sBAAsB,EACtB,eAAe,EACf,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,qEAAqE;IACrE,CAAC,CACC,KAAK,EACL,kBAAkB,EAClB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,mCAAmC,CACpC;IACD,CAAC,CACC,KAAK,EACL,mBAAmB,EACnB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,mCAAmC,CACpC;IACD,CAAC,CACC,KAAK,EACL,8BAA8B,EAC9B,SAAS,EACT,OAAO,EACP,QAAQ,EACR,mCAAmC,CACpC;IACD,CAAC,CACC,KAAK,EACL,oBAAoB,EACpB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,mCAAmC,CACpC;IACD,CAAC,CACC,KAAK,EACL,qBAAqB,EACrB,SAAS,EACT,SAAS,EACT,OAAO,EACP,iBAAiB,CAClB;IACD,CAAC,CAAC,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,CAAC;IAC3E,qEAAqE;IACrE,CAAC,CACC,KAAK,EACL,eAAe,EACf,aAAa,EACb,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,CAAC,CACC,KAAK,EACL,kBAAkB,EAClB,aAAa,EACb,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,CAAC;IAC3E,CAAC,CACC,KAAK,EACL,6BAA6B,EAC7B,aAAa,EACb,SAAS,EACT,QAAQ,EACR,iBAAiB,CAClB;IACD,CAAC,CACC,KAAK,EACL,oBAAoB,EACpB,aAAa,EACb,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,qEAAqE;IACrE,CAAC,CACC,KAAK,EACL,uBAAuB,EACvB,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,wBAAwB,CACzB;IACD,CAAC,CACC,KAAK,EACL,oBAAoB,EACpB,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,CAAC,CACC,KAAK,EACL,mBAAmB,EACnB,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,CAAC,CAAC,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,CAAC;IAC3E,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,CAAC;IACxE,qEAAqE;IACrE,CAAC,CACC,KAAK,EACL,qBAAqB,EACrB,OAAO,EACP,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,CAAC,CACC,KAAK,EACL,yBAAyB,EACzB,OAAO,EACP,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,CAAC,CACC,KAAK,EACL,iCAAiC,EACjC,OAAO,EACP,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,CAAC,CACC,KAAK,EACL,wBAAwB,EACxB,OAAO,EACP,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,CAAC,CACC,KAAK,EACL,iCAAiC,EACjC,OAAO,EACP,SAAS,EACT,QAAQ,EACR,iBAAiB,CAClB;IACD,qEAAqE;IACrE,CAAC,CACC,KAAK,EACL,yBAAyB,EACzB,UAAU,EACV,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,CAAC,CACC,KAAK,EACL,oBAAoB,EACpB,UAAU,EACV,SAAS,EACT,QAAQ,EACR,iBAAiB,CAClB;IACD,CAAC,CACC,KAAK,EACL,wBAAwB,EACxB,UAAU,EACV,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,qEAAqE;IACrE,CAAC,CACC,KAAK,EACL,uBAAuB,EACvB,WAAW,EACX,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,CAAC,CACC,KAAK,EACL,4BAA4B,EAC5B,WAAW,EACX,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,CAAC,CACC,KAAK,EACL,8BAA8B,EAC9B,WAAW,EACX,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,qEAAqE;IACrE,CAAC,CACC,KAAK,EACL,yBAAyB,EACzB,iBAAiB,EACjB,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,CAAC,CACC,KAAK,EACL,8BAA8B,EAC9B,iBAAiB,EACjB,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,CAAC,CACC,KAAK,EACL,kCAAkC,EAClC,iBAAiB,EACjB,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB;IACD,uEAAuE;IACvE,CAAC,CACC,KAAK,EACL,uBAAuB,EACvB,OAAO,EACP,OAAO,EACP,QAAQ,EACR,kCAAkC,CACnC;IACD,CAAC,CACC,KAAK,EACL,yBAAyB,EACzB,OAAO,EACP,OAAO,EACP,QAAQ,EACR,wCAAwC,CACzC;IACD,CAAC,CACC,KAAK,EACL,4BAA4B,EAC5B,OAAO,EACP,OAAO,EACP,QAAQ,EACR,kCAAkC,CACnC;IACD,CAAC,CACC,KAAK,EACL,qCAAqC,EACrC,OAAO,EACP,OAAO,EACP,QAAQ,EACR,kCAAkC,CACnC;IACD,CAAC,CACC,KAAK,EACL,2BAA2B,EAC3B,OAAO,EACP,OAAO,EACP,QAAQ,EACR,iCAAiC,CAClC;IACD,6EAA6E;IAC7E,CAAC,CACC,KAAK,EACL,0BAA0B,EAC1B,OAAO,EACP,OAAO,EACP,QAAQ,EACR,wCAAwC,CACzC;IACD,CAAC,CACC,KAAK,EACL,4BAA4B,EAC5B,OAAO,EACP,OAAO,EACP,QAAQ,EACR,wCAAwC,CACzC;IACD,CAAC,CACC,KAAK,EACL,2BAA2B,EAC3B,OAAO,EACP,OAAO,EACP,QAAQ,EACR,kCAAkC,CACnC;IACD,wEAAwE;IACxE,oEAAoE;IACpE,oCAAoC;IACpC,CAAC,CACC,KAAK,EACL,yBAAyB,EACzB,OAAO,EACP,SAAS,EACT,QAAQ,EACR,kCAAkC,CACnC;IACD,CAAC,CACC,KAAK,EACL,6BAA6B,EAC7B,OAAO,EACP,OAAO,EACP,QAAQ,EACR,wCAAwC,CACzC;IACD,CAAC,CACC,KAAK,EACL,oBAAoB,EACpB,OAAO,EACP,OAAO,EACP,QAAQ,EACR,wCAAwC,CACzC;IACD,qEAAqE;IACrE,yEAAyE;IACzE,uEAAuE;IACvE,8DAA8D;IAC9D,sDAAsD;IACtD,CAAC,CACC,KAAK,EACL,wBAAwB,EACxB,UAAU,EACV,SAAS,EACT,OAAO,EACP,oCAAoC,CACrC;IACD,CAAC,CACC,KAAK,EACL,wBAAwB,EACxB,UAAU,EACV,SAAS,EACT,OAAO,EACP,oCAAoC,CACrC;IACD,CAAC,CACC,KAAK,EACL,qBAAqB,EACrB,UAAU,EACV,OAAO,EACP,QAAQ,EACR,oCAAoC,CACrC;IACD,CAAC,CACC,KAAK,EACL,8BAA8B,EAC9B,UAAU,EACV,OAAO,EACP,QAAQ,EACR,oCAAoC,CACrC;IACD,oEAAoE;IACpE,qEAAqE;IACrE,kEAAkE;IAClE,CAAC,CAAC,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,CAAC;IAC5E,uEAAuE;IACvE,mEAAmE;IACnE,mEAAmE;IACnE,uEAAuE;IACvE,0DAA0D;IAC1D,qEAAqE;IACrE,uEAAuE;IACvE,oEAAoE;IACpE,CAAC,CACC,KAAK,EACL,kCAAkC,EAClC,UAAU,EACV,SAAS,EACT,OAAO,EACP,oCAAoC,CACrC;IACD,CAAC,CACC,KAAK,EACL,sBAAsB,EACtB,UAAU,EACV,OAAO,EACP,OAAO,EACP,oCAAoC,CACrC;IACD,CAAC,CACC,KAAK,EACL,sBAAsB,EACtB,UAAU,EACV,OAAO,EACP,QAAQ,EACR,oCAAoC,CACrC;IACD,yEAAyE;IACzE,sEAAsE;IACtE,oEAAoE;IACpE,oEAAoE;IACpE,sEAAsE;IACtE,0BAA0B;IAC1B,CAAC,CACC,KAAK,EACL,gBAAgB,EAChB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,iCAAiC,CAClC;IACD,CAAC,CACC,KAAK,EACL,yBAAyB,EACzB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,iCAAiC,CAClC;IACD,CAAC,CACC,KAAK,EACL,6BAA6B,EAC7B,SAAS,EACT,OAAO,EACP,QAAQ,EACR,iCAAiC,CAClC;IACD,CAAC,CACC,KAAK,EACL,sBAAsB,EACtB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,wCAAwC,CACzC;IACD,uEAAuE;IACvE,iEAAiE;IACjE,+DAA+D;IAC/D,8DAA8D;IAC9D,kEAAkE;IAClE,oEAAoE;IACpE,qEAAqE;IACrE,gEAAgE;IAChE,CAAC,CACC,KAAK,EACL,uBAAuB,EACvB,cAAc,EACd,OAAO,EACP,QAAQ,EACR,wCAAwC,CACzC;IACD,CAAC,CACC,KAAK,EACL,2BAA2B,EAC3B,cAAc,EACd,SAAS,EACT,QAAQ,EACR,8CAA8C,CAC/C;IACD,CAAC,CACC,KAAK,EACL,wBAAwB,EACxB,cAAc,EACd,OAAO,EACP,QAAQ,EACR,8CAA8C,CAC/C;IACD,yEAAyE;IACzE,sEAAsE;IACtE,uEAAuE;IACvE,yEAAyE;IACzE,oEAAoE;IACpE,sEAAsE;IACtE,QAAQ;IACR,CAAC,CACC,KAAK,EACL,kBAAkB,EAClB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,qCAAqC,CACtC;IACD,yEAAyE;IACzE,sEAAsE;IACtE,uEAAuE;IACvE,mEAAmE;IACnE,gEAAgE;IAChE,+DAA+D;IAC/D,CAAC,CACC,KAAK,EACL,oBAAoB,EACpB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,kCAAkC,CACnC;IACD,0EAA0E;IAC1E,kBAAkB;IAClB,qEAAqE;IACrE,mEAAmE;IACnE,qEAAqE;IACrE,oEAAoE;IACpE,uEAAuE;IACvE,oEAAoE;IACpE,sEAAsE;IACtE,qEAAqE;IACrE,uEAAuE;IACvE,sEAAsE;IACtE,qDAAqD;IACrD,CAAC,CACC,KAAK,EACL,2BAA2B,EAC3B,cAAc,EACd,OAAO,EACP,QAAQ,EACR,wCAAwC,CACzC;IACD,CAAC,CACC,KAAK,EACL,sBAAsB,EACtB,cAAc,EACd,OAAO,EACP,QAAQ,EACR,wCAAwC,CACzC;IACD,CAAC,CACC,KAAK,EACL,qBAAqB,EACrB,cAAc,EACd,OAAO,EACP,QAAQ,EACR,wCAAwC,CACzC;IACD,uEAAuE;IACvE,sEAAsE;IACtE,sEAAsE;IACtE,oEAAoE;IACpE,sEAAsE;IACtE,sEAAsE;IACtE,qEAAqE;IACrE,sEAAsE;IACtE,mEAAmE;IACnE,uEAAuE;IACvE,kBAAkB;IAClB,oEAAoE;IACpE,6DAA6D;IAC7D,wDAAwD;IACxD,CAAC,CACC,KAAK,EACL,0BAA0B,EAC1B,MAAM,EACN,OAAO,EACP,QAAQ,EACR,wCAAwC,CACzC;IACD,sDAAsD;IACtD,+DAA+D;IAC/D,uBAAuB;IACvB,mEAAmE;IACnE,kEAAkE;IAClE,iEAAiE;IACjE,oEAAoE;IACpE,sEAAsE;IACtE,qEAAqE;IACrE,sEAAsE;IACtE,gEAAgE;IAChE,iEAAiE;IACjE,mCAAmC;IACnC,CAAC,CACC,KAAK,EACL,iBAAiB,EACjB,MAAM,EACN,OAAO,EACP,QAAQ,EACR,wEAAwE,CACzE;IACD,CAAC,CACC,KAAK,EACL,+BAA+B,EAC/B,MAAM,EACN,OAAO,EACP,QAAQ,EACR,wEAAwE,CACzE;IACD,uDAAuD;IACvD,4DAA4D;IAC5D,uCAAuC;IACvC,mEAAmE;IACnE,iEAAiE;IACjE,qEAAqE;IACrE,iEAAiE;IACjE,kEAAkE;IAClE,kEAAkE;IAClE,8DAA8D;IAC9D,oEAAoE;IACpE,iEAAiE;IACjE,qEAAqE;IACrE,kEAAkE;IAClE,sEAAsE;IACtE,uCAAuC;IACvC,CAAC,CACC,KAAK,EACL,qBAAqB,EACrB,MAAM,EACN,OAAO,EACP,QAAQ,EACR,0EAA0E,CAC3E;IACD,CAAC,CACC,KAAK,EACL,yBAAyB,EACzB,MAAM,EACN,OAAO,EACP,QAAQ,EACR,0EAA0E,CAC3E;IACD,kEAAkE;IAClE,4DAA4D;IAC5D,sCAAsC;IACtC,mEAAmE;IACnE,gEAAgE;IAChE,oEAAoE;IACpE,kEAAkE;IAClE,iEAAiE;IACjE,+DAA+D;IAC/D,sEAAsE;IACtE,gEAAgE;IAChE,aAAa;IACb,qEAAqE;IACrE,yDAAyD;IACzD,CAAC,CACC,KAAK,EACL,qBAAqB,EACrB,MAAM,EACN,OAAO,EACP,QAAQ,EACR,yEAAyE,CAC1E;IACD,mDAAmD;IACnD,uDAAuD;IACvD,+DAA+D;IAC/D,kEAAkE;IAClE,oEAAoE;IACpE,+DAA+D;IAC/D,gEAAgE;IAChE,mEAAmE;IACnE,4DAA4D;IAC5D,mDAAmD;IACnD,oEAAoE;IACpE,mEAAmE;IACnE,8DAA8D;IAC9D,kEAAkE;IAClE,mEAAmE;IACnE,sEAAsE;IACtE,kEAAkE;IAClE,mEAAmE;IACnE,mEAAmE;IACnE,CAAC,CACC,KAAK,EACL,4BAA4B,EAC5B,OAAO,EACP,OAAO,EACP,QAAQ,EACR,oFAAoF,CACrF;IACD,sEAAsE;IACtE,kEAAkE;IAClE,uEAAuE;IACvE,sEAAsE;IACtE,uEAAuE;IACvE,sEAAsE;IACtE,sEAAsE;IACtE,wCAAwC;IACxC,CAAC,CACC,KAAK,EACL,cAAc,EACd,MAAM,EACN,OAAO,EACP,QAAQ,EACR,6DAA6D,CAC9D;IACD,kDAAkD;IAClD,+CAA+C;IAC/C,kEAAkE;IAClE,uEAAuE;IACvE,qEAAqE;IACrE,oEAAoE;IACpE,sEAAsE;IACtE,kEAAkE;IAClE,+DAA+D;IAC/D,mEAAmE;IACnE,0DAA0D;IAC1D,CAAC,CACC,KAAK,EACL,uBAAuB,EACvB,MAAM,EACN,OAAO,EACP,QAAQ,EACR,4DAA4D,CAC7D;IACD,CAAC,CACC,KAAK,EACL,+BAA+B,EAC/B,MAAM,EACN,SAAS,EACT,QAAQ,EACR,mFAAmF,CACpF;IACD,qEAAqE;IACrE,wEAAwE;IACxE,oEAAoE;IACpE,yEAAyE;IACzE,yEAAyE;IACzE,kEAAkE;IAClE,kEAAkE;IAClE,yEAAyE;IACzE,wEAAwE;IACxE,+DAA+D;IAC/D,mBAAmB;IACnB,CAAC,CACC,KAAK,EACL,6BAA6B,EAC7B,OAAO,EACP,OAAO,EACP,QAAQ,EACR,kEAAkE,CACnE;IACD,+DAA+D;IAC/D,6CAA6C;IAC7C,qEAAqE;IACrE,uEAAuE;IACvE,qEAAqE;IACrE,gEAAgE;IAChE,kEAAkE;IAClE,8CAA8C;IAC9C,sEAAsE;IACtE,wBAAwB;IACxB,CAAC,CACC,MAAM,EACN,gCAAgC,EAChC,OAAO,EACP,OAAO,EACP,QAAQ,EACR,qEAAqE,CACtE;IACD,CAAC,CACC,MAAM,EACN,kCAAkC,EAClC,OAAO,EACP,OAAO,EACP,QAAQ,EACR,qEAAqE,CACtE;IACD,CAAC,CACC,MAAM,EACN,+BAA+B,EAC/B,OAAO,EACP,OAAO,EACP,QAAQ,EACR,qEAAqE,CACtE;CACF,CAAC;AAEF,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,mBAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAEtD,uEAAuE;AACvE,SAAgB,SAAS,CAAC,EAAU;IAClC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACtB,CAAC;AAED,sEAAsE;AACtE,SAAgB,aAAa,CAAC,KAAiB;IAC7C,OAAO,IAAI,GAAG,CACZ,mBAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,GAAG,CACpE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CACV,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,115 @@
1
+ import { type ResolvePackage } from './ser-des/package';
2
+ import type Standard from './types/Standard';
3
+ export interface CheckIssue {
4
+ check: string;
5
+ severity: 'error' | 'warning';
6
+ message: string;
7
+ /** True when an allowlist entry suppressed this issue (KNOWN — it
8
+ * prints, but it never counts as an error, even under --strict). */
9
+ known?: boolean;
10
+ }
11
+ /** Options for the mapping-aware rules (C21–C26). */
12
+ export interface CheckOptions {
13
+ /**
14
+ * 'normal' (default) | 'audit' — audit strictness additionally warns on
15
+ * mappings without a description (C25) and runs the audit-level
16
+ * coverage closure rules (C51 coverage-test-evidence, C52
17
+ * coverage-form-judgment).
18
+ */
19
+ strictness?: 'normal' | 'audit';
20
+ /**
21
+ * --strict: promote every warning to an error — EXCEPT KNOWN
22
+ * (allowlisted) issues and budget-covered C51/C52 coverage warnings
23
+ * (the package's coverage_budget is their allowance; exceeding it is
24
+ * already a C55 error).
25
+ */
26
+ strict?: boolean;
27
+ /**
28
+ * Reference models by namespace. C23 computes coverage against these;
29
+ * when a namespace is absent, the calculus falls back to the package's
30
+ * own `Namespace#…` alias forest (the declared local copies).
31
+ */
32
+ references?: Record<string, Standard>;
33
+ /**
34
+ * Package locator for the composition rules C27–C31 (TODO.roadmap/05).
35
+ * When provided and the manifest declares `uses`/`extends`, the whole
36
+ * dependency closure is composed and checked; without it those rules
37
+ * stay silent (a linter cannot verify resolution without a locator).
38
+ */
39
+ resolvePackage?: ResolvePackage;
40
+ }
41
+ export declare function checkPackage(dir: string, options?: CheckOptions): CheckIssue[];
42
+ export declare function checkManifestResolution(dir: string): CheckIssue[];
43
+ /**
44
+ * C89 — spelling-code-wellformed (TODO.roadmap/25; doctrine ch. 10 §10.7).
45
+ *
46
+ * Every human-readable string is spelling-coded per ISO 24229; BCP 47 is
47
+ * not used. The kernel checks the SYNTAX layer (src/spelling.ts) —
48
+ * register resolution (does this language/script/country/conversion
49
+ * system exist) is the consumer's vendored-snapshot discipline:
50
+ *
51
+ * - the manifest's default_spelling and declared spellings parse as
52
+ * spelling codes (language-script[-country][-extension]; the script
53
+ * is MANDATORY — a bare language code is an error), and the default
54
+ * belongs to the declared set;
55
+ * - every `text` block addresses an existing element's prose field.
56
+ * The address is `<element-id>.<field>` for a top-level field, or
57
+ * `<element-id>.<path…>.<field>` for prose NESTED inside the element
58
+ * (smart gap-close E13): the element is the longest dot-boundary
59
+ * prefix registered in the package (element ids may carry dots), an
60
+ * intermediate segment names a nested structure, a list item is
61
+ * keyed by its declared key (name/order/slot — never a positional
62
+ * index), and the terminal segment is a prose field. A dangling,
63
+ * scalar, or ambiguous segment is an error. The terminal segment's
64
+ * snake_case → camelCase fallback is DELIBERATE and terminal-only
65
+ * (TODO.v2/13 item 3b, pinned — the walk is NOT extended): the
66
+ * terminal draws from the FIXED prose-field vocabulary authored in
67
+ * snake_case (the PROSE_FIELDS set — `true_label`, `scope_note`, …)
68
+ * while the parsed structure holds the property camelCase
69
+ * (`trueLabel`, …), so the vocabulary lookup translates exactly
70
+ * there. Intermediate segments are not vocabulary lookups — they
71
+ * name nested structures by the parsed model's own property names
72
+ * or key list items by author-declared content (names/orders/slots)
73
+ * — so a case translation there would bless a second spelling of
74
+ * machine structure (and an ambiguity where `foo_bar` and `fooBar`
75
+ * collide); no shipped nested structure name needs it (the corpus
76
+ * legs);
77
+ * - every spell entry's code parses; a duplicate code within one
78
+ * content set is an error (use an extension to distinguish);
79
+ * - an entry repeating the package's default_spelling is an error —
80
+ * the default's value belongs inline on the element (`name "…"`);
81
+ * - every `via` conversion system code parses
82
+ * (titular:source:target:identifying); a `zz-` user-assigned code
83
+ * validates with a warning (user-assigned codes are not portable).
84
+ */
85
+ export declare function checkSpellingCodes(standard: Standard): CheckIssue[];
86
+ /**
87
+ * C77–C80 + C85 — edition lifecycle (TODO.roadmap/28; doctrine ch. 13
88
+ * §13.4/§13.7) and the manifest base URN (TODO.roadmap/27). Editions are
89
+ * packagings: the relations live on the manifest, and the checks run
90
+ * WITHOUT composing content (the checkManifestResolution sibling
91
+ * pattern — supersedes acyclicity is a property of the repo's manifest
92
+ * set).
93
+ *
94
+ * C77 edition-status: a current/preview edition packages the register's
95
+ * newest entry. (The status ENUM itself is enforced by the manifest
96
+ * parser, like `kind` — an unknown token is a parse error.)
97
+ * C78 edition-validity-window: the window is well-formed ISO 8601 and
98
+ * `to` is not before `from`.
99
+ * C79 edition-supersedes-resolves: supersedes/replaces targets are
100
+ * well-formed URNs, never the package itself; a target naming an
101
+ * earlier edition OF THE SAME document resolves against the edition
102
+ * register (warning when the register omits it); the supersedes
103
+ * graph over sibling manifests is acyclic.
104
+ * C80 edition-pin-resolves (INV-8): every instance's
105
+ * definition_versions pin resolves against the package's edition
106
+ * register (editions ∪ {version}) — an unresolvable pin breaks the
107
+ * re-execution guarantee (§13.5: after an edition change the engine
108
+ * must know exactly which reports re-judge).
109
+ * C85 baseurn-wellformed: the base URN is a well-formed IRI — it
110
+ * grounds every downstream IRI (the RDF projection, provenance
111
+ * comparisons), and the free-string field was the one manifest
112
+ * IRI surface nothing validated.
113
+ */
114
+ export declare function checkEditionLifecycle(dir: string, standard: Standard): CheckIssue[];
115
+ //# sourceMappingURL=check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/check.ts"],"names":[],"mappings":"AAqTA,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAW3B,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAsD7C,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB;yEACqE;IACrE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qDAAqD;AACrD,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAChC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AA+CD,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,YAAiB,GACzB,UAAU,EAAE,CAwtId;AAoBD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,EAAE,CAwFjE;AA4BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,EAAE,CAwQnE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ,GACjB,UAAU,EAAE,CA6Kd"}