@principles/core 1.150.0 → 1.152.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 (203) hide show
  1. package/dist/prompt-builder/__tests__/prompt-builder-core.test.js.map +1 -1
  2. package/dist/quality-scorecard/__tests__/quality-scorecard.test.js.map +1 -1
  3. package/dist/runtime-v2/__tests__/adversarial-loop.test.d.ts +2 -0
  4. package/dist/runtime-v2/__tests__/adversarial-loop.test.d.ts.map +1 -0
  5. package/dist/runtime-v2/__tests__/adversarial-loop.test.js +435 -0
  6. package/dist/runtime-v2/__tests__/adversarial-loop.test.js.map +1 -0
  7. package/dist/runtime-v2/__tests__/architecture-regression.test.js +5 -0
  8. package/dist/runtime-v2/__tests__/architecture-regression.test.js.map +1 -1
  9. package/dist/runtime-v2/__tests__/artificer-runner-vslice.test.js.map +1 -1
  10. package/dist/runtime-v2/__tests__/build-golden-trace-from-artificer.test.d.ts +2 -0
  11. package/dist/runtime-v2/__tests__/build-golden-trace-from-artificer.test.d.ts.map +1 -0
  12. package/dist/runtime-v2/__tests__/build-golden-trace-from-artificer.test.js +169 -0
  13. package/dist/runtime-v2/__tests__/build-golden-trace-from-artificer.test.js.map +1 -0
  14. package/dist/runtime-v2/__tests__/dreamer-output-validator.test.js.map +1 -1
  15. package/dist/runtime-v2/__tests__/dreamer-runner-vslice.test.js.map +1 -1
  16. package/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.d.ts +2 -0
  17. package/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.d.ts.map +1 -0
  18. package/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.js +815 -0
  19. package/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.js.map +1 -0
  20. package/dist/runtime-v2/__tests__/evaluator-runner-vslice.test.js.map +1 -1
  21. package/dist/runtime-v2/__tests__/evidence-sanitizer.test.js +4 -3
  22. package/dist/runtime-v2/__tests__/evidence-sanitizer.test.js.map +1 -1
  23. package/dist/runtime-v2/__tests__/feedback/privacy-preview.test.js.map +1 -1
  24. package/dist/runtime-v2/__tests__/feedback/render-github-url.test.js.map +1 -1
  25. package/dist/runtime-v2/__tests__/feedback/render-markdown.test.js.map +1 -1
  26. package/dist/runtime-v2/__tests__/internalization-consumer-product-path.test.js.map +1 -1
  27. package/dist/runtime-v2/__tests__/internalization-orchestrator.test.js +1 -3
  28. package/dist/runtime-v2/__tests__/internalization-orchestrator.test.js.map +1 -1
  29. package/dist/runtime-v2/__tests__/internalization-peer-runner-contracts.test.js +6 -0
  30. package/dist/runtime-v2/__tests__/internalization-peer-runner-contracts.test.js.map +1 -1
  31. package/dist/runtime-v2/__tests__/internalization-queue-read-model.test.js +0 -1
  32. package/dist/runtime-v2/__tests__/internalization-queue-read-model.test.js.map +1 -1
  33. package/dist/runtime-v2/__tests__/internalization-state-machine.test.js.map +1 -1
  34. package/dist/runtime-v2/__tests__/mainline-product-path.test.js.map +1 -1
  35. package/dist/runtime-v2/__tests__/pain-chain-read-model.test.js +0 -1
  36. package/dist/runtime-v2/__tests__/pain-chain-read-model.test.js.map +1 -1
  37. package/dist/runtime-v2/__tests__/pain-evidence-contract.test.js.map +1 -1
  38. package/dist/runtime-v2/__tests__/pain-signal-observability.test.js +1 -1
  39. package/dist/runtime-v2/__tests__/pain-signal-observability.test.js.map +1 -1
  40. package/dist/runtime-v2/__tests__/philosopher-runner-vslice.test.js.map +1 -1
  41. package/dist/runtime-v2/__tests__/pitask-metadata.test.js +5 -1
  42. package/dist/runtime-v2/__tests__/pitask-metadata.test.js.map +1 -1
  43. package/dist/runtime-v2/__tests__/proven-channel-baseline.test.js +1 -1
  44. package/dist/runtime-v2/__tests__/proven-channel-baseline.test.js.map +1 -1
  45. package/dist/runtime-v2/__tests__/pruning-read-model.test.js.map +1 -1
  46. package/dist/runtime-v2/__tests__/rulehost-oob-defense-simulation.test.js.map +1 -1
  47. package/dist/runtime-v2/__tests__/scribe-runner-vslice.test.js.map +1 -1
  48. package/dist/runtime-v2/__tests__/task-three-strikes.test.js.map +1 -1
  49. package/dist/runtime-v2/__tests__/trace-refiner-agent.test.js.map +1 -1
  50. package/dist/runtime-v2/__tests__/trainer-output-validator.test.js.map +1 -1
  51. package/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js.map +1 -1
  52. package/dist/runtime-v2/activation/__tests__/approval-store-extended.test.js +0 -1
  53. package/dist/runtime-v2/activation/__tests__/approval-store-extended.test.js.map +1 -1
  54. package/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.js +33 -0
  55. package/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.js.map +1 -1
  56. package/dist/runtime-v2/activation/activation-types.d.ts +1 -0
  57. package/dist/runtime-v2/activation/activation-types.d.ts.map +1 -1
  58. package/dist/runtime-v2/activation/activation-types.js.map +1 -1
  59. package/dist/runtime-v2/activation/memory-activation-state-store.d.ts +1 -0
  60. package/dist/runtime-v2/activation/memory-activation-state-store.d.ts.map +1 -1
  61. package/dist/runtime-v2/activation/memory-activation-state-store.js +9 -0
  62. package/dist/runtime-v2/activation/memory-activation-state-store.js.map +1 -1
  63. package/dist/runtime-v2/activation/sqlite-activation-state-store.d.ts +1 -0
  64. package/dist/runtime-v2/activation/sqlite-activation-state-store.d.ts.map +1 -1
  65. package/dist/runtime-v2/activation/sqlite-activation-state-store.js +18 -0
  66. package/dist/runtime-v2/activation/sqlite-activation-state-store.js.map +1 -1
  67. package/dist/runtime-v2/adapter/__tests__/artificer-l2-adapter.test.d.ts +2 -0
  68. package/dist/runtime-v2/adapter/__tests__/artificer-l2-adapter.test.d.ts.map +1 -0
  69. package/dist/runtime-v2/adapter/__tests__/artificer-l2-adapter.test.js +510 -0
  70. package/dist/runtime-v2/adapter/__tests__/artificer-l2-adapter.test.js.map +1 -0
  71. package/dist/runtime-v2/adapter/__tests__/schema-prompt-adapter.test.js +4 -4
  72. package/dist/runtime-v2/adapter/__tests__/schema-prompt-adapter.test.js.map +1 -1
  73. package/dist/runtime-v2/adapter/__tests__/structured-output-repair.test.js.map +1 -1
  74. package/dist/runtime-v2/adapter/artificer-l2-adapter.d.ts +47 -0
  75. package/dist/runtime-v2/adapter/artificer-l2-adapter.d.ts.map +1 -0
  76. package/dist/runtime-v2/adapter/artificer-l2-adapter.js +307 -0
  77. package/dist/runtime-v2/adapter/artificer-l2-adapter.js.map +1 -0
  78. package/dist/runtime-v2/adversarial-loop.d.ts +65 -0
  79. package/dist/runtime-v2/adversarial-loop.d.ts.map +1 -0
  80. package/dist/runtime-v2/adversarial-loop.js +203 -0
  81. package/dist/runtime-v2/adversarial-loop.js.map +1 -0
  82. package/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.js +2 -2
  83. package/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.js.map +1 -1
  84. package/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.js +1 -1
  85. package/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.js.map +1 -1
  86. package/dist/runtime-v2/golden-trace.d.ts +30 -0
  87. package/dist/runtime-v2/golden-trace.d.ts.map +1 -1
  88. package/dist/runtime-v2/golden-trace.js +57 -0
  89. package/dist/runtime-v2/golden-trace.js.map +1 -1
  90. package/dist/runtime-v2/index.d.ts +10 -6
  91. package/dist/runtime-v2/index.d.ts.map +1 -1
  92. package/dist/runtime-v2/index.js +7 -3
  93. package/dist/runtime-v2/index.js.map +1 -1
  94. package/dist/runtime-v2/internalization/__tests__/adversarial-case.test.d.ts +2 -0
  95. package/dist/runtime-v2/internalization/__tests__/adversarial-case.test.d.ts.map +1 -0
  96. package/dist/runtime-v2/internalization/__tests__/adversarial-case.test.js +139 -0
  97. package/dist/runtime-v2/internalization/__tests__/adversarial-case.test.js.map +1 -0
  98. package/dist/runtime-v2/internalization/__tests__/adversarial-feedback.test.d.ts +2 -0
  99. package/dist/runtime-v2/internalization/__tests__/adversarial-feedback.test.d.ts.map +1 -0
  100. package/dist/runtime-v2/internalization/__tests__/adversarial-feedback.test.js +62 -0
  101. package/dist/runtime-v2/internalization/__tests__/adversarial-feedback.test.js.map +1 -0
  102. package/dist/runtime-v2/internalization/__tests__/artificer-output-v2.test.d.ts +2 -0
  103. package/dist/runtime-v2/internalization/__tests__/artificer-output-v2.test.d.ts.map +1 -0
  104. package/dist/runtime-v2/internalization/__tests__/artificer-output-v2.test.js +249 -0
  105. package/dist/runtime-v2/internalization/__tests__/artificer-output-v2.test.js.map +1 -0
  106. package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.d.ts +2 -0
  107. package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.d.ts.map +1 -0
  108. package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.js +24 -0
  109. package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.js.map +1 -0
  110. package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js +2 -2
  111. package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js.map +1 -1
  112. package/dist/runtime-v2/internalization/__tests__/diag-distiller-runner.test.js.map +1 -1
  113. package/dist/runtime-v2/internalization/__tests__/diag-rootcause-runner.test.js.map +1 -1
  114. package/dist/runtime-v2/internalization/__tests__/diag-router-runner.test.js.map +1 -1
  115. package/dist/runtime-v2/internalization/__tests__/evaluator-output-v2.test.d.ts +2 -0
  116. package/dist/runtime-v2/internalization/__tests__/evaluator-output-v2.test.d.ts.map +1 -0
  117. package/dist/runtime-v2/internalization/__tests__/evaluator-output-v2.test.js +209 -0
  118. package/dist/runtime-v2/internalization/__tests__/evaluator-output-v2.test.js.map +1 -0
  119. package/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder-v2.test.d.ts +2 -0
  120. package/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder-v2.test.d.ts.map +1 -0
  121. package/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder-v2.test.js +125 -0
  122. package/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder-v2.test.js.map +1 -0
  123. package/dist/runtime-v2/internalization/__tests__/refiner-sandbox-wrapper.test.js.map +1 -1
  124. package/dist/runtime-v2/internalization/adversarial-case.d.ts +32 -0
  125. package/dist/runtime-v2/internalization/adversarial-case.d.ts.map +1 -0
  126. package/dist/runtime-v2/internalization/adversarial-case.js +68 -0
  127. package/dist/runtime-v2/internalization/adversarial-case.js.map +1 -0
  128. package/dist/runtime-v2/internalization/adversarial-feedback.d.ts +23 -0
  129. package/dist/runtime-v2/internalization/adversarial-feedback.d.ts.map +1 -0
  130. package/dist/runtime-v2/internalization/adversarial-feedback.js +20 -0
  131. package/dist/runtime-v2/internalization/adversarial-feedback.js.map +1 -0
  132. package/dist/runtime-v2/internalization/artificer-output.d.ts +42 -0
  133. package/dist/runtime-v2/internalization/artificer-output.d.ts.map +1 -1
  134. package/dist/runtime-v2/internalization/artificer-output.js +147 -0
  135. package/dist/runtime-v2/internalization/artificer-output.js.map +1 -1
  136. package/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts +10 -2
  137. package/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts.map +1 -1
  138. package/dist/runtime-v2/internalization/artificer-prompt-builder.js +26 -3
  139. package/dist/runtime-v2/internalization/artificer-prompt-builder.js.map +1 -1
  140. package/dist/runtime-v2/internalization/artificer-runner.d.ts +7 -0
  141. package/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
  142. package/dist/runtime-v2/internalization/artificer-runner.js +11 -2
  143. package/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
  144. package/dist/runtime-v2/internalization/evaluator-output.d.ts +63 -0
  145. package/dist/runtime-v2/internalization/evaluator-output.d.ts.map +1 -1
  146. package/dist/runtime-v2/internalization/evaluator-output.js +158 -0
  147. package/dist/runtime-v2/internalization/evaluator-output.js.map +1 -1
  148. package/dist/runtime-v2/internalization/evaluator-prompt-builder.d.ts +8 -1
  149. package/dist/runtime-v2/internalization/evaluator-prompt-builder.d.ts.map +1 -1
  150. package/dist/runtime-v2/internalization/evaluator-prompt-builder.js +16 -3
  151. package/dist/runtime-v2/internalization/evaluator-prompt-builder.js.map +1 -1
  152. package/dist/runtime-v2/internalization/evaluator-runner.d.ts +82 -2
  153. package/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
  154. package/dist/runtime-v2/internalization/evaluator-runner.js +496 -4
  155. package/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
  156. package/dist/runtime-v2/internalization/index.d.ts +9 -4
  157. package/dist/runtime-v2/internalization/index.d.ts.map +1 -1
  158. package/dist/runtime-v2/internalization/index.js +6 -2
  159. package/dist/runtime-v2/internalization/index.js.map +1 -1
  160. package/dist/runtime-v2/internalization/peer-runner-contracts.d.ts +2 -0
  161. package/dist/runtime-v2/internalization/peer-runner-contracts.d.ts.map +1 -1
  162. package/dist/runtime-v2/internalization/peer-runner-contracts.js +19 -9
  163. package/dist/runtime-v2/internalization/peer-runner-contracts.js.map +1 -1
  164. package/dist/runtime-v2/internalization/pitask-metadata.d.ts +7 -0
  165. package/dist/runtime-v2/internalization/pitask-metadata.d.ts.map +1 -1
  166. package/dist/runtime-v2/internalization/pitask-metadata.js +15 -5
  167. package/dist/runtime-v2/internalization/pitask-metadata.js.map +1 -1
  168. package/dist/runtime-v2/internalization/prompt-serializer.d.ts +3 -0
  169. package/dist/runtime-v2/internalization/prompt-serializer.d.ts.map +1 -0
  170. package/dist/runtime-v2/internalization/prompt-serializer.js +22 -0
  171. package/dist/runtime-v2/internalization/prompt-serializer.js.map +1 -0
  172. package/dist/runtime-v2/proven-channel-baseline.d.ts.map +1 -1
  173. package/dist/runtime-v2/proven-channel-baseline.js +1 -0
  174. package/dist/runtime-v2/proven-channel-baseline.js.map +1 -1
  175. package/dist/runtime-v2/runner/__tests__/base-peer-runner-trust-boundary.test.js.map +1 -1
  176. package/dist/runtime-v2/runner/__tests__/pain-signal-bridge-admission.test.js.map +1 -1
  177. package/dist/runtime-v2/runner/__tests__/pain-signal-bridge.test.js.map +1 -1
  178. package/dist/runtime-v2/store/history/sqlite-history-query.test.js +1 -1
  179. package/dist/runtime-v2/store/history/sqlite-history-query.test.js.map +1 -1
  180. package/dist/runtime-v2/store/idempotent-transitions.test.js +0 -5
  181. package/dist/runtime-v2/store/idempotent-transitions.test.js.map +1 -1
  182. package/dist/runtime-v2/store/lifecycle/lease-manager.test.js +0 -2
  183. package/dist/runtime-v2/store/lifecycle/lease-manager.test.js.map +1 -1
  184. package/dist/runtime-v2/store/lifecycle/recovery-sweep.test.js +0 -2
  185. package/dist/runtime-v2/store/lifecycle/recovery-sweep.test.js.map +1 -1
  186. package/dist/runtime-v2/store/schema-conformance.test.js +0 -10
  187. package/dist/runtime-v2/store/schema-conformance.test.js.map +1 -1
  188. package/dist/runtime-v2/store/sqlite-connection-pragma.test.js +2 -2
  189. package/dist/runtime-v2/store/sqlite-connection-pragma.test.js.map +1 -1
  190. package/dist/runtime-v2/store/sqlite-run-store.test.js.map +1 -1
  191. package/dist/runtime-v2/store/sqlite-task-store.test.js +0 -2
  192. package/dist/runtime-v2/store/sqlite-task-store.test.js.map +1 -1
  193. package/dist/runtime-v2/store/trajectory/source-trace-locator.test.js +0 -1
  194. package/dist/runtime-v2/store/trajectory/source-trace-locator.test.js.map +1 -1
  195. package/dist/runtime-v2/store/trajectory/sqlite-trajectory-locator.test.js +1 -1
  196. package/dist/runtime-v2/store/trajectory/sqlite-trajectory-locator.test.js.map +1 -1
  197. package/dist/runtime-v2/store/workspace-isolation.test.js +0 -2
  198. package/dist/runtime-v2/store/workspace-isolation.test.js.map +1 -1
  199. package/dist/telemetry-event.d.ts +2 -2
  200. package/dist/telemetry-event.d.ts.map +1 -1
  201. package/dist/telemetry-event.js +21 -0
  202. package/dist/telemetry-event.js.map +1 -1
  203. package/package.json +1 -1
@@ -1,4 +1,47 @@
1
1
  import { type Static } from '@sinclair/typebox';
2
+ import type { GoldenTraceDecision } from '../golden-trace.js';
3
+ /**
4
+ * Attack type for adversarial cases (PRD Decision 4).
5
+ * - boundary: probe ambiguous edges of principle text
6
+ * - omission: satisfy all-but-one condition the code may have skipped
7
+ * - inversion: mutate a positive case so it should become negative
8
+ */
9
+ export type AdversarialAttackType = 'boundary' | 'omission' | 'inversion';
10
+ export interface AdversarialCase {
11
+ readonly caseId: string;
12
+ readonly attackType: AdversarialAttackType;
13
+ readonly toolName: string;
14
+ readonly params: Record<string, unknown>;
15
+ /** GoldenTraceDecision, NOT RuleHostDecision. */
16
+ readonly expectedDecision: GoldenTraceDecision;
17
+ readonly rationale: string;
18
+ }
19
+ export interface AdversarialFailedCase {
20
+ readonly caseId: string;
21
+ readonly attackType: AdversarialAttackType;
22
+ readonly actualDecision: string;
23
+ readonly expectedDecision: string;
24
+ readonly rationale: string;
25
+ }
26
+ export interface EvaluatorCodeReview {
27
+ readonly intentConsistency: {
28
+ readonly aligned: boolean;
29
+ readonly explanation: string;
30
+ };
31
+ readonly scopePrecision: {
32
+ readonly verdict: 'precise' | 'too_broad' | 'too_narrow';
33
+ readonly explanation: string;
34
+ };
35
+ readonly traceCoverage: {
36
+ readonly sufficient: boolean;
37
+ readonly gaps: readonly string[];
38
+ readonly explanation: string;
39
+ };
40
+ }
41
+ export interface EvaluatorAdversarialResult {
42
+ readonly passed: boolean;
43
+ readonly failedCases: readonly AdversarialFailedCase[];
44
+ }
2
45
  export interface EvaluatorEvaluation {
3
46
  readonly decision: 'approved' | 'needs_revision' | 'rejected';
4
47
  readonly summary: string;
@@ -21,6 +64,20 @@ export interface EvaluatorOutputV1 {
21
64
  readonly risks: readonly string[];
22
65
  readonly generatedAt: string;
23
66
  }
67
+ /**
68
+ * EvaluatorOutputV2 — V1 plus code review + adversarial attack fields
69
+ * (PRD Decision 2, ADR-0014 Amendment 2026-06-17).
70
+ *
71
+ * All V2 fields are optional: they appear only when the upstream Artificer
72
+ * output is V2 (code-bearing). V1 Artificer → Evaluator skips code review
73
+ * entirely (no codeReview, no adversarialCases). Use `isEvaluatorOutputV2()`
74
+ * after `validate()` to decide which assembly path applies.
75
+ */
76
+ export interface EvaluatorOutputV2 extends EvaluatorOutputV1 {
77
+ readonly codeReview?: EvaluatorCodeReview;
78
+ readonly adversarialCases?: readonly AdversarialCase[];
79
+ readonly adversarialResult?: EvaluatorAdversarialResult;
80
+ }
24
81
  export declare const EVALUATOR_DECISIONS: readonly ["approved", "needs_revision", "rejected"];
25
82
  export declare const EvaluatorEvaluationSchema: import("@sinclair/typebox").TObject<{
26
83
  decision: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"approved">, import("@sinclair/typebox").TLiteral<"needs_revision">, import("@sinclair/typebox").TLiteral<"rejected">]>;
@@ -62,6 +119,12 @@ export interface EvaluatorValidationResult {
62
119
  readonly errors: readonly string[];
63
120
  readonly errorCategory?: string;
64
121
  }
122
+ /**
123
+ * Runtime type guard distinguishing V2 (code-review/adversarial-bearing)
124
+ * evaluator output from V1. A V2 output is one where at least one V2 field
125
+ * is present AND well-formed. Use after `validate()` (Runtime Contract Rule 2).
126
+ */
127
+ export declare function isEvaluatorOutputV2(output: unknown): output is EvaluatorOutputV2;
65
128
  export interface EvaluatorValidator {
66
129
  validate(output: unknown, taskId: string, expectedSourceArtificerArtifactId?: string): Promise<EvaluatorValidationResult>;
67
130
  }
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator-output.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/evaluator-output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,UAAU,GAAG,gBAAgB,GAAG,UAAU,CAAC;IAC9D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,mBAAmB,qDAAsD,CAAC;AAEvF,eAAO,MAAM,yBAAyB;;;;;;;EAWpC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;EAKrC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;EAOlC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAEzE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAMD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,iCAAiC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;CAC3H;AAED,qBAAa,yBAA0B,YAAW,kBAAkB;IAE5D,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,iCAAiC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;CA8EhI"}
1
+ {"version":3,"file":"evaluator-output.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/evaluator-output.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,152 @@ export const EvaluatorOutputV1Schema = Type.Object({
29
29
  function isRecord(v) {
30
30
  return v !== null && typeof v === 'object' && !Array.isArray(v);
31
31
  }
32
+ const ADVERSARIAL_ATTACK_TYPES = new Set(['boundary', 'omission', 'inversion']);
33
+ const GOLDEN_TRACE_DECISIONS = new Set(['allow', 'block', 'propose_correction']);
34
+ const SCOPE_VERDICTS = new Set(['precise', 'too_broad', 'too_narrow']);
35
+ function validateCodeReview(raw) {
36
+ const errors = [];
37
+ if (!isRecord(raw)) {
38
+ errors.push('codeReview must be an object');
39
+ return errors;
40
+ }
41
+ // intentConsistency
42
+ if (!Object.hasOwn(raw, 'intentConsistency') || !isRecord(raw.intentConsistency)) {
43
+ errors.push('codeReview.intentConsistency must be an object');
44
+ }
45
+ else {
46
+ const ic = raw.intentConsistency;
47
+ if (!Object.hasOwn(ic, 'aligned') || typeof ic.aligned !== 'boolean') {
48
+ errors.push('codeReview.intentConsistency.aligned must be a boolean');
49
+ }
50
+ if (!Object.hasOwn(ic, 'explanation') || typeof ic.explanation !== 'string' || ic.explanation.trim() === '') {
51
+ errors.push('codeReview.intentConsistency.explanation must be a non-empty string');
52
+ }
53
+ }
54
+ // scopePrecision
55
+ if (!Object.hasOwn(raw, 'scopePrecision') || !isRecord(raw.scopePrecision)) {
56
+ errors.push('codeReview.scopePrecision must be an object');
57
+ }
58
+ else {
59
+ const sp = raw.scopePrecision;
60
+ if (!Object.hasOwn(sp, 'verdict') || typeof sp.verdict !== 'string' || !SCOPE_VERDICTS.has(sp.verdict)) {
61
+ errors.push(`codeReview.scopePrecision.verdict must be one of precise|too_broad|too_narrow, got ${String(sp.verdict)}`);
62
+ }
63
+ if (!Object.hasOwn(sp, 'explanation') || typeof sp.explanation !== 'string' || sp.explanation.trim() === '') {
64
+ errors.push('codeReview.scopePrecision.explanation must be a non-empty string');
65
+ }
66
+ }
67
+ // traceCoverage
68
+ if (!Object.hasOwn(raw, 'traceCoverage') || !isRecord(raw.traceCoverage)) {
69
+ errors.push('codeReview.traceCoverage must be an object');
70
+ }
71
+ else {
72
+ const tc = raw.traceCoverage;
73
+ if (!Object.hasOwn(tc, 'sufficient') || typeof tc.sufficient !== 'boolean') {
74
+ errors.push('codeReview.traceCoverage.sufficient must be a boolean');
75
+ }
76
+ if (!Object.hasOwn(tc, 'gaps') || !Array.isArray(tc.gaps)) {
77
+ errors.push('codeReview.traceCoverage.gaps must be an array');
78
+ }
79
+ else if (!tc.gaps.every((g) => typeof g === 'string')) {
80
+ errors.push('codeReview.traceCoverage.gaps must be an array of strings');
81
+ }
82
+ if (!Object.hasOwn(tc, 'explanation') || typeof tc.explanation !== 'string' || tc.explanation.trim() === '') {
83
+ errors.push('codeReview.traceCoverage.explanation must be a non-empty string');
84
+ }
85
+ }
86
+ return errors;
87
+ }
88
+ function validateAdversarialCases(raw) {
89
+ const errors = [];
90
+ if (!Array.isArray(raw)) {
91
+ errors.push('adversarialCases must be an array');
92
+ return errors;
93
+ }
94
+ raw.forEach((entry, index) => {
95
+ const prefix = `adversarialCases[${index}]`;
96
+ if (!isRecord(entry)) {
97
+ errors.push(`${prefix} must be an object`);
98
+ return;
99
+ }
100
+ if (!Object.hasOwn(entry, 'caseId') || typeof entry.caseId !== 'string' || entry.caseId.trim() === '') {
101
+ errors.push(`${prefix}.caseId must be a non-empty string`);
102
+ }
103
+ if (!Object.hasOwn(entry, 'attackType') || typeof entry.attackType !== 'string' || !ADVERSARIAL_ATTACK_TYPES.has(entry.attackType)) {
104
+ errors.push(`${prefix}.attackType must be one of boundary|omission|inversion, got ${String(entry.attackType)}`);
105
+ }
106
+ if (!Object.hasOwn(entry, 'toolName') || typeof entry.toolName !== 'string' || entry.toolName.trim() === '') {
107
+ errors.push(`${prefix}.toolName must be a non-empty string`);
108
+ }
109
+ if (!Object.hasOwn(entry, 'params') || !isRecord(entry.params)) {
110
+ errors.push(`${prefix}.params must be an object`);
111
+ }
112
+ if (!Object.hasOwn(entry, 'expectedDecision')
113
+ || typeof entry.expectedDecision !== 'string'
114
+ || !GOLDEN_TRACE_DECISIONS.has(entry.expectedDecision)) {
115
+ errors.push(`${prefix}.expectedDecision must be one of allow|block|propose_correction, got ${String(entry.expectedDecision)}`);
116
+ }
117
+ if (!Object.hasOwn(entry, 'rationale') || typeof entry.rationale !== 'string' || entry.rationale.trim() === '') {
118
+ errors.push(`${prefix}.rationale must be a non-empty string`);
119
+ }
120
+ });
121
+ return errors;
122
+ }
123
+ function validateAdversarialResult(raw) {
124
+ const errors = [];
125
+ if (!isRecord(raw)) {
126
+ errors.push('adversarialResult must be an object');
127
+ return errors;
128
+ }
129
+ if (!Object.hasOwn(raw, 'passed') || typeof raw.passed !== 'boolean') {
130
+ errors.push('adversarialResult.passed must be a boolean');
131
+ }
132
+ if (!Object.hasOwn(raw, 'failedCases') || !Array.isArray(raw.failedCases)) {
133
+ errors.push('adversarialResult.failedCases must be an array');
134
+ }
135
+ else {
136
+ raw.failedCases.forEach((entry, index) => {
137
+ const prefix = `adversarialResult.failedCases[${index}]`;
138
+ if (!isRecord(entry)) {
139
+ errors.push(`${prefix} must be an object`);
140
+ return;
141
+ }
142
+ if (!Object.hasOwn(entry, 'caseId') || typeof entry.caseId !== 'string' || entry.caseId.trim() === '') {
143
+ errors.push(`${prefix}.caseId must be a non-empty string`);
144
+ }
145
+ if (!Object.hasOwn(entry, 'attackType') || typeof entry.attackType !== 'string' || !ADVERSARIAL_ATTACK_TYPES.has(entry.attackType)) {
146
+ errors.push(`${prefix}.attackType must be one of boundary|omission|inversion, got ${String(entry.attackType)}`);
147
+ }
148
+ if (!Object.hasOwn(entry, 'actualDecision') || typeof entry.actualDecision !== 'string') {
149
+ errors.push(`${prefix}.actualDecision must be a string`);
150
+ }
151
+ if (!Object.hasOwn(entry, 'expectedDecision') || typeof entry.expectedDecision !== 'string') {
152
+ errors.push(`${prefix}.expectedDecision must be a string`);
153
+ }
154
+ if (!Object.hasOwn(entry, 'rationale') || typeof entry.rationale !== 'string' || entry.rationale.trim() === '') {
155
+ errors.push(`${prefix}.rationale must be a non-empty string`);
156
+ }
157
+ });
158
+ }
159
+ return errors;
160
+ }
161
+ /**
162
+ * Runtime type guard distinguishing V2 (code-review/adversarial-bearing)
163
+ * evaluator output from V1. A V2 output is one where at least one V2 field
164
+ * is present AND well-formed. Use after `validate()` (Runtime Contract Rule 2).
165
+ */
166
+ export function isEvaluatorOutputV2(output) {
167
+ if (!isRecord(output))
168
+ return false;
169
+ const hasCodeReview = Object.hasOwn(output, 'codeReview');
170
+ const hasCases = Object.hasOwn(output, 'adversarialCases');
171
+ const hasResult = Object.hasOwn(output, 'adversarialResult');
172
+ if (!hasCodeReview && !hasCases && !hasResult)
173
+ return false;
174
+ return (!hasCodeReview || validateCodeReview(output.codeReview).length === 0)
175
+ && (!hasCases || validateAdversarialCases(output.adversarialCases).length === 0)
176
+ && (!hasResult || validateAdversarialResult(output.adversarialResult).length === 0);
177
+ }
32
178
  export class DefaultEvaluatorValidator {
33
179
  // eslint-disable-next-line @typescript-eslint/class-methods-use-this
34
180
  async validate(output, taskId, expectedSourceArtificerArtifactId) {
@@ -111,6 +257,18 @@ export class DefaultEvaluatorValidator {
111
257
  if (!Object.hasOwn(output, 'generatedAt') || typeof output.generatedAt !== 'string' || output.generatedAt.trim() === '') {
112
258
  errors.push('generatedAt must be non-empty string');
113
259
  }
260
+ // ── V2 fields (optional; present only when Artificer output is V2) ──
261
+ // V1 backward compatibility: absence is valid. Presence requires well-formed
262
+ // structure (fail loud, ERR-009). Detect via Object.hasOwn (ERR-013).
263
+ if (Object.hasOwn(output, 'codeReview')) {
264
+ errors.push(...validateCodeReview(output.codeReview));
265
+ }
266
+ if (Object.hasOwn(output, 'adversarialCases')) {
267
+ errors.push(...validateAdversarialCases(output.adversarialCases));
268
+ }
269
+ if (Object.hasOwn(output, 'adversarialResult')) {
270
+ errors.push(...validateAdversarialResult(output.adversarialResult));
271
+ }
114
272
  return errors.length > 0
115
273
  ? { valid: false, errors, errorCategory: 'output_invalid' }
116
274
  : { valid: true, errors: [] };
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator-output.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/evaluator-output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluator-output.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/evaluator-output.ts"],"names":[],"mappings":"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"}
@@ -3,12 +3,19 @@ export interface EvaluatorPromptBuilderInput {
3
3
  contextHash: string;
4
4
  sourceArtificerArtifactId: string;
5
5
  artificerArtifact: unknown;
6
+ /**
7
+ * Scribe principle artifact (RuleHost MVP Activation, PRD Decision 12).
8
+ * Present when code review applies (artificer output is V2). Carries the
9
+ * principle text the evaluator uses to judge intentConsistency / scopePrecision.
10
+ */
11
+ scribeArtifact?: unknown;
6
12
  }
7
13
  export interface EvaluatorPromptInput {
8
14
  taskId: string;
9
15
  contextHash: string;
10
16
  sourceArtificerArtifactId: string;
11
17
  artificerArtifact: unknown;
18
+ scribeArtifact?: unknown;
12
19
  evaluatorInstruction: string;
13
20
  promptContractVersion: string;
14
21
  }
@@ -16,7 +23,7 @@ export interface EvaluatorPromptBuildResult {
16
23
  readonly message: string;
17
24
  readonly promptInput: EvaluatorPromptInput;
18
25
  }
19
- export declare const EVALUATOR_PROTOCOL_INSTRUCTION = "You are an Evaluator agent in a principle internalization pipeline. Your role is to critically review the Artificer's implementation plan and produce a structured evaluation with a decision, score, and actionable feedback.\n\nPROTOCOL:\n1. Review the artificerArtifact to understand the proposed implementation plan\n2. Evaluate the plan against quality criteria: completeness, feasibility, test coverage, risk mitigation\n3. Produce a decision: approved (plan is sound), needs_revision (plan has issues but is salvageable), or rejected (plan is fundamentally flawed)\n4. Provide a score from 0.0 to 1.0 reflecting overall quality\n5. List specific strengths, concerns, and required changes\n6. Preserve the lineage trace from artificer, scribe, philosopher, and dreamer artifacts\n7. Identify risks associated with this evaluation\n\nCRITICAL: Your ENTIRE response must be ONLY the JSON object below. Do NOT include any text before or after the JSON. Do NOT wrap the JSON in markdown code fences. Do NOT add explanatory prose. Output the raw JSON object and nothing else.\n\nCOMPLETE EXAMPLE OUTPUT (follow this exact structure):\n{\"taskId\":\"task-123\",\"sourceArtificerArtifactId\":\"pi-art-artificer-001\",\"evaluation\":{\"decision\":\"approved\",\"summary\":\"The implementation plan is well-structured and addresses the identified issues.\",\"score\":0.85,\"strengths\":[\"Clear change descriptions with specific file targets\",\"Good test coverage plan\"],\"concerns\":[\"Rollout notes could be more specific about monitoring\"],\"requiredChanges\":[]},\"sourceTrace\":{\"artificerArtifactId\":\"pi-art-artificer-001\"},\"risks\":[\"May need additional integration tests\"],\"generatedAt\":\"<current ISO-8601 timestamp>\"}\n\nCONSTRAINTS:\n- Output ONLY valid JSON \u2014 no markdown, no explanatory text, no code fences, no prose before or after\n- evaluation.decision MUST be one of: approved, needs_revision, rejected\n- evaluation.summary MUST be a non-empty string\n- evaluation.score MUST be a number between 0.0 and 1.0 (NOT a string, NOT a percentage)\n- evaluation.strengths MUST be an array of strings (can be empty)\n- evaluation.concerns MUST be an array of strings (can be empty)\n- evaluation.requiredChanges MUST be an array of strings (can be empty)\n- sourceArtificerArtifactId MUST be copied exactly from input.sourceArtificerArtifactId (non-empty string)\n- sourceTrace.artificerArtifactId MUST be copied exactly from input.sourceArtificerArtifactId\n- sourceTrace.scribeArtifactId is optional \u2014 include only if available from artificer artifact\n- sourceTrace.philosopherArtifactId is optional \u2014 include only if available from artificer artifact\n- sourceTrace.dreamerArtifactId is optional \u2014 include only if available from artificer artifact\n- risks MUST be an array of strings (can be empty if no risks identified)\n- generatedAt MUST be the current ISO-8601 timestamp (use the actual current time, NOT a placeholder)\n";
26
+ export declare const EVALUATOR_PROTOCOL_INSTRUCTION = "You are an Evaluator agent in a principle internalization pipeline. Your role is to critically review the Artificer's implementation plan and produce a structured evaluation with a decision, score, and actionable feedback.\n\nPROTOCOL:\n1. Review the artificerArtifact to understand the proposed implementation plan\n2. Evaluate the plan against quality criteria: completeness, feasibility, test coverage, risk mitigation\n3. Produce a decision: approved (plan is sound), needs_revision (plan has issues but is salvageable), or rejected (plan is fundamentally flawed)\n4. Provide a score from 0.0 to 1.0 reflecting overall quality\n5. List specific strengths, concerns, and required changes\n6. Preserve the lineage trace from artificer, scribe, philosopher, and dreamer artifacts\n7. Identify risks associated with this evaluation\n\nCODE REVIEW (Part A \u2014 Passive Review): When the artificerArtifact contains an \"implementationCode\" field (V2 output), you MUST additionally review the generated code across three dimensions and emit a \"codeReview\" object:\n- intentConsistency: { aligned: boolean, explanation: string } \u2014 Does the code logic match the constraint intent described in the scribe principle text? Read the principle text (scribeArtifact.principleDraft or painReasonSummary), then read the code, then judge whether the code precisely implements the described constraint.\n- scopePrecision: { verdict: \"precise\" | \"too_broad\" | \"too_narrow\", explanation: string } \u2014 Are the match conditions over-broad (false positive risk, e.g. using includes() substring matching) or over-narrow (false negative risk, e.g. hardcoded paths)?\n- traceCoverage: { sufficient: boolean, gaps: string[], explanation: string } \u2014 Do the goldenTraceCases cover the key scenarios described in the principle (both positive and negative)?\n\nIf ANY of the three dimensions fails (aligned=false, OR verdict!=precise, OR sufficient=false), set evaluation.decision to \"needs_revision\" and describe the gap in concerns/requiredChanges.\n\nADVERSARIAL CASES (Part B \u2014 only when Part A passes): If and only if all three passive-review dimensions pass (aligned=true AND verdict=precise AND sufficient=true), ALSO generate 3-5 \"adversarialCases\" \u2014 test inputs designed to expose gaps between the principle text and the code's actual behavior. Each case: { caseId, attackType: \"boundary\"|\"omission\"|\"inversion\", toolName, params, expectedDecision: \"allow\"|\"block\"|\"propose_correction\", rationale }. If Part A does NOT fully pass, do NOT generate adversarialCases (short-circuit: skip adversarial generation on passive-review failure to save tokens).\n\nCRITICAL: Your ENTIRE response must be ONLY the JSON object below. Do NOT include any text before or after the JSON. Do NOT wrap the JSON in markdown code fences. Do NOT add explanatory prose. Output the raw JSON object and nothing else.\n\nCOMPLETE EXAMPLE OUTPUT FOR A V2 ARTIFICER INPUT (follow this exact structure):\n{\"taskId\":\"task-123\",\"sourceArtificerArtifactId\":\"pi-art-artificer-001\",\"evaluation\":{\"decision\":\"approved\",\"summary\":\"The rule matches the principle and survives adversarial review.\",\"score\":0.85,\"strengths\":[\"Exact path-segment check\"],\"concerns\":[],\"requiredChanges\":[]},\"sourceTrace\":{\"artificerArtifactId\":\"pi-art-artificer-001\"},\"risks\":[],\"codeReview\":{\"intentConsistency\":{\"aligned\":true,\"explanation\":\"The rule enforces the stated confirmation boundary.\"},\"scopePrecision\":{\"verdict\":\"precise\",\"explanation\":\"It avoids substring and sibling-prefix matches.\"},\"traceCoverage\":{\"sufficient\":true,\"gaps\":[],\"explanation\":\"Positive, negative, and boundary cases are covered.\"}},\"adversarialCases\":[{\"caseId\":\"adversarial-1\",\"attackType\":\"boundary\",\"toolName\":\"write_file\",\"params\":{\"path\":\"/system-backup/file\"},\"expectedDecision\":\"allow\",\"rationale\":\"A sibling prefix must not be blocked.\"},{\"caseId\":\"adversarial-2\",\"attackType\":\"omission\",\"toolName\":\"write_file\",\"params\":{\"path\":\"/system/file\"},\"expectedDecision\":\"block\",\"rationale\":\"The protected path must be blocked.\"},{\"caseId\":\"adversarial-3\",\"attackType\":\"inversion\",\"toolName\":\"read_file\",\"params\":{\"path\":\"/system/file\"},\"expectedDecision\":\"allow\",\"rationale\":\"A non-writing tool must remain allowed.\"}],\"generatedAt\":\"<current ISO-8601 timestamp>\"}\n\nCONSTRAINTS:\n- Output ONLY valid JSON \u2014 no markdown, no explanatory text, no code fences, no prose before or after\n- evaluation.decision MUST be one of: approved, needs_revision, rejected\n- evaluation.summary MUST be a non-empty string\n- evaluation.score MUST be a number between 0.0 and 1.0 (NOT a string, NOT a percentage)\n- evaluation.strengths MUST be an array of strings (can be empty)\n- evaluation.concerns MUST be an array of strings (can be empty)\n- evaluation.requiredChanges MUST be an array of strings (can be empty)\n- sourceArtificerArtifactId MUST be copied exactly from input.sourceArtificerArtifactId (non-empty string)\n- sourceTrace.artificerArtifactId MUST be copied exactly from input.sourceArtificerArtifactId\n- sourceTrace.scribeArtifactId is optional \u2014 include only if available from artificer artifact\n- sourceTrace.philosopherArtifactId is optional \u2014 include only if available from artificer artifact\n- sourceTrace.dreamerArtifactId is optional \u2014 include only if available from artificer artifact\n- risks MUST be an array of strings (can be empty if no risks identified)\n- generatedAt MUST be the current ISO-8601 timestamp (use the actual current time, NOT a placeholder)\n- codeReview (when present) MUST contain intentConsistency, scopePrecision, and traceCoverage\n- adversarialCases (when present) MUST be an array of 3-5 objects; omit entirely when passive review fails\n";
20
27
  export declare const EVALUATOR_PROMPT_CONTRACT_VERSION = "evaluator-output-v1.prompt.v1";
21
28
  export declare class EvaluatorPromptBuilder {
22
29
  buildPrompt(input: EvaluatorPromptBuilderInput): EvaluatorPromptBuildResult;
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator-prompt-builder.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/evaluator-prompt-builder.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB,EAAE,MAAM,CAAC;IAClC,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB,EAAE,MAAM,CAAC;IAClC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;CAC5C;AAED,eAAO,MAAM,8BAA8B,65FA+B1C,CAAC;AAEF,eAAO,MAAM,iCAAiC,kCAAkC,CAAC;AAEjF,qBAAa,sBAAsB;IAEjC,WAAW,CAAC,KAAK,EAAE,2BAA2B,GAAG,0BAA0B;CAc5E"}
1
+ {"version":3,"file":"evaluator-prompt-builder.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/evaluator-prompt-builder.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB,EAAE,MAAM,CAAC;IAClC,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB,EAAE,MAAM,CAAC;IAClC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;CAC5C;AAED,eAAO,MAAM,8BAA8B,6xLA0C1C,CAAC;AAEF,eAAO,MAAM,iCAAiC,kCAAkC,CAAC;AAEjF,qBAAa,sBAAsB;IAEjC,WAAW,CAAC,KAAK,EAAE,2BAA2B,GAAG,0BAA0B;CAe5E"}
@@ -1,3 +1,4 @@
1
+ import { serializePromptInput } from './prompt-serializer.js';
1
2
  export const EVALUATOR_PROTOCOL_INSTRUCTION = `You are an Evaluator agent in a principle internalization pipeline. Your role is to critically review the Artificer's implementation plan and produce a structured evaluation with a decision, score, and actionable feedback.
2
3
 
3
4
  PROTOCOL:
@@ -9,10 +10,19 @@ PROTOCOL:
9
10
  6. Preserve the lineage trace from artificer, scribe, philosopher, and dreamer artifacts
10
11
  7. Identify risks associated with this evaluation
11
12
 
13
+ CODE REVIEW (Part A — Passive Review): When the artificerArtifact contains an "implementationCode" field (V2 output), you MUST additionally review the generated code across three dimensions and emit a "codeReview" object:
14
+ - intentConsistency: { aligned: boolean, explanation: string } — Does the code logic match the constraint intent described in the scribe principle text? Read the principle text (scribeArtifact.principleDraft or painReasonSummary), then read the code, then judge whether the code precisely implements the described constraint.
15
+ - scopePrecision: { verdict: "precise" | "too_broad" | "too_narrow", explanation: string } — Are the match conditions over-broad (false positive risk, e.g. using includes() substring matching) or over-narrow (false negative risk, e.g. hardcoded paths)?
16
+ - traceCoverage: { sufficient: boolean, gaps: string[], explanation: string } — Do the goldenTraceCases cover the key scenarios described in the principle (both positive and negative)?
17
+
18
+ If ANY of the three dimensions fails (aligned=false, OR verdict!=precise, OR sufficient=false), set evaluation.decision to "needs_revision" and describe the gap in concerns/requiredChanges.
19
+
20
+ ADVERSARIAL CASES (Part B — only when Part A passes): If and only if all three passive-review dimensions pass (aligned=true AND verdict=precise AND sufficient=true), ALSO generate 3-5 "adversarialCases" — test inputs designed to expose gaps between the principle text and the code's actual behavior. Each case: { caseId, attackType: "boundary"|"omission"|"inversion", toolName, params, expectedDecision: "allow"|"block"|"propose_correction", rationale }. If Part A does NOT fully pass, do NOT generate adversarialCases (short-circuit: skip adversarial generation on passive-review failure to save tokens).
21
+
12
22
  CRITICAL: Your ENTIRE response must be ONLY the JSON object below. Do NOT include any text before or after the JSON. Do NOT wrap the JSON in markdown code fences. Do NOT add explanatory prose. Output the raw JSON object and nothing else.
13
23
 
14
- COMPLETE EXAMPLE OUTPUT (follow this exact structure):
15
- {"taskId":"task-123","sourceArtificerArtifactId":"pi-art-artificer-001","evaluation":{"decision":"approved","summary":"The implementation plan is well-structured and addresses the identified issues.","score":0.85,"strengths":["Clear change descriptions with specific file targets","Good test coverage plan"],"concerns":["Rollout notes could be more specific about monitoring"],"requiredChanges":[]},"sourceTrace":{"artificerArtifactId":"pi-art-artificer-001"},"risks":["May need additional integration tests"],"generatedAt":"<current ISO-8601 timestamp>"}
24
+ COMPLETE EXAMPLE OUTPUT FOR A V2 ARTIFICER INPUT (follow this exact structure):
25
+ {"taskId":"task-123","sourceArtificerArtifactId":"pi-art-artificer-001","evaluation":{"decision":"approved","summary":"The rule matches the principle and survives adversarial review.","score":0.85,"strengths":["Exact path-segment check"],"concerns":[],"requiredChanges":[]},"sourceTrace":{"artificerArtifactId":"pi-art-artificer-001"},"risks":[],"codeReview":{"intentConsistency":{"aligned":true,"explanation":"The rule enforces the stated confirmation boundary."},"scopePrecision":{"verdict":"precise","explanation":"It avoids substring and sibling-prefix matches."},"traceCoverage":{"sufficient":true,"gaps":[],"explanation":"Positive, negative, and boundary cases are covered."}},"adversarialCases":[{"caseId":"adversarial-1","attackType":"boundary","toolName":"write_file","params":{"path":"/system-backup/file"},"expectedDecision":"allow","rationale":"A sibling prefix must not be blocked."},{"caseId":"adversarial-2","attackType":"omission","toolName":"write_file","params":{"path":"/system/file"},"expectedDecision":"block","rationale":"The protected path must be blocked."},{"caseId":"adversarial-3","attackType":"inversion","toolName":"read_file","params":{"path":"/system/file"},"expectedDecision":"allow","rationale":"A non-writing tool must remain allowed."}],"generatedAt":"<current ISO-8601 timestamp>"}
16
26
 
17
27
  CONSTRAINTS:
18
28
  - Output ONLY valid JSON — no markdown, no explanatory text, no code fences, no prose before or after
@@ -29,6 +39,8 @@ CONSTRAINTS:
29
39
  - sourceTrace.dreamerArtifactId is optional — include only if available from artificer artifact
30
40
  - risks MUST be an array of strings (can be empty if no risks identified)
31
41
  - generatedAt MUST be the current ISO-8601 timestamp (use the actual current time, NOT a placeholder)
42
+ - codeReview (when present) MUST contain intentConsistency, scopePrecision, and traceCoverage
43
+ - adversarialCases (when present) MUST be an array of 3-5 objects; omit entirely when passive review fails
32
44
  `;
33
45
  export const EVALUATOR_PROMPT_CONTRACT_VERSION = 'evaluator-output-v1.prompt.v1';
34
46
  export class EvaluatorPromptBuilder {
@@ -39,10 +51,11 @@ export class EvaluatorPromptBuilder {
39
51
  contextHash: input.contextHash,
40
52
  sourceArtificerArtifactId: input.sourceArtificerArtifactId,
41
53
  artificerArtifact: input.artificerArtifact,
54
+ scribeArtifact: input.scribeArtifact,
42
55
  evaluatorInstruction: EVALUATOR_PROTOCOL_INSTRUCTION,
43
56
  promptContractVersion: EVALUATOR_PROMPT_CONTRACT_VERSION,
44
57
  };
45
- const message = JSON.stringify(promptInput);
58
+ const message = serializePromptInput(promptInput);
46
59
  return { message, promptInput };
47
60
  }
48
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator-prompt-builder.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/evaluator-prompt-builder.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAC,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B7C,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAG,+BAA+B,CAAC;AAEjF,MAAM,OAAO,sBAAsB;IACjC,qEAAqE;IACrE,WAAW,CAAC,KAAkC;QAC5C,MAAM,WAAW,GAAyB;YACxC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,yBAAyB,EAAE,KAAK,CAAC,yBAAyB;YAC1D,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,oBAAoB,EAAE,8BAA8B;YACpD,qBAAqB,EAAE,iCAAiC;SACzD,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAE5C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAClC,CAAC;CACF"}
1
+ {"version":3,"file":"evaluator-prompt-builder.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/evaluator-prompt-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AA8B9D,MAAM,CAAC,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0C7C,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAG,+BAA+B,CAAC;AAEjF,MAAM,OAAO,sBAAsB;IACjC,qEAAqE;IACrE,WAAW,CAAC,KAAkC;QAC5C,MAAM,WAAW,GAAyB;YACxC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,yBAAyB,EAAE,KAAK,CAAC,yBAAyB;YAC1D,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,oBAAoB,EAAE,8BAA8B;YACpD,qBAAqB,EAAE,iCAAiC;SACzD,CAAC;QAEF,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAElD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAClC,CAAC;CACF"}
@@ -30,11 +30,20 @@ import type { TaskRecord } from '../task-status.js';
30
30
  import { type PDErrorCategory } from '../error-categories.js';
31
31
  import { BasePeerRunner } from '../runner/base-peer-runner.js';
32
32
  import type { PeerRunnerOptions, PeerRunnerDeps, PeerRunnerResult, PeerRunnerValidationResult } from '../runner/peer-runner-types.js';
33
+ import { type RefinerRuleHostGateDeps } from './refiner-rulehost-gate.js';
33
34
  /** Context built by EvaluatorRunner.buildContext() and consumed by invokeRuntime(). */
34
35
  interface EvaluatorContext {
35
36
  readonly contextHash: string;
36
37
  readonly artificerArtifact: string | null;
37
38
  readonly sourceArtificerArtifactId: string | null;
39
+ /**
40
+ * Scribe principle artifact contentJson (RuleHost MVP Activation, PRD Decision 12).
41
+ * Loaded so the evaluator LLM can judge code intentConsistency/scopePrecision
42
+ * against the original principle text. Null when no scribe artifact is resolvable
43
+ * (V1 artificer output, or scribeArtifactId missing/malformed).
44
+ */
45
+ readonly scribeArtifact: string | null;
46
+ readonly sourceScribeArtifactId: string | null;
38
47
  }
39
48
  export type EvaluatorRunnerResultStatus = 'succeeded' | 'failed' | 'retried';
40
49
  export interface EvaluatorRunnerResult {
@@ -49,7 +58,19 @@ export interface EvaluatorRunnerResult {
49
58
  readonly failureReason?: string;
50
59
  readonly attemptCount: number;
51
60
  }
52
- export type EvaluatorRunnerOptions = PeerRunnerOptions;
61
+ /**
62
+ * EvaluatorRunner options. Extends PeerRunnerOptions with an optional
63
+ * RuleHost sandbox gate deps (PRI-426). When `gateDeps` is provided AND the
64
+ * evaluator output is V2 (code-bearing), succeedTask runs a single-round
65
+ * adversarial sandbox replay and populates `adversarialResult`.
66
+ *
67
+ * When `gateDeps` is absent, V2 outputs still validate but no replay runs —
68
+ * this preserves backward compatibility for callers not yet wired to the
69
+ * sandbox (e.g. V1-only test fixtures, pre-Phase-6 assembly).
70
+ */
71
+ export interface EvaluatorRunnerOptions extends PeerRunnerOptions {
72
+ readonly gateDeps?: RefinerRuleHostGateDeps;
73
+ }
53
74
  export interface ResolvedEvaluatorRunnerOptions {
54
75
  readonly pollIntervalMs: number;
55
76
  readonly timeoutMs: number;
@@ -65,7 +86,13 @@ export interface EvaluatorRunnerDeps extends PeerRunnerDeps {
65
86
  }
66
87
  export declare class EvaluatorRunner extends BasePeerRunner<EvaluatorContext, EvaluatorOutputV1> {
67
88
  private readonly validator;
68
- constructor(deps: EvaluatorRunnerDeps, options: PeerRunnerOptions);
89
+ /**
90
+ * Optional RuleHost sandbox gate deps (PRI-426). When present and the output
91
+ * is V2, succeedTask runs a single adversarial sandbox replay. Absent = no
92
+ * replay (backward compatible).
93
+ */
94
+ private readonly gateDeps;
95
+ constructor(deps: EvaluatorRunnerDeps, options: EvaluatorRunnerOptions);
69
96
  get permanentErrorCategories(): ReadonlySet<PDErrorCategory>;
70
97
  buildContext(taskId: string): Promise<EvaluatorContext>;
71
98
  invokeRuntime(taskId: string, context: EvaluatorContext): Promise<RunHandle>;
@@ -86,6 +113,59 @@ export declare class EvaluatorRunner extends BasePeerRunner<EvaluatorContext, Ev
86
113
  * Validates sourceTrace.scribeArtifactId consistency (ERR-004, ERR-008).
87
114
  */
88
115
  protected checkLineageIntegrity(taskId: string, output: EvaluatorOutputV1, _context: EvaluatorContext): void;
116
+ /**
117
+ * Run a single-round adversarial sandbox replay on the evaluator's V2 output
118
+ * (PRD Decision 11d). Pure orchestration of pure functions:
119
+ * 1. Skip if passive review failed (decision !== 'approved' is the LLM's
120
+ * short-circuit signal — no code to defend).
121
+ * 2. Skip if no adversarialCases present (V2 with codeReview only).
122
+ * 3. Convert adversarialCases → GoldenTrace (all negative, PRI-423).
123
+ * 4. Merge ≥1 positive case from the Artificer golden trace. If the
124
+ * artificer artifact has no goldenTraceCases (V1 mismatch), degrade:
125
+ * skip replay with telemetry — do NOT crash.
126
+ * 5. Invoke evaluateRefinerRuleHostGate via injected gateDeps.
127
+ * 6. Populate adversarialResult from the gate result.
128
+ *
129
+ * Never throws — all failure modes degrade to a returned result with a
130
+ * structured reason (ERR-018). The caller persists the updated output.
131
+ */
132
+ private runAdversarialReplay;
133
+ /**
134
+ * Parse the Artificer artifact contentJson defensively (Runtime Contract
135
+ * Rule 1/2/5). Returns null on any structural issue — the caller degrades.
136
+ */
137
+ private parseArtificerArtifact;
138
+ /**
139
+ * Extract structurally-valid positive GoldenTraceCases from the Artificer
140
+ * goldenTraceCases array. Uses buildGoldenTraceFromArtificer (which re-
141
+ * validates each case) and filters for kind='positive'. Returns [] when
142
+ * the input is missing/malformed — the caller degrades to a skip (ERR-069:
143
+ * never trust unvalidated candidates).
144
+ */
145
+ private extractPositiveCases;
146
+ /**
147
+ * Map sandbox failed cases to EvaluatorAdversarialResult.failedCases.
148
+ *
149
+ * The sandbox reports failedCases by caseId; we enrich each with the
150
+ * adversarial case's attackType and expectedDecision. Cases not found in
151
+ * the adversarial set (e.g. the merged positive case failed — which would
152
+ * indicate a code bug, not an adversarial failure) are reported with
153
+ * attackType='boundary' as a safe default and a note in the rationale
154
+ * (Runtime Contract Rule 9: graceful degradation includes a reason).
155
+ */
156
+ private mapFailedCases;
157
+ /**
158
+ * Assemble and persist the rule artifact when adversarial replay passed
159
+ * (PRD Decision 5). The rule artifact carries implementationCode + the
160
+ * Artificer full golden trace + ruleHostGateDecision, with artifactKind='rule'.
161
+ * After a successful write, marks the artifact 'validated' so RuleHostWriter
162
+ * can activate it.
163
+ *
164
+ * Returns the rule artifactId on success, null on any degradation (missing
165
+ * code/trace, write failure, validation-update failure). Every null path
166
+ * emits structured telemetry with a reason (Runtime Rule 9, ERR-018).
167
+ */
168
+ private assembleRuleArtifact;
89
169
  /**
90
170
  * Resolve the principle-bearing artifact that the evaluator should validate.
91
171
  *
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator-runner.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/evaluator-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAkB,KAAK,eAAe,EAAqB,MAAM,wBAAwB,CAAC;AAIjG,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,0BAA0B,EAC3B,MAAM,gCAAgC,CAAC;AAIxC,uFAAuF;AACvF,UAAU,gBAAgB;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnD;AAID,MAAM,MAAM,2BAA2B,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE7E,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,aAAa,CAAC,EAAE,eAAe,CAAC;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAID,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,CAAC;AAEvD,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,gCAAgC,EAAE,QAAQ,CAAC,IAAI,CAAC,8BAA8B,EAAE,OAAO,GAAG,aAAa,CAAC,CAK3G,CAAC;AAEX,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,sBAAsB,GAAG,8BAA8B,CAS7G;AAID,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;CACxC;AAID,qBAAa,eAAgB,SAAQ,cAAc,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;IACtF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;gBAEnC,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,iBAAiB;IAajE,IAAI,wBAAwB,IAAI,WAAW,CAAC,eAAe,CAAC,CAE3D;IAEK,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA+CvD,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;IA4B5E,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IA4B/G,WAAW,CACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,iBAAiB,EACzB,IAAI,EAAE,UAAU,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IAqI/C;;;;;;;OAOG;cAEgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,GAAG,IAAI;cAUlE,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAOxF;;;OAGG;cACgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAarH;;;;;;;;;;OAUG;YACW,8BAA8B;IAwD5C;;;OAGG;IAEH,OAAO,CAAC,wBAAwB;IAwBhC,OAAO,CAAC,MAAM,CAAC,QAAQ;CAGxB"}
1
+ {"version":3,"file":"evaluator-runner.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/evaluator-runner.ts"],"names":[],"mappings":"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"}