@principles/core 1.287.1 → 1.287.2

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 (1590) hide show
  1. package/dist/runtime-v2/activation/index.d.ts +2 -2
  2. package/dist/runtime-v2/activation/index.d.ts.map +1 -1
  3. package/dist/runtime-v2/activation/index.js +1 -1
  4. package/dist/runtime-v2/activation/index.js.map +1 -1
  5. package/dist/runtime-v2/activation/production-gate-deps.d.ts +9 -5
  6. package/dist/runtime-v2/activation/production-gate-deps.d.ts.map +1 -1
  7. package/dist/runtime-v2/activation/production-gate-deps.js +50 -10
  8. package/dist/runtime-v2/activation/production-gate-deps.js.map +1 -1
  9. package/dist/runtime-v2/activation/promotion-evidence-snapshot.d.ts +34 -0
  10. package/dist/runtime-v2/activation/promotion-evidence-snapshot.d.ts.map +1 -1
  11. package/dist/runtime-v2/activation/promotion-evidence-snapshot.js +57 -0
  12. package/dist/runtime-v2/activation/promotion-evidence-snapshot.js.map +1 -1
  13. package/dist/runtime-v2/{internalization/__tests__/__fixtures__/split-pipeline-mock-outputs.d.ts → adapter/split-pipeline-fixtures.d.ts} +8 -4
  14. package/dist/runtime-v2/adapter/split-pipeline-fixtures.d.ts.map +1 -0
  15. package/dist/runtime-v2/{internalization/__tests__/__fixtures__/split-pipeline-mock-outputs.js → adapter/split-pipeline-fixtures.js} +5 -1
  16. package/dist/runtime-v2/adapter/split-pipeline-fixtures.js.map +1 -0
  17. package/dist/runtime-v2/adapter/test-double-runtime-adapter.d.ts +1 -1
  18. package/dist/runtime-v2/adapter/test-double-runtime-adapter.js +2 -2
  19. package/dist/runtime-v2/adapter/test-double-runtime-adapter.js.map +1 -1
  20. package/dist/runtime-v2/index.d.ts +4 -3
  21. package/dist/runtime-v2/index.d.ts.map +1 -1
  22. package/dist/runtime-v2/index.js +2 -2
  23. package/dist/runtime-v2/index.js.map +1 -1
  24. package/dist/runtime-v2/internalization/refiner-sandbox-wrapper.d.ts +8 -5
  25. package/dist/runtime-v2/internalization/refiner-sandbox-wrapper.d.ts.map +1 -1
  26. package/dist/runtime-v2/internalization/refiner-sandbox-wrapper.js +22 -5
  27. package/dist/runtime-v2/internalization/refiner-sandbox-wrapper.js.map +1 -1
  28. package/dist/runtime-v2/runner/diagnostician-validator.d.ts +5 -11
  29. package/dist/runtime-v2/runner/diagnostician-validator.d.ts.map +1 -1
  30. package/dist/runtime-v2/runner/diagnostician-validator.js +1 -10
  31. package/dist/runtime-v2/runner/diagnostician-validator.js.map +1 -1
  32. package/dist/runtime-v2/store/artifact/sqlite-pi-artifact-store.d.ts +22 -0
  33. package/dist/runtime-v2/store/artifact/sqlite-pi-artifact-store.d.ts.map +1 -1
  34. package/dist/runtime-v2/store/artifact/sqlite-pi-artifact-store.js +13 -4
  35. package/dist/runtime-v2/store/artifact/sqlite-pi-artifact-store.js.map +1 -1
  36. package/package.json +5 -3
  37. package/dist/evolution-store.test.d.ts +0 -2
  38. package/dist/evolution-store.test.d.ts.map +0 -1
  39. package/dist/evolution-store.test.js +0 -294
  40. package/dist/evolution-store.test.js.map +0 -1
  41. package/dist/host/__tests__/host-adapter.test.d.ts +0 -2
  42. package/dist/host/__tests__/host-adapter.test.d.ts.map +0 -1
  43. package/dist/host/__tests__/host-adapter.test.js +0 -108
  44. package/dist/host/__tests__/host-adapter.test.js.map +0 -1
  45. package/dist/principle-tree-ledger-lifecycle.test.d.ts +0 -2
  46. package/dist/principle-tree-ledger-lifecycle.test.d.ts.map +0 -1
  47. package/dist/principle-tree-ledger-lifecycle.test.js +0 -530
  48. package/dist/principle-tree-ledger-lifecycle.test.js.map +0 -1
  49. package/dist/prompt-builder/__tests__/attitude-directive.test.d.ts +0 -2
  50. package/dist/prompt-builder/__tests__/attitude-directive.test.d.ts.map +0 -1
  51. package/dist/prompt-builder/__tests__/attitude-directive.test.js +0 -49
  52. package/dist/prompt-builder/__tests__/attitude-directive.test.js.map +0 -1
  53. package/dist/prompt-builder/__tests__/correction-cue.test.d.ts +0 -2
  54. package/dist/prompt-builder/__tests__/correction-cue.test.d.ts.map +0 -1
  55. package/dist/prompt-builder/__tests__/correction-cue.test.js +0 -61
  56. package/dist/prompt-builder/__tests__/correction-cue.test.js.map +0 -1
  57. package/dist/prompt-builder/__tests__/empathy-keyword-matching.test.d.ts +0 -2
  58. package/dist/prompt-builder/__tests__/empathy-keyword-matching.test.d.ts.map +0 -1
  59. package/dist/prompt-builder/__tests__/empathy-keyword-matching.test.js +0 -380
  60. package/dist/prompt-builder/__tests__/empathy-keyword-matching.test.js.map +0 -1
  61. package/dist/prompt-builder/__tests__/focus-compression.test.d.ts +0 -2
  62. package/dist/prompt-builder/__tests__/focus-compression.test.d.ts.map +0 -1
  63. package/dist/prompt-builder/__tests__/focus-compression.test.js +0 -265
  64. package/dist/prompt-builder/__tests__/focus-compression.test.js.map +0 -1
  65. package/dist/prompt-builder/__tests__/message-extraction.test.d.ts +0 -2
  66. package/dist/prompt-builder/__tests__/message-extraction.test.d.ts.map +0 -1
  67. package/dist/prompt-builder/__tests__/message-extraction.test.js +0 -90
  68. package/dist/prompt-builder/__tests__/message-extraction.test.js.map +0 -1
  69. package/dist/prompt-builder/__tests__/minimal-trigger.test.d.ts +0 -2
  70. package/dist/prompt-builder/__tests__/minimal-trigger.test.d.ts.map +0 -1
  71. package/dist/prompt-builder/__tests__/minimal-trigger.test.js +0 -45
  72. package/dist/prompt-builder/__tests__/minimal-trigger.test.js.map +0 -1
  73. package/dist/prompt-builder/__tests__/model-config.test.d.ts +0 -2
  74. package/dist/prompt-builder/__tests__/model-config.test.d.ts.map +0 -1
  75. package/dist/prompt-builder/__tests__/model-config.test.js +0 -158
  76. package/dist/prompt-builder/__tests__/model-config.test.js.map +0 -1
  77. package/dist/prompt-builder/__tests__/principle-selection.test.d.ts +0 -7
  78. package/dist/prompt-builder/__tests__/principle-selection.test.d.ts.map +0 -1
  79. package/dist/prompt-builder/__tests__/principle-selection.test.js +0 -214
  80. package/dist/prompt-builder/__tests__/principle-selection.test.js.map +0 -1
  81. package/dist/prompt-builder/__tests__/prompt-builder-core.test.d.ts +0 -7
  82. package/dist/prompt-builder/__tests__/prompt-builder-core.test.d.ts.map +0 -1
  83. package/dist/prompt-builder/__tests__/prompt-builder-core.test.js +0 -341
  84. package/dist/prompt-builder/__tests__/prompt-builder-core.test.js.map +0 -1
  85. package/dist/prompt-builder/__tests__/routing-guidance.test.d.ts +0 -10
  86. package/dist/prompt-builder/__tests__/routing-guidance.test.d.ts.map +0 -1
  87. package/dist/prompt-builder/__tests__/routing-guidance.test.js +0 -304
  88. package/dist/prompt-builder/__tests__/routing-guidance.test.js.map +0 -1
  89. package/dist/prompt-builder/__tests__/xml-escape.test.d.ts +0 -2
  90. package/dist/prompt-builder/__tests__/xml-escape.test.d.ts.map +0 -1
  91. package/dist/prompt-builder/__tests__/xml-escape.test.js +0 -42
  92. package/dist/prompt-builder/__tests__/xml-escape.test.js.map +0 -1
  93. package/dist/quality-scorecard/__tests__/quality-scorecard.test.d.ts +0 -2
  94. package/dist/quality-scorecard/__tests__/quality-scorecard.test.d.ts.map +0 -1
  95. package/dist/quality-scorecard/__tests__/quality-scorecard.test.js +0 -929
  96. package/dist/quality-scorecard/__tests__/quality-scorecard.test.js.map +0 -1
  97. package/dist/quality-scorecard/__tests__/report-generator.test.d.ts +0 -2
  98. package/dist/quality-scorecard/__tests__/report-generator.test.d.ts.map +0 -1
  99. package/dist/quality-scorecard/__tests__/report-generator.test.js +0 -627
  100. package/dist/quality-scorecard/__tests__/report-generator.test.js.map +0 -1
  101. package/dist/runtime-v2/__tests__/activation-compatibility-read-model.test.d.ts +0 -2
  102. package/dist/runtime-v2/__tests__/activation-compatibility-read-model.test.d.ts.map +0 -1
  103. package/dist/runtime-v2/__tests__/activation-compatibility-read-model.test.js +0 -148
  104. package/dist/runtime-v2/__tests__/activation-compatibility-read-model.test.js.map +0 -1
  105. package/dist/runtime-v2/__tests__/activation-types-helpers.test.d.ts +0 -20
  106. package/dist/runtime-v2/__tests__/activation-types-helpers.test.d.ts.map +0 -1
  107. package/dist/runtime-v2/__tests__/activation-types-helpers.test.js +0 -215
  108. package/dist/runtime-v2/__tests__/activation-types-helpers.test.js.map +0 -1
  109. package/dist/runtime-v2/__tests__/admission-gate.test.d.ts +0 -2
  110. package/dist/runtime-v2/__tests__/admission-gate.test.d.ts.map +0 -1
  111. package/dist/runtime-v2/__tests__/admission-gate.test.js +0 -307
  112. package/dist/runtime-v2/__tests__/admission-gate.test.js.map +0 -1
  113. package/dist/runtime-v2/__tests__/adversarial-loop.test.d.ts +0 -2
  114. package/dist/runtime-v2/__tests__/adversarial-loop.test.d.ts.map +0 -1
  115. package/dist/runtime-v2/__tests__/adversarial-loop.test.js +0 -446
  116. package/dist/runtime-v2/__tests__/adversarial-loop.test.js.map +0 -1
  117. package/dist/runtime-v2/__tests__/append-event-log-line.test.d.ts +0 -2
  118. package/dist/runtime-v2/__tests__/append-event-log-line.test.d.ts.map +0 -1
  119. package/dist/runtime-v2/__tests__/append-event-log-line.test.js +0 -47
  120. package/dist/runtime-v2/__tests__/append-event-log-line.test.js.map +0 -1
  121. package/dist/runtime-v2/__tests__/architecture-regression.test.d.ts +0 -2
  122. package/dist/runtime-v2/__tests__/architecture-regression.test.d.ts.map +0 -1
  123. package/dist/runtime-v2/__tests__/architecture-regression.test.js +0 -3845
  124. package/dist/runtime-v2/__tests__/architecture-regression.test.js.map +0 -1
  125. package/dist/runtime-v2/__tests__/artificer-runner-vslice.test.d.ts +0 -2
  126. package/dist/runtime-v2/__tests__/artificer-runner-vslice.test.d.ts.map +0 -1
  127. package/dist/runtime-v2/__tests__/artificer-runner-vslice.test.js +0 -1923
  128. package/dist/runtime-v2/__tests__/artificer-runner-vslice.test.js.map +0 -1
  129. package/dist/runtime-v2/__tests__/attack-e2e-pipeline-smoke.test.d.ts +0 -20
  130. package/dist/runtime-v2/__tests__/attack-e2e-pipeline-smoke.test.d.ts.map +0 -1
  131. package/dist/runtime-v2/__tests__/attack-e2e-pipeline-smoke.test.js +0 -578
  132. package/dist/runtime-v2/__tests__/attack-e2e-pipeline-smoke.test.js.map +0 -1
  133. package/dist/runtime-v2/__tests__/barrel-io-cleanup.test.d.ts +0 -12
  134. package/dist/runtime-v2/__tests__/barrel-io-cleanup.test.d.ts.map +0 -1
  135. package/dist/runtime-v2/__tests__/barrel-io-cleanup.test.js +0 -46
  136. package/dist/runtime-v2/__tests__/barrel-io-cleanup.test.js.map +0 -1
  137. package/dist/runtime-v2/__tests__/bridge-result-shaper.test.d.ts +0 -26
  138. package/dist/runtime-v2/__tests__/bridge-result-shaper.test.d.ts.map +0 -1
  139. package/dist/runtime-v2/__tests__/bridge-result-shaper.test.js +0 -450
  140. package/dist/runtime-v2/__tests__/bridge-result-shaper.test.js.map +0 -1
  141. package/dist/runtime-v2/__tests__/build-golden-trace-from-artificer.test.d.ts +0 -2
  142. package/dist/runtime-v2/__tests__/build-golden-trace-from-artificer.test.d.ts.map +0 -1
  143. package/dist/runtime-v2/__tests__/build-golden-trace-from-artificer.test.js +0 -169
  144. package/dist/runtime-v2/__tests__/build-golden-trace-from-artificer.test.js.map +0 -1
  145. package/dist/runtime-v2/__tests__/build-l2-principle-reader.test.d.ts +0 -2
  146. package/dist/runtime-v2/__tests__/build-l2-principle-reader.test.d.ts.map +0 -1
  147. package/dist/runtime-v2/__tests__/build-l2-principle-reader.test.js +0 -200
  148. package/dist/runtime-v2/__tests__/build-l2-principle-reader.test.js.map +0 -1
  149. package/dist/runtime-v2/__tests__/candidate-audit.test.d.ts +0 -2
  150. package/dist/runtime-v2/__tests__/candidate-audit.test.d.ts.map +0 -1
  151. package/dist/runtime-v2/__tests__/candidate-audit.test.js +0 -100
  152. package/dist/runtime-v2/__tests__/candidate-audit.test.js.map +0 -1
  153. package/dist/runtime-v2/__tests__/chain-integrity-attack.test.d.ts +0 -2
  154. package/dist/runtime-v2/__tests__/chain-integrity-attack.test.d.ts.map +0 -1
  155. package/dist/runtime-v2/__tests__/chain-integrity-attack.test.js +0 -293
  156. package/dist/runtime-v2/__tests__/chain-integrity-attack.test.js.map +0 -1
  157. package/dist/runtime-v2/__tests__/chain-integrity-real-path.test.d.ts +0 -2
  158. package/dist/runtime-v2/__tests__/chain-integrity-real-path.test.d.ts.map +0 -1
  159. package/dist/runtime-v2/__tests__/chain-integrity-real-path.test.js +0 -590
  160. package/dist/runtime-v2/__tests__/chain-integrity-real-path.test.js.map +0 -1
  161. package/dist/runtime-v2/__tests__/context-payload-validation.test.d.ts +0 -11
  162. package/dist/runtime-v2/__tests__/context-payload-validation.test.d.ts.map +0 -1
  163. package/dist/runtime-v2/__tests__/context-payload-validation.test.js +0 -309
  164. package/dist/runtime-v2/__tests__/context-payload-validation.test.js.map +0 -1
  165. package/dist/runtime-v2/__tests__/control-plane-triage.test.d.ts +0 -2
  166. package/dist/runtime-v2/__tests__/control-plane-triage.test.d.ts.map +0 -1
  167. package/dist/runtime-v2/__tests__/control-plane-triage.test.js +0 -107
  168. package/dist/runtime-v2/__tests__/control-plane-triage.test.js.map +0 -1
  169. package/dist/runtime-v2/__tests__/correction-proposal.test.d.ts +0 -2
  170. package/dist/runtime-v2/__tests__/correction-proposal.test.d.ts.map +0 -1
  171. package/dist/runtime-v2/__tests__/correction-proposal.test.js +0 -486
  172. package/dist/runtime-v2/__tests__/correction-proposal.test.js.map +0 -1
  173. package/dist/runtime-v2/__tests__/diagnostician-output-schema.test.d.ts +0 -25
  174. package/dist/runtime-v2/__tests__/diagnostician-output-schema.test.d.ts.map +0 -1
  175. package/dist/runtime-v2/__tests__/diagnostician-output-schema.test.js +0 -405
  176. package/dist/runtime-v2/__tests__/diagnostician-output-schema.test.js.map +0 -1
  177. package/dist/runtime-v2/__tests__/dreamer-output-validator.test.d.ts +0 -2
  178. package/dist/runtime-v2/__tests__/dreamer-output-validator.test.d.ts.map +0 -1
  179. package/dist/runtime-v2/__tests__/dreamer-output-validator.test.js +0 -171
  180. package/dist/runtime-v2/__tests__/dreamer-output-validator.test.js.map +0 -1
  181. package/dist/runtime-v2/__tests__/dreamer-runner-real-llm.test.d.ts +0 -2
  182. package/dist/runtime-v2/__tests__/dreamer-runner-real-llm.test.d.ts.map +0 -1
  183. package/dist/runtime-v2/__tests__/dreamer-runner-real-llm.test.js +0 -155
  184. package/dist/runtime-v2/__tests__/dreamer-runner-real-llm.test.js.map +0 -1
  185. package/dist/runtime-v2/__tests__/dreamer-runner-vslice.test.d.ts +0 -2
  186. package/dist/runtime-v2/__tests__/dreamer-runner-vslice.test.d.ts.map +0 -1
  187. package/dist/runtime-v2/__tests__/dreamer-runner-vslice.test.js +0 -539
  188. package/dist/runtime-v2/__tests__/dreamer-runner-vslice.test.js.map +0 -1
  189. package/dist/runtime-v2/__tests__/dreamer-runner.test.d.ts +0 -2
  190. package/dist/runtime-v2/__tests__/dreamer-runner.test.d.ts.map +0 -1
  191. package/dist/runtime-v2/__tests__/dreamer-runner.test.js +0 -366
  192. package/dist/runtime-v2/__tests__/dreamer-runner.test.js.map +0 -1
  193. package/dist/runtime-v2/__tests__/dreamer-source-pain-provenance.test.d.ts +0 -2
  194. package/dist/runtime-v2/__tests__/dreamer-source-pain-provenance.test.d.ts.map +0 -1
  195. package/dist/runtime-v2/__tests__/dreamer-source-pain-provenance.test.js +0 -208
  196. package/dist/runtime-v2/__tests__/dreamer-source-pain-provenance.test.js.map +0 -1
  197. package/dist/runtime-v2/__tests__/error-categories.test.d.ts +0 -2
  198. package/dist/runtime-v2/__tests__/error-categories.test.d.ts.map +0 -1
  199. package/dist/runtime-v2/__tests__/error-categories.test.js +0 -150
  200. package/dist/runtime-v2/__tests__/error-categories.test.js.map +0 -1
  201. package/dist/runtime-v2/__tests__/evaluator-repair-loop.test.d.ts +0 -2
  202. package/dist/runtime-v2/__tests__/evaluator-repair-loop.test.d.ts.map +0 -1
  203. package/dist/runtime-v2/__tests__/evaluator-repair-loop.test.js +0 -675
  204. package/dist/runtime-v2/__tests__/evaluator-repair-loop.test.js.map +0 -1
  205. package/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.d.ts +0 -2
  206. package/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.d.ts.map +0 -1
  207. package/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.js +0 -1000
  208. package/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.js.map +0 -1
  209. package/dist/runtime-v2/__tests__/evaluator-runner-vslice.test.d.ts +0 -2
  210. package/dist/runtime-v2/__tests__/evaluator-runner-vslice.test.d.ts.map +0 -1
  211. package/dist/runtime-v2/__tests__/evaluator-runner-vslice.test.js +0 -1330
  212. package/dist/runtime-v2/__tests__/evaluator-runner-vslice.test.js.map +0 -1
  213. package/dist/runtime-v2/__tests__/event-types-runid.test.d.ts +0 -2
  214. package/dist/runtime-v2/__tests__/event-types-runid.test.d.ts.map +0 -1
  215. package/dist/runtime-v2/__tests__/event-types-runid.test.js +0 -28
  216. package/dist/runtime-v2/__tests__/event-types-runid.test.js.map +0 -1
  217. package/dist/runtime-v2/__tests__/evidence-chain-contract.test.d.ts +0 -2
  218. package/dist/runtime-v2/__tests__/evidence-chain-contract.test.d.ts.map +0 -1
  219. package/dist/runtime-v2/__tests__/evidence-chain-contract.test.js +0 -344
  220. package/dist/runtime-v2/__tests__/evidence-chain-contract.test.js.map +0 -1
  221. package/dist/runtime-v2/__tests__/evidence-chain-host-kind.test.d.ts +0 -2
  222. package/dist/runtime-v2/__tests__/evidence-chain-host-kind.test.d.ts.map +0 -1
  223. package/dist/runtime-v2/__tests__/evidence-chain-host-kind.test.js +0 -49
  224. package/dist/runtime-v2/__tests__/evidence-chain-host-kind.test.js.map +0 -1
  225. package/dist/runtime-v2/__tests__/evidence-chain-intent-tension.test.d.ts +0 -2
  226. package/dist/runtime-v2/__tests__/evidence-chain-intent-tension.test.d.ts.map +0 -1
  227. package/dist/runtime-v2/__tests__/evidence-chain-intent-tension.test.js +0 -284
  228. package/dist/runtime-v2/__tests__/evidence-chain-intent-tension.test.js.map +0 -1
  229. package/dist/runtime-v2/__tests__/evidence-guards.test.d.ts +0 -18
  230. package/dist/runtime-v2/__tests__/evidence-guards.test.d.ts.map +0 -1
  231. package/dist/runtime-v2/__tests__/evidence-guards.test.js +0 -155
  232. package/dist/runtime-v2/__tests__/evidence-guards.test.js.map +0 -1
  233. package/dist/runtime-v2/__tests__/evidence-sanitizer.test.d.ts +0 -21
  234. package/dist/runtime-v2/__tests__/evidence-sanitizer.test.d.ts.map +0 -1
  235. package/dist/runtime-v2/__tests__/evidence-sanitizer.test.js +0 -581
  236. package/dist/runtime-v2/__tests__/evidence-sanitizer.test.js.map +0 -1
  237. package/dist/runtime-v2/__tests__/feedback/create-report.test.d.ts +0 -2
  238. package/dist/runtime-v2/__tests__/feedback/create-report.test.d.ts.map +0 -1
  239. package/dist/runtime-v2/__tests__/feedback/create-report.test.js +0 -453
  240. package/dist/runtime-v2/__tests__/feedback/create-report.test.js.map +0 -1
  241. package/dist/runtime-v2/__tests__/feedback/privacy-preview.test.d.ts +0 -2
  242. package/dist/runtime-v2/__tests__/feedback/privacy-preview.test.d.ts.map +0 -1
  243. package/dist/runtime-v2/__tests__/feedback/privacy-preview.test.js +0 -128
  244. package/dist/runtime-v2/__tests__/feedback/privacy-preview.test.js.map +0 -1
  245. package/dist/runtime-v2/__tests__/feedback/redact-sensitive.test.d.ts +0 -2
  246. package/dist/runtime-v2/__tests__/feedback/redact-sensitive.test.d.ts.map +0 -1
  247. package/dist/runtime-v2/__tests__/feedback/redact-sensitive.test.js +0 -361
  248. package/dist/runtime-v2/__tests__/feedback/redact-sensitive.test.js.map +0 -1
  249. package/dist/runtime-v2/__tests__/feedback/render-github-url.test.d.ts +0 -2
  250. package/dist/runtime-v2/__tests__/feedback/render-github-url.test.d.ts.map +0 -1
  251. package/dist/runtime-v2/__tests__/feedback/render-github-url.test.js +0 -102
  252. package/dist/runtime-v2/__tests__/feedback/render-github-url.test.js.map +0 -1
  253. package/dist/runtime-v2/__tests__/feedback/render-markdown.test.d.ts +0 -2
  254. package/dist/runtime-v2/__tests__/feedback/render-markdown.test.d.ts.map +0 -1
  255. package/dist/runtime-v2/__tests__/feedback/render-markdown.test.js +0 -130
  256. package/dist/runtime-v2/__tests__/feedback/render-markdown.test.js.map +0 -1
  257. package/dist/runtime-v2/__tests__/fixtures/index.d.ts +0 -4
  258. package/dist/runtime-v2/__tests__/fixtures/index.d.ts.map +0 -1
  259. package/dist/runtime-v2/__tests__/fixtures/index.js +0 -3
  260. package/dist/runtime-v2/__tests__/fixtures/index.js.map +0 -1
  261. package/dist/runtime-v2/__tests__/fixtures/llm-e2e-config.d.ts +0 -20
  262. package/dist/runtime-v2/__tests__/fixtures/llm-e2e-config.d.ts.map +0 -1
  263. package/dist/runtime-v2/__tests__/fixtures/llm-e2e-config.js +0 -42
  264. package/dist/runtime-v2/__tests__/fixtures/llm-e2e-config.js.map +0 -1
  265. package/dist/runtime-v2/__tests__/fixtures/llm-e2e-config.test.d.ts +0 -2
  266. package/dist/runtime-v2/__tests__/fixtures/llm-e2e-config.test.d.ts.map +0 -1
  267. package/dist/runtime-v2/__tests__/fixtures/llm-e2e-config.test.js +0 -101
  268. package/dist/runtime-v2/__tests__/fixtures/llm-e2e-config.test.js.map +0 -1
  269. package/dist/runtime-v2/__tests__/fixtures/test-helpers.d.ts +0 -20
  270. package/dist/runtime-v2/__tests__/fixtures/test-helpers.d.ts.map +0 -1
  271. package/dist/runtime-v2/__tests__/fixtures/test-helpers.js +0 -37
  272. package/dist/runtime-v2/__tests__/fixtures/test-helpers.js.map +0 -1
  273. package/dist/runtime-v2/__tests__/full-chain-real-llm.test.d.ts +0 -2
  274. package/dist/runtime-v2/__tests__/full-chain-real-llm.test.d.ts.map +0 -1
  275. package/dist/runtime-v2/__tests__/full-chain-real-llm.test.js +0 -152
  276. package/dist/runtime-v2/__tests__/full-chain-real-llm.test.js.map +0 -1
  277. package/dist/runtime-v2/__tests__/full-trace-contract.test.d.ts +0 -2
  278. package/dist/runtime-v2/__tests__/full-trace-contract.test.d.ts.map +0 -1
  279. package/dist/runtime-v2/__tests__/full-trace-contract.test.js +0 -552
  280. package/dist/runtime-v2/__tests__/full-trace-contract.test.js.map +0 -1
  281. package/dist/runtime-v2/__tests__/gfi-workspace-health.test.d.ts +0 -2
  282. package/dist/runtime-v2/__tests__/gfi-workspace-health.test.d.ts.map +0 -1
  283. package/dist/runtime-v2/__tests__/gfi-workspace-health.test.js +0 -128
  284. package/dist/runtime-v2/__tests__/gfi-workspace-health.test.js.map +0 -1
  285. package/dist/runtime-v2/__tests__/golden-path-diagnostician-e2e.test.d.ts +0 -2
  286. package/dist/runtime-v2/__tests__/golden-path-diagnostician-e2e.test.d.ts.map +0 -1
  287. package/dist/runtime-v2/__tests__/golden-path-diagnostician-e2e.test.js +0 -372
  288. package/dist/runtime-v2/__tests__/golden-path-diagnostician-e2e.test.js.map +0 -1
  289. package/dist/runtime-v2/__tests__/golden-trace-replay-validator.test.d.ts +0 -2
  290. package/dist/runtime-v2/__tests__/golden-trace-replay-validator.test.d.ts.map +0 -1
  291. package/dist/runtime-v2/__tests__/golden-trace-replay-validator.test.js +0 -301
  292. package/dist/runtime-v2/__tests__/golden-trace-replay-validator.test.js.map +0 -1
  293. package/dist/runtime-v2/__tests__/golden-trace.test.d.ts +0 -2
  294. package/dist/runtime-v2/__tests__/golden-trace.test.d.ts.map +0 -1
  295. package/dist/runtime-v2/__tests__/golden-trace.test.js +0 -470
  296. package/dist/runtime-v2/__tests__/golden-trace.test.js.map +0 -1
  297. package/dist/runtime-v2/__tests__/governance-experience.test.d.ts +0 -2
  298. package/dist/runtime-v2/__tests__/governance-experience.test.d.ts.map +0 -1
  299. package/dist/runtime-v2/__tests__/governance-experience.test.js +0 -319
  300. package/dist/runtime-v2/__tests__/governance-experience.test.js.map +0 -1
  301. package/dist/runtime-v2/__tests__/governance-projection-contract.test.d.ts +0 -2
  302. package/dist/runtime-v2/__tests__/governance-projection-contract.test.d.ts.map +0 -1
  303. package/dist/runtime-v2/__tests__/governance-projection-contract.test.js +0 -78
  304. package/dist/runtime-v2/__tests__/governance-projection-contract.test.js.map +0 -1
  305. package/dist/runtime-v2/__tests__/governance-projection.test.d.ts +0 -2
  306. package/dist/runtime-v2/__tests__/governance-projection.test.d.ts.map +0 -1
  307. package/dist/runtime-v2/__tests__/governance-projection.test.js +0 -154
  308. package/dist/runtime-v2/__tests__/governance-projection.test.js.map +0 -1
  309. package/dist/runtime-v2/__tests__/governance-timestamp-schema.test.d.ts +0 -2
  310. package/dist/runtime-v2/__tests__/governance-timestamp-schema.test.d.ts.map +0 -1
  311. package/dist/runtime-v2/__tests__/governance-timestamp-schema.test.js +0 -81
  312. package/dist/runtime-v2/__tests__/governance-timestamp-schema.test.js.map +0 -1
  313. package/dist/runtime-v2/__tests__/intake-to-internalization-bridge.test.d.ts +0 -2
  314. package/dist/runtime-v2/__tests__/intake-to-internalization-bridge.test.d.ts.map +0 -1
  315. package/dist/runtime-v2/__tests__/intake-to-internalization-bridge.test.js +0 -540
  316. package/dist/runtime-v2/__tests__/intake-to-internalization-bridge.test.js.map +0 -1
  317. package/dist/runtime-v2/__tests__/internalization-chain-integrity-read-model.test.d.ts +0 -2
  318. package/dist/runtime-v2/__tests__/internalization-chain-integrity-read-model.test.d.ts.map +0 -1
  319. package/dist/runtime-v2/__tests__/internalization-chain-integrity-read-model.test.js +0 -531
  320. package/dist/runtime-v2/__tests__/internalization-chain-integrity-read-model.test.js.map +0 -1
  321. package/dist/runtime-v2/__tests__/internalization-consumer-product-path.test.d.ts +0 -2
  322. package/dist/runtime-v2/__tests__/internalization-consumer-product-path.test.d.ts.map +0 -1
  323. package/dist/runtime-v2/__tests__/internalization-consumer-product-path.test.js +0 -226
  324. package/dist/runtime-v2/__tests__/internalization-consumer-product-path.test.js.map +0 -1
  325. package/dist/runtime-v2/__tests__/internalization-contracts.test.d.ts +0 -2
  326. package/dist/runtime-v2/__tests__/internalization-contracts.test.d.ts.map +0 -1
  327. package/dist/runtime-v2/__tests__/internalization-contracts.test.js +0 -76
  328. package/dist/runtime-v2/__tests__/internalization-contracts.test.js.map +0 -1
  329. package/dist/runtime-v2/__tests__/internalization-failure-persistence.test.d.ts +0 -2
  330. package/dist/runtime-v2/__tests__/internalization-failure-persistence.test.d.ts.map +0 -1
  331. package/dist/runtime-v2/__tests__/internalization-failure-persistence.test.js +0 -153
  332. package/dist/runtime-v2/__tests__/internalization-failure-persistence.test.js.map +0 -1
  333. package/dist/runtime-v2/__tests__/internalization-integrity-remediation.test.d.ts +0 -2
  334. package/dist/runtime-v2/__tests__/internalization-integrity-remediation.test.d.ts.map +0 -1
  335. package/dist/runtime-v2/__tests__/internalization-integrity-remediation.test.js +0 -738
  336. package/dist/runtime-v2/__tests__/internalization-integrity-remediation.test.js.map +0 -1
  337. package/dist/runtime-v2/__tests__/internalization-orchestrator.test.d.ts +0 -2
  338. package/dist/runtime-v2/__tests__/internalization-orchestrator.test.d.ts.map +0 -1
  339. package/dist/runtime-v2/__tests__/internalization-orchestrator.test.js +0 -651
  340. package/dist/runtime-v2/__tests__/internalization-orchestrator.test.js.map +0 -1
  341. package/dist/runtime-v2/__tests__/internalization-peer-runner-contracts.test.d.ts +0 -2
  342. package/dist/runtime-v2/__tests__/internalization-peer-runner-contracts.test.d.ts.map +0 -1
  343. package/dist/runtime-v2/__tests__/internalization-peer-runner-contracts.test.js +0 -419
  344. package/dist/runtime-v2/__tests__/internalization-peer-runner-contracts.test.js.map +0 -1
  345. package/dist/runtime-v2/__tests__/internalization-queue-read-model.test.d.ts +0 -2
  346. package/dist/runtime-v2/__tests__/internalization-queue-read-model.test.d.ts.map +0 -1
  347. package/dist/runtime-v2/__tests__/internalization-queue-read-model.test.js +0 -414
  348. package/dist/runtime-v2/__tests__/internalization-queue-read-model.test.js.map +0 -1
  349. package/dist/runtime-v2/__tests__/internalization-route.test.d.ts +0 -2
  350. package/dist/runtime-v2/__tests__/internalization-route.test.d.ts.map +0 -1
  351. package/dist/runtime-v2/__tests__/internalization-route.test.js +0 -136
  352. package/dist/runtime-v2/__tests__/internalization-route.test.js.map +0 -1
  353. package/dist/runtime-v2/__tests__/internalization-state-machine.test.d.ts +0 -2
  354. package/dist/runtime-v2/__tests__/internalization-state-machine.test.d.ts.map +0 -1
  355. package/dist/runtime-v2/__tests__/internalization-state-machine.test.js +0 -585
  356. package/dist/runtime-v2/__tests__/internalization-state-machine.test.js.map +0 -1
  357. package/dist/runtime-v2/__tests__/io-deletion.test.d.ts +0 -12
  358. package/dist/runtime-v2/__tests__/io-deletion.test.d.ts.map +0 -1
  359. package/dist/runtime-v2/__tests__/io-deletion.test.js +0 -92
  360. package/dist/runtime-v2/__tests__/io-deletion.test.js.map +0 -1
  361. package/dist/runtime-v2/__tests__/l1-hard-cap.test.d.ts +0 -2
  362. package/dist/runtime-v2/__tests__/l1-hard-cap.test.d.ts.map +0 -1
  363. package/dist/runtime-v2/__tests__/l1-hard-cap.test.js +0 -157
  364. package/dist/runtime-v2/__tests__/l1-hard-cap.test.js.map +0 -1
  365. package/dist/runtime-v2/__tests__/language-directive.test.d.ts +0 -12
  366. package/dist/runtime-v2/__tests__/language-directive.test.d.ts.map +0 -1
  367. package/dist/runtime-v2/__tests__/language-directive.test.js +0 -162
  368. package/dist/runtime-v2/__tests__/language-directive.test.js.map +0 -1
  369. package/dist/runtime-v2/__tests__/ledger-codec.test.d.ts +0 -2
  370. package/dist/runtime-v2/__tests__/ledger-codec.test.d.ts.map +0 -1
  371. package/dist/runtime-v2/__tests__/ledger-codec.test.js +0 -429
  372. package/dist/runtime-v2/__tests__/ledger-codec.test.js.map +0 -1
  373. package/dist/runtime-v2/__tests__/ledger-store.test.d.ts +0 -2
  374. package/dist/runtime-v2/__tests__/ledger-store.test.d.ts.map +0 -1
  375. package/dist/runtime-v2/__tests__/ledger-store.test.js +0 -65
  376. package/dist/runtime-v2/__tests__/ledger-store.test.js.map +0 -1
  377. package/dist/runtime-v2/__tests__/mainline-contract.test.d.ts +0 -2
  378. package/dist/runtime-v2/__tests__/mainline-contract.test.d.ts.map +0 -1
  379. package/dist/runtime-v2/__tests__/mainline-contract.test.js +0 -194
  380. package/dist/runtime-v2/__tests__/mainline-contract.test.js.map +0 -1
  381. package/dist/runtime-v2/__tests__/mainline-product-path.test.d.ts +0 -2
  382. package/dist/runtime-v2/__tests__/mainline-product-path.test.d.ts.map +0 -1
  383. package/dist/runtime-v2/__tests__/mainline-product-path.test.js +0 -429
  384. package/dist/runtime-v2/__tests__/mainline-product-path.test.js.map +0 -1
  385. package/dist/runtime-v2/__tests__/operator-health-cold-start-guard.test.d.ts +0 -2
  386. package/dist/runtime-v2/__tests__/operator-health-cold-start-guard.test.d.ts.map +0 -1
  387. package/dist/runtime-v2/__tests__/operator-health-cold-start-guard.test.js +0 -102
  388. package/dist/runtime-v2/__tests__/operator-health-cold-start-guard.test.js.map +0 -1
  389. package/dist/runtime-v2/__tests__/operator-health-gfi-degraded.test.d.ts +0 -2
  390. package/dist/runtime-v2/__tests__/operator-health-gfi-degraded.test.d.ts.map +0 -1
  391. package/dist/runtime-v2/__tests__/operator-health-gfi-degraded.test.js +0 -148
  392. package/dist/runtime-v2/__tests__/operator-health-gfi-degraded.test.js.map +0 -1
  393. package/dist/runtime-v2/__tests__/operator-health-gfi.test.d.ts +0 -2
  394. package/dist/runtime-v2/__tests__/operator-health-gfi.test.d.ts.map +0 -1
  395. package/dist/runtime-v2/__tests__/operator-health-gfi.test.js +0 -113
  396. package/dist/runtime-v2/__tests__/operator-health-gfi.test.js.map +0 -1
  397. package/dist/runtime-v2/__tests__/operator-health-read-model.test.d.ts +0 -2
  398. package/dist/runtime-v2/__tests__/operator-health-read-model.test.d.ts.map +0 -1
  399. package/dist/runtime-v2/__tests__/operator-health-read-model.test.js +0 -136
  400. package/dist/runtime-v2/__tests__/operator-health-read-model.test.js.map +0 -1
  401. package/dist/runtime-v2/__tests__/owner-identity.test.d.ts +0 -2
  402. package/dist/runtime-v2/__tests__/owner-identity.test.d.ts.map +0 -1
  403. package/dist/runtime-v2/__tests__/owner-identity.test.js +0 -147
  404. package/dist/runtime-v2/__tests__/owner-identity.test.js.map +0 -1
  405. package/dist/runtime-v2/__tests__/owner-retry.test.d.ts +0 -2
  406. package/dist/runtime-v2/__tests__/owner-retry.test.d.ts.map +0 -1
  407. package/dist/runtime-v2/__tests__/owner-retry.test.js +0 -144
  408. package/dist/runtime-v2/__tests__/owner-retry.test.js.map +0 -1
  409. package/dist/runtime-v2/__tests__/pain-chain-read-model.test.d.ts +0 -2
  410. package/dist/runtime-v2/__tests__/pain-chain-read-model.test.d.ts.map +0 -1
  411. package/dist/runtime-v2/__tests__/pain-chain-read-model.test.js +0 -247
  412. package/dist/runtime-v2/__tests__/pain-chain-read-model.test.js.map +0 -1
  413. package/dist/runtime-v2/__tests__/pain-correction-evidence.test.d.ts +0 -2
  414. package/dist/runtime-v2/__tests__/pain-correction-evidence.test.d.ts.map +0 -1
  415. package/dist/runtime-v2/__tests__/pain-correction-evidence.test.js +0 -37
  416. package/dist/runtime-v2/__tests__/pain-correction-evidence.test.js.map +0 -1
  417. package/dist/runtime-v2/__tests__/pain-diagnosis-persistence.test.d.ts +0 -2
  418. package/dist/runtime-v2/__tests__/pain-diagnosis-persistence.test.d.ts.map +0 -1
  419. package/dist/runtime-v2/__tests__/pain-diagnosis-persistence.test.js +0 -293
  420. package/dist/runtime-v2/__tests__/pain-diagnosis-persistence.test.js.map +0 -1
  421. package/dist/runtime-v2/__tests__/pain-evidence-contract.test.d.ts +0 -2
  422. package/dist/runtime-v2/__tests__/pain-evidence-contract.test.d.ts.map +0 -1
  423. package/dist/runtime-v2/__tests__/pain-evidence-contract.test.js +0 -331
  424. package/dist/runtime-v2/__tests__/pain-evidence-contract.test.js.map +0 -1
  425. package/dist/runtime-v2/__tests__/pain-flood-simulation.test.d.ts +0 -2
  426. package/dist/runtime-v2/__tests__/pain-flood-simulation.test.d.ts.map +0 -1
  427. package/dist/runtime-v2/__tests__/pain-flood-simulation.test.js +0 -267
  428. package/dist/runtime-v2/__tests__/pain-flood-simulation.test.js.map +0 -1
  429. package/dist/runtime-v2/__tests__/pain-ingress-persistence.test.d.ts +0 -2
  430. package/dist/runtime-v2/__tests__/pain-ingress-persistence.test.d.ts.map +0 -1
  431. package/dist/runtime-v2/__tests__/pain-ingress-persistence.test.js +0 -276
  432. package/dist/runtime-v2/__tests__/pain-ingress-persistence.test.js.map +0 -1
  433. package/dist/runtime-v2/__tests__/pain-ingress-shared-semantics.test.d.ts +0 -2
  434. package/dist/runtime-v2/__tests__/pain-ingress-shared-semantics.test.d.ts.map +0 -1
  435. package/dist/runtime-v2/__tests__/pain-ingress-shared-semantics.test.js +0 -131
  436. package/dist/runtime-v2/__tests__/pain-ingress-shared-semantics.test.js.map +0 -1
  437. package/dist/runtime-v2/__tests__/pain-outcome-convergence.test.d.ts +0 -2
  438. package/dist/runtime-v2/__tests__/pain-outcome-convergence.test.d.ts.map +0 -1
  439. package/dist/runtime-v2/__tests__/pain-outcome-convergence.test.js +0 -126
  440. package/dist/runtime-v2/__tests__/pain-outcome-convergence.test.js.map +0 -1
  441. package/dist/runtime-v2/__tests__/pain-signal-bridge-execute-pending.test.d.ts +0 -2
  442. package/dist/runtime-v2/__tests__/pain-signal-bridge-execute-pending.test.d.ts.map +0 -1
  443. package/dist/runtime-v2/__tests__/pain-signal-bridge-execute-pending.test.js +0 -201
  444. package/dist/runtime-v2/__tests__/pain-signal-bridge-execute-pending.test.js.map +0 -1
  445. package/dist/runtime-v2/__tests__/pain-signal-bridge-result-shaping.test.d.ts +0 -2
  446. package/dist/runtime-v2/__tests__/pain-signal-bridge-result-shaping.test.d.ts.map +0 -1
  447. package/dist/runtime-v2/__tests__/pain-signal-bridge-result-shaping.test.js +0 -500
  448. package/dist/runtime-v2/__tests__/pain-signal-bridge-result-shaping.test.js.map +0 -1
  449. package/dist/runtime-v2/__tests__/pain-signal-bridge-retried.test.d.ts +0 -2
  450. package/dist/runtime-v2/__tests__/pain-signal-bridge-retried.test.d.ts.map +0 -1
  451. package/dist/runtime-v2/__tests__/pain-signal-bridge-retried.test.js +0 -151
  452. package/dist/runtime-v2/__tests__/pain-signal-bridge-retried.test.js.map +0 -1
  453. package/dist/runtime-v2/__tests__/pain-signal-bridge-short-circuit.test.d.ts +0 -2
  454. package/dist/runtime-v2/__tests__/pain-signal-bridge-short-circuit.test.d.ts.map +0 -1
  455. package/dist/runtime-v2/__tests__/pain-signal-bridge-short-circuit.test.js +0 -211
  456. package/dist/runtime-v2/__tests__/pain-signal-bridge-short-circuit.test.js.map +0 -1
  457. package/dist/runtime-v2/__tests__/pain-signal-bridge-workspace-dir.test.d.ts +0 -2
  458. package/dist/runtime-v2/__tests__/pain-signal-bridge-workspace-dir.test.d.ts.map +0 -1
  459. package/dist/runtime-v2/__tests__/pain-signal-bridge-workspace-dir.test.js +0 -182
  460. package/dist/runtime-v2/__tests__/pain-signal-bridge-workspace-dir.test.js.map +0 -1
  461. package/dist/runtime-v2/__tests__/pain-signal-observability.test.d.ts +0 -2
  462. package/dist/runtime-v2/__tests__/pain-signal-observability.test.d.ts.map +0 -1
  463. package/dist/runtime-v2/__tests__/pain-signal-observability.test.js +0 -556
  464. package/dist/runtime-v2/__tests__/pain-signal-observability.test.js.map +0 -1
  465. package/dist/runtime-v2/__tests__/pain-signal-runtime-factory-edge-cases.test.d.ts +0 -8
  466. package/dist/runtime-v2/__tests__/pain-signal-runtime-factory-edge-cases.test.d.ts.map +0 -1
  467. package/dist/runtime-v2/__tests__/pain-signal-runtime-factory-edge-cases.test.js +0 -171
  468. package/dist/runtime-v2/__tests__/pain-signal-runtime-factory-edge-cases.test.js.map +0 -1
  469. package/dist/runtime-v2/__tests__/pain-signal-runtime-factory-effectiveconfig-wiring.test.d.ts +0 -2
  470. package/dist/runtime-v2/__tests__/pain-signal-runtime-factory-effectiveconfig-wiring.test.d.ts.map +0 -1
  471. package/dist/runtime-v2/__tests__/pain-signal-runtime-factory-effectiveconfig-wiring.test.js +0 -109
  472. package/dist/runtime-v2/__tests__/pain-signal-runtime-factory-effectiveconfig-wiring.test.js.map +0 -1
  473. package/dist/runtime-v2/__tests__/pain-to-principle-service.test.d.ts +0 -2
  474. package/dist/runtime-v2/__tests__/pain-to-principle-service.test.d.ts.map +0 -1
  475. package/dist/runtime-v2/__tests__/pain-to-principle-service.test.js +0 -317
  476. package/dist/runtime-v2/__tests__/pain-to-principle-service.test.js.map +0 -1
  477. package/dist/runtime-v2/__tests__/philosopher-runner-real-llm.test.d.ts +0 -2
  478. package/dist/runtime-v2/__tests__/philosopher-runner-real-llm.test.d.ts.map +0 -1
  479. package/dist/runtime-v2/__tests__/philosopher-runner-real-llm.test.js +0 -167
  480. package/dist/runtime-v2/__tests__/philosopher-runner-real-llm.test.js.map +0 -1
  481. package/dist/runtime-v2/__tests__/philosopher-runner-vslice.test.d.ts +0 -2
  482. package/dist/runtime-v2/__tests__/philosopher-runner-vslice.test.d.ts.map +0 -1
  483. package/dist/runtime-v2/__tests__/philosopher-runner-vslice.test.js +0 -342
  484. package/dist/runtime-v2/__tests__/philosopher-runner-vslice.test.js.map +0 -1
  485. package/dist/runtime-v2/__tests__/pi-artifact-store.test.d.ts +0 -2
  486. package/dist/runtime-v2/__tests__/pi-artifact-store.test.d.ts.map +0 -1
  487. package/dist/runtime-v2/__tests__/pi-artifact-store.test.js +0 -258
  488. package/dist/runtime-v2/__tests__/pi-artifact-store.test.js.map +0 -1
  489. package/dist/runtime-v2/__tests__/pitask-metadata.test.d.ts +0 -8
  490. package/dist/runtime-v2/__tests__/pitask-metadata.test.d.ts.map +0 -1
  491. package/dist/runtime-v2/__tests__/pitask-metadata.test.js +0 -514
  492. package/dist/runtime-v2/__tests__/pitask-metadata.test.js.map +0 -1
  493. package/dist/runtime-v2/__tests__/pri638-diagnostician-capability-characterization.test.d.ts +0 -27
  494. package/dist/runtime-v2/__tests__/pri638-diagnostician-capability-characterization.test.d.ts.map +0 -1
  495. package/dist/runtime-v2/__tests__/pri638-diagnostician-capability-characterization.test.js +0 -449
  496. package/dist/runtime-v2/__tests__/pri638-diagnostician-capability-characterization.test.js.map +0 -1
  497. package/dist/runtime-v2/__tests__/pri638-p1d-error-classification.test.d.ts +0 -2
  498. package/dist/runtime-v2/__tests__/pri638-p1d-error-classification.test.d.ts.map +0 -1
  499. package/dist/runtime-v2/__tests__/pri638-p1d-error-classification.test.js +0 -116
  500. package/dist/runtime-v2/__tests__/pri638-p1d-error-classification.test.js.map +0 -1
  501. package/dist/runtime-v2/__tests__/principle-compiler-core.test.d.ts +0 -2
  502. package/dist/runtime-v2/__tests__/principle-compiler-core.test.d.ts.map +0 -1
  503. package/dist/runtime-v2/__tests__/principle-compiler-core.test.js +0 -219
  504. package/dist/runtime-v2/__tests__/principle-compiler-core.test.js.map +0 -1
  505. package/dist/runtime-v2/__tests__/product-telemetry-contract.test.d.ts +0 -18
  506. package/dist/runtime-v2/__tests__/product-telemetry-contract.test.d.ts.map +0 -1
  507. package/dist/runtime-v2/__tests__/product-telemetry-contract.test.js +0 -303
  508. package/dist/runtime-v2/__tests__/product-telemetry-contract.test.js.map +0 -1
  509. package/dist/runtime-v2/__tests__/production-canary-fixture-gate.test.d.ts +0 -2
  510. package/dist/runtime-v2/__tests__/production-canary-fixture-gate.test.d.ts.map +0 -1
  511. package/dist/runtime-v2/__tests__/production-canary-fixture-gate.test.js +0 -524
  512. package/dist/runtime-v2/__tests__/production-canary-fixture-gate.test.js.map +0 -1
  513. package/dist/runtime-v2/__tests__/proven-channel-baseline.test.d.ts +0 -2
  514. package/dist/runtime-v2/__tests__/proven-channel-baseline.test.d.ts.map +0 -1
  515. package/dist/runtime-v2/__tests__/proven-channel-baseline.test.js +0 -452
  516. package/dist/runtime-v2/__tests__/proven-channel-baseline.test.js.map +0 -1
  517. package/dist/runtime-v2/__tests__/pruning-mask.test.d.ts +0 -25
  518. package/dist/runtime-v2/__tests__/pruning-mask.test.d.ts.map +0 -1
  519. package/dist/runtime-v2/__tests__/pruning-mask.test.js +0 -281
  520. package/dist/runtime-v2/__tests__/pruning-mask.test.js.map +0 -1
  521. package/dist/runtime-v2/__tests__/pruning-read-model.test.d.ts +0 -2
  522. package/dist/runtime-v2/__tests__/pruning-read-model.test.d.ts.map +0 -1
  523. package/dist/runtime-v2/__tests__/pruning-read-model.test.js +0 -788
  524. package/dist/runtime-v2/__tests__/pruning-read-model.test.js.map +0 -1
  525. package/dist/runtime-v2/__tests__/pruning-review-log.test.d.ts +0 -2
  526. package/dist/runtime-v2/__tests__/pruning-review-log.test.d.ts.map +0 -1
  527. package/dist/runtime-v2/__tests__/pruning-review-log.test.js +0 -159
  528. package/dist/runtime-v2/__tests__/pruning-review-log.test.js.map +0 -1
  529. package/dist/runtime-v2/__tests__/recovery-actions-log.test.d.ts +0 -2
  530. package/dist/runtime-v2/__tests__/recovery-actions-log.test.d.ts.map +0 -1
  531. package/dist/runtime-v2/__tests__/recovery-actions-log.test.js +0 -152
  532. package/dist/runtime-v2/__tests__/recovery-actions-log.test.js.map +0 -1
  533. package/dist/runtime-v2/__tests__/recovery-sweep-service.test.d.ts +0 -2
  534. package/dist/runtime-v2/__tests__/recovery-sweep-service.test.d.ts.map +0 -1
  535. package/dist/runtime-v2/__tests__/recovery-sweep-service.test.js +0 -213
  536. package/dist/runtime-v2/__tests__/recovery-sweep-service.test.js.map +0 -1
  537. package/dist/runtime-v2/__tests__/remediation-contract.test.d.ts +0 -2
  538. package/dist/runtime-v2/__tests__/remediation-contract.test.d.ts.map +0 -1
  539. package/dist/runtime-v2/__tests__/remediation-contract.test.js +0 -39
  540. package/dist/runtime-v2/__tests__/remediation-contract.test.js.map +0 -1
  541. package/dist/runtime-v2/__tests__/replay-production-parity.test.d.ts +0 -13
  542. package/dist/runtime-v2/__tests__/replay-production-parity.test.d.ts.map +0 -1
  543. package/dist/runtime-v2/__tests__/replay-production-parity.test.js +0 -133
  544. package/dist/runtime-v2/__tests__/replay-production-parity.test.js.map +0 -1
  545. package/dist/runtime-v2/__tests__/resolve-runtime-config-from-pd-config.test.d.ts +0 -12
  546. package/dist/runtime-v2/__tests__/resolve-runtime-config-from-pd-config.test.d.ts.map +0 -1
  547. package/dist/runtime-v2/__tests__/resolve-runtime-config-from-pd-config.test.js +0 -298
  548. package/dist/runtime-v2/__tests__/resolve-runtime-config-from-pd-config.test.js.map +0 -1
  549. package/dist/runtime-v2/__tests__/rollout-reviewer-runner-vslice.test.d.ts +0 -2
  550. package/dist/runtime-v2/__tests__/rollout-reviewer-runner-vslice.test.d.ts.map +0 -1
  551. package/dist/runtime-v2/__tests__/rollout-reviewer-runner-vslice.test.js +0 -791
  552. package/dist/runtime-v2/__tests__/rollout-reviewer-runner-vslice.test.js.map +0 -1
  553. package/dist/runtime-v2/__tests__/rollout-reviewer-verdict-paths.test.d.ts +0 -2
  554. package/dist/runtime-v2/__tests__/rollout-reviewer-verdict-paths.test.d.ts.map +0 -1
  555. package/dist/runtime-v2/__tests__/rollout-reviewer-verdict-paths.test.js +0 -255
  556. package/dist/runtime-v2/__tests__/rollout-reviewer-verdict-paths.test.js.map +0 -1
  557. package/dist/runtime-v2/__tests__/rollout-rule-candidate-contract.test.d.ts +0 -2
  558. package/dist/runtime-v2/__tests__/rollout-rule-candidate-contract.test.d.ts.map +0 -1
  559. package/dist/runtime-v2/__tests__/rollout-rule-candidate-contract.test.js +0 -243
  560. package/dist/runtime-v2/__tests__/rollout-rule-candidate-contract.test.js.map +0 -1
  561. package/dist/runtime-v2/__tests__/rule-host-evaluator.test.d.ts +0 -2
  562. package/dist/runtime-v2/__tests__/rule-host-evaluator.test.d.ts.map +0 -1
  563. package/dist/runtime-v2/__tests__/rule-host-evaluator.test.js +0 -509
  564. package/dist/runtime-v2/__tests__/rule-host-evaluator.test.js.map +0 -1
  565. package/dist/runtime-v2/__tests__/rulehost-oob-defense-simulation.test.d.ts +0 -2
  566. package/dist/runtime-v2/__tests__/rulehost-oob-defense-simulation.test.d.ts.map +0 -1
  567. package/dist/runtime-v2/__tests__/rulehost-oob-defense-simulation.test.js +0 -535
  568. package/dist/runtime-v2/__tests__/rulehost-oob-defense-simulation.test.js.map +0 -1
  569. package/dist/runtime-v2/__tests__/runtime-config-boundary.test.d.ts +0 -2
  570. package/dist/runtime-v2/__tests__/runtime-config-boundary.test.d.ts.map +0 -1
  571. package/dist/runtime-v2/__tests__/runtime-config-boundary.test.js +0 -258
  572. package/dist/runtime-v2/__tests__/runtime-config-boundary.test.js.map +0 -1
  573. package/dist/runtime-v2/__tests__/runtime-state-handle.test.d.ts +0 -2
  574. package/dist/runtime-v2/__tests__/runtime-state-handle.test.d.ts.map +0 -1
  575. package/dist/runtime-v2/__tests__/runtime-state-handle.test.js +0 -76
  576. package/dist/runtime-v2/__tests__/runtime-state-handle.test.js.map +0 -1
  577. package/dist/runtime-v2/__tests__/schema-conformance-read-model.test.d.ts +0 -2
  578. package/dist/runtime-v2/__tests__/schema-conformance-read-model.test.d.ts.map +0 -1
  579. package/dist/runtime-v2/__tests__/schema-conformance-read-model.test.js +0 -208
  580. package/dist/runtime-v2/__tests__/schema-conformance-read-model.test.js.map +0 -1
  581. package/dist/runtime-v2/__tests__/schema-float-precision.test.d.ts +0 -2
  582. package/dist/runtime-v2/__tests__/schema-float-precision.test.d.ts.map +0 -1
  583. package/dist/runtime-v2/__tests__/schema-float-precision.test.js +0 -290
  584. package/dist/runtime-v2/__tests__/schema-float-precision.test.js.map +0 -1
  585. package/dist/runtime-v2/__tests__/schema-orphan-detection.test.d.ts +0 -2
  586. package/dist/runtime-v2/__tests__/schema-orphan-detection.test.d.ts.map +0 -1
  587. package/dist/runtime-v2/__tests__/schema-orphan-detection.test.js +0 -158
  588. package/dist/runtime-v2/__tests__/schema-orphan-detection.test.js.map +0 -1
  589. package/dist/runtime-v2/__tests__/schema-version.test.d.ts +0 -19
  590. package/dist/runtime-v2/__tests__/schema-version.test.d.ts.map +0 -1
  591. package/dist/runtime-v2/__tests__/schema-version.test.js +0 -176
  592. package/dist/runtime-v2/__tests__/schema-version.test.js.map +0 -1
  593. package/dist/runtime-v2/__tests__/scribe-runner-real-llm.test.d.ts +0 -2
  594. package/dist/runtime-v2/__tests__/scribe-runner-real-llm.test.d.ts.map +0 -1
  595. package/dist/runtime-v2/__tests__/scribe-runner-real-llm.test.js +0 -156
  596. package/dist/runtime-v2/__tests__/scribe-runner-real-llm.test.js.map +0 -1
  597. package/dist/runtime-v2/__tests__/scribe-runner-vslice.test.d.ts +0 -2
  598. package/dist/runtime-v2/__tests__/scribe-runner-vslice.test.d.ts.map +0 -1
  599. package/dist/runtime-v2/__tests__/scribe-runner-vslice.test.js +0 -1086
  600. package/dist/runtime-v2/__tests__/scribe-runner-vslice.test.js.map +0 -1
  601. package/dist/runtime-v2/__tests__/sqlite-connection-readonly.test.d.ts +0 -2
  602. package/dist/runtime-v2/__tests__/sqlite-connection-readonly.test.d.ts.map +0 -1
  603. package/dist/runtime-v2/__tests__/sqlite-connection-readonly.test.js +0 -113
  604. package/dist/runtime-v2/__tests__/sqlite-connection-readonly.test.js.map +0 -1
  605. package/dist/runtime-v2/__tests__/stalled-diagnostician-task.test.d.ts +0 -2
  606. package/dist/runtime-v2/__tests__/stalled-diagnostician-task.test.d.ts.map +0 -1
  607. package/dist/runtime-v2/__tests__/stalled-diagnostician-task.test.js +0 -168
  608. package/dist/runtime-v2/__tests__/stalled-diagnostician-task.test.js.map +0 -1
  609. package/dist/runtime-v2/__tests__/status-contract.test.d.ts +0 -2
  610. package/dist/runtime-v2/__tests__/status-contract.test.d.ts.map +0 -1
  611. package/dist/runtime-v2/__tests__/status-contract.test.js +0 -78
  612. package/dist/runtime-v2/__tests__/status-contract.test.js.map +0 -1
  613. package/dist/runtime-v2/__tests__/story-a-demo.test.d.ts +0 -2
  614. package/dist/runtime-v2/__tests__/story-a-demo.test.d.ts.map +0 -1
  615. package/dist/runtime-v2/__tests__/story-a-demo.test.js +0 -274
  616. package/dist/runtime-v2/__tests__/story-a-demo.test.js.map +0 -1
  617. package/dist/runtime-v2/__tests__/synthetic-baseline.test.d.ts +0 -2
  618. package/dist/runtime-v2/__tests__/synthetic-baseline.test.d.ts.map +0 -1
  619. package/dist/runtime-v2/__tests__/synthetic-baseline.test.js +0 -155
  620. package/dist/runtime-v2/__tests__/synthetic-baseline.test.js.map +0 -1
  621. package/dist/runtime-v2/__tests__/system-prompt-merge.test.d.ts +0 -2
  622. package/dist/runtime-v2/__tests__/system-prompt-merge.test.d.ts.map +0 -1
  623. package/dist/runtime-v2/__tests__/system-prompt-merge.test.js +0 -24
  624. package/dist/runtime-v2/__tests__/system-prompt-merge.test.js.map +0 -1
  625. package/dist/runtime-v2/__tests__/task-state-semantics.test.d.ts +0 -2
  626. package/dist/runtime-v2/__tests__/task-state-semantics.test.d.ts.map +0 -1
  627. package/dist/runtime-v2/__tests__/task-state-semantics.test.js +0 -145
  628. package/dist/runtime-v2/__tests__/task-state-semantics.test.js.map +0 -1
  629. package/dist/runtime-v2/__tests__/task-three-strikes.test.d.ts +0 -2
  630. package/dist/runtime-v2/__tests__/task-three-strikes.test.d.ts.map +0 -1
  631. package/dist/runtime-v2/__tests__/task-three-strikes.test.js +0 -268
  632. package/dist/runtime-v2/__tests__/task-three-strikes.test.js.map +0 -1
  633. package/dist/runtime-v2/__tests__/telemetry-event.test.d.ts +0 -2
  634. package/dist/runtime-v2/__tests__/telemetry-event.test.d.ts.map +0 -1
  635. package/dist/runtime-v2/__tests__/telemetry-event.test.js +0 -69
  636. package/dist/runtime-v2/__tests__/telemetry-event.test.js.map +0 -1
  637. package/dist/runtime-v2/__tests__/trajectory-schema.test.d.ts +0 -2
  638. package/dist/runtime-v2/__tests__/trajectory-schema.test.d.ts.map +0 -1
  639. package/dist/runtime-v2/__tests__/trajectory-schema.test.js +0 -85
  640. package/dist/runtime-v2/__tests__/trajectory-schema.test.js.map +0 -1
  641. package/dist/runtime-v2/__tests__/trajectory-store.test.d.ts +0 -2
  642. package/dist/runtime-v2/__tests__/trajectory-store.test.d.ts.map +0 -1
  643. package/dist/runtime-v2/__tests__/trajectory-store.test.js +0 -143
  644. package/dist/runtime-v2/__tests__/trajectory-store.test.js.map +0 -1
  645. package/dist/runtime-v2/__tests__/v2-adversarial-cases.test.d.ts +0 -2
  646. package/dist/runtime-v2/__tests__/v2-adversarial-cases.test.d.ts.map +0 -1
  647. package/dist/runtime-v2/__tests__/v2-adversarial-cases.test.js +0 -211
  648. package/dist/runtime-v2/__tests__/v2-adversarial-cases.test.js.map +0 -1
  649. package/dist/runtime-v2/__tests__/workflow-funnel-loader.test.d.ts +0 -29
  650. package/dist/runtime-v2/__tests__/workflow-funnel-loader.test.d.ts.map +0 -1
  651. package/dist/runtime-v2/__tests__/workflow-funnel-loader.test.js +0 -432
  652. package/dist/runtime-v2/__tests__/workflow-funnel-loader.test.js.map +0 -1
  653. package/dist/runtime-v2/__tests__/workspace-leak-guard.test.d.ts +0 -2
  654. package/dist/runtime-v2/__tests__/workspace-leak-guard.test.d.ts.map +0 -1
  655. package/dist/runtime-v2/__tests__/workspace-leak-guard.test.js +0 -110
  656. package/dist/runtime-v2/__tests__/workspace-leak-guard.test.js.map +0 -1
  657. package/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.d.ts +0 -2
  658. package/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.d.ts.map +0 -1
  659. package/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js +0 -786
  660. package/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js.map +0 -1
  661. package/dist/runtime-v2/activation/__tests__/activation-re-dispatch.test.d.ts +0 -2
  662. package/dist/runtime-v2/activation/__tests__/activation-re-dispatch.test.d.ts.map +0 -1
  663. package/dist/runtime-v2/activation/__tests__/activation-re-dispatch.test.js +0 -165
  664. package/dist/runtime-v2/activation/__tests__/activation-re-dispatch.test.js.map +0 -1
  665. package/dist/runtime-v2/activation/__tests__/approval-completion-service.test.d.ts +0 -21
  666. package/dist/runtime-v2/activation/__tests__/approval-completion-service.test.d.ts.map +0 -1
  667. package/dist/runtime-v2/activation/__tests__/approval-completion-service.test.js +0 -363
  668. package/dist/runtime-v2/activation/__tests__/approval-completion-service.test.js.map +0 -1
  669. package/dist/runtime-v2/activation/__tests__/approval-context-types.test.d.ts +0 -2
  670. package/dist/runtime-v2/activation/__tests__/approval-context-types.test.d.ts.map +0 -1
  671. package/dist/runtime-v2/activation/__tests__/approval-context-types.test.js +0 -117
  672. package/dist/runtime-v2/activation/__tests__/approval-context-types.test.js.map +0 -1
  673. package/dist/runtime-v2/activation/__tests__/approval-queue.test.d.ts +0 -17
  674. package/dist/runtime-v2/activation/__tests__/approval-queue.test.d.ts.map +0 -1
  675. package/dist/runtime-v2/activation/__tests__/approval-queue.test.js +0 -406
  676. package/dist/runtime-v2/activation/__tests__/approval-queue.test.js.map +0 -1
  677. package/dist/runtime-v2/activation/__tests__/approval-store-extended.test.d.ts +0 -2
  678. package/dist/runtime-v2/activation/__tests__/approval-store-extended.test.d.ts.map +0 -1
  679. package/dist/runtime-v2/activation/__tests__/approval-store-extended.test.js +0 -187
  680. package/dist/runtime-v2/activation/__tests__/approval-store-extended.test.js.map +0 -1
  681. package/dist/runtime-v2/activation/__tests__/edit-then-approve.test.d.ts +0 -20
  682. package/dist/runtime-v2/activation/__tests__/edit-then-approve.test.d.ts.map +0 -1
  683. package/dist/runtime-v2/activation/__tests__/edit-then-approve.test.js +0 -145
  684. package/dist/runtime-v2/activation/__tests__/edit-then-approve.test.js.map +0 -1
  685. package/dist/runtime-v2/activation/__tests__/helpers.d.ts +0 -21
  686. package/dist/runtime-v2/activation/__tests__/helpers.d.ts.map +0 -1
  687. package/dist/runtime-v2/activation/__tests__/helpers.js +0 -132
  688. package/dist/runtime-v2/activation/__tests__/helpers.js.map +0 -1
  689. package/dist/runtime-v2/activation/__tests__/low-risk-writers.test.d.ts +0 -21
  690. package/dist/runtime-v2/activation/__tests__/low-risk-writers.test.d.ts.map +0 -1
  691. package/dist/runtime-v2/activation/__tests__/low-risk-writers.test.js +0 -468
  692. package/dist/runtime-v2/activation/__tests__/low-risk-writers.test.js.map +0 -1
  693. package/dist/runtime-v2/activation/__tests__/memory-activation-state-store.test.d.ts +0 -2
  694. package/dist/runtime-v2/activation/__tests__/memory-activation-state-store.test.d.ts.map +0 -1
  695. package/dist/runtime-v2/activation/__tests__/memory-activation-state-store.test.js +0 -257
  696. package/dist/runtime-v2/activation/__tests__/memory-activation-state-store.test.js.map +0 -1
  697. package/dist/runtime-v2/activation/__tests__/openclaw-promotion-checks.test.d.ts +0 -2
  698. package/dist/runtime-v2/activation/__tests__/openclaw-promotion-checks.test.d.ts.map +0 -1
  699. package/dist/runtime-v2/activation/__tests__/openclaw-promotion-checks.test.js +0 -91
  700. package/dist/runtime-v2/activation/__tests__/openclaw-promotion-checks.test.js.map +0 -1
  701. package/dist/runtime-v2/activation/__tests__/production-gate-deps.test.d.ts +0 -15
  702. package/dist/runtime-v2/activation/__tests__/production-gate-deps.test.d.ts.map +0 -1
  703. package/dist/runtime-v2/activation/__tests__/production-gate-deps.test.js +0 -503
  704. package/dist/runtime-v2/activation/__tests__/production-gate-deps.test.js.map +0 -1
  705. package/dist/runtime-v2/activation/__tests__/promotion-evidence-snapshot.test.d.ts +0 -2
  706. package/dist/runtime-v2/activation/__tests__/promotion-evidence-snapshot.test.d.ts.map +0 -1
  707. package/dist/runtime-v2/activation/__tests__/promotion-evidence-snapshot.test.js +0 -104
  708. package/dist/runtime-v2/activation/__tests__/promotion-evidence-snapshot.test.js.map +0 -1
  709. package/dist/runtime-v2/activation/__tests__/promotion-readiness-evaluator.test.d.ts +0 -2
  710. package/dist/runtime-v2/activation/__tests__/promotion-readiness-evaluator.test.d.ts.map +0 -1
  711. package/dist/runtime-v2/activation/__tests__/promotion-readiness-evaluator.test.js +0 -102
  712. package/dist/runtime-v2/activation/__tests__/promotion-readiness-evaluator.test.js.map +0 -1
  713. package/dist/runtime-v2/activation/__tests__/promotion-readiness-reader.test.d.ts +0 -2
  714. package/dist/runtime-v2/activation/__tests__/promotion-readiness-reader.test.d.ts.map +0 -1
  715. package/dist/runtime-v2/activation/__tests__/promotion-readiness-reader.test.js +0 -48
  716. package/dist/runtime-v2/activation/__tests__/promotion-readiness-reader.test.js.map +0 -1
  717. package/dist/runtime-v2/activation/__tests__/prompt-activation-reader-contract.test.d.ts +0 -2
  718. package/dist/runtime-v2/activation/__tests__/prompt-activation-reader-contract.test.d.ts.map +0 -1
  719. package/dist/runtime-v2/activation/__tests__/prompt-activation-reader-contract.test.js +0 -407
  720. package/dist/runtime-v2/activation/__tests__/prompt-activation-reader-contract.test.js.map +0 -1
  721. package/dist/runtime-v2/activation/__tests__/rulecode-owner-decision-service.test.d.ts +0 -2
  722. package/dist/runtime-v2/activation/__tests__/rulecode-owner-decision-service.test.d.ts.map +0 -1
  723. package/dist/runtime-v2/activation/__tests__/rulecode-owner-decision-service.test.js +0 -161
  724. package/dist/runtime-v2/activation/__tests__/rulecode-owner-decision-service.test.js.map +0 -1
  725. package/dist/runtime-v2/activation/__tests__/rulecode-safety-circuit-breaker.test.d.ts +0 -2
  726. package/dist/runtime-v2/activation/__tests__/rulecode-safety-circuit-breaker.test.d.ts.map +0 -1
  727. package/dist/runtime-v2/activation/__tests__/rulecode-safety-circuit-breaker.test.js +0 -31
  728. package/dist/runtime-v2/activation/__tests__/rulecode-safety-circuit-breaker.test.js.map +0 -1
  729. package/dist/runtime-v2/activation/__tests__/sqlite-activation-safety-store.test.d.ts +0 -2
  730. package/dist/runtime-v2/activation/__tests__/sqlite-activation-safety-store.test.d.ts.map +0 -1
  731. package/dist/runtime-v2/activation/__tests__/sqlite-activation-safety-store.test.js +0 -351
  732. package/dist/runtime-v2/activation/__tests__/sqlite-activation-safety-store.test.js.map +0 -1
  733. package/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store-fk.test.d.ts +0 -2
  734. package/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store-fk.test.d.ts.map +0 -1
  735. package/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store-fk.test.js +0 -62
  736. package/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store-fk.test.js.map +0 -1
  737. package/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.d.ts +0 -2
  738. package/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.d.ts.map +0 -1
  739. package/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.js +0 -257
  740. package/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.js.map +0 -1
  741. package/dist/runtime-v2/activation/__tests__/sqlite-approval-store-fk.test.d.ts +0 -2
  742. package/dist/runtime-v2/activation/__tests__/sqlite-approval-store-fk.test.d.ts.map +0 -1
  743. package/dist/runtime-v2/activation/__tests__/sqlite-approval-store-fk.test.js +0 -56
  744. package/dist/runtime-v2/activation/__tests__/sqlite-approval-store-fk.test.js.map +0 -1
  745. package/dist/runtime-v2/activation/__tests__/sqlite-approval-store.test.d.ts +0 -2
  746. package/dist/runtime-v2/activation/__tests__/sqlite-approval-store.test.d.ts.map +0 -1
  747. package/dist/runtime-v2/activation/__tests__/sqlite-approval-store.test.js +0 -168
  748. package/dist/runtime-v2/activation/__tests__/sqlite-approval-store.test.js.map +0 -1
  749. package/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.d.ts +0 -35
  750. package/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.d.ts.map +0 -1
  751. package/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.js +0 -416
  752. package/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.js.map +0 -1
  753. package/dist/runtime-v2/activation/writers/__tests__/rule-host-writer.test.d.ts +0 -2
  754. package/dist/runtime-v2/activation/writers/__tests__/rule-host-writer.test.d.ts.map +0 -1
  755. package/dist/runtime-v2/activation/writers/__tests__/rule-host-writer.test.js +0 -1144
  756. package/dist/runtime-v2/activation/writers/__tests__/rule-host-writer.test.js.map +0 -1
  757. package/dist/runtime-v2/adapter/__tests__/artificer-l2-adapter.test.d.ts +0 -2
  758. package/dist/runtime-v2/adapter/__tests__/artificer-l2-adapter.test.d.ts.map +0 -1
  759. package/dist/runtime-v2/adapter/__tests__/artificer-l2-adapter.test.js +0 -651
  760. package/dist/runtime-v2/adapter/__tests__/artificer-l2-adapter.test.js.map +0 -1
  761. package/dist/runtime-v2/adapter/__tests__/chaos-json-repair.test.d.ts +0 -2
  762. package/dist/runtime-v2/adapter/__tests__/chaos-json-repair.test.d.ts.map +0 -1
  763. package/dist/runtime-v2/adapter/__tests__/chaos-json-repair.test.js +0 -553
  764. package/dist/runtime-v2/adapter/__tests__/chaos-json-repair.test.js.map +0 -1
  765. package/dist/runtime-v2/adapter/__tests__/json-extractor.test.d.ts +0 -2
  766. package/dist/runtime-v2/adapter/__tests__/json-extractor.test.d.ts.map +0 -1
  767. package/dist/runtime-v2/adapter/__tests__/json-extractor.test.js +0 -288
  768. package/dist/runtime-v2/adapter/__tests__/json-extractor.test.js.map +0 -1
  769. package/dist/runtime-v2/adapter/__tests__/l2-agent-loop-adapter.test.d.ts +0 -2
  770. package/dist/runtime-v2/adapter/__tests__/l2-agent-loop-adapter.test.d.ts.map +0 -1
  771. package/dist/runtime-v2/adapter/__tests__/l2-agent-loop-adapter.test.js +0 -454
  772. package/dist/runtime-v2/adapter/__tests__/l2-agent-loop-adapter.test.js.map +0 -1
  773. package/dist/runtime-v2/adapter/__tests__/l2-resolve-model-compat.test.d.ts +0 -2
  774. package/dist/runtime-v2/adapter/__tests__/l2-resolve-model-compat.test.d.ts.map +0 -1
  775. package/dist/runtime-v2/adapter/__tests__/l2-resolve-model-compat.test.js +0 -147
  776. package/dist/runtime-v2/adapter/__tests__/l2-resolve-model-compat.test.js.map +0 -1
  777. package/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter-message-file.test.d.ts +0 -19
  778. package/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter-message-file.test.d.ts.map +0 -1
  779. package/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter-message-file.test.js +0 -210
  780. package/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter-message-file.test.js.map +0 -1
  781. package/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter-systemprompt-fold.test.d.ts +0 -13
  782. package/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter-systemprompt-fold.test.d.ts.map +0 -1
  783. package/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter-systemprompt-fold.test.js +0 -86
  784. package/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter-systemprompt-fold.test.js.map +0 -1
  785. package/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter.test.d.ts +0 -2
  786. package/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter.test.d.ts.map +0 -1
  787. package/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter.test.js +0 -803
  788. package/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter.test.js.map +0 -1
  789. package/dist/runtime-v2/adapter/__tests__/output-repair-contract.test.d.ts +0 -2
  790. package/dist/runtime-v2/adapter/__tests__/output-repair-contract.test.d.ts.map +0 -1
  791. package/dist/runtime-v2/adapter/__tests__/output-repair-contract.test.js +0 -305
  792. package/dist/runtime-v2/adapter/__tests__/output-repair-contract.test.js.map +0 -1
  793. package/dist/runtime-v2/adapter/__tests__/pd-stream-simple.test.d.ts +0 -2
  794. package/dist/runtime-v2/adapter/__tests__/pd-stream-simple.test.d.ts.map +0 -1
  795. package/dist/runtime-v2/adapter/__tests__/pd-stream-simple.test.js +0 -71
  796. package/dist/runtime-v2/adapter/__tests__/pd-stream-simple.test.js.map +0 -1
  797. package/dist/runtime-v2/adapter/__tests__/pi-ai-http-transport.test.d.ts +0 -2
  798. package/dist/runtime-v2/adapter/__tests__/pi-ai-http-transport.test.d.ts.map +0 -1
  799. package/dist/runtime-v2/adapter/__tests__/pi-ai-http-transport.test.js +0 -219
  800. package/dist/runtime-v2/adapter/__tests__/pi-ai-http-transport.test.js.map +0 -1
  801. package/dist/runtime-v2/adapter/__tests__/pi-ai-runtime-adapter.test.d.ts +0 -2
  802. package/dist/runtime-v2/adapter/__tests__/pi-ai-runtime-adapter.test.d.ts.map +0 -1
  803. package/dist/runtime-v2/adapter/__tests__/pi-ai-runtime-adapter.test.js +0 -2128
  804. package/dist/runtime-v2/adapter/__tests__/pi-ai-runtime-adapter.test.js.map +0 -1
  805. package/dist/runtime-v2/adapter/__tests__/principle-tree-ledger-adapter.test.d.ts +0 -2
  806. package/dist/runtime-v2/adapter/__tests__/principle-tree-ledger-adapter.test.d.ts.map +0 -1
  807. package/dist/runtime-v2/adapter/__tests__/principle-tree-ledger-adapter.test.js +0 -159
  808. package/dist/runtime-v2/adapter/__tests__/principle-tree-ledger-adapter.test.js.map +0 -1
  809. package/dist/runtime-v2/adapter/__tests__/runtime-config-contract.test.d.ts +0 -2
  810. package/dist/runtime-v2/adapter/__tests__/runtime-config-contract.test.d.ts.map +0 -1
  811. package/dist/runtime-v2/adapter/__tests__/runtime-config-contract.test.js +0 -246
  812. package/dist/runtime-v2/adapter/__tests__/runtime-config-contract.test.js.map +0 -1
  813. package/dist/runtime-v2/adapter/__tests__/schema-json-converter.test.d.ts +0 -2
  814. package/dist/runtime-v2/adapter/__tests__/schema-json-converter.test.d.ts.map +0 -1
  815. package/dist/runtime-v2/adapter/__tests__/schema-json-converter.test.js +0 -101
  816. package/dist/runtime-v2/adapter/__tests__/schema-json-converter.test.js.map +0 -1
  817. package/dist/runtime-v2/adapter/__tests__/schema-prompt-adapter-semantic.test.d.ts +0 -2
  818. package/dist/runtime-v2/adapter/__tests__/schema-prompt-adapter-semantic.test.d.ts.map +0 -1
  819. package/dist/runtime-v2/adapter/__tests__/schema-prompt-adapter-semantic.test.js +0 -94
  820. package/dist/runtime-v2/adapter/__tests__/schema-prompt-adapter-semantic.test.js.map +0 -1
  821. package/dist/runtime-v2/adapter/__tests__/schema-prompt-adapter.test.d.ts +0 -2
  822. package/dist/runtime-v2/adapter/__tests__/schema-prompt-adapter.test.d.ts.map +0 -1
  823. package/dist/runtime-v2/adapter/__tests__/schema-prompt-adapter.test.js +0 -286
  824. package/dist/runtime-v2/adapter/__tests__/schema-prompt-adapter.test.js.map +0 -1
  825. package/dist/runtime-v2/adapter/__tests__/structured-output-repair.test.d.ts +0 -2
  826. package/dist/runtime-v2/adapter/__tests__/structured-output-repair.test.d.ts.map +0 -1
  827. package/dist/runtime-v2/adapter/__tests__/structured-output-repair.test.js +0 -544
  828. package/dist/runtime-v2/adapter/__tests__/structured-output-repair.test.js.map +0 -1
  829. package/dist/runtime-v2/adapter/__tests__/test-double-runtime-adapter.test.d.ts +0 -2
  830. package/dist/runtime-v2/adapter/__tests__/test-double-runtime-adapter.test.d.ts.map +0 -1
  831. package/dist/runtime-v2/adapter/__tests__/test-double-runtime-adapter.test.js +0 -543
  832. package/dist/runtime-v2/adapter/__tests__/test-double-runtime-adapter.test.js.map +0 -1
  833. package/dist/runtime-v2/config/__tests__/internal-agent-names.test.d.ts +0 -2
  834. package/dist/runtime-v2/config/__tests__/internal-agent-names.test.d.ts.map +0 -1
  835. package/dist/runtime-v2/config/__tests__/internal-agent-names.test.js +0 -17
  836. package/dist/runtime-v2/config/__tests__/internal-agent-names.test.js.map +0 -1
  837. package/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.d.ts +0 -18
  838. package/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.d.ts.map +0 -1
  839. package/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.js +0 -678
  840. package/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.js.map +0 -1
  841. package/dist/runtime-v2/config/__tests__/pd-config-context-injection.test.d.ts +0 -2
  842. package/dist/runtime-v2/config/__tests__/pd-config-context-injection.test.d.ts.map +0 -1
  843. package/dist/runtime-v2/config/__tests__/pd-config-context-injection.test.js +0 -205
  844. package/dist/runtime-v2/config/__tests__/pd-config-context-injection.test.js.map +0 -1
  845. package/dist/runtime-v2/config/__tests__/pd-config-contract.test.d.ts +0 -15
  846. package/dist/runtime-v2/config/__tests__/pd-config-contract.test.d.ts.map +0 -1
  847. package/dist/runtime-v2/config/__tests__/pd-config-contract.test.js +0 -801
  848. package/dist/runtime-v2/config/__tests__/pd-config-contract.test.js.map +0 -1
  849. package/dist/runtime-v2/config/__tests__/pd-config-pri638-cutover.test.d.ts +0 -2
  850. package/dist/runtime-v2/config/__tests__/pd-config-pri638-cutover.test.d.ts.map +0 -1
  851. package/dist/runtime-v2/config/__tests__/pd-config-pri638-cutover.test.js +0 -99
  852. package/dist/runtime-v2/config/__tests__/pd-config-pri638-cutover.test.js.map +0 -1
  853. package/dist/runtime-v2/config/__tests__/pd-config-principles.test.d.ts +0 -11
  854. package/dist/runtime-v2/config/__tests__/pd-config-principles.test.d.ts.map +0 -1
  855. package/dist/runtime-v2/config/__tests__/pd-config-principles.test.js +0 -92
  856. package/dist/runtime-v2/config/__tests__/pd-config-principles.test.js.map +0 -1
  857. package/dist/runtime-v2/config/__tests__/pd-config-provenance.test.d.ts +0 -24
  858. package/dist/runtime-v2/config/__tests__/pd-config-provenance.test.d.ts.map +0 -1
  859. package/dist/runtime-v2/config/__tests__/pd-config-provenance.test.js +0 -188
  860. package/dist/runtime-v2/config/__tests__/pd-config-provenance.test.js.map +0 -1
  861. package/dist/runtime-v2/config/__tests__/pd-config-reasoning.test.d.ts +0 -2
  862. package/dist/runtime-v2/config/__tests__/pd-config-reasoning.test.d.ts.map +0 -1
  863. package/dist/runtime-v2/config/__tests__/pd-config-reasoning.test.js +0 -98
  864. package/dist/runtime-v2/config/__tests__/pd-config-reasoning.test.js.map +0 -1
  865. package/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.d.ts +0 -13
  866. package/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.d.ts.map +0 -1
  867. package/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.js +0 -446
  868. package/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.js.map +0 -1
  869. package/dist/runtime-v2/config/__tests__/pd-config-sparse-bootstrap.test.d.ts +0 -2
  870. package/dist/runtime-v2/config/__tests__/pd-config-sparse-bootstrap.test.d.ts.map +0 -1
  871. package/dist/runtime-v2/config/__tests__/pd-config-sparse-bootstrap.test.js +0 -143
  872. package/dist/runtime-v2/config/__tests__/pd-config-sparse-bootstrap.test.js.map +0 -1
  873. package/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.d.ts +0 -12
  874. package/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.d.ts.map +0 -1
  875. package/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.js +0 -649
  876. package/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.js.map +0 -1
  877. package/dist/runtime-v2/config/__tests__/pd-config-workspace.test.d.ts +0 -2
  878. package/dist/runtime-v2/config/__tests__/pd-config-workspace.test.d.ts.map +0 -1
  879. package/dist/runtime-v2/config/__tests__/pd-config-workspace.test.js +0 -195
  880. package/dist/runtime-v2/config/__tests__/pd-config-workspace.test.js.map +0 -1
  881. package/dist/runtime-v2/config/__tests__/pd-validate-profile-legacy-keys.test.d.ts +0 -13
  882. package/dist/runtime-v2/config/__tests__/pd-validate-profile-legacy-keys.test.d.ts.map +0 -1
  883. package/dist/runtime-v2/config/__tests__/pd-validate-profile-legacy-keys.test.js +0 -73
  884. package/dist/runtime-v2/config/__tests__/pd-validate-profile-legacy-keys.test.js.map +0 -1
  885. package/dist/runtime-v2/core-principles/__tests__/core-axiom-block.test.d.ts +0 -5
  886. package/dist/runtime-v2/core-principles/__tests__/core-axiom-block.test.d.ts.map +0 -1
  887. package/dist/runtime-v2/core-principles/__tests__/core-axiom-block.test.js +0 -119
  888. package/dist/runtime-v2/core-principles/__tests__/core-axiom-block.test.js.map +0 -1
  889. package/dist/runtime-v2/core-principles/__tests__/core-principle-registry.test.d.ts +0 -2
  890. package/dist/runtime-v2/core-principles/__tests__/core-principle-registry.test.d.ts.map +0 -1
  891. package/dist/runtime-v2/core-principles/__tests__/core-principle-registry.test.js +0 -95
  892. package/dist/runtime-v2/core-principles/__tests__/core-principle-registry.test.js.map +0 -1
  893. package/dist/runtime-v2/core-principles/__tests__/strip-fabricated-ids.test.d.ts +0 -2
  894. package/dist/runtime-v2/core-principles/__tests__/strip-fabricated-ids.test.d.ts.map +0 -1
  895. package/dist/runtime-v2/core-principles/__tests__/strip-fabricated-ids.test.js +0 -78
  896. package/dist/runtime-v2/core-principles/__tests__/strip-fabricated-ids.test.js.map +0 -1
  897. package/dist/runtime-v2/detection/__tests__/detection-funnel-policy.test.d.ts +0 -13
  898. package/dist/runtime-v2/detection/__tests__/detection-funnel-policy.test.d.ts.map +0 -1
  899. package/dist/runtime-v2/detection/__tests__/detection-funnel-policy.test.js +0 -111
  900. package/dist/runtime-v2/detection/__tests__/detection-funnel-policy.test.js.map +0 -1
  901. package/dist/runtime-v2/diagnostician/__tests__/diag-distiller-output.test.d.ts +0 -2
  902. package/dist/runtime-v2/diagnostician/__tests__/diag-distiller-output.test.d.ts.map +0 -1
  903. package/dist/runtime-v2/diagnostician/__tests__/diag-distiller-output.test.js +0 -91
  904. package/dist/runtime-v2/diagnostician/__tests__/diag-distiller-output.test.js.map +0 -1
  905. package/dist/runtime-v2/diagnostician/__tests__/diag-rootcause-output.test.d.ts +0 -2
  906. package/dist/runtime-v2/diagnostician/__tests__/diag-rootcause-output.test.d.ts.map +0 -1
  907. package/dist/runtime-v2/diagnostician/__tests__/diag-rootcause-output.test.js +0 -366
  908. package/dist/runtime-v2/diagnostician/__tests__/diag-rootcause-output.test.js.map +0 -1
  909. package/dist/runtime-v2/diagnostician/__tests__/distiller-prompt-builder.test.d.ts +0 -2
  910. package/dist/runtime-v2/diagnostician/__tests__/distiller-prompt-builder.test.d.ts.map +0 -1
  911. package/dist/runtime-v2/diagnostician/__tests__/distiller-prompt-builder.test.js +0 -39
  912. package/dist/runtime-v2/diagnostician/__tests__/distiller-prompt-builder.test.js.map +0 -1
  913. package/dist/runtime-v2/diagnostician/__tests__/intent-tension-schema.test.d.ts +0 -18
  914. package/dist/runtime-v2/diagnostician/__tests__/intent-tension-schema.test.d.ts.map +0 -1
  915. package/dist/runtime-v2/diagnostician/__tests__/intent-tension-schema.test.js +0 -251
  916. package/dist/runtime-v2/diagnostician/__tests__/intent-tension-schema.test.js.map +0 -1
  917. package/dist/runtime-v2/diagnostician/__tests__/rootcause-prompt-builder.test.d.ts +0 -2
  918. package/dist/runtime-v2/diagnostician/__tests__/rootcause-prompt-builder.test.d.ts.map +0 -1
  919. package/dist/runtime-v2/diagnostician/__tests__/rootcause-prompt-builder.test.js +0 -235
  920. package/dist/runtime-v2/diagnostician/__tests__/rootcause-prompt-builder.test.js.map +0 -1
  921. package/dist/runtime-v2/diagnostician/__tests__/router-prompt-builder.test.d.ts +0 -2
  922. package/dist/runtime-v2/diagnostician/__tests__/router-prompt-builder.test.d.ts.map +0 -1
  923. package/dist/runtime-v2/diagnostician/__tests__/router-prompt-builder.test.js +0 -57
  924. package/dist/runtime-v2/diagnostician/__tests__/router-prompt-builder.test.js.map +0 -1
  925. package/dist/runtime-v2/evidence-triage/__tests__/admission-events.test.d.ts +0 -7
  926. package/dist/runtime-v2/evidence-triage/__tests__/admission-events.test.d.ts.map +0 -1
  927. package/dist/runtime-v2/evidence-triage/__tests__/admission-events.test.js +0 -170
  928. package/dist/runtime-v2/evidence-triage/__tests__/admission-events.test.js.map +0 -1
  929. package/dist/runtime-v2/evidence-triage/__tests__/observation-resolver.test.d.ts +0 -12
  930. package/dist/runtime-v2/evidence-triage/__tests__/observation-resolver.test.d.ts.map +0 -1
  931. package/dist/runtime-v2/evidence-triage/__tests__/observation-resolver.test.js +0 -181
  932. package/dist/runtime-v2/evidence-triage/__tests__/observation-resolver.test.js.map +0 -1
  933. package/dist/runtime-v2/evidence-triage/__tests__/source-descriptors.test.d.ts +0 -18
  934. package/dist/runtime-v2/evidence-triage/__tests__/source-descriptors.test.d.ts.map +0 -1
  935. package/dist/runtime-v2/evidence-triage/__tests__/source-descriptors.test.js +0 -277
  936. package/dist/runtime-v2/evidence-triage/__tests__/source-descriptors.test.js.map +0 -1
  937. package/dist/runtime-v2/evidence-triage/__tests__/triage-policy.test.d.ts +0 -13
  938. package/dist/runtime-v2/evidence-triage/__tests__/triage-policy.test.d.ts.map +0 -1
  939. package/dist/runtime-v2/evidence-triage/__tests__/triage-policy.test.js +0 -367
  940. package/dist/runtime-v2/evidence-triage/__tests__/triage-policy.test.js.map +0 -1
  941. package/dist/runtime-v2/evidence-triage/__tests__/trigger-controller.test.d.ts +0 -16
  942. package/dist/runtime-v2/evidence-triage/__tests__/trigger-controller.test.d.ts.map +0 -1
  943. package/dist/runtime-v2/evidence-triage/__tests__/trigger-controller.test.js +0 -316
  944. package/dist/runtime-v2/evidence-triage/__tests__/trigger-controller.test.js.map +0 -1
  945. package/dist/runtime-v2/feature-flags/__tests__/anonymous-product-telemetry-flag.test.d.ts +0 -2
  946. package/dist/runtime-v2/feature-flags/__tests__/anonymous-product-telemetry-flag.test.d.ts.map +0 -1
  947. package/dist/runtime-v2/feature-flags/__tests__/anonymous-product-telemetry-flag.test.js +0 -48
  948. package/dist/runtime-v2/feature-flags/__tests__/anonymous-product-telemetry-flag.test.js.map +0 -1
  949. package/dist/runtime-v2/feature-flags/__tests__/codex-conversation-ingestion-flag.test.d.ts +0 -2
  950. package/dist/runtime-v2/feature-flags/__tests__/codex-conversation-ingestion-flag.test.d.ts.map +0 -1
  951. package/dist/runtime-v2/feature-flags/__tests__/codex-conversation-ingestion-flag.test.js +0 -46
  952. package/dist/runtime-v2/feature-flags/__tests__/codex-conversation-ingestion-flag.test.js.map +0 -1
  953. package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.d.ts +0 -2
  954. package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.d.ts.map +0 -1
  955. package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js +0 -691
  956. package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js.map +0 -1
  957. package/dist/runtime-v2/feature-flags/__tests__/feature-flag-lifecycle.test.d.ts +0 -2
  958. package/dist/runtime-v2/feature-flags/__tests__/feature-flag-lifecycle.test.d.ts.map +0 -1
  959. package/dist/runtime-v2/feature-flags/__tests__/feature-flag-lifecycle.test.js +0 -420
  960. package/dist/runtime-v2/feature-flags/__tests__/feature-flag-lifecycle.test.js.map +0 -1
  961. package/dist/runtime-v2/feature-flags/__tests__/installer-config-parity.test.d.ts +0 -2
  962. package/dist/runtime-v2/feature-flags/__tests__/installer-config-parity.test.d.ts.map +0 -1
  963. package/dist/runtime-v2/feature-flags/__tests__/installer-config-parity.test.js +0 -86
  964. package/dist/runtime-v2/feature-flags/__tests__/installer-config-parity.test.js.map +0 -1
  965. package/dist/runtime-v2/feature-flags/__tests__/intent-engineering-flag.test.d.ts +0 -2
  966. package/dist/runtime-v2/feature-flags/__tests__/intent-engineering-flag.test.d.ts.map +0 -1
  967. package/dist/runtime-v2/feature-flags/__tests__/intent-engineering-flag.test.js +0 -30
  968. package/dist/runtime-v2/feature-flags/__tests__/intent-engineering-flag.test.js.map +0 -1
  969. package/dist/runtime-v2/feature-flags/__tests__/pain-diagnosis-persistence-flag.test.d.ts +0 -2
  970. package/dist/runtime-v2/feature-flags/__tests__/pain-diagnosis-persistence-flag.test.d.ts.map +0 -1
  971. package/dist/runtime-v2/feature-flags/__tests__/pain-diagnosis-persistence-flag.test.js +0 -44
  972. package/dist/runtime-v2/feature-flags/__tests__/pain-diagnosis-persistence-flag.test.js.map +0 -1
  973. package/dist/runtime-v2/feature-flags/__tests__/plugin-surface-registry.test.d.ts +0 -2
  974. package/dist/runtime-v2/feature-flags/__tests__/plugin-surface-registry.test.d.ts.map +0 -1
  975. package/dist/runtime-v2/feature-flags/__tests__/plugin-surface-registry.test.js +0 -152
  976. package/dist/runtime-v2/feature-flags/__tests__/plugin-surface-registry.test.js.map +0 -1
  977. package/dist/runtime-v2/feature-flags/__tests__/principle-receipt-block-copy-flag.test.d.ts +0 -2
  978. package/dist/runtime-v2/feature-flags/__tests__/principle-receipt-block-copy-flag.test.d.ts.map +0 -1
  979. package/dist/runtime-v2/feature-flags/__tests__/principle-receipt-block-copy-flag.test.js +0 -42
  980. package/dist/runtime-v2/feature-flags/__tests__/principle-receipt-block-copy-flag.test.js.map +0 -1
  981. package/dist/runtime-v2/feature-flags/__tests__/principle-receipt-ledger-flag.test.d.ts +0 -2
  982. package/dist/runtime-v2/feature-flags/__tests__/principle-receipt-ledger-flag.test.d.ts.map +0 -1
  983. package/dist/runtime-v2/feature-flags/__tests__/principle-receipt-ledger-flag.test.js +0 -42
  984. package/dist/runtime-v2/feature-flags/__tests__/principle-receipt-ledger-flag.test.js.map +0 -1
  985. package/dist/runtime-v2/feature-flags/__tests__/rulecode-context-v2-flag.test.d.ts +0 -2
  986. package/dist/runtime-v2/feature-flags/__tests__/rulecode-context-v2-flag.test.d.ts.map +0 -1
  987. package/dist/runtime-v2/feature-flags/__tests__/rulecode-context-v2-flag.test.js +0 -74
  988. package/dist/runtime-v2/feature-flags/__tests__/rulecode-context-v2-flag.test.js.map +0 -1
  989. package/dist/runtime-v2/feature-flags/__tests__/surface-guard-policy.test.d.ts +0 -2
  990. package/dist/runtime-v2/feature-flags/__tests__/surface-guard-policy.test.d.ts.map +0 -1
  991. package/dist/runtime-v2/feature-flags/__tests__/surface-guard-policy.test.js +0 -246
  992. package/dist/runtime-v2/feature-flags/__tests__/surface-guard-policy.test.js.map +0 -1
  993. package/dist/runtime-v2/feedback/__tests__/create-report-agent-draft.test.d.ts +0 -2
  994. package/dist/runtime-v2/feedback/__tests__/create-report-agent-draft.test.d.ts.map +0 -1
  995. package/dist/runtime-v2/feedback/__tests__/create-report-agent-draft.test.js +0 -221
  996. package/dist/runtime-v2/feedback/__tests__/create-report-agent-draft.test.js.map +0 -1
  997. package/dist/runtime-v2/feedback/__tests__/fingerprint.test.d.ts +0 -2
  998. package/dist/runtime-v2/feedback/__tests__/fingerprint.test.d.ts.map +0 -1
  999. package/dist/runtime-v2/feedback/__tests__/fingerprint.test.js +0 -126
  1000. package/dist/runtime-v2/feedback/__tests__/fingerprint.test.js.map +0 -1
  1001. package/dist/runtime-v2/feedback/__tests__/mailto-url.test.d.ts +0 -11
  1002. package/dist/runtime-v2/feedback/__tests__/mailto-url.test.d.ts.map +0 -1
  1003. package/dist/runtime-v2/feedback/__tests__/mailto-url.test.js +0 -160
  1004. package/dist/runtime-v2/feedback/__tests__/mailto-url.test.js.map +0 -1
  1005. package/dist/runtime-v2/feedback/__tests__/pending-agent-draft-store.test.d.ts +0 -2
  1006. package/dist/runtime-v2/feedback/__tests__/pending-agent-draft-store.test.d.ts.map +0 -1
  1007. package/dist/runtime-v2/feedback/__tests__/pending-agent-draft-store.test.js +0 -342
  1008. package/dist/runtime-v2/feedback/__tests__/pending-agent-draft-store.test.js.map +0 -1
  1009. package/dist/runtime-v2/feedback/__tests__/redact-sensitive.test.d.ts +0 -15
  1010. package/dist/runtime-v2/feedback/__tests__/redact-sensitive.test.d.ts.map +0 -1
  1011. package/dist/runtime-v2/feedback/__tests__/redact-sensitive.test.js +0 -450
  1012. package/dist/runtime-v2/feedback/__tests__/redact-sensitive.test.js.map +0 -1
  1013. package/dist/runtime-v2/feedback/__tests__/render-github-url.test.d.ts +0 -13
  1014. package/dist/runtime-v2/feedback/__tests__/render-github-url.test.d.ts.map +0 -1
  1015. package/dist/runtime-v2/feedback/__tests__/render-github-url.test.js +0 -243
  1016. package/dist/runtime-v2/feedback/__tests__/render-github-url.test.js.map +0 -1
  1017. package/dist/runtime-v2/feedback/__tests__/safe-stringify.test.d.ts +0 -12
  1018. package/dist/runtime-v2/feedback/__tests__/safe-stringify.test.d.ts.map +0 -1
  1019. package/dist/runtime-v2/feedback/__tests__/safe-stringify.test.js +0 -172
  1020. package/dist/runtime-v2/feedback/__tests__/safe-stringify.test.js.map +0 -1
  1021. package/dist/runtime-v2/feedback/__tests__/slice1-typed-fields.test.d.ts +0 -2
  1022. package/dist/runtime-v2/feedback/__tests__/slice1-typed-fields.test.d.ts.map +0 -1
  1023. package/dist/runtime-v2/feedback/__tests__/slice1-typed-fields.test.js +0 -278
  1024. package/dist/runtime-v2/feedback/__tests__/slice1-typed-fields.test.js.map +0 -1
  1025. package/dist/runtime-v2/gfi/__tests__/gfi-kernel.test.d.ts +0 -2
  1026. package/dist/runtime-v2/gfi/__tests__/gfi-kernel.test.d.ts.map +0 -1
  1027. package/dist/runtime-v2/gfi/__tests__/gfi-kernel.test.js +0 -626
  1028. package/dist/runtime-v2/gfi/__tests__/gfi-kernel.test.js.map +0 -1
  1029. package/dist/runtime-v2/gfi/__tests__/gfi-read-model.test.d.ts +0 -2
  1030. package/dist/runtime-v2/gfi/__tests__/gfi-read-model.test.d.ts.map +0 -1
  1031. package/dist/runtime-v2/gfi/__tests__/gfi-read-model.test.js +0 -212
  1032. package/dist/runtime-v2/gfi/__tests__/gfi-read-model.test.js.map +0 -1
  1033. package/dist/runtime-v2/intent/__tests__/intent-browser.test.d.ts +0 -2
  1034. package/dist/runtime-v2/intent/__tests__/intent-browser.test.d.ts.map +0 -1
  1035. package/dist/runtime-v2/intent/__tests__/intent-browser.test.js +0 -93
  1036. package/dist/runtime-v2/intent/__tests__/intent-browser.test.js.map +0 -1
  1037. package/dist/runtime-v2/intent/__tests__/intent-decision-record.test.d.ts +0 -2
  1038. package/dist/runtime-v2/intent/__tests__/intent-decision-record.test.d.ts.map +0 -1
  1039. package/dist/runtime-v2/intent/__tests__/intent-decision-record.test.js +0 -185
  1040. package/dist/runtime-v2/intent/__tests__/intent-decision-record.test.js.map +0 -1
  1041. package/dist/runtime-v2/intent/__tests__/intent-doc-version-edge-cases.test.d.ts +0 -2
  1042. package/dist/runtime-v2/intent/__tests__/intent-doc-version-edge-cases.test.d.ts.map +0 -1
  1043. package/dist/runtime-v2/intent/__tests__/intent-doc-version-edge-cases.test.js +0 -182
  1044. package/dist/runtime-v2/intent/__tests__/intent-doc-version-edge-cases.test.js.map +0 -1
  1045. package/dist/runtime-v2/intent/__tests__/intent-doc-version.test.d.ts +0 -2
  1046. package/dist/runtime-v2/intent/__tests__/intent-doc-version.test.d.ts.map +0 -1
  1047. package/dist/runtime-v2/intent/__tests__/intent-doc-version.test.js +0 -88
  1048. package/dist/runtime-v2/intent/__tests__/intent-doc-version.test.js.map +0 -1
  1049. package/dist/runtime-v2/intent/__tests__/intent-doc.test.d.ts +0 -2
  1050. package/dist/runtime-v2/intent/__tests__/intent-doc.test.d.ts.map +0 -1
  1051. package/dist/runtime-v2/intent/__tests__/intent-doc.test.js +0 -181
  1052. package/dist/runtime-v2/intent/__tests__/intent-doc.test.js.map +0 -1
  1053. package/dist/runtime-v2/intent/__tests__/intent-friction-block.test.d.ts +0 -2
  1054. package/dist/runtime-v2/intent/__tests__/intent-friction-block.test.d.ts.map +0 -1
  1055. package/dist/runtime-v2/intent/__tests__/intent-friction-block.test.js +0 -168
  1056. package/dist/runtime-v2/intent/__tests__/intent-friction-block.test.js.map +0 -1
  1057. package/dist/runtime-v2/intent/__tests__/intent-patch-proposal.test.d.ts +0 -2
  1058. package/dist/runtime-v2/intent/__tests__/intent-patch-proposal.test.d.ts.map +0 -1
  1059. package/dist/runtime-v2/intent/__tests__/intent-patch-proposal.test.js +0 -121
  1060. package/dist/runtime-v2/intent/__tests__/intent-patch-proposal.test.js.map +0 -1
  1061. package/dist/runtime-v2/internalization/__tests__/__fixtures__/intent-tension-cases.d.ts +0 -54
  1062. package/dist/runtime-v2/internalization/__tests__/__fixtures__/intent-tension-cases.d.ts.map +0 -1
  1063. package/dist/runtime-v2/internalization/__tests__/__fixtures__/intent-tension-cases.js +0 -219
  1064. package/dist/runtime-v2/internalization/__tests__/__fixtures__/intent-tension-cases.js.map +0 -1
  1065. package/dist/runtime-v2/internalization/__tests__/__fixtures__/split-pipeline-mock-outputs.d.ts.map +0 -1
  1066. package/dist/runtime-v2/internalization/__tests__/__fixtures__/split-pipeline-mock-outputs.js.map +0 -1
  1067. package/dist/runtime-v2/internalization/__tests__/a-liveness-reconciliation.test.d.ts +0 -2
  1068. package/dist/runtime-v2/internalization/__tests__/a-liveness-reconciliation.test.d.ts.map +0 -1
  1069. package/dist/runtime-v2/internalization/__tests__/a-liveness-reconciliation.test.js +0 -158
  1070. package/dist/runtime-v2/internalization/__tests__/a-liveness-reconciliation.test.js.map +0 -1
  1071. package/dist/runtime-v2/internalization/__tests__/adversarial-case.test.d.ts +0 -2
  1072. package/dist/runtime-v2/internalization/__tests__/adversarial-case.test.d.ts.map +0 -1
  1073. package/dist/runtime-v2/internalization/__tests__/adversarial-case.test.js +0 -139
  1074. package/dist/runtime-v2/internalization/__tests__/adversarial-case.test.js.map +0 -1
  1075. package/dist/runtime-v2/internalization/__tests__/adversarial-feedback.test.d.ts +0 -2
  1076. package/dist/runtime-v2/internalization/__tests__/adversarial-feedback.test.d.ts.map +0 -1
  1077. package/dist/runtime-v2/internalization/__tests__/adversarial-feedback.test.js +0 -71
  1078. package/dist/runtime-v2/internalization/__tests__/adversarial-feedback.test.js.map +0 -1
  1079. package/dist/runtime-v2/internalization/__tests__/artifact-content-hash.property.test.d.ts +0 -11
  1080. package/dist/runtime-v2/internalization/__tests__/artifact-content-hash.property.test.d.ts.map +0 -1
  1081. package/dist/runtime-v2/internalization/__tests__/artifact-content-hash.property.test.js +0 -124
  1082. package/dist/runtime-v2/internalization/__tests__/artifact-content-hash.property.test.js.map +0 -1
  1083. package/dist/runtime-v2/internalization/__tests__/artifact-summary.property.test.d.ts +0 -12
  1084. package/dist/runtime-v2/internalization/__tests__/artifact-summary.property.test.d.ts.map +0 -1
  1085. package/dist/runtime-v2/internalization/__tests__/artifact-summary.property.test.js +0 -253
  1086. package/dist/runtime-v2/internalization/__tests__/artifact-summary.property.test.js.map +0 -1
  1087. package/dist/runtime-v2/internalization/__tests__/artificer-code-bearing.test.d.ts +0 -2
  1088. package/dist/runtime-v2/internalization/__tests__/artificer-code-bearing.test.d.ts.map +0 -1
  1089. package/dist/runtime-v2/internalization/__tests__/artificer-code-bearing.test.js +0 -114
  1090. package/dist/runtime-v2/internalization/__tests__/artificer-code-bearing.test.js.map +0 -1
  1091. package/dist/runtime-v2/internalization/__tests__/artificer-output-retry-flag.test.d.ts +0 -2
  1092. package/dist/runtime-v2/internalization/__tests__/artificer-output-retry-flag.test.d.ts.map +0 -1
  1093. package/dist/runtime-v2/internalization/__tests__/artificer-output-retry-flag.test.js +0 -112
  1094. package/dist/runtime-v2/internalization/__tests__/artificer-output-retry-flag.test.js.map +0 -1
  1095. package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.d.ts +0 -2
  1096. package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.d.ts.map +0 -1
  1097. package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.js +0 -116
  1098. package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.js.map +0 -1
  1099. package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.d.ts +0 -2
  1100. package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.d.ts.map +0 -1
  1101. package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js +0 -455
  1102. package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js.map +0 -1
  1103. package/dist/runtime-v2/internalization/__tests__/artificer-rule-output.test.d.ts +0 -2
  1104. package/dist/runtime-v2/internalization/__tests__/artificer-rule-output.test.d.ts.map +0 -1
  1105. package/dist/runtime-v2/internalization/__tests__/artificer-rule-output.test.js +0 -522
  1106. package/dist/runtime-v2/internalization/__tests__/artificer-rule-output.test.js.map +0 -1
  1107. package/dist/runtime-v2/internalization/__tests__/behavior-example-pack.test.d.ts +0 -2
  1108. package/dist/runtime-v2/internalization/__tests__/behavior-example-pack.test.d.ts.map +0 -1
  1109. package/dist/runtime-v2/internalization/__tests__/behavior-example-pack.test.js +0 -228
  1110. package/dist/runtime-v2/internalization/__tests__/behavior-example-pack.test.js.map +0 -1
  1111. package/dist/runtime-v2/internalization/__tests__/c2-live-runner-chain.test.d.ts +0 -2
  1112. package/dist/runtime-v2/internalization/__tests__/c2-live-runner-chain.test.d.ts.map +0 -1
  1113. package/dist/runtime-v2/internalization/__tests__/c2-live-runner-chain.test.js +0 -450
  1114. package/dist/runtime-v2/internalization/__tests__/c2-live-runner-chain.test.js.map +0 -1
  1115. package/dist/runtime-v2/internalization/__tests__/crash-liveness-regressions.test.d.ts +0 -2
  1116. package/dist/runtime-v2/internalization/__tests__/crash-liveness-regressions.test.d.ts.map +0 -1
  1117. package/dist/runtime-v2/internalization/__tests__/crash-liveness-regressions.test.js +0 -311
  1118. package/dist/runtime-v2/internalization/__tests__/crash-liveness-regressions.test.js.map +0 -1
  1119. package/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.d.ts +0 -2
  1120. package/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.d.ts.map +0 -1
  1121. package/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js +0 -862
  1122. package/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js.map +0 -1
  1123. package/dist/runtime-v2/internalization/__tests__/diag-distiller-runner.test.d.ts +0 -2
  1124. package/dist/runtime-v2/internalization/__tests__/diag-distiller-runner.test.d.ts.map +0 -1
  1125. package/dist/runtime-v2/internalization/__tests__/diag-distiller-runner.test.js +0 -441
  1126. package/dist/runtime-v2/internalization/__tests__/diag-distiller-runner.test.js.map +0 -1
  1127. package/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.d.ts +0 -2
  1128. package/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.d.ts.map +0 -1
  1129. package/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.js +0 -369
  1130. package/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.js.map +0 -1
  1131. package/dist/runtime-v2/internalization/__tests__/diag-rootcause-runner.test.d.ts +0 -2
  1132. package/dist/runtime-v2/internalization/__tests__/diag-rootcause-runner.test.d.ts.map +0 -1
  1133. package/dist/runtime-v2/internalization/__tests__/diag-rootcause-runner.test.js +0 -362
  1134. package/dist/runtime-v2/internalization/__tests__/diag-rootcause-runner.test.js.map +0 -1
  1135. package/dist/runtime-v2/internalization/__tests__/diag-router-intent-tension.test.d.ts +0 -2
  1136. package/dist/runtime-v2/internalization/__tests__/diag-router-intent-tension.test.d.ts.map +0 -1
  1137. package/dist/runtime-v2/internalization/__tests__/diag-router-intent-tension.test.js +0 -333
  1138. package/dist/runtime-v2/internalization/__tests__/diag-router-intent-tension.test.js.map +0 -1
  1139. package/dist/runtime-v2/internalization/__tests__/diag-router-runner.test.d.ts +0 -2
  1140. package/dist/runtime-v2/internalization/__tests__/diag-router-runner.test.d.ts.map +0 -1
  1141. package/dist/runtime-v2/internalization/__tests__/diag-router-runner.test.js +0 -484
  1142. package/dist/runtime-v2/internalization/__tests__/diag-router-runner.test.js.map +0 -1
  1143. package/dist/runtime-v2/internalization/__tests__/dreamer-prompt-builder.test.d.ts +0 -2
  1144. package/dist/runtime-v2/internalization/__tests__/dreamer-prompt-builder.test.d.ts.map +0 -1
  1145. package/dist/runtime-v2/internalization/__tests__/dreamer-prompt-builder.test.js +0 -193
  1146. package/dist/runtime-v2/internalization/__tests__/dreamer-prompt-builder.test.js.map +0 -1
  1147. package/dist/runtime-v2/internalization/__tests__/evaluator-approved-replay-failed-repair.test.d.ts +0 -2
  1148. package/dist/runtime-v2/internalization/__tests__/evaluator-approved-replay-failed-repair.test.d.ts.map +0 -1
  1149. package/dist/runtime-v2/internalization/__tests__/evaluator-approved-replay-failed-repair.test.js +0 -247
  1150. package/dist/runtime-v2/internalization/__tests__/evaluator-approved-replay-failed-repair.test.js.map +0 -1
  1151. package/dist/runtime-v2/internalization/__tests__/evaluator-artificer-repair-replay.test.d.ts +0 -2
  1152. package/dist/runtime-v2/internalization/__tests__/evaluator-artificer-repair-replay.test.d.ts.map +0 -1
  1153. package/dist/runtime-v2/internalization/__tests__/evaluator-artificer-repair-replay.test.js +0 -419
  1154. package/dist/runtime-v2/internalization/__tests__/evaluator-artificer-repair-replay.test.js.map +0 -1
  1155. package/dist/runtime-v2/internalization/__tests__/evaluator-chinese-feedback-contract.test.d.ts +0 -2
  1156. package/dist/runtime-v2/internalization/__tests__/evaluator-chinese-feedback-contract.test.d.ts.map +0 -1
  1157. package/dist/runtime-v2/internalization/__tests__/evaluator-chinese-feedback-contract.test.js +0 -311
  1158. package/dist/runtime-v2/internalization/__tests__/evaluator-chinese-feedback-contract.test.js.map +0 -1
  1159. package/dist/runtime-v2/internalization/__tests__/evaluator-formation-context.test.d.ts +0 -2
  1160. package/dist/runtime-v2/internalization/__tests__/evaluator-formation-context.test.d.ts.map +0 -1
  1161. package/dist/runtime-v2/internalization/__tests__/evaluator-formation-context.test.js +0 -531
  1162. package/dist/runtime-v2/internalization/__tests__/evaluator-formation-context.test.js.map +0 -1
  1163. package/dist/runtime-v2/internalization/__tests__/evaluator-gate-authority.test.d.ts +0 -2
  1164. package/dist/runtime-v2/internalization/__tests__/evaluator-gate-authority.test.d.ts.map +0 -1
  1165. package/dist/runtime-v2/internalization/__tests__/evaluator-gate-authority.test.js +0 -606
  1166. package/dist/runtime-v2/internalization/__tests__/evaluator-gate-authority.test.js.map +0 -1
  1167. package/dist/runtime-v2/internalization/__tests__/evaluator-host-alias-replay.test.d.ts +0 -2
  1168. package/dist/runtime-v2/internalization/__tests__/evaluator-host-alias-replay.test.d.ts.map +0 -1
  1169. package/dist/runtime-v2/internalization/__tests__/evaluator-host-alias-replay.test.js +0 -279
  1170. package/dist/runtime-v2/internalization/__tests__/evaluator-host-alias-replay.test.js.map +0 -1
  1171. package/dist/runtime-v2/internalization/__tests__/evaluator-out-of-scope-governance.test.d.ts +0 -2
  1172. package/dist/runtime-v2/internalization/__tests__/evaluator-out-of-scope-governance.test.d.ts.map +0 -1
  1173. package/dist/runtime-v2/internalization/__tests__/evaluator-out-of-scope-governance.test.js +0 -309
  1174. package/dist/runtime-v2/internalization/__tests__/evaluator-out-of-scope-governance.test.js.map +0 -1
  1175. package/dist/runtime-v2/internalization/__tests__/evaluator-output-v2.test.d.ts +0 -2
  1176. package/dist/runtime-v2/internalization/__tests__/evaluator-output-v2.test.d.ts.map +0 -1
  1177. package/dist/runtime-v2/internalization/__tests__/evaluator-output-v2.test.js +0 -209
  1178. package/dist/runtime-v2/internalization/__tests__/evaluator-output-v2.test.js.map +0 -1
  1179. package/dist/runtime-v2/internalization/__tests__/evaluator-pain-reason-echo.test.d.ts +0 -2
  1180. package/dist/runtime-v2/internalization/__tests__/evaluator-pain-reason-echo.test.d.ts.map +0 -1
  1181. package/dist/runtime-v2/internalization/__tests__/evaluator-pain-reason-echo.test.js +0 -328
  1182. package/dist/runtime-v2/internalization/__tests__/evaluator-pain-reason-echo.test.js.map +0 -1
  1183. package/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder-v2.test.d.ts +0 -2
  1184. package/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder-v2.test.d.ts.map +0 -1
  1185. package/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder-v2.test.js +0 -125
  1186. package/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder-v2.test.js.map +0 -1
  1187. package/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder.test.d.ts +0 -2
  1188. package/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder.test.d.ts.map +0 -1
  1189. package/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder.test.js +0 -114
  1190. package/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder.test.js.map +0 -1
  1191. package/dist/runtime-v2/internalization/__tests__/evaluator-validator-refeed.test.d.ts +0 -2
  1192. package/dist/runtime-v2/internalization/__tests__/evaluator-validator-refeed.test.d.ts.map +0 -1
  1193. package/dist/runtime-v2/internalization/__tests__/evaluator-validator-refeed.test.js +0 -433
  1194. package/dist/runtime-v2/internalization/__tests__/evaluator-validator-refeed.test.js.map +0 -1
  1195. package/dist/runtime-v2/internalization/__tests__/evolution-alignment-contract.test.d.ts +0 -18
  1196. package/dist/runtime-v2/internalization/__tests__/evolution-alignment-contract.test.d.ts.map +0 -1
  1197. package/dist/runtime-v2/internalization/__tests__/evolution-alignment-contract.test.js +0 -470
  1198. package/dist/runtime-v2/internalization/__tests__/evolution-alignment-contract.test.js.map +0 -1
  1199. package/dist/runtime-v2/internalization/__tests__/external-review-p0-regressions.test.d.ts +0 -2
  1200. package/dist/runtime-v2/internalization/__tests__/external-review-p0-regressions.test.d.ts.map +0 -1
  1201. package/dist/runtime-v2/internalization/__tests__/external-review-p0-regressions.test.js +0 -195
  1202. package/dist/runtime-v2/internalization/__tests__/external-review-p0-regressions.test.js.map +0 -1
  1203. package/dist/runtime-v2/internalization/__tests__/formation-context.test.d.ts +0 -2
  1204. package/dist/runtime-v2/internalization/__tests__/formation-context.test.d.ts.map +0 -1
  1205. package/dist/runtime-v2/internalization/__tests__/formation-context.test.js +0 -428
  1206. package/dist/runtime-v2/internalization/__tests__/formation-context.test.js.map +0 -1
  1207. package/dist/runtime-v2/internalization/__tests__/intake-bridge-channel-admission.test.d.ts +0 -2
  1208. package/dist/runtime-v2/internalization/__tests__/intake-bridge-channel-admission.test.d.ts.map +0 -1
  1209. package/dist/runtime-v2/internalization/__tests__/intake-bridge-channel-admission.test.js +0 -128
  1210. package/dist/runtime-v2/internalization/__tests__/intake-bridge-channel-admission.test.js.map +0 -1
  1211. package/dist/runtime-v2/internalization/__tests__/intent-tension-cases.test.d.ts +0 -2
  1212. package/dist/runtime-v2/internalization/__tests__/intent-tension-cases.test.d.ts.map +0 -1
  1213. package/dist/runtime-v2/internalization/__tests__/intent-tension-cases.test.js +0 -113
  1214. package/dist/runtime-v2/internalization/__tests__/intent-tension-cases.test.js.map +0 -1
  1215. package/dist/runtime-v2/internalization/__tests__/internalization-consumer-decision.test.d.ts +0 -2
  1216. package/dist/runtime-v2/internalization/__tests__/internalization-consumer-decision.test.d.ts.map +0 -1
  1217. package/dist/runtime-v2/internalization/__tests__/internalization-consumer-decision.test.js +0 -251
  1218. package/dist/runtime-v2/internalization/__tests__/internalization-consumer-decision.test.js.map +0 -1
  1219. package/dist/runtime-v2/internalization/__tests__/internalization-job-graph.test.d.ts +0 -2
  1220. package/dist/runtime-v2/internalization/__tests__/internalization-job-graph.test.d.ts.map +0 -1
  1221. package/dist/runtime-v2/internalization/__tests__/internalization-job-graph.test.js +0 -144
  1222. package/dist/runtime-v2/internalization/__tests__/internalization-job-graph.test.js.map +0 -1
  1223. package/dist/runtime-v2/internalization/__tests__/internalization-task-guards.test.d.ts +0 -2
  1224. package/dist/runtime-v2/internalization/__tests__/internalization-task-guards.test.d.ts.map +0 -1
  1225. package/dist/runtime-v2/internalization/__tests__/internalization-task-guards.test.js +0 -306
  1226. package/dist/runtime-v2/internalization/__tests__/internalization-task-guards.test.js.map +0 -1
  1227. package/dist/runtime-v2/internalization/__tests__/internalization-transition-decision.test.d.ts +0 -2
  1228. package/dist/runtime-v2/internalization/__tests__/internalization-transition-decision.test.d.ts.map +0 -1
  1229. package/dist/runtime-v2/internalization/__tests__/internalization-transition-decision.test.js +0 -338
  1230. package/dist/runtime-v2/internalization/__tests__/internalization-transition-decision.test.js.map +0 -1
  1231. package/dist/runtime-v2/internalization/__tests__/legacy-rule-contract-scanner.test.d.ts +0 -2
  1232. package/dist/runtime-v2/internalization/__tests__/legacy-rule-contract-scanner.test.d.ts.map +0 -1
  1233. package/dist/runtime-v2/internalization/__tests__/legacy-rule-contract-scanner.test.js +0 -120
  1234. package/dist/runtime-v2/internalization/__tests__/legacy-rule-contract-scanner.test.js.map +0 -1
  1235. package/dist/runtime-v2/internalization/__tests__/mvp-core-loop-journeys.test.d.ts +0 -2
  1236. package/dist/runtime-v2/internalization/__tests__/mvp-core-loop-journeys.test.d.ts.map +0 -1
  1237. package/dist/runtime-v2/internalization/__tests__/mvp-core-loop-journeys.test.js +0 -581
  1238. package/dist/runtime-v2/internalization/__tests__/mvp-core-loop-journeys.test.js.map +0 -1
  1239. package/dist/runtime-v2/internalization/__tests__/owner-decision-architecture.test.d.ts +0 -2
  1240. package/dist/runtime-v2/internalization/__tests__/owner-decision-architecture.test.d.ts.map +0 -1
  1241. package/dist/runtime-v2/internalization/__tests__/owner-decision-architecture.test.js +0 -56
  1242. package/dist/runtime-v2/internalization/__tests__/owner-decision-architecture.test.js.map +0 -1
  1243. package/dist/runtime-v2/internalization/__tests__/owner-decision-review.test.d.ts +0 -2
  1244. package/dist/runtime-v2/internalization/__tests__/owner-decision-review.test.d.ts.map +0 -1
  1245. package/dist/runtime-v2/internalization/__tests__/owner-decision-review.test.js +0 -518
  1246. package/dist/runtime-v2/internalization/__tests__/owner-decision-review.test.js.map +0 -1
  1247. package/dist/runtime-v2/internalization/__tests__/owner-decision.test.d.ts +0 -2
  1248. package/dist/runtime-v2/internalization/__tests__/owner-decision.test.d.ts.map +0 -1
  1249. package/dist/runtime-v2/internalization/__tests__/owner-decision.test.js +0 -1247
  1250. package/dist/runtime-v2/internalization/__tests__/owner-decision.test.js.map +0 -1
  1251. package/dist/runtime-v2/internalization/__tests__/owner-override-resume.test.d.ts +0 -2
  1252. package/dist/runtime-v2/internalization/__tests__/owner-override-resume.test.d.ts.map +0 -1
  1253. package/dist/runtime-v2/internalization/__tests__/owner-override-resume.test.js +0 -410
  1254. package/dist/runtime-v2/internalization/__tests__/owner-override-resume.test.js.map +0 -1
  1255. package/dist/runtime-v2/internalization/__tests__/peer-prompt-language.test.d.ts +0 -21
  1256. package/dist/runtime-v2/internalization/__tests__/peer-prompt-language.test.d.ts.map +0 -1
  1257. package/dist/runtime-v2/internalization/__tests__/peer-prompt-language.test.js +0 -288
  1258. package/dist/runtime-v2/internalization/__tests__/peer-prompt-language.test.js.map +0 -1
  1259. package/dist/runtime-v2/internalization/__tests__/peer-runner-lineage-injection.test.d.ts +0 -2
  1260. package/dist/runtime-v2/internalization/__tests__/peer-runner-lineage-injection.test.d.ts.map +0 -1
  1261. package/dist/runtime-v2/internalization/__tests__/peer-runner-lineage-injection.test.js +0 -181
  1262. package/dist/runtime-v2/internalization/__tests__/peer-runner-lineage-injection.test.js.map +0 -1
  1263. package/dist/runtime-v2/internalization/__tests__/philosopher-prompt-builder.test.d.ts +0 -2
  1264. package/dist/runtime-v2/internalization/__tests__/philosopher-prompt-builder.test.d.ts.map +0 -1
  1265. package/dist/runtime-v2/internalization/__tests__/philosopher-prompt-builder.test.js +0 -150
  1266. package/dist/runtime-v2/internalization/__tests__/philosopher-prompt-builder.test.js.map +0 -1
  1267. package/dist/runtime-v2/internalization/__tests__/philosopher-runner-trust-boundary.test.d.ts +0 -2
  1268. package/dist/runtime-v2/internalization/__tests__/philosopher-runner-trust-boundary.test.d.ts.map +0 -1
  1269. package/dist/runtime-v2/internalization/__tests__/philosopher-runner-trust-boundary.test.js +0 -431
  1270. package/dist/runtime-v2/internalization/__tests__/philosopher-runner-trust-boundary.test.js.map +0 -1
  1271. package/dist/runtime-v2/internalization/__tests__/philosopher-toggle-characterization.test.d.ts +0 -2
  1272. package/dist/runtime-v2/internalization/__tests__/philosopher-toggle-characterization.test.d.ts.map +0 -1
  1273. package/dist/runtime-v2/internalization/__tests__/philosopher-toggle-characterization.test.js +0 -279
  1274. package/dist/runtime-v2/internalization/__tests__/philosopher-toggle-characterization.test.js.map +0 -1
  1275. package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike-fixtures.d.ts +0 -165
  1276. package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike-fixtures.d.ts.map +0 -1
  1277. package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike-fixtures.js +0 -659
  1278. package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike-fixtures.js.map +0 -1
  1279. package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike-fixtures.test.d.ts +0 -22
  1280. package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike-fixtures.test.d.ts.map +0 -1
  1281. package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike-fixtures.test.js +0 -229
  1282. package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike-fixtures.test.js.map +0 -1
  1283. package/dist/runtime-v2/internalization/__tests__/prompt-serializer.test.d.ts +0 -2
  1284. package/dist/runtime-v2/internalization/__tests__/prompt-serializer.test.d.ts.map +0 -1
  1285. package/dist/runtime-v2/internalization/__tests__/prompt-serializer.test.js +0 -91
  1286. package/dist/runtime-v2/internalization/__tests__/prompt-serializer.test.js.map +0 -1
  1287. package/dist/runtime-v2/internalization/__tests__/queue-actionability.test.d.ts +0 -2
  1288. package/dist/runtime-v2/internalization/__tests__/queue-actionability.test.d.ts.map +0 -1
  1289. package/dist/runtime-v2/internalization/__tests__/queue-actionability.test.js +0 -86
  1290. package/dist/runtime-v2/internalization/__tests__/queue-actionability.test.js.map +0 -1
  1291. package/dist/runtime-v2/internalization/__tests__/refiner-rulehost-gate.test.d.ts +0 -2
  1292. package/dist/runtime-v2/internalization/__tests__/refiner-rulehost-gate.test.d.ts.map +0 -1
  1293. package/dist/runtime-v2/internalization/__tests__/refiner-rulehost-gate.test.js +0 -431
  1294. package/dist/runtime-v2/internalization/__tests__/refiner-rulehost-gate.test.js.map +0 -1
  1295. package/dist/runtime-v2/internalization/__tests__/refiner-sandbox-wrapper.test.d.ts +0 -2
  1296. package/dist/runtime-v2/internalization/__tests__/refiner-sandbox-wrapper.test.d.ts.map +0 -1
  1297. package/dist/runtime-v2/internalization/__tests__/refiner-sandbox-wrapper.test.js +0 -898
  1298. package/dist/runtime-v2/internalization/__tests__/refiner-sandbox-wrapper.test.js.map +0 -1
  1299. package/dist/runtime-v2/internalization/__tests__/repair-replay-resolver.test.d.ts +0 -2
  1300. package/dist/runtime-v2/internalization/__tests__/repair-replay-resolver.test.d.ts.map +0 -1
  1301. package/dist/runtime-v2/internalization/__tests__/repair-replay-resolver.test.js +0 -340
  1302. package/dist/runtime-v2/internalization/__tests__/repair-replay-resolver.test.js.map +0 -1
  1303. package/dist/runtime-v2/internalization/__tests__/restart-safety.e2e.test.d.ts +0 -2
  1304. package/dist/runtime-v2/internalization/__tests__/restart-safety.e2e.test.d.ts.map +0 -1
  1305. package/dist/runtime-v2/internalization/__tests__/restart-safety.e2e.test.js +0 -169
  1306. package/dist/runtime-v2/internalization/__tests__/restart-safety.e2e.test.js.map +0 -1
  1307. package/dist/runtime-v2/internalization/__tests__/rollout-reviewer-principle-semantic.test.d.ts +0 -2
  1308. package/dist/runtime-v2/internalization/__tests__/rollout-reviewer-principle-semantic.test.d.ts.map +0 -1
  1309. package/dist/runtime-v2/internalization/__tests__/rollout-reviewer-principle-semantic.test.js +0 -328
  1310. package/dist/runtime-v2/internalization/__tests__/rollout-reviewer-principle-semantic.test.js.map +0 -1
  1311. package/dist/runtime-v2/internalization/__tests__/rollout-reviewer-prompt-builder.test.d.ts +0 -2
  1312. package/dist/runtime-v2/internalization/__tests__/rollout-reviewer-prompt-builder.test.d.ts.map +0 -1
  1313. package/dist/runtime-v2/internalization/__tests__/rollout-reviewer-prompt-builder.test.js +0 -75
  1314. package/dist/runtime-v2/internalization/__tests__/rollout-reviewer-prompt-builder.test.js.map +0 -1
  1315. package/dist/runtime-v2/internalization/__tests__/rule-activation-contract.test.d.ts +0 -2
  1316. package/dist/runtime-v2/internalization/__tests__/rule-activation-contract.test.d.ts.map +0 -1
  1317. package/dist/runtime-v2/internalization/__tests__/rule-activation-contract.test.js +0 -187
  1318. package/dist/runtime-v2/internalization/__tests__/rule-activation-contract.test.js.map +0 -1
  1319. package/dist/runtime-v2/internalization/__tests__/rule-code-dialect.test.d.ts +0 -2
  1320. package/dist/runtime-v2/internalization/__tests__/rule-code-dialect.test.d.ts.map +0 -1
  1321. package/dist/runtime-v2/internalization/__tests__/rule-code-dialect.test.js +0 -320
  1322. package/dist/runtime-v2/internalization/__tests__/rule-code-dialect.test.js.map +0 -1
  1323. package/dist/runtime-v2/internalization/__tests__/rule-context-v2.test.d.ts +0 -2
  1324. package/dist/runtime-v2/internalization/__tests__/rule-context-v2.test.d.ts.map +0 -1
  1325. package/dist/runtime-v2/internalization/__tests__/rule-context-v2.test.js +0 -449
  1326. package/dist/runtime-v2/internalization/__tests__/rule-context-v2.test.js.map +0 -1
  1327. package/dist/runtime-v2/internalization/__tests__/rule-host-input-builder.test.d.ts +0 -2
  1328. package/dist/runtime-v2/internalization/__tests__/rule-host-input-builder.test.d.ts.map +0 -1
  1329. package/dist/runtime-v2/internalization/__tests__/rule-host-input-builder.test.js +0 -203
  1330. package/dist/runtime-v2/internalization/__tests__/rule-host-input-builder.test.js.map +0 -1
  1331. package/dist/runtime-v2/internalization/__tests__/rule-reliability-validation.test.d.ts +0 -12
  1332. package/dist/runtime-v2/internalization/__tests__/rule-reliability-validation.test.d.ts.map +0 -1
  1333. package/dist/runtime-v2/internalization/__tests__/rule-reliability-validation.test.js +0 -256
  1334. package/dist/runtime-v2/internalization/__tests__/rule-reliability-validation.test.js.map +0 -1
  1335. package/dist/runtime-v2/internalization/__tests__/runnerkind-seam.test.d.ts +0 -2
  1336. package/dist/runtime-v2/internalization/__tests__/runnerkind-seam.test.d.ts.map +0 -1
  1337. package/dist/runtime-v2/internalization/__tests__/runnerkind-seam.test.js +0 -224
  1338. package/dist/runtime-v2/internalization/__tests__/runnerkind-seam.test.js.map +0 -1
  1339. package/dist/runtime-v2/internalization/__tests__/scribe-intent-contract-normalization.test.d.ts +0 -2
  1340. package/dist/runtime-v2/internalization/__tests__/scribe-intent-contract-normalization.test.d.ts.map +0 -1
  1341. package/dist/runtime-v2/internalization/__tests__/scribe-intent-contract-normalization.test.js +0 -78
  1342. package/dist/runtime-v2/internalization/__tests__/scribe-intent-contract-normalization.test.js.map +0 -1
  1343. package/dist/runtime-v2/internalization/__tests__/scribe-prompt-builder.test.d.ts +0 -2
  1344. package/dist/runtime-v2/internalization/__tests__/scribe-prompt-builder.test.d.ts.map +0 -1
  1345. package/dist/runtime-v2/internalization/__tests__/scribe-prompt-builder.test.js +0 -180
  1346. package/dist/runtime-v2/internalization/__tests__/scribe-prompt-builder.test.js.map +0 -1
  1347. package/dist/runtime-v2/internalization/__tests__/scribe-prompt-language.test.d.ts +0 -12
  1348. package/dist/runtime-v2/internalization/__tests__/scribe-prompt-language.test.d.ts.map +0 -1
  1349. package/dist/runtime-v2/internalization/__tests__/scribe-prompt-language.test.js +0 -85
  1350. package/dist/runtime-v2/internalization/__tests__/scribe-prompt-language.test.js.map +0 -1
  1351. package/dist/runtime-v2/internalization/__tests__/split-diagnostician-runner-retry.test.d.ts +0 -2
  1352. package/dist/runtime-v2/internalization/__tests__/split-diagnostician-runner-retry.test.d.ts.map +0 -1
  1353. package/dist/runtime-v2/internalization/__tests__/split-diagnostician-runner-retry.test.js +0 -752
  1354. package/dist/runtime-v2/internalization/__tests__/split-diagnostician-runner-retry.test.js.map +0 -1
  1355. package/dist/runtime-v2/internalization/__tests__/summary-freshness.property.test.d.ts +0 -12
  1356. package/dist/runtime-v2/internalization/__tests__/summary-freshness.property.test.d.ts.map +0 -1
  1357. package/dist/runtime-v2/internalization/__tests__/summary-freshness.property.test.js +0 -176
  1358. package/dist/runtime-v2/internalization/__tests__/summary-freshness.property.test.js.map +0 -1
  1359. package/dist/runtime-v2/internalization/__tests__/tool-semantic-registry.test.d.ts +0 -11
  1360. package/dist/runtime-v2/internalization/__tests__/tool-semantic-registry.test.d.ts.map +0 -1
  1361. package/dist/runtime-v2/internalization/__tests__/tool-semantic-registry.test.js +0 -176
  1362. package/dist/runtime-v2/internalization/__tests__/tool-semantic-registry.test.js.map +0 -1
  1363. package/dist/runtime-v2/internalization/__tests__/verdict-drift-regressions.test.d.ts +0 -2
  1364. package/dist/runtime-v2/internalization/__tests__/verdict-drift-regressions.test.d.ts.map +0 -1
  1365. package/dist/runtime-v2/internalization/__tests__/verdict-drift-regressions.test.js +0 -602
  1366. package/dist/runtime-v2/internalization/__tests__/verdict-drift-regressions.test.js.map +0 -1
  1367. package/dist/runtime-v2/internalization/deprecated-readiness.test.d.ts +0 -2
  1368. package/dist/runtime-v2/internalization/deprecated-readiness.test.d.ts.map +0 -1
  1369. package/dist/runtime-v2/internalization/deprecated-readiness.test.js +0 -127
  1370. package/dist/runtime-v2/internalization/deprecated-readiness.test.js.map +0 -1
  1371. package/dist/runtime-v2/internalization/lifecycle-metrics.test.d.ts +0 -2
  1372. package/dist/runtime-v2/internalization/lifecycle-metrics.test.d.ts.map +0 -1
  1373. package/dist/runtime-v2/internalization/lifecycle-metrics.test.js +0 -201
  1374. package/dist/runtime-v2/internalization/lifecycle-metrics.test.js.map +0 -1
  1375. package/dist/runtime-v2/internalization/lifecycle-read-model.test.d.ts +0 -2
  1376. package/dist/runtime-v2/internalization/lifecycle-read-model.test.d.ts.map +0 -1
  1377. package/dist/runtime-v2/internalization/lifecycle-read-model.test.js +0 -408
  1378. package/dist/runtime-v2/internalization/lifecycle-read-model.test.js.map +0 -1
  1379. package/dist/runtime-v2/internalization/routing-policy.test.d.ts +0 -2
  1380. package/dist/runtime-v2/internalization/routing-policy.test.d.ts.map +0 -1
  1381. package/dist/runtime-v2/internalization/routing-policy.test.js +0 -286
  1382. package/dist/runtime-v2/internalization/routing-policy.test.js.map +0 -1
  1383. package/dist/runtime-v2/observer/__tests__/agent-scheduler.test.d.ts +0 -2
  1384. package/dist/runtime-v2/observer/__tests__/agent-scheduler.test.d.ts.map +0 -1
  1385. package/dist/runtime-v2/observer/__tests__/agent-scheduler.test.js +0 -59
  1386. package/dist/runtime-v2/observer/__tests__/agent-scheduler.test.js.map +0 -1
  1387. package/dist/runtime-v2/observer/__tests__/correction-observer.test.d.ts +0 -2
  1388. package/dist/runtime-v2/observer/__tests__/correction-observer.test.d.ts.map +0 -1
  1389. package/dist/runtime-v2/observer/__tests__/correction-observer.test.js +0 -145
  1390. package/dist/runtime-v2/observer/__tests__/correction-observer.test.js.map +0 -1
  1391. package/dist/runtime-v2/owner-decision/__tests__/owner-decision-view.test.d.ts +0 -2
  1392. package/dist/runtime-v2/owner-decision/__tests__/owner-decision-view.test.d.ts.map +0 -1
  1393. package/dist/runtime-v2/owner-decision/__tests__/owner-decision-view.test.js +0 -615
  1394. package/dist/runtime-v2/owner-decision/__tests__/owner-decision-view.test.js.map +0 -1
  1395. package/dist/runtime-v2/pain-gate/__tests__/pain-diagnostic-gate-policy.test.d.ts +0 -15
  1396. package/dist/runtime-v2/pain-gate/__tests__/pain-diagnostic-gate-policy.test.d.ts.map +0 -1
  1397. package/dist/runtime-v2/pain-gate/__tests__/pain-diagnostic-gate-policy.test.js +0 -179
  1398. package/dist/runtime-v2/pain-gate/__tests__/pain-diagnostic-gate-policy.test.js.map +0 -1
  1399. package/dist/runtime-v2/risk/__tests__/risk-calculator-policy.test.d.ts +0 -2
  1400. package/dist/runtime-v2/risk/__tests__/risk-calculator-policy.test.d.ts.map +0 -1
  1401. package/dist/runtime-v2/risk/__tests__/risk-calculator-policy.test.js +0 -95
  1402. package/dist/runtime-v2/risk/__tests__/risk-calculator-policy.test.js.map +0 -1
  1403. package/dist/runtime-v2/runner/__tests__/base-peer-runner-agent-draft.test.d.ts +0 -2
  1404. package/dist/runtime-v2/runner/__tests__/base-peer-runner-agent-draft.test.d.ts.map +0 -1
  1405. package/dist/runtime-v2/runner/__tests__/base-peer-runner-agent-draft.test.js +0 -493
  1406. package/dist/runtime-v2/runner/__tests__/base-peer-runner-agent-draft.test.js.map +0 -1
  1407. package/dist/runtime-v2/runner/__tests__/base-peer-runner-failure-details.test.d.ts +0 -2
  1408. package/dist/runtime-v2/runner/__tests__/base-peer-runner-failure-details.test.d.ts.map +0 -1
  1409. package/dist/runtime-v2/runner/__tests__/base-peer-runner-failure-details.test.js +0 -199
  1410. package/dist/runtime-v2/runner/__tests__/base-peer-runner-failure-details.test.js.map +0 -1
  1411. package/dist/runtime-v2/runner/__tests__/base-peer-runner-rate-limit-degradation.test.d.ts +0 -2
  1412. package/dist/runtime-v2/runner/__tests__/base-peer-runner-rate-limit-degradation.test.d.ts.map +0 -1
  1413. package/dist/runtime-v2/runner/__tests__/base-peer-runner-rate-limit-degradation.test.js +0 -319
  1414. package/dist/runtime-v2/runner/__tests__/base-peer-runner-rate-limit-degradation.test.js.map +0 -1
  1415. package/dist/runtime-v2/runner/__tests__/base-peer-runner-trust-boundary.test.d.ts +0 -2
  1416. package/dist/runtime-v2/runner/__tests__/base-peer-runner-trust-boundary.test.d.ts.map +0 -1
  1417. package/dist/runtime-v2/runner/__tests__/base-peer-runner-trust-boundary.test.js +0 -388
  1418. package/dist/runtime-v2/runner/__tests__/base-peer-runner-trust-boundary.test.js.map +0 -1
  1419. package/dist/runtime-v2/runner/__tests__/default-validator.test.d.ts +0 -2
  1420. package/dist/runtime-v2/runner/__tests__/default-validator.test.d.ts.map +0 -1
  1421. package/dist/runtime-v2/runner/__tests__/default-validator.test.js +0 -589
  1422. package/dist/runtime-v2/runner/__tests__/default-validator.test.js.map +0 -1
  1423. package/dist/runtime-v2/runner/__tests__/diagnose.test.d.ts +0 -2
  1424. package/dist/runtime-v2/runner/__tests__/diagnose.test.d.ts.map +0 -1
  1425. package/dist/runtime-v2/runner/__tests__/diagnose.test.js +0 -171
  1426. package/dist/runtime-v2/runner/__tests__/diagnose.test.js.map +0 -1
  1427. package/dist/runtime-v2/runner/__tests__/pain-signal-bridge-admission.test.d.ts +0 -2
  1428. package/dist/runtime-v2/runner/__tests__/pain-signal-bridge-admission.test.d.ts.map +0 -1
  1429. package/dist/runtime-v2/runner/__tests__/pain-signal-bridge-admission.test.js +0 -477
  1430. package/dist/runtime-v2/runner/__tests__/pain-signal-bridge-admission.test.js.map +0 -1
  1431. package/dist/runtime-v2/runner/__tests__/pain-signal-bridge.test.d.ts +0 -2
  1432. package/dist/runtime-v2/runner/__tests__/pain-signal-bridge.test.d.ts.map +0 -1
  1433. package/dist/runtime-v2/runner/__tests__/pain-signal-bridge.test.js +0 -160
  1434. package/dist/runtime-v2/runner/__tests__/pain-signal-bridge.test.js.map +0 -1
  1435. package/dist/runtime-v2/signal-collector/__tests__/keyword-stage.test.d.ts +0 -2
  1436. package/dist/runtime-v2/signal-collector/__tests__/keyword-stage.test.d.ts.map +0 -1
  1437. package/dist/runtime-v2/signal-collector/__tests__/keyword-stage.test.js +0 -39
  1438. package/dist/runtime-v2/signal-collector/__tests__/keyword-stage.test.js.map +0 -1
  1439. package/dist/runtime-v2/signal-collector/__tests__/llm-payload-contract.test.d.ts +0 -2
  1440. package/dist/runtime-v2/signal-collector/__tests__/llm-payload-contract.test.d.ts.map +0 -1
  1441. package/dist/runtime-v2/signal-collector/__tests__/llm-payload-contract.test.js +0 -130
  1442. package/dist/runtime-v2/signal-collector/__tests__/llm-payload-contract.test.js.map +0 -1
  1443. package/dist/runtime-v2/signal-collector/__tests__/llm-stage.test.d.ts +0 -2
  1444. package/dist/runtime-v2/signal-collector/__tests__/llm-stage.test.d.ts.map +0 -1
  1445. package/dist/runtime-v2/signal-collector/__tests__/llm-stage.test.js +0 -34
  1446. package/dist/runtime-v2/signal-collector/__tests__/llm-stage.test.js.map +0 -1
  1447. package/dist/runtime-v2/signal-collector/__tests__/signal-collector.test.d.ts +0 -2
  1448. package/dist/runtime-v2/signal-collector/__tests__/signal-collector.test.d.ts.map +0 -1
  1449. package/dist/runtime-v2/signal-collector/__tests__/signal-collector.test.js +0 -222
  1450. package/dist/runtime-v2/signal-collector/__tests__/signal-collector.test.js.map +0 -1
  1451. package/dist/runtime-v2/signal-collector/__tests__/types.test.d.ts +0 -2
  1452. package/dist/runtime-v2/signal-collector/__tests__/types.test.d.ts.map +0 -1
  1453. package/dist/runtime-v2/signal-collector/__tests__/types.test.js +0 -35
  1454. package/dist/runtime-v2/signal-collector/__tests__/types.test.js.map +0 -1
  1455. package/dist/runtime-v2/store/artifact/__tests__/sqlite-pi-artifact-store-fk.test.d.ts +0 -2
  1456. package/dist/runtime-v2/store/artifact/__tests__/sqlite-pi-artifact-store-fk.test.d.ts.map +0 -1
  1457. package/dist/runtime-v2/store/artifact/__tests__/sqlite-pi-artifact-store-fk.test.js +0 -55
  1458. package/dist/runtime-v2/store/artifact/__tests__/sqlite-pi-artifact-store-fk.test.js.map +0 -1
  1459. package/dist/runtime-v2/store/candidate/__tests__/recommendation-kind-resolver.test.d.ts +0 -2
  1460. package/dist/runtime-v2/store/candidate/__tests__/recommendation-kind-resolver.test.d.ts.map +0 -1
  1461. package/dist/runtime-v2/store/candidate/__tests__/recommendation-kind-resolver.test.js +0 -34
  1462. package/dist/runtime-v2/store/candidate/__tests__/recommendation-kind-resolver.test.js.map +0 -1
  1463. package/dist/runtime-v2/store/concurrent-lease.test.d.ts +0 -2
  1464. package/dist/runtime-v2/store/concurrent-lease.test.d.ts.map +0 -1
  1465. package/dist/runtime-v2/store/concurrent-lease.test.js +0 -129
  1466. package/dist/runtime-v2/store/concurrent-lease.test.js.map +0 -1
  1467. package/dist/runtime-v2/store/context/resilient-context-assembler.test.d.ts +0 -2
  1468. package/dist/runtime-v2/store/context/resilient-context-assembler.test.d.ts.map +0 -1
  1469. package/dist/runtime-v2/store/context/resilient-context-assembler.test.js +0 -113
  1470. package/dist/runtime-v2/store/context/resilient-context-assembler.test.js.map +0 -1
  1471. package/dist/runtime-v2/store/context/sqlite-context-assembler.test.d.ts +0 -2
  1472. package/dist/runtime-v2/store/context/sqlite-context-assembler.test.d.ts.map +0 -1
  1473. package/dist/runtime-v2/store/context/sqlite-context-assembler.test.js +0 -1681
  1474. package/dist/runtime-v2/store/context/sqlite-context-assembler.test.js.map +0 -1
  1475. package/dist/runtime-v2/store/diagnostician-committer.test.d.ts +0 -2
  1476. package/dist/runtime-v2/store/diagnostician-committer.test.d.ts.map +0 -1
  1477. package/dist/runtime-v2/store/diagnostician-committer.test.js +0 -360
  1478. package/dist/runtime-v2/store/diagnostician-committer.test.js.map +0 -1
  1479. package/dist/runtime-v2/store/history/resilient-history-query.test.d.ts +0 -2
  1480. package/dist/runtime-v2/store/history/resilient-history-query.test.d.ts.map +0 -1
  1481. package/dist/runtime-v2/store/history/resilient-history-query.test.js +0 -128
  1482. package/dist/runtime-v2/store/history/resilient-history-query.test.js.map +0 -1
  1483. package/dist/runtime-v2/store/history/sqlite-history-query.test.d.ts +0 -2
  1484. package/dist/runtime-v2/store/history/sqlite-history-query.test.d.ts.map +0 -1
  1485. package/dist/runtime-v2/store/history/sqlite-history-query.test.js +0 -536
  1486. package/dist/runtime-v2/store/history/sqlite-history-query.test.js.map +0 -1
  1487. package/dist/runtime-v2/store/idempotent-transitions.test.d.ts +0 -2
  1488. package/dist/runtime-v2/store/idempotent-transitions.test.d.ts.map +0 -1
  1489. package/dist/runtime-v2/store/idempotent-transitions.test.js +0 -163
  1490. package/dist/runtime-v2/store/idempotent-transitions.test.js.map +0 -1
  1491. package/dist/runtime-v2/store/intent/__tests__/sqlite-intent-decision-store.test.d.ts +0 -2
  1492. package/dist/runtime-v2/store/intent/__tests__/sqlite-intent-decision-store.test.d.ts.map +0 -1
  1493. package/dist/runtime-v2/store/intent/__tests__/sqlite-intent-decision-store.test.js +0 -272
  1494. package/dist/runtime-v2/store/intent/__tests__/sqlite-intent-decision-store.test.js.map +0 -1
  1495. package/dist/runtime-v2/store/intent/__tests__/sqlite-intent-doc-version-store.test.d.ts +0 -2
  1496. package/dist/runtime-v2/store/intent/__tests__/sqlite-intent-doc-version-store.test.d.ts.map +0 -1
  1497. package/dist/runtime-v2/store/intent/__tests__/sqlite-intent-doc-version-store.test.js +0 -83
  1498. package/dist/runtime-v2/store/intent/__tests__/sqlite-intent-doc-version-store.test.js.map +0 -1
  1499. package/dist/runtime-v2/store/lifecycle/lease-manager.test.d.ts +0 -2
  1500. package/dist/runtime-v2/store/lifecycle/lease-manager.test.d.ts.map +0 -1
  1501. package/dist/runtime-v2/store/lifecycle/lease-manager.test.js +0 -241
  1502. package/dist/runtime-v2/store/lifecycle/lease-manager.test.js.map +0 -1
  1503. package/dist/runtime-v2/store/lifecycle/recovery-sweep.test.d.ts +0 -2
  1504. package/dist/runtime-v2/store/lifecycle/recovery-sweep.test.d.ts.map +0 -1
  1505. package/dist/runtime-v2/store/lifecycle/recovery-sweep.test.js +0 -316
  1506. package/dist/runtime-v2/store/lifecycle/recovery-sweep.test.js.map +0 -1
  1507. package/dist/runtime-v2/store/lifecycle/retry-policy.test.d.ts +0 -2
  1508. package/dist/runtime-v2/store/lifecycle/retry-policy.test.d.ts.map +0 -1
  1509. package/dist/runtime-v2/store/lifecycle/retry-policy.test.js +0 -86
  1510. package/dist/runtime-v2/store/lifecycle/retry-policy.test.js.map +0 -1
  1511. package/dist/runtime-v2/store/pain/__tests__/sqlite-dead-letter-store.test.d.ts +0 -2
  1512. package/dist/runtime-v2/store/pain/__tests__/sqlite-dead-letter-store.test.d.ts.map +0 -1
  1513. package/dist/runtime-v2/store/pain/__tests__/sqlite-dead-letter-store.test.js +0 -225
  1514. package/dist/runtime-v2/store/pain/__tests__/sqlite-dead-letter-store.test.js.map +0 -1
  1515. package/dist/runtime-v2/store/runtime-state-manager-malformed-run-tolerance.test.d.ts +0 -2
  1516. package/dist/runtime-v2/store/runtime-state-manager-malformed-run-tolerance.test.d.ts.map +0 -1
  1517. package/dist/runtime-v2/store/runtime-state-manager-malformed-run-tolerance.test.js +0 -160
  1518. package/dist/runtime-v2/store/runtime-state-manager-malformed-run-tolerance.test.js.map +0 -1
  1519. package/dist/runtime-v2/store/runtime-state-manager.integration.test.d.ts +0 -2
  1520. package/dist/runtime-v2/store/runtime-state-manager.integration.test.d.ts.map +0 -1
  1521. package/dist/runtime-v2/store/runtime-state-manager.integration.test.js +0 -220
  1522. package/dist/runtime-v2/store/runtime-state-manager.integration.test.js.map +0 -1
  1523. package/dist/runtime-v2/store/schema-conformance.test.d.ts +0 -2
  1524. package/dist/runtime-v2/store/schema-conformance.test.d.ts.map +0 -1
  1525. package/dist/runtime-v2/store/schema-conformance.test.js +0 -670
  1526. package/dist/runtime-v2/store/schema-conformance.test.js.map +0 -1
  1527. package/dist/runtime-v2/store/sqlite-connection-close.test.d.ts +0 -2
  1528. package/dist/runtime-v2/store/sqlite-connection-close.test.d.ts.map +0 -1
  1529. package/dist/runtime-v2/store/sqlite-connection-close.test.js +0 -57
  1530. package/dist/runtime-v2/store/sqlite-connection-close.test.js.map +0 -1
  1531. package/dist/runtime-v2/store/sqlite-connection-pragma.test.d.ts +0 -2
  1532. package/dist/runtime-v2/store/sqlite-connection-pragma.test.d.ts.map +0 -1
  1533. package/dist/runtime-v2/store/sqlite-connection-pragma.test.js +0 -272
  1534. package/dist/runtime-v2/store/sqlite-connection-pragma.test.js.map +0 -1
  1535. package/dist/runtime-v2/store/sqlite-connection-schema-version.test.d.ts +0 -2
  1536. package/dist/runtime-v2/store/sqlite-connection-schema-version.test.d.ts.map +0 -1
  1537. package/dist/runtime-v2/store/sqlite-connection-schema-version.test.js +0 -106
  1538. package/dist/runtime-v2/store/sqlite-connection-schema-version.test.js.map +0 -1
  1539. package/dist/runtime-v2/store/sqlite-run-store.test.d.ts +0 -2
  1540. package/dist/runtime-v2/store/sqlite-run-store.test.d.ts.map +0 -1
  1541. package/dist/runtime-v2/store/sqlite-run-store.test.js +0 -322
  1542. package/dist/runtime-v2/store/sqlite-run-store.test.js.map +0 -1
  1543. package/dist/runtime-v2/store/sqlite-task-store.test.d.ts +0 -2
  1544. package/dist/runtime-v2/store/sqlite-task-store.test.d.ts.map +0 -1
  1545. package/dist/runtime-v2/store/sqlite-task-store.test.js +0 -164
  1546. package/dist/runtime-v2/store/sqlite-task-store.test.js.map +0 -1
  1547. package/dist/runtime-v2/store/task/__tests__/sqlite-task-store-cas.test.d.ts +0 -2
  1548. package/dist/runtime-v2/store/task/__tests__/sqlite-task-store-cas.test.d.ts.map +0 -1
  1549. package/dist/runtime-v2/store/task/__tests__/sqlite-task-store-cas.test.js +0 -114
  1550. package/dist/runtime-v2/store/task/__tests__/sqlite-task-store-cas.test.js.map +0 -1
  1551. package/dist/runtime-v2/store/task/__tests__/sqlite-task-store.failed-tasks.test.d.ts +0 -2
  1552. package/dist/runtime-v2/store/task/__tests__/sqlite-task-store.failed-tasks.test.d.ts.map +0 -1
  1553. package/dist/runtime-v2/store/task/__tests__/sqlite-task-store.failed-tasks.test.js +0 -485
  1554. package/dist/runtime-v2/store/task/__tests__/sqlite-task-store.failed-tasks.test.js.map +0 -1
  1555. package/dist/runtime-v2/store/trajectory/source-trace-locator.test.d.ts +0 -2
  1556. package/dist/runtime-v2/store/trajectory/source-trace-locator.test.d.ts.map +0 -1
  1557. package/dist/runtime-v2/store/trajectory/source-trace-locator.test.js +0 -319
  1558. package/dist/runtime-v2/store/trajectory/source-trace-locator.test.js.map +0 -1
  1559. package/dist/runtime-v2/store/trajectory/sqlite-trajectory-locator.test.d.ts +0 -2
  1560. package/dist/runtime-v2/store/trajectory/sqlite-trajectory-locator.test.d.ts.map +0 -1
  1561. package/dist/runtime-v2/store/trajectory/sqlite-trajectory-locator.test.js +0 -328
  1562. package/dist/runtime-v2/store/trajectory/sqlite-trajectory-locator.test.js.map +0 -1
  1563. package/dist/runtime-v2/store/workspace-isolation.test.d.ts +0 -2
  1564. package/dist/runtime-v2/store/workspace-isolation.test.d.ts.map +0 -1
  1565. package/dist/runtime-v2/store/workspace-isolation.test.js +0 -138
  1566. package/dist/runtime-v2/store/workspace-isolation.test.js.map +0 -1
  1567. package/dist/runtime-v2/tools/__tests__/agent-tool-contract.test.d.ts +0 -2
  1568. package/dist/runtime-v2/tools/__tests__/agent-tool-contract.test.d.ts.map +0 -1
  1569. package/dist/runtime-v2/tools/__tests__/agent-tool-contract.test.js +0 -171
  1570. package/dist/runtime-v2/tools/__tests__/agent-tool-contract.test.js.map +0 -1
  1571. package/dist/runtime-v2/tools/__tests__/artificer-l2-tool-contract.test.d.ts +0 -2
  1572. package/dist/runtime-v2/tools/__tests__/artificer-l2-tool-contract.test.d.ts.map +0 -1
  1573. package/dist/runtime-v2/tools/__tests__/artificer-l2-tool-contract.test.js +0 -369
  1574. package/dist/runtime-v2/tools/__tests__/artificer-l2-tool-contract.test.js.map +0 -1
  1575. package/dist/runtime-v2/tools/__tests__/artificer-output-typebox.test.d.ts +0 -2
  1576. package/dist/runtime-v2/tools/__tests__/artificer-output-typebox.test.d.ts.map +0 -1
  1577. package/dist/runtime-v2/tools/__tests__/artificer-output-typebox.test.js +0 -163
  1578. package/dist/runtime-v2/tools/__tests__/artificer-output-typebox.test.js.map +0 -1
  1579. package/dist/runtime-v2/tools/__tests__/dreamer-output-typebox.test.d.ts +0 -2
  1580. package/dist/runtime-v2/tools/__tests__/dreamer-output-typebox.test.d.ts.map +0 -1
  1581. package/dist/runtime-v2/tools/__tests__/dreamer-output-typebox.test.js +0 -109
  1582. package/dist/runtime-v2/tools/__tests__/dreamer-output-typebox.test.js.map +0 -1
  1583. package/dist/runtime-v2/utils/cli-process-runner.test.d.ts +0 -2
  1584. package/dist/runtime-v2/utils/cli-process-runner.test.d.ts.map +0 -1
  1585. package/dist/runtime-v2/utils/cli-process-runner.test.js +0 -113
  1586. package/dist/runtime-v2/utils/cli-process-runner.test.js.map +0 -1
  1587. package/dist/trajectory-store.test.d.ts +0 -2
  1588. package/dist/trajectory-store.test.d.ts.map +0 -1
  1589. package/dist/trajectory-store.test.js +0 -261
  1590. package/dist/trajectory-store.test.js.map +0 -1
@@ -1,1681 +0,0 @@
1
- /**
2
- * SqliteContextAssembler comprehensive test suite.
3
- *
4
- * Tests context assembly from diagnostician task records, UUID/hash generation,
5
- * diagnosis target mapping, ambiguity notes for data quality, schema validation,
6
- * and error handling for invalid inputs.
7
- *
8
- * Uses a mock TaskStore (returns DiagnosticianTaskRecord) and real SQLite
9
- * RunStore + HistoryQuery for integration coverage.
10
- */
11
- import { describe, it, expect, vi } from 'vitest';
12
- import * as fs from 'fs';
13
- import * as path from 'path';
14
- import * as os from 'os';
15
- import { createHash } from 'node:crypto';
16
- import { Value } from '@sinclair/typebox/value';
17
- import { SqliteConnection } from '../sqlite-connection.js';
18
- import { SqliteTaskStore } from '../task/sqlite-task-store.js';
19
- import { SqliteRunStore } from '../run/sqlite-run-store.js';
20
- import { SqliteHistoryQuery } from '../history/sqlite-history-query.js';
21
- import { SqliteTrajectoryLocator } from '../trajectory/sqlite-trajectory-locator.js';
22
- import { SqliteSourceTraceLocator } from '../trajectory/sqlite-source-trace-locator.js';
23
- import { SqliteContextAssembler } from './sqlite-context-assembler.js';
24
- import { DiagnosticianContextPayloadSchema } from '../../context-payload.js';
25
- // ── Mock TrajectoryTurnReader ──
26
- function createMockTrajectoryTurnReader(userTurns, assistantTurns) {
27
- return {
28
- listUserTurnsForSession: vi.fn((sessionId) => userTurns.get(sessionId) ?? []),
29
- listAssistantTurns: vi.fn((sessionId) => assistantTurns.get(sessionId) ?? []),
30
- };
31
- }
32
- // ── Mock TaskStore that returns DiagnosticianTaskRecord ──
33
- function createMockTaskStore(tasks) {
34
- return {
35
- createTask: vi.fn(),
36
- getTask: vi.fn(async (taskId) => tasks.get(taskId) ?? null),
37
- updateTask: vi.fn(),
38
- updateTaskIfDiagnosticJsonUnchanged: async () => null,
39
- listTasks: vi.fn(async () => []),
40
- deleteTask: vi.fn(async () => true),
41
- };
42
- }
43
- function makeDiagnosticianTask(overrides) {
44
- const now = new Date().toISOString();
45
- return {
46
- taskId: overrides?.taskId ?? `task_${Date.now()}`,
47
- taskKind: 'diagnostician',
48
- status: overrides?.status ?? 'pending',
49
- createdAt: overrides?.createdAt ?? now,
50
- updatedAt: overrides?.updatedAt ?? now,
51
- attemptCount: overrides?.attemptCount ?? 0,
52
- maxAttempts: overrides?.maxAttempts ?? 3,
53
- workspaceDir: overrides?.workspaceDir ?? '/tmp/test-workspace',
54
- reasonSummary: overrides?.reasonSummary ?? 'Test diagnostician task',
55
- sourcePainId: overrides?.sourcePainId,
56
- severity: overrides?.severity,
57
- source: overrides?.source,
58
- sessionIdHint: overrides?.sessionIdHint,
59
- agentIdHint: overrides?.agentIdHint,
60
- };
61
- }
62
- function createFixture(tasks, options) {
63
- const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'pd-context-assembler-test-'));
64
- const connection = new SqliteConnection(tmpDir);
65
- const sqliteTaskStore = new SqliteTaskStore(connection);
66
- const runStore = new SqliteRunStore(connection);
67
- const historyQuery = new SqliteHistoryQuery(connection);
68
- const taskMap = tasks ?? new Map();
69
- const taskStore = createMockTaskStore(taskMap);
70
- const sourceTraceLocator = options?.withLocator
71
- ? new SqliteSourceTraceLocator(taskStore, new SqliteTrajectoryLocator(connection))
72
- : undefined;
73
- const trajectoryTurnReader = options?.trajectoryTurnReader;
74
- const assembler = new SqliteContextAssembler(taskStore, historyQuery, runStore, { sourceTraceLocator, trajectoryTurnReader });
75
- return { tmpDir, connection, sqliteTaskStore, runStore, historyQuery, sourceTraceLocator, taskStore, taskMap, assembler, trajectoryTurnReader };
76
- }
77
- function cleanupFixture(fixture) {
78
- fixture.connection.close();
79
- fs.rmSync(fixture.tmpDir, { recursive: true, force: true });
80
- }
81
- /** Create a base task row in SQLite for FK satisfaction, then create a run. */
82
- async function createRunWithPayloads(fixture, taskId, options) {
83
- // Ensure a base task row exists in SQLite for FK constraint
84
- const existing = await fixture.sqliteTaskStore.getTask(taskId);
85
- if (!existing) {
86
- await fixture.sqliteTaskStore.createTask({
87
- taskId,
88
- taskKind: 'diagnostician',
89
- status: 'pending',
90
- attemptCount: 0,
91
- maxAttempts: 3,
92
- });
93
- }
94
- const now = new Date().toISOString();
95
- return fixture.runStore.createRun({
96
- runId: `run_${Date.now()}_${Math.random().toString(36).slice(2)}`,
97
- taskId,
98
- attemptNumber: 1,
99
- executionStatus: 'succeeded',
100
- startedAt: now,
101
- runtimeKind: options?.runtimeKind ?? 'openclaw',
102
- inputPayload: options?.inputPayload,
103
- outputPayload: options?.outputPayload,
104
- });
105
- }
106
- /** Create a source task in SQLite with sessionIdHint in diagnosticJson for TrajectoryLocator. */
107
- async function ensureSourceTask(fixture, sourceTaskId, opts) {
108
- const dj = { sessionIdHint: opts.sessionId };
109
- if (opts.sourcePainId)
110
- dj.sourcePainId = opts.sourcePainId;
111
- const existing = await fixture.sqliteTaskStore.getTask(sourceTaskId);
112
- if (!existing) {
113
- await fixture.sqliteTaskStore.createTask({
114
- taskId: sourceTaskId,
115
- taskKind: 'user_session',
116
- status: 'succeeded',
117
- attemptCount: 1,
118
- maxAttempts: 1,
119
- diagnosticJson: JSON.stringify(dj),
120
- });
121
- }
122
- fixture.taskMap.set(sourceTaskId, {
123
- taskId: sourceTaskId,
124
- taskKind: 'user_session',
125
- status: 'succeeded',
126
- createdAt: new Date().toISOString(),
127
- updatedAt: new Date().toISOString(),
128
- attemptCount: 1,
129
- maxAttempts: 1,
130
- diagnosticJson: JSON.stringify(dj),
131
- });
132
- }
133
- /** Helper: check that ambiguityNotes includes a substring (safely). */
134
- function notesInclude(notes, substring) {
135
- return notes !== undefined && notes.some((n) => n.includes(substring));
136
- }
137
- describe('SqliteContextAssembler', () => {
138
- it('assembles payload from diagnostician task with history', async () => {
139
- const task = makeDiagnosticianTask({
140
- taskId: 'task_diag_1',
141
- sourcePainId: 'pain-001',
142
- severity: 'high',
143
- source: 'test',
144
- sessionIdHint: 'sess-123',
145
- reasonSummary: 'Test reason',
146
- });
147
- const tasks = new Map([[task.taskId, task]]);
148
- const f = createFixture(tasks);
149
- try {
150
- const run1 = await createRunWithPayloads(f, task.taskId, { inputPayload: 'input 1', outputPayload: 'output 1' });
151
- const run2 = await createRunWithPayloads(f, task.taskId, { inputPayload: 'input 2', outputPayload: 'output 2' });
152
- const payload = await f.assembler.assemble(task.taskId);
153
- // contextId is UUID format
154
- expect(payload.contextId).toMatch(/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i);
155
- // contextHash is 64-char hex
156
- expect(payload.contextHash).toMatch(/^[0-9a-f]{64}$/);
157
- expect(payload.taskId).toBe('task_diag_1');
158
- expect(payload.workspaceDir).toBe('/tmp/test-workspace');
159
- // sourceRefs contains taskId + both runIds
160
- expect(payload.sourceRefs).toContain('task_diag_1');
161
- expect(payload.sourceRefs).toContain(run1.runId);
162
- expect(payload.sourceRefs).toContain(run2.runId);
163
- // diagnosisTarget has mapped fields
164
- expect(payload.diagnosisTarget.reasonSummary).toBe('Test reason');
165
- expect(payload.diagnosisTarget.source).toBe('test');
166
- expect(payload.diagnosisTarget.severity).toBe('high');
167
- expect(payload.diagnosisTarget.painId).toBe('pain-001');
168
- expect(payload.diagnosisTarget.sessionIdHint).toBe('sess-123');
169
- // conversationWindow has entries (2 per run)
170
- expect(payload.conversationWindow.length).toBeGreaterThanOrEqual(4);
171
- }
172
- finally {
173
- cleanupFixture(f);
174
- }
175
- });
176
- it('throws storage_unavailable when task not found', async () => {
177
- const f = createFixture();
178
- try {
179
- await expect(f.assembler.assemble('nonexistent-task-id')).rejects.toThrow('[storage_unavailable]');
180
- }
181
- finally {
182
- cleanupFixture(f);
183
- }
184
- });
185
- it('throws input_invalid when task is not diagnostician', async () => {
186
- const nonDiagTask = {
187
- taskId: 'task_other',
188
- taskKind: 'other_kind',
189
- status: 'pending',
190
- createdAt: new Date().toISOString(),
191
- updatedAt: new Date().toISOString(),
192
- attemptCount: 0,
193
- maxAttempts: 3,
194
- };
195
- // Cast is safe: mock returns whatever we put in the map.
196
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
197
- const tasks = new Map([[nonDiagTask.taskId, nonDiagTask]]);
198
- const f = createFixture(tasks);
199
- try {
200
- await expect(f.assembler.assemble('task_other')).rejects.toThrow('[input_invalid]');
201
- }
202
- finally {
203
- cleanupFixture(f);
204
- }
205
- });
206
- it('returns valid payload with empty conversationWindow', async () => {
207
- const task = makeDiagnosticianTask({ taskId: 'task_empty_hist' });
208
- const tasks = new Map([[task.taskId, task]]);
209
- const f = createFixture(tasks);
210
- try {
211
- const payload = await f.assembler.assemble(task.taskId);
212
- expect(payload.conversationWindow).toEqual([]);
213
- // contextHash is hash of '[]'
214
- const expectedHash = createHash('sha256').update('[]').digest('hex');
215
- expect(payload.contextHash).toBe(expectedHash);
216
- // ambiguityNotes should mention no history
217
- expect(notesInclude(payload.ambiguityNotes, 'No conversation history')).toBe(true);
218
- }
219
- finally {
220
- cleanupFixture(f);
221
- }
222
- });
223
- it('includes ambiguity note for truncated history', async () => {
224
- const task = makeDiagnosticianTask({ taskId: 'task_truncated' });
225
- const tasks = new Map([[task.taskId, task]]);
226
- const f = createFixture(tasks);
227
- try {
228
- // Create enough runs to exceed default page size (50 entries = 25 runs)
229
- for (let i = 0; i < 30; i++) {
230
- await createRunWithPayloads(f, task.taskId, { inputPayload: `input ${i}`, outputPayload: `output ${i}` });
231
- }
232
- const payload = await f.assembler.assemble(task.taskId);
233
- // ambiguityNotes should mention truncation
234
- expect(notesInclude(payload.ambiguityNotes, 'truncated')).toBe(true);
235
- }
236
- finally {
237
- cleanupFixture(f);
238
- }
239
- });
240
- it('includes ambiguity note for entries with empty text', async () => {
241
- const task = makeDiagnosticianTask({ taskId: 'task_empty_text' });
242
- const tasks = new Map([[task.taskId, task]]);
243
- const f = createFixture(tasks);
244
- try {
245
- // Create runs with no payloads (undefined text in entries)
246
- await createRunWithPayloads(f, task.taskId);
247
- await createRunWithPayloads(f, task.taskId);
248
- const payload = await f.assembler.assemble(task.taskId);
249
- expect(notesInclude(payload.ambiguityNotes, 'empty text content')).toBe(true);
250
- }
251
- finally {
252
- cleanupFixture(f);
253
- }
254
- });
255
- it('ambiguityNotes is undefined when no quality issues', async () => {
256
- const task = makeDiagnosticianTask({ taskId: 'task_clean' });
257
- const tasks = new Map([[task.taskId, task]]);
258
- const f = createFixture(tasks);
259
- try {
260
- // Create clean runs with all payloads present (and few enough not to truncate)
261
- await createRunWithPayloads(f, task.taskId, { inputPayload: 'good input', outputPayload: 'good output' });
262
- await createRunWithPayloads(f, task.taskId, { inputPayload: 'good input 2', outputPayload: 'good output 2' });
263
- const payload = await f.assembler.assemble(task.taskId);
264
- expect(payload.ambiguityNotes).toBeUndefined();
265
- }
266
- finally {
267
- cleanupFixture(f);
268
- }
269
- });
270
- it('contextHash is deterministic for same conversationWindow', async () => {
271
- const task = makeDiagnosticianTask({ taskId: 'task_deterministic' });
272
- const tasks = new Map([[task.taskId, task]]);
273
- const f = createFixture(tasks);
274
- try {
275
- await createRunWithPayloads(f, task.taskId, { inputPayload: 'input', outputPayload: 'output' });
276
- const payload1 = await f.assembler.assemble(task.taskId);
277
- const payload2 = await f.assembler.assemble(task.taskId);
278
- // Same conversationWindow → same hash
279
- expect(payload1.contextHash).toBe(payload2.contextHash);
280
- // contextId differs (random UUID)
281
- expect(payload1.contextId).not.toBe(payload2.contextId);
282
- }
283
- finally {
284
- cleanupFixture(f);
285
- }
286
- });
287
- it('diagnosisTarget maps all DiagnosticianTaskRecord fields', async () => {
288
- const task = makeDiagnosticianTask({
289
- taskId: 'task_fields',
290
- sourcePainId: 'pain-456',
291
- severity: 'critical',
292
- source: 'agent',
293
- sessionIdHint: 'sess-789',
294
- reasonSummary: 'Detailed reason',
295
- });
296
- const tasks = new Map([[task.taskId, task]]);
297
- const f = createFixture(tasks);
298
- try {
299
- await createRunWithPayloads(f, task.taskId, { inputPayload: 'input', outputPayload: 'output' });
300
- const payload = await f.assembler.assemble(task.taskId);
301
- expect(payload.diagnosisTarget.reasonSummary).toBe('Detailed reason');
302
- expect(payload.diagnosisTarget.source).toBe('agent');
303
- expect(payload.diagnosisTarget.severity).toBe('critical');
304
- expect(payload.diagnosisTarget.painId).toBe('pain-456');
305
- expect(payload.diagnosisTarget.sessionIdHint).toBe('sess-789');
306
- }
307
- finally {
308
- cleanupFixture(f);
309
- }
310
- });
311
- it('diagnosisTarget omits undefined optional fields', async () => {
312
- const task = makeDiagnosticianTask({
313
- taskId: 'task_minimal',
314
- sourcePainId: undefined,
315
- severity: undefined,
316
- source: undefined,
317
- sessionIdHint: undefined,
318
- reasonSummary: 'Minimal task',
319
- });
320
- const tasks = new Map([[task.taskId, task]]);
321
- const f = createFixture(tasks);
322
- try {
323
- await createRunWithPayloads(f, task.taskId, { inputPayload: 'input', outputPayload: 'output' });
324
- const payload = await f.assembler.assemble(task.taskId);
325
- expect(payload.diagnosisTarget.reasonSummary).toBe('Minimal task');
326
- expect(payload.diagnosisTarget.painId).toBeUndefined();
327
- expect(payload.diagnosisTarget.source).toBeUndefined();
328
- expect(payload.diagnosisTarget.severity).toBeUndefined();
329
- expect(payload.diagnosisTarget.sessionIdHint).toBeUndefined();
330
- }
331
- finally {
332
- cleanupFixture(f);
333
- }
334
- });
335
- it('payload validates against DiagnosticianContextPayloadSchema', async () => {
336
- const task = makeDiagnosticianTask({ taskId: 'task_schema' });
337
- const tasks = new Map([[task.taskId, task]]);
338
- const f = createFixture(tasks);
339
- try {
340
- await createRunWithPayloads(f, task.taskId, { inputPayload: 'input', outputPayload: 'output' });
341
- const payload = await f.assembler.assemble(task.taskId);
342
- // assemble() validates internally, so reaching here means it passed.
343
- // Double-check explicitly:
344
- expect(Value.Check(DiagnosticianContextPayloadSchema, payload)).toBe(true);
345
- }
346
- finally {
347
- cleanupFixture(f);
348
- }
349
- });
350
- it('assembles context with openclaw-history runtime_kind runs (compatibility import)', async () => {
351
- // This covers the m3-08 fix: imported runs from trajectory.db use runtimeKind='openclaw-history'
352
- const task = makeDiagnosticianTask({ taskId: 'task_openclaw_history' });
353
- const tasks = new Map([[task.taskId, task]]);
354
- const f = createFixture(tasks);
355
- try {
356
- await createRunWithPayloads(f, task.taskId, {
357
- runtimeKind: 'openclaw-history',
358
- inputPayload: '{"type":"session_history","sessionId":"test-sess","userTurns":[],"toolCalls":[]}',
359
- outputPayload: '{"type":"assistant_turns","sessionId":"test-sess","turns":[]}',
360
- });
361
- // Must not throw — openclaw-history must be accepted by RuntimeKindSchema
362
- const payload = await f.assembler.assemble(task.taskId);
363
- expect(payload.taskId).toBe('task_openclaw_history');
364
- expect(Value.Check(DiagnosticianContextPayloadSchema, payload)).toBe(true);
365
- }
366
- finally {
367
- cleanupFixture(f);
368
- }
369
- });
370
- it('includes openclaw-history run entries in conversationWindow (time window fix)', async () => {
371
- // m3-09: Without timeWindowStart=task.createdAt, historical runs outside the
372
- // default 24-hour window would be filtered out and conversationWindow would be empty.
373
- const thirtyDaysAgo = new Date(Date.now() - 30 * 24 * 60 * 60 * 1000).toISOString();
374
- const task = makeDiagnosticianTask({
375
- taskId: 'task_old_history',
376
- createdAt: thirtyDaysAgo,
377
- updatedAt: thirtyDaysAgo,
378
- });
379
- const tasks = new Map([[task.taskId, task]]);
380
- const f = createFixture(tasks);
381
- try {
382
- await createRunWithPayloads(f, task.taskId, {
383
- runtimeKind: 'openclaw-history',
384
- inputPayload: '{"type":"session_history","sessionId":"old-sess","userTurns":[{"turnIndex":1,"text":"hello"}]}',
385
- outputPayload: '{"type":"assistant_turns","sessionId":"old-sess","turns":[{"provider":"openai","model":"gpt-4","text":"hi"}]}',
386
- });
387
- const payload = await f.assembler.assemble(task.taskId);
388
- // conversationWindow must have entries from the historical run (not empty)
389
- expect(payload.conversationWindow.length).toBeGreaterThan(0);
390
- expect(Value.Check(DiagnosticianContextPayloadSchema, payload)).toBe(true);
391
- }
392
- finally {
393
- cleanupFixture(f);
394
- }
395
- });
396
- // ── Full Trace Tests (PRI-171) ──
397
- it('builds fullTrace from source pain trajectory, not diagnostician task runs', async () => {
398
- const sessionId = 'sess-src-happy';
399
- const sourceTaskId = 'task_source_happy';
400
- const diagTask = makeDiagnosticianTask({
401
- taskId: 'task_diag_happy',
402
- sourcePainId: 'pain-src-happy',
403
- sessionIdHint: sessionId,
404
- severity: 'high',
405
- source: 'test',
406
- reasonSummary: 'Source trace test',
407
- });
408
- const tasks = new Map([[diagTask.taskId, diagTask]]);
409
- const f = createFixture(tasks, { withLocator: true });
410
- try {
411
- await ensureSourceTask(f, sourceTaskId, { sessionId, sourcePainId: 'pain-src-happy' });
412
- await createRunWithPayloads(f, sourceTaskId, {
413
- inputPayload: JSON.stringify({
414
- type: 'session_history',
415
- sessionId,
416
- userTurns: [{ turnIndex: 1, text: 'user asked something' }],
417
- toolCalls: [{ toolName: 'Read', status: 'succeeded', params: { file: '/src/main.ts' } }],
418
- }),
419
- outputPayload: JSON.stringify({
420
- type: 'assistant_turns',
421
- sessionId,
422
- turns: [{ provider: 'openai', model: 'gpt-4', text: 'here is the file content' }],
423
- }),
424
- });
425
- const payload = await f.assembler.assemble(diagTask.taskId);
426
- const ft = payload.fullTrace;
427
- expect(ft).not.toBeNull();
428
- if (!ft)
429
- return;
430
- if ('sourcePainId' in ft) {
431
- expect(ft.sourcePainId).toBe('pain-src-happy');
432
- expect(ft.sourceTaskId).toBe(sourceTaskId);
433
- expect(ft.timeline.length).toBeGreaterThan(0);
434
- expect(ft.sourceRefs.length).toBeGreaterThan(0);
435
- expect(ft.ambiguityNotes).toBeDefined();
436
- expect(ft.sanitizationNotes).toBeDefined();
437
- expect(ft.capturedAt).toBeDefined();
438
- const toolCallEntries = ft.timeline.filter((e) => e.kind === 'tool_call');
439
- expect(toolCallEntries.length).toBeGreaterThan(0);
440
- expect(toolCallEntries.some((e) => e.summary.includes('Read'))).toBe(true);
441
- }
442
- expect(Value.Check(DiagnosticianContextPayloadSchema, payload)).toBe(true);
443
- }
444
- finally {
445
- cleanupFixture(f);
446
- }
447
- });
448
- it('sets fullTrace to null when no sourcePainId', async () => {
449
- const task = makeDiagnosticianTask({
450
- taskId: 'task_no_painid',
451
- sourcePainId: undefined,
452
- });
453
- const tasks = new Map([[task.taskId, task]]);
454
- const f = createFixture(tasks);
455
- try {
456
- await createRunWithPayloads(f, task.taskId, { inputPayload: 'input', outputPayload: 'output' });
457
- const payload = await f.assembler.assemble(task.taskId);
458
- expect(payload.fullTrace).toBeNull();
459
- expect(Value.Check(DiagnosticianContextPayloadSchema, payload)).toBe(true);
460
- }
461
- finally {
462
- cleanupFixture(f);
463
- }
464
- });
465
- it('returns null fullTrace with ambiguityNotes when source trace not found', async () => {
466
- const task = makeDiagnosticianTask({
467
- taskId: 'task_src_not_found',
468
- sourcePainId: 'pain-not-found',
469
- sessionIdHint: 'sess-no-match',
470
- });
471
- const tasks = new Map([[task.taskId, task]]);
472
- const f = createFixture(tasks, { withLocator: true });
473
- try {
474
- const payload = await f.assembler.assemble(task.taskId);
475
- expect(payload.fullTrace).toBeNull();
476
- expect(notesInclude(payload.ambiguityNotes, 'Source trace not found')).toBe(true);
477
- expect(notesInclude(payload.ambiguityNotes, 'pain-not-found')).toBe(true);
478
- }
479
- finally {
480
- cleanupFixture(f);
481
- }
482
- });
483
- it('does not include diagnostician task runs in fullTrace when source unresolvable', async () => {
484
- const diagTask = makeDiagnosticianTask({
485
- taskId: 'task_no_fallback',
486
- sourcePainId: 'pain-unresolvable',
487
- sessionIdHint: 'sess-no-source',
488
- });
489
- const tasks = new Map([[diagTask.taskId, diagTask]]);
490
- const f = createFixture(tasks, { withLocator: true });
491
- try {
492
- await createRunWithPayloads(f, diagTask.taskId, {
493
- inputPayload: JSON.stringify({
494
- toolCalls: [{ toolName: 'DiagOnlyTool', status: 'succeeded', params: {} }],
495
- }),
496
- outputPayload: '{}',
497
- });
498
- const payload = await f.assembler.assemble(diagTask.taskId);
499
- expect(payload.fullTrace).toBeNull();
500
- expect(notesInclude(payload.ambiguityNotes, 'Source trace not found')).toBe(true);
501
- if (payload.fullTrace) {
502
- expect(JSON.stringify(payload.fullTrace)).not.toContain('DiagOnlyTool');
503
- }
504
- }
505
- finally {
506
- cleanupFixture(f);
507
- }
508
- });
509
- it('returns null fullTrace when multiple source candidates found', async () => {
510
- const sessionId = 'sess-ambiguous';
511
- const diagTask = makeDiagnosticianTask({
512
- taskId: 'task_diag_amb',
513
- sourcePainId: 'pain-ambiguous',
514
- sessionIdHint: sessionId,
515
- });
516
- const tasks = new Map([[diagTask.taskId, diagTask]]);
517
- const f = createFixture(tasks, { withLocator: true });
518
- try {
519
- await ensureSourceTask(f, 'task_src_amb_1', { sessionId, sourcePainId: 'pain-ambiguous' });
520
- await createRunWithPayloads(f, 'task_src_amb_1', { inputPayload: '{"toolName":"Tool1"}', outputPayload: '{}' });
521
- await ensureSourceTask(f, 'task_src_amb_2', { sessionId, sourcePainId: 'pain-ambiguous' });
522
- await createRunWithPayloads(f, 'task_src_amb_2', { inputPayload: '{"toolName":"Tool2"}', outputPayload: '{}' });
523
- const payload = await f.assembler.assemble(diagTask.taskId);
524
- expect(payload.fullTrace).toBeNull();
525
- expect(notesInclude(payload.ambiguityNotes, 'Ambiguous source trace')).toBe(true);
526
- expect(notesInclude(payload.ambiguityNotes, '2 matched candidates')).toBe(true);
527
- }
528
- finally {
529
- cleanupFixture(f);
530
- }
531
- });
532
- it('returns null fullTrace when TrajectoryLocator not provided', async () => {
533
- const task = makeDiagnosticianTask({
534
- taskId: 'task_no_locator',
535
- sourcePainId: 'pain-no-locator',
536
- sessionIdHint: 'sess-no-loc',
537
- });
538
- const tasks = new Map([[task.taskId, task]]);
539
- const f = createFixture(tasks);
540
- try {
541
- const payload = await f.assembler.assemble(task.taskId);
542
- expect(payload.fullTrace).toBeNull();
543
- expect(notesInclude(payload.ambiguityNotes, 'SourceTraceLocator not available')).toBe(true);
544
- }
545
- finally {
546
- cleanupFixture(f);
547
- }
548
- });
549
- it('returns null fullTrace when sourcePainId present but no sessionIdHint', async () => {
550
- const task = makeDiagnosticianTask({
551
- taskId: 'task_no_session',
552
- sourcePainId: 'pain-no-session',
553
- sessionIdHint: undefined,
554
- });
555
- const tasks = new Map([[task.taskId, task]]);
556
- const f = createFixture(tasks, { withLocator: true });
557
- try {
558
- const payload = await f.assembler.assemble(task.taskId);
559
- expect(payload.fullTrace).toBeNull();
560
- expect(notesInclude(payload.ambiguityNotes, 'sessionIdHint')).toBe(true);
561
- }
562
- finally {
563
- cleanupFixture(f);
564
- }
565
- });
566
- it('returns fullTrace with empty arrays when source task has no runs', async () => {
567
- const sessionId = 'sess-src-noruns';
568
- const sourceTaskId = 'task_source_noruns';
569
- const task = makeDiagnosticianTask({
570
- taskId: 'task_diag_noruns',
571
- sourcePainId: 'pain-no-src-runs',
572
- sessionIdHint: sessionId,
573
- });
574
- const tasks = new Map([[task.taskId, task]]);
575
- const f = createFixture(tasks, { withLocator: true });
576
- try {
577
- await ensureSourceTask(f, sourceTaskId, { sessionId, sourcePainId: 'pain-no-src-runs' });
578
- const payload = await f.assembler.assemble(task.taskId);
579
- const ft = payload.fullTrace;
580
- expect(ft).not.toBeNull();
581
- if (!ft)
582
- return;
583
- if ('sourcePainId' in ft) {
584
- expect(ft.timeline).toEqual([]);
585
- expect(ft.sourcePainId).toBe('pain-no-src-runs');
586
- expect(ft.sourceRunIds).toEqual([]);
587
- expect(ft.ambiguityNotes).toBeDefined();
588
- expect(ft.sanitizationNotes).toBeDefined();
589
- }
590
- expect(Value.Check(DiagnosticianContextPayloadSchema, payload)).toBe(true);
591
- }
592
- finally {
593
- cleanupFixture(f);
594
- }
595
- });
596
- it('redacts secrets in source trace before exposing to prompts', async () => {
597
- const sessionId = 'sess-pii';
598
- const sourceTaskId = 'task_source_pii';
599
- const task = makeDiagnosticianTask({
600
- taskId: 'task_diag_pii',
601
- sourcePainId: 'pain-pii',
602
- sessionIdHint: sessionId,
603
- });
604
- const tasks = new Map([[task.taskId, task]]);
605
- const f = createFixture(tasks, { withLocator: true });
606
- try {
607
- await ensureSourceTask(f, sourceTaskId, { sessionId, sourcePainId: 'pain-pii' });
608
- await createRunWithPayloads(f, sourceTaskId, {
609
- inputPayload: JSON.stringify({
610
- toolCalls: [{
611
- toolName: 'WriteFile',
612
- params: { apiKey: 'sk-proj-secret123', token: 'tok_abc', password: 'hunter2' },
613
- }],
614
- }),
615
- outputPayload: JSON.stringify({
616
- text: 'Used authorization: Bearer secret-token-here and secret=mysecret',
617
- }),
618
- });
619
- const payload = await f.assembler.assemble(task.taskId);
620
- expect(payload.fullTrace).not.toBeNull();
621
- const allText = JSON.stringify(payload.fullTrace);
622
- expect(allText).not.toContain('sk-proj-secret123');
623
- expect(allText).not.toContain('tok_abc');
624
- expect(allText).not.toContain('hunter2');
625
- expect(allText).not.toContain('secret-token-here');
626
- expect(allText).not.toContain('mysecret');
627
- expect(allText).toContain('[REDACTED]');
628
- }
629
- finally {
630
- cleanupFixture(f);
631
- }
632
- });
633
- it('payload without fullTrace field still passes schema validation - backward compatible', async () => {
634
- const task = makeDiagnosticianTask({ taskId: 'task_compat' });
635
- const tasks = new Map([[task.taskId, task]]);
636
- const f = createFixture(tasks);
637
- try {
638
- await createRunWithPayloads(f, task.taskId, { inputPayload: 'input', outputPayload: 'output' });
639
- const payload = await f.assembler.assemble(task.taskId);
640
- const { fullTrace: _, ...legacyPayload } = payload;
641
- expect(Value.Check(DiagnosticianContextPayloadSchema, legacyPayload)).toBe(true);
642
- }
643
- finally {
644
- cleanupFixture(f);
645
- }
646
- });
647
- it('handles non-JSON source run payloads in fullTrace without throwing', async () => {
648
- const sessionId = 'sess-plain';
649
- const sourceTaskId = 'task_source_plain';
650
- const task = makeDiagnosticianTask({
651
- taskId: 'task_diag_plain',
652
- sourcePainId: 'pain-plain',
653
- sessionIdHint: sessionId,
654
- });
655
- const tasks = new Map([[task.taskId, task]]);
656
- const f = createFixture(tasks, { withLocator: true });
657
- try {
658
- await ensureSourceTask(f, sourceTaskId, { sessionId, sourcePainId: 'pain-plain' });
659
- await createRunWithPayloads(f, sourceTaskId, {
660
- inputPayload: 'This is just plain text, not JSON at all',
661
- outputPayload: 'Response text with password=supersecret',
662
- });
663
- const payload = await f.assembler.assemble(task.taskId);
664
- const ft = payload.fullTrace;
665
- expect(ft).not.toBeNull();
666
- if (!ft)
667
- return;
668
- if ('timeline' in ft) {
669
- expect(ft.timeline.length).toBeGreaterThan(0);
670
- }
671
- const allText = JSON.stringify(ft);
672
- expect(allText).not.toContain('supersecret');
673
- expect(allText).toContain('[REDACTED]');
674
- }
675
- finally {
676
- cleanupFixture(f);
677
- }
678
- });
679
- it('extracts toolCalls array from source openclaw-history format', async () => {
680
- const sessionId = 'sess-oc';
681
- const sourceTaskId = 'task_source_oc';
682
- const task = makeDiagnosticianTask({
683
- taskId: 'task_diag_oc',
684
- sourcePainId: 'pain-oc',
685
- sessionIdHint: sessionId,
686
- });
687
- const tasks = new Map([[task.taskId, task]]);
688
- const f = createFixture(tasks, { withLocator: true });
689
- try {
690
- await ensureSourceTask(f, sourceTaskId, { sessionId, sourcePainId: 'pain-oc' });
691
- await createRunWithPayloads(f, sourceTaskId, {
692
- runtimeKind: 'openclaw-history',
693
- inputPayload: JSON.stringify({
694
- type: 'session_history',
695
- sessionId,
696
- userTurns: [{ turnIndex: 1, text: 'fix the bug' }],
697
- toolCalls: [
698
- { toolName: 'Read', status: 'succeeded', params: { file: 'src/index.ts' } },
699
- { toolName: 'Edit', status: 'succeeded', params: { file: 'src/index.ts', content: 'fixed' } },
700
- ],
701
- }),
702
- outputPayload: JSON.stringify({
703
- type: 'assistant_turns',
704
- sessionId,
705
- turns: [{ text: 'I fixed the bug' }],
706
- }),
707
- });
708
- const payload = await f.assembler.assemble(task.taskId);
709
- const ft = payload.fullTrace;
710
- expect(ft).not.toBeNull();
711
- if (!ft)
712
- return;
713
- if ('timeline' in ft) {
714
- const toolCallEntries = ft.timeline.filter((e) => e.kind === 'tool_call');
715
- expect(toolCallEntries.length).toBe(2);
716
- expect(toolCallEntries[0]?.summary).toContain('Read');
717
- expect(toolCallEntries[1]?.summary).toContain('Edit');
718
- const userEntries = ft.timeline.filter((e) => e.kind === 'user_message');
719
- expect(userEntries.some((e) => e.summary.includes('fix the bug'))).toBe(true);
720
- const assistantEntries = ft.timeline.filter((e) => e.kind === 'assistant_message');
721
- expect(assistantEntries.some((e) => e.summary.includes('I fixed the bug'))).toBe(true);
722
- }
723
- }
724
- finally {
725
- cleanupFixture(f);
726
- }
727
- });
728
- it('sanitizes nested object params in source trace toolCallHistory', async () => {
729
- const sessionId = 'sess-nested';
730
- const sourceTaskId = 'task_source_nested';
731
- const task = makeDiagnosticianTask({
732
- taskId: 'task_diag_nested',
733
- sourcePainId: 'pain-nested',
734
- sessionIdHint: sessionId,
735
- });
736
- const tasks = new Map([[task.taskId, task]]);
737
- const f = createFixture(tasks, { withLocator: true });
738
- try {
739
- await ensureSourceTask(f, sourceTaskId, { sessionId, sourcePainId: 'pain-nested' });
740
- await createRunWithPayloads(f, sourceTaskId, {
741
- inputPayload: JSON.stringify({
742
- toolCalls: [{
743
- toolName: 'HttpRequest',
744
- params: {
745
- headers: { Authorization: 'Bearer tok_live_xxx' },
746
- body: { api_key: 'pk_live_12345', user_password: 'p@ssw0rd' },
747
- },
748
- }],
749
- }),
750
- outputPayload: '{}',
751
- });
752
- const payload = await f.assembler.assemble(task.taskId);
753
- const ft = payload.fullTrace;
754
- expect(ft).not.toBeNull();
755
- if (!ft)
756
- return;
757
- if ('timeline' in ft) {
758
- const [entry] = ft.timeline.filter((e) => e.kind === 'tool_call');
759
- expect(entry).toBeDefined();
760
- const allTimelineText = JSON.stringify(ft.timeline);
761
- expect(allTimelineText).not.toContain('tok_live_xxx');
762
- expect(allTimelineText).not.toContain('pk_live_12345');
763
- expect(allTimelineText).not.toContain('p@ssw0rd');
764
- expect(allTimelineText).toContain('[REDACTED]');
765
- }
766
- }
767
- finally {
768
- cleanupFixture(f);
769
- }
770
- });
771
- it('redacts bearer token value in scratchpad text when preceded by authorization key', async () => {
772
- const sessionId = 'sess-bearer-order';
773
- const sourceTaskId = 'task_source_bearer_order';
774
- const task = makeDiagnosticianTask({
775
- taskId: 'task_diag_bearer_order',
776
- sourcePainId: 'pain-bearer-order',
777
- sessionIdHint: sessionId,
778
- });
779
- const tasks = new Map([[task.taskId, task]]);
780
- const f = createFixture(tasks, { withLocator: true });
781
- try {
782
- await ensureSourceTask(f, sourceTaskId, { sessionId, sourcePainId: 'pain-bearer-order' });
783
- await createRunWithPayloads(f, sourceTaskId, {
784
- inputPayload: JSON.stringify({
785
- thinking: 'Set authorization: Bearer sk-live-leaky-token-xyz and then called the API',
786
- }),
787
- outputPayload: JSON.stringify({
788
- text: 'Header was Authorization=Bearer tok-secret-abc123, worked fine',
789
- }),
790
- });
791
- const payload = await f.assembler.assemble(task.taskId);
792
- const ft = payload.fullTrace;
793
- expect(ft).not.toBeNull();
794
- if (!ft)
795
- return;
796
- const allText = JSON.stringify(ft);
797
- expect(allText).not.toContain('sk-live-leaky-token-xyz');
798
- expect(allText).not.toContain('tok-secret-abc123');
799
- expect(allText).toContain('[REDACTED]');
800
- }
801
- finally {
802
- cleanupFixture(f);
803
- }
804
- });
805
- it('returns null fullTrace when source task has mismatched sourcePainId', async () => {
806
- const sessionId = 'sess-mismatch';
807
- const sourceTaskId = 'task_source_mismatch';
808
- const diagTask = makeDiagnosticianTask({
809
- taskId: 'task_diag_mismatch',
810
- sourcePainId: 'pain-A',
811
- sessionIdHint: sessionId,
812
- });
813
- const tasks = new Map([[diagTask.taskId, diagTask]]);
814
- const f = createFixture(tasks, { withLocator: true });
815
- try {
816
- // Source task stores painId=pain-B, which does NOT match diagnostician's sourcePainId=pain-A
817
- await ensureSourceTask(f, sourceTaskId, { sessionId, sourcePainId: 'pain-B' });
818
- await createRunWithPayloads(f, sourceTaskId, {
819
- inputPayload: JSON.stringify({ toolCalls: [{ toolName: 'WrongSource', status: 'succeeded' }] }),
820
- outputPayload: '{}',
821
- });
822
- const payload = await f.assembler.assemble(diagTask.taskId);
823
- expect(payload.fullTrace).toBeNull();
824
- expect(notesInclude(payload.ambiguityNotes, 'sourcePainId mismatch')).toBe(true);
825
- expect(notesInclude(payload.ambiguityNotes, 'pain-A')).toBe(true);
826
- expect(Value.Check(DiagnosticianContextPayloadSchema, payload)).toBe(true);
827
- }
828
- finally {
829
- cleanupFixture(f);
830
- }
831
- });
832
- it('throws storage_unavailable for run with unrecognized runtime_kind', async () => {
833
- const task = makeDiagnosticianTask({ taskId: 'task_bad_runtime' });
834
- const tasks = new Map([[task.taskId, task]]);
835
- const f = createFixture(tasks);
836
- try {
837
- const existing = await f.sqliteTaskStore.getTask(task.taskId);
838
- if (!existing) {
839
- await f.sqliteTaskStore.createTask({
840
- taskId: task.taskId,
841
- taskKind: 'diagnostician',
842
- status: 'pending',
843
- attemptCount: 0,
844
- maxAttempts: 3,
845
- });
846
- }
847
- const db = f.connection.getDb();
848
- const now = new Date().toISOString();
849
- db.prepare('INSERT INTO runs (run_id, task_id, runtime_kind, execution_status, started_at, ended_at, ' +
850
- 'attempt_number, created_at, updated_at, input_payload, output_payload) ' +
851
- 'VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)').run('run_bad_kind', task.taskId, 'invalid-runtime', 'succeeded', now, now, 1, now, now, null, null);
852
- await expect(f.assembler.assemble(task.taskId)).rejects.toThrow('[storage_unavailable]');
853
- }
854
- finally {
855
- cleanupFixture(f);
856
- }
857
- });
858
- // ── PRI-255: Provenance and evidence contract tests ──
859
- it('populates diagnosisTarget.provenance and provenanceReason from diagnosticJson', async () => {
860
- const dj = JSON.stringify({
861
- sourcePainId: 'pain-prov-1',
862
- reasonSummary: 'Owner reported pain from CLI',
863
- source: 'manual',
864
- severity: 'severe',
865
- sessionIdHint: 'cli',
866
- provenance: 'owner_reported_no_host_trace',
867
- provenanceReason: 'No authenticated host session provenance available for CLI-submitted pain',
868
- });
869
- const task = makeDiagnosticianTask({
870
- taskId: 'task_prov_1',
871
- sourcePainId: 'pain-prov-1',
872
- reasonSummary: 'Owner reported pain from CLI',
873
- source: 'manual',
874
- severity: 'severe',
875
- sessionIdHint: 'cli',
876
- });
877
- const taskWithDj = { ...task, diagnosticJson: dj };
878
- const tasks = new Map([[taskWithDj.taskId, taskWithDj]]);
879
- const f = createFixture(tasks);
880
- try {
881
- const payload = await f.assembler.assemble(task.taskId);
882
- expect(payload.diagnosisTarget.provenance).toBe('owner_reported_no_host_trace');
883
- expect(payload.diagnosisTarget.provenanceReason).toContain('No authenticated host session');
884
- expect(payload.diagnosisTarget.reasonSummary).toBe('Owner reported pain from CLI');
885
- expect(payload.diagnosisTarget.source).toBe('manual');
886
- expect(payload.diagnosisTarget.severity).toBe('severe');
887
- expect(payload.diagnosisTarget.painId).toBe('pain-prov-1');
888
- }
889
- finally {
890
- cleanupFixture(f);
891
- }
892
- });
893
- it('sets traceAvailability=unavailable_with_reason for owner_reported_no_host_trace and does NOT call trace locator', async () => {
894
- const dj = JSON.stringify({
895
- sourcePainId: 'pain-cli-1',
896
- reasonSummary: 'CLI pain',
897
- source: 'manual',
898
- severity: 'severe',
899
- sessionIdHint: 'cli',
900
- provenance: 'owner_reported_no_host_trace',
901
- provenanceReason: 'No authenticated host session provenance available',
902
- });
903
- const task = makeDiagnosticianTask({
904
- taskId: 'task_cli_prov',
905
- sourcePainId: 'pain-cli-1',
906
- reasonSummary: 'CLI pain',
907
- sessionIdHint: 'cli',
908
- });
909
- const taskWithDj = { ...task, diagnosticJson: dj };
910
- const tasks = new Map([[taskWithDj.taskId, taskWithDj]]);
911
- const f = createFixture(tasks, { withLocator: true });
912
- const locator = f.sourceTraceLocator;
913
- expect(locator).toBeDefined();
914
- if (!locator)
915
- return;
916
- const locateSpy = vi.spyOn(locator, 'locate');
917
- try {
918
- const payload = await f.assembler.assemble(task.taskId);
919
- expect(payload.diagnosisTarget.traceAvailability).toBe('unavailable_with_reason');
920
- expect(payload.diagnosisTarget.traceUnavailableDetail).toBeDefined();
921
- const detail = payload.diagnosisTarget.traceUnavailableDetail;
922
- expect(detail?.reason).toContain('CLI-submitted pain');
923
- expect(detail?.nextAction).toContain('OpenClaw session');
924
- expect(notesInclude(payload.ambiguityNotes, 'owner_reported_no_host_trace')).toBe(true);
925
- expect(payload.fullTrace).toBeNull();
926
- expect(locateSpy).not.toHaveBeenCalled();
927
- }
928
- finally {
929
- cleanupFixture(f);
930
- locateSpy.mockRestore();
931
- }
932
- });
933
- it('sets traceAvailability=available when fullTrace is resolved', async () => {
934
- const sessionId = 'sess-prov-ok';
935
- const sourceTaskId = 'task_source_prov';
936
- const dj = JSON.stringify({
937
- sourcePainId: 'pain-prov-ok',
938
- reasonSummary: 'Context-bound pain',
939
- source: 'pain',
940
- severity: 'severe',
941
- sessionIdHint: sessionId,
942
- provenance: 'host_context_bound',
943
- provenanceReason: 'Pain reported from an OpenClaw host session',
944
- });
945
- const task = makeDiagnosticianTask({
946
- taskId: 'task_diag_prov_ok',
947
- sourcePainId: 'pain-prov-ok',
948
- sessionIdHint: sessionId,
949
- reasonSummary: 'Context-bound pain',
950
- });
951
- const taskWithDj = { ...task, diagnosticJson: dj };
952
- const tasks = new Map([[taskWithDj.taskId, taskWithDj]]);
953
- const f = createFixture(tasks, { withLocator: true });
954
- try {
955
- await ensureSourceTask(f, sourceTaskId, { sessionId, sourcePainId: 'pain-prov-ok' });
956
- await createRunWithPayloads(f, sourceTaskId, {
957
- inputPayload: JSON.stringify({ toolCalls: [{ toolName: 'Read', status: 'succeeded' }] }),
958
- outputPayload: '{}',
959
- });
960
- const payload = await f.assembler.assemble(task.taskId);
961
- expect(payload.diagnosisTarget.provenance).toBe('host_context_bound');
962
- expect(payload.diagnosisTarget.traceAvailability).toBe('available');
963
- expect(payload.fullTrace).not.toBeNull();
964
- }
965
- finally {
966
- cleanupFixture(f);
967
- }
968
- });
969
- it('sets traceAvailability=unavailable_with_reason for context-bound pain when trace not found', async () => {
970
- const dj = JSON.stringify({
971
- sourcePainId: 'pain-prov-nf',
972
- reasonSummary: 'Context-bound but trace missing',
973
- source: 'pain',
974
- severity: 'severe',
975
- sessionIdHint: 'sess-missing',
976
- provenance: 'host_context_bound',
977
- provenanceReason: 'Pain reported from an OpenClaw host session',
978
- });
979
- const task = makeDiagnosticianTask({
980
- taskId: 'task_diag_prov_nf',
981
- sourcePainId: 'pain-prov-nf',
982
- sessionIdHint: 'sess-missing',
983
- reasonSummary: 'Context-bound but trace missing',
984
- });
985
- const taskWithDj = { ...task, diagnosticJson: dj };
986
- const tasks = new Map([[taskWithDj.taskId, taskWithDj]]);
987
- const f = createFixture(tasks, { withLocator: true });
988
- try {
989
- const payload = await f.assembler.assemble(task.taskId);
990
- expect(payload.diagnosisTarget.provenance).toBe('host_context_bound');
991
- expect(payload.diagnosisTarget.traceAvailability).toBe('unavailable_with_reason');
992
- expect(payload.diagnosisTarget.traceUnavailableDetail).toBeDefined();
993
- expect(payload.diagnosisTarget.traceUnavailableDetail?.reason).toContain('source trace could not be resolved');
994
- }
995
- finally {
996
- cleanupFixture(f);
997
- }
998
- });
999
- it('normalizes the legacy openclaw_context_bound provenance on read (SPEC §12)', async () => {
1000
- const dj = JSON.stringify({
1001
- sourcePainId: 'pain-prov-legacy',
1002
- reasonSummary: 'Legacy spelling row',
1003
- source: 'pain',
1004
- severity: 'severe',
1005
- sessionIdHint: 'sess-legacy',
1006
- provenance: 'openclaw_context_bound',
1007
- });
1008
- const legacyTask = makeDiagnosticianTask({
1009
- taskId: 'task_diag_prov_legacy',
1010
- sourcePainId: 'pain-prov-legacy',
1011
- sessionIdHint: 'sess-legacy',
1012
- reasonSummary: 'Legacy spelling row',
1013
- });
1014
- const legacyWithDj = { ...legacyTask, diagnosticJson: dj };
1015
- const tasks = new Map([[legacyWithDj.taskId, legacyWithDj]]);
1016
- const f = createFixture(tasks, { withLocator: true });
1017
- try {
1018
- const payload = await f.assembler.assemble(legacyTask.taskId);
1019
- // The persisted legacy spelling is normalized at the read boundary —
1020
- // no history rewrite, no unknown-value guessing.
1021
- expect(payload.diagnosisTarget.provenance).toBe('host_context_bound');
1022
- expect(payload.diagnosisTarget.traceAvailability).toBe('unavailable_with_reason');
1023
- }
1024
- finally {
1025
- cleanupFixture(f);
1026
- }
1027
- });
1028
- it('sets traceAvailability=unavailable_with_reason for automatic_hook when trace not found', async () => {
1029
- const dj = JSON.stringify({
1030
- sourcePainId: 'pain-auto-nf',
1031
- reasonSummary: 'Automatic hook pain but trace missing',
1032
- source: 'write',
1033
- severity: 'moderate',
1034
- sessionIdHint: 'sess-auto-missing',
1035
- provenance: 'automatic_hook',
1036
- provenanceReason: 'Detected by automatic hook',
1037
- });
1038
- const task = makeDiagnosticianTask({
1039
- taskId: 'task_diag_auto_nf',
1040
- sourcePainId: 'pain-auto-nf',
1041
- sessionIdHint: 'sess-auto-missing',
1042
- reasonSummary: 'Automatic hook pain but trace missing',
1043
- });
1044
- const taskWithDj = { ...task, diagnosticJson: dj };
1045
- const tasks = new Map([[taskWithDj.taskId, taskWithDj]]);
1046
- const f = createFixture(tasks, { withLocator: true });
1047
- try {
1048
- const payload = await f.assembler.assemble(task.taskId);
1049
- expect(payload.diagnosisTarget.provenance).toBe('automatic_hook');
1050
- expect(payload.diagnosisTarget.traceAvailability).toBe('unavailable_with_reason');
1051
- expect(payload.diagnosisTarget.traceUnavailableDetail).toBeDefined();
1052
- expect(payload.diagnosisTarget.traceUnavailableDetail?.reason).toContain('Automatic hook pain');
1053
- }
1054
- finally {
1055
- cleanupFixture(f);
1056
- }
1057
- });
1058
- it('reconstructs provenance from diagnosticJson with runtime validation (no unsafe as)', async () => {
1059
- const dj = JSON.stringify({
1060
- sourcePainId: 'pain-validated',
1061
- reasonSummary: 'Validated pain',
1062
- source: 'manual',
1063
- severity: 'moderate',
1064
- provenance: 'owner_reported_no_host_trace',
1065
- provenanceReason: 'CLI provenance',
1066
- extraUnknownField: 'should be ignored',
1067
- });
1068
- const task = makeDiagnosticianTask({
1069
- taskId: 'task_validated',
1070
- sourcePainId: 'pain-validated',
1071
- reasonSummary: 'Validated pain',
1072
- });
1073
- const taskWithDj = { ...task, diagnosticJson: dj };
1074
- const tasks = new Map([[taskWithDj.taskId, taskWithDj]]);
1075
- const f = createFixture(tasks);
1076
- try {
1077
- const payload = await f.assembler.assemble(task.taskId);
1078
- expect(payload.diagnosisTarget.provenance).toBe('owner_reported_no_host_trace');
1079
- expect(payload.diagnosisTarget.reasonSummary).toBe('Validated pain');
1080
- }
1081
- finally {
1082
- cleanupFixture(f);
1083
- }
1084
- });
1085
- it('handles malformed diagnosticJson gracefully without crashing', async () => {
1086
- const task = makeDiagnosticianTask({
1087
- taskId: 'task_malformed_dj',
1088
- reasonSummary: 'Fallback reason',
1089
- });
1090
- const taskWithDj = { ...task, diagnosticJson: 'not-valid-json{{{}}' };
1091
- const tasks = new Map([[taskWithDj.taskId, taskWithDj]]);
1092
- const f = createFixture(tasks);
1093
- try {
1094
- const payload = await f.assembler.assemble(task.taskId);
1095
- expect(payload.diagnosisTarget.reasonSummary).toBe('Fallback reason');
1096
- expect(payload.diagnosisTarget.provenance).toBeUndefined();
1097
- }
1098
- finally {
1099
- cleanupFixture(f);
1100
- }
1101
- });
1102
- it('handles diagnosticJson with invalid provenance value gracefully', async () => {
1103
- const dj = JSON.stringify({
1104
- sourcePainId: 'pain-bad-prov',
1105
- reasonSummary: 'Bad provenance test',
1106
- provenance: 'invalid_provenance_value',
1107
- });
1108
- const task = makeDiagnosticianTask({
1109
- taskId: 'task_bad_prov',
1110
- reasonSummary: 'Bad provenance test',
1111
- });
1112
- const taskWithDj = { ...task, diagnosticJson: dj };
1113
- const tasks = new Map([[taskWithDj.taskId, taskWithDj]]);
1114
- const f = createFixture(tasks);
1115
- try {
1116
- const payload = await f.assembler.assemble(task.taskId);
1117
- expect(payload.diagnosisTarget.provenance).toBeUndefined();
1118
- expect(payload.diagnosisTarget.reasonSummary).toBe('Bad provenance test');
1119
- }
1120
- finally {
1121
- cleanupFixture(f);
1122
- }
1123
- });
1124
- it('produces ambiguity note when diagnosticJson is malformed JSON', async () => {
1125
- const task = makeDiagnosticianTask({
1126
- taskId: 'task_malformed_observable',
1127
- reasonSummary: 'Fallback reason',
1128
- });
1129
- const taskWithDj = { ...task, diagnosticJson: 'not-valid-json{{{}}' };
1130
- const tasks = new Map([[taskWithDj.taskId, taskWithDj]]);
1131
- const f = createFixture(tasks);
1132
- try {
1133
- const payload = await f.assembler.assemble(task.taskId);
1134
- expect(payload.diagnosisTarget.reasonSummary).toBe('Fallback reason');
1135
- expect(payload.ambiguityNotes?.some((n) => n.includes('malformed JSON'))).toBe(true);
1136
- }
1137
- finally {
1138
- cleanupFixture(f);
1139
- }
1140
- });
1141
- it('produces ambiguity note when diagnosticJson parses to non-object', async () => {
1142
- const task = makeDiagnosticianTask({
1143
- taskId: 'task_array_dj',
1144
- reasonSummary: 'Fallback reason',
1145
- });
1146
- const taskWithDj = { ...task, diagnosticJson: JSON.stringify([1, 2, 3]) };
1147
- const tasks = new Map([[taskWithDj.taskId, taskWithDj]]);
1148
- const f = createFixture(tasks);
1149
- try {
1150
- const payload = await f.assembler.assemble(task.taskId);
1151
- expect(payload.diagnosisTarget.reasonSummary).toBe('Fallback reason');
1152
- expect(payload.ambiguityNotes?.some((n) => n.includes('non-object'))).toBe(true);
1153
- }
1154
- finally {
1155
- cleanupFixture(f);
1156
- }
1157
- });
1158
- it('ignores inherited properties from prototype chain in diagnosticJson', async () => {
1159
- const dj = '{"sourcePainId":"own-pain-id","reasonSummary":"own-reason","provenance":"host_context_bound"}';
1160
- const task = makeDiagnosticianTask({
1161
- taskId: 'task_inherited_props',
1162
- });
1163
- const taskWithDj = { ...task, diagnosticJson: dj };
1164
- const tasks = new Map([[taskWithDj.taskId, taskWithDj]]);
1165
- const f = createFixture(tasks);
1166
- try {
1167
- const payload = await f.assembler.assemble(task.taskId);
1168
- expect(payload.diagnosisTarget.painId).toBe('own-pain-id');
1169
- expect(payload.diagnosisTarget.reasonSummary).toBe('own-reason');
1170
- expect(payload.diagnosisTarget.provenance).toBe('host_context_bound');
1171
- }
1172
- finally {
1173
- cleanupFixture(f);
1174
- }
1175
- });
1176
- it('rejects provenance injected into Object.prototype (not own-property)', async () => {
1177
- const original = Object.getOwnPropertyDescriptor(Object.prototype, 'provenance');
1178
- try {
1179
- Object.prototype.provenance = 'automatic_hook';
1180
- const dj = '{"sourcePainId":"pain-no-own-prov","reasonSummary":"no own provenance"}';
1181
- const task = makeDiagnosticianTask({
1182
- taskId: 'task_proto_injected_provenance',
1183
- });
1184
- const taskWithDj = { ...task, diagnosticJson: dj };
1185
- const tasks = new Map([[taskWithDj.taskId, taskWithDj]]);
1186
- const f = createFixture(tasks);
1187
- const payload = await f.assembler.assemble(task.taskId);
1188
- expect(payload.diagnosisTarget.painId).toBe('pain-no-own-prov');
1189
- expect(payload.diagnosisTarget.provenance).toBeUndefined();
1190
- cleanupFixture(f);
1191
- }
1192
- finally {
1193
- if (original === undefined) {
1194
- delete Object.prototype.provenance;
1195
- }
1196
- else {
1197
- Object.defineProperty(Object.prototype, 'provenance', original);
1198
- }
1199
- }
1200
- });
1201
- it('does not read constructor or toString as sourcePainId from Object.prototype', async () => {
1202
- const dj = '{"reasonSummary":"proto-field test"}';
1203
- const task = makeDiagnosticianTask({
1204
- taskId: 'task_proto_fields',
1205
- });
1206
- const taskWithDj = { ...task, diagnosticJson: dj };
1207
- const tasks = new Map([[taskWithDj.taskId, taskWithDj]]);
1208
- const f = createFixture(tasks);
1209
- try {
1210
- const payload = await f.assembler.assemble(task.taskId);
1211
- expect(payload.diagnosisTarget.painId).toBeUndefined();
1212
- expect(payload.diagnosisTarget.provenance).toBeUndefined();
1213
- }
1214
- finally {
1215
- cleanupFixture(f);
1216
- }
1217
- });
1218
- // ── PRI-349: workspaceDir propagation through diagnosticJson ──
1219
- it('用例 C: payload.workspaceDir is real workspaceDir from diagnosticJson, not <unknown>', async () => {
1220
- const realWorkspaceDir = '/home/user/projects/my-app';
1221
- const dj = JSON.stringify({
1222
- sourcePainId: 'pain-wsdir-e2e',
1223
- reasonSummary: 'workspaceDir e2e test',
1224
- source: 'pain',
1225
- severity: 'moderate',
1226
- sessionIdHint: 'sess-wsdir',
1227
- provenance: 'host_context_bound',
1228
- provenanceReason: 'Pain reported from an OpenClaw host session',
1229
- workspaceDir: realWorkspaceDir,
1230
- });
1231
- // Use makeDiagnosticianTask with workspaceDir matching the diagnosticJson value.
1232
- // In production, base.workspaceDir is always undefined (TaskRecord lacks this field),
1233
- // so extra.workspaceDir from diagnosticJson is the only source.
1234
- // Here we set the record's workspaceDir to the same value to confirm the path works.
1235
- const task = makeDiagnosticianTask({
1236
- taskId: 'task_wsdir_e2e',
1237
- sourcePainId: 'pain-wsdir-e2e',
1238
- reasonSummary: 'workspaceDir e2e test',
1239
- sessionIdHint: 'sess-wsdir',
1240
- workspaceDir: realWorkspaceDir,
1241
- });
1242
- const taskWithDj = { ...task, diagnosticJson: dj };
1243
- const tasks = new Map([[taskWithDj.taskId, taskWithDj]]);
1244
- const f = createFixture(tasks);
1245
- try {
1246
- const payload = await f.assembler.assemble(task.taskId);
1247
- // workspaceDir is the real value, not '<unknown>'
1248
- expect(payload.workspaceDir).toBe(realWorkspaceDir);
1249
- expect(payload.workspaceDir).not.toBe('<unknown>');
1250
- }
1251
- finally {
1252
- cleanupFixture(f);
1253
- }
1254
- });
1255
- it('PRI-349: workspaceDir from diagnosticJson is used when record has no workspaceDir', async () => {
1256
- const djWorkspaceDir = '/path/from/diagnostic-json';
1257
- const dj = JSON.stringify({
1258
- sourcePainId: 'pain-wsdir-from-dj',
1259
- reasonSummary: 'workspaceDir from diagnosticJson only',
1260
- workspaceDir: djWorkspaceDir,
1261
- });
1262
- // Set record workspaceDir to a different value.
1263
- // In production base.workspaceDir is undefined, so extra.workspaceDir wins.
1264
- // Here we test that the diagnosticJson value is at least available in the payload.
1265
- const task = makeDiagnosticianTask({
1266
- taskId: 'task_wsdir_from_dj',
1267
- sourcePainId: 'pain-wsdir-from-dj',
1268
- reasonSummary: 'workspaceDir from diagnosticJson only',
1269
- workspaceDir: '/tmp/stale-default',
1270
- });
1271
- const taskWithDj = { ...task, diagnosticJson: dj };
1272
- const tasks = new Map([[taskWithDj.taskId, taskWithDj]]);
1273
- const f = createFixture(tasks);
1274
- try {
1275
- const payload = await f.assembler.assemble(task.taskId);
1276
- // The record's workspaceDir takes precedence (base.workspaceDir ?? extra.workspaceDir),
1277
- // but the important thing is: workspaceDir is NOT '<unknown>'.
1278
- // In production, base.workspaceDir is always undefined, so extra.workspaceDir
1279
- // from diagnosticJson will be used.
1280
- expect(payload.workspaceDir).not.toBe('<unknown>');
1281
- }
1282
- finally {
1283
- cleanupFixture(f);
1284
- }
1285
- });
1286
- it('PRI-349: workspaceDir falls back to record default when diagnosticJson lacks it', async () => {
1287
- const dj = JSON.stringify({
1288
- sourcePainId: 'pain-no-wsdir',
1289
- reasonSummary: 'No workspaceDir in diagnosticJson',
1290
- source: 'pain',
1291
- severity: 'moderate',
1292
- // workspaceDir intentionally omitted
1293
- });
1294
- const task = makeDiagnosticianTask({
1295
- taskId: 'task_no_wsdir',
1296
- sourcePainId: 'pain-no-wsdir',
1297
- reasonSummary: 'No workspaceDir in diagnosticJson',
1298
- workspaceDir: '/tmp/test-workspace',
1299
- });
1300
- const taskWithDj = { ...task, diagnosticJson: dj };
1301
- const tasks = new Map([[taskWithDj.taskId, taskWithDj]]);
1302
- const f = createFixture(tasks);
1303
- try {
1304
- const payload = await f.assembler.assemble(task.taskId);
1305
- // Without workspaceDir in diagnosticJson, the record-level workspaceDir
1306
- // is used. In production (where TaskRecord has no workspaceDir field),
1307
- // this would fall back to '<unknown>'.
1308
- expect(payload.workspaceDir).toBe('/tmp/test-workspace');
1309
- expect(payload.workspaceDir).not.toBe('<unknown>');
1310
- }
1311
- finally {
1312
- cleanupFixture(f);
1313
- }
1314
- });
1315
- // ── PRI-350: TrajectoryDB fallback for conversationWindow ──
1316
- it('用例 A: trajectory has turns → conversationWindow non-empty', async () => {
1317
- const sessionId = 'sess-traj';
1318
- const userTurns = new Map([
1319
- [sessionId, [
1320
- { id: 1, turnIndex: 0, rawExcerpt: 'Hello, can you help me?', correctionDetected: false, correctionCue: null, createdAt: '2026-06-09T10:00:00.000Z' },
1321
- { id: 3, turnIndex: 2, rawExcerpt: 'That is not what I asked', correctionDetected: true, correctionCue: 'correction', createdAt: '2026-06-09T10:02:00.000Z' },
1322
- ]],
1323
- ]);
1324
- const assistantTurns = new Map([
1325
- [sessionId, [
1326
- { id: 2, sessionId, runId: 'run-1', provider: 'openai', model: 'gpt-4', sanitizedText: 'Sure, I can help with that.', createdAt: '2026-06-09T10:01:00.000Z' },
1327
- ]],
1328
- ]);
1329
- const trajectoryTurnReader = createMockTrajectoryTurnReader(userTurns, assistantTurns);
1330
- const task = makeDiagnosticianTask({
1331
- taskId: 'task_traj_fallback_a',
1332
- sessionIdHint: sessionId,
1333
- workspaceDir: '/real/workspace',
1334
- });
1335
- const tasks = new Map([[task.taskId, task]]);
1336
- const f = createFixture(tasks, { trajectoryTurnReader });
1337
- try {
1338
- const payload = await f.assembler.assemble(task.taskId);
1339
- // conversationWindow should be populated from trajectory
1340
- expect(payload.conversationWindow.length).toBe(3);
1341
- // Sorted by timestamp ascending
1342
- expect(payload.conversationWindow[0]?.role).toBe('user');
1343
- expect(payload.conversationWindow[0]?.ts).toBe('2026-06-09T10:00:00.000Z');
1344
- expect(payload.conversationWindow[1]?.role).toBe('assistant');
1345
- expect(payload.conversationWindow[1]?.ts).toBe('2026-06-09T10:01:00.000Z');
1346
- expect(payload.conversationWindow[2]?.role).toBe('user');
1347
- expect(payload.conversationWindow[2]?.ts).toBe('2026-06-09T10:02:00.000Z');
1348
- // User turn text comes from rawExcerpt
1349
- expect(payload.conversationWindow[0]?.text).toBe('Hello, can you help me?');
1350
- // Assistant text is sanitized
1351
- expect(payload.conversationWindow[1]?.text).toBe('Sure, I can help with that.');
1352
- // No "no conversation history" ambiguity note (entries exist)
1353
- expect(notesInclude(payload.ambiguityNotes, 'No conversation history')).toBe(false);
1354
- // Schema still valid
1355
- expect(Value.Check(DiagnosticianContextPayloadSchema, payload)).toBe(true);
1356
- }
1357
- finally {
1358
- cleanupFixture(f);
1359
- }
1360
- });
1361
- it('用例 B: historyQuery returns non-empty → do NOT override with trajectory', async () => {
1362
- const sessionId = 'sess-hist-priority';
1363
- const userTurns = new Map([
1364
- [sessionId, [
1365
- { id: 10, turnIndex: 0, rawExcerpt: 'Trajectory user turn', correctionDetected: false, correctionCue: null, createdAt: '2026-06-09T10:00:00.000Z' },
1366
- ]],
1367
- ]);
1368
- const assistantTurns = new Map([
1369
- [sessionId, [
1370
- { id: 11, sessionId, runId: 'run-traj', provider: 'openai', model: 'gpt-4', sanitizedText: 'Trajectory assistant turn', createdAt: '2026-06-09T10:01:00.000Z' },
1371
- ]],
1372
- ]);
1373
- const trajectoryTurnReader = createMockTrajectoryTurnReader(userTurns, assistantTurns);
1374
- const task = makeDiagnosticianTask({
1375
- taskId: 'task_hist_priority',
1376
- sessionIdHint: sessionId,
1377
- workspaceDir: '/real/workspace',
1378
- });
1379
- const tasks = new Map([[task.taskId, task]]);
1380
- const f = createFixture(tasks, { trajectoryTurnReader });
1381
- try {
1382
- // Create a run so historyQuery returns entries
1383
- await createRunWithPayloads(f, task.taskId, { inputPayload: 'history input', outputPayload: 'history output' });
1384
- const payload = await f.assembler.assemble(task.taskId);
1385
- // conversationWindow should come from historyQuery (has entries from the run)
1386
- expect(payload.conversationWindow.length).toBeGreaterThanOrEqual(2);
1387
- // Should NOT contain trajectory text
1388
- const allTexts = payload.conversationWindow.map(e => e.text ?? '').join('|');
1389
- expect(allTexts).not.toContain('Trajectory user turn');
1390
- expect(allTexts).not.toContain('Trajectory assistant turn');
1391
- // Schema still valid
1392
- expect(Value.Check(DiagnosticianContextPayloadSchema, payload)).toBe(true);
1393
- }
1394
- finally {
1395
- cleanupFixture(f);
1396
- }
1397
- });
1398
- it('用例 C1: sessionIdHint missing → no trajectory fallback, ambiguityNote present', async () => {
1399
- const trajectoryTurnReader = createMockTrajectoryTurnReader(new Map(), new Map());
1400
- const task = makeDiagnosticianTask({
1401
- taskId: 'task_no_session_hint',
1402
- sessionIdHint: undefined,
1403
- workspaceDir: '/real/workspace',
1404
- });
1405
- const tasks = new Map([[task.taskId, task]]);
1406
- const f = createFixture(tasks, { trajectoryTurnReader });
1407
- try {
1408
- const payload = await f.assembler.assemble(task.taskId);
1409
- expect(payload.conversationWindow).toEqual([]);
1410
- expect(notesInclude(payload.ambiguityNotes, 'No conversation history')).toBe(true);
1411
- }
1412
- finally {
1413
- cleanupFixture(f);
1414
- }
1415
- });
1416
- it('用例 C2: workspaceDir=<unknown> → no trajectory fallback, ambiguityNote present', async () => {
1417
- const trajectoryTurnReader = createMockTrajectoryTurnReader(new Map(), new Map());
1418
- const task = makeDiagnosticianTask({
1419
- taskId: 'task_unknown_workspace',
1420
- sessionIdHint: 'sess-unknown-ws',
1421
- workspaceDir: '<unknown>',
1422
- });
1423
- const tasks = new Map([[task.taskId, task]]);
1424
- const f = createFixture(tasks, { trajectoryTurnReader });
1425
- try {
1426
- const payload = await f.assembler.assemble(task.taskId);
1427
- expect(payload.conversationWindow).toEqual([]);
1428
- expect(notesInclude(payload.ambiguityNotes, 'No conversation history')).toBe(true);
1429
- // trajectoryTurnReader should NOT have been called
1430
- expect(f.trajectoryTurnReader?.listUserTurnsForSession).not.toHaveBeenCalled();
1431
- }
1432
- finally {
1433
- cleanupFixture(f);
1434
- }
1435
- });
1436
- it('用例 C3: trajectoryTurnReader not provided → no fallback, ambiguityNote present', async () => {
1437
- const task = makeDiagnosticianTask({
1438
- taskId: 'task_no_reader',
1439
- sessionIdHint: 'sess-no-reader',
1440
- workspaceDir: '/real/workspace',
1441
- });
1442
- const tasks = new Map([[task.taskId, task]]);
1443
- const f = createFixture(tasks);
1444
- try {
1445
- const payload = await f.assembler.assemble(task.taskId);
1446
- expect(payload.conversationWindow).toEqual([]);
1447
- expect(notesInclude(payload.ambiguityNotes, 'No conversation history')).toBe(true);
1448
- }
1449
- finally {
1450
- cleanupFixture(f);
1451
- }
1452
- });
1453
- it('用例 C4: trajectory returns empty → ambiguityNote about trajectory fallback failure', async () => {
1454
- const sessionId = 'sess-empty-traj';
1455
- const trajectoryTurnReader = createMockTrajectoryTurnReader(new Map([[sessionId, []]]), new Map([[sessionId, []]]));
1456
- const task = makeDiagnosticianTask({
1457
- taskId: 'task_empty_traj',
1458
- sessionIdHint: sessionId,
1459
- workspaceDir: '/real/workspace',
1460
- });
1461
- const tasks = new Map([[task.taskId, task]]);
1462
- const f = createFixture(tasks, { trajectoryTurnReader });
1463
- try {
1464
- const payload = await f.assembler.assemble(task.taskId);
1465
- expect(payload.conversationWindow).toEqual([]);
1466
- // Should have ambiguity note about trajectory fallback failure (ERR-002: no silent degradation)
1467
- expect(notesInclude(payload.ambiguityNotes, 'Trajectory fallback')).toBe(true);
1468
- }
1469
- finally {
1470
- cleanupFixture(f);
1471
- }
1472
- });
1473
- // ── PRI-351: fullTrace cascade regression + CLI path preservation ──
1474
- it('PRI-351 回归: openclaw_context_bound + 有效 trajectory → fullTrace 非 null (PRI-349 级联已恢复)', async () => {
1475
- const sessionId = 'sess-pri351-cascade';
1476
- const sourceTaskId = 'task_source_pri351';
1477
- const dj = JSON.stringify({
1478
- sourcePainId: 'pain-pri351-cascade',
1479
- reasonSummary: 'PRI-351 cascade regression test',
1480
- source: 'pain',
1481
- severity: 'severe',
1482
- sessionIdHint: sessionId,
1483
- provenance: 'host_context_bound',
1484
- provenanceReason: 'Pain reported from an OpenClaw host session',
1485
- workspaceDir: '/real/workspace/path',
1486
- });
1487
- const task = makeDiagnosticianTask({
1488
- taskId: 'task_diag_pri351',
1489
- sourcePainId: 'pain-pri351-cascade',
1490
- sessionIdHint: sessionId,
1491
- reasonSummary: 'PRI-351 cascade regression test',
1492
- workspaceDir: '/real/workspace/path',
1493
- });
1494
- const taskWithDj = { ...task, diagnosticJson: dj };
1495
- const tasks = new Map([[taskWithDj.taskId, taskWithDj]]);
1496
- const f = createFixture(tasks, { withLocator: true });
1497
- try {
1498
- // Source task with matching sourcePainId in its diagnosticJson
1499
- await ensureSourceTask(f, sourceTaskId, { sessionId, sourcePainId: 'pain-pri351-cascade' });
1500
- await createRunWithPayloads(f, sourceTaskId, {
1501
- inputPayload: JSON.stringify({
1502
- type: 'session_history',
1503
- sessionId,
1504
- userTurns: [{ turnIndex: 1, text: 'user asked about PRI-351' }],
1505
- toolCalls: [{ toolName: 'Read', status: 'succeeded', params: { file: 'src/test.ts' } }],
1506
- }),
1507
- outputPayload: JSON.stringify({
1508
- type: 'assistant_turns',
1509
- sessionId,
1510
- turns: [{ provider: 'openai', model: 'gpt-4', text: 'response for PRI-351' }],
1511
- }),
1512
- });
1513
- const payload = await f.assembler.assemble(task.taskId);
1514
- // Core assertion: fullTrace is NOT null (PRI-349 workspaceDir fix enables cascade)
1515
- expect(payload.fullTrace).not.toBeNull();
1516
- expect(payload.diagnosisTarget.provenance).toBe('host_context_bound');
1517
- expect(payload.diagnosisTarget.traceAvailability).toBe('available');
1518
- // Validate fullTrace structure
1519
- const ft = payload.fullTrace;
1520
- if (ft && 'sourcePainId' in ft) {
1521
- expect(ft.sourcePainId).toBe('pain-pri351-cascade');
1522
- expect(ft.sourceTaskId).toBe(sourceTaskId);
1523
- expect(ft.timeline.length).toBeGreaterThan(0);
1524
- // Tool call evidence is present
1525
- const toolCallEntries = ft.timeline.filter((e) => e.kind === 'tool_call');
1526
- expect(toolCallEntries.length).toBeGreaterThan(0);
1527
- expect(toolCallEntries.some((e) => e.summary.includes('Read'))).toBe(true);
1528
- }
1529
- expect(Value.Check(DiagnosticianContextPayloadSchema, payload)).toBe(true);
1530
- }
1531
- finally {
1532
- cleanupFixture(f);
1533
- }
1534
- });
1535
- it('PRI-351 回归: owner_reported_no_host_trace → fullTrace=null + traceUnavailableDetail 非空 (PRI-255 不回归)', async () => {
1536
- const dj = JSON.stringify({
1537
- sourcePainId: 'pain-pri351-cli',
1538
- reasonSummary: 'CLI pain - PRI-255 design decision',
1539
- source: 'manual',
1540
- severity: 'severe',
1541
- sessionIdHint: 'cli-session',
1542
- provenance: 'owner_reported_no_host_trace',
1543
- provenanceReason: 'No authenticated host session provenance available for CLI-submitted pain',
1544
- });
1545
- const task = makeDiagnosticianTask({
1546
- taskId: 'task_diag_pri351_cli',
1547
- sourcePainId: 'pain-pri351-cli',
1548
- reasonSummary: 'CLI pain - PRI-255 design decision',
1549
- sessionIdHint: 'cli-session',
1550
- });
1551
- const taskWithDj = { ...task, diagnosticJson: dj };
1552
- const tasks = new Map([[taskWithDj.taskId, taskWithDj]]);
1553
- const f = createFixture(tasks, { withLocator: true });
1554
- const locator = f.sourceTraceLocator;
1555
- expect(locator).toBeDefined();
1556
- if (!locator)
1557
- return;
1558
- const locateSpy = vi.spyOn(locator, 'locate');
1559
- try {
1560
- const payload = await f.assembler.assemble(task.taskId);
1561
- // PRI-255 design decision: fullTrace must be null for CLI path
1562
- expect(payload.fullTrace).toBeNull();
1563
- // traceAvailability must be unavailable_with_reason
1564
- expect(payload.diagnosisTarget.traceAvailability).toBe('unavailable_with_reason');
1565
- // traceUnavailableDetail must be non-empty (ERR-009: fail loud)
1566
- expect(payload.diagnosisTarget.traceUnavailableDetail).toBeDefined();
1567
- expect(payload.diagnosisTarget.traceUnavailableDetail?.reason).toBeTruthy();
1568
- expect(payload.diagnosisTarget.traceUnavailableDetail?.reason).toContain('CLI-submitted pain');
1569
- expect(payload.diagnosisTarget.traceUnavailableDetail?.nextAction).toBeTruthy();
1570
- // SourceTraceLocator must NOT have been called
1571
- expect(locateSpy).not.toHaveBeenCalled();
1572
- // Ambiguity note about owner_reported_no_host_trace must be present
1573
- expect(notesInclude(payload.ambiguityNotes, 'owner_reported_no_host_trace')).toBe(true);
1574
- expect(Value.Check(DiagnosticianContextPayloadSchema, payload)).toBe(true);
1575
- }
1576
- finally {
1577
- cleanupFixture(f);
1578
- locateSpy.mockRestore();
1579
- }
1580
- });
1581
- });
1582
- // ── PRI-844: correctionEvidence pass-through ────────────────────────────────
1583
- describe('SqliteContextAssembler — correctionEvidence (PRI-844)', () => {
1584
- it('passes the Owner correction verbatim — >200-char text must NOT hit the evidence note cap', async () => {
1585
- const longCorrection = '修改配置前应该先搜索所有引用并一起修改,别只改眼前这一个文件。' + 'x'.repeat(260);
1586
- const dj = JSON.stringify({
1587
- sourcePainId: 'pain-ce-1',
1588
- reasonSummary: 'user correction',
1589
- source: 'user_correction',
1590
- sessionIdHint: 'sess-ce',
1591
- correctionEvidence: {
1592
- text: longCorrection,
1593
- sessionId: 'sess-ce',
1594
- turnIndex: 7,
1595
- referencesAssistantTurnId: 6,
1596
- occurredAt: '2026-09-19T00:37:54.000Z',
1597
- },
1598
- });
1599
- const task = makeDiagnosticianTask({
1600
- taskId: 'task_ce_1',
1601
- sourcePainId: 'pain-ce-1',
1602
- reasonSummary: 'user correction',
1603
- sessionIdHint: 'sess-ce',
1604
- });
1605
- const taskWithDj = { ...task, diagnosticJson: dj };
1606
- const f = createFixture(new Map([[taskWithDj.taskId, taskWithDj]]));
1607
- try {
1608
- const payload = await f.assembler.assemble(task.taskId);
1609
- const ce = payload.diagnosisTarget.correctionEvidence;
1610
- expect(ce).toBeDefined();
1611
- expect(ce?.text).toBe(longCorrection);
1612
- expect(ce?.turnIndex).toBe(7);
1613
- expect(ce?.referencesAssistantTurnId).toBe(6);
1614
- expect(Value.Check(DiagnosticianContextPayloadSchema, payload)).toBe(true);
1615
- }
1616
- finally {
1617
- cleanupFixture(f);
1618
- }
1619
- });
1620
- it('legacy diagnosticJson without correctionEvidence → undefined, payload stays valid (Case D)', async () => {
1621
- const dj = JSON.stringify({
1622
- sourcePainId: 'pain-ce-2',
1623
- reasonSummary: 'tool failure',
1624
- source: 'tool_failure',
1625
- sessionIdHint: 'sess-ce2',
1626
- });
1627
- const task = makeDiagnosticianTask({
1628
- taskId: 'task_ce_2',
1629
- sourcePainId: 'pain-ce-2',
1630
- reasonSummary: 'tool failure',
1631
- sessionIdHint: 'sess-ce2',
1632
- });
1633
- const taskWithDj = { ...task, diagnosticJson: dj };
1634
- const f = createFixture(new Map([[taskWithDj.taskId, taskWithDj]]));
1635
- try {
1636
- const payload = await f.assembler.assemble(task.taskId);
1637
- expect(payload.diagnosisTarget.correctionEvidence).toBeUndefined();
1638
- expect(Value.Check(DiagnosticianContextPayloadSchema, payload)).toBe(true);
1639
- }
1640
- finally {
1641
- cleanupFixture(f);
1642
- }
1643
- });
1644
- it('fractional turn identifiers are omitted (not fatal) — PRI-844 review fix (P2)', async () => {
1645
- const dj = JSON.stringify({
1646
- sourcePainId: 'pain-ce-3',
1647
- reasonSummary: 'user correction',
1648
- source: 'user_correction',
1649
- sessionIdHint: 'sess-ce3',
1650
- correctionEvidence: {
1651
- text: '改配置前先搜引用',
1652
- turnIndex: 1.5,
1653
- referencesAssistantTurnId: 2.5,
1654
- occurredAt: '2026-09-19T00:37:54.000Z',
1655
- },
1656
- });
1657
- const task = makeDiagnosticianTask({
1658
- taskId: 'task_ce_3',
1659
- sourcePainId: 'pain-ce-3',
1660
- reasonSummary: 'user correction',
1661
- sessionIdHint: 'sess-ce3',
1662
- });
1663
- const taskWithDj = { ...task, diagnosticJson: dj };
1664
- const f = createFixture(new Map([[taskWithDj.taskId, taskWithDj]]));
1665
- try {
1666
- // Before the review fix this aborted the WHOLE diagnosis with
1667
- // storage_unavailable (fractional ids passed the guard, then failed
1668
- // PainCorrectionEvidenceSchema's Type.Integer inside Value.Check).
1669
- const payload = await f.assembler.assemble(task.taskId);
1670
- const ce = payload.diagnosisTarget.correctionEvidence;
1671
- expect(ce?.text).toBe('改配置前先搜引用');
1672
- expect(ce?.turnIndex).toBeUndefined();
1673
- expect(ce?.referencesAssistantTurnId).toBeUndefined();
1674
- expect(Value.Check(DiagnosticianContextPayloadSchema, payload)).toBe(true);
1675
- }
1676
- finally {
1677
- cleanupFixture(f);
1678
- }
1679
- });
1680
- });
1681
- //# sourceMappingURL=sqlite-context-assembler.test.js.map