create-principles-disciple 1.134.4 → 1.134.6

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 (208) hide show
  1. package/core/dist/runtime-v2/__tests__/evaluator-repair-loop.test.js +85 -0
  2. package/core/dist/runtime-v2/__tests__/evaluator-repair-loop.test.js.map +1 -1
  3. package/core/dist/runtime-v2/__tests__/system-prompt-merge.test.d.ts +2 -0
  4. package/core/dist/runtime-v2/__tests__/system-prompt-merge.test.d.ts.map +1 -0
  5. package/core/dist/runtime-v2/__tests__/system-prompt-merge.test.js +24 -0
  6. package/core/dist/runtime-v2/__tests__/system-prompt-merge.test.js.map +1 -0
  7. package/core/dist/runtime-v2/adapter/__tests__/artificer-l2-adapter.test.js +26 -0
  8. package/core/dist/runtime-v2/adapter/__tests__/artificer-l2-adapter.test.js.map +1 -1
  9. package/core/dist/runtime-v2/adapter/__tests__/l2-agent-loop-adapter.test.js +33 -0
  10. package/core/dist/runtime-v2/adapter/__tests__/l2-agent-loop-adapter.test.js.map +1 -1
  11. package/core/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter-systemprompt-fold.test.d.ts +13 -0
  12. package/core/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter-systemprompt-fold.test.d.ts.map +1 -0
  13. package/core/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter-systemprompt-fold.test.js +86 -0
  14. package/core/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter-systemprompt-fold.test.js.map +1 -0
  15. package/core/dist/runtime-v2/adapter/__tests__/pi-ai-runtime-adapter.test.js +30 -0
  16. package/core/dist/runtime-v2/adapter/__tests__/pi-ai-runtime-adapter.test.js.map +1 -1
  17. package/core/dist/runtime-v2/adapter/artificer-l2-adapter.d.ts +6 -0
  18. package/core/dist/runtime-v2/adapter/artificer-l2-adapter.d.ts.map +1 -1
  19. package/core/dist/runtime-v2/adapter/artificer-l2-adapter.js +11 -3
  20. package/core/dist/runtime-v2/adapter/artificer-l2-adapter.js.map +1 -1
  21. package/core/dist/runtime-v2/adapter/l2-agent-loop-adapter.d.ts +6 -0
  22. package/core/dist/runtime-v2/adapter/l2-agent-loop-adapter.d.ts.map +1 -1
  23. package/core/dist/runtime-v2/adapter/l2-agent-loop-adapter.js +22 -7
  24. package/core/dist/runtime-v2/adapter/l2-agent-loop-adapter.js.map +1 -1
  25. package/core/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.d.ts.map +1 -1
  26. package/core/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.js +11 -2
  27. package/core/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.js.map +1 -1
  28. package/core/dist/runtime-v2/adapter/pi-ai-runtime-adapter.d.ts +8 -5
  29. package/core/dist/runtime-v2/adapter/pi-ai-runtime-adapter.d.ts.map +1 -1
  30. package/core/dist/runtime-v2/adapter/pi-ai-runtime-adapter.js +14 -3
  31. package/core/dist/runtime-v2/adapter/pi-ai-runtime-adapter.js.map +1 -1
  32. package/core/dist/runtime-v2/diagnostician/__tests__/rootcause-prompt-builder.test.js +41 -1
  33. package/core/dist/runtime-v2/diagnostician/__tests__/rootcause-prompt-builder.test.js.map +1 -1
  34. package/core/dist/runtime-v2/diagnostician/distiller-prompt-builder.d.ts +6 -2
  35. package/core/dist/runtime-v2/diagnostician/distiller-prompt-builder.d.ts.map +1 -1
  36. package/core/dist/runtime-v2/diagnostician/distiller-prompt-builder.js +1 -2
  37. package/core/dist/runtime-v2/diagnostician/distiller-prompt-builder.js.map +1 -1
  38. package/core/dist/runtime-v2/diagnostician/rootcause-prompt-builder.d.ts +3 -1
  39. package/core/dist/runtime-v2/diagnostician/rootcause-prompt-builder.d.ts.map +1 -1
  40. package/core/dist/runtime-v2/diagnostician/rootcause-prompt-builder.js +35 -16
  41. package/core/dist/runtime-v2/diagnostician/rootcause-prompt-builder.js.map +1 -1
  42. package/core/dist/runtime-v2/diagnostician/router-prompt-builder.d.ts +6 -2
  43. package/core/dist/runtime-v2/diagnostician/router-prompt-builder.d.ts.map +1 -1
  44. package/core/dist/runtime-v2/diagnostician/router-prompt-builder.js +1 -2
  45. package/core/dist/runtime-v2/diagnostician/router-prompt-builder.js.map +1 -1
  46. package/core/dist/runtime-v2/diagnostician-prompt-builder.d.ts +7 -9
  47. package/core/dist/runtime-v2/diagnostician-prompt-builder.d.ts.map +1 -1
  48. package/core/dist/runtime-v2/diagnostician-prompt-builder.js.map +1 -1
  49. package/core/dist/runtime-v2/index.d.ts +2 -2
  50. package/core/dist/runtime-v2/index.d.ts.map +1 -1
  51. package/core/dist/runtime-v2/index.js +2 -2
  52. package/core/dist/runtime-v2/index.js.map +1 -1
  53. package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.js +11 -11
  54. package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.js.map +1 -1
  55. package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js +28 -26
  56. package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js.map +1 -1
  57. package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.js +6 -3
  58. package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.js.map +1 -1
  59. package/core/dist/runtime-v2/internalization/__tests__/dreamer-prompt-builder.test.js +21 -18
  60. package/core/dist/runtime-v2/internalization/__tests__/dreamer-prompt-builder.test.js.map +1 -1
  61. package/core/dist/runtime-v2/internalization/__tests__/evaluator-chinese-feedback-contract.test.js +20 -15
  62. package/core/dist/runtime-v2/internalization/__tests__/evaluator-chinese-feedback-contract.test.js.map +1 -1
  63. package/core/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder.test.js +7 -5
  64. package/core/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder.test.js.map +1 -1
  65. package/core/dist/runtime-v2/internalization/__tests__/evolution-alignment-contract.test.js +9 -9
  66. package/core/dist/runtime-v2/internalization/__tests__/evolution-alignment-contract.test.js.map +1 -1
  67. package/core/dist/runtime-v2/internalization/__tests__/owner-override-resume.test.js +82 -0
  68. package/core/dist/runtime-v2/internalization/__tests__/owner-override-resume.test.js.map +1 -1
  69. package/core/dist/runtime-v2/internalization/__tests__/peer-prompt-language.test.d.ts +4 -0
  70. package/core/dist/runtime-v2/internalization/__tests__/peer-prompt-language.test.d.ts.map +1 -1
  71. package/core/dist/runtime-v2/internalization/__tests__/peer-prompt-language.test.js +67 -56
  72. package/core/dist/runtime-v2/internalization/__tests__/peer-prompt-language.test.js.map +1 -1
  73. package/core/dist/runtime-v2/internalization/__tests__/philosopher-prompt-builder.test.js +13 -12
  74. package/core/dist/runtime-v2/internalization/__tests__/philosopher-prompt-builder.test.js.map +1 -1
  75. package/core/dist/runtime-v2/internalization/__tests__/prompt-serializer.test.d.ts +2 -0
  76. package/core/dist/runtime-v2/internalization/__tests__/prompt-serializer.test.d.ts.map +1 -0
  77. package/core/dist/runtime-v2/internalization/__tests__/prompt-serializer.test.js +91 -0
  78. package/core/dist/runtime-v2/internalization/__tests__/prompt-serializer.test.js.map +1 -0
  79. package/core/dist/runtime-v2/internalization/__tests__/rollout-reviewer-prompt-builder.test.js +2 -2
  80. package/core/dist/runtime-v2/internalization/__tests__/rollout-reviewer-prompt-builder.test.js.map +1 -1
  81. package/core/dist/runtime-v2/internalization/__tests__/scribe-prompt-builder.test.js +3 -3
  82. package/core/dist/runtime-v2/internalization/__tests__/scribe-prompt-builder.test.js.map +1 -1
  83. package/core/dist/runtime-v2/internalization/__tests__/scribe-prompt-language.test.js +24 -23
  84. package/core/dist/runtime-v2/internalization/__tests__/scribe-prompt-language.test.js.map +1 -1
  85. package/core/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts +6 -1
  86. package/core/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts.map +1 -1
  87. package/core/dist/runtime-v2/internalization/artificer-prompt-builder.js +1 -2
  88. package/core/dist/runtime-v2/internalization/artificer-prompt-builder.js.map +1 -1
  89. package/core/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
  90. package/core/dist/runtime-v2/internalization/artificer-runner.js +2 -1
  91. package/core/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
  92. package/core/dist/runtime-v2/internalization/diag-distiller-runner.d.ts.map +1 -1
  93. package/core/dist/runtime-v2/internalization/diag-distiller-runner.js +2 -1
  94. package/core/dist/runtime-v2/internalization/diag-distiller-runner.js.map +1 -1
  95. package/core/dist/runtime-v2/internalization/diag-rootcause-runner.d.ts.map +1 -1
  96. package/core/dist/runtime-v2/internalization/diag-rootcause-runner.js +2 -1
  97. package/core/dist/runtime-v2/internalization/diag-rootcause-runner.js.map +1 -1
  98. package/core/dist/runtime-v2/internalization/diag-router-runner.d.ts.map +1 -1
  99. package/core/dist/runtime-v2/internalization/diag-router-runner.js +2 -1
  100. package/core/dist/runtime-v2/internalization/diag-router-runner.js.map +1 -1
  101. package/core/dist/runtime-v2/internalization/dreamer-prompt-builder.d.ts +14 -5
  102. package/core/dist/runtime-v2/internalization/dreamer-prompt-builder.d.ts.map +1 -1
  103. package/core/dist/runtime-v2/internalization/dreamer-prompt-builder.js +9 -6
  104. package/core/dist/runtime-v2/internalization/dreamer-prompt-builder.js.map +1 -1
  105. package/core/dist/runtime-v2/internalization/dreamer-runner.d.ts.map +1 -1
  106. package/core/dist/runtime-v2/internalization/dreamer-runner.js +2 -1
  107. package/core/dist/runtime-v2/internalization/dreamer-runner.js.map +1 -1
  108. package/core/dist/runtime-v2/internalization/evaluator-prompt-builder.d.ts +6 -1
  109. package/core/dist/runtime-v2/internalization/evaluator-prompt-builder.d.ts.map +1 -1
  110. package/core/dist/runtime-v2/internalization/evaluator-prompt-builder.js +3 -2
  111. package/core/dist/runtime-v2/internalization/evaluator-prompt-builder.js.map +1 -1
  112. package/core/dist/runtime-v2/internalization/evaluator-runner.d.ts +8 -0
  113. package/core/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
  114. package/core/dist/runtime-v2/internalization/evaluator-runner.js +27 -11
  115. package/core/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
  116. package/core/dist/runtime-v2/internalization/internalization-orchestrator.d.ts.map +1 -1
  117. package/core/dist/runtime-v2/internalization/internalization-orchestrator.js +29 -0
  118. package/core/dist/runtime-v2/internalization/internalization-orchestrator.js.map +1 -1
  119. package/core/dist/runtime-v2/internalization/philosopher-prompt-builder.d.ts +14 -5
  120. package/core/dist/runtime-v2/internalization/philosopher-prompt-builder.d.ts.map +1 -1
  121. package/core/dist/runtime-v2/internalization/philosopher-prompt-builder.js +9 -6
  122. package/core/dist/runtime-v2/internalization/philosopher-prompt-builder.js.map +1 -1
  123. package/core/dist/runtime-v2/internalization/philosopher-runner.d.ts.map +1 -1
  124. package/core/dist/runtime-v2/internalization/philosopher-runner.js +2 -1
  125. package/core/dist/runtime-v2/internalization/philosopher-runner.js.map +1 -1
  126. package/core/dist/runtime-v2/internalization/pitask-metadata.d.ts +10 -0
  127. package/core/dist/runtime-v2/internalization/pitask-metadata.d.ts.map +1 -1
  128. package/core/dist/runtime-v2/internalization/pitask-metadata.js +12 -0
  129. package/core/dist/runtime-v2/internalization/pitask-metadata.js.map +1 -1
  130. package/core/dist/runtime-v2/internalization/prompt-serializer.d.ts +27 -1
  131. package/core/dist/runtime-v2/internalization/prompt-serializer.d.ts.map +1 -1
  132. package/core/dist/runtime-v2/internalization/prompt-serializer.js +45 -11
  133. package/core/dist/runtime-v2/internalization/prompt-serializer.js.map +1 -1
  134. package/core/dist/runtime-v2/internalization/rollout-reviewer-prompt-builder.d.ts +6 -1
  135. package/core/dist/runtime-v2/internalization/rollout-reviewer-prompt-builder.d.ts.map +1 -1
  136. package/core/dist/runtime-v2/internalization/rollout-reviewer-prompt-builder.js +3 -2
  137. package/core/dist/runtime-v2/internalization/rollout-reviewer-prompt-builder.js.map +1 -1
  138. package/core/dist/runtime-v2/internalization/rollout-reviewer-runner.d.ts.map +1 -1
  139. package/core/dist/runtime-v2/internalization/rollout-reviewer-runner.js +2 -1
  140. package/core/dist/runtime-v2/internalization/rollout-reviewer-runner.js.map +1 -1
  141. package/core/dist/runtime-v2/internalization/scribe-prompt-builder.d.ts +6 -1
  142. package/core/dist/runtime-v2/internalization/scribe-prompt-builder.d.ts.map +1 -1
  143. package/core/dist/runtime-v2/internalization/scribe-prompt-builder.js +1 -2
  144. package/core/dist/runtime-v2/internalization/scribe-prompt-builder.js.map +1 -1
  145. package/core/dist/runtime-v2/internalization/scribe-runner.d.ts.map +1 -1
  146. package/core/dist/runtime-v2/internalization/scribe-runner.js +2 -1
  147. package/core/dist/runtime-v2/internalization/scribe-runner.js.map +1 -1
  148. package/core/dist/runtime-v2/observer/__tests__/correction-observer.test.js +3 -2
  149. package/core/dist/runtime-v2/observer/__tests__/correction-observer.test.js.map +1 -1
  150. package/core/dist/runtime-v2/observer/__tests__/empathy-observer.test.js +3 -2
  151. package/core/dist/runtime-v2/observer/__tests__/empathy-observer.test.js.map +1 -1
  152. package/core/dist/runtime-v2/observer/correction-observer.d.ts +7 -0
  153. package/core/dist/runtime-v2/observer/correction-observer.d.ts.map +1 -1
  154. package/core/dist/runtime-v2/observer/correction-observer.js +8 -2
  155. package/core/dist/runtime-v2/observer/correction-observer.js.map +1 -1
  156. package/core/dist/runtime-v2/observer/empathy-observer.d.ts +6 -0
  157. package/core/dist/runtime-v2/observer/empathy-observer.d.ts.map +1 -1
  158. package/core/dist/runtime-v2/observer/empathy-observer.js +7 -1
  159. package/core/dist/runtime-v2/observer/empathy-observer.js.map +1 -1
  160. package/core/dist/runtime-v2/runner/base-peer-runner.d.ts +1 -1
  161. package/core/dist/runtime-v2/runner/base-peer-runner.d.ts.map +1 -1
  162. package/core/dist/runtime-v2/runner/base-peer-runner.js +3 -1
  163. package/core/dist/runtime-v2/runner/base-peer-runner.js.map +1 -1
  164. package/core/dist/runtime-v2/runtime-protocol.d.ts +9 -0
  165. package/core/dist/runtime-v2/runtime-protocol.d.ts.map +1 -1
  166. package/core/dist/runtime-v2/runtime-protocol.js +9 -0
  167. package/core/dist/runtime-v2/runtime-protocol.js.map +1 -1
  168. package/core/dist/runtime-v2/signal-collector/index.d.ts +1 -1
  169. package/core/dist/runtime-v2/signal-collector/index.d.ts.map +1 -1
  170. package/core/dist/runtime-v2/signal-collector/index.js +1 -1
  171. package/core/dist/runtime-v2/signal-collector/index.js.map +1 -1
  172. package/core/dist/runtime-v2/signal-collector/llm-stage.d.ts +6 -0
  173. package/core/dist/runtime-v2/signal-collector/llm-stage.d.ts.map +1 -1
  174. package/core/dist/runtime-v2/signal-collector/llm-stage.js +7 -1
  175. package/core/dist/runtime-v2/signal-collector/llm-stage.js.map +1 -1
  176. package/core/dist/runtime-v2/system-prompt-merge.d.ts +19 -0
  177. package/core/dist/runtime-v2/system-prompt-merge.d.ts.map +1 -0
  178. package/core/dist/runtime-v2/system-prompt-merge.js +24 -0
  179. package/core/dist/runtime-v2/system-prompt-merge.js.map +1 -0
  180. package/core/package.json +1 -1
  181. package/host-runtime/dist/internalization-consumer-cycle.js +4 -0
  182. package/host-runtime/dist/internalization-consumer-governance.js +14 -3
  183. package/host-runtime/package.json +1 -1
  184. package/package.json +2 -2
  185. package/pd-cli/dist/commands/pain-retry.d.ts.map +1 -1
  186. package/pd-cli/dist/commands/pain-retry.js +3 -0
  187. package/pd-cli/dist/commands/pain-retry.js.map +1 -1
  188. package/pd-cli/dist/commands/runtime-internalization-run-once.d.ts.map +1 -1
  189. package/pd-cli/dist/commands/runtime-internalization-run-once.js +22 -7
  190. package/pd-cli/dist/commands/runtime-internalization-run-once.js.map +1 -1
  191. package/pd-cli/dist/commands/runtime-internalization-run-rulehost.d.ts.map +1 -1
  192. package/pd-cli/dist/commands/runtime-internalization-run-rulehost.js +2 -0
  193. package/pd-cli/dist/commands/runtime-internalization-run-rulehost.js.map +1 -1
  194. package/pd-cli/dist/services/__tests__/evaluator-runner-deps.test.js +27 -0
  195. package/pd-cli/dist/services/__tests__/evaluator-runner-deps.test.js.map +1 -1
  196. package/pd-cli/dist/services/rulehost-pipeline-runner.d.ts.map +1 -1
  197. package/pd-cli/dist/services/rulehost-pipeline-runner.js +12 -4
  198. package/pd-cli/dist/services/rulehost-pipeline-runner.js.map +1 -1
  199. package/pd-cli/dist/services/runtime-adapter-resolver.d.ts.map +1 -1
  200. package/pd-cli/dist/services/runtime-adapter-resolver.js +2 -0
  201. package/pd-cli/dist/services/runtime-adapter-resolver.js.map +1 -1
  202. package/pd-cli/package.json +1 -1
  203. package/plugin/dist/bundle.js +479 -479
  204. package/plugin/dist/governance-audit.js +129 -129
  205. package/plugin/dist/rulehost-evidence.js +138 -138
  206. package/plugin/openclaw.plugin.json +1 -1
  207. package/plugin/package.json +1 -1
  208. package/release-manager/package.json +2 -2
@@ -12,6 +12,10 @@
12
12
  * - undefined: instruction is byte-identical to the base protocol (backward
13
13
  * compatible — the pre-PRI-714 tests assert this identity too)
14
14
  * - technical identifiers / JSON keys stay untranslated (directive content)
15
+ *
16
+ * PRI-633: the instruction (role + protocol + directive) travels on the
17
+ * builder result's `systemPrompt` channel — assertions target it, and the
18
+ * serialized payload must NOT contain the instruction.
15
19
  */
16
20
  import { describe, it, expect } from 'vitest';
17
21
  import { EvaluatorPromptBuilder, EVALUATOR_PROTOCOL_INSTRUCTION } from '../evaluator-prompt-builder.js';
@@ -38,38 +42,40 @@ describe('EvaluatorPromptBuilder — outputLanguage (PRI-714)', () => {
38
42
  artificerArtifact: { taskId: 'artificer-task-001' },
39
43
  };
40
44
  it('includes Chinese language directive naming review fields when zh-CN', () => {
41
- const { promptInput } = builder.buildPrompt({ ...input, outputLanguage: 'zh-CN' });
42
- expect(promptInput.evaluatorInstruction).toContain('LANGUAGE DIRECTIVE');
43
- expect(promptInput.evaluatorInstruction).toContain('Simplified Chinese');
45
+ const { message, systemPrompt } = builder.buildPrompt({ ...input, outputLanguage: 'zh-CN' });
46
+ expect(systemPrompt).toContain('LANGUAGE DIRECTIVE');
47
+ expect(systemPrompt).toContain('Simplified Chinese');
44
48
  // review-subject field list present as EXPLICIT NESTED PATHS (PRI-714
45
49
  // review fix: the previously shared flat list missed two free-text fields
46
50
  // and left `explanation` ambiguous across three codeReview sub-objects).
47
- expect(promptInput.evaluatorInstruction).toContain('(evaluation.summary, evaluation.strengths, evaluation.concerns, evaluation.requiredChanges, '
51
+ expect(systemPrompt).toContain('(evaluation.summary, evaluation.strengths, evaluation.concerns, evaluation.requiredChanges, '
48
52
  + 'codeReview.intentConsistency.explanation, codeReview.scopePrecision.explanation, '
49
53
  + 'codeReview.traceCoverage.explanation, codeReview.traceCoverage.gaps, '
50
54
  + 'adversarialCases[].rationale, painCoverage.explanation, compressionFidelity.explanation, risks)');
51
55
  // …not the principle-subject list (the base instruction mentions
52
56
  // antiPatterns for code review, so assert the directive's own field list
53
57
  // string rather than global absence).
54
- expect(promptInput.evaluatorInstruction).not.toContain('(title, statement, rationale, applicability, antiPatterns, description)');
58
+ expect(systemPrompt).not.toContain('(title, statement, rationale, applicability, antiPatterns, description)');
55
59
  // PRI-630 guard: the requirementLedger statement echo rule is part of the
56
60
  // directive so the language instruction cannot override the convergence
57
61
  // contract (statement must be a verbatim echo, never translated).
58
- expect(promptInput.evaluatorInstruction).toContain('requirementLedger[].statement MUST be copied verbatim');
62
+ expect(systemPrompt).toContain('requirementLedger[].statement MUST be copied verbatim');
63
+ // PRI-633: the instruction left the payload for the system channel.
64
+ expect(message).not.toContain('LANGUAGE DIRECTIVE');
59
65
  });
60
66
  it('includes English language directive when en', () => {
61
- const { promptInput } = builder.buildPrompt({ ...input, outputLanguage: 'en' });
62
- expect(promptInput.evaluatorInstruction).toContain('English');
63
- expect(promptInput.evaluatorInstruction).toContain('MUST NOT be translated');
67
+ const { systemPrompt } = builder.buildPrompt({ ...input, outputLanguage: 'en' });
68
+ expect(systemPrompt).toContain('English');
69
+ expect(systemPrompt).toContain('MUST NOT be translated');
64
70
  });
65
71
  it('instruction is byte-identical to base protocol when outputLanguage is undefined', () => {
66
- const { promptInput } = builder.buildPrompt(input);
67
- expect(promptInput.evaluatorInstruction).toBe(EVALUATOR_PROTOCOL_INSTRUCTION);
72
+ const { systemPrompt } = builder.buildPrompt(input);
73
+ expect(systemPrompt).toBe(EVALUATOR_PROTOCOL_INSTRUCTION);
68
74
  });
69
75
  it('directive keeps technical identifiers and JSON keys untranslated', () => {
70
- const { promptInput } = builder.buildPrompt({ ...input, outputLanguage: 'zh-CN' });
71
- expect(promptInput.evaluatorInstruction).toContain('JSON field names (keys) MUST remain in English');
72
- expect(promptInput.evaluatorInstruction).toContain('Lineage and evidence fields MUST NOT be translated');
76
+ const { systemPrompt } = builder.buildPrompt({ ...input, outputLanguage: 'zh-CN' });
77
+ expect(systemPrompt).toContain('JSON field names (keys) MUST remain in English');
78
+ expect(systemPrompt).toContain('Lineage and evidence fields MUST NOT be translated');
73
79
  });
74
80
  });
75
81
  // ── Dreamer ──────────────────────────────────────────────────────────────────
@@ -82,34 +88,36 @@ describe('DreamerPromptBuilder — outputLanguage (PRI-714 review fix)', () => {
82
88
  };
83
89
  it('appends the dreamer-subject directive to the REAL generated prompt message when zh-CN', () => {
84
90
  // The real message the runner hands to adapter.startRun — not a helper.
85
- const { message, promptInput } = new DreamerPromptBuilder().buildPrompt({ ...input, outputLanguage: 'zh-CN' });
86
- expect(promptInput.dreamerInstruction).toContain('LANGUAGE DIRECTIVE');
87
- expect(promptInput.dreamerInstruction).toContain('Simplified Chinese');
91
+ const { message, systemPrompt } = new DreamerPromptBuilder().buildPrompt({ ...input, outputLanguage: 'zh-CN' });
92
+ expect(systemPrompt).toContain('LANGUAGE DIRECTIVE');
93
+ expect(systemPrompt).toContain('Simplified Chinese');
88
94
  // Field list matches the actual DreamerCandidate schema (riskLevel is an
89
95
  // enum — absent from the translatable list).
90
- expect(promptInput.dreamerInstruction).toContain('(candidates[].badDecision, candidates[].betterDecision, candidates[].rationale, candidates[].strategicPerspective)');
91
- // The directive survives JSON serialization into the actual message.
96
+ expect(systemPrompt).toContain('(candidates[].badDecision, candidates[].betterDecision, candidates[].rationale, candidates[].strategicPerspective)');
97
+ // PRI-633: the directive does NOT survive into the serialized payload —
98
+ // it lives on the system channel now.
92
99
  const parsed = parsePromptJson(message);
93
- expect(parsed.dreamerInstruction).toBe(promptInput.dreamerInstruction);
100
+ expect(parsed).not.toHaveProperty('dreamerInstruction');
101
+ expect(message).not.toContain('LANGUAGE DIRECTIVE');
94
102
  });
95
103
  it('directive works with coreGrounding ON (axiom block + directive coexist)', () => {
96
- const { promptInput } = new DreamerPromptBuilder({ coreGrounding: true }).buildPrompt({ ...input, outputLanguage: 'zh-CN' });
97
- expect(promptInput.dreamerInstruction).toContain('CORE AXIOMS:');
98
- expect(promptInput.dreamerInstruction).toContain('LANGUAGE DIRECTIVE');
104
+ const { systemPrompt } = new DreamerPromptBuilder({ coreGrounding: true }).buildPrompt({ ...input, outputLanguage: 'zh-CN' });
105
+ expect(systemPrompt).toContain('CORE AXIOMS:');
106
+ expect(systemPrompt).toContain('LANGUAGE DIRECTIVE');
99
107
  });
100
108
  it('directive also works with coreGrounding OFF (review bug: only the axiom block used the language)', () => {
101
- const { promptInput } = new DreamerPromptBuilder({ coreGrounding: false }).buildPrompt({ ...input, outputLanguage: 'en' });
102
- expect(promptInput.dreamerInstruction).not.toContain('CORE AXIOMS:');
103
- expect(promptInput.dreamerInstruction).toContain('LANGUAGE DIRECTIVE');
104
- expect(promptInput.dreamerInstruction).toContain('English');
109
+ const { systemPrompt } = new DreamerPromptBuilder({ coreGrounding: false }).buildPrompt({ ...input, outputLanguage: 'en' });
110
+ expect(systemPrompt).not.toContain('CORE AXIOMS:');
111
+ expect(systemPrompt).toContain('LANGUAGE DIRECTIVE');
112
+ expect(systemPrompt).toContain('English');
105
113
  });
106
114
  it('instruction is byte-identical to the base protocol when outputLanguage is undefined', () => {
107
115
  const withLang = new DreamerPromptBuilder().buildPrompt({ ...input, outputLanguage: undefined });
108
116
  const base = buildDreamerProtocolInstruction({ coreGrounding: false });
109
- expect(withLang.promptInput.dreamerInstruction).toBe(base);
117
+ expect(withLang.systemPrompt).toBe(base);
110
118
  // And the class-level constructor default behaves identically.
111
119
  const implicit = new DreamerPromptBuilder().buildPrompt(input);
112
- expect(implicit.promptInput.dreamerInstruction).toBe(base);
120
+ expect(implicit.systemPrompt).toBe(base);
113
121
  });
114
122
  });
115
123
  // ── Philosopher ──────────────────────────────────────────────────────────────
@@ -121,28 +129,30 @@ describe('PhilosopherPromptBuilder — outputLanguage (PRI-714 review fix)', ()
121
129
  sourceDreamerArtifactId: 'pi-art-dreamer-001',
122
130
  };
123
131
  it('appends the philosopher-subject directive to the REAL generated prompt message when zh-CN', () => {
124
- const { message, promptInput } = new PhilosopherPromptBuilder().buildPrompt({ ...input, outputLanguage: 'zh-CN' });
125
- expect(promptInput.philosopherInstruction).toContain('LANGUAGE DIRECTIVE');
126
- expect(promptInput.philosopherInstruction).toContain('Simplified Chinese');
132
+ const { message, systemPrompt } = new PhilosopherPromptBuilder().buildPrompt({ ...input, outputLanguage: 'zh-CN' });
133
+ expect(systemPrompt).toContain('LANGUAGE DIRECTIVE');
134
+ expect(systemPrompt).toContain('Simplified Chinese');
127
135
  // Field list matches the actual PhilosopherOutputV1 schema (confidence is
128
136
  // numeric — absent from the translatable list).
129
- expect(promptInput.philosopherInstruction).toContain('(thesis, principleCandidate.title, principleCandidate.rationale, principleCandidate.scope, risks[])');
137
+ expect(systemPrompt).toContain('(thesis, principleCandidate.title, principleCandidate.rationale, principleCandidate.scope, risks[])');
138
+ // PRI-633: the instruction left the payload for the system channel.
130
139
  const parsed = parsePromptJson(message);
131
- expect(parsed.philosopherInstruction).toBe(promptInput.philosopherInstruction);
140
+ expect(parsed).not.toHaveProperty('philosopherInstruction');
141
+ expect(message).not.toContain('LANGUAGE DIRECTIVE');
132
142
  });
133
143
  it('directive works with coreGrounding ON and OFF', () => {
134
144
  const on = new PhilosopherPromptBuilder({ coreGrounding: true }).buildPrompt({ ...input, outputLanguage: 'zh-CN' });
135
- expect(on.promptInput.philosopherInstruction).toContain('CORE AXIOMS:');
136
- expect(on.promptInput.philosopherInstruction).toContain('LANGUAGE DIRECTIVE');
145
+ expect(on.systemPrompt).toContain('CORE AXIOMS:');
146
+ expect(on.systemPrompt).toContain('LANGUAGE DIRECTIVE');
137
147
  const off = new PhilosopherPromptBuilder({ coreGrounding: false }).buildPrompt({ ...input, outputLanguage: 'en' });
138
- expect(off.promptInput.philosopherInstruction).not.toContain('CORE AXIOMS:');
139
- expect(off.promptInput.philosopherInstruction).toContain('LANGUAGE DIRECTIVE');
140
- expect(off.promptInput.philosopherInstruction).toContain('English');
148
+ expect(off.systemPrompt).not.toContain('CORE AXIOMS:');
149
+ expect(off.systemPrompt).toContain('LANGUAGE DIRECTIVE');
150
+ expect(off.systemPrompt).toContain('English');
141
151
  });
142
152
  it('instruction is byte-identical to the base protocol when outputLanguage is undefined', () => {
143
153
  const withLang = new PhilosopherPromptBuilder().buildPrompt({ ...input, outputLanguage: undefined });
144
154
  const base = buildPhilosopherProtocolInstruction({ coreGrounding: false });
145
- expect(withLang.promptInput.philosopherInstruction).toBe(base);
155
+ expect(withLang.systemPrompt).toBe(base);
146
156
  });
147
157
  });
148
158
  // ── Rollout Reviewer ─────────────────────────────────────────────────────────
@@ -156,25 +166,26 @@ describe('RolloutReviewerPromptBuilder — outputLanguage (PRI-714)', () => {
156
166
  };
157
167
  it('includes Chinese language directive naming review fields when zh-CN', () => {
158
168
  const result = builder.buildPrompt({ ...input, outputLanguage: 'zh-CN' });
159
- expect(result.promptInput.rolloutReviewerInstruction).toContain('LANGUAGE DIRECTIVE');
160
- expect(result.promptInput.rolloutReviewerInstruction).toContain('Simplified Chinese');
169
+ expect(result.systemPrompt).toContain('LANGUAGE DIRECTIVE');
170
+ expect(result.systemPrompt).toContain('Simplified Chinese');
161
171
  // PRI-714 review fix: the rollout reviewer names its OWN schema fields
162
172
  // (review.*) — not the evaluator's evaluation.*/codeReview.* paths.
163
- expect(result.promptInput.rolloutReviewerInstruction).toContain('(review.summary, review.requiredChanges, review.rolloutRisks, review.safetyChecks, risks)');
164
- expect(result.promptInput.rolloutReviewerInstruction).not.toContain('codeReview.traceCoverage');
165
- expect(result.promptInput.rolloutReviewerInstruction).not.toContain('requirementLedger');
173
+ expect(result.systemPrompt).toContain('(review.summary, review.requiredChanges, review.rolloutRisks, review.safetyChecks, risks)');
174
+ expect(result.systemPrompt).not.toContain('codeReview.traceCoverage');
175
+ expect(result.systemPrompt).not.toContain('requirementLedger');
166
176
  });
167
177
  it('includes English language directive when en', () => {
168
178
  const result = builder.buildPrompt({ ...input, outputLanguage: 'en' });
169
- expect(result.promptInput.rolloutReviewerInstruction).toContain('English');
170
- expect(result.promptInput.rolloutReviewerInstruction).toContain('MUST NOT be translated');
179
+ expect(result.systemPrompt).toContain('English');
180
+ expect(result.systemPrompt).toContain('MUST NOT be translated');
171
181
  });
172
182
  it('instruction is byte-identical to base protocol when outputLanguage is undefined', () => {
173
183
  const result = builder.buildPrompt(input);
174
- expect(result.promptInput.rolloutReviewerInstruction).toBe(ROLLOUT_REVIEWER_PROTOCOL_INSTRUCTION);
184
+ expect(result.systemPrompt).toBe(ROLLOUT_REVIEWER_PROTOCOL_INSTRUCTION);
175
185
  expect(result.message).toBeDefined();
186
+ // PRI-633: the instruction left the payload for the system channel.
176
187
  const parsed = parsePromptJson(result.message);
177
- expect(parsed.rolloutReviewerInstruction).toBe(ROLLOUT_REVIEWER_PROTOCOL_INSTRUCTION);
188
+ expect(parsed).not.toHaveProperty('rolloutReviewerInstruction');
178
189
  });
179
190
  });
180
191
  // ── Artificer ────────────────────────────────────────────────────────────────
@@ -189,11 +200,11 @@ describe('ArtificerPromptBuilder — outputLanguage (PRI-714)', () => {
189
200
  };
190
201
  it('includes Chinese language directive naming implementation fields when zh-CN', () => {
191
202
  const result = builder.buildPrompt({ ...input, outputLanguage: 'zh-CN' });
192
- expect(result.promptInput.artificerInstruction).toContain('LANGUAGE DIRECTIVE');
193
- expect(result.promptInput.artificerInstruction).toContain('Simplified Chinese');
203
+ expect(result.systemPrompt).toContain('LANGUAGE DIRECTIVE');
204
+ expect(result.systemPrompt).toContain('Simplified Chinese');
194
205
  // implementation-subject field list
195
- expect(result.promptInput.artificerInstruction).toContain('implementationSummary');
196
- expect(result.promptInput.artificerInstruction).not.toContain('requiredChanges');
206
+ expect(result.systemPrompt).toContain('implementationSummary');
207
+ expect(result.systemPrompt).not.toContain('requiredChanges');
197
208
  });
198
209
  it('directive appears after the context-mode block in v2 mode too', () => {
199
210
  const ruleContext = {
@@ -213,8 +224,8 @@ describe('ArtificerPromptBuilder — outputLanguage (PRI-714)', () => {
213
224
  },
214
225
  outputLanguage: 'zh-CN',
215
226
  });
216
- expect(result.promptInput.artificerInstruction).toContain('CONTEXT MODE: v2');
217
- expect(result.promptInput.artificerInstruction).toContain('LANGUAGE DIRECTIVE');
227
+ expect(result.systemPrompt).toContain('CONTEXT MODE: v2');
228
+ expect(result.systemPrompt).toContain('LANGUAGE DIRECTIVE');
218
229
  });
219
230
  it('instruction is byte-identical to base protocol + v1 context block when outputLanguage is undefined', () => {
220
231
  const result = builder.buildPrompt(input);
@@ -222,7 +233,7 @@ describe('ArtificerPromptBuilder — outputLanguage (PRI-714)', () => {
222
233
  + '\nCONTEXT MODE: v1\n- You MUST NOT read input.context.\n'
223
234
  + '- You MUST NOT output requiresContextVersion or case-level ruleContext.\n'
224
235
  + '- Generate an action-only rule from the Scribe principle.\n';
225
- expect(result.promptInput.artificerInstruction).toBe(base);
236
+ expect(result.systemPrompt).toBe(base);
226
237
  });
227
238
  });
228
239
  // ── buildLanguageDirective subject variants ─────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"peer-prompt-language.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/internalization/__tests__/peer-prompt-language.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"peer-prompt-language.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/internalization/__tests__/peer-prompt-language.test.ts"],"names":[],"mappings":"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"}
@@ -69,19 +69,19 @@ describe('PhilosopherPromptBuilder', () => {
69
69
  const parsed = JSON.parse(result.message);
70
70
  expect(parsed.taskId).toBe('task-philosopher-001');
71
71
  });
72
- it('philosopherInstruction is present and contains key protocol keywords', () => {
72
+ it('systemPrompt (PRI-633: ex-philosopherInstruction) is present and contains key protocol keywords', () => {
73
73
  const builder = new PhilosopherPromptBuilder();
74
74
  const result = builder.buildPrompt(MINIMAL_INPUT);
75
- expect(result.promptInput.philosopherInstruction).toBeDefined();
76
- expect(result.promptInput.philosopherInstruction.length).toBeGreaterThan(100);
77
- expect(result.promptInput.philosopherInstruction).toContain('Philosopher');
78
- expect(result.promptInput.philosopherInstruction).toContain('principle');
79
- expect(result.promptInput.philosopherInstruction).toContain('thesis');
75
+ expect(result.systemPrompt).toBeDefined();
76
+ expect(result.systemPrompt.length).toBeGreaterThan(100);
77
+ expect(result.systemPrompt).toContain('Philosopher');
78
+ expect(result.systemPrompt).toContain('principle');
79
+ expect(result.systemPrompt).toContain('thesis');
80
80
  });
81
81
  it('philosopherInstruction contains the output JSON schema format', () => {
82
82
  const builder = new PhilosopherPromptBuilder();
83
83
  const result = builder.buildPrompt(MINIMAL_INPUT);
84
- const instruction = result.promptInput.philosopherInstruction;
84
+ const instruction = result.systemPrompt;
85
85
  expect(instruction).toContain('"taskId"');
86
86
  expect(instruction).toContain('"sourceDreamerArtifactId"');
87
87
  expect(instruction).toContain('"thesis"');
@@ -96,21 +96,21 @@ describe('PhilosopherPromptBuilder', () => {
96
96
  it('philosopherInstruction specifies confidence must be a number between 0 and 1', () => {
97
97
  const builder = new PhilosopherPromptBuilder();
98
98
  const result = builder.buildPrompt(MINIMAL_INPUT);
99
- const instruction = result.promptInput.philosopherInstruction;
99
+ const instruction = result.systemPrompt;
100
100
  expect(instruction).toMatch(/confidence.*number/i);
101
101
  expect(instruction).toMatch(/0.*1/);
102
102
  });
103
103
  it('philosopherInstruction specifies output must be pure JSON only', () => {
104
104
  const builder = new PhilosopherPromptBuilder();
105
105
  const result = builder.buildPrompt(MINIMAL_INPUT);
106
- const instruction = result.promptInput.philosopherInstruction;
106
+ const instruction = result.systemPrompt;
107
107
  expect(instruction).toMatch(/only.*JSON|JSON.*only|pure JSON/i);
108
108
  expect(instruction).toMatch(/no markdown/i);
109
109
  });
110
110
  it('philosopherInstruction tells LLM to copy sourceDreamerArtifactId from input', () => {
111
111
  const builder = new PhilosopherPromptBuilder();
112
112
  const result = builder.buildPrompt(MINIMAL_INPUT);
113
- const instruction = result.promptInput.philosopherInstruction;
113
+ const instruction = result.systemPrompt;
114
114
  expect(instruction).toContain('input.sourceDreamerArtifactId');
115
115
  });
116
116
  it('sourceDreamerArtifactId appears at top level of serialized JSON message', () => {
@@ -134,7 +134,7 @@ describe('PhilosopherPromptBuilder', () => {
134
134
  expect(result.promptInput.sourceDreamerArtifactId).toBe('');
135
135
  expect(() => JSON.parse(result.message)).not.toThrow();
136
136
  });
137
- it('message JSON contains all required PhilosopherPromptInput fields at top level', () => {
137
+ it('message JSON contains all required PhilosopherPromptInput fields at top level (no role instruction, PRI-633)', () => {
138
138
  const builder = new PhilosopherPromptBuilder();
139
139
  const result = builder.buildPrompt(MINIMAL_INPUT);
140
140
  const parsed = JSON.parse(result.message);
@@ -142,7 +142,8 @@ describe('PhilosopherPromptBuilder', () => {
142
142
  expect(parsed).toHaveProperty('contextHash');
143
143
  expect(parsed).toHaveProperty('dreamerArtifact');
144
144
  expect(parsed).toHaveProperty('sourceDreamerArtifactId');
145
- expect(parsed).toHaveProperty('philosopherInstruction');
145
+ expect(parsed).not.toHaveProperty('philosopherInstruction');
146
+ expect(result.systemPrompt).toContain('You are a Philosopher agent');
146
147
  });
147
148
  });
148
149
  });
@@ -1 +1 @@
1
- {"version":3,"file":"philosopher-prompt-builder.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/internalization/__tests__/philosopher-prompt-builder.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"philosopher-prompt-builder.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/internalization/__tests__/philosopher-prompt-builder.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=prompt-serializer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-serializer.test.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/internalization/__tests__/prompt-serializer.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,91 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { serializePromptInput } from '../prompt-serializer.js';
3
+ /**
4
+ * EP002-R2 finding: the artificer/evaluator prompt inputs legitimately contain
5
+ * the SAME object under two paths (e.g. intentContract both at top level and
6
+ * nested in scribeArtifact). The WeakSet-based serializer misclassified that
7
+ * DAG re-visit as a cycle and emitted '[Circular]' — the LLM received a
8
+ * placeholder where the contract content should have been (the evaluator
9
+ * flagged this as "Input intentContract serialized as '[Circular]'").
10
+ *
11
+ * Contract under test:
12
+ * - DAG (object reachable twice via separate paths) → serialized in full BOTH times;
13
+ * - true cycle (object is its own ancestor, direct or indirect) → '[Circular]' placeholder, no crash;
14
+ * - native JSON.stringify value semantics preserved for non-plain values
15
+ * (Date/toJSON()/Map/Set) — the review regression guard: a manual walker
16
+ * re-enumerated Date instances into '{}';
17
+ * - bigint mapping + bounded output preserved.
18
+ */
19
+ describe('serializePromptInput — DAG vs cycle', () => {
20
+ it('serializes an object referenced twice (DAG) in full both times — not "[Circular]"', () => {
21
+ const intentContract = { ownerIntent: 'stop guessing config contracts' };
22
+ const input = { intentContract, scribeArtifact: { intentContract } };
23
+ const out = JSON.parse(serializePromptInput(input));
24
+ expect(out.intentContract.ownerIntent).toBe('stop guessing config contracts');
25
+ expect(out.scribeArtifact.intentContract.ownerIntent).toBe('stop guessing config contracts');
26
+ });
27
+ it('serializes sibling references to the same leaf object without placeholders', () => {
28
+ const shared = { tokenId: 'tok-1' };
29
+ const input = { a: shared, b: shared, list: [shared, shared] };
30
+ const out = JSON.parse(serializePromptInput(input));
31
+ expect(out.a.tokenId).toBe('tok-1');
32
+ expect(out.b.tokenId).toBe('tok-1');
33
+ expect(out.list[0]?.tokenId).toBe('tok-1');
34
+ expect(out.list[1]?.tokenId).toBe('tok-1');
35
+ });
36
+ it('replaces a TRUE cycle with "[Circular]" (bounded output, no crash)', () => {
37
+ const a = { name: 'a' };
38
+ a.self = a;
39
+ const out = JSON.parse(serializePromptInput(a));
40
+ expect(out.name).toBe('a');
41
+ expect(out.self).toBe('[Circular]');
42
+ });
43
+ it('replaces an indirect cycle at the repeating depth only', () => {
44
+ const leaf = { v: 1 };
45
+ const mid = { leaf };
46
+ const root = { mid, alias: mid };
47
+ // root → mid → leaf is a DAG (alias re-visits mid AFTER its subtree completed)
48
+ const out = JSON.parse(serializePromptInput(root));
49
+ expect(out.mid.leaf.v).toBe(1);
50
+ expect(out.alias.leaf.v).toBe(1);
51
+ });
52
+ it('bounds a TRUE indirect cycle A → B → A at the back-edge only', () => {
53
+ const a = { name: 'A' };
54
+ const b = { parent: a };
55
+ a.child = b;
56
+ const out = JSON.parse(serializePromptInput(a));
57
+ expect(out.name).toBe('A');
58
+ expect(out.child.parent).toBe('[Circular]');
59
+ });
60
+ it('preserves native Date serialization (toJSON) instead of collapsing it to {}', () => {
61
+ const date = new Date('2026-01-01T00:00:00.000Z');
62
+ const out = JSON.parse(serializePromptInput({ at: date }));
63
+ expect(out.at).toBe(date.toISOString());
64
+ });
65
+ it('applies a custom toJSON() exactly like native JSON.stringify', () => {
66
+ const value = { artifact: { toJSON: () => ({ canonical: true }) } };
67
+ expect(serializePromptInput(value)).toBe(JSON.stringify(value));
68
+ const out = JSON.parse(serializePromptInput(value));
69
+ expect(out.artifact.canonical).toBe(true);
70
+ });
71
+ it('keeps native semantics for non-plain objects (Map/Set) — native parity, not re-enumeration', () => {
72
+ const value = { tags: new Set(['x']), lookup: new Map([['k', 1]]) };
73
+ // Native JSON.stringify renders Map/Set as {}; the wrapper preserves that
74
+ // contract instead of inventing its own representation.
75
+ expect(serializePromptInput(value)).toBe(JSON.stringify(value));
76
+ });
77
+ it('maps bigint values with the n suffix', () => {
78
+ const out = JSON.parse(serializePromptInput({ count: 5n }));
79
+ expect(out.count).toBe('5n');
80
+ });
81
+ it('maps bigint nested in arrays with the n suffix', () => {
82
+ const out = JSON.parse(serializePromptInput([1n, { count: 2n }]));
83
+ expect(out).toEqual(['1n', { count: '2n' }]);
84
+ });
85
+ it('returns "null" for an undefined root and still caps oversized output', () => {
86
+ expect(serializePromptInput(undefined)).toBe('null');
87
+ const big = { blob: 'x'.repeat(60_000) };
88
+ expect(() => serializePromptInput(big)).toThrow(RangeError);
89
+ });
90
+ });
91
+ //# sourceMappingURL=prompt-serializer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-serializer.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/internalization/__tests__/prompt-serializer.test.ts"],"names":[],"mappings":"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"}
@@ -23,14 +23,14 @@ describe('RolloutReviewerPromptBuilder', () => {
23
23
  });
24
24
  expect(result.promptInput.sourceEvaluatorArtifactId).toBe('pi-art-evaluator-001');
25
25
  });
26
- it('promptInput contains rolloutReviewerInstruction', () => {
26
+ it('systemPrompt carries the rollout reviewer instruction (PRI-633)', () => {
27
27
  const result = builder.buildPrompt({
28
28
  taskId: 'task-rr-001',
29
29
  contextHash: 'ctx-abc123',
30
30
  sourceEvaluatorArtifactId: 'pi-art-evaluator-001',
31
31
  evaluatorArtifact: null,
32
32
  });
33
- expect(result.promptInput.rolloutReviewerInstruction).toBe(ROLLOUT_REVIEWER_PROTOCOL_INSTRUCTION);
33
+ expect(result.systemPrompt).toBe(ROLLOUT_REVIEWER_PROTOCOL_INSTRUCTION);
34
34
  });
35
35
  it('promptContractVersion is set correctly', () => {
36
36
  const result = builder.buildPrompt({
@@ -1 +1 @@
1
- {"version":3,"file":"rollout-reviewer-prompt-builder.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/internalization/__tests__/rollout-reviewer-prompt-builder.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rollout-reviewer-prompt-builder.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/internalization/__tests__/rollout-reviewer-prompt-builder.test.ts"],"names":[],"mappings":"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"}
@@ -35,10 +35,10 @@ describe('ScribePromptBuilder (PRI-109)', () => {
35
35
  expect(instruction).toContain('confidence MUST be a number between 0.0 and 1.0');
36
36
  expect(instruction).toContain('NOT a string');
37
37
  });
38
- it('promptInput includes scribeInstruction', () => {
39
- const { promptInput } = builder.buildPrompt(defaultInput);
38
+ it('systemPrompt carries the scribe instruction (PRI-633)', () => {
39
+ const { systemPrompt } = builder.buildPrompt(defaultInput);
40
40
  const expectedInstruction = buildScribeProtocolInstruction();
41
- expect(promptInput.scribeInstruction).toBe(expectedInstruction);
41
+ expect(systemPrompt).toBe(expectedInstruction);
42
42
  });
43
43
  it('promptInput includes promptContractVersion', () => {
44
44
  const { promptInput } = builder.buildPrompt(defaultInput);
@@ -1 +1 @@
1
- {"version":3,"file":"scribe-prompt-builder.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/internalization/__tests__/scribe-prompt-builder.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scribe-prompt-builder.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/internalization/__tests__/scribe-prompt-builder.test.ts"],"names":[],"mappings":"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"}