@3f-consulting/spec-controller-core 0.1.0-alpha.7 → 0.1.0-alpha.70

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 (257) hide show
  1. package/README.md +3 -3
  2. package/dist/assemble/evidenceReconciliationFromSources.d.ts +5 -40
  3. package/dist/assemble/evidenceReconciliationFromSources.d.ts.map +1 -1
  4. package/dist/assemble/evidenceReconciliationFromSources.js +30 -325
  5. package/dist/assemble/evidenceReconciliationFromSources.js.map +1 -1
  6. package/dist/assemble/renderInput.d.ts +7 -73
  7. package/dist/assemble/renderInput.d.ts.map +1 -1
  8. package/dist/assemble/renderInput.js +3 -45
  9. package/dist/assemble/renderInput.js.map +1 -1
  10. package/dist/census/evidenceObligations.d.ts +11 -46
  11. package/dist/census/evidenceObligations.d.ts.map +1 -1
  12. package/dist/census/evidenceObligations.js +19 -25
  13. package/dist/census/evidenceObligations.js.map +1 -1
  14. package/dist/domain/evidenceOrder.d.ts +3 -0
  15. package/dist/domain/evidenceOrder.d.ts.map +1 -0
  16. package/dist/domain/evidenceOrder.js +15 -0
  17. package/dist/domain/evidenceOrder.js.map +1 -0
  18. package/dist/domain/evidenceReconciliation.d.ts +21 -391
  19. package/dist/domain/evidenceReconciliation.d.ts.map +1 -1
  20. package/dist/domain/evidenceReconciliation.js +87 -382
  21. package/dist/domain/evidenceReconciliation.js.map +1 -1
  22. package/dist/domain/featureCode.d.ts +4 -0
  23. package/dist/domain/featureCode.d.ts.map +1 -0
  24. package/dist/domain/featureCode.js +12 -0
  25. package/dist/domain/featureCode.js.map +1 -0
  26. package/dist/domain/journal.d.ts +8 -393
  27. package/dist/domain/journal.d.ts.map +1 -1
  28. package/dist/domain/journal.js +6 -118
  29. package/dist/domain/journal.js.map +1 -1
  30. package/dist/domain/ledger.d.ts +8 -328
  31. package/dist/domain/ledger.d.ts.map +1 -1
  32. package/dist/domain/ledger.js +23 -326
  33. package/dist/domain/ledger.js.map +1 -1
  34. package/dist/domain/messages.d.ts +213 -0
  35. package/dist/domain/messages.d.ts.map +1 -0
  36. package/dist/domain/messages.js +313 -0
  37. package/dist/domain/messages.js.map +1 -0
  38. package/dist/domain/outcome.d.ts +3 -0
  39. package/dist/domain/outcome.d.ts.map +1 -0
  40. package/dist/domain/outcome.js +2 -0
  41. package/dist/domain/outcome.js.map +1 -0
  42. package/dist/domain/posting.d.ts +8 -105
  43. package/dist/domain/posting.d.ts.map +1 -1
  44. package/dist/domain/posting.js +4 -56
  45. package/dist/domain/posting.js.map +1 -1
  46. package/dist/domain/qualityCheckFault.d.ts +3 -43
  47. package/dist/domain/qualityCheckFault.d.ts.map +1 -1
  48. package/dist/domain/qualityCheckFault.js +0 -24
  49. package/dist/domain/qualityCheckFault.js.map +1 -1
  50. package/dist/domain/qualityCheckReconciliation.d.ts +7 -280
  51. package/dist/domain/qualityCheckReconciliation.d.ts.map +1 -1
  52. package/dist/domain/qualityCheckReconciliation.js +63 -463
  53. package/dist/domain/qualityCheckReconciliation.js.map +1 -1
  54. package/dist/domain/qualityCheckReconciliationFault.d.ts +0 -19
  55. package/dist/domain/qualityCheckReconciliationFault.d.ts.map +1 -1
  56. package/dist/domain/qualityCheckReconciliationFault.js +1 -24
  57. package/dist/domain/qualityCheckReconciliationFault.js.map +1 -1
  58. package/dist/domain/scenarioCodeError.d.ts +16 -0
  59. package/dist/domain/scenarioCodeError.d.ts.map +1 -0
  60. package/dist/domain/scenarioCodeError.js +4 -0
  61. package/dist/domain/scenarioCodeError.js.map +1 -0
  62. package/dist/domain/scenarioReconciliation.d.ts +2 -207
  63. package/dist/domain/scenarioReconciliation.d.ts.map +1 -1
  64. package/dist/domain/scenarioReconciliation.js +4 -101
  65. package/dist/domain/scenarioReconciliation.js.map +1 -1
  66. package/dist/domain/scnAllocation.d.ts +27 -0
  67. package/dist/domain/scnAllocation.d.ts.map +1 -0
  68. package/dist/domain/scnAllocation.js +33 -0
  69. package/dist/domain/scnAllocation.js.map +1 -0
  70. package/dist/domain/verdictCode.d.ts +10 -0
  71. package/dist/domain/verdictCode.d.ts.map +1 -0
  72. package/dist/domain/verdictCode.js +16 -0
  73. package/dist/domain/verdictCode.js.map +1 -0
  74. package/dist/index.d.ts +14 -40
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +8 -88
  77. package/dist/index.js.map +1 -1
  78. package/dist/internal.d.ts +3 -27
  79. package/dist/internal.d.ts.map +1 -1
  80. package/dist/internal.js +3 -94
  81. package/dist/internal.js.map +1 -1
  82. package/dist/lib/bareTerm.d.ts +0 -39
  83. package/dist/lib/bareTerm.d.ts.map +1 -1
  84. package/dist/lib/bareTerm.js +0 -39
  85. package/dist/lib/bareTerm.js.map +1 -1
  86. package/dist/lib/portablePath.d.ts.map +1 -1
  87. package/dist/lib/portablePath.js +2 -16
  88. package/dist/lib/portablePath.js.map +1 -1
  89. package/dist/lib/scnCitation.d.ts +0 -32
  90. package/dist/lib/scnCitation.d.ts.map +1 -1
  91. package/dist/lib/scnCitation.js +2 -42
  92. package/dist/lib/scnCitation.js.map +1 -1
  93. package/dist/model.d.ts +0 -23
  94. package/dist/model.d.ts.map +1 -1
  95. package/dist/model.js +0 -23
  96. package/dist/model.js.map +1 -1
  97. package/dist/parse/checkScriptsRunInCI.d.ts +5 -168
  98. package/dist/parse/checkScriptsRunInCI.d.ts.map +1 -1
  99. package/dist/parse/checkScriptsRunInCI.js +11 -171
  100. package/dist/parse/checkScriptsRunInCI.js.map +1 -1
  101. package/dist/parse/ciStepRecord.d.ts +4 -118
  102. package/dist/parse/ciStepRecord.d.ts.map +1 -1
  103. package/dist/parse/ciStepRecord.js +18 -225
  104. package/dist/parse/ciStepRecord.js.map +1 -1
  105. package/dist/parse/commandRuns.d.ts +0 -39
  106. package/dist/parse/commandRuns.d.ts.map +1 -1
  107. package/dist/parse/commandRuns.js +6 -67
  108. package/dist/parse/commandRuns.js.map +1 -1
  109. package/dist/parse/cucumber.d.ts +0 -53
  110. package/dist/parse/cucumber.d.ts.map +1 -1
  111. package/dist/parse/cucumber.js +42 -146
  112. package/dist/parse/cucumber.js.map +1 -1
  113. package/dist/parse/discoveryScope.d.ts +1 -46
  114. package/dist/parse/discoveryScope.d.ts.map +1 -1
  115. package/dist/parse/discoveryScope.js +2 -57
  116. package/dist/parse/discoveryScope.js.map +1 -1
  117. package/dist/parse/fitnessCitations.d.ts +1 -72
  118. package/dist/parse/fitnessCitations.d.ts.map +1 -1
  119. package/dist/parse/fitnessCitations.js +3 -55
  120. package/dist/parse/fitnessCitations.js.map +1 -1
  121. package/dist/parse/reconcilerSteps.d.ts +0 -46
  122. package/dist/parse/reconcilerSteps.d.ts.map +1 -1
  123. package/dist/parse/reconcilerSteps.js +2 -64
  124. package/dist/parse/reconcilerSteps.js.map +1 -1
  125. package/dist/parse/runningFitnessFunctions.d.ts +9 -0
  126. package/dist/parse/runningFitnessFunctions.d.ts.map +1 -0
  127. package/dist/parse/runningFitnessFunctions.js +57 -0
  128. package/dist/parse/runningFitnessFunctions.js.map +1 -0
  129. package/dist/parse/scenarioCodeErrors.d.ts +11 -0
  130. package/dist/parse/scenarioCodeErrors.d.ts.map +1 -0
  131. package/dist/parse/scenarioCodeErrors.js +78 -0
  132. package/dist/parse/scenarioCodeErrors.js.map +1 -0
  133. package/dist/parse/scenarios.d.ts +3 -228
  134. package/dist/parse/scenarios.d.ts.map +1 -1
  135. package/dist/parse/scenarios.js +20 -457
  136. package/dist/parse/scenarios.js.map +1 -1
  137. package/dist/parse/stepAccounting.d.ts +0 -46
  138. package/dist/parse/stepAccounting.d.ts.map +1 -1
  139. package/dist/parse/stepAccounting.js +1 -55
  140. package/dist/parse/stepAccounting.js.map +1 -1
  141. package/dist/parse/stepExclusions.d.ts +0 -47
  142. package/dist/parse/stepExclusions.d.ts.map +1 -1
  143. package/dist/parse/stepExclusions.js +2 -50
  144. package/dist/parse/stepExclusions.js.map +1 -1
  145. package/dist/parse/stepNames.d.ts +0 -27
  146. package/dist/parse/stepNames.d.ts.map +1 -1
  147. package/dist/parse/stepNames.js +0 -27
  148. package/dist/parse/stepNames.js.map +1 -1
  149. package/dist/parse/targetCorpus.d.ts +1 -78
  150. package/dist/parse/targetCorpus.d.ts.map +1 -1
  151. package/dist/parse/targetCorpus.js +4 -46
  152. package/dist/parse/targetCorpus.js.map +1 -1
  153. package/dist/parse/targetManifest.d.ts +8 -146
  154. package/dist/parse/targetManifest.d.ts.map +1 -1
  155. package/dist/parse/targetManifest.js +48 -198
  156. package/dist/parse/targetManifest.js.map +1 -1
  157. package/dist/parse/vitest.d.ts +0 -60
  158. package/dist/parse/vitest.d.ts.map +1 -1
  159. package/dist/parse/vitest.js +4 -83
  160. package/dist/parse/vitest.js.map +1 -1
  161. package/dist/provenance/provenance.d.ts +2 -110
  162. package/dist/provenance/provenance.d.ts.map +1 -1
  163. package/dist/provenance/provenance.js +2 -58
  164. package/dist/provenance/provenance.js.map +1 -1
  165. package/dist/render/behaviouralRunners.d.ts +0 -29
  166. package/dist/render/behaviouralRunners.d.ts.map +1 -1
  167. package/dist/render/behaviouralRunners.js +6 -69
  168. package/dist/render/behaviouralRunners.js.map +1 -1
  169. package/dist/render/configurationNotRead.d.ts +3 -0
  170. package/dist/render/configurationNotRead.d.ts.map +1 -0
  171. package/dist/render/configurationNotRead.js +17 -0
  172. package/dist/render/configurationNotRead.js.map +1 -0
  173. package/dist/render/discoveryScope.d.ts +0 -37
  174. package/dist/render/discoveryScope.d.ts.map +1 -1
  175. package/dist/render/discoveryScope.js +3 -39
  176. package/dist/render/discoveryScope.js.map +1 -1
  177. package/dist/render/evidenceGrid.d.ts +1 -35
  178. package/dist/render/evidenceGrid.d.ts.map +1 -1
  179. package/dist/render/evidenceGrid.js +21 -103
  180. package/dist/render/evidenceGrid.js.map +1 -1
  181. package/dist/render/excludedSteps.d.ts +0 -26
  182. package/dist/render/excludedSteps.d.ts.map +1 -1
  183. package/dist/render/excludedSteps.js +4 -32
  184. package/dist/render/excludedSteps.js.map +1 -1
  185. package/dist/render/fitnessFunctions.d.ts +3 -0
  186. package/dist/render/fitnessFunctions.d.ts.map +1 -0
  187. package/dist/render/fitnessFunctions.js +12 -0
  188. package/dist/render/fitnessFunctions.js.map +1 -0
  189. package/dist/render/json.d.ts +0 -11
  190. package/dist/render/json.d.ts.map +1 -1
  191. package/dist/render/json.js +0 -11
  192. package/dist/render/json.js.map +1 -1
  193. package/dist/render/markdown.d.ts +1 -55
  194. package/dist/render/markdown.d.ts.map +1 -1
  195. package/dist/render/markdown.js +128 -467
  196. package/dist/render/markdown.js.map +1 -1
  197. package/dist/render/provenanceSection.d.ts +0 -22
  198. package/dist/render/provenanceSection.d.ts.map +1 -1
  199. package/dist/render/provenanceSection.js +10 -53
  200. package/dist/render/provenanceSection.js.map +1 -1
  201. package/dist/render/reconcilerSteps.d.ts +0 -25
  202. package/dist/render/reconcilerSteps.d.ts.map +1 -1
  203. package/dist/render/reconcilerSteps.js +5 -30
  204. package/dist/render/reconcilerSteps.js.map +1 -1
  205. package/dist/render/runVerdict.d.ts +0 -38
  206. package/dist/render/runVerdict.d.ts.map +1 -1
  207. package/dist/render/runVerdict.js +62 -129
  208. package/dist/render/runVerdict.js.map +1 -1
  209. package/dist/render/scenarioCodeErrorsSection.d.ts +3 -0
  210. package/dist/render/scenarioCodeErrorsSection.d.ts.map +1 -0
  211. package/dist/render/scenarioCodeErrorsSection.js +45 -0
  212. package/dist/render/scenarioCodeErrorsSection.js.map +1 -0
  213. package/dist/render/stepAccounting.d.ts +0 -36
  214. package/dist/render/stepAccounting.d.ts.map +1 -1
  215. package/dist/render/stepAccounting.js +5 -49
  216. package/dist/render/stepAccounting.js.map +1 -1
  217. package/dist/render/testVolume.d.ts +0 -25
  218. package/dist/render/testVolume.d.ts.map +1 -1
  219. package/dist/render/testVolume.js +4 -35
  220. package/dist/render/testVolume.js.map +1 -1
  221. package/package.json +4 -1
  222. package/dist/domain/checkCharacteristics.d.ts +0 -88
  223. package/dist/domain/checkCharacteristics.d.ts.map +0 -1
  224. package/dist/domain/checkCharacteristics.js +0 -109
  225. package/dist/domain/checkCharacteristics.js.map +0 -1
  226. package/dist/domain/fitnessChecks.d.ts +0 -79
  227. package/dist/domain/fitnessChecks.d.ts.map +0 -1
  228. package/dist/domain/fitnessChecks.js +0 -81
  229. package/dist/domain/fitnessChecks.js.map +0 -1
  230. package/dist/domain/qualityCheckFaultMessages.d.ts +0 -43
  231. package/dist/domain/qualityCheckFaultMessages.d.ts.map +0 -1
  232. package/dist/domain/qualityCheckFaultMessages.js +0 -38
  233. package/dist/domain/qualityCheckFaultMessages.js.map +0 -1
  234. package/dist/lib/featureCode.d.ts +0 -21
  235. package/dist/lib/featureCode.d.ts.map +0 -1
  236. package/dist/lib/featureCode.js +0 -24
  237. package/dist/lib/featureCode.js.map +0 -1
  238. package/dist/parse/corpusCodeFaults.d.ts +0 -76
  239. package/dist/parse/corpusCodeFaults.d.ts.map +0 -1
  240. package/dist/parse/corpusCodeFaults.js +0 -121
  241. package/dist/parse/corpusCodeFaults.js.map +0 -1
  242. package/dist/parse/corpusFaults.d.ts +0 -124
  243. package/dist/parse/corpusFaults.d.ts.map +0 -1
  244. package/dist/parse/corpusFaults.js +0 -72
  245. package/dist/parse/corpusFaults.js.map +0 -1
  246. package/dist/parse/corpusGrammarFaults.d.ts +0 -71
  247. package/dist/parse/corpusGrammarFaults.d.ts.map +0 -1
  248. package/dist/parse/corpusGrammarFaults.js +0 -292
  249. package/dist/parse/corpusGrammarFaults.js.map +0 -1
  250. package/dist/parse/runningStaticChecks.d.ts +0 -125
  251. package/dist/parse/runningStaticChecks.d.ts.map +0 -1
  252. package/dist/parse/runningStaticChecks.js +0 -316
  253. package/dist/parse/runningStaticChecks.js.map +0 -1
  254. package/dist/render/staticChecks.d.ts +0 -23
  255. package/dist/render/staticChecks.d.ts.map +0 -1
  256. package/dist/render/staticChecks.js +0 -69
  257. package/dist/render/staticChecks.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"qualityCheckReconciliation.js","sourceRoot":"","sources":["../../src/domain/qualityCheckReconciliation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qualityCheckReconciliation.js","sourceRoot":"","sources":["../../src/domain/qualityCheckReconciliation.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,7 @@
1
- /**
2
- * THE ERROR A REFUSED MINTING THROWS (@SCN-MSG-001, 3F-2872) — a code and its parameters, with the
3
- * prose derived rather than embedded.
4
- *
5
- * `message` is still rendered, by indexing the catalogue, so a stack trace reads as it always did;
6
- * what a CALLER reads is `code` and `fault`, and that is the whole contract. No test reads the
7
- * message, and none may: the prose is the one thing here allowed to be rewritten without a ticket.
8
- *
9
- * WHY THIS IS ITS OWN MODULE, AND NOT BESIDE THE ENUM. The catalogue must import the enum to key
10
- * itself, and this class must import the catalogue to render. Housing the class with the enum
11
- * therefore closes a RUNTIME import cycle: entering at `qualityCheckFault.ts` would evaluate the
12
- * catalogue while the enum was still uninitialised, and every computed key would read `undefined`.
13
- * Splitting the vocabulary (the enum + union), the data (the catalogue) and the behaviour (this
14
- * class) into three modules makes the dependency a straight line — and leaves the catalogue alone
15
- * in its file, which is what lets `stryker.config.mjs`'s `mutate` exclusion name a pure-data target
16
- * and nothing else. The exclusion is the config's, not a scenario's: @SCN-MSG-002 claims only that
17
- * every code has a message carrying its own fault's parameters (3F-3490).
18
- */
19
1
  import { QualityCheckFaultCode, type QualityCheckFault } from "./qualityCheckFault.js";
20
2
  export declare class QualityCheckReconciliationFault extends Error {
21
3
  readonly fault: QualityCheckFault;
22
4
  constructor(fault: QualityCheckFault);
23
- /** Which divergence this is — the discriminant, lifted for a caller that does not want the payload. */
24
5
  get code(): QualityCheckFaultCode;
25
6
  }
26
7
  //# sourceMappingURL=qualityCheckReconciliationFault.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"qualityCheckReconciliationFault.d.ts","sourceRoot":"","sources":["../../src/domain/qualityCheckReconciliationFault.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAGvF,qBAAa,+BAAgC,SAAQ,KAAK;IAC5C,QAAQ,CAAC,KAAK,EAAE,iBAAiB;gBAAxB,KAAK,EAAE,iBAAiB;IAS7C,uGAAuG;IACvG,IAAI,IAAI,IAAI,qBAAqB,CAEhC;CACF"}
1
+ {"version":3,"file":"qualityCheckReconciliationFault.d.ts","sourceRoot":"","sources":["../../src/domain/qualityCheckReconciliationFault.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAGvF,qBAAa,+BAAgC,SAAQ,KAAK;IAC5C,QAAQ,CAAC,KAAK,EAAE,iBAAiB;gBAAxB,KAAK,EAAE,iBAAiB;IAK7C,IAAI,IAAI,IAAI,qBAAqB,CAEhC;CACF"}
@@ -1,34 +1,11 @@
1
- /**
2
- * THE ERROR A REFUSED MINTING THROWS (@SCN-MSG-001, 3F-2872) — a code and its parameters, with the
3
- * prose derived rather than embedded.
4
- *
5
- * `message` is still rendered, by indexing the catalogue, so a stack trace reads as it always did;
6
- * what a CALLER reads is `code` and `fault`, and that is the whole contract. No test reads the
7
- * message, and none may: the prose is the one thing here allowed to be rewritten without a ticket.
8
- *
9
- * WHY THIS IS ITS OWN MODULE, AND NOT BESIDE THE ENUM. The catalogue must import the enum to key
10
- * itself, and this class must import the catalogue to render. Housing the class with the enum
11
- * therefore closes a RUNTIME import cycle: entering at `qualityCheckFault.ts` would evaluate the
12
- * catalogue while the enum was still uninitialised, and every computed key would read `undefined`.
13
- * Splitting the vocabulary (the enum + union), the data (the catalogue) and the behaviour (this
14
- * class) into three modules makes the dependency a straight line — and leaves the catalogue alone
15
- * in its file, which is what lets `stryker.config.mjs`'s `mutate` exclusion name a pure-data target
16
- * and nothing else. The exclusion is the config's, not a scenario's: @SCN-MSG-002 claims only that
17
- * every code has a message carrying its own fault's parameters (3F-3490).
18
- */
19
- import { QUALITY_CHECK_FAULT_MESSAGES } from "./qualityCheckFaultMessages.js";
1
+ import { QUALITY_CHECK_FAULT_MESSAGES } from "./messages.js";
20
2
  export class QualityCheckReconciliationFault extends Error {
21
3
  fault;
22
4
  constructor(fault) {
23
- // The cast is the standard correlated-union workaround: TypeScript cannot see that
24
- // `MESSAGES[fault.code]` accepts this `fault`, though the mapped type guarantees it key by key.
25
5
  super(QUALITY_CHECK_FAULT_MESSAGES[fault.code](fault));
26
6
  this.fault = fault;
27
- // The identifier, never a re-typed string: a literal here would put the class's own name back
28
- // on the mutated surface — the exact move this feature exists to undo.
29
7
  this.name = QualityCheckReconciliationFault.name;
30
8
  }
31
- /** Which divergence this is — the discriminant, lifted for a caller that does not want the payload. */
32
9
  get code() {
33
10
  return this.fault.code;
34
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"qualityCheckReconciliationFault.js","sourceRoot":"","sources":["../../src/domain/qualityCheckReconciliationFault.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAE9E,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IACnC;IAArB,YAAqB,KAAwB;QAC3C,mFAAmF;QACnF,gGAAgG;QAChG,KAAK,CAAE,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAsC,CAAC,KAAK,CAAC,CAAC,CAAC;QAH1E,UAAK,GAAL,KAAK,CAAmB;QAI3C,8FAA8F;QAC9F,uEAAuE;QACvE,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC,IAAI,CAAC;IACnD,CAAC;IAED,uGAAuG;IACvG,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;CACF"}
1
+ {"version":3,"file":"qualityCheckReconciliationFault.js","sourceRoot":"","sources":["../../src/domain/qualityCheckReconciliationFault.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAE7D,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IACnC;IAArB,YAAqB,KAAwB;QAC3C,KAAK,CAAE,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAsC,CAAC,KAAK,CAAC,CAAC,CAAC;QAD1E,UAAK,GAAL,KAAK,CAAmB;QAE3C,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC,IAAI,CAAC;IACnD,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;CACF"}
@@ -0,0 +1,16 @@
1
+ export type ScenarioCodeErrorKind = "foreign-scn-code" | "no-feature-code" | "duplicate-feature-code";
2
+ export interface ScenarioCodeError {
3
+ readonly kind: ScenarioCodeErrorKind;
4
+ readonly files: readonly string[];
5
+ readonly namedFeatureCode?: string;
6
+ readonly namedFeatureFiles?: readonly string[];
7
+ readonly message: string;
8
+ }
9
+ export interface ScenarioCodePopulation {
10
+ readonly featureFiles: number;
11
+ readonly featureCodes: number;
12
+ }
13
+ export declare function hasScenarioCodeErrors(reconciliation: {
14
+ readonly scenarioCodeErrors?: readonly ScenarioCodeError[];
15
+ }): boolean;
16
+ //# sourceMappingURL=scenarioCodeError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scenarioCodeError.d.ts","sourceRoot":"","sources":["../../src/domain/scenarioCodeError.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,wBAAwB,CAAC;AAEtG,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,wBAAgB,qBAAqB,CAAC,cAAc,EAAE;IACpD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC5D,GAAG,OAAO,CAEV"}
@@ -0,0 +1,4 @@
1
+ export function hasScenarioCodeErrors(reconciliation) {
2
+ return (reconciliation.scenarioCodeErrors ?? []).length > 0;
3
+ }
4
+ //# sourceMappingURL=scenarioCodeError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scenarioCodeError.js","sourceRoot":"","sources":["../../src/domain/scenarioCodeError.ts"],"names":[],"mappings":"AAeA,MAAM,UAAU,qBAAqB,CAAC,cAErC;IACC,OAAO,CAAC,cAAc,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9D,CAAC"}
@@ -1,226 +1,21 @@
1
- /**
2
- * THE SCENARIO RECONCILIATION — the account (canon: "bookkeeping term: Account"), holding its
3
- * posted debits and credits, its reconciled sub-rows, and its binary verdict. This module
4
- * co-locates the concept's type with its OWN behaviour: `verdictFor` (the binary roll-up) and
5
- * `reconcilingItemsOf` (the non-balanced items), the pure derivations that were the reconcile
6
- * orchestration's private helpers (module, not class; the rule lives WITH the concept).
7
- */
8
1
  import type { EvidenceObligation, EvidenceObservation, PendingItem } from "./journal.js";
9
2
  import type { QualityCheckReconciliation } from "./qualityCheckReconciliation.js";
10
- /**
11
- * The scenario-level VERDICT — its OWN type, distinct from Outcome
12
- * (superseding the `ScenarioOutcome = Outcome` collapse).
13
- *
14
- * A ledger is BINARY: `balanced` (every evidenceObligation balances — zero
15
- * reconciling items) or `out-of-balance` (one or more). The two discrepancy kinds
16
- * (failing, missing) are different problems, not points
17
- * on one scale, so the verdict does NOT rank them into a single picked outcome — an
18
- * out-of-balance scenario carries the full LIST of its non-balanced reconciling
19
- * items (`ScenarioReconciliation.reconcilingItems`), reported in full by the renderers.
20
- */
21
3
  export type ScenarioVerdict = "balanced" | "out-of-balance";
22
- /**
23
- * The scenario-kind discriminator — which KIND of scenario a Scenario
24
- * Reconciliation row is *about* (Account ≠ Scenario):
25
- * - `scenario` — a real scenario (the ordinary row).
26
- * - `phantom-scenario` — a cited-but-UNKNOWN scenario id: an evidence observation
27
- * cites an `@SCN` no feature carries (outcome
28
- * `cites-unknown-scenario`; @SCN-LDG-006).
29
- * - `suspense-scenario` — the placeholder for credits citing NO scenario (outcome
30
- * `cites-no-scenario`; arrives with LDG-007).
31
- * The enum carries all three now; LDG-006 PRODUCES only `scenario` + `phantom-scenario`.
32
- * Reserve `scenario`/`scenarios` for the real kind — the collection is the
33
- * `scenarioReconciliations`, never `scenarios`.
34
- */
35
4
  export type ScenarioKind = "scenario" | "phantom-scenario" | "suspense-scenario";
36
- /** A scenario's reconciliation outcome — its per-evidenceObligation outcomes + the verdict. */
37
5
  export interface ScenarioReconciliation {
38
6
  scnId: string;
39
- /**
40
- * The scenario-kind this row is about — `scenario` on a real row, `phantom-scenario` on a
41
- * cited-but-unknown row, `suspense-scenario` on the cites-nothing placeholder.
42
- *
43
- * REQUIRED (3F-1861). It was optional, defaulting to `scenario`, "for back-compat with
44
- * hand-built fixtures" — the model made ambiguous to accommodate the test data. Stating the
45
- * kind is now unskippable.
46
- */
47
7
  kind: ScenarioKind;
48
- /**
49
- * The binary scenario verdict: `balanced` iff EVERY required quality-check
50
- * balances; otherwise `out-of-balance`.
51
- */
52
8
  verdict: ScenarioVerdict;
53
- /**
54
- * The POSTED CREDITS — every evidence observation that posts to THIS account (@SCN-LDG-022).
55
- * The account is the Scenario Reconciliation (canon: "bookkeeping term: Account"), and this is
56
- * where its credits SIT: canon's Ledger is "the evidence obligations (debits) and evidence
57
- * observations (credits) organised by real or invented scenario, keyed by quality-check".
58
- * Named for canon's vocabulary — NEVER `credits`, which is the bookkeeping ROOT of the metaphor,
59
- * not the vocabulary (the same reason Evidence Reconciliation rejects the alias "trial balance",
60
- * "kept as the bookkeeping root of the metaphor").
61
- *
62
- * POSTING IS NOT CLASSIFYING. An observation posts here whatever it later reconciles to — or
63
- * even when it reconciles to NOTHING. A credit citing a `<quality-check>pending` obligation
64
- * produces no `QualityCheckReconciliation` at all (the obligation is partitioned off before the
65
- * match, and the pending pair keeps the credit out of `no-evidence-obligation`), and it posts here ANYWAY:
66
- * a misclassification must MISFILE an entry, never vaporise it. So this array is NOT derivable
67
- * from `qualityCheckReconciliations` — that is the whole point of the layer.
68
- *
69
- * THE ACCOUNT IS THE CITATION, never the outcome. A credit citing a REAL @SCN posts to that
70
- * scenario's account; one citing an unknown @SCN posts to that phantom account; one citing NO
71
- * scenario posts to suspense. Exactly one account each, jointly exhaustive over the input.
72
- *
73
- * REQUIRED (3F-1861) — `[]` states "nothing posted" explicitly. It was optional, defaulting to
74
- * `[]` "for back-compat with hand-built fixtures", which collapsed "nothing posted" and
75
- * "unstated" into the same absence: a reader could not tell them apart, and a fold read 0 on a
76
- * fixture that had merely never spoken.
77
- */
78
9
  evidenceObservations: EvidenceObservation[];
79
- /**
80
- * The POSTED DEBITS — every evidence obligation THIS scenario RAISES (@SCN-LDG-023), keyed by
81
- * quality-check. The debit half of `evidenceObservations` above: canon's Ledger is "the evidence
82
- * obligations (debits) and evidence observations (credits) organised by real or invented
83
- * scenario, KEYED BY QUALITY-CHECK", and this is where an account's debits SIT.
84
- *
85
- * Named for canon's vocabulary — NEVER `debits`, the bookkeeping ROOT of the metaphor rather than
86
- * the vocabulary (the same reason Evidence Reconciliation rejects the alias "trial balance",
87
- * "kept as the bookkeeping root of the metaphor"). The name is free because 3F-1846 renamed the
88
- * misnomer that held it — see `qualityCheckReconciliations` below.
89
- *
90
- * POSTING IS NOT CLASSIFYING, on this side too. A `<quality-check>pending` obligation partitions
91
- * off to a one-sided Pending Item BEFORE the observation match and earns NO
92
- * `QualityCheckReconciliation` at all — and it posts here ANYWAY. So this array is NOT derivable
93
- * from `qualityCheckReconciliations`; that is the whole point of the layer.
94
- *
95
- * THE ACCOUNT IS THE SCENARIO ITSELF. Unlike a credit there is no citation to follow and no
96
- * suspense: an obligation always has a real account, by construction. The accounts a CREDIT
97
- * mints — phantom and suspense — raise nothing, so their debit side is empty. That asymmetry
98
- * is real, not an omission.
99
- *
100
- * REQUIRED (3F-1861) — `[]` states "nothing raised" explicitly, which is the honest value on a
101
- * phantom or suspense account. It was optional, defaulting to `[]` "for back-compat with
102
- * hand-built fixtures", which made the real asymmetry above indistinguishable from a fixture
103
- * that had simply not said.
104
- */
105
10
  evidenceObligations: EvidenceObligation[];
106
- /**
107
- * Every reconciled quality-check's outcome (the full per-quality-check breakdown) — the SUB-ROWS
108
- * of this account, typed `QualityCheckReconciliation[]`. Renamed from `evidenceObligations`
109
- * (3F-1846): it holds reconciled sub-rows, not posted debits, and canon lists "reconciled
110
- * evidence obligation" under Quality Check Reconciliation's REJECTED ALIASES — so the old name
111
- * carried a rejected alias. The rename frees `evidenceObligations` for the real posted debits
112
- * (3F-1847).
113
- */
114
11
  qualityCheckReconciliations: QualityCheckReconciliation[];
115
- /**
116
- * The non-balanced reconciling items — EMPTY when balanced; otherwise EVERY
117
- * non-balanced evidenceObligation (no prioritisation, no picked winner), in document
118
- * order. This is the list an out-of-balance verdict carries.
119
- */
120
12
  reconcilingItems: QualityCheckReconciliation[];
121
- /**
122
- * The one-sided PENDING ITEMS — one per `<quality-check>pending` obligation the
123
- * scenario carries (evidence-manifesto §11B). PARTITIONED OFF before reconciliation:
124
- * a Pending Item is never a Reconciling Item (never in `evidenceObligations` /
125
- * `reconcilingItems`), so `verdictFor` / `reconcilingItemsOf` / `isBalanced` need no
126
- * pending-awareness. REQUIRED — `[]` when the scenario raised no pending obligation. (The
127
- * comment here claimed it was OPTIONAL with an `ABSENCE ≡ []` default; the field never was.
128
- * Corrected with 3F-1861, which removed that convention from the fields that really had it.)
129
- */
130
13
  pendingItems: PendingItem[];
131
14
  }
132
- /**
133
- * Reduce a scenario's reconciling items to its binary VERDICT:
134
- * `balanced` IFF the scenario has NO reconciling item; otherwise `out-of-balance`,
135
- * carrying the FULL list of non-balanced items (no prioritisation, no picked
136
- * winner — `reconcilingItemsOf` carries them all, the renderers list them all).
137
- * The verdict is DERIVED from reconciling-item emptiness, so the two stay in lock
138
- * step by construction (an out-of-balance verdict always has ≥1 item; a balanced
139
- * one always has zero).
140
- *
141
- * Empty-list case (@SCN-PND-007): a scenario reconciling to an EMPTY
142
- * evidenceObligations set has no reconciling item, so it is `balanced` — verdict-neutral.
143
- * This is the ONLY-PENDING scenario: its sole obligation partitioned off to a
144
- * one-sided Pending Item upstream, leaving zero reconciled rows. A Pending Item
145
- * never contributes a reconciling item, so it never tips the verdict. (Deriving
146
- * from emptiness — not `every satisfied` over a non-empty list — is what makes the
147
- * empty list read `balanced` rather than the earlier vacuous `out-of-balance`.)
148
- *
149
- * Both-missing is NOT this case: the degenerate zero-rows-on-both-sides scenario
150
- * (no obligation, no pending, no citing observation) is posted ONE `both-missing`
151
- * reconciling item UPSTREAM by `reconcile`, so its list is NON-empty and it stays
152
- * `out-of-balance` — untouched by the emptiness derivation.
153
- */
154
15
  export declare function verdictFor(evidenceObligations: QualityCheckReconciliation[]): ScenarioVerdict;
155
- /**
156
- * The non-balanced reconciling items — EVERY one (no prioritisation, no picked
157
- * winner), in document order. Empty when the scenario is balanced.
158
- */
159
16
  export declare function reconcilingItemsOf(evidenceObligations: QualityCheckReconciliation[]): QualityCheckReconciliation[];
160
- /**
161
- * Is this row about a REAL scenario? (3F-2230.)
162
- *
163
- * Canon, Scenario: a `Scenario` names only the REAL thing — a cited-but-unknown id is a
164
- * **phantom scenario**, and the bucket for uncited credits is the **suspense scenario**; neither
165
- * is a scenario. This function is that sentence; every consumer that needs the real-scenario cut
166
- * asks it rather than restating it.
167
- *
168
- * It had no home and was open-coded FIVE times — four in the renderer, one in the Ledger's lint
169
- * fold — as the double negative `kind !== "phantom-scenario" && kind !== "suspense-scenario"`. They
170
- * agreed by copy, not by construction: any one could have grown a clause alone and nothing would
171
- * have redded.
172
- *
173
- * STATED POSITIVELY, which is not merely tidier. `ScenarioKind` has exactly three values, so the
174
- * double negative is equivalent TODAY — but only by exhaustion. A fourth kind would silently fall
175
- * into the real-scenario cut under the negative form and be excluded under this one, and canon is
176
- * unambiguous about which is right: `scenario` is reserved for the REAL thing, so a kind nobody
177
- * has taught this function about is not one.
178
- */
179
17
  export declare function isScenario(row: ScenarioReconciliation): boolean;
180
- /**
181
- * A row's STATIC-CHECK sub-rows — its `lint` Quality Check Reconciliations, in document order, one
182
- * per static-check obligation the scenario named (3F-2203).
183
- *
184
- * The OBLIGATION-side cut: `lint` reconciliations only ever arise from an obligation, so this
185
- * is the row's named-static-check count as well as its list. It is the single source both the
186
- * renderer's grid cell and the Ledger's `lintTally` read — they each re-derived it before, agreeing
187
- * by copy.
188
- */
189
- export declare function staticCheckReconciliationsOf(row: ScenarioReconciliation): QualityCheckReconciliation[];
190
- /**
191
- * How many of a row's named static checks are PRESENT (3F-2203) — the count of `lint`
192
- * reconciliations that found a real script, whether or not it is wired.
193
- *
194
- * PRESENCE IS NOT QUALITY, and that is the whole rule: `satisfied` (wired into CI over the real
195
- * source) and `watermelon` (the script exists but guards nothing) BOTH count, because both mean a
196
- * static check is THERE. Only `missing` — no script at all — is absent. The watermelon's inadequacy
197
- * is quality, and quality is reported in the reconciling items (🍉), never by shrinking this count.
198
- *
199
- * A domain fact, not a rendering choice: which outcomes imply the check exists is the outcome
200
- * vocabulary's business, the same class as `OUT_OF_BALANCE_OUTCOMES`. The renderer READS it.
201
- */
202
- export declare function presentStaticCheckCountOf(row: ScenarioReconciliation): number;
203
- /**
204
- * A real scenario row's SUB-ROWS — the reconciled debits and the credit-side no-evidence-obligation items
205
- * together, degenerating to the ONE `both-missing` item when the row reconciled to nothing either
206
- * way (@SCN-LDG-009, 3F-2204). The row-SHAPE rule, so it lives with the row.
207
- *
208
- * BOTH-MISSING is the NEITHER-side outcome: zero obligations AND zero no-evidence-obligation credits.
209
- * It is detected on ROWS-EMITTED — the concatenated set being empty — never on
210
- * `evidenceObligations.length === 0`. That distinction is load-bearing: a zero-obligation scenario
211
- * whose `@SCN` IS cited by a stray credit (@SCN-LDG-010, the twin) already produced a `no-evidence-obligation`
212
- * row above, so it falls through here and is never both-missing. Keying on the obligation count
213
- * instead would post a spurious degenerate item beside a real one.
214
- *
215
- * THE PENDING CLAUSE (@SCN-PND-004) — the degenerate item fires only on zero rows AND zero Pending
216
- * Items. A scenario whose ONLY obligation is pending reconciles to zero rows on both sides and is
217
- * NOT both-missing: it is balanced-with-pending, the partition having made "nothing is reconciled"
218
- * true by construction. Without the clause an only-pending scenario would post a spurious
219
- * both-missing and red a run canon says is deferred, not broken. (A bare-empty scenario — no
220
- * obligation, no pending, no citation — is still both-missing, which is the point of the rule.)
221
- *
222
- * This retires the zero-evidence-scenario warning (@SCN-WRN-001 Update): a zero-evidence scenario is
223
- * an out-of-balance row now, not a separate authoring-quality axis excluded from the balance.
224
- */
18
+ export declare function fitnessFunctionReconciliationsOf(row: ScenarioReconciliation): QualityCheckReconciliation[];
19
+ export declare function presentFitnessFunctionCountOf(row: ScenarioReconciliation): number;
225
20
  export declare function qualityCheckReconciliationsOf(reconciledEvidenceObligations: readonly QualityCheckReconciliation[], noEvidenceObligationItems: readonly QualityCheckReconciliation[], pendingItems: readonly PendingItem[]): QualityCheckReconciliation[];
226
21
  //# sourceMappingURL=scenarioReconciliation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scenarioReconciliation.d.ts","sourceRoot":"","sources":["../../src/domain/scenarioReconciliation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACZ,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAKlF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,gBAAgB,CAAC;AAE5D;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;AAEjF,+FAA+F;AAC/F,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;;OAOG;IACH,IAAI,EAAE,YAAY,CAAC;IACnB;;;OAGG;IACH,OAAO,EAAE,eAAe,CAAC;IACzB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;IAC1C;;;;;;;OAOG;IACH,2BAA2B,EAAE,0BAA0B,EAAE,CAAC;IAC1D;;;;OAIG;IACH,gBAAgB,EAAE,0BAA0B,EAAE,CAAC;IAC/C;;;;;;;;OAQG;IACH,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,UAAU,CAAC,mBAAmB,EAAE,0BAA0B,EAAE,GAAG,eAAe,CAE7F;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,mBAAmB,EAAE,0BAA0B,EAAE,GAChD,0BAA0B,EAAE,CAE9B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAE/D;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,sBAAsB,GAC1B,0BAA0B,EAAE,CAE9B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,sBAAsB,GAAG,MAAM,CAI7E;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,6BAA6B,CAC3C,6BAA6B,EAAE,SAAS,0BAA0B,EAAE,EACpE,yBAAyB,EAAE,SAAS,0BAA0B,EAAE,EAChE,YAAY,EAAE,SAAS,WAAW,EAAE,GACnC,0BAA0B,EAAE,CAG9B"}
1
+ {"version":3,"file":"scenarioReconciliation.d.ts","sourceRoot":"","sources":["../../src/domain/scenarioReconciliation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACZ,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAGlF,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,gBAAgB,CAAC;AAE5D,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;AAEjF,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,eAAe,CAAC;IACzB,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;IAC1C,2BAA2B,EAAE,0BAA0B,EAAE,CAAC;IAC1D,gBAAgB,EAAE,0BAA0B,EAAE,CAAC;IAC/C,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B;AAED,wBAAgB,UAAU,CAAC,mBAAmB,EAAE,0BAA0B,EAAE,GAAG,eAAe,CAE7F;AAED,wBAAgB,kBAAkB,CAChC,mBAAmB,EAAE,0BAA0B,EAAE,GAChD,0BAA0B,EAAE,CAE9B;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAE/D;AAED,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,sBAAsB,GAC1B,0BAA0B,EAAE,CAE9B;AAED,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,sBAAsB,GAAG,MAAM,CAIjF;AAED,wBAAgB,6BAA6B,CAC3C,6BAA6B,EAAE,SAAS,0BAA0B,EAAE,EACpE,yBAAyB,EAAE,SAAS,0BAA0B,EAAE,EAChE,YAAY,EAAE,SAAS,WAAW,EAAE,GACnC,0BAA0B,EAAE,CAG9B"}
@@ -1,116 +1,19 @@
1
- /**
2
- * THE SCENARIO RECONCILIATION — the account (canon: "bookkeeping term: Account"), holding its
3
- * posted debits and credits, its reconciled sub-rows, and its binary verdict. This module
4
- * co-locates the concept's type with its OWN behaviour: `verdictFor` (the binary roll-up) and
5
- * `reconcilingItemsOf` (the non-balanced items), the pure derivations that were the reconcile
6
- * orchestration's private helpers (module, not class; the rule lives WITH the concept).
7
- */
8
- // The degenerate item's CONSTRUCTION stays with the item concept; the rule for WHEN a row carries
9
- // it instead of its sub-rows is the ROW's, so it lives here (3F-2204).
10
1
  import { bothMissingReconciliation } from "./qualityCheckReconciliation.js";
11
- /**
12
- * Reduce a scenario's reconciling items to its binary VERDICT:
13
- * `balanced` IFF the scenario has NO reconciling item; otherwise `out-of-balance`,
14
- * carrying the FULL list of non-balanced items (no prioritisation, no picked
15
- * winner — `reconcilingItemsOf` carries them all, the renderers list them all).
16
- * The verdict is DERIVED from reconciling-item emptiness, so the two stay in lock
17
- * step by construction (an out-of-balance verdict always has ≥1 item; a balanced
18
- * one always has zero).
19
- *
20
- * Empty-list case (@SCN-PND-007): a scenario reconciling to an EMPTY
21
- * evidenceObligations set has no reconciling item, so it is `balanced` — verdict-neutral.
22
- * This is the ONLY-PENDING scenario: its sole obligation partitioned off to a
23
- * one-sided Pending Item upstream, leaving zero reconciled rows. A Pending Item
24
- * never contributes a reconciling item, so it never tips the verdict. (Deriving
25
- * from emptiness — not `every satisfied` over a non-empty list — is what makes the
26
- * empty list read `balanced` rather than the earlier vacuous `out-of-balance`.)
27
- *
28
- * Both-missing is NOT this case: the degenerate zero-rows-on-both-sides scenario
29
- * (no obligation, no pending, no citing observation) is posted ONE `both-missing`
30
- * reconciling item UPSTREAM by `reconcile`, so its list is NON-empty and it stays
31
- * `out-of-balance` — untouched by the emptiness derivation.
32
- */
33
2
  export function verdictFor(evidenceObligations) {
34
3
  return reconcilingItemsOf(evidenceObligations).length === 0 ? "balanced" : "out-of-balance";
35
4
  }
36
- /**
37
- * The non-balanced reconciling items — EVERY one (no prioritisation, no picked
38
- * winner), in document order. Empty when the scenario is balanced.
39
- */
40
5
  export function reconcilingItemsOf(evidenceObligations) {
41
6
  return evidenceObligations.filter((r) => r.outcome !== "satisfied");
42
7
  }
43
- /**
44
- * Is this row about a REAL scenario? (3F-2230.)
45
- *
46
- * Canon, Scenario: a `Scenario` names only the REAL thing — a cited-but-unknown id is a
47
- * **phantom scenario**, and the bucket for uncited credits is the **suspense scenario**; neither
48
- * is a scenario. This function is that sentence; every consumer that needs the real-scenario cut
49
- * asks it rather than restating it.
50
- *
51
- * It had no home and was open-coded FIVE times — four in the renderer, one in the Ledger's lint
52
- * fold — as the double negative `kind !== "phantom-scenario" && kind !== "suspense-scenario"`. They
53
- * agreed by copy, not by construction: any one could have grown a clause alone and nothing would
54
- * have redded.
55
- *
56
- * STATED POSITIVELY, which is not merely tidier. `ScenarioKind` has exactly three values, so the
57
- * double negative is equivalent TODAY — but only by exhaustion. A fourth kind would silently fall
58
- * into the real-scenario cut under the negative form and be excluded under this one, and canon is
59
- * unambiguous about which is right: `scenario` is reserved for the REAL thing, so a kind nobody
60
- * has taught this function about is not one.
61
- */
62
8
  export function isScenario(row) {
63
9
  return row.kind === "scenario";
64
10
  }
65
- /**
66
- * A row's STATIC-CHECK sub-rows — its `lint` Quality Check Reconciliations, in document order, one
67
- * per static-check obligation the scenario named (3F-2203).
68
- *
69
- * The OBLIGATION-side cut: `lint` reconciliations only ever arise from an obligation, so this
70
- * is the row's named-static-check count as well as its list. It is the single source both the
71
- * renderer's grid cell and the Ledger's `lintTally` read — they each re-derived it before, agreeing
72
- * by copy.
73
- */
74
- export function staticCheckReconciliationsOf(row) {
75
- return row.qualityCheckReconciliations.filter((r) => r.qualityCheck === "lint");
11
+ export function fitnessFunctionReconciliationsOf(row) {
12
+ return row.qualityCheckReconciliations.filter((r) => r.qualityCheck === "fitness");
76
13
  }
77
- /**
78
- * How many of a row's named static checks are PRESENT (3F-2203) — the count of `lint`
79
- * reconciliations that found a real script, whether or not it is wired.
80
- *
81
- * PRESENCE IS NOT QUALITY, and that is the whole rule: `satisfied` (wired into CI over the real
82
- * source) and `watermelon` (the script exists but guards nothing) BOTH count, because both mean a
83
- * static check is THERE. Only `missing` — no script at all — is absent. The watermelon's inadequacy
84
- * is quality, and quality is reported in the reconciling items (🍉), never by shrinking this count.
85
- *
86
- * A domain fact, not a rendering choice: which outcomes imply the check exists is the outcome
87
- * vocabulary's business, the same class as `OUT_OF_BALANCE_OUTCOMES`. The renderer READS it.
88
- */
89
- export function presentStaticCheckCountOf(row) {
90
- return staticCheckReconciliationsOf(row).filter((r) => r.outcome === "satisfied" || r.outcome === "watermelon").length;
14
+ export function presentFitnessFunctionCountOf(row) {
15
+ return fitnessFunctionReconciliationsOf(row).filter((r) => r.outcome === "satisfied" || r.outcome === "watermelon").length;
91
16
  }
92
- /**
93
- * A real scenario row's SUB-ROWS — the reconciled debits and the credit-side no-evidence-obligation items
94
- * together, degenerating to the ONE `both-missing` item when the row reconciled to nothing either
95
- * way (@SCN-LDG-009, 3F-2204). The row-SHAPE rule, so it lives with the row.
96
- *
97
- * BOTH-MISSING is the NEITHER-side outcome: zero obligations AND zero no-evidence-obligation credits.
98
- * It is detected on ROWS-EMITTED — the concatenated set being empty — never on
99
- * `evidenceObligations.length === 0`. That distinction is load-bearing: a zero-obligation scenario
100
- * whose `@SCN` IS cited by a stray credit (@SCN-LDG-010, the twin) already produced a `no-evidence-obligation`
101
- * row above, so it falls through here and is never both-missing. Keying on the obligation count
102
- * instead would post a spurious degenerate item beside a real one.
103
- *
104
- * THE PENDING CLAUSE (@SCN-PND-004) — the degenerate item fires only on zero rows AND zero Pending
105
- * Items. A scenario whose ONLY obligation is pending reconciles to zero rows on both sides and is
106
- * NOT both-missing: it is balanced-with-pending, the partition having made "nothing is reconciled"
107
- * true by construction. Without the clause an only-pending scenario would post a spurious
108
- * both-missing and red a run canon says is deferred, not broken. (A bare-empty scenario — no
109
- * obligation, no pending, no citation — is still both-missing, which is the point of the rule.)
110
- *
111
- * This retires the zero-evidence-scenario warning (@SCN-WRN-001 Update): a zero-evidence scenario is
112
- * an out-of-balance row now, not a separate authoring-quality axis excluded from the balance.
113
- */
114
17
  export function qualityCheckReconciliationsOf(reconciledEvidenceObligations, noEvidenceObligationItems, pendingItems) {
115
18
  const rows = [...reconciledEvidenceObligations, ...noEvidenceObligationItems];
116
19
  return rows.length === 0 && pendingItems.length === 0 ? [bothMissingReconciliation()] : rows;
@@ -1 +1 @@
1
- {"version":3,"file":"scenarioReconciliation.js","sourceRoot":"","sources":["../../src/domain/scenarioReconciliation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,kGAAkG;AAClG,uEAAuE;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AA+H5E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,UAAU,CAAC,mBAAiD;IAC1E,OAAO,kBAAkB,CAAC,mBAAmB,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC;AAC9F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,mBAAiD;IAEjD,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC;AACtE,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,UAAU,CAAC,GAA2B;IACpD,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC;AACjC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAC1C,GAA2B;IAE3B,OAAO,GAAG,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,MAAM,CAAC,CAAC;AAClF,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAA2B;IACnE,OAAO,4BAA4B,CAAC,GAAG,CAAC,CAAC,MAAM,CAC7C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,WAAW,IAAI,CAAC,CAAC,OAAO,KAAK,YAAY,CAC/D,CAAC,MAAM,CAAC;AACX,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,6BAA6B,CAC3C,6BAAoE,EACpE,yBAAgE,EAChE,YAAoC;IAEpC,MAAM,IAAI,GAAG,CAAC,GAAG,6BAA6B,EAAE,GAAG,yBAAyB,CAAC,CAAC;IAC9E,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/F,CAAC"}
1
+ {"version":3,"file":"scenarioReconciliation.js","sourceRoot":"","sources":["../../src/domain/scenarioReconciliation.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAiB5E,MAAM,UAAU,UAAU,CAAC,mBAAiD;IAC1E,OAAO,kBAAkB,CAAC,mBAAmB,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC;AAC9F,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,mBAAiD;IAEjD,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAA2B;IACpD,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,GAA2B;IAE3B,OAAO,GAAG,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,GAA2B;IACvE,OAAO,gCAAgC,CAAC,GAAG,CAAC,CAAC,MAAM,CACjD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,WAAW,IAAI,CAAC,CAAC,OAAO,KAAK,YAAY,CAC/D,CAAC,MAAM,CAAC;AACX,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,6BAAoE,EACpE,yBAAgE,EAChE,YAAoC;IAEpC,MAAM,IAAI,GAAG,CAAC,GAAG,6BAA6B,EAAE,GAAG,yBAAyB,CAAC,CAAC;IAC9E,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/F,CAAC"}
@@ -0,0 +1,27 @@
1
+ export interface ScnOccurrence {
2
+ readonly text: string;
3
+ readonly path: string;
4
+ readonly line: number;
5
+ readonly commit?: string;
6
+ }
7
+ export interface AllocationRequest {
8
+ readonly part: string;
9
+ readonly headerCodes: readonly string[];
10
+ readonly isNew?: boolean;
11
+ }
12
+ export interface UnknownPart {
13
+ readonly kind: "unknown-part";
14
+ readonly part: string;
15
+ readonly headerCodes: readonly string[];
16
+ }
17
+ export interface Allocation {
18
+ readonly kind: "allocated";
19
+ readonly code: string;
20
+ readonly highest: {
21
+ readonly code: string;
22
+ readonly occurrence: ScnOccurrence;
23
+ } | null;
24
+ readonly alreadyHeaded?: boolean;
25
+ }
26
+ export declare function nextScnCode(request: AllocationRequest, occurrences: readonly ScnOccurrence[]): Allocation | UnknownPart;
27
+ //# sourceMappingURL=scnAllocation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scnAllocation.d.ts","sourceRoot":"","sources":["../../src/domain/scnAllocation.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAA;KAAE,GAAG,IAAI,CAAC;IACvF,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AA0BD,wBAAgB,WAAW,CAAC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,SAAS,aAAa,EAAE,GAAG,UAAU,GAAG,WAAW,CASvH"}
@@ -0,0 +1,33 @@
1
+ import { SCN_ID_SOURCE, featureCodeOf } from "./featureCode.js";
2
+ const NUMBER_WIDTH = 3;
3
+ const SCN_CODES = new RegExp(SCN_ID_SOURCE, "g");
4
+ function numberOf(code) {
5
+ return Number(code.slice(code.lastIndexOf("-") + 1));
6
+ }
7
+ function outranks(code, occurrence, highest) {
8
+ const difference = numberOf(code) - numberOf(highest.code);
9
+ return difference > 0 || (difference === 0 && occurrence.commit === undefined && highest.occurrence.commit !== undefined);
10
+ }
11
+ function highestOf(part, occurrences) {
12
+ let highest = null;
13
+ for (const occurrence of occurrences) {
14
+ for (const [code] of occurrence.text.matchAll(SCN_CODES)) {
15
+ if (featureCodeOf(code) !== part)
16
+ continue;
17
+ if (highest === null || outranks(code, occurrence, highest))
18
+ highest = { code, occurrence };
19
+ }
20
+ }
21
+ return highest;
22
+ }
23
+ export function nextScnCode(request, occurrences) {
24
+ const headed = request.headerCodes.includes(request.part);
25
+ if (!headed && request.isNew !== true) {
26
+ return { kind: "unknown-part", part: request.part, headerCodes: [...new Set(request.headerCodes)].sort() };
27
+ }
28
+ const highest = highestOf(request.part, occurrences);
29
+ const next = (highest === null ? 0 : numberOf(highest.code)) + 1;
30
+ const code = `SCN-${request.part}-${String(next).padStart(NUMBER_WIDTH, "0")}`;
31
+ return headed && request.isNew === true ? { kind: "allocated", code, highest, alreadyHeaded: true } : { kind: "allocated", code, highest };
32
+ }
33
+ //# sourceMappingURL=scnAllocation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scnAllocation.js","sourceRoot":"","sources":["../../src/domain/scnAllocation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA4BhE,MAAM,YAAY,GAAG,CAAC,CAAC;AAEvB,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;AAEjD,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,UAAyB,EAAE,OAA2C;IACpG,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,OAAO,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;AAC5H,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,WAAqC;IACpE,IAAI,OAAO,GAA0B,IAAI,CAAC;IAC1C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACzD,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,IAAI;gBAAE,SAAS;YAC3C,IAAI,OAAO,KAAK,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC;gBAAE,OAAO,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAC9F,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAA0B,EAAE,WAAqC;IAC3F,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACtC,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;IAC7G,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACjE,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC;IAC/E,OAAO,MAAM,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC7I,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Ledger } from "./ledger.js";
2
+ import { type ScenarioCodeError } from "./scenarioCodeError.js";
3
+ export type VerdictCode = 0 | 1 | 3 | 4 | 5;
4
+ export interface VerdictInputs {
5
+ readonly ledger: Ledger;
6
+ readonly scenarioCodeErrors?: readonly ScenarioCodeError[];
7
+ readonly strict: boolean;
8
+ }
9
+ export declare function verdictCode(run: VerdictInputs): VerdictCode;
10
+ //# sourceMappingURL=verdictCode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verdictCode.d.ts","sourceRoot":"","sources":["../../src/domain/verdictCode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAyB,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEvF,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC3D,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW,CAO3D"}