create-principles-disciple 1.94.0 → 1.96.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (530) hide show
  1. package/console/dist/server/config/WorkspaceConfigStore.js +2 -1
  2. package/console/dist/server/config/pd-config-store.d.ts +33 -0
  3. package/console/dist/server/config/pd-config-store.js +196 -0
  4. package/console/dist/server/index.js +19 -4
  5. package/console/dist/server/models/EvidenceChainConsoleModel.d.ts +0 -2
  6. package/console/dist/server/models/EvidenceChainConsoleModel.js +36 -2
  7. package/console/dist/server/models/HealthCheckModel.js +5 -3
  8. package/console/dist/server/models/IntentDecisionModel.d.ts +66 -0
  9. package/console/dist/server/models/IntentDecisionModel.js +207 -0
  10. package/console/dist/server/models/IntentPageModel.d.ts +52 -0
  11. package/console/dist/server/models/IntentPageModel.js +292 -0
  12. package/console/dist/server/models/PrinciplesConsoleModel.d.ts +2 -0
  13. package/console/dist/server/models/PrinciplesConsoleModel.js +37 -1
  14. package/console/dist/server/models/WorkspaceService.d.ts +0 -28
  15. package/console/dist/server/models/WorkspaceService.js +0 -115
  16. package/console/dist/server/routes/config.js +55 -1
  17. package/console/dist/server/routes/intent-decisions.d.ts +33 -0
  18. package/console/dist/server/routes/intent-decisions.js +499 -0
  19. package/console/dist/server/routes/intent.d.ts +7 -0
  20. package/console/dist/server/routes/intent.js +223 -0
  21. package/console/dist/server/routes/principles.js +67 -1
  22. package/console/dist/server/routes/update.d.ts +0 -1
  23. package/console/dist/server/routes/update.js +14 -11
  24. package/console/dist/types.d.ts +1 -0
  25. package/console/dist/ui/App.js +2 -60
  26. package/console/dist/ui/api.d.ts +58 -18
  27. package/console/dist/ui/api.js +78 -6
  28. package/console/dist/ui/components/layout/app-sidebar.js +13 -12
  29. package/console/dist/ui/components/ui/badge.d.ts +1 -1
  30. package/console/dist/ui/components/ui/button.d.ts +1 -1
  31. package/console/dist/ui/components/ui/shiny-text.d.ts +28 -0
  32. package/console/dist/ui/components/ui/shiny-text.js +46 -0
  33. package/console/dist/ui/i18n/en.json +306 -3
  34. package/console/dist/ui/i18n/zh-CN.json +306 -3
  35. package/console/dist/ui/pages/activation/ActivationPage.js +2 -1
  36. package/console/dist/ui/pages/control-center/AgentCard.d.ts +31 -0
  37. package/console/dist/ui/pages/control-center/AgentCard.js +156 -0
  38. package/console/dist/ui/pages/control-center/AgentGroup.d.ts +26 -0
  39. package/console/dist/ui/pages/control-center/AgentGroup.js +38 -0
  40. package/console/dist/ui/pages/control-center/ControlCenterPage.js +103 -41
  41. package/console/dist/ui/pages/control-center/EmpathyObserverCostHint.d.ts +28 -0
  42. package/console/dist/ui/pages/control-center/EmpathyObserverCostHint.js +38 -0
  43. package/console/dist/ui/pages/control-center/WorkflowDiagram.d.ts +17 -0
  44. package/console/dist/ui/pages/control-center/WorkflowDiagram.js +55 -0
  45. package/console/dist/ui/pages/debt/DebtPage.js +219 -2
  46. package/console/dist/ui/pages/focus/FocusPage.js +2 -1
  47. package/console/dist/ui/pages/intent/IntentOnboarding.d.ts +67 -0
  48. package/console/dist/ui/pages/intent/IntentOnboarding.js +289 -0
  49. package/console/dist/ui/pages/intent/IntentPage.d.ts +1 -0
  50. package/console/dist/ui/pages/intent/IntentPage.js +258 -0
  51. package/console/dist/ui/pages/pain/PainPage.js +234 -4
  52. package/console/dist/ui/pages/pain/pain-card-helpers.d.ts +75 -0
  53. package/console/dist/ui/pages/pain/pain-card-helpers.js +78 -0
  54. package/console/dist/ui/pages/principles/PrinciplesPage.js +2 -1
  55. package/console/dist/ui/utils/agent-metadata.d.ts +58 -0
  56. package/console/dist/ui/utils/agent-metadata.js +275 -0
  57. package/console/dist/ui/utils/control-center-helpers.d.ts +19 -0
  58. package/console/dist/ui/utils/control-center-helpers.js +37 -0
  59. package/console/dist/ui/utils/validators.d.ts +200 -0
  60. package/console/dist/ui/utils/validators.js +563 -0
  61. package/console/dist/web/assets/app.css +498 -3
  62. package/console/dist/web/assets/app.js +5063 -1418
  63. package/console/package.json +3 -0
  64. package/core/dist/principle-tree-ledger.d.ts +55 -4
  65. package/core/dist/principle-tree-ledger.d.ts.map +1 -1
  66. package/core/dist/principle-tree-ledger.js +472 -13
  67. package/core/dist/principle-tree-ledger.js.map +1 -1
  68. package/core/dist/prompt-builder/__tests__/prompt-builder-core.test.js +58 -0
  69. package/core/dist/prompt-builder/__tests__/prompt-builder-core.test.js.map +1 -1
  70. package/core/dist/prompt-builder/empathy-keyword-matching.d.ts.map +1 -1
  71. package/core/dist/prompt-builder/empathy-keyword-matching.js +9 -6
  72. package/core/dist/prompt-builder/empathy-keyword-matching.js.map +1 -1
  73. package/core/dist/prompt-builder/size-guard.d.ts +1 -0
  74. package/core/dist/prompt-builder/size-guard.d.ts.map +1 -1
  75. package/core/dist/prompt-builder/size-guard.js +21 -0
  76. package/core/dist/prompt-builder/size-guard.js.map +1 -1
  77. package/core/dist/prompt-builder/types.d.ts +2 -0
  78. package/core/dist/prompt-builder/types.d.ts.map +1 -1
  79. package/core/dist/runtime-v2/__tests__/architecture-regression.test.js +143 -65
  80. package/core/dist/runtime-v2/__tests__/architecture-regression.test.js.map +1 -1
  81. package/core/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.js +85 -7
  82. package/core/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.js.map +1 -1
  83. package/core/dist/runtime-v2/__tests__/evidence-chain-intent-tension.test.d.ts +2 -0
  84. package/core/dist/runtime-v2/__tests__/evidence-chain-intent-tension.test.d.ts.map +1 -0
  85. package/core/dist/runtime-v2/__tests__/evidence-chain-intent-tension.test.js +284 -0
  86. package/core/dist/runtime-v2/__tests__/evidence-chain-intent-tension.test.js.map +1 -0
  87. package/core/dist/runtime-v2/__tests__/golden-trace-replay-validator.test.js +70 -0
  88. package/core/dist/runtime-v2/__tests__/golden-trace-replay-validator.test.js.map +1 -1
  89. package/core/dist/runtime-v2/__tests__/golden-trace.test.js +136 -1
  90. package/core/dist/runtime-v2/__tests__/golden-trace.test.js.map +1 -1
  91. package/core/dist/runtime-v2/__tests__/pain-signal-bridge-result-shaping.test.js +105 -0
  92. package/core/dist/runtime-v2/__tests__/pain-signal-bridge-result-shaping.test.js.map +1 -1
  93. package/core/dist/runtime-v2/__tests__/pain-signal-observability.test.js +7 -5
  94. package/core/dist/runtime-v2/__tests__/pain-signal-observability.test.js.map +1 -1
  95. package/core/dist/runtime-v2/__tests__/pi-artifact-store.test.js +11 -0
  96. package/core/dist/runtime-v2/__tests__/pi-artifact-store.test.js.map +1 -1
  97. package/core/dist/runtime-v2/__tests__/proven-channel-baseline.test.js +15 -2
  98. package/core/dist/runtime-v2/__tests__/proven-channel-baseline.test.js.map +1 -1
  99. package/core/dist/runtime-v2/__tests__/schema-float-precision.test.d.ts +2 -0
  100. package/core/dist/runtime-v2/__tests__/schema-float-precision.test.d.ts.map +1 -0
  101. package/core/dist/runtime-v2/__tests__/schema-float-precision.test.js +290 -0
  102. package/core/dist/runtime-v2/__tests__/schema-float-precision.test.js.map +1 -0
  103. package/core/dist/runtime-v2/__tests__/schema-orphan-detection.test.d.ts +2 -0
  104. package/core/dist/runtime-v2/__tests__/schema-orphan-detection.test.d.ts.map +1 -0
  105. package/core/dist/runtime-v2/__tests__/schema-orphan-detection.test.js +158 -0
  106. package/core/dist/runtime-v2/__tests__/schema-orphan-detection.test.js.map +1 -0
  107. package/core/dist/runtime-v2/__tests__/v2-adversarial-cases.test.d.ts +2 -0
  108. package/core/dist/runtime-v2/__tests__/v2-adversarial-cases.test.d.ts.map +1 -0
  109. package/core/dist/runtime-v2/__tests__/v2-adversarial-cases.test.js +211 -0
  110. package/core/dist/runtime-v2/__tests__/v2-adversarial-cases.test.js.map +1 -0
  111. package/core/dist/runtime-v2/activation/__tests__/approval-store-extended.test.js +15 -1
  112. package/core/dist/runtime-v2/activation/__tests__/approval-store-extended.test.js.map +1 -1
  113. package/core/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store-fk.test.d.ts +2 -0
  114. package/core/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store-fk.test.d.ts.map +1 -0
  115. package/core/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store-fk.test.js +62 -0
  116. package/core/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store-fk.test.js.map +1 -0
  117. package/core/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.js +12 -2
  118. package/core/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.js.map +1 -1
  119. package/core/dist/runtime-v2/activation/__tests__/sqlite-approval-store-fk.test.d.ts +2 -0
  120. package/core/dist/runtime-v2/activation/__tests__/sqlite-approval-store-fk.test.d.ts.map +1 -0
  121. package/core/dist/runtime-v2/activation/__tests__/sqlite-approval-store-fk.test.js +56 -0
  122. package/core/dist/runtime-v2/activation/__tests__/sqlite-approval-store-fk.test.js.map +1 -0
  123. package/core/dist/runtime-v2/activation/__tests__/sqlite-approval-store.test.js +8 -0
  124. package/core/dist/runtime-v2/activation/__tests__/sqlite-approval-store.test.js.map +1 -1
  125. package/core/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.js +20 -0
  126. package/core/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.js.map +1 -1
  127. package/core/dist/runtime-v2/activation/sqlite-activation-state-store.d.ts.map +1 -1
  128. package/core/dist/runtime-v2/activation/sqlite-activation-state-store.js +6 -0
  129. package/core/dist/runtime-v2/activation/sqlite-activation-state-store.js.map +1 -1
  130. package/core/dist/runtime-v2/activation/sqlite-approval-store.d.ts.map +1 -1
  131. package/core/dist/runtime-v2/activation/sqlite-approval-store.js +86 -32
  132. package/core/dist/runtime-v2/activation/sqlite-approval-store.js.map +1 -1
  133. package/core/dist/runtime-v2/activation/writers/__tests__/rule-host-writer.test.js +158 -1
  134. package/core/dist/runtime-v2/activation/writers/__tests__/rule-host-writer.test.js.map +1 -1
  135. package/core/dist/runtime-v2/activation/writers/rule-host-writer.d.ts +11 -0
  136. package/core/dist/runtime-v2/activation/writers/rule-host-writer.d.ts.map +1 -1
  137. package/core/dist/runtime-v2/activation/writers/rule-host-writer.js +55 -11
  138. package/core/dist/runtime-v2/activation/writers/rule-host-writer.js.map +1 -1
  139. package/core/dist/runtime-v2/diagnostician/__tests__/diag-rootcause-output.test.js +134 -15
  140. package/core/dist/runtime-v2/diagnostician/__tests__/diag-rootcause-output.test.js.map +1 -1
  141. package/core/dist/runtime-v2/diagnostician/__tests__/intent-tension-schema.test.d.ts +18 -0
  142. package/core/dist/runtime-v2/diagnostician/__tests__/intent-tension-schema.test.d.ts.map +1 -0
  143. package/core/dist/runtime-v2/diagnostician/__tests__/intent-tension-schema.test.js +251 -0
  144. package/core/dist/runtime-v2/diagnostician/__tests__/intent-tension-schema.test.js.map +1 -0
  145. package/core/dist/runtime-v2/diagnostician/__tests__/rootcause-prompt-builder.test.js +73 -0
  146. package/core/dist/runtime-v2/diagnostician/__tests__/rootcause-prompt-builder.test.js.map +1 -1
  147. package/core/dist/runtime-v2/diagnostician/diag-rootcause-output.d.ts +98 -0
  148. package/core/dist/runtime-v2/diagnostician/diag-rootcause-output.d.ts.map +1 -1
  149. package/core/dist/runtime-v2/diagnostician/diag-rootcause-output.js +131 -0
  150. package/core/dist/runtime-v2/diagnostician/diag-rootcause-output.js.map +1 -1
  151. package/core/dist/runtime-v2/diagnostician/rootcause-prompt-builder.d.ts +8 -0
  152. package/core/dist/runtime-v2/diagnostician/rootcause-prompt-builder.d.ts.map +1 -1
  153. package/core/dist/runtime-v2/diagnostician/rootcause-prompt-builder.js +66 -3
  154. package/core/dist/runtime-v2/diagnostician/rootcause-prompt-builder.js.map +1 -1
  155. package/core/dist/runtime-v2/diagnostician-output.d.ts +23 -0
  156. package/core/dist/runtime-v2/diagnostician-output.d.ts.map +1 -1
  157. package/core/dist/runtime-v2/diagnostician-output.js +16 -0
  158. package/core/dist/runtime-v2/diagnostician-output.js.map +1 -1
  159. package/core/dist/runtime-v2/diagnostician-prompt-builder.d.ts +32 -0
  160. package/core/dist/runtime-v2/diagnostician-prompt-builder.d.ts.map +1 -1
  161. package/core/dist/runtime-v2/diagnostician-prompt-builder.js.map +1 -1
  162. package/core/dist/runtime-v2/evidence-triage/source-descriptors.d.ts +1 -1
  163. package/core/dist/runtime-v2/evidence-triage/source-descriptors.js +1 -1
  164. package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js +23 -0
  165. package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js.map +1 -1
  166. package/core/dist/runtime-v2/feature-flags/__tests__/intent-engineering-flag.test.d.ts +2 -0
  167. package/core/dist/runtime-v2/feature-flags/__tests__/intent-engineering-flag.test.d.ts.map +1 -0
  168. package/core/dist/runtime-v2/feature-flags/__tests__/intent-engineering-flag.test.js +30 -0
  169. package/core/dist/runtime-v2/feature-flags/__tests__/intent-engineering-flag.test.js.map +1 -0
  170. package/core/dist/runtime-v2/feature-flags/__tests__/rulecode-context-v2-flag.test.d.ts +2 -0
  171. package/core/dist/runtime-v2/feature-flags/__tests__/rulecode-context-v2-flag.test.d.ts.map +1 -0
  172. package/core/dist/runtime-v2/feature-flags/__tests__/rulecode-context-v2-flag.test.js +74 -0
  173. package/core/dist/runtime-v2/feature-flags/__tests__/rulecode-context-v2-flag.test.js.map +1 -0
  174. package/core/dist/runtime-v2/feature-flags/__tests__/surface-guard-policy.test.d.ts +2 -0
  175. package/core/dist/runtime-v2/feature-flags/__tests__/surface-guard-policy.test.d.ts.map +1 -0
  176. package/core/dist/runtime-v2/feature-flags/__tests__/surface-guard-policy.test.js +246 -0
  177. package/core/dist/runtime-v2/feature-flags/__tests__/surface-guard-policy.test.js.map +1 -0
  178. package/core/dist/runtime-v2/feature-flags/feature-flag-contract.d.ts.map +1 -1
  179. package/core/dist/runtime-v2/feature-flags/feature-flag-contract.js +9 -0
  180. package/core/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
  181. package/core/dist/runtime-v2/feature-flags/index.d.ts +2 -0
  182. package/core/dist/runtime-v2/feature-flags/index.d.ts.map +1 -1
  183. package/core/dist/runtime-v2/feature-flags/index.js +2 -0
  184. package/core/dist/runtime-v2/feature-flags/index.js.map +1 -1
  185. package/core/dist/runtime-v2/feature-flags/plugin-surface-registry.d.ts.map +1 -1
  186. package/core/dist/runtime-v2/feature-flags/plugin-surface-registry.js +0 -9
  187. package/core/dist/runtime-v2/feature-flags/plugin-surface-registry.js.map +1 -1
  188. package/{plugin/dist/core/surface-guard.d.ts → core/dist/runtime-v2/feature-flags/surface-guard-policy.d.ts} +15 -5
  189. package/core/dist/runtime-v2/feature-flags/surface-guard-policy.d.ts.map +1 -0
  190. package/{plugin/dist/core/surface-guard.js → core/dist/runtime-v2/feature-flags/surface-guard-policy.js} +14 -2
  191. package/core/dist/runtime-v2/feature-flags/surface-guard-policy.js.map +1 -0
  192. package/core/dist/runtime-v2/golden-trace-replay-validator.js +1 -1
  193. package/core/dist/runtime-v2/golden-trace-replay-validator.js.map +1 -1
  194. package/core/dist/runtime-v2/golden-trace.d.ts +19 -3
  195. package/core/dist/runtime-v2/golden-trace.d.ts.map +1 -1
  196. package/core/dist/runtime-v2/golden-trace.js +2 -0
  197. package/core/dist/runtime-v2/golden-trace.js.map +1 -1
  198. package/core/dist/runtime-v2/index.d.ts +21 -4
  199. package/core/dist/runtime-v2/index.d.ts.map +1 -1
  200. package/core/dist/runtime-v2/index.js +21 -3
  201. package/core/dist/runtime-v2/index.js.map +1 -1
  202. package/core/dist/runtime-v2/intent/__tests__/intent-decision-record.test.d.ts +2 -0
  203. package/core/dist/runtime-v2/intent/__tests__/intent-decision-record.test.d.ts.map +1 -0
  204. package/core/dist/runtime-v2/intent/__tests__/intent-decision-record.test.js +185 -0
  205. package/core/dist/runtime-v2/intent/__tests__/intent-decision-record.test.js.map +1 -0
  206. package/core/dist/runtime-v2/intent/__tests__/intent-doc-version.test.d.ts +2 -0
  207. package/core/dist/runtime-v2/intent/__tests__/intent-doc-version.test.d.ts.map +1 -0
  208. package/core/dist/runtime-v2/intent/__tests__/intent-doc-version.test.js +88 -0
  209. package/core/dist/runtime-v2/intent/__tests__/intent-doc-version.test.js.map +1 -0
  210. package/core/dist/runtime-v2/intent/__tests__/intent-doc.test.d.ts +2 -0
  211. package/core/dist/runtime-v2/intent/__tests__/intent-doc.test.d.ts.map +1 -0
  212. package/core/dist/runtime-v2/intent/__tests__/intent-doc.test.js +181 -0
  213. package/core/dist/runtime-v2/intent/__tests__/intent-doc.test.js.map +1 -0
  214. package/core/dist/runtime-v2/intent/__tests__/intent-friction-block.test.d.ts +2 -0
  215. package/core/dist/runtime-v2/intent/__tests__/intent-friction-block.test.d.ts.map +1 -0
  216. package/core/dist/runtime-v2/intent/__tests__/intent-friction-block.test.js +168 -0
  217. package/core/dist/runtime-v2/intent/__tests__/intent-friction-block.test.js.map +1 -0
  218. package/core/dist/runtime-v2/intent/__tests__/intent-patch-proposal.test.d.ts +2 -0
  219. package/core/dist/runtime-v2/intent/__tests__/intent-patch-proposal.test.d.ts.map +1 -0
  220. package/core/dist/runtime-v2/intent/__tests__/intent-patch-proposal.test.js +121 -0
  221. package/core/dist/runtime-v2/intent/__tests__/intent-patch-proposal.test.js.map +1 -0
  222. package/core/dist/runtime-v2/intent/index.d.ts +8 -0
  223. package/core/dist/runtime-v2/intent/index.d.ts.map +1 -0
  224. package/core/dist/runtime-v2/intent/index.js +8 -0
  225. package/core/dist/runtime-v2/intent/index.js.map +1 -0
  226. package/core/dist/runtime-v2/intent/intent-browser.d.ts +23 -0
  227. package/core/dist/runtime-v2/intent/intent-browser.d.ts.map +1 -0
  228. package/core/dist/runtime-v2/intent/intent-browser.js +21 -0
  229. package/core/dist/runtime-v2/intent/intent-browser.js.map +1 -0
  230. package/core/dist/runtime-v2/intent/intent-decision-record.d.ts +125 -0
  231. package/core/dist/runtime-v2/intent/intent-decision-record.d.ts.map +1 -0
  232. package/core/dist/runtime-v2/intent/intent-decision-record.js +21 -0
  233. package/core/dist/runtime-v2/intent/intent-decision-record.js.map +1 -0
  234. package/core/dist/runtime-v2/intent/intent-doc-reader-port.d.ts +95 -0
  235. package/core/dist/runtime-v2/intent/intent-doc-reader-port.d.ts.map +1 -0
  236. package/core/dist/runtime-v2/intent/intent-doc-reader-port.js +43 -0
  237. package/core/dist/runtime-v2/intent/intent-doc-reader-port.js.map +1 -0
  238. package/core/dist/runtime-v2/intent/intent-doc-version.d.ts +28 -0
  239. package/core/dist/runtime-v2/intent/intent-doc-version.d.ts.map +1 -0
  240. package/core/dist/runtime-v2/intent/intent-doc-version.js +21 -0
  241. package/core/dist/runtime-v2/intent/intent-doc-version.js.map +1 -0
  242. package/core/dist/runtime-v2/intent/intent-doc.d.ts +35 -0
  243. package/core/dist/runtime-v2/intent/intent-doc.d.ts.map +1 -0
  244. package/core/dist/runtime-v2/intent/intent-doc.js +158 -0
  245. package/core/dist/runtime-v2/intent/intent-doc.js.map +1 -0
  246. package/core/dist/runtime-v2/intent/intent-friction-block.d.ts +63 -0
  247. package/core/dist/runtime-v2/intent/intent-friction-block.d.ts.map +1 -0
  248. package/core/dist/runtime-v2/intent/intent-friction-block.js +129 -0
  249. package/core/dist/runtime-v2/intent/intent-friction-block.js.map +1 -0
  250. package/core/dist/runtime-v2/intent/intent-hash.d.ts +2 -0
  251. package/core/dist/runtime-v2/intent/intent-hash.d.ts.map +1 -0
  252. package/core/dist/runtime-v2/intent/intent-hash.js +10 -0
  253. package/core/dist/runtime-v2/intent/intent-hash.js.map +1 -0
  254. package/core/dist/runtime-v2/intent/intent-patch-proposal.d.ts +42 -0
  255. package/core/dist/runtime-v2/intent/intent-patch-proposal.d.ts.map +1 -0
  256. package/core/dist/runtime-v2/intent/intent-patch-proposal.js +81 -0
  257. package/core/dist/runtime-v2/intent/intent-patch-proposal.js.map +1 -0
  258. package/core/dist/runtime-v2/internalization/__tests__/__fixtures__/intent-tension-cases.d.ts +54 -0
  259. package/core/dist/runtime-v2/internalization/__tests__/__fixtures__/intent-tension-cases.d.ts.map +1 -0
  260. package/core/dist/runtime-v2/internalization/__tests__/__fixtures__/intent-tension-cases.js +219 -0
  261. package/core/dist/runtime-v2/internalization/__tests__/__fixtures__/intent-tension-cases.js.map +1 -0
  262. package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js +41 -1
  263. package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js.map +1 -1
  264. package/core/dist/runtime-v2/internalization/__tests__/artificer-rule-output.test.js +130 -2
  265. package/core/dist/runtime-v2/internalization/__tests__/artificer-rule-output.test.js.map +1 -1
  266. package/core/dist/runtime-v2/internalization/__tests__/behavior-example-pack.test.d.ts +2 -0
  267. package/core/dist/runtime-v2/internalization/__tests__/behavior-example-pack.test.d.ts.map +1 -0
  268. package/core/dist/runtime-v2/internalization/__tests__/behavior-example-pack.test.js +228 -0
  269. package/core/dist/runtime-v2/internalization/__tests__/behavior-example-pack.test.js.map +1 -0
  270. package/core/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js +41 -11
  271. package/core/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js.map +1 -1
  272. package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.d.ts +2 -0
  273. package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.d.ts.map +1 -0
  274. package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.js +360 -0
  275. package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.js.map +1 -0
  276. package/core/dist/runtime-v2/internalization/__tests__/diag-router-intent-tension.test.d.ts +2 -0
  277. package/core/dist/runtime-v2/internalization/__tests__/diag-router-intent-tension.test.d.ts.map +1 -0
  278. package/core/dist/runtime-v2/internalization/__tests__/diag-router-intent-tension.test.js +333 -0
  279. package/core/dist/runtime-v2/internalization/__tests__/diag-router-intent-tension.test.js.map +1 -0
  280. package/core/dist/runtime-v2/internalization/__tests__/intent-tension-cases.test.d.ts +2 -0
  281. package/core/dist/runtime-v2/internalization/__tests__/intent-tension-cases.test.d.ts.map +1 -0
  282. package/core/dist/runtime-v2/internalization/__tests__/intent-tension-cases.test.js +113 -0
  283. package/core/dist/runtime-v2/internalization/__tests__/intent-tension-cases.test.js.map +1 -0
  284. package/core/dist/runtime-v2/internalization/__tests__/refiner-sandbox-wrapper.test.js +135 -0
  285. package/core/dist/runtime-v2/internalization/__tests__/refiner-sandbox-wrapper.test.js.map +1 -1
  286. package/core/dist/runtime-v2/internalization/__tests__/rule-context-v2.test.d.ts +2 -0
  287. package/core/dist/runtime-v2/internalization/__tests__/rule-context-v2.test.d.ts.map +1 -0
  288. package/core/dist/runtime-v2/internalization/__tests__/rule-context-v2.test.js +449 -0
  289. package/core/dist/runtime-v2/internalization/__tests__/rule-context-v2.test.js.map +1 -0
  290. package/core/dist/runtime-v2/internalization/adversarial-case.d.ts.map +1 -1
  291. package/core/dist/runtime-v2/internalization/adversarial-case.js +24 -0
  292. package/core/dist/runtime-v2/internalization/adversarial-case.js.map +1 -1
  293. package/core/dist/runtime-v2/internalization/artificer-output.d.ts +10 -0
  294. package/core/dist/runtime-v2/internalization/artificer-output.d.ts.map +1 -1
  295. package/core/dist/runtime-v2/internalization/artificer-output.js +45 -0
  296. package/core/dist/runtime-v2/internalization/artificer-output.js.map +1 -1
  297. package/core/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts +2 -2
  298. package/core/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts.map +1 -1
  299. package/core/dist/runtime-v2/internalization/artificer-prompt-builder.js +7 -2
  300. package/core/dist/runtime-v2/internalization/artificer-prompt-builder.js.map +1 -1
  301. package/core/dist/runtime-v2/internalization/behavior-example-pack.d.ts +66 -0
  302. package/core/dist/runtime-v2/internalization/behavior-example-pack.d.ts.map +1 -0
  303. package/core/dist/runtime-v2/internalization/behavior-example-pack.js +183 -0
  304. package/core/dist/runtime-v2/internalization/behavior-example-pack.js.map +1 -0
  305. package/core/dist/runtime-v2/internalization/diag-rootcause-runner.d.ts +13 -0
  306. package/core/dist/runtime-v2/internalization/diag-rootcause-runner.d.ts.map +1 -1
  307. package/core/dist/runtime-v2/internalization/diag-rootcause-runner.js +42 -0
  308. package/core/dist/runtime-v2/internalization/diag-rootcause-runner.js.map +1 -1
  309. package/core/dist/runtime-v2/internalization/diag-router-runner.d.ts.map +1 -1
  310. package/core/dist/runtime-v2/internalization/diag-router-runner.js +27 -0
  311. package/core/dist/runtime-v2/internalization/diag-router-runner.js.map +1 -1
  312. package/core/dist/runtime-v2/internalization/evaluator-output.d.ts +8 -0
  313. package/core/dist/runtime-v2/internalization/evaluator-output.d.ts.map +1 -1
  314. package/core/dist/runtime-v2/internalization/evaluator-output.js +10 -0
  315. package/core/dist/runtime-v2/internalization/evaluator-output.js.map +1 -1
  316. package/core/dist/runtime-v2/internalization/evaluator-runner.d.ts +17 -0
  317. package/core/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
  318. package/core/dist/runtime-v2/internalization/evaluator-runner.js +118 -24
  319. package/core/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
  320. package/core/dist/runtime-v2/internalization/refiner-sandbox-wrapper.d.ts.map +1 -1
  321. package/core/dist/runtime-v2/internalization/refiner-sandbox-wrapper.js +1 -1
  322. package/core/dist/runtime-v2/internalization/refiner-sandbox-wrapper.js.map +1 -1
  323. package/core/dist/runtime-v2/internalization/rule-context-v2.d.ts +61 -0
  324. package/core/dist/runtime-v2/internalization/rule-context-v2.d.ts.map +1 -0
  325. package/core/dist/runtime-v2/internalization/rule-context-v2.js +301 -0
  326. package/core/dist/runtime-v2/internalization/rule-context-v2.js.map +1 -0
  327. package/core/dist/runtime-v2/internalization/rule-host-contracts.d.ts +9 -0
  328. package/core/dist/runtime-v2/internalization/rule-host-contracts.d.ts.map +1 -1
  329. package/core/dist/runtime-v2/internalization/v2-adversarial-cases.d.ts +55 -0
  330. package/core/dist/runtime-v2/internalization/v2-adversarial-cases.d.ts.map +1 -0
  331. package/core/dist/runtime-v2/internalization/v2-adversarial-cases.js +131 -0
  332. package/core/dist/runtime-v2/internalization/v2-adversarial-cases.js.map +1 -0
  333. package/core/dist/runtime-v2/pain-signal-observability.d.ts.map +1 -1
  334. package/core/dist/runtime-v2/pain-signal-observability.js +280 -56
  335. package/core/dist/runtime-v2/pain-signal-observability.js.map +1 -1
  336. package/core/dist/runtime-v2/pain-signal-runtime-factory.d.ts +12 -0
  337. package/core/dist/runtime-v2/pain-signal-runtime-factory.d.ts.map +1 -1
  338. package/core/dist/runtime-v2/pain-signal-runtime-factory.js +1 -1
  339. package/core/dist/runtime-v2/pain-signal-runtime-factory.js.map +1 -1
  340. package/core/dist/runtime-v2/pain-to-principle-service.d.ts +6 -0
  341. package/core/dist/runtime-v2/pain-to-principle-service.d.ts.map +1 -1
  342. package/core/dist/runtime-v2/pain-to-principle-service.js +2 -0
  343. package/core/dist/runtime-v2/pain-to-principle-service.js.map +1 -1
  344. package/core/dist/runtime-v2/principle-tree/ledger-codec.js.map +1 -1
  345. package/core/dist/runtime-v2/proven-channel-baseline.js +1 -1
  346. package/core/dist/runtime-v2/proven-channel-baseline.js.map +1 -1
  347. package/core/dist/runtime-v2/risk/__tests__/risk-calculator-policy.test.d.ts +2 -0
  348. package/core/dist/runtime-v2/risk/__tests__/risk-calculator-policy.test.d.ts.map +1 -0
  349. package/core/dist/runtime-v2/risk/__tests__/risk-calculator-policy.test.js +95 -0
  350. package/core/dist/runtime-v2/risk/__tests__/risk-calculator-policy.test.js.map +1 -0
  351. package/core/dist/runtime-v2/risk/index.d.ts +7 -0
  352. package/core/dist/runtime-v2/risk/index.d.ts.map +1 -0
  353. package/core/dist/runtime-v2/risk/index.js +6 -0
  354. package/core/dist/runtime-v2/risk/index.js.map +1 -0
  355. package/core/dist/runtime-v2/risk/risk-calculator-policy.d.ts +18 -0
  356. package/core/dist/runtime-v2/risk/risk-calculator-policy.d.ts.map +1 -0
  357. package/core/dist/runtime-v2/risk/risk-calculator-policy.js +47 -0
  358. package/core/dist/runtime-v2/risk/risk-calculator-policy.js.map +1 -0
  359. package/core/dist/runtime-v2/store/artifact/__tests__/sqlite-pi-artifact-store-fk.test.d.ts +2 -0
  360. package/core/dist/runtime-v2/store/artifact/__tests__/sqlite-pi-artifact-store-fk.test.d.ts.map +1 -0
  361. package/core/dist/runtime-v2/store/artifact/__tests__/sqlite-pi-artifact-store-fk.test.js +55 -0
  362. package/core/dist/runtime-v2/store/artifact/__tests__/sqlite-pi-artifact-store-fk.test.js.map +1 -0
  363. package/core/dist/runtime-v2/store/artifact/sqlite-pi-artifact-store.d.ts.map +1 -1
  364. package/core/dist/runtime-v2/store/artifact/sqlite-pi-artifact-store.js +6 -0
  365. package/core/dist/runtime-v2/store/artifact/sqlite-pi-artifact-store.js.map +1 -1
  366. package/core/dist/runtime-v2/store/intent/__tests__/sqlite-intent-decision-store.test.d.ts +2 -0
  367. package/core/dist/runtime-v2/store/intent/__tests__/sqlite-intent-decision-store.test.d.ts.map +1 -0
  368. package/core/dist/runtime-v2/store/intent/__tests__/sqlite-intent-decision-store.test.js +272 -0
  369. package/core/dist/runtime-v2/store/intent/__tests__/sqlite-intent-decision-store.test.js.map +1 -0
  370. package/core/dist/runtime-v2/store/intent/__tests__/sqlite-intent-doc-version-store.test.d.ts +2 -0
  371. package/core/dist/runtime-v2/store/intent/__tests__/sqlite-intent-doc-version-store.test.d.ts.map +1 -0
  372. package/core/dist/runtime-v2/store/intent/__tests__/sqlite-intent-doc-version-store.test.js +83 -0
  373. package/core/dist/runtime-v2/store/intent/__tests__/sqlite-intent-doc-version-store.test.js.map +1 -0
  374. package/core/dist/runtime-v2/store/intent/index.d.ts +7 -0
  375. package/core/dist/runtime-v2/store/intent/index.d.ts.map +1 -0
  376. package/core/dist/runtime-v2/store/intent/index.js +6 -0
  377. package/core/dist/runtime-v2/store/intent/index.js.map +1 -0
  378. package/core/dist/runtime-v2/store/intent/sqlite-intent-decision-store.d.ts +51 -0
  379. package/core/dist/runtime-v2/store/intent/sqlite-intent-decision-store.d.ts.map +1 -0
  380. package/core/dist/runtime-v2/store/intent/sqlite-intent-decision-store.js +306 -0
  381. package/core/dist/runtime-v2/store/intent/sqlite-intent-decision-store.js.map +1 -0
  382. package/core/dist/runtime-v2/store/intent/sqlite-intent-doc-version-store.d.ts +28 -0
  383. package/core/dist/runtime-v2/store/intent/sqlite-intent-doc-version-store.d.ts.map +1 -0
  384. package/core/dist/runtime-v2/store/intent/sqlite-intent-doc-version-store.js +88 -0
  385. package/core/dist/runtime-v2/store/intent/sqlite-intent-doc-version-store.js.map +1 -0
  386. package/core/dist/runtime-v2/store/sqlite-connection-pragma.test.js +14 -3
  387. package/core/dist/runtime-v2/store/sqlite-connection-pragma.test.js.map +1 -1
  388. package/core/dist/runtime-v2/store/sqlite-connection-schema-version.test.d.ts +2 -0
  389. package/core/dist/runtime-v2/store/sqlite-connection-schema-version.test.d.ts.map +1 -0
  390. package/core/dist/runtime-v2/store/sqlite-connection-schema-version.test.js +72 -0
  391. package/core/dist/runtime-v2/store/sqlite-connection-schema-version.test.js.map +1 -0
  392. package/core/dist/runtime-v2/store/sqlite-connection.d.ts +27 -0
  393. package/core/dist/runtime-v2/store/sqlite-connection.d.ts.map +1 -1
  394. package/core/dist/runtime-v2/store/sqlite-connection.js +138 -12
  395. package/core/dist/runtime-v2/store/sqlite-connection.js.map +1 -1
  396. package/core/dist/runtime-v2/thinking-models/__tests__/thinking-models-policy.test.d.ts +2 -0
  397. package/core/dist/runtime-v2/thinking-models/__tests__/thinking-models-policy.test.d.ts.map +1 -0
  398. package/core/dist/runtime-v2/thinking-models/__tests__/thinking-models-policy.test.js +149 -0
  399. package/core/dist/runtime-v2/thinking-models/__tests__/thinking-models-policy.test.js.map +1 -0
  400. package/core/dist/runtime-v2/thinking-models/index.d.ts +3 -0
  401. package/core/dist/runtime-v2/thinking-models/index.d.ts.map +1 -0
  402. package/core/dist/runtime-v2/thinking-models/index.js +3 -0
  403. package/core/dist/runtime-v2/thinking-models/index.js.map +1 -0
  404. package/core/dist/runtime-v2/thinking-models/thinking-models-policy.d.ts +73 -0
  405. package/core/dist/runtime-v2/thinking-models/thinking-models-policy.d.ts.map +1 -0
  406. package/core/dist/runtime-v2/thinking-models/thinking-models-policy.js +227 -0
  407. package/core/dist/runtime-v2/thinking-models/thinking-models-policy.js.map +1 -0
  408. package/core/dist/runtime-v2/tools/__tests__/artificer-l2-tool-contract.test.js +40 -1
  409. package/core/dist/runtime-v2/tools/__tests__/artificer-l2-tool-contract.test.js.map +1 -1
  410. package/core/dist/runtime-v2/tools/artificer-l2-tool-contract.d.ts.map +1 -1
  411. package/core/dist/runtime-v2/tools/artificer-l2-tool-contract.js +28 -1
  412. package/core/dist/runtime-v2/tools/artificer-l2-tool-contract.js.map +1 -1
  413. package/core/dist/runtime-v2/tools/artificer-output-typebox.d.ts +3 -0
  414. package/core/dist/runtime-v2/tools/artificer-output-typebox.d.ts.map +1 -1
  415. package/core/dist/runtime-v2/tools/artificer-output-typebox.js +3 -0
  416. package/core/dist/runtime-v2/tools/artificer-output-typebox.js.map +1 -1
  417. package/core/dist/runtime-v2/types/event-payload.d.ts +1 -20
  418. package/core/dist/runtime-v2/types/event-payload.d.ts.map +1 -1
  419. package/core/dist/runtime-v2/types/event-payload.js +0 -12
  420. package/core/dist/runtime-v2/types/event-payload.js.map +1 -1
  421. package/core/dist/runtime-v2/types/event-types.d.ts +5 -34
  422. package/core/dist/runtime-v2/types/event-types.d.ts.map +1 -1
  423. package/core/dist/runtime-v2/types/event-types.js +0 -19
  424. package/core/dist/runtime-v2/types/event-types.js.map +1 -1
  425. package/core/dist/runtime-v2/types/evidence-chain-contract.d.ts +63 -0
  426. package/core/dist/runtime-v2/types/evidence-chain-contract.d.ts.map +1 -1
  427. package/core/dist/runtime-v2/types/evidence-chain-contract.js +234 -9
  428. package/core/dist/runtime-v2/types/evidence-chain-contract.js.map +1 -1
  429. package/core/dist/runtime-v2/types/index.d.ts +5 -5
  430. package/core/dist/runtime-v2/types/index.d.ts.map +1 -1
  431. package/core/dist/runtime-v2/types/index.js +5 -3
  432. package/core/dist/runtime-v2/types/index.js.map +1 -1
  433. package/core/dist/runtime-v2/types/ledger-store.d.ts +30 -30
  434. package/core/dist/runtime-v2/types/ledger-store.d.ts.map +1 -1
  435. package/core/dist/runtime-v2/types/ledger-store.js +10 -5
  436. package/core/dist/runtime-v2/types/ledger-store.js.map +1 -1
  437. package/core/dist/workflow-funnel-loader.d.ts +2 -2
  438. package/core/dist/workflow-funnel-loader.d.ts.map +1 -1
  439. package/core/package.json +4 -0
  440. package/dist/installer.d.ts.map +1 -1
  441. package/dist/installer.js +16 -0
  442. package/dist/installer.js.map +1 -1
  443. package/package.json +1 -1
  444. package/pd-cli/dist/commands/__tests__/intent-flag-wiring.test.d.ts +9 -0
  445. package/pd-cli/dist/commands/__tests__/intent-flag-wiring.test.d.ts.map +1 -0
  446. package/pd-cli/dist/commands/__tests__/intent-flag-wiring.test.js +237 -0
  447. package/pd-cli/dist/commands/__tests__/intent-flag-wiring.test.js.map +1 -0
  448. package/pd-cli/dist/commands/intent.d.ts +76 -0
  449. package/pd-cli/dist/commands/intent.d.ts.map +1 -0
  450. package/pd-cli/dist/commands/intent.js +411 -0
  451. package/pd-cli/dist/commands/intent.js.map +1 -0
  452. package/pd-cli/dist/commands/runtime-init.d.ts +43 -0
  453. package/pd-cli/dist/commands/runtime-init.d.ts.map +1 -0
  454. package/pd-cli/dist/commands/runtime-init.js +264 -0
  455. package/pd-cli/dist/commands/runtime-init.js.map +1 -0
  456. package/pd-cli/dist/index.js +25 -0
  457. package/pd-cli/dist/index.js.map +1 -1
  458. package/pd-cli/dist/services/demo-story-a-runner.d.ts.map +1 -1
  459. package/pd-cli/dist/services/demo-story-a-runner.js +6 -0
  460. package/pd-cli/dist/services/demo-story-a-runner.js.map +1 -1
  461. package/pd-cli/package.json +1 -0
  462. package/plugin/dist/commands/pain.js +2 -0
  463. package/plugin/dist/core/behavior-example-pack-assembler.d.ts +43 -0
  464. package/plugin/dist/core/behavior-example-pack-assembler.js +247 -0
  465. package/plugin/dist/core/control-ui-db.d.ts +11 -0
  466. package/plugin/dist/core/control-ui-db.js +40 -16
  467. package/plugin/dist/core/event-log.js +0 -5
  468. package/plugin/dist/core/intent-doc-reader-adapter.d.ts +36 -0
  469. package/plugin/dist/core/intent-doc-reader-adapter.js +76 -0
  470. package/plugin/dist/core/intent-doc-reader.d.ts +89 -0
  471. package/plugin/dist/core/intent-doc-reader.js +210 -0
  472. package/plugin/dist/core/principle-tree-ledger.d.ts +27 -79
  473. package/plugin/dist/core/principle-tree-ledger.js +39 -524
  474. package/plugin/dist/core/reflection/reflection-context.d.ts +2 -2
  475. package/plugin/dist/core/rule-context-assembler.d.ts +45 -0
  476. package/plugin/dist/core/rule-context-assembler.js +148 -0
  477. package/plugin/dist/core/thinking-models.d.ts +12 -57
  478. package/plugin/dist/core/thinking-models.js +18 -224
  479. package/plugin/dist/core/trajectory-types.d.ts +18 -0
  480. package/plugin/dist/core/trajectory.d.ts +50 -2
  481. package/plugin/dist/core/trajectory.js +435 -254
  482. package/plugin/dist/core/workspace-context.d.ts +2 -3
  483. package/plugin/dist/hooks/gate.js +59 -2
  484. package/plugin/dist/hooks/pain.js +5 -0
  485. package/plugin/dist/hooks/prompt-helpers.d.ts +19 -1
  486. package/plugin/dist/hooks/prompt-helpers.js +39 -2
  487. package/plugin/dist/hooks/prompt-types.d.ts +8 -0
  488. package/plugin/dist/hooks/prompt.js +81 -21
  489. package/plugin/dist/index.d.ts +3 -1
  490. package/plugin/dist/index.js +10 -6
  491. package/plugin/dist/service/runtime-summary-service.js +1 -1
  492. package/plugin/dist/service/subagent-workflow/workflow-store.d.ts +14 -0
  493. package/plugin/dist/service/subagent-workflow/workflow-store.js +91 -2
  494. package/plugin/dist/types/event-types.d.ts +1 -1
  495. package/plugin/package.json +6 -3
  496. package/plugin/scripts/acceptance-test.mjs +3 -3
  497. package/plugin/dist/core/evolution-migration.d.ts +0 -5
  498. package/plugin/dist/core/evolution-migration.js +0 -65
  499. package/plugin/dist/core/principle-tree-ledger-adapter.d.ts +0 -32
  500. package/plugin/dist/core/principle-tree-ledger-adapter.js +0 -125
  501. package/plugin/dist/core/risk-calculator.d.ts +0 -22
  502. package/plugin/dist/core/risk-calculator.js +0 -88
  503. package/plugin/dist/core/rule-host-helpers.d.ts +0 -8
  504. package/plugin/dist/core/rule-host-helpers.js +0 -7
  505. package/plugin/dist/core/rule-host-types.d.ts +0 -7
  506. package/plugin/dist/core/rule-host-types.js +0 -7
  507. package/plugin/dist/core/schema/db-types.d.ts +0 -11
  508. package/plugin/dist/core/schema/db-types.js +0 -5
  509. package/plugin/dist/core/schema/index.d.ts +0 -17
  510. package/plugin/dist/core/schema/index.js +0 -15
  511. package/plugin/dist/core/schema/migration-runner.d.ts +0 -53
  512. package/plugin/dist/core/schema/migration-runner.js +0 -170
  513. package/plugin/dist/core/schema/migrations/001-init-trajectory.d.ts +0 -6
  514. package/plugin/dist/core/schema/migrations/001-init-trajectory.js +0 -190
  515. package/plugin/dist/core/schema/migrations/002-init-central.d.ts +0 -5
  516. package/plugin/dist/core/schema/migrations/002-init-central.js +0 -108
  517. package/plugin/dist/core/schema/migrations/003-init-workflow.d.ts +0 -5
  518. package/plugin/dist/core/schema/migrations/003-init-workflow.js +0 -50
  519. package/plugin/dist/core/schema/migrations/004-add-thinking-and-gfi.d.ts +0 -8
  520. package/plugin/dist/core/schema/migrations/004-add-thinking-and-gfi.js +0 -66
  521. package/plugin/dist/core/schema/migrations/index.d.ts +0 -16
  522. package/plugin/dist/core/schema/migrations/index.js +0 -27
  523. package/plugin/dist/core/schema/schema-definitions.d.ts +0 -46
  524. package/plugin/dist/core/schema/schema-definitions.js +0 -599
  525. package/plugin/dist/service/central-database.d.ts +0 -138
  526. package/plugin/dist/service/central-database.js +0 -731
  527. package/plugin/dist/service/central-sync-service.d.ts +0 -8
  528. package/plugin/dist/service/central-sync-service.js +0 -71
  529. package/plugin/scripts/db-migrate.mjs +0 -170
  530. package/plugin/scripts/validate-live-path.ts +0 -462
@@ -0,0 +1,148 @@
1
+ /**
2
+ * PRI-482 Phase 3 — Production RuleContext v2 assembler
3
+ *
4
+ * Converts raw TrajectoryDatabase rows into a validated RuleHistoryWindow,
5
+ * and provides buildProductionRuleContext for gate integration.
6
+ *
7
+ * ERR prevention:
8
+ * - ERR-001: every row field is validated as unknown. No `as` bypass on
9
+ * parsed params_json or outcome.
10
+ * - ERR-024: buildProductionRuleContext fail-soft — query failure returns
11
+ * unavailable, never throws.
12
+ * - ERR-025: callers use recordToolCall → getRuleHostContextRows → this
13
+ * assembler, covering the full production chain.
14
+ *
15
+ * Spec: docs/superpowers/specs/2026-06-27-rulecode-context-vision-design.md §5.
16
+ */
17
+ import { canonicalizeToolKind, computeBehaviorFacts, extractFilePathFromParams, normalizePathPure, UNAVAILABLE_RULE_CONTEXT, } from '@principles/core/runtime-v2';
18
+ // ── internal constants ─────────────────────────────────────────────────────
19
+ const VALID_OUTCOMES = new Set([
20
+ 'success',
21
+ 'failure',
22
+ 'blocked',
23
+ ]);
24
+ const DEFAULT_HISTORY_LIMIT = 20;
25
+ // ── type guards (rc-2: no `as` bypass) ─────────────────────────────────────
26
+ function isPlainObject(value) {
27
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
28
+ }
29
+ function isRuleToolOutcome(value) {
30
+ return typeof value === 'string' && VALID_OUTCOMES.has(value);
31
+ }
32
+ // ── assembleHistoryFromRows ────────────────────────────────────────────────
33
+ /**
34
+ * Convert raw DB rows into a validated RuleHistoryWindow.
35
+ *
36
+ * If ANY row is malformed (bad params_json, invalid outcome, empty tool_name),
37
+ * the entire window is marked unavailable (fail loud, spec §5.2).
38
+ *
39
+ * ERR-001: row fields are validated as unknown. params_json is JSON.parsed
40
+ * then structurally checked (must be a non-array object). No `as` bypass.
41
+ */
42
+ export function assembleHistoryFromRows(rows, truncated, projectDir) {
43
+ const records = [];
44
+ for (const row of rows) {
45
+ // ── validate tool_name (ERR-001: unknown) ──
46
+ const toolName = row.toolName;
47
+ if (typeof toolName !== 'string' || toolName.length === 0) {
48
+ return unavailable(`row id=${row.id}: tool_name must be a non-empty string`);
49
+ }
50
+ // ── validate outcome (ERR-001: unknown, enum check) ──
51
+ const outcome = row.outcome;
52
+ if (!isRuleToolOutcome(outcome)) {
53
+ return unavailable(`row id=${row.id}: outcome "${row.outcome}" is not a valid RuleToolOutcome`);
54
+ }
55
+ // ── validate & parse params_json (ERR-001: unknown) ──
56
+ const paramsJsonStr = row.paramsJson;
57
+ if (typeof paramsJsonStr !== 'string') {
58
+ return unavailable(`row id=${row.id}: params_json must be a string`);
59
+ }
60
+ let parsedParams;
61
+ try {
62
+ parsedParams = JSON.parse(paramsJsonStr);
63
+ }
64
+ catch {
65
+ return unavailable(`row id=${row.id}: params_json is not valid JSON`);
66
+ }
67
+ // Must be a non-array object (spec §5.2)
68
+ if (!isPlainObject(parsedParams)) {
69
+ return unavailable(`row id=${row.id}: params_json must parse to a non-array object`);
70
+ }
71
+ // ── build RuleToolCallRecord ──
72
+ const canonicalKind = canonicalizeToolKind(toolName);
73
+ // Extract normalized path using the same pure logic as buildRuleHostAction
74
+ // (avoids production/replay drift, spec §4.4)
75
+ const rawPath = extractFilePathFromParams(parsedParams, {
76
+ isBashTool: canonicalKind === 'execute',
77
+ isWriteTool: canonicalKind === 'write',
78
+ toolName,
79
+ });
80
+ const normalizedPath = normalizePathPure(rawPath, projectDir);
81
+ records.push({
82
+ sequenceId: row.id,
83
+ toolName,
84
+ canonicalKind,
85
+ normalizedPath: normalizedPath === '' ? null : normalizedPath,
86
+ paramsSummary: parsedParams,
87
+ outcome,
88
+ });
89
+ }
90
+ return {
91
+ status: 'available',
92
+ truncated,
93
+ calls: records,
94
+ };
95
+ }
96
+ // ── buildProductionRuleContext ─────────────────────────────────────────────
97
+ /**
98
+ * Build a RuleContextV2 from the production data source (TrajectoryDatabase).
99
+ *
100
+ * ERR-024: if the query or assembly fails, returns an unavailable context
101
+ * (fail-soft). Never throws.
102
+ *
103
+ * sameActionBlockCount is always null in this version (spec §5.4:
104
+ * session-tracker.blockedAttempts is a session total, not per-action).
105
+ */
106
+ export function buildProductionRuleContext(sessionId, targetPath, source, projectDir, limit = DEFAULT_HISTORY_LIMIT) {
107
+ // Guard: no session → no context
108
+ if (!sessionId || typeof sessionId !== 'string' || sessionId.length === 0) {
109
+ return UNAVAILABLE_RULE_CONTEXT;
110
+ }
111
+ try {
112
+ const result = source.getRuleHostContextRows(sessionId, limit);
113
+ const history = assembleHistoryFromRows(result.rows, result.truncated, projectDir);
114
+ // sameActionBlockCount = null (spec §5.4 — no reliable per-action source)
115
+ const facts = computeBehaviorFacts(history, targetPath, null);
116
+ return {
117
+ version: 2,
118
+ history,
119
+ facts,
120
+ };
121
+ }
122
+ catch {
123
+ // ERR-024: fail-soft — never let a DB error propagate to the rule host
124
+ return unavailableContext('query or assembly failed');
125
+ }
126
+ }
127
+ // ── internal helpers ───────────────────────────────────────────────────────
128
+ function unavailable(reason) {
129
+ return {
130
+ status: 'unavailable',
131
+ unavailableReason: reason,
132
+ truncated: false,
133
+ calls: [],
134
+ };
135
+ }
136
+ function unavailableContext(reason) {
137
+ return {
138
+ version: 2,
139
+ history: unavailable(reason),
140
+ facts: {
141
+ priorReadOfTarget: 'unknown',
142
+ readCount: null,
143
+ writeCount: null,
144
+ uniqueWritePathCount: null,
145
+ sameActionBlockCount: null,
146
+ },
147
+ };
148
+ }
@@ -1,49 +1,19 @@
1
1
  /**
2
- * Thinking Models — Detection Engine
2
+ * Thinking Models — Plugin I/O Adapter (Stage 3 slim)
3
3
  *
4
- * Core principle metadata (id, name, description) comes from the
5
- * Core Principle Registry in @principles/core/runtime-v2.
6
- * Detection patterns are carefully tuned regexes that match AI output text.
4
+ * Pure logic (BUILTIN_PATTERNS, BUILTIN_PATTERN_MAP, getFallbackName,
5
+ * getFallbackDescription, deriveThinkingScenarios, types) lives in
6
+ * @principles/core/runtime-v2/thinking-models.
7
7
  *
8
- * Flow:
9
- * Core Principle Registry (authority) → id, name, description
10
- * BUILTIN_PATTERNS (engine) → detection regexes per model id
11
- * THINKING_MODELS (merged) → full definitions with patterns
8
+ * This file owns only the I/O boundary: reading THINKING_OS.md from a
9
+ * workspace dir and merging it with the builtin patterns. It re-exports
10
+ * the pure functions and types so existing relative imports
11
+ * (../core/thinking-models.js) continue to resolve.
12
12
  */
13
- export interface ThinkingModelDefinition {
14
- id: string;
15
- name: string;
16
- description: string;
17
- antiPattern?: string;
18
- patterns: RegExp[];
19
- baselineScenarios: string[];
20
- }
21
- export interface ThinkingModelMatch {
22
- modelId: string;
23
- matchedPattern: string;
24
- }
25
- export interface ThinkingScenarioContext {
26
- recentToolCalls?: {
27
- toolName: string;
28
- outcome: 'success' | 'failure' | 'blocked';
29
- errorType?: string | null;
30
- }[];
31
- recentPainEvents?: {
32
- source: string;
33
- score: number;
34
- }[];
35
- recentGateBlocks?: {
36
- toolName: string;
37
- reason: string;
38
- }[];
39
- recentUserCorrections?: {
40
- correctionCue?: string | null;
41
- }[];
42
- recentPrincipleEvents?: {
43
- eventType: string;
44
- principleId?: string | null;
45
- }[];
46
- }
13
+ import { type ThinkingModelDefinition, type ThinkingModelMatch } from '@principles/core/runtime-v2';
14
+ export { BUILTIN_PATTERN_MAP, getFallbackName, getFallbackDescription, } from '@principles/core/runtime-v2';
15
+ export { deriveThinkingScenarios } from '@principles/core/runtime-v2';
16
+ export type { ThinkingModelDefinition, ThinkingModelMatch, ThinkingScenarioContext, } from '@principles/core/runtime-v2';
47
17
  /**
48
18
  * Load thinking model definitions dynamically from THINKING_OS.md.
49
19
  * Falls back to built-in definitions if parsing fails.
@@ -51,20 +21,5 @@ export interface ThinkingScenarioContext {
51
21
  * @param workspaceDir Optional. If provided, loads from that workspace's THINKING_OS.md.
52
22
  */
53
23
  export declare function listThinkingModels(workspaceDir?: string): ThinkingModelDefinition[];
54
- /**
55
- * Clear the cached model definitions.
56
- * Call this when THINKING_OS.md changes.
57
- */
58
- export declare function clearThinkingModelCache(): void;
59
24
  export declare function getThinkingModel(modelId: string, workspaceDir?: string): ThinkingModelDefinition | undefined;
60
25
  export declare function detectThinkingModelMatches(text: string, workspaceDir?: string): ThinkingModelMatch[];
61
- /**
62
- * Get all model definitions for display purposes (no patterns).
63
- */
64
- export declare function getThinkingModelDefinitions(workspaceDir?: string): {
65
- modelId: string;
66
- name: string;
67
- description: string;
68
- antiPattern?: string;
69
- }[];
70
- export declare function deriveThinkingScenarios(modelId: string, context: ThinkingScenarioContext): string[];
@@ -1,163 +1,20 @@
1
1
  /**
2
- * Thinking Models — Detection Engine
2
+ * Thinking Models — Plugin I/O Adapter (Stage 3 slim)
3
3
  *
4
- * Core principle metadata (id, name, description) comes from the
5
- * Core Principle Registry in @principles/core/runtime-v2.
6
- * Detection patterns are carefully tuned regexes that match AI output text.
4
+ * Pure logic (BUILTIN_PATTERNS, BUILTIN_PATTERN_MAP, getFallbackName,
5
+ * getFallbackDescription, deriveThinkingScenarios, types) lives in
6
+ * @principles/core/runtime-v2/thinking-models.
7
7
  *
8
- * Flow:
9
- * Core Principle Registry (authority) → id, name, description
10
- * BUILTIN_PATTERNS (engine) → detection regexes per model id
11
- * THINKING_MODELS (merged) → full definitions with patterns
8
+ * This file owns only the I/O boundary: reading THINKING_OS.md from a
9
+ * workspace dir and merging it with the builtin patterns. It re-exports
10
+ * the pure functions and types so existing relative imports
11
+ * (../core/thinking-models.js) continue to resolve.
12
12
  */
13
13
  import { loadThinkingOsFromWorkspace, generateDetectionPatterns } from './thinking-os-parser.js';
14
- import { CORE_PRINCIPLES } from '@principles/core/runtime-v2';
15
- const BUILTIN_PATTERNS = [
16
- {
17
- id: 'T-01',
18
- patterns: [
19
- // Thinking process language (AI reasoning output)
20
- /let me (first )?(understand|map|outline|survey|review the (structure|architecture|dependencies))/i,
21
- /before (changing|editing|touching) anything/i,
22
- /让我先(梳理|理解|看看|盘点).*(结构|架构|依赖|全貌)/i,
23
- /在执行任何.*/i,
24
- // Decision directive language (nocturnal artifact betterDecision)
25
- /review (the |)(docs|architecture|structure|requirements|constraints|dependencies|authorization)/i,
26
- /read (the |)(docs|architecture|requirements|constraints|logs?|error|stack)/i,
27
- /check (the |)(docs|architecture|source|authorization|requirements|error)/i,
28
- /understand (the |)(structure|architecture|requirements|constraints|full (context|picture))/i,
29
- /first (to|and|,) (verify|check|review|read|understand|confirm|diagnose)/i,
30
- /(verify|check|review|read|confirm) .+ first/i,
31
- ],
32
- baselineScenarios: ['exploration', 'discovery'],
33
- },
34
- {
35
- id: 'T-02',
36
- patterns: [
37
- // Thinking process language
38
- /(type|test|contract|schema|interface) (constraint|requirement|check|validation)/i,
39
- /(必须|需要).*(遵守|符合|满足).*(类型|测试|契约|接口|规范)/i,
40
- // Decision directive language
41
- /(trust|follow|respect|adhere to|meet) (the |)(constraint|requirement|contract|interface|specification|schema|type)/i,
42
- /(check|verify|validate|ensure) (the |)(constraint|requirement|contract|interface|specification|type|schema)/i,
43
- ],
44
- baselineScenarios: ['constraint-check', 'contract-verification'],
45
- },
46
- {
47
- id: 'T-03',
48
- patterns: [
49
- // Thinking process language
50
- /based on (the |this )?(evidence|logs?|output|error|stack trace|test result)/i,
51
- /let me (check|verify|confirm|read|look at) (the |)(actual|source|code|file|log)/i,
52
- /根据(日志|证据|输出|报错|堆栈|测试结果)/i,
53
- // Decision directive language (evidence-based decision)
54
- /(verify|check|confirm) (the |)(error|error code|error message|actual|evidence|logs?|output|stack)/i,
55
- /(error|failure) (logs?|output|stack trace|message|code) (before|then)/i,
56
- /(look at|read) (the |)(error|logs?|output|stack|actual|evidence|file|code)/i,
57
- ],
58
- baselineScenarios: ['evidence-gathering', 'verification'],
59
- },
60
- {
61
- id: 'T-04',
62
- patterns: [
63
- // Thinking process language
64
- /this (is|would be) (irreversible|destructive|permanent|not easily undone)/i,
65
- /(reversible|can be undone|safely roll back)/i,
66
- /(不可逆|破坏性|无法回滚|可以回滚|安全撤销)/i,
67
- // Decision directive language
68
- /(irreversible|destructive|permanent|high impact) (action|change|operation)/i,
69
- /(must be|need to be|should be) (reviewed|confirmed|verified|checked) (first|before)/i,
70
- /(get|obtain|ask for) (confirmation|authorization|approval|permission) (first|before)/i,
71
- ],
72
- baselineScenarios: ['risk-management', 'reversibility'],
73
- },
74
- {
75
- id: 'T-05',
76
- patterns: [
77
- // Thinking process language
78
- /we (must|should) (not|never|avoid|prevent|ensure we don't)/i,
79
- /(critical|important) (not to|that we don't|to avoid)/i,
80
- /(绝不能|必须避免|不可|禁止|确保不会)/i,
81
- // Decision directive language
82
- /(must|should|need to) (not |never |avoid )?(check|verify|review|read|confirm|ask)/i,
83
- /(safety|safe) (check|gate|checklist|guard)/i,
84
- ],
85
- baselineScenarios: ['guardrails', 'safety-rails'],
86
- },
87
- {
88
- id: 'T-06',
89
- patterns: [
90
- // Thinking process language
91
- /(simpl(er|est|ify)|minimal|straightforward|lean) (approach|solution|fix|implementation)/i,
92
- /(simple is better|keep it simple|no need to over)/i,
93
- /(最简|更简单|精简|没必要过度设计)/i,
94
- // Decision directive language
95
- /(minimal|smallest|narrowest) (change|modification|impact|approach)/i,
96
- /(only|just) (change|modify|touch|edit|affect) (the |what)/i,
97
- ],
98
- baselineScenarios: ['simplification', 'pragmatism'],
99
- },
100
- {
101
- id: 'T-07',
102
- patterns: [
103
- // Thinking process language
104
- /(minimal|smallest|narrowest|least) (change|diff|modification|impact)/i,
105
- /only (change|modify|touch|edit) (the |what)/i,
106
- /(最小改动|最小变更|只改|只动必要部分)/i,
107
- // Decision directive language
108
- /(limit|narrow) (the |)(change|impact|scope|blast radius)/i,
109
- ],
110
- baselineScenarios: ['minimal-diff', 'blast-radius-control'],
111
- },
112
- {
113
- id: 'T-08',
114
- patterns: [
115
- // Thinking process language
116
- /this (error|failure|issue) (tells us|indicates|signals|suggests|means)/i,
117
- /let me (stop|pause|step back|reconsider|rethink)/i,
118
- /这个(错误|失败|问题).*(说明|意味着|提示)/i,
119
- /让我(停下|暂停|退一步|重新考虑|重新审视)/i,
120
- // Decision directive language
121
- /(diagnose|analyze|investigate) (the |)(root |)(cause|reason|error|failure) (first|before)/i,
122
- /(understand|diagnose|analyze) (the |)(error|failure|issue|problem) (first|before)/i,
123
- ],
124
- baselineScenarios: ['reflection', 'pain-response'],
125
- },
126
- {
127
- id: 'T-09',
128
- patterns: [
129
- // Thinking process language
130
- /(break|split|decompose|divide) (this |the task |it )?(into|down)/i,
131
- /(step 1|first,? (we|i|let's)|phase 1)/i,
132
- /(拆分|分解|分步|分阶段|第一步)/i,
133
- // Decision directive language
134
- /(break|split|decompose|divide) (the |)(task|problem|action) (into|into steps)/i,
135
- ],
136
- baselineScenarios: ['decomposition', 'phased-execution'],
137
- },
138
- {
139
- id: 'T-10',
140
- patterns: [
141
- // Thinking process language
142
- /let me (write|save|record|note down|document)/i,
143
- /memory.*scratchpad|write.*plan\.md|write.*memory|memory.*persist/i,
144
- /(让我.*写入|写入.*memory|记录.*scratchpad)/i,
145
- // Decision directive language
146
- /(write|save|record|note) (the |)(conclusion|decision|plan|next step) (to|in) (file|plan\.md|scratchpad)/i,
147
- ],
148
- baselineScenarios: ['memory-persistence', 'state-externalization'],
149
- },
150
- ];
151
- const BUILTIN_PATTERN_MAP = new Map(BUILTIN_PATTERNS.map((p) => [p.id, p]));
152
- // Fallback name/description lookup — delegates to Core Principle Registry
153
- function getFallbackName(id) {
154
- const entry = CORE_PRINCIPLES.find(p => p.id === id);
155
- return entry?.name ?? id;
156
- }
157
- function getFallbackDescription(id) {
158
- const entry = CORE_PRINCIPLES.find(p => p.id === id);
159
- return entry?.statement ?? '';
160
- }
14
+ import { BUILTIN_PATTERN_MAP, getFallbackName, getFallbackDescription, } from '@principles/core/runtime-v2';
15
+ // Re-export pure logic + types so existing imports from this module keep working.
16
+ export { BUILTIN_PATTERN_MAP, getFallbackName, getFallbackDescription, } from '@principles/core/runtime-v2';
17
+ export { deriveThinkingScenarios } from '@principles/core/runtime-v2';
161
18
  // ---------------------------------------------------------------------------
162
19
  // Runtime model definitions — merged from THINKING_OS.md + builtin patterns
163
20
  // ---------------------------------------------------------------------------
@@ -200,27 +57,19 @@ export function listThinkingModels(workspaceDir) {
200
57
  }
201
58
  }
202
59
  // Fallback: built-in definitions
203
- for (const bp of BUILTIN_PATTERNS) {
60
+ for (const [id, builtin] of BUILTIN_PATTERN_MAP) {
204
61
  models.push({
205
- id: bp.id,
206
- name: getFallbackName(bp.id),
207
- description: getFallbackDescription(bp.id),
208
- patterns: bp.patterns,
209
- baselineScenarios: bp.baselineScenarios,
62
+ id,
63
+ name: getFallbackName(id),
64
+ description: getFallbackDescription(id),
65
+ patterns: builtin.patterns,
66
+ baselineScenarios: builtin.baselineScenarios,
210
67
  });
211
68
  }
212
69
  _cachedDefinitions = models;
213
70
  _cachedWorkspace = cacheKey;
214
71
  return models.slice();
215
72
  }
216
- /**
217
- * Clear the cached model definitions.
218
- * Call this when THINKING_OS.md changes.
219
- */
220
- export function clearThinkingModelCache() {
221
- _cachedDefinitions = null;
222
- _cachedWorkspace = null;
223
- }
224
73
  export function getThinkingModel(modelId, workspaceDir) {
225
74
  const models = listThinkingModels(workspaceDir);
226
75
  return models.find(m => m.id === modelId);
@@ -243,58 +92,3 @@ export function detectThinkingModelMatches(text, workspaceDir) {
243
92
  }
244
93
  return matches;
245
94
  }
246
- /**
247
- * Get all model definitions for display purposes (no patterns).
248
- */
249
- export function getThinkingModelDefinitions(workspaceDir) {
250
- return listThinkingModels(workspaceDir).map(m => ({
251
- modelId: m.id,
252
- name: m.id + ': ' + m.name,
253
- description: m.description,
254
- antiPattern: m.antiPattern,
255
- }));
256
- }
257
- export function deriveThinkingScenarios(modelId, context) {
258
- const scenarios = new Set(getThinkingModel(modelId)?.baselineScenarios ?? []);
259
- if ((context.recentToolCalls ?? []).some((call) => call.outcome === 'failure')) {
260
- scenarios.add('after-tool-failure');
261
- }
262
- // after-recovery: success that follows a failure (not just any success)
263
- const calls = context.recentToolCalls ?? [];
264
- const hasFailure = calls.some((call) => call.outcome === 'failure');
265
- const hasSuccess = calls.some((call) => call.outcome === 'success');
266
- if (hasFailure && hasSuccess) {
267
- scenarios.add('after-recovery');
268
- }
269
- if ((context.recentToolCalls ?? []).some((call) => call.outcome === 'blocked')) {
270
- scenarios.add('blocked-execution');
271
- }
272
- if ((context.recentToolCalls ?? []).some((call) => Boolean(call.errorType))) {
273
- scenarios.add('incident-response');
274
- }
275
- if ((context.recentPainEvents ?? []).length > 0) {
276
- scenarios.add('user-friction');
277
- }
278
- if ((context.recentGateBlocks ?? []).length > 0) {
279
- scenarios.add('gate-block');
280
- }
281
- if ((context.recentUserCorrections ?? []).length > 0) {
282
- scenarios.add('user-correction');
283
- }
284
- if ((context.recentPrincipleEvents ?? []).length > 0) {
285
- scenarios.add('principle-feedback');
286
- }
287
- if (modelId === 'T-03') {
288
- scenarios.add('root-cause-analysis');
289
- }
290
- if (modelId === 'T-04' || modelId === 'T-05') {
291
- scenarios.add('risk-review');
292
- }
293
- if (modelId === 'T-08') {
294
- scenarios.add('reflection-loop');
295
- }
296
- if (modelId === 'T-09') {
297
- scenarios.add('task-planning');
298
- }
299
- return Array.from(scenarios);
300
- }
@@ -222,4 +222,22 @@ export interface TrajectoryDatabaseOptions {
222
222
  busyTimeoutMs?: number;
223
223
  orphanBlobGraceDays?: number;
224
224
  }
225
+ /**
226
+ * Raw row from tool_calls for RuleContext v2 history assembly.
227
+ * Fields are raw strings from SQLite — the assembler validates them as unknown.
228
+ */
229
+ export interface RuleHostContextRow {
230
+ readonly id: number;
231
+ readonly toolName: string;
232
+ readonly outcome: string;
233
+ readonly paramsJson: string;
234
+ }
235
+ /**
236
+ * Result of getRuleHostContextRows: FIFO-ordered rows + truncated flag.
237
+ * truncated=true when more than `limit` rows existed (limit+1 read trick).
238
+ */
239
+ export interface RuleHostContextResult {
240
+ readonly rows: readonly RuleHostContextRow[];
241
+ readonly truncated: boolean;
242
+ }
225
243
  export type { DailyMetricRow };
@@ -1,5 +1,21 @@
1
- import type { CorrectionSampleReviewStatus, CorrectionExportMode, TrajectoryDataStats, TrajectoryAssistantTurnInput, TrajectoryUserTurnInput, TrajectoryToolCallInput, TrajectoryPainEventInput, TrajectoryGateBlockInput, TrajectoryTrustChangeInput, TrajectoryPrincipleEventInput, TrajectoryTaskOutcomeInput, TrajectorySessionInput, EvolutionTaskInput, EvolutionEventInput, EvolutionTaskRecord, EvolutionEventRecord, EvolutionTaskFilters, AssistantTurnRecord, CorrectionSampleRecord, TrajectoryExportResult, TrajectoryDatabaseOptions } from './trajectory-types.js';
2
- export type { CorrectionSampleReviewStatus, CorrectionExportMode, TrajectoryDataStats, TrajectoryAssistantTurnInput, TrajectoryUserTurnInput, TrajectoryToolCallInput, TrajectoryPainEventInput, TrajectoryGateBlockInput, DailyMetricRow, TrajectoryTrustChangeInput, TrajectoryPrincipleEventInput, TrajectoryTaskOutcomeInput, TrajectorySessionInput, TaskKind, TaskPriority, EvolutionTaskInput, EvolutionEventInput, EvolutionTaskRecord, EvolutionEventRecord, EvolutionTaskFilters, AssistantTurnRecord, CorrectionSampleRecord, TrajectoryExportResult, TrajectoryDatabaseOptions, } from './trajectory-types.js';
1
+ import type { CorrectionSampleReviewStatus, CorrectionExportMode, TrajectoryDataStats, TrajectoryAssistantTurnInput, TrajectoryUserTurnInput, TrajectoryToolCallInput, TrajectoryPainEventInput, TrajectoryGateBlockInput, TrajectoryTrustChangeInput, TrajectoryPrincipleEventInput, TrajectoryTaskOutcomeInput, TrajectorySessionInput, EvolutionTaskInput, EvolutionEventInput, EvolutionTaskRecord, EvolutionEventRecord, EvolutionTaskFilters, AssistantTurnRecord, CorrectionSampleRecord, TrajectoryExportResult, TrajectoryDatabaseOptions, RuleHostContextResult } from './trajectory-types.js';
2
+ export type { CorrectionSampleReviewStatus, CorrectionExportMode, TrajectoryDataStats, TrajectoryAssistantTurnInput, TrajectoryUserTurnInput, TrajectoryToolCallInput, TrajectoryPainEventInput, TrajectoryGateBlockInput, DailyMetricRow, TrajectoryTrustChangeInput, TrajectoryPrincipleEventInput, TrajectoryTaskOutcomeInput, TrajectorySessionInput, TaskKind, TaskPriority, EvolutionTaskInput, EvolutionEventInput, EvolutionTaskRecord, EvolutionEventRecord, EvolutionTaskFilters, AssistantTurnRecord, CorrectionSampleRecord, TrajectoryExportResult, TrajectoryDatabaseOptions, RuleHostContextRow, RuleHostContextResult, } from './trajectory-types.js';
3
+ /**
4
+ * Initialize trajectory.db schema at the given workspace directory.
5
+ *
6
+ * Opens trajectory.db in write mode, applies the full schema (tables + indexes + views +
7
+ * migrations), then closes the DB. Does NOT run importLegacyArtifacts() or
8
+ * pruneUnreferencedBlobs() — those are runtime side-effects of TrajectoryDatabase
9
+ * construction and are not needed for pure initialization.
10
+ *
11
+ * Idempotent: safe to call on an existing DB; all CREATE statements use IF NOT EXISTS.
12
+ *
13
+ * @returns list of created/verified table names and any warnings
14
+ */
15
+ export declare function initTrajectorySchema(workspaceDir: string): {
16
+ tables: string[];
17
+ warnings: string[];
18
+ };
3
19
  export declare class TrajectoryDatabase {
4
20
  private readonly workspaceDir;
5
21
  private readonly stateDir;
@@ -105,6 +121,15 @@ export declare class TrajectoryDatabase {
105
121
  resultPreview: string | null;
106
122
  createdAt: string;
107
123
  }[];
124
+ /**
125
+ * PRI-482 Phase 3: Query tool_calls for RuleContext v2 history assembly.
126
+ *
127
+ * Reads limit+1 rows (DESC by id) to compute truncated, then reverses to FIFO.
128
+ * Returns raw rows — the assembler (rule-context-assembler.ts) validates them.
129
+ *
130
+ * Spec: §5.1, §5.2. ERR-026: reuses production schema (no hand-written DDL).
131
+ */
132
+ getRuleHostContextRows(sessionId: string, limit?: number): RuleHostContextResult;
108
133
  /**
109
134
  * List pain events for a session.
110
135
  *
@@ -121,6 +146,29 @@ export declare class TrajectoryDatabase {
121
146
  confidence: number | null;
122
147
  createdAt: string;
123
148
  }[];
149
+ /**
150
+ * PRI-484 Phase 5 — Look up a single pain event by canonical_pain_id.
151
+ *
152
+ * Used by BehaviorExamplePackAssembler to anchor a pain lineage without
153
+ * already knowing the session_id. Returns null when not found.
154
+ *
155
+ * ERR-001 (rc-1, rc-2): row fields validated as unknown — no `as` bypass.
156
+ * Uses a type-guard predicate to narrow the DB row structurally.
157
+ */
158
+ getPainEventByCanonicalId(canonicalPainId: string): {
159
+ id: number;
160
+ sessionId: string;
161
+ source: string;
162
+ score: number;
163
+ reason: string | null;
164
+ severity: string | null;
165
+ origin: string | null;
166
+ confidence: number | null;
167
+ text: string | null;
168
+ canonicalPainId: string;
169
+ runtimeTaskId: string | null;
170
+ createdAt: string;
171
+ } | null;
124
172
  /**
125
173
  * List user turns for a session.
126
174
  * Returns sanitized/reduced fields for nocturnal use — NO raw text.