@principles/core 1.259.0 → 1.260.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 (235) hide show
  1. package/dist/runtime-v2/__tests__/activation-compatibility-read-model.test.d.ts +2 -0
  2. package/dist/runtime-v2/__tests__/activation-compatibility-read-model.test.d.ts.map +1 -0
  3. package/dist/runtime-v2/__tests__/activation-compatibility-read-model.test.js +148 -0
  4. package/dist/runtime-v2/__tests__/activation-compatibility-read-model.test.js.map +1 -0
  5. package/dist/runtime-v2/__tests__/architecture-regression.test.js +13 -3
  6. package/dist/runtime-v2/__tests__/architecture-regression.test.js.map +1 -1
  7. package/dist/runtime-v2/__tests__/evaluator-repair-loop.test.js +14 -6
  8. package/dist/runtime-v2/__tests__/evaluator-repair-loop.test.js.map +1 -1
  9. package/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.js +1 -0
  10. package/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.js.map +1 -1
  11. package/dist/runtime-v2/__tests__/evaluator-runner-vslice.test.js +5 -0
  12. package/dist/runtime-v2/__tests__/evaluator-runner-vslice.test.js.map +1 -1
  13. package/dist/runtime-v2/__tests__/golden-trace.test.js +2 -2
  14. package/dist/runtime-v2/__tests__/golden-trace.test.js.map +1 -1
  15. package/dist/runtime-v2/__tests__/internalization-contracts.test.js +4 -6
  16. package/dist/runtime-v2/__tests__/internalization-contracts.test.js.map +1 -1
  17. package/dist/runtime-v2/__tests__/internalization-orchestrator.test.js +4 -1
  18. package/dist/runtime-v2/__tests__/internalization-orchestrator.test.js.map +1 -1
  19. package/dist/runtime-v2/__tests__/internalization-state-machine.test.js +3 -2
  20. package/dist/runtime-v2/__tests__/internalization-state-machine.test.js.map +1 -1
  21. package/dist/runtime-v2/__tests__/pain-to-principle-service.test.js +47 -0
  22. package/dist/runtime-v2/__tests__/pain-to-principle-service.test.js.map +1 -1
  23. package/dist/runtime-v2/__tests__/rollout-reviewer-runner-vslice.test.js +66 -1
  24. package/dist/runtime-v2/__tests__/rollout-reviewer-runner-vslice.test.js.map +1 -1
  25. package/dist/runtime-v2/__tests__/rollout-reviewer-verdict-paths.test.d.ts +2 -0
  26. package/dist/runtime-v2/__tests__/rollout-reviewer-verdict-paths.test.d.ts.map +1 -0
  27. package/dist/runtime-v2/__tests__/rollout-reviewer-verdict-paths.test.js +234 -0
  28. package/dist/runtime-v2/__tests__/rollout-reviewer-verdict-paths.test.js.map +1 -0
  29. package/dist/runtime-v2/__tests__/rule-host-evaluator.test.js +4 -4
  30. package/dist/runtime-v2/__tests__/rule-host-evaluator.test.js.map +1 -1
  31. package/dist/runtime-v2/__tests__/story-a-demo.test.js +8 -8
  32. package/dist/runtime-v2/__tests__/story-a-demo.test.js.map +1 -1
  33. package/dist/runtime-v2/activation/__tests__/prompt-activation-reader-contract.test.js +23 -1
  34. package/dist/runtime-v2/activation/__tests__/prompt-activation-reader-contract.test.js.map +1 -1
  35. package/dist/runtime-v2/activation/prompt-activation-reader-contract.d.ts +11 -0
  36. package/dist/runtime-v2/activation/prompt-activation-reader-contract.d.ts.map +1 -1
  37. package/dist/runtime-v2/activation/prompt-activation-reader-contract.js +11 -4
  38. package/dist/runtime-v2/activation/prompt-activation-reader-contract.js.map +1 -1
  39. package/dist/runtime-v2/activation/writers/__tests__/rule-host-writer.test.js +31 -0
  40. package/dist/runtime-v2/activation/writers/__tests__/rule-host-writer.test.js.map +1 -1
  41. package/dist/runtime-v2/activation-compatibility-read-model.d.ts +24 -0
  42. package/dist/runtime-v2/activation-compatibility-read-model.d.ts.map +1 -0
  43. package/dist/runtime-v2/activation-compatibility-read-model.js +132 -0
  44. package/dist/runtime-v2/activation-compatibility-read-model.js.map +1 -0
  45. package/dist/runtime-v2/adapter/output-schema-registry.d.ts.map +1 -1
  46. package/dist/runtime-v2/adapter/output-schema-registry.js +2 -0
  47. package/dist/runtime-v2/adapter/output-schema-registry.js.map +1 -1
  48. package/dist/runtime-v2/config/__tests__/pd-validate-profile-legacy-keys.test.d.ts +13 -0
  49. package/dist/runtime-v2/config/__tests__/pd-validate-profile-legacy-keys.test.d.ts.map +1 -0
  50. package/dist/runtime-v2/config/__tests__/pd-validate-profile-legacy-keys.test.js +73 -0
  51. package/dist/runtime-v2/config/__tests__/pd-validate-profile-legacy-keys.test.js.map +1 -0
  52. package/dist/runtime-v2/config/pd-config-types.d.ts +0 -23
  53. package/dist/runtime-v2/config/pd-config-types.d.ts.map +1 -1
  54. package/dist/runtime-v2/config/pd-config-types.js.map +1 -1
  55. package/dist/runtime-v2/config/pd-profile-constants.d.ts +11 -5
  56. package/dist/runtime-v2/config/pd-profile-constants.d.ts.map +1 -1
  57. package/dist/runtime-v2/config/pd-profile-constants.js +10 -45
  58. package/dist/runtime-v2/config/pd-profile-constants.js.map +1 -1
  59. package/dist/runtime-v2/config/pd-validate-profile.d.ts.map +1 -1
  60. package/dist/runtime-v2/config/pd-validate-profile.js +27 -135
  61. package/dist/runtime-v2/config/pd-validate-profile.js.map +1 -1
  62. package/dist/runtime-v2/core-principles/core-principle-registry.d.ts +4 -4
  63. package/dist/runtime-v2/core-principles/core-principle-registry.d.ts.map +1 -1
  64. package/dist/runtime-v2/core-principles/core-principle-registry.js +2 -2
  65. package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js +7 -2
  66. package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js.map +1 -1
  67. package/dist/runtime-v2/feature-flags/feature-flag-contract.d.ts.map +1 -1
  68. package/dist/runtime-v2/feature-flags/feature-flag-contract.js +9 -5
  69. package/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
  70. package/dist/runtime-v2/golden-trace-replay-validator.d.ts.map +1 -1
  71. package/dist/runtime-v2/golden-trace-replay-validator.js +0 -2
  72. package/dist/runtime-v2/golden-trace-replay-validator.js.map +1 -1
  73. package/dist/runtime-v2/golden-trace.d.ts.map +1 -1
  74. package/dist/runtime-v2/golden-trace.js +0 -3
  75. package/dist/runtime-v2/golden-trace.js.map +1 -1
  76. package/dist/runtime-v2/index.d.ts +16 -10
  77. package/dist/runtime-v2/index.d.ts.map +1 -1
  78. package/dist/runtime-v2/index.js +10 -7
  79. package/dist/runtime-v2/index.js.map +1 -1
  80. package/dist/runtime-v2/internalization/__tests__/a-liveness-reconciliation.test.d.ts +2 -0
  81. package/dist/runtime-v2/internalization/__tests__/a-liveness-reconciliation.test.d.ts.map +1 -0
  82. package/dist/runtime-v2/internalization/__tests__/a-liveness-reconciliation.test.js +157 -0
  83. package/dist/runtime-v2/internalization/__tests__/a-liveness-reconciliation.test.js.map +1 -0
  84. package/dist/runtime-v2/internalization/__tests__/c2-live-runner-chain.test.js +29 -0
  85. package/dist/runtime-v2/internalization/__tests__/c2-live-runner-chain.test.js.map +1 -1
  86. package/dist/runtime-v2/internalization/__tests__/crash-liveness-regressions.test.d.ts +2 -0
  87. package/dist/runtime-v2/internalization/__tests__/crash-liveness-regressions.test.d.ts.map +1 -0
  88. package/dist/runtime-v2/internalization/__tests__/crash-liveness-regressions.test.js +311 -0
  89. package/dist/runtime-v2/internalization/__tests__/crash-liveness-regressions.test.js.map +1 -0
  90. package/dist/runtime-v2/internalization/__tests__/external-review-p0-regressions.test.d.ts +2 -0
  91. package/dist/runtime-v2/internalization/__tests__/external-review-p0-regressions.test.d.ts.map +1 -0
  92. package/dist/runtime-v2/internalization/__tests__/external-review-p0-regressions.test.js +171 -0
  93. package/dist/runtime-v2/internalization/__tests__/external-review-p0-regressions.test.js.map +1 -0
  94. package/dist/runtime-v2/internalization/__tests__/internalization-task-guards.test.js +11 -2
  95. package/dist/runtime-v2/internalization/__tests__/internalization-task-guards.test.js.map +1 -1
  96. package/dist/runtime-v2/internalization/__tests__/internalization-transition-decision.test.d.ts +2 -0
  97. package/dist/runtime-v2/internalization/__tests__/internalization-transition-decision.test.d.ts.map +1 -0
  98. package/dist/runtime-v2/internalization/__tests__/internalization-transition-decision.test.js +335 -0
  99. package/dist/runtime-v2/internalization/__tests__/internalization-transition-decision.test.js.map +1 -0
  100. package/dist/runtime-v2/internalization/__tests__/legacy-rule-contract-scanner.test.d.ts +2 -0
  101. package/dist/runtime-v2/internalization/__tests__/legacy-rule-contract-scanner.test.d.ts.map +1 -0
  102. package/dist/runtime-v2/internalization/__tests__/legacy-rule-contract-scanner.test.js +101 -0
  103. package/dist/runtime-v2/internalization/__tests__/legacy-rule-contract-scanner.test.js.map +1 -0
  104. package/dist/runtime-v2/internalization/__tests__/mvp-core-loop-journeys.test.d.ts +2 -0
  105. package/dist/runtime-v2/internalization/__tests__/mvp-core-loop-journeys.test.d.ts.map +1 -0
  106. package/dist/runtime-v2/internalization/__tests__/mvp-core-loop-journeys.test.js +515 -0
  107. package/dist/runtime-v2/internalization/__tests__/mvp-core-loop-journeys.test.js.map +1 -0
  108. package/dist/runtime-v2/internalization/__tests__/restart-safety.e2e.test.d.ts +2 -0
  109. package/dist/runtime-v2/internalization/__tests__/restart-safety.e2e.test.d.ts.map +1 -0
  110. package/dist/runtime-v2/internalization/__tests__/restart-safety.e2e.test.js +167 -0
  111. package/dist/runtime-v2/internalization/__tests__/restart-safety.e2e.test.js.map +1 -0
  112. package/dist/runtime-v2/internalization/__tests__/verdict-drift-regressions.test.d.ts +2 -0
  113. package/dist/runtime-v2/internalization/__tests__/verdict-drift-regressions.test.d.ts.map +1 -0
  114. package/dist/runtime-v2/internalization/__tests__/verdict-drift-regressions.test.js +601 -0
  115. package/dist/runtime-v2/internalization/__tests__/verdict-drift-regressions.test.js.map +1 -0
  116. package/dist/runtime-v2/internalization/artificer-runner.d.ts +7 -0
  117. package/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
  118. package/dist/runtime-v2/internalization/artificer-runner.js +18 -2
  119. package/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
  120. package/dist/runtime-v2/internalization/evaluator-runner.d.ts +49 -0
  121. package/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
  122. package/dist/runtime-v2/internalization/evaluator-runner.js +390 -98
  123. package/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
  124. package/dist/runtime-v2/internalization/index.d.ts +2 -0
  125. package/dist/runtime-v2/internalization/index.d.ts.map +1 -1
  126. package/dist/runtime-v2/internalization/index.js +1 -0
  127. package/dist/runtime-v2/internalization/index.js.map +1 -1
  128. package/dist/runtime-v2/internalization/internalization-orchestrator.d.ts +127 -0
  129. package/dist/runtime-v2/internalization/internalization-orchestrator.d.ts.map +1 -1
  130. package/dist/runtime-v2/internalization/internalization-orchestrator.js +345 -1
  131. package/dist/runtime-v2/internalization/internalization-orchestrator.js.map +1 -1
  132. package/dist/runtime-v2/internalization/internalization-task-guards.d.ts +9 -2
  133. package/dist/runtime-v2/internalization/internalization-task-guards.d.ts.map +1 -1
  134. package/dist/runtime-v2/internalization/internalization-task-guards.js +14 -3
  135. package/dist/runtime-v2/internalization/internalization-task-guards.js.map +1 -1
  136. package/dist/runtime-v2/internalization/internalization-transition-decision.d.ts +61 -0
  137. package/dist/runtime-v2/internalization/internalization-transition-decision.d.ts.map +1 -0
  138. package/dist/runtime-v2/internalization/internalization-transition-decision.js +84 -0
  139. package/dist/runtime-v2/internalization/internalization-transition-decision.js.map +1 -0
  140. package/dist/runtime-v2/internalization/legacy-rule-contract-scanner.d.ts +51 -0
  141. package/dist/runtime-v2/internalization/legacy-rule-contract-scanner.d.ts.map +1 -0
  142. package/dist/runtime-v2/internalization/legacy-rule-contract-scanner.js +81 -0
  143. package/dist/runtime-v2/internalization/legacy-rule-contract-scanner.js.map +1 -0
  144. package/dist/runtime-v2/internalization/peer-runner-contracts.d.ts +17 -1
  145. package/dist/runtime-v2/internalization/peer-runner-contracts.d.ts.map +1 -1
  146. package/dist/runtime-v2/internalization/peer-runner-contracts.js.map +1 -1
  147. package/dist/runtime-v2/internalization/pitask-metadata.d.ts +99 -2
  148. package/dist/runtime-v2/internalization/pitask-metadata.d.ts.map +1 -1
  149. package/dist/runtime-v2/internalization/pitask-metadata.js +148 -0
  150. package/dist/runtime-v2/internalization/pitask-metadata.js.map +1 -1
  151. package/dist/runtime-v2/internalization/refiner-sandbox-wrapper.d.ts.map +1 -1
  152. package/dist/runtime-v2/internalization/refiner-sandbox-wrapper.js +0 -2
  153. package/dist/runtime-v2/internalization/refiner-sandbox-wrapper.js.map +1 -1
  154. package/dist/runtime-v2/internalization/rollout-reviewer-runner.d.ts +147 -0
  155. package/dist/runtime-v2/internalization/rollout-reviewer-runner.d.ts.map +1 -1
  156. package/dist/runtime-v2/internalization/rollout-reviewer-runner.js +672 -1
  157. package/dist/runtime-v2/internalization/rollout-reviewer-runner.js.map +1 -1
  158. package/dist/runtime-v2/internalization/rule-host-contracts.d.ts +0 -3
  159. package/dist/runtime-v2/internalization/rule-host-contracts.d.ts.map +1 -1
  160. package/dist/runtime-v2/internalization/rule-host-helpers.d.ts +4 -2
  161. package/dist/runtime-v2/internalization/rule-host-helpers.d.ts.map +1 -1
  162. package/dist/runtime-v2/internalization/rule-host-helpers.js +4 -2
  163. package/dist/runtime-v2/internalization/rule-host-helpers.js.map +1 -1
  164. package/dist/runtime-v2/internalization/scribe-runner.d.ts +2 -0
  165. package/dist/runtime-v2/internalization/scribe-runner.d.ts.map +1 -1
  166. package/dist/runtime-v2/internalization/scribe-runner.js +21 -1
  167. package/dist/runtime-v2/internalization/scribe-runner.js.map +1 -1
  168. package/dist/runtime-v2/pain-signal-observability.js +3 -3
  169. package/dist/runtime-v2/pain-signal-observability.js.map +1 -1
  170. package/dist/runtime-v2/runner/base-peer-runner.d.ts +9 -0
  171. package/dist/runtime-v2/runner/base-peer-runner.d.ts.map +1 -1
  172. package/dist/runtime-v2/runner/base-peer-runner.js +22 -0
  173. package/dist/runtime-v2/runner/base-peer-runner.js.map +1 -1
  174. package/dist/runtime-v2/signal-collector/__tests__/llm-payload-contract.test.d.ts +2 -0
  175. package/dist/runtime-v2/signal-collector/__tests__/llm-payload-contract.test.d.ts.map +1 -0
  176. package/dist/runtime-v2/signal-collector/__tests__/llm-payload-contract.test.js +130 -0
  177. package/dist/runtime-v2/signal-collector/__tests__/llm-payload-contract.test.js.map +1 -0
  178. package/dist/runtime-v2/signal-collector/index.d.ts +1 -1
  179. package/dist/runtime-v2/signal-collector/index.d.ts.map +1 -1
  180. package/dist/runtime-v2/signal-collector/index.js +1 -1
  181. package/dist/runtime-v2/signal-collector/index.js.map +1 -1
  182. package/dist/runtime-v2/signal-collector/llm-stage.d.ts +15 -0
  183. package/dist/runtime-v2/signal-collector/llm-stage.d.ts.map +1 -1
  184. package/dist/runtime-v2/signal-collector/llm-stage.js +28 -0
  185. package/dist/runtime-v2/signal-collector/llm-stage.js.map +1 -1
  186. package/dist/runtime-v2/signal-collector/types.d.ts +9 -1
  187. package/dist/runtime-v2/signal-collector/types.d.ts.map +1 -1
  188. package/dist/runtime-v2/signal-collector/types.js +13 -1
  189. package/dist/runtime-v2/signal-collector/types.js.map +1 -1
  190. package/dist/runtime-v2/store/reconciliation-cursor-store.d.ts +23 -0
  191. package/dist/runtime-v2/store/reconciliation-cursor-store.d.ts.map +1 -0
  192. package/dist/runtime-v2/store/reconciliation-cursor-store.js +34 -0
  193. package/dist/runtime-v2/store/reconciliation-cursor-store.js.map +1 -0
  194. package/dist/runtime-v2/store/sqlite-connection.d.ts.map +1 -1
  195. package/dist/runtime-v2/store/sqlite-connection.js +7 -0
  196. package/dist/runtime-v2/store/sqlite-connection.js.map +1 -1
  197. package/dist/runtime-v2/store/task/memory-task-store.d.ts.map +1 -1
  198. package/dist/runtime-v2/store/task/memory-task-store.js +22 -0
  199. package/dist/runtime-v2/store/task/memory-task-store.js.map +1 -1
  200. package/dist/runtime-v2/store/task/sqlite-task-store.d.ts.map +1 -1
  201. package/dist/runtime-v2/store/task/sqlite-task-store.js +20 -0
  202. package/dist/runtime-v2/store/task/sqlite-task-store.js.map +1 -1
  203. package/dist/runtime-v2/store/task/task-store.d.ts +14 -0
  204. package/dist/runtime-v2/store/task/task-store.d.ts.map +1 -1
  205. package/dist/runtime-v2/story-a-demo.d.ts.map +1 -1
  206. package/dist/runtime-v2/story-a-demo.js +2 -0
  207. package/dist/runtime-v2/story-a-demo.js.map +1 -1
  208. package/dist/runtime-v2/tools/artificer-l2-tool-contract.d.ts.map +1 -1
  209. package/dist/runtime-v2/tools/artificer-l2-tool-contract.js +0 -4
  210. package/dist/runtime-v2/tools/artificer-l2-tool-contract.js.map +1 -1
  211. package/dist/runtime-v2/types/event-payload.d.ts +1 -20
  212. package/dist/runtime-v2/types/event-payload.d.ts.map +1 -1
  213. package/dist/runtime-v2/types/event-payload.js +0 -12
  214. package/dist/runtime-v2/types/event-payload.js.map +1 -1
  215. package/dist/runtime-v2/types/event-types.d.ts +3 -18
  216. package/dist/runtime-v2/types/event-types.d.ts.map +1 -1
  217. package/dist/runtime-v2/types/event-types.js +0 -8
  218. package/dist/runtime-v2/types/event-types.js.map +1 -1
  219. package/dist/runtime-v2/types/index.d.ts +3 -3
  220. package/dist/runtime-v2/types/index.d.ts.map +1 -1
  221. package/dist/runtime-v2/types/index.js +2 -2
  222. package/dist/runtime-v2/types/index.js.map +1 -1
  223. package/package.json +1 -1
  224. package/dist/runtime-v2/thinking-models/__tests__/thinking-models-policy.test.d.ts +0 -2
  225. package/dist/runtime-v2/thinking-models/__tests__/thinking-models-policy.test.d.ts.map +0 -1
  226. package/dist/runtime-v2/thinking-models/__tests__/thinking-models-policy.test.js +0 -149
  227. package/dist/runtime-v2/thinking-models/__tests__/thinking-models-policy.test.js.map +0 -1
  228. package/dist/runtime-v2/thinking-models/index.d.ts +0 -3
  229. package/dist/runtime-v2/thinking-models/index.d.ts.map +0 -1
  230. package/dist/runtime-v2/thinking-models/index.js +0 -3
  231. package/dist/runtime-v2/thinking-models/index.js.map +0 -1
  232. package/dist/runtime-v2/thinking-models/thinking-models-policy.d.ts +0 -73
  233. package/dist/runtime-v2/thinking-models/thinking-models-policy.d.ts.map +0 -1
  234. package/dist/runtime-v2/thinking-models/thinking-models-policy.js +0 -227
  235. package/dist/runtime-v2/thinking-models/thinking-models-policy.js.map +0 -1
@@ -0,0 +1,167 @@
1
+ /**
2
+ * Journey 11 — Restart Safety (Worker 隔离 E2E)。
3
+ *
4
+ * 此前 PARTIAL 的原因: 只做了幂等设计级验证。本测试把 J5/J8 场景拆到
5
+ * 多个独立 Worker——每个 Worker 拥有独立模块图/事件循环/DB 连接,退出后
6
+ * 内存状态全部消失;下一 stage 新 Worker 从 SQLite 重读,等价于 OpenClaw
7
+ * 在 REVISING / 修订推进 / WAITING_FOR_DISPATCH 各阶段重启。
8
+ *
9
+ * 断言 (INV-08): 状态不丢、不重复创建任务、不重复 approval、不重复
10
+ * activation、不重复 promotion。
11
+ */
12
+ import { describe, it, expect } from 'vitest';
13
+ import { Worker } from 'node:worker_threads';
14
+ import * as fs from 'node:fs';
15
+ import * as path from 'node:path';
16
+ import * as os from 'node:os';
17
+ import { fileURLToPath } from 'node:url';
18
+ const here = path.dirname(fileURLToPath(import.meta.url));
19
+ const WORKER_SCRIPT = path.join(here, 'restart-safety-worker.mjs');
20
+ /** stage 白名单: 只接受枚举值(注入防御) */
21
+ const ALLOWED_STAGES = new Set(['seed', 'repair-complete', 'evaluator-approved', 'rollout-approve', 'eval-approved-nocommit', 'rollout-succeed', 'reconcile']);
22
+ function runStage(workspaceDir, stage) {
23
+ if (!ALLOWED_STAGES.has(stage)) {
24
+ return Promise.reject(new Error(`unknown stage: ${stage}`));
25
+ }
26
+ if (!fs.existsSync(workspaceDir)) {
27
+ return Promise.reject(new Error(`workspace dir does not exist: ${workspaceDir}`));
28
+ }
29
+ return new Promise((resolve, reject) => {
30
+ const worker = new Worker(WORKER_SCRIPT, { workerData: { workspaceDir, stage } });
31
+ worker.on('message', (m) => { void worker.terminate(); resolve(m); });
32
+ worker.on('error', (e) => reject(e));
33
+ worker.on('exit', (code) => {
34
+ if (code !== 0)
35
+ reject(new Error(`worker stage ${stage} exited with ${code}`));
36
+ });
37
+ });
38
+ }
39
+ describe('Journey 11 — Restart Safety (独立 Worker 逐阶段推进)', () => {
40
+ it('每阶段重启后: 状态保留、零重复任务/approval/activation', { timeout: 180_000 }, async () => {
41
+ const workspaceDir = fs.mkdtempSync(path.join(os.tmpdir(), 'pd-restart-'));
42
+ try {
43
+ // ── Worker 1: seed (evaluator needs_revision + repair seeded) ──
44
+ const s1 = await runStage(workspaceDir, 'seed');
45
+ expect(s1.tasks['evaluator-j11-prompt']).toBe('succeeded');
46
+ expect(s1.tasks['artificer-repair-j11-1']).toBe('pending');
47
+ expect(s1.approvals).toBe(0);
48
+ expect(s1.activations.length).toBe(0);
49
+ // ── Worker 2 (重启后): repair 完成 → commit → evaluator reopen ──
50
+ const s2 = await runStage(workspaceDir, 'repair-complete');
51
+ expect(s2.commit).toBe('revision_reopened');
52
+ expect(s2.tasks['evaluator-j11-prompt']).toBe('pending'); // reopen 存活
53
+ expect(s2.tasks['scribe-j11-prompt']).toBe('succeeded'); // 前置不丢
54
+ expect(s2.approvals).toBe(0);
55
+ expect(s2.activations.length).toBe(0);
56
+ // 幂等重放 (INV-8): 同 stage 再跑(consumer 重复周期)→ 不产生 rollout
57
+ const s2b = await runStage(workspaceDir, 'repair-complete');
58
+ expect(s2b.tasks['evaluator-j11-prompt']).toBe('pending');
59
+ expect(Object.keys(s2b.tasks).filter((id) => id.includes('rollout'))).toEqual([]);
60
+ // ── Worker 3 (重启后): evaluator 修订 approved → seed rollout ──
61
+ const s3 = await runStage(workspaceDir, 'evaluator-approved');
62
+ expect(s3.commit).toBe('successor_created');
63
+ expect(s3.tasks['rollout_reviewer-j11-prompt']).toBe('pending');
64
+ // 幂等重放: → successor_exists, rollout 任务数恒为 1
65
+ const s3b = await runStage(workspaceDir, 'evaluator-approved');
66
+ expect(s3b.commit).toBe('successor_exists');
67
+ const rolloutCount = Object.keys(s3b.tasks).filter((id) => id.startsWith('rollout_reviewer-')).length;
68
+ expect(rolloutCount).toBe(1);
69
+ // ── Worker 4 (重启后): rollout approve_rollout → 自动 dispatch ──
70
+ const s4 = await runStage(workspaceDir, 'rollout-approve');
71
+ expect(s4.runStatus).toBe('succeeded');
72
+ expect(s4.activations.length).toBe(1);
73
+ expect(s4.activations[0]?.action).toBe('prompt_activate');
74
+ expect(s4.approvals).toBe(0); // 低风险自动路径零审批打扰
75
+ // 幂等重放 dispatch: rollout 已 succeeded(lease 拒绝)→ activation 不重复
76
+ const s4b = await runStage(workspaceDir, 'rollout-approve');
77
+ expect(s4b.activations.length).toBe(1);
78
+ }
79
+ finally {
80
+ try {
81
+ fs.rmSync(workspaceDir, { recursive: true, force: true });
82
+ }
83
+ catch { /* temp */ }
84
+ }
85
+ });
86
+ it('A: crash-after-succeeded → 新 consumer 周期自动恢复 successor,恰好一次,重放无重复', { timeout: 180_000 }, async () => {
87
+ const workspaceDir = fs.mkdtempSync(path.join(os.tmpdir(), 'pd-restart-a-'));
88
+ try {
89
+ // 进程 1: 常规链至 evaluator needs_revision + repair seeded
90
+ const s1 = await runStage(workspaceDir, 'seed');
91
+ expect(s1.tasks['evaluator-j11-prompt']).toBe('succeeded');
92
+ // 进程 2: repair 完成 + commit (evaluator reopen) — 常规路径
93
+ const s2 = await runStage(workspaceDir, 'repair-complete');
94
+ expect(s2.commit).toBe('revision_reopened');
95
+ // 进程 3: evaluator 修订轮 approved 已持久化, 但 commit 前 crash
96
+ const s3 = await runStage(workspaceDir, 'eval-approved-nocommit');
97
+ expect(s3.tasks['evaluator-j11-prompt']).toBe('succeeded');
98
+ // crash 后果: rollout successor 缺失 (没有任何任务创建它)
99
+ expect(Object.keys(s3.tasks).filter((id) => id.includes('rollout'))).toEqual([]);
100
+ // 进程 4 (重启后的 auto-consumer): 只跑 reconciliation
101
+ const s4 = await runStage(workspaceDir, 'reconcile');
102
+ console.log('A-DEBUG s4:', JSON.stringify(s4.reconcile));
103
+ expect(s4.reconcile?.recovered).toBe(1);
104
+ expect(s4.tasks['rollout_reviewer-j11-prompt']).toBe('pending'); // 自动恢复
105
+ // 重放无重复: 再跑两次 reconciliation — successor_exists,无新增任务/重复出边
106
+ const s5 = await runStage(workspaceDir, 'reconcile');
107
+ const s6 = await runStage(workspaceDir, 'reconcile');
108
+ expect(s5.reconcile?.recovered).toBe(0);
109
+ expect(s6.reconcile?.recovered).toBe(0);
110
+ const rollouts = Object.keys(s6.tasks).filter((id) => id.startsWith('rollout_reviewer-'));
111
+ expect(rollouts.length).toBe(1);
112
+ expect(s6.tasks['rollout_reviewer-j11-prompt']).toBe('pending');
113
+ }
114
+ finally {
115
+ try {
116
+ fs.rmSync(workspaceDir, { recursive: true, force: true });
117
+ }
118
+ catch { /* temp */ }
119
+ }
120
+ });
121
+ it('B: 同一 upstream revision wave 连续 reconcile 3 次 — successor revisionCount 只 +1', { timeout: 180_000 }, async () => {
122
+ const workspaceDir = fs.mkdtempSync(path.join(os.tmpdir(), 'pd-restart-b-'));
123
+ try {
124
+ // 建立 cascade 前置: evaluator 修订轮 approved + 正常 commit (rollout 创建)
125
+ await runStage(workspaceDir, 'seed');
126
+ await runStage(workspaceDir, 'repair-complete'); // evaluator reopen rc=1
127
+ await runStage(workspaceDir, 'evaluator-approved'); // commit → rollout created
128
+ await runStage(workspaceDir, 'rollout-succeed'); // 下游 succeeded (cascade 可触发)
129
+ // 第二次 revision wave: evaluator 再次 approved 后 crash (无 commit)
130
+ await runStage(workspaceDir, 'eval-approved-nocommit');
131
+ // 第一次 reconcile: cascade reopen rollout rc 0→1
132
+ const r1 = await runStage(workspaceDir, 'reconcile');
133
+ expect(r1.reconcile?.recovered).toBeGreaterThanOrEqual(1);
134
+ // 用独立连接读取 successor 的 revisionCount (worker 摘要不含元数据)
135
+ const { SqliteConnection } = await import('@principles/core/runtime-v2');
136
+ const readRevisionCount = () => {
137
+ const conn = new SqliteConnection(workspaceDir);
138
+ try {
139
+ const row = conn.getDb().prepare("SELECT diagnostic_json FROM tasks WHERE task_id = 'rollout_reviewer-j11-prompt'").get();
140
+ if (!row?.diagnostic_json)
141
+ return -1;
142
+ const parsed = JSON.parse(row.diagnostic_json);
143
+ return parsed.pi_metadata?.revisionCount ?? 0;
144
+ }
145
+ finally {
146
+ try {
147
+ conn.close();
148
+ }
149
+ catch { /* best-effort */ }
150
+ }
151
+ };
152
+ const rc1 = readRevisionCount();
153
+ // 连续两次 reconciliation 重放 — 因果幂等: revisionCount 不变
154
+ await runStage(workspaceDir, 'reconcile');
155
+ await runStage(workspaceDir, 'reconcile');
156
+ expect(readRevisionCount()).toBe(rc1);
157
+ expect(rc1).toBe(1); // 整个 wave 只发生过一次 reopen
158
+ }
159
+ finally {
160
+ try {
161
+ fs.rmSync(workspaceDir, { recursive: true, force: true });
162
+ }
163
+ catch { /* temp */ }
164
+ }
165
+ });
166
+ });
167
+ //# sourceMappingURL=restart-safety.e2e.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restart-safety.e2e.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/internalization/__tests__/restart-safety.e2e.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=verdict-drift-regressions.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verdict-drift-regressions.test.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/internalization/__tests__/verdict-drift-regressions.test.ts"],"names":[],"mappings":""}