create-principles-disciple 1.100.0 → 1.102.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 (297) hide show
  1. package/console/dist/server/index.js +9 -0
  2. package/console/dist/server/models/ActivationsConsoleModel.d.ts +37 -1
  3. package/console/dist/server/models/ActivationsConsoleModel.js +114 -13
  4. package/console/dist/server/routes/onboarding.d.ts +34 -0
  5. package/console/dist/server/routes/onboarding.js +324 -0
  6. package/console/dist/ui/App.js +74 -15
  7. package/console/dist/ui/api.d.ts +17 -1
  8. package/console/dist/ui/api.js +6 -1
  9. package/console/dist/ui/components/onboarding/CircuitDiagram.d.ts +8 -0
  10. package/console/dist/ui/components/onboarding/CircuitDiagram.js +18 -0
  11. package/console/dist/ui/components/onboarding/DemoResultView.d.ts +22 -0
  12. package/console/dist/ui/components/onboarding/DemoResultView.js +15 -0
  13. package/console/dist/ui/i18n/en.json +127 -0
  14. package/console/dist/ui/i18n/zh-CN.json +127 -0
  15. package/console/dist/ui/pages/activation/ActivationValidators.js +1 -1
  16. package/console/dist/ui/pages/control-center/AgentCard.js +10 -3
  17. package/console/dist/ui/pages/control-center/ControlCenterPage.js +1 -1
  18. package/console/dist/ui/pages/settings/SettingsPage.js +64 -5
  19. package/console/dist/ui/pages/signal-keywords/KeywordEditDialog.d.ts +12 -0
  20. package/console/dist/ui/pages/signal-keywords/KeywordEditDialog.js +41 -0
  21. package/console/dist/ui/pages/signal-keywords/KeywordListSection.d.ts +10 -0
  22. package/console/dist/ui/pages/signal-keywords/KeywordListSection.js +39 -0
  23. package/console/dist/ui/pages/signal-keywords/PendingTermsSection.d.ts +14 -0
  24. package/console/dist/ui/pages/signal-keywords/PendingTermsSection.js +35 -0
  25. package/console/dist/ui/pages/signal-keywords/SignalKeywordsPage.d.ts +1 -0
  26. package/console/dist/ui/pages/signal-keywords/SignalKeywordsPage.js +49 -0
  27. package/console/dist/ui/pages/welcome/WelcomePage.d.ts +5 -0
  28. package/console/dist/ui/pages/welcome/WelcomePage.js +185 -0
  29. package/console/dist/ui/utils/__tests__/onboarding-state.test.d.ts +1 -0
  30. package/console/dist/ui/utils/__tests__/onboarding-state.test.js +72 -0
  31. package/console/dist/ui/utils/agent-metadata.d.ts +13 -0
  32. package/console/dist/ui/utils/agent-metadata.js +26 -0
  33. package/console/dist/ui/utils/onboarding-state.d.ts +25 -0
  34. package/console/dist/ui/utils/onboarding-state.js +77 -0
  35. package/console/dist/ui/utils/signal-keywords-api.d.ts +68 -0
  36. package/console/dist/ui/utils/signal-keywords-api.js +121 -0
  37. package/console/dist/ui/utils/signal-keywords-types.d.ts +57 -0
  38. package/console/dist/ui/utils/signal-keywords-types.js +10 -0
  39. package/console/dist/ui/utils/signal-keywords-validators.d.ts +20 -0
  40. package/console/dist/ui/utils/signal-keywords-validators.js +114 -0
  41. package/console/dist/web/assets/app.css +401 -0
  42. package/console/dist/web/assets/app.js +6904 -1835
  43. package/core/dist/index.d.ts +2 -0
  44. package/core/dist/index.d.ts.map +1 -1
  45. package/core/dist/index.js +1 -0
  46. package/core/dist/index.js.map +1 -1
  47. package/core/dist/runtime-v2/__tests__/admission-gate.test.js +63 -1
  48. package/core/dist/runtime-v2/__tests__/admission-gate.test.js.map +1 -1
  49. package/core/dist/runtime-v2/__tests__/architecture-regression.test.js +21 -5
  50. package/core/dist/runtime-v2/__tests__/architecture-regression.test.js.map +1 -1
  51. package/core/dist/runtime-v2/__tests__/chain-integrity-attack.test.js +17 -0
  52. package/core/dist/runtime-v2/__tests__/chain-integrity-attack.test.js.map +1 -1
  53. package/core/dist/runtime-v2/__tests__/chain-integrity-real-path.test.js +12 -0
  54. package/core/dist/runtime-v2/__tests__/chain-integrity-real-path.test.js.map +1 -1
  55. package/core/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.js +28 -0
  56. package/core/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.js.map +1 -1
  57. package/core/dist/runtime-v2/__tests__/internalization-chain-integrity-read-model.test.js +168 -1
  58. package/core/dist/runtime-v2/__tests__/internalization-chain-integrity-read-model.test.js.map +1 -1
  59. package/core/dist/runtime-v2/__tests__/pain-to-principle-service.test.js +8 -0
  60. package/core/dist/runtime-v2/__tests__/pain-to-principle-service.test.js.map +1 -1
  61. package/core/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js +53 -0
  62. package/core/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js.map +1 -1
  63. package/core/dist/runtime-v2/activation/__tests__/helpers.d.ts +21 -0
  64. package/core/dist/runtime-v2/activation/__tests__/helpers.d.ts.map +1 -0
  65. package/core/dist/runtime-v2/activation/__tests__/helpers.js +132 -0
  66. package/core/dist/runtime-v2/activation/__tests__/helpers.js.map +1 -0
  67. package/core/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.js +2 -117
  68. package/core/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.js.map +1 -1
  69. package/core/dist/runtime-v2/activation/activation-dispatcher.d.ts.map +1 -1
  70. package/core/dist/runtime-v2/activation/activation-dispatcher.js +18 -2
  71. package/core/dist/runtime-v2/activation/activation-dispatcher.js.map +1 -1
  72. package/core/dist/runtime-v2/activation/index.d.ts +1 -1
  73. package/core/dist/runtime-v2/activation/index.d.ts.map +1 -1
  74. package/core/dist/runtime-v2/activation/index.js +1 -1
  75. package/core/dist/runtime-v2/activation/index.js.map +1 -1
  76. package/core/dist/runtime-v2/activation/writers/__tests__/rule-host-writer.test.js +253 -6
  77. package/core/dist/runtime-v2/activation/writers/__tests__/rule-host-writer.test.js.map +1 -1
  78. package/core/dist/runtime-v2/activation/writers/rule-host-writer.d.ts +12 -0
  79. package/core/dist/runtime-v2/activation/writers/rule-host-writer.d.ts.map +1 -1
  80. package/core/dist/runtime-v2/activation/writers/rule-host-writer.js +96 -2
  81. package/core/dist/runtime-v2/activation/writers/rule-host-writer.js.map +1 -1
  82. package/core/dist/runtime-v2/admission-gate.d.ts +27 -0
  83. package/core/dist/runtime-v2/admission-gate.d.ts.map +1 -1
  84. package/core/dist/runtime-v2/admission-gate.js +55 -0
  85. package/core/dist/runtime-v2/admission-gate.js.map +1 -1
  86. package/core/dist/runtime-v2/cli/diagnose.d.ts +4 -0
  87. package/core/dist/runtime-v2/cli/diagnose.d.ts.map +1 -1
  88. package/core/dist/runtime-v2/cli/diagnose.js +25 -0
  89. package/core/dist/runtime-v2/cli/diagnose.js.map +1 -1
  90. package/core/dist/runtime-v2/config/__tests__/internal-agent-names.test.d.ts +2 -0
  91. package/core/dist/runtime-v2/config/__tests__/internal-agent-names.test.d.ts.map +1 -0
  92. package/core/dist/runtime-v2/config/__tests__/internal-agent-names.test.js +15 -0
  93. package/core/dist/runtime-v2/config/__tests__/internal-agent-names.test.js.map +1 -0
  94. package/core/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.js +7 -0
  95. package/core/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.js.map +1 -1
  96. package/core/dist/runtime-v2/config/__tests__/pd-config-contract.test.js +28 -0
  97. package/core/dist/runtime-v2/config/__tests__/pd-config-contract.test.js.map +1 -1
  98. package/core/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.js +1 -0
  99. package/core/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.js.map +1 -1
  100. package/core/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.js +1 -0
  101. package/core/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.js.map +1 -1
  102. package/core/dist/runtime-v2/config/index.d.ts +5 -3
  103. package/core/dist/runtime-v2/config/index.d.ts.map +1 -1
  104. package/core/dist/runtime-v2/config/index.js +8 -2
  105. package/core/dist/runtime-v2/config/index.js.map +1 -1
  106. package/core/dist/runtime-v2/config/pd-config-defaults.d.ts +2 -1
  107. package/core/dist/runtime-v2/config/pd-config-defaults.d.ts.map +1 -1
  108. package/core/dist/runtime-v2/config/pd-config-defaults.js +12 -0
  109. package/core/dist/runtime-v2/config/pd-config-defaults.js.map +1 -1
  110. package/core/dist/runtime-v2/config/pd-config-effective.d.ts.map +1 -1
  111. package/core/dist/runtime-v2/config/pd-config-effective.js +25 -1
  112. package/core/dist/runtime-v2/config/pd-config-effective.js.map +1 -1
  113. package/core/dist/runtime-v2/config/pd-config-feature-flags.d.ts.map +1 -1
  114. package/core/dist/runtime-v2/config/pd-config-feature-flags.js +6 -1
  115. package/core/dist/runtime-v2/config/pd-config-feature-flags.js.map +1 -1
  116. package/core/dist/runtime-v2/config/pd-config-redaction.d.ts.map +1 -1
  117. package/core/dist/runtime-v2/config/pd-config-redaction.js +9 -0
  118. package/core/dist/runtime-v2/config/pd-config-redaction.js.map +1 -1
  119. package/core/dist/runtime-v2/config/pd-config-types.d.ts +110 -1
  120. package/core/dist/runtime-v2/config/pd-config-types.d.ts.map +1 -1
  121. package/core/dist/runtime-v2/config/pd-config-types.js +7 -0
  122. package/core/dist/runtime-v2/config/pd-config-types.js.map +1 -1
  123. package/core/dist/runtime-v2/config/pd-config-validate.d.ts.map +1 -1
  124. package/core/dist/runtime-v2/config/pd-config-validate.js +114 -1
  125. package/core/dist/runtime-v2/config/pd-config-validate.js.map +1 -1
  126. package/core/dist/runtime-v2/config/pd-profile-constants.d.ts +27 -0
  127. package/core/dist/runtime-v2/config/pd-profile-constants.d.ts.map +1 -0
  128. package/core/dist/runtime-v2/config/pd-profile-constants.js +145 -0
  129. package/core/dist/runtime-v2/config/pd-profile-constants.js.map +1 -0
  130. package/core/dist/runtime-v2/config/pd-validate-profile.d.ts +28 -0
  131. package/core/dist/runtime-v2/config/pd-validate-profile.d.ts.map +1 -0
  132. package/core/dist/runtime-v2/config/pd-validate-profile.js +482 -0
  133. package/core/dist/runtime-v2/config/pd-validate-profile.js.map +1 -0
  134. package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js +26 -0
  135. package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js.map +1 -1
  136. package/core/dist/runtime-v2/feature-flags/__tests__/plugin-surface-registry.test.js +12 -1
  137. package/core/dist/runtime-v2/feature-flags/__tests__/plugin-surface-registry.test.js.map +1 -1
  138. package/core/dist/runtime-v2/feature-flags/feature-flag-contract.d.ts.map +1 -1
  139. package/core/dist/runtime-v2/feature-flags/feature-flag-contract.js +8 -0
  140. package/core/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
  141. package/core/dist/runtime-v2/feature-flags/plugin-surface-registry.d.ts.map +1 -1
  142. package/core/dist/runtime-v2/feature-flags/plugin-surface-registry.js +8 -2
  143. package/core/dist/runtime-v2/feature-flags/plugin-surface-registry.js.map +1 -1
  144. package/core/dist/runtime-v2/index.d.ts +6 -4
  145. package/core/dist/runtime-v2/index.d.ts.map +1 -1
  146. package/core/dist/runtime-v2/index.js +5 -3
  147. package/core/dist/runtime-v2/index.js.map +1 -1
  148. package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.js +25 -0
  149. package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.js.map +1 -1
  150. package/core/dist/runtime-v2/internalization/__tests__/artificer-rule-output.test.js +139 -0
  151. package/core/dist/runtime-v2/internalization/__tests__/artificer-rule-output.test.js.map +1 -1
  152. package/core/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js +20 -1
  153. package/core/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js.map +1 -1
  154. package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.js +7 -0
  155. package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.js.map +1 -1
  156. package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-runner.test.js +21 -0
  157. package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-runner.test.js.map +1 -1
  158. package/core/dist/runtime-v2/internalization/__tests__/rule-host-input-builder.test.js +23 -0
  159. package/core/dist/runtime-v2/internalization/__tests__/rule-host-input-builder.test.js.map +1 -1
  160. package/core/dist/runtime-v2/internalization/artificer-output.d.ts +7 -0
  161. package/core/dist/runtime-v2/internalization/artificer-output.d.ts.map +1 -1
  162. package/core/dist/runtime-v2/internalization/artificer-output.js +22 -1
  163. package/core/dist/runtime-v2/internalization/artificer-output.js.map +1 -1
  164. package/core/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts.map +1 -1
  165. package/core/dist/runtime-v2/internalization/artificer-prompt-builder.js +2 -0
  166. package/core/dist/runtime-v2/internalization/artificer-prompt-builder.js.map +1 -1
  167. package/core/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
  168. package/core/dist/runtime-v2/internalization/artificer-runner.js +13 -0
  169. package/core/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
  170. package/core/dist/runtime-v2/internalization/diag-distiller-runner.d.ts.map +1 -1
  171. package/core/dist/runtime-v2/internalization/diag-distiller-runner.js +4 -1
  172. package/core/dist/runtime-v2/internalization/diag-distiller-runner.js.map +1 -1
  173. package/core/dist/runtime-v2/internalization/diag-rootcause-runner.d.ts.map +1 -1
  174. package/core/dist/runtime-v2/internalization/diag-rootcause-runner.js +7 -1
  175. package/core/dist/runtime-v2/internalization/diag-rootcause-runner.js.map +1 -1
  176. package/core/dist/runtime-v2/internalization/diag-router-runner.d.ts.map +1 -1
  177. package/core/dist/runtime-v2/internalization/diag-router-runner.js +4 -1
  178. package/core/dist/runtime-v2/internalization/diag-router-runner.js.map +1 -1
  179. package/core/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
  180. package/core/dist/runtime-v2/internalization/evaluator-runner.js +7 -1
  181. package/core/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
  182. package/core/dist/runtime-v2/internalization/index.d.ts +1 -1
  183. package/core/dist/runtime-v2/internalization/index.d.ts.map +1 -1
  184. package/core/dist/runtime-v2/internalization/index.js +1 -1
  185. package/core/dist/runtime-v2/internalization/index.js.map +1 -1
  186. package/core/dist/runtime-v2/internalization/internalization-task-guards.d.ts +7 -0
  187. package/core/dist/runtime-v2/internalization/internalization-task-guards.d.ts.map +1 -1
  188. package/core/dist/runtime-v2/internalization/internalization-task-guards.js +8 -0
  189. package/core/dist/runtime-v2/internalization/internalization-task-guards.js.map +1 -1
  190. package/core/dist/runtime-v2/internalization-chain-integrity-read-model.d.ts.map +1 -1
  191. package/core/dist/runtime-v2/internalization-chain-integrity-read-model.js +57 -1
  192. package/core/dist/runtime-v2/internalization-chain-integrity-read-model.js.map +1 -1
  193. package/core/dist/runtime-v2/proven-channel-baseline.js +1 -1
  194. package/core/dist/runtime-v2/proven-channel-baseline.js.map +1 -1
  195. package/core/dist/runtime-v2/runner/__tests__/diagnose.test.js +91 -1
  196. package/core/dist/runtime-v2/runner/__tests__/diagnose.test.js.map +1 -1
  197. package/core/dist/runtime-v2/signal-collector/__tests__/keyword-stage.test.d.ts +2 -0
  198. package/core/dist/runtime-v2/signal-collector/__tests__/keyword-stage.test.d.ts.map +1 -0
  199. package/core/dist/runtime-v2/signal-collector/__tests__/keyword-stage.test.js +39 -0
  200. package/core/dist/runtime-v2/signal-collector/__tests__/keyword-stage.test.js.map +1 -0
  201. package/core/dist/runtime-v2/signal-collector/__tests__/llm-stage.test.d.ts +2 -0
  202. package/core/dist/runtime-v2/signal-collector/__tests__/llm-stage.test.d.ts.map +1 -0
  203. package/core/dist/runtime-v2/signal-collector/__tests__/llm-stage.test.js +34 -0
  204. package/core/dist/runtime-v2/signal-collector/__tests__/llm-stage.test.js.map +1 -0
  205. package/core/dist/runtime-v2/signal-collector/__tests__/signal-collector.test.d.ts +2 -0
  206. package/core/dist/runtime-v2/signal-collector/__tests__/signal-collector.test.d.ts.map +1 -0
  207. package/core/dist/runtime-v2/signal-collector/__tests__/signal-collector.test.js +222 -0
  208. package/core/dist/runtime-v2/signal-collector/__tests__/signal-collector.test.js.map +1 -0
  209. package/core/dist/runtime-v2/signal-collector/__tests__/types.test.d.ts +2 -0
  210. package/core/dist/runtime-v2/signal-collector/__tests__/types.test.d.ts.map +1 -0
  211. package/core/dist/runtime-v2/signal-collector/__tests__/types.test.js +35 -0
  212. package/core/dist/runtime-v2/signal-collector/__tests__/types.test.js.map +1 -0
  213. package/core/dist/runtime-v2/signal-collector/index.d.ts +5 -0
  214. package/core/dist/runtime-v2/signal-collector/index.d.ts.map +1 -0
  215. package/core/dist/runtime-v2/signal-collector/index.js +5 -0
  216. package/core/dist/runtime-v2/signal-collector/index.js.map +1 -0
  217. package/core/dist/runtime-v2/signal-collector/keyword-stage.d.ts +20 -0
  218. package/core/dist/runtime-v2/signal-collector/keyword-stage.d.ts.map +1 -0
  219. package/core/dist/runtime-v2/signal-collector/keyword-stage.js +61 -0
  220. package/core/dist/runtime-v2/signal-collector/keyword-stage.js.map +1 -0
  221. package/core/dist/runtime-v2/signal-collector/llm-stage.d.ts +16 -0
  222. package/core/dist/runtime-v2/signal-collector/llm-stage.d.ts.map +1 -0
  223. package/core/dist/runtime-v2/signal-collector/llm-stage.js +34 -0
  224. package/core/dist/runtime-v2/signal-collector/llm-stage.js.map +1 -0
  225. package/core/dist/runtime-v2/signal-collector/signal-collector.d.ts +16 -0
  226. package/core/dist/runtime-v2/signal-collector/signal-collector.d.ts.map +1 -0
  227. package/core/dist/runtime-v2/signal-collector/signal-collector.js +71 -0
  228. package/core/dist/runtime-v2/signal-collector/signal-collector.js.map +1 -0
  229. package/core/dist/runtime-v2/signal-collector/types.d.ts +61 -0
  230. package/core/dist/runtime-v2/signal-collector/types.d.ts.map +1 -0
  231. package/core/dist/runtime-v2/signal-collector/types.js +45 -0
  232. package/core/dist/runtime-v2/signal-collector/types.js.map +1 -0
  233. package/core/dist/runtime-v2/store/candidate/sqlite-candidate-store.d.ts.map +1 -1
  234. package/core/dist/runtime-v2/store/candidate/sqlite-candidate-store.js +19 -0
  235. package/core/dist/runtime-v2/store/candidate/sqlite-candidate-store.js.map +1 -1
  236. package/core/dist/runtime-v2/store/schema-conformance.test.js +73 -0
  237. package/core/dist/runtime-v2/store/schema-conformance.test.js.map +1 -1
  238. package/core/dist/runtime-v2/store/sqlite-connection-schema-version.test.js +41 -7
  239. package/core/dist/runtime-v2/store/sqlite-connection-schema-version.test.js.map +1 -1
  240. package/core/dist/runtime-v2/store/sqlite-connection.d.ts.map +1 -1
  241. package/core/dist/runtime-v2/store/sqlite-connection.js +22 -1
  242. package/core/dist/runtime-v2/store/sqlite-connection.js.map +1 -1
  243. package/core/dist/runtime-v2/types/event-types.d.ts +40 -3
  244. package/core/dist/runtime-v2/types/event-types.d.ts.map +1 -1
  245. package/core/dist/runtime-v2/types/event-types.js +9 -0
  246. package/core/dist/runtime-v2/types/event-types.js.map +1 -1
  247. package/core/dist/runtime-v2/types/index.d.ts +2 -2
  248. package/core/dist/runtime-v2/types/index.d.ts.map +1 -1
  249. package/core/dist/runtime-v2/types/index.js +1 -1
  250. package/core/dist/runtime-v2/types/index.js.map +1 -1
  251. package/core/dist/workflow-funnel-loader.js +1 -1
  252. package/core/dist/workflow-funnel-loader.js.map +1 -1
  253. package/dist/i18n.d.ts.map +1 -1
  254. package/dist/i18n.js +6 -0
  255. package/dist/i18n.js.map +1 -1
  256. package/dist/index.js +12 -3
  257. package/dist/index.js.map +1 -1
  258. package/dist/installer.d.ts +3 -0
  259. package/dist/installer.d.ts.map +1 -1
  260. package/dist/installer.js +167 -1
  261. package/dist/installer.js.map +1 -1
  262. package/dist/mvp-config.d.ts +8 -0
  263. package/dist/mvp-config.d.ts.map +1 -1
  264. package/dist/mvp-config.js +12 -2
  265. package/dist/mvp-config.js.map +1 -1
  266. package/package.json +1 -1
  267. package/pd-cli/dist/commands/candidate.d.ts.map +1 -1
  268. package/pd-cli/dist/commands/candidate.js +89 -7
  269. package/pd-cli/dist/commands/candidate.js.map +1 -1
  270. package/pd-cli/dist/commands/pain-retry.d.ts +3 -0
  271. package/pd-cli/dist/commands/pain-retry.d.ts.map +1 -1
  272. package/pd-cli/dist/commands/pain-retry.js +39 -14
  273. package/pd-cli/dist/commands/pain-retry.js.map +1 -1
  274. package/pd-cli/dist/commands/runtime-activation.d.ts +4 -0
  275. package/pd-cli/dist/commands/runtime-activation.d.ts.map +1 -1
  276. package/pd-cli/dist/commands/runtime-activation.js +244 -10
  277. package/pd-cli/dist/commands/runtime-activation.js.map +1 -1
  278. package/pd-cli/dist/index.js +7 -84
  279. package/pd-cli/dist/index.js.map +1 -1
  280. package/pd-cli/dist/services/rulehost-pipeline-runner.js +1 -1
  281. package/pd-cli/dist/services/rulehost-pipeline-runner.js.map +1 -1
  282. package/pd-cli/package.json +1 -1
  283. package/plugin/dist/commands/context.js +17 -11
  284. package/plugin/dist/commands/samples.js +25 -0
  285. package/plugin/dist/core/event-log.d.ts +11 -1
  286. package/plugin/dist/core/event-log.js +13 -0
  287. package/plugin/dist/core/init.js +3 -4
  288. package/plugin/dist/core/rule-host.d.ts +68 -0
  289. package/plugin/dist/core/rule-host.js +167 -28
  290. package/plugin/dist/core/signal-collector-host.d.ts +105 -0
  291. package/plugin/dist/core/signal-collector-host.js +337 -0
  292. package/plugin/dist/hooks/prompt.d.ts +3 -2
  293. package/plugin/dist/hooks/prompt.js +47 -571
  294. package/plugin/dist/types/event-types.d.ts +1 -1
  295. package/plugin/dist/types.d.ts +5 -25
  296. package/plugin/dist/types.js +4 -9
  297. package/plugin/dist/utils/hashing.js +1 -1
@@ -128,21 +128,29 @@ describe('RuleHostWriter', () => {
128
128
  expect(result.ok).toBe(false);
129
129
  expect(result.reason).toContain('gate_decision_not_accepted_shadow');
130
130
  });
131
- it('returns live activation action after owner approval', async () => {
131
+ // PRI-489: Owner approval creates a SHADOW activation first. The only
132
+ // shadow -> live transition is `pd activation promote --activation-id ...
133
+ // --confirm` (SqliteActivationStateStore.promoteActivation). Live blocking
134
+ // must never happen immediately after approval — that was the seed-MVP
135
+ // release blocker this test now guards against.
136
+ it('returns shadow activation action after owner approval (shadow-first)', async () => {
132
137
  const { RuleHostWriter } = await importWriter();
133
138
  const writer = new RuleHostWriter({ gateDeps: makeGateDeps() });
134
139
  const artifact = makeRuleArtifact();
135
140
  const result = await writer.activate(makeWriterInput(), artifact);
136
- expect(result.action).toBe('code_tool_hook_live_activate');
141
+ expect(result.action).toBe('code_tool_hook_shadow_activate');
137
142
  expect(result.targetRef).toContain('R_001');
138
143
  });
139
- it('never returns shadow activation action for owner-approved rules', async () => {
144
+ it('never returns live activation action directly after owner approval', async () => {
140
145
  const { RuleHostWriter } = await importWriter();
141
146
  const writer = new RuleHostWriter({ gateDeps: makeGateDeps() });
142
147
  const artifact = makeRuleArtifact();
143
148
  const result = await writer.activate(makeWriterInput(), artifact);
144
- expect(result.action).not.toContain('shadow');
145
- expect(result.action).toContain('live');
149
+ // Shadow-first: live must only appear after an explicit promote, never
150
+ // straight from the writer. This assertion uniquely identifies the
151
+ // shadow-first contract (ERR-088: assert the specific action value).
152
+ expect(result.action).not.toContain('live');
153
+ expect(result.action).toContain('shadow');
146
154
  });
147
155
  it('returns correct activationId format', async () => {
148
156
  const { RuleHostWriter } = await importWriter();
@@ -387,7 +395,11 @@ describe('RuleHostWriter.canActivate — PRI-484 rulecode_context_v2 gating', ()
387
395
  const { RuleHostWriter } = await import('../rule-host-writer.js');
388
396
  return { RuleHostWriter };
389
397
  }
390
- /** Build a v2-declaring artifact (requiresContextVersion: 2 in contentJson). */
398
+ /** Build a v2-declaring artifact (requiresContextVersion: 2 in contentJson).
399
+ * PRI-490: v2 artifacts MUST carry evidenceRefs (preserved verbatim from
400
+ * BehaviorExamplePack) — the fixture includes a valid evidenceRefs array
401
+ * so the existing "accepts v2 when flag ON" test continues to pass once
402
+ * the v2 evidenceRefs requirement is enforced by validateV2SeedRuleContent. */
391
403
  function makeV2Artifact() {
392
404
  const goldenTrace = makeGoldenTrace();
393
405
  return {
@@ -404,6 +416,7 @@ describe('RuleHostWriter.canActivate — PRI-484 rulecode_context_v2 gating', ()
404
416
  ruleHostGateDecision: 'accepted_shadow',
405
417
  affectedTools: ['read_file'],
406
418
  requiresContextVersion: 2,
419
+ evidenceRefs: ['pain:1', 'tool_call:abc'],
407
420
  }),
408
421
  createdAt: '2026-06-27T00:00:00.000Z',
409
422
  updatedAt: '2026-06-27T00:00:00.000Z',
@@ -484,6 +497,204 @@ describe('RuleHostWriter.canActivate — PRI-484 rulecode_context_v2 gating', ()
484
497
  });
485
498
  });
486
499
  });
500
+ describe('RuleHostWriter.canActivate — PRI-490 v2 seed rule allow/block-only + evidenceRefs', () => {
501
+ async function importWriter() {
502
+ const { RuleHostWriter } = await import('../rule-host-writer.js');
503
+ return { RuleHostWriter };
504
+ }
505
+ /** Build a v2 artifact with full overrides applied to its contentJson. */
506
+ function makeV2ArtifactWithContent(contentOverrides = {}) {
507
+ const goldenTrace = makeGoldenTrace();
508
+ const baseContent = {
509
+ implementationCode: 'function evaluate(input, helpers) { return { decision: "allow", matched: false, reason: "v2 rule" }; }',
510
+ goldenTrace,
511
+ ruleHostGateDecision: 'accepted_shadow',
512
+ affectedTools: ['read_file'],
513
+ requiresContextVersion: 2,
514
+ evidenceRefs: ['pain:1', 'tool_call:abc'],
515
+ ...contentOverrides,
516
+ };
517
+ return {
518
+ artifactId: 'art-rule-v2-pri490',
519
+ artifactKind: 'rule',
520
+ sourceTaskId: 'task-v2-pri490',
521
+ sourcePrincipleId: 'P_v2_490',
522
+ sourceRuleId: 'R_v2_490',
523
+ lineageArtifactIds: [],
524
+ validationStatus: 'validated',
525
+ contentJson: JSON.stringify(baseContent),
526
+ createdAt: '2026-06-30T00:00:00.000Z',
527
+ updatedAt: '2026-06-30T00:00:00.000Z',
528
+ };
529
+ }
530
+ it('rejects v2 artifact with propose_correction in goldenTraceCases (PRI-490)', async () => {
531
+ const { RuleHostWriter } = await importWriter();
532
+ const writer = new RuleHostWriter({
533
+ gateDeps: makeGateDeps(),
534
+ featureFlagProbe: (flagId) => flagId === 'rulecode_context_v2',
535
+ });
536
+ // Build a v2 artifact whose negative case expects propose_correction.
537
+ // This is structurally valid (goldenTrace validator accepts it for v1)
538
+ // but forbidden for v2 seed rules per PRI-490.
539
+ const badTrace = {
540
+ ...makeGoldenTrace(),
541
+ cases: [
542
+ {
543
+ caseId: 'case-propose',
544
+ kind: 'negative',
545
+ toolName: 'write_file',
546
+ params: { path: '/etc/passwd' },
547
+ expectedDecision: 'propose_correction',
548
+ expectedProposedParams: { path: '/safe/path' },
549
+ expectedApplicationMode: 'shadow',
550
+ },
551
+ {
552
+ caseId: 'case-allow',
553
+ kind: 'positive',
554
+ toolName: 'write_file',
555
+ params: { path: '/project/src/safe.ts' },
556
+ expectedDecision: 'allow',
557
+ },
558
+ ],
559
+ };
560
+ const artifact = makeV2ArtifactWithContent({ goldenTrace: badTrace });
561
+ const result = await writer.canActivate(artifact);
562
+ expect(result.ok).toBe(false);
563
+ // PRI-490: rejection reason must surface the forbidden decision so the
564
+ // owner knows exactly what to fix (ERR-088: assert the specific reason,
565
+ // not just `result.ok === false`).
566
+ expect(result.reason).toContain('v2_seed_rule_forbidden_decision');
567
+ expect(result.reason).toContain('propose_correction');
568
+ });
569
+ it('rejects v2 artifact missing evidenceRefs (PRI-490)', async () => {
570
+ const { RuleHostWriter } = await importWriter();
571
+ const writer = new RuleHostWriter({
572
+ gateDeps: makeGateDeps(),
573
+ featureFlagProbe: (flagId) => flagId === 'rulecode_context_v2',
574
+ });
575
+ // v2 artifact without evidenceRefs field — should be rejected.
576
+ const artifact = makeV2ArtifactWithContent({});
577
+ const parsed = JSON.parse(artifact.contentJson);
578
+ delete parsed.evidenceRefs;
579
+ artifact.contentJson = JSON.stringify(parsed);
580
+ const result = await writer.canActivate(artifact);
581
+ expect(result.ok).toBe(false);
582
+ expect(result.reason).toContain('v2_seed_rule_missing_evidence_refs');
583
+ });
584
+ it('rejects v2 artifact with empty evidenceRefs array (PRI-490)', async () => {
585
+ const { RuleHostWriter } = await importWriter();
586
+ const writer = new RuleHostWriter({
587
+ gateDeps: makeGateDeps(),
588
+ featureFlagProbe: (flagId) => flagId === 'rulecode_context_v2',
589
+ });
590
+ const artifact = makeV2ArtifactWithContent({ evidenceRefs: [] });
591
+ const result = await writer.canActivate(artifact);
592
+ expect(result.ok).toBe(false);
593
+ expect(result.reason).toContain('v2_seed_rule_invalid_evidence_refs');
594
+ });
595
+ it('rejects v2 artifact with non-string evidenceRefs entries (PRI-490)', async () => {
596
+ const { RuleHostWriter } = await importWriter();
597
+ const writer = new RuleHostWriter({
598
+ gateDeps: makeGateDeps(),
599
+ featureFlagProbe: (flagId) => flagId === 'rulecode_context_v2',
600
+ });
601
+ const artifact = makeV2ArtifactWithContent({ evidenceRefs: ['pain:1', 42, null] });
602
+ const result = await writer.canActivate(artifact);
603
+ expect(result.ok).toBe(false);
604
+ expect(result.reason).toContain('v2_seed_rule_invalid_evidence_refs');
605
+ });
606
+ it('rejects v2 artifact with whitespace-only evidenceRefs entries (PRI-490)', async () => {
607
+ const { RuleHostWriter } = await importWriter();
608
+ const writer = new RuleHostWriter({
609
+ gateDeps: makeGateDeps(),
610
+ featureFlagProbe: (flagId) => flagId === 'rulecode_context_v2',
611
+ });
612
+ const artifact = makeV2ArtifactWithContent({ evidenceRefs: ['pain:1', ' '] });
613
+ const result = await writer.canActivate(artifact);
614
+ expect(result.ok).toBe(false);
615
+ expect(result.reason).toContain('v2_seed_rule_invalid_evidence_refs');
616
+ });
617
+ it('does NOT invoke sandbox when rejecting v2 artifact with propose_correction (defense before sandbox)', async () => {
618
+ const { RuleHostWriter } = await importWriter();
619
+ const gateDeps = makeGateDeps();
620
+ const writer = new RuleHostWriter({
621
+ gateDeps,
622
+ featureFlagProbe: (flagId) => flagId === 'rulecode_context_v2',
623
+ });
624
+ const badTrace = {
625
+ ...makeGoldenTrace(),
626
+ cases: [
627
+ {
628
+ caseId: 'case-propose',
629
+ kind: 'negative',
630
+ toolName: 'write_file',
631
+ params: { path: '/etc/passwd' },
632
+ expectedDecision: 'propose_correction',
633
+ expectedProposedParams: { path: '/safe/path' },
634
+ expectedApplicationMode: 'shadow',
635
+ },
636
+ {
637
+ caseId: 'case-allow',
638
+ kind: 'positive',
639
+ toolName: 'write_file',
640
+ params: { path: '/safe' },
641
+ expectedDecision: 'allow',
642
+ },
643
+ ],
644
+ };
645
+ const artifact = makeV2ArtifactWithContent({ goldenTrace: badTrace });
646
+ await writer.canActivate(artifact);
647
+ expect(gateDeps.evaluateInSandbox).not.toHaveBeenCalled();
648
+ });
649
+ it('accepts valid v2 artifact with allow/block-only + evidenceRefs (PRI-490 happy path)', async () => {
650
+ const { RuleHostWriter } = await importWriter();
651
+ const writer = new RuleHostWriter({
652
+ gateDeps: makeGateDeps(),
653
+ featureFlagProbe: (flagId) => flagId === 'rulecode_context_v2',
654
+ });
655
+ // makeV2ArtifactWithContent() defaults to a valid v2 artifact.
656
+ const result = await writer.canActivate(makeV2ArtifactWithContent());
657
+ expect(result.ok).toBe(true);
658
+ });
659
+ it('does not run v2 content checks on v1 artifacts (v1 behavior unchanged)', async () => {
660
+ const { RuleHostWriter } = await importWriter();
661
+ // No featureFlagProbe — v1 path must still pass.
662
+ const writer = new RuleHostWriter({ gateDeps: makeGateDeps() });
663
+ // v1 artifact with propose_correction is allowed (v1 contract unchanged).
664
+ const v1TraceWithPropose = {
665
+ ...makeGoldenTrace(),
666
+ cases: [
667
+ {
668
+ caseId: 'case-propose-v1',
669
+ kind: 'negative',
670
+ toolName: 'write_file',
671
+ params: { path: '/etc/passwd' },
672
+ expectedDecision: 'propose_correction',
673
+ expectedProposedParams: { path: '/safe' },
674
+ expectedApplicationMode: 'shadow',
675
+ },
676
+ {
677
+ caseId: 'case-allow-v1',
678
+ kind: 'positive',
679
+ toolName: 'write_file',
680
+ params: { path: '/safe' },
681
+ expectedDecision: 'allow',
682
+ },
683
+ ],
684
+ };
685
+ const artifact = makeRuleArtifact({
686
+ contentJson: JSON.stringify({
687
+ implementationCode: 'function evaluate() {}',
688
+ goldenTrace: v1TraceWithPropose,
689
+ ruleHostGateDecision: 'accepted_shadow',
690
+ affectedTools: ['read_file'],
691
+ // Note: no requiresContextVersion, no evidenceRefs — v1 path.
692
+ }),
693
+ });
694
+ const result = await writer.canActivate(artifact);
695
+ expect(result.ok).toBe(true);
696
+ });
697
+ });
487
698
  describe('RuleHostWriter.buildApprovalContext', () => {
488
699
  async function importWriter() {
489
700
  const { RuleHostWriter } = await import('../rule-host-writer.js');
@@ -518,6 +729,42 @@ describe('RuleHostWriter.buildApprovalContext', () => {
518
729
  expect(ctx.effectDescription).toContain('edit_file');
519
730
  expect(ctx.effectDescription).toContain('bash');
520
731
  });
732
+ // PRI-490 — evidence refs must be surfaced in approval context so the owner
733
+ // has provenance context during approval review. Surfaced only when the
734
+ // artifact carries a valid evidenceRefs array.
735
+ it('surfaces evidenceRefs in effectDescription when present (PRI-490)', async () => {
736
+ const { RuleHostWriter } = await importWriter();
737
+ const writer = new RuleHostWriter({ gateDeps: makeGateDeps() });
738
+ const artifact = makeRuleArtifact({
739
+ contentJson: JSON.stringify({
740
+ implementationCode: 'function evaluate() {}',
741
+ goldenTrace: makeGoldenTrace(),
742
+ ruleHostGateDecision: 'accepted_shadow',
743
+ affectedTools: ['edit_file'],
744
+ evidenceRefs: ['pain:42', 'tool_call:def'],
745
+ }),
746
+ });
747
+ const ctx = writer.buildApprovalContext(makeWriterInput(), artifact);
748
+ expect(ctx.effectDescription).toContain('pain:42');
749
+ expect(ctx.effectDescription).toContain('tool_call:def');
750
+ });
751
+ it('does not surface evidenceRefs clause when absent (PRI-490)', async () => {
752
+ const { RuleHostWriter } = await importWriter();
753
+ const writer = new RuleHostWriter({ gateDeps: makeGateDeps() });
754
+ const artifact = makeRuleArtifact({
755
+ contentJson: JSON.stringify({
756
+ implementationCode: 'function evaluate() {}',
757
+ goldenTrace: makeGoldenTrace(),
758
+ ruleHostGateDecision: 'accepted_shadow',
759
+ affectedTools: ['edit_file'],
760
+ // No evidenceRefs field — effectDescription must not surface an
761
+ // evidence clause.
762
+ }),
763
+ });
764
+ const ctx = writer.buildApprovalContext(makeWriterInput(), artifact);
765
+ expect(ctx.effectDescription).not.toContain('Evidence backing');
766
+ expect(ctx.effectDescription).toContain('edit_file');
767
+ });
521
768
  it('has stable fallback for effectDescription when affectedTools is missing', async () => {
522
769
  const { RuleHostWriter } = await importWriter();
523
770
  const writer = new RuleHostWriter({ gateDeps: makeGateDeps() });
@@ -1 +1 @@
1
- {"version":3,"file":"rule-host-writer.test.js","sourceRoot":"","sources":["../../../../../src/runtime-v2/activation/writers/__tests__/rule-host-writer.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rule-host-writer.test.js","sourceRoot":"","sources":["../../../../../src/runtime-v2/activation/writers/__tests__/rule-host-writer.test.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,18 @@ export interface RuleHostWriterConfig {
13
13
  */
14
14
  featureFlagProbe?: (flagId: string) => boolean;
15
15
  }
16
+ /**
17
+ * PRI-490 — extract and validate the `evidenceRefs` field from parsed artifact
18
+ * contentJson. Returns the validated `string[]` when present and well-formed,
19
+ * or `null` when absent / malformed. Callers treat `null` as "no evidenceRefs".
20
+ *
21
+ * PRI-491 — exported for reuse by CLI/Console display paths that need to show
22
+ * evidenceRefs without reimplementing the validation logic (DRY).
23
+ *
24
+ * ERR-001/ERR-005 (rc-1/rc-2/rc-4): the parsed value is `unknown`; we never
25
+ * `as`-cast. Each element is type-narrowed via `typeof` before acceptance.
26
+ */
27
+ export declare function extractEvidenceRefs(parsed: Record<string, unknown>): string[] | null;
16
28
  export declare class RuleHostWriter implements ChannelWriter {
17
29
  readonly channel: "code_tool_hook";
18
30
  private readonly gateDeps;
@@ -1 +1 @@
1
- {"version":3,"file":"rule-host-writer.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/activation/writers/rule-host-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAuB,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzK,OAAO,KAAK,EAAE,uBAAuB,EAA6B,MAAM,gDAAgD,CAAC;AAOzH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,uBAAuB,CAAC;IAClC;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;CAChD;AAuFD,qBAAa,cAAe,YAAW,aAAa;IAClD,QAAQ,CAAC,OAAO,EAAG,gBAAgB,CAAU;IAE7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAA8B;gBAEpD,MAAM,EAAE,oBAAoB;IAKlC,WAAW,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA2ErE,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IAavF,oBAAoB,CAClB,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,kBAAkB,EAC5B,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI,CAAC,oBAAoB,EAAE,SAAS,GAAG,eAAe,GAAG,uBAAuB,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;CAiC/H"}
1
+ {"version":3,"file":"rule-host-writer.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/activation/writers/rule-host-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAuB,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzK,OAAO,KAAK,EAAE,uBAAuB,EAA6B,MAAM,gDAAgD,CAAC;AAOzH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,uBAAuB,CAAC;IAClC;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;CAChD;AAuFD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,IAAI,CAUpF;AA0CD,qBAAa,cAAe,YAAW,aAAa;IAClD,QAAQ,CAAC,OAAO,EAAG,gBAAgB,CAAU;IAE7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAA8B;gBAEpD,MAAM,EAAE,oBAAoB;IAKlC,WAAW,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAuFrE,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IA2BvF,oBAAoB,CAClB,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,kBAAkB,EAC5B,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI,CAAC,oBAAoB,EAAE,SAAS,GAAG,eAAe,GAAG,uBAAuB,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;CA2C/H"}
@@ -76,6 +76,65 @@ function assessRiskLevel(parsed) {
76
76
  });
77
77
  return hasDestructive ? 'critical' : 'high';
78
78
  }
79
+ /**
80
+ * PRI-490 — extract and validate the `evidenceRefs` field from parsed artifact
81
+ * contentJson. Returns the validated `string[]` when present and well-formed,
82
+ * or `null` when absent / malformed. Callers treat `null` as "no evidenceRefs".
83
+ *
84
+ * PRI-491 — exported for reuse by CLI/Console display paths that need to show
85
+ * evidenceRefs without reimplementing the validation logic (DRY).
86
+ *
87
+ * ERR-001/ERR-005 (rc-1/rc-2/rc-4): the parsed value is `unknown`; we never
88
+ * `as`-cast. Each element is type-narrowed via `typeof` before acceptance.
89
+ */
90
+ export function extractEvidenceRefs(parsed) {
91
+ if (!Object.hasOwn(parsed, 'evidenceRefs'))
92
+ return null;
93
+ const refs = parsed.evidenceRefs;
94
+ if (!Array.isArray(refs) || refs.length === 0)
95
+ return null;
96
+ const valid = [];
97
+ for (const ref of refs) {
98
+ if (typeof ref !== 'string' || ref.trim() === '')
99
+ return null;
100
+ valid.push(ref);
101
+ }
102
+ return valid;
103
+ }
104
+ /**
105
+ * PRI-490 — validate v2 seed-rule content constraints BEFORE the sandbox runs.
106
+ *
107
+ * v2 seed rules (Owner-labelled evidence path) may only emit `allow` / `block`
108
+ * decisions. `propose_correction` is forbidden because seed-user MVP does not
109
+ * support auto-correct. v2 also requires `evidenceRefs` to be preserved from
110
+ * the BehaviorExamplePack through the artifact chain.
111
+ *
112
+ * Returns `null` when the v2 content is valid, or a rejection reason string
113
+ * describing the first violation. v1 artifacts skip this check entirely.
114
+ *
115
+ * ERR-009 (rc-3): missing required v2 fields fail loud with an actionable
116
+ * reason rather than a silent skip.
117
+ * ERR-089: we check BOTH the propose_correction ban AND the evidenceRefs
118
+ * requirement; fixing one violation must not mask the other.
119
+ */
120
+ function validateV2SeedRuleContent(parsed, goldenTrace) {
121
+ // 1. v2 seed rules forbid propose_correction in goldenTrace.cases.
122
+ // Only `allow` and `block` are permitted (seed-user MVP scope).
123
+ for (const c of goldenTrace.cases) {
124
+ if (c.expectedDecision === 'propose_correction') {
125
+ return 'v2_seed_rule_forbidden_decision:propose_correction';
126
+ }
127
+ }
128
+ // 2. v2 artifacts MUST carry evidenceRefs (non-empty array of non-empty
129
+ // strings) preserved verbatim from BehaviorExamplePack.
130
+ const refs = extractEvidenceRefs(parsed);
131
+ if (refs === null) {
132
+ return Object.hasOwn(parsed, 'evidenceRefs')
133
+ ? 'v2_seed_rule_invalid_evidence_refs'
134
+ : 'v2_seed_rule_missing_evidence_refs';
135
+ }
136
+ return null;
137
+ }
79
138
  export class RuleHostWriter {
80
139
  channel = 'code_tool_hook';
81
140
  gateDeps;
@@ -133,6 +192,17 @@ export class RuleHostWriter {
133
192
  if (gateDecision !== 'accepted_shadow') {
134
193
  return { ok: false, reason: 'gate_decision_not_accepted_shadow', riskLevel: 'high' };
135
194
  }
195
+ // PRI-490 — v2 seed-rule content constraints (allow/block-only +
196
+ // evidenceRefs required). v1 artifacts skip this check entirely, so
197
+ // v1 behavior is unchanged. This runs BEFORE the sandbox so the owner
198
+ // sees an actionable reason rather than an opaque sandbox failure
199
+ // (mirrors the existing extractGoldenTrace defense-in-depth pattern).
200
+ if (parsed.requiresContextVersion === 2) {
201
+ const v2Violation = validateV2SeedRuleContent(parsed, goldenTrace);
202
+ if (v2Violation) {
203
+ return { ok: false, reason: v2Violation, riskLevel: 'high' };
204
+ }
205
+ }
136
206
  const gateResult = evaluateRefinerRuleHostGate({ code: implementationCode, goldenTrace }, this.gateDeps);
137
207
  if (gateResult.decision !== 'accepted_shadow') {
138
208
  return {
@@ -149,9 +219,23 @@ export class RuleHostWriter {
149
219
  const ruleId = typeof artifact.sourceRuleId === 'string' && artifact.sourceRuleId.trim().length > 0
150
220
  ? artifact.sourceRuleId.trim()
151
221
  : input.principleId;
222
+ // PRI-489 (seed-MVP readiness): Owner approval creates a SHADOW
223
+ // activation first. Shadow activations are observation-only — the
224
+ // runtime RuleHost (rule-host.ts) records would-block/would-allow into
225
+ // `shadowDecisions` but never blocks or modifies the tool call. The
226
+ // only shadow -> live transition is `pd activation promote
227
+ // --activation-id ... --confirm`, which atomically rewrites the action
228
+ // to `code_tool_hook_live_activate` inside a BEGIN IMMEDIATE
229
+ // transaction (SqliteActivationStateStore.promoteActivation).
230
+ //
231
+ // Returning `code_tool_hook_live_activate` here was the seed-MVP
232
+ // release blocker: a newly approved rule would immediately block
233
+ // production tool calls with no observation window. Shadow-first
234
+ // gives the owner a reversible observation phase before any live
235
+ // enforcement.
152
236
  return {
153
237
  activationId: `act_code_${ruleId}`,
154
- action: 'code_tool_hook_live_activate',
238
+ action: 'code_tool_hook_shadow_activate',
155
239
  targetRef: `impl://${ruleId}`,
156
240
  };
157
241
  }
@@ -168,6 +252,10 @@ export class RuleHostWriter {
168
252
  const affectedTools = Array.isArray(parsed?.affectedTools)
169
253
  ? parsed.affectedTools.filter((t) => typeof t === 'string')
170
254
  : [];
255
+ // PRI-490 — surface evidence refs in approval context so the owner can
256
+ // see the provenance of the rule when reviewing the approval. Only
257
+ // included when the artifact carries a valid evidenceRefs array.
258
+ const evidenceRefs = parsed ? extractEvidenceRefs(parsed) : null;
171
259
  const summary = `Rule activation request for code_tool_hook: ${ruleId}`;
172
260
  const triggerReason = painReasonSummary.length > 0
173
261
  ? painReasonSummary
@@ -176,9 +264,15 @@ export class RuleHostWriter {
176
264
  const confidenceExplanation = validConfidence
177
265
  ? `Confidence: ${Math.round(confidence * 100)}%. Evaluated through shadow replay and sandbox gate.`
178
266
  : 'Confidence score unavailable. Manual review recommended.';
179
- const effectDescription = affectedTools.length > 0
267
+ const toolsClause = affectedTools.length > 0
180
268
  ? `This rule will intercept tool calls: ${affectedTools.join(', ')}. After approval, matching calls will be evaluated against the rule logic.`
181
269
  : 'This candidate may affect code_tool_hook behavior after approval. Tool scope is not specified.';
270
+ // PRI-490 — append evidence refs to the effect description when present,
271
+ // so the owner has provenance context during approval review.
272
+ const evidenceClause = evidenceRefs && evidenceRefs.length > 0
273
+ ? ` Evidence backing this rule: ${evidenceRefs.join(', ')}.`
274
+ : '';
275
+ const effectDescription = `${toolsClause}${evidenceClause}`;
182
276
  const rejectionEffect = 'The rule will not be activated. Current tool calls will continue unchanged.';
183
277
  return { summary, triggerReason, confidenceExplanation, effectDescription, rejectionEffect };
184
278
  }