@principles/core 1.278.7 → 1.278.9
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.
- package/dist/runtime-v2/__tests__/system-prompt-merge.test.d.ts +2 -0
- package/dist/runtime-v2/__tests__/system-prompt-merge.test.d.ts.map +1 -0
- package/dist/runtime-v2/__tests__/system-prompt-merge.test.js +24 -0
- package/dist/runtime-v2/__tests__/system-prompt-merge.test.js.map +1 -0
- package/dist/runtime-v2/adapter/__tests__/artificer-l2-adapter.test.js +26 -0
- package/dist/runtime-v2/adapter/__tests__/artificer-l2-adapter.test.js.map +1 -1
- package/dist/runtime-v2/adapter/__tests__/l2-agent-loop-adapter.test.js +33 -0
- package/dist/runtime-v2/adapter/__tests__/l2-agent-loop-adapter.test.js.map +1 -1
- package/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter-systemprompt-fold.test.d.ts +13 -0
- package/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter-systemprompt-fold.test.d.ts.map +1 -0
- package/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter-systemprompt-fold.test.js +86 -0
- package/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter-systemprompt-fold.test.js.map +1 -0
- package/dist/runtime-v2/adapter/__tests__/pi-ai-runtime-adapter.test.js +30 -0
- package/dist/runtime-v2/adapter/__tests__/pi-ai-runtime-adapter.test.js.map +1 -1
- package/dist/runtime-v2/adapter/artificer-l2-adapter.d.ts +6 -0
- package/dist/runtime-v2/adapter/artificer-l2-adapter.d.ts.map +1 -1
- package/dist/runtime-v2/adapter/artificer-l2-adapter.js +11 -3
- package/dist/runtime-v2/adapter/artificer-l2-adapter.js.map +1 -1
- package/dist/runtime-v2/adapter/l2-agent-loop-adapter.d.ts +6 -0
- package/dist/runtime-v2/adapter/l2-agent-loop-adapter.d.ts.map +1 -1
- package/dist/runtime-v2/adapter/l2-agent-loop-adapter.js +22 -7
- package/dist/runtime-v2/adapter/l2-agent-loop-adapter.js.map +1 -1
- package/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.d.ts.map +1 -1
- package/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.js +11 -2
- package/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.js.map +1 -1
- package/dist/runtime-v2/adapter/pi-ai-runtime-adapter.d.ts +8 -5
- package/dist/runtime-v2/adapter/pi-ai-runtime-adapter.d.ts.map +1 -1
- package/dist/runtime-v2/adapter/pi-ai-runtime-adapter.js +14 -3
- package/dist/runtime-v2/adapter/pi-ai-runtime-adapter.js.map +1 -1
- package/dist/runtime-v2/diagnostician/__tests__/rootcause-prompt-builder.test.js +41 -1
- package/dist/runtime-v2/diagnostician/__tests__/rootcause-prompt-builder.test.js.map +1 -1
- package/dist/runtime-v2/diagnostician/distiller-prompt-builder.d.ts +6 -2
- package/dist/runtime-v2/diagnostician/distiller-prompt-builder.d.ts.map +1 -1
- package/dist/runtime-v2/diagnostician/distiller-prompt-builder.js +1 -2
- package/dist/runtime-v2/diagnostician/distiller-prompt-builder.js.map +1 -1
- package/dist/runtime-v2/diagnostician/rootcause-prompt-builder.d.ts +3 -1
- package/dist/runtime-v2/diagnostician/rootcause-prompt-builder.d.ts.map +1 -1
- package/dist/runtime-v2/diagnostician/rootcause-prompt-builder.js +35 -16
- package/dist/runtime-v2/diagnostician/rootcause-prompt-builder.js.map +1 -1
- package/dist/runtime-v2/diagnostician/router-prompt-builder.d.ts +6 -2
- package/dist/runtime-v2/diagnostician/router-prompt-builder.d.ts.map +1 -1
- package/dist/runtime-v2/diagnostician/router-prompt-builder.js +1 -2
- package/dist/runtime-v2/diagnostician/router-prompt-builder.js.map +1 -1
- package/dist/runtime-v2/diagnostician-prompt-builder.d.ts +7 -9
- package/dist/runtime-v2/diagnostician-prompt-builder.d.ts.map +1 -1
- package/dist/runtime-v2/diagnostician-prompt-builder.js.map +1 -1
- package/dist/runtime-v2/index.d.ts +1 -1
- package/dist/runtime-v2/index.d.ts.map +1 -1
- package/dist/runtime-v2/index.js +1 -1
- package/dist/runtime-v2/index.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.js +11 -11
- package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js +28 -26
- package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.js +6 -3
- package/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/dreamer-prompt-builder.test.js +21 -18
- package/dist/runtime-v2/internalization/__tests__/dreamer-prompt-builder.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/evaluator-chinese-feedback-contract.test.d.ts +2 -0
- package/dist/runtime-v2/internalization/__tests__/evaluator-chinese-feedback-contract.test.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/evaluator-chinese-feedback-contract.test.js +300 -0
- package/dist/runtime-v2/internalization/__tests__/evaluator-chinese-feedback-contract.test.js.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder.test.js +7 -5
- package/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/evolution-alignment-contract.test.js +9 -9
- package/dist/runtime-v2/internalization/__tests__/evolution-alignment-contract.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/peer-prompt-language.test.d.ts +21 -0
- package/dist/runtime-v2/internalization/__tests__/peer-prompt-language.test.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/peer-prompt-language.test.js +291 -0
- package/dist/runtime-v2/internalization/__tests__/peer-prompt-language.test.js.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/philosopher-prompt-builder.test.js +13 -12
- package/dist/runtime-v2/internalization/__tests__/philosopher-prompt-builder.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/rollout-reviewer-prompt-builder.test.js +2 -2
- package/dist/runtime-v2/internalization/__tests__/rollout-reviewer-prompt-builder.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/scribe-prompt-builder.test.js +3 -3
- package/dist/runtime-v2/internalization/__tests__/scribe-prompt-builder.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/scribe-prompt-language.test.js +24 -23
- package/dist/runtime-v2/internalization/__tests__/scribe-prompt-language.test.js.map +1 -1
- package/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts +15 -1
- package/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/artificer-prompt-builder.js +6 -3
- package/dist/runtime-v2/internalization/artificer-prompt-builder.js.map +1 -1
- package/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/artificer-runner.js +6 -1
- package/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/diag-distiller-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/diag-distiller-runner.js +2 -1
- package/dist/runtime-v2/internalization/diag-distiller-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/diag-rootcause-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/diag-rootcause-runner.js +2 -1
- package/dist/runtime-v2/internalization/diag-rootcause-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/diag-router-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/diag-router-runner.js +2 -1
- package/dist/runtime-v2/internalization/diag-router-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/dreamer-prompt-builder.d.ts +21 -5
- package/dist/runtime-v2/internalization/dreamer-prompt-builder.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/dreamer-prompt-builder.js +21 -7
- package/dist/runtime-v2/internalization/dreamer-prompt-builder.js.map +1 -1
- package/dist/runtime-v2/internalization/dreamer-runner.d.ts +7 -0
- package/dist/runtime-v2/internalization/dreamer-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/dreamer-runner.js +6 -3
- package/dist/runtime-v2/internalization/dreamer-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-prompt-builder.d.ts +15 -1
- package/dist/runtime-v2/internalization/evaluator-prompt-builder.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-prompt-builder.js +7 -2
- package/dist/runtime-v2/internalization/evaluator-prompt-builder.js.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-runner.d.ts +14 -0
- package/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-runner.js +18 -7
- package/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/philosopher-prompt-builder.d.ts +20 -5
- package/dist/runtime-v2/internalization/philosopher-prompt-builder.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/philosopher-prompt-builder.js +20 -7
- package/dist/runtime-v2/internalization/philosopher-prompt-builder.js.map +1 -1
- package/dist/runtime-v2/internalization/philosopher-runner.d.ts +7 -0
- package/dist/runtime-v2/internalization/philosopher-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/philosopher-runner.js +6 -3
- package/dist/runtime-v2/internalization/philosopher-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/rollout-reviewer-prompt-builder.d.ts +14 -1
- package/dist/runtime-v2/internalization/rollout-reviewer-prompt-builder.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/rollout-reviewer-prompt-builder.js +9 -2
- package/dist/runtime-v2/internalization/rollout-reviewer-prompt-builder.js.map +1 -1
- package/dist/runtime-v2/internalization/rollout-reviewer-runner.d.ts +10 -0
- package/dist/runtime-v2/internalization/rollout-reviewer-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/rollout-reviewer-runner.js +5 -1
- package/dist/runtime-v2/internalization/rollout-reviewer-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/scribe-prompt-builder.d.ts +6 -1
- package/dist/runtime-v2/internalization/scribe-prompt-builder.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/scribe-prompt-builder.js +1 -2
- package/dist/runtime-v2/internalization/scribe-prompt-builder.js.map +1 -1
- package/dist/runtime-v2/internalization/scribe-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/scribe-runner.js +2 -1
- package/dist/runtime-v2/internalization/scribe-runner.js.map +1 -1
- package/dist/runtime-v2/language-directive.d.ts +20 -2
- package/dist/runtime-v2/language-directive.d.ts.map +1 -1
- package/dist/runtime-v2/language-directive.js +25 -13
- package/dist/runtime-v2/language-directive.js.map +1 -1
- package/dist/runtime-v2/observer/__tests__/correction-observer.test.js +3 -2
- package/dist/runtime-v2/observer/__tests__/correction-observer.test.js.map +1 -1
- package/dist/runtime-v2/observer/__tests__/empathy-observer.test.js +3 -2
- package/dist/runtime-v2/observer/__tests__/empathy-observer.test.js.map +1 -1
- package/dist/runtime-v2/observer/correction-observer.d.ts +7 -0
- package/dist/runtime-v2/observer/correction-observer.d.ts.map +1 -1
- package/dist/runtime-v2/observer/correction-observer.js +8 -2
- package/dist/runtime-v2/observer/correction-observer.js.map +1 -1
- package/dist/runtime-v2/observer/empathy-observer.d.ts +6 -0
- package/dist/runtime-v2/observer/empathy-observer.d.ts.map +1 -1
- package/dist/runtime-v2/observer/empathy-observer.js +7 -1
- package/dist/runtime-v2/observer/empathy-observer.js.map +1 -1
- package/dist/runtime-v2/runner/base-peer-runner.d.ts +1 -1
- package/dist/runtime-v2/runner/base-peer-runner.d.ts.map +1 -1
- package/dist/runtime-v2/runner/base-peer-runner.js +3 -1
- package/dist/runtime-v2/runner/base-peer-runner.js.map +1 -1
- package/dist/runtime-v2/runtime-protocol.d.ts +9 -0
- package/dist/runtime-v2/runtime-protocol.d.ts.map +1 -1
- package/dist/runtime-v2/runtime-protocol.js +9 -0
- package/dist/runtime-v2/runtime-protocol.js.map +1 -1
- package/dist/runtime-v2/signal-collector/index.d.ts +1 -1
- package/dist/runtime-v2/signal-collector/index.d.ts.map +1 -1
- package/dist/runtime-v2/signal-collector/index.js +1 -1
- package/dist/runtime-v2/signal-collector/index.js.map +1 -1
- package/dist/runtime-v2/signal-collector/llm-stage.d.ts +6 -0
- package/dist/runtime-v2/signal-collector/llm-stage.d.ts.map +1 -1
- package/dist/runtime-v2/signal-collector/llm-stage.js +7 -1
- package/dist/runtime-v2/signal-collector/llm-stage.js.map +1 -1
- package/dist/runtime-v2/system-prompt-merge.d.ts +19 -0
- package/dist/runtime-v2/system-prompt-merge.d.ts.map +1 -0
- package/dist/runtime-v2/system-prompt-merge.js +24 -0
- package/dist/runtime-v2/system-prompt-merge.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PRI-714: outputLanguage coverage across ALL internalization peer agents.
|
|
3
|
+
*
|
|
4
|
+
* Owner-facing review/implementation artifacts (evaluator summary, rollout
|
|
5
|
+
* reviewer summary, artificer implementationSummary, dreamer candidates,
|
|
6
|
+
* philosopher thesis) must follow `principles.outputLanguage` exactly like
|
|
7
|
+
* scribe principle fields have since PRI-336.
|
|
8
|
+
*
|
|
9
|
+
* Validates per builder:
|
|
10
|
+
* - zh-CN: instruction carries the language directive
|
|
11
|
+
* - en: instruction carries the English directive
|
|
12
|
+
* - undefined: instruction is byte-identical to the base protocol (backward
|
|
13
|
+
* compatible — the pre-PRI-714 tests assert this identity too)
|
|
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.
|
|
19
|
+
*/
|
|
20
|
+
import { describe, it, expect } from 'vitest';
|
|
21
|
+
import { EvaluatorPromptBuilder, EVALUATOR_PROTOCOL_INSTRUCTION } from '../evaluator-prompt-builder.js';
|
|
22
|
+
import { RolloutReviewerPromptBuilder, ROLLOUT_REVIEWER_PROTOCOL_INSTRUCTION } from '../rollout-reviewer-prompt-builder.js';
|
|
23
|
+
import { ArtificerPromptBuilder, ARTIFICER_PROTOCOL_INSTRUCTION } from '../artificer-prompt-builder.js';
|
|
24
|
+
import { DreamerPromptBuilder, buildDreamerProtocolInstruction } from '../dreamer-prompt-builder.js';
|
|
25
|
+
import { PhilosopherPromptBuilder, buildPhilosopherProtocolInstruction } from '../philosopher-prompt-builder.js';
|
|
26
|
+
import { buildLanguageDirective } from '../../language-directive.js';
|
|
27
|
+
/** Trust-boundary helper: validate parsed prompt JSON before property access. */
|
|
28
|
+
function parsePromptJson(raw) {
|
|
29
|
+
const parsed = JSON.parse(raw);
|
|
30
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
31
|
+
throw new Error(`parsePromptJson: expected object, got ${typeof parsed}`);
|
|
32
|
+
}
|
|
33
|
+
return parsed;
|
|
34
|
+
}
|
|
35
|
+
// ── Evaluator ────────────────────────────────────────────────────────────────
|
|
36
|
+
describe('EvaluatorPromptBuilder — outputLanguage (PRI-714)', () => {
|
|
37
|
+
const builder = new EvaluatorPromptBuilder();
|
|
38
|
+
const input = {
|
|
39
|
+
taskId: 'evaluator-task-001',
|
|
40
|
+
contextHash: 'ctx-abc123',
|
|
41
|
+
sourceArtificerArtifactId: 'pi-art-artificer-001',
|
|
42
|
+
artificerArtifact: { taskId: 'artificer-task-001' },
|
|
43
|
+
};
|
|
44
|
+
it('includes Chinese language directive naming review fields when zh-CN', () => {
|
|
45
|
+
const { message, systemPrompt } = builder.buildPrompt({ ...input, outputLanguage: 'zh-CN' });
|
|
46
|
+
expect(systemPrompt).toContain('LANGUAGE DIRECTIVE');
|
|
47
|
+
expect(systemPrompt).toContain('Simplified Chinese');
|
|
48
|
+
// review-subject field list present as EXPLICIT NESTED PATHS (PRI-714
|
|
49
|
+
// review fix: the previously shared flat list missed two free-text fields
|
|
50
|
+
// and left `explanation` ambiguous across three codeReview sub-objects).
|
|
51
|
+
expect(systemPrompt).toContain('(evaluation.summary, evaluation.strengths, evaluation.concerns, evaluation.requiredChanges, '
|
|
52
|
+
+ 'codeReview.intentConsistency.explanation, codeReview.scopePrecision.explanation, '
|
|
53
|
+
+ 'codeReview.traceCoverage.explanation, codeReview.traceCoverage.gaps, '
|
|
54
|
+
+ 'adversarialCases[].rationale, painCoverage.explanation, compressionFidelity.explanation, risks)');
|
|
55
|
+
// …not the principle-subject list (the base instruction mentions
|
|
56
|
+
// antiPatterns for code review, so assert the directive's own field list
|
|
57
|
+
// string rather than global absence).
|
|
58
|
+
expect(systemPrompt).not.toContain('(title, statement, rationale, applicability, antiPatterns, description)');
|
|
59
|
+
// PRI-630 guard: the requirementLedger statement echo rule is part of the
|
|
60
|
+
// directive so the language instruction cannot override the convergence
|
|
61
|
+
// contract (statement must be a verbatim echo, never translated).
|
|
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');
|
|
65
|
+
});
|
|
66
|
+
it('includes English language directive when en', () => {
|
|
67
|
+
const { systemPrompt } = builder.buildPrompt({ ...input, outputLanguage: 'en' });
|
|
68
|
+
expect(systemPrompt).toContain('English');
|
|
69
|
+
expect(systemPrompt).toContain('MUST NOT be translated');
|
|
70
|
+
});
|
|
71
|
+
it('instruction is byte-identical to base protocol when outputLanguage is undefined', () => {
|
|
72
|
+
const { systemPrompt } = builder.buildPrompt(input);
|
|
73
|
+
expect(systemPrompt).toBe(EVALUATOR_PROTOCOL_INSTRUCTION);
|
|
74
|
+
});
|
|
75
|
+
it('directive keeps technical identifiers and JSON keys untranslated', () => {
|
|
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');
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
// ── Dreamer ──────────────────────────────────────────────────────────────────
|
|
82
|
+
describe('DreamerPromptBuilder — outputLanguage (PRI-714 review fix)', () => {
|
|
83
|
+
const input = {
|
|
84
|
+
taskId: 'dreamer-task-001',
|
|
85
|
+
contextHash: 'ctx-abc123',
|
|
86
|
+
contextRefs: ['pi-art-diag-001'],
|
|
87
|
+
predecessorOutput: { diagnosis: 'null crash' },
|
|
88
|
+
};
|
|
89
|
+
it('appends the dreamer-subject directive to the REAL generated prompt message when zh-CN', () => {
|
|
90
|
+
// The real message the runner hands to adapter.startRun — not a helper.
|
|
91
|
+
const { message, systemPrompt } = new DreamerPromptBuilder().buildPrompt({ ...input, outputLanguage: 'zh-CN' });
|
|
92
|
+
expect(systemPrompt).toContain('LANGUAGE DIRECTIVE');
|
|
93
|
+
expect(systemPrompt).toContain('Simplified Chinese');
|
|
94
|
+
// Field list matches the actual DreamerCandidate schema (riskLevel is an
|
|
95
|
+
// enum — absent from the translatable list).
|
|
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.
|
|
99
|
+
const parsed = parsePromptJson(message);
|
|
100
|
+
expect(parsed).not.toHaveProperty('dreamerInstruction');
|
|
101
|
+
expect(message).not.toContain('LANGUAGE DIRECTIVE');
|
|
102
|
+
});
|
|
103
|
+
it('directive works with coreGrounding ON (axiom block + directive coexist)', () => {
|
|
104
|
+
const { systemPrompt } = new DreamerPromptBuilder({ coreGrounding: true }).buildPrompt({ ...input, outputLanguage: 'zh-CN' });
|
|
105
|
+
expect(systemPrompt).toContain('CORE AXIOMS:');
|
|
106
|
+
expect(systemPrompt).toContain('LANGUAGE DIRECTIVE');
|
|
107
|
+
});
|
|
108
|
+
it('directive also works with coreGrounding OFF (review bug: only the axiom block used the language)', () => {
|
|
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');
|
|
113
|
+
});
|
|
114
|
+
it('instruction is byte-identical to the base protocol when outputLanguage is undefined', () => {
|
|
115
|
+
const withLang = new DreamerPromptBuilder().buildPrompt({ ...input, outputLanguage: undefined });
|
|
116
|
+
const base = buildDreamerProtocolInstruction({ coreGrounding: false });
|
|
117
|
+
expect(withLang.systemPrompt).toBe(base);
|
|
118
|
+
// And the class-level constructor default behaves identically.
|
|
119
|
+
const implicit = new DreamerPromptBuilder().buildPrompt(input);
|
|
120
|
+
expect(implicit.systemPrompt).toBe(base);
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
// ── Philosopher ──────────────────────────────────────────────────────────────
|
|
124
|
+
describe('PhilosopherPromptBuilder — outputLanguage (PRI-714 review fix)', () => {
|
|
125
|
+
const input = {
|
|
126
|
+
taskId: 'philosopher-task-001',
|
|
127
|
+
contextHash: 'ctx-abc123',
|
|
128
|
+
dreamerArtifact: { taskId: 'dreamer-task-001' },
|
|
129
|
+
sourceDreamerArtifactId: 'pi-art-dreamer-001',
|
|
130
|
+
};
|
|
131
|
+
it('appends the philosopher-subject directive to the REAL generated prompt message when zh-CN', () => {
|
|
132
|
+
const { message, systemPrompt } = new PhilosopherPromptBuilder().buildPrompt({ ...input, outputLanguage: 'zh-CN' });
|
|
133
|
+
expect(systemPrompt).toContain('LANGUAGE DIRECTIVE');
|
|
134
|
+
expect(systemPrompt).toContain('Simplified Chinese');
|
|
135
|
+
// Field list matches the actual PhilosopherOutputV1 schema (confidence is
|
|
136
|
+
// numeric — absent from the translatable list).
|
|
137
|
+
expect(systemPrompt).toContain('(thesis, principleCandidate.title, principleCandidate.rationale, principleCandidate.scope, risks[])');
|
|
138
|
+
// PRI-633: the instruction left the payload for the system channel.
|
|
139
|
+
const parsed = parsePromptJson(message);
|
|
140
|
+
expect(parsed).not.toHaveProperty('philosopherInstruction');
|
|
141
|
+
expect(message).not.toContain('LANGUAGE DIRECTIVE');
|
|
142
|
+
});
|
|
143
|
+
it('directive works with coreGrounding ON and OFF', () => {
|
|
144
|
+
const on = new PhilosopherPromptBuilder({ coreGrounding: true }).buildPrompt({ ...input, outputLanguage: 'zh-CN' });
|
|
145
|
+
expect(on.systemPrompt).toContain('CORE AXIOMS:');
|
|
146
|
+
expect(on.systemPrompt).toContain('LANGUAGE DIRECTIVE');
|
|
147
|
+
const off = new PhilosopherPromptBuilder({ coreGrounding: false }).buildPrompt({ ...input, outputLanguage: 'en' });
|
|
148
|
+
expect(off.systemPrompt).not.toContain('CORE AXIOMS:');
|
|
149
|
+
expect(off.systemPrompt).toContain('LANGUAGE DIRECTIVE');
|
|
150
|
+
expect(off.systemPrompt).toContain('English');
|
|
151
|
+
});
|
|
152
|
+
it('instruction is byte-identical to the base protocol when outputLanguage is undefined', () => {
|
|
153
|
+
const withLang = new PhilosopherPromptBuilder().buildPrompt({ ...input, outputLanguage: undefined });
|
|
154
|
+
const base = buildPhilosopherProtocolInstruction({ coreGrounding: false });
|
|
155
|
+
expect(withLang.systemPrompt).toBe(base);
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
// ── Rollout Reviewer ─────────────────────────────────────────────────────────
|
|
159
|
+
describe('RolloutReviewerPromptBuilder — outputLanguage (PRI-714)', () => {
|
|
160
|
+
const builder = new RolloutReviewerPromptBuilder();
|
|
161
|
+
const input = {
|
|
162
|
+
taskId: 'task-rr-001',
|
|
163
|
+
contextHash: 'ctx-abc123',
|
|
164
|
+
sourceEvaluatorArtifactId: 'pi-art-evaluator-001',
|
|
165
|
+
evaluatorArtifact: { taskId: 'eval-001' },
|
|
166
|
+
};
|
|
167
|
+
it('includes Chinese language directive naming review fields when zh-CN', () => {
|
|
168
|
+
const result = builder.buildPrompt({ ...input, outputLanguage: 'zh-CN' });
|
|
169
|
+
expect(result.systemPrompt).toContain('LANGUAGE DIRECTIVE');
|
|
170
|
+
expect(result.systemPrompt).toContain('Simplified Chinese');
|
|
171
|
+
// PRI-714 review fix: the rollout reviewer names its OWN schema fields
|
|
172
|
+
// (review.*) — not the evaluator's evaluation.*/codeReview.* paths.
|
|
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');
|
|
176
|
+
});
|
|
177
|
+
it('includes English language directive when en', () => {
|
|
178
|
+
const result = builder.buildPrompt({ ...input, outputLanguage: 'en' });
|
|
179
|
+
expect(result.systemPrompt).toContain('English');
|
|
180
|
+
expect(result.systemPrompt).toContain('MUST NOT be translated');
|
|
181
|
+
});
|
|
182
|
+
it('instruction is byte-identical to base protocol when outputLanguage is undefined', () => {
|
|
183
|
+
const result = builder.buildPrompt(input);
|
|
184
|
+
expect(result.systemPrompt).toBe(ROLLOUT_REVIEWER_PROTOCOL_INSTRUCTION);
|
|
185
|
+
expect(result.message).toBeDefined();
|
|
186
|
+
// PRI-633: the instruction left the payload for the system channel.
|
|
187
|
+
const parsed = parsePromptJson(result.message);
|
|
188
|
+
expect(parsed).not.toHaveProperty('rolloutReviewerInstruction');
|
|
189
|
+
});
|
|
190
|
+
});
|
|
191
|
+
// ── Artificer ────────────────────────────────────────────────────────────────
|
|
192
|
+
describe('ArtificerPromptBuilder — outputLanguage (PRI-714)', () => {
|
|
193
|
+
const builder = new ArtificerPromptBuilder();
|
|
194
|
+
const input = {
|
|
195
|
+
contextMode: 'v1',
|
|
196
|
+
taskId: 'artificer-task-001',
|
|
197
|
+
contextHash: 'ctx-abc123',
|
|
198
|
+
sourceScribeArtifactId: 'pi-art-scribe-001',
|
|
199
|
+
scribeArtifact: { taskId: 'scribe-001' },
|
|
200
|
+
};
|
|
201
|
+
it('includes Chinese language directive naming implementation fields when zh-CN', () => {
|
|
202
|
+
const result = builder.buildPrompt({ ...input, outputLanguage: 'zh-CN' });
|
|
203
|
+
expect(result.systemPrompt).toContain('LANGUAGE DIRECTIVE');
|
|
204
|
+
expect(result.systemPrompt).toContain('Simplified Chinese');
|
|
205
|
+
// implementation-subject field list
|
|
206
|
+
expect(result.systemPrompt).toContain('implementationSummary');
|
|
207
|
+
expect(result.systemPrompt).not.toContain('requiredChanges');
|
|
208
|
+
});
|
|
209
|
+
it('directive appears after the context-mode block in v2 mode too', () => {
|
|
210
|
+
const ruleContext = {
|
|
211
|
+
version: 2,
|
|
212
|
+
history: { status: 'available', truncated: false, calls: [] },
|
|
213
|
+
facts: { priorReadOfTarget: 'unknown', readCount: 0, writeCount: 0, uniqueWritePathCount: 0, sameActionBlockCount: null },
|
|
214
|
+
};
|
|
215
|
+
const result = builder.buildPrompt({
|
|
216
|
+
...input,
|
|
217
|
+
contextMode: 'v2',
|
|
218
|
+
behaviorExamplePack: {
|
|
219
|
+
sourceNegativeCase: { caseId: 'negative-1', kind: 'negative', toolName: 'write_file', params: { path: 'unread' }, expectedDecision: 'block', ruleContext },
|
|
220
|
+
ownerDesiredOutcome: 'Block unread writes.',
|
|
221
|
+
positiveCounterexamples: [{ caseId: 'positive-1', kind: 'positive', toolName: 'write_file', params: { path: 'read' }, expectedDecision: 'allow', ruleContext }],
|
|
222
|
+
evidenceRefs: ['pain:1'],
|
|
223
|
+
redactionNotes: [],
|
|
224
|
+
},
|
|
225
|
+
outputLanguage: 'zh-CN',
|
|
226
|
+
});
|
|
227
|
+
expect(result.systemPrompt).toContain('CONTEXT MODE: v2');
|
|
228
|
+
expect(result.systemPrompt).toContain('LANGUAGE DIRECTIVE');
|
|
229
|
+
});
|
|
230
|
+
it('instruction is byte-identical to base protocol + v1 context block when outputLanguage is undefined', () => {
|
|
231
|
+
const result = builder.buildPrompt(input);
|
|
232
|
+
const base = ARTIFICER_PROTOCOL_INSTRUCTION
|
|
233
|
+
+ '\nCONTEXT MODE: v1\n- You MUST NOT read input.context.\n'
|
|
234
|
+
+ '- You MUST NOT output requiresContextVersion or case-level ruleContext.\n'
|
|
235
|
+
+ '- Generate an action-only rule from the Scribe principle.\n';
|
|
236
|
+
expect(result.systemPrompt).toBe(base);
|
|
237
|
+
});
|
|
238
|
+
});
|
|
239
|
+
// ── buildLanguageDirective subject variants ─────────────────────────────────
|
|
240
|
+
describe('buildLanguageDirective — subject field lists (PRI-714)', () => {
|
|
241
|
+
it('principle subject keeps the PRI-336 field list (backward compatible default)', () => {
|
|
242
|
+
const directive = buildLanguageDirective('zh-CN');
|
|
243
|
+
expect(directive).toContain('(title, statement, rationale, applicability, antiPatterns, description)');
|
|
244
|
+
});
|
|
245
|
+
it('review subject enumerates the evaluator schema with explicit nested paths', () => {
|
|
246
|
+
const directive = buildLanguageDirective('zh-CN', 'review');
|
|
247
|
+
expect(directive).toContain('(evaluation.summary, evaluation.strengths, evaluation.concerns, evaluation.requiredChanges, codeReview.intentConsistency.explanation, codeReview.scopePrecision.explanation, codeReview.traceCoverage.explanation, codeReview.traceCoverage.gaps, adversarialCases[].rationale, painCoverage.explanation, compressionFidelity.explanation, risks)');
|
|
248
|
+
// The review subject carries the PRI-630 requirementLedger verbatim-echo
|
|
249
|
+
// rule; no other subject does.
|
|
250
|
+
expect(directive).toContain('requirementLedger[].statement MUST be copied verbatim');
|
|
251
|
+
for (const other of ['principle', 'dreamer', 'philosopher', 'rollout-review', 'implementation']) {
|
|
252
|
+
expect(buildLanguageDirective('zh-CN', other)).not.toContain('requirementLedger');
|
|
253
|
+
}
|
|
254
|
+
});
|
|
255
|
+
it('dreamer subject enumerates the dreamer candidate fields', () => {
|
|
256
|
+
const directive = buildLanguageDirective('en', 'dreamer');
|
|
257
|
+
expect(directive).toContain('(candidates[].badDecision, candidates[].betterDecision, candidates[].rationale, candidates[].strategicPerspective)');
|
|
258
|
+
});
|
|
259
|
+
it('philosopher subject enumerates the philosopher output fields', () => {
|
|
260
|
+
const directive = buildLanguageDirective('en', 'philosopher');
|
|
261
|
+
expect(directive).toContain('(thesis, principleCandidate.title, principleCandidate.rationale, principleCandidate.scope, risks[])');
|
|
262
|
+
});
|
|
263
|
+
it('rollout-review subject enumerates the rollout reviewer schema (not the evaluator schema)', () => {
|
|
264
|
+
const directive = buildLanguageDirective('en', 'rollout-review');
|
|
265
|
+
expect(directive).toContain('(review.summary, review.requiredChanges, review.rolloutRisks, review.safetyChecks, risks)');
|
|
266
|
+
expect(directive).not.toContain('codeReview');
|
|
267
|
+
});
|
|
268
|
+
it('implementation subject enumerates implementation fields', () => {
|
|
269
|
+
const directive = buildLanguageDirective('zh-CN', 'implementation');
|
|
270
|
+
expect(directive).toContain('(implementationSummary, risks)');
|
|
271
|
+
});
|
|
272
|
+
it('all subjects share the no-translate rules', () => {
|
|
273
|
+
for (const directive of [
|
|
274
|
+
buildLanguageDirective('zh-CN'),
|
|
275
|
+
buildLanguageDirective('zh-CN', 'dreamer'),
|
|
276
|
+
buildLanguageDirective('zh-CN', 'philosopher'),
|
|
277
|
+
buildLanguageDirective('zh-CN', 'review'),
|
|
278
|
+
buildLanguageDirective('zh-CN', 'rollout-review'),
|
|
279
|
+
buildLanguageDirective('zh-CN', 'implementation'),
|
|
280
|
+
]) {
|
|
281
|
+
expect(directive).toContain('MUST NOT be translated');
|
|
282
|
+
expect(directive).toContain('JSON field names (keys) MUST remain in English');
|
|
283
|
+
}
|
|
284
|
+
});
|
|
285
|
+
it('undefined outputLanguage yields empty directive for every subject', () => {
|
|
286
|
+
for (const subject of ['principle', 'dreamer', 'philosopher', 'review', 'rollout-review', 'implementation']) {
|
|
287
|
+
expect(buildLanguageDirective(undefined, subject)).toBe('');
|
|
288
|
+
}
|
|
289
|
+
});
|
|
290
|
+
});
|
|
291
|
+
//# sourceMappingURL=peer-prompt-language.test.js.map
|
|
@@ -0,0 +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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"}
|
|
@@ -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.
|
|
76
|
-
expect(result.
|
|
77
|
-
expect(result.
|
|
78
|
-
expect(result.
|
|
79
|
-
expect(result.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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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"}
|
|
@@ -23,14 +23,14 @@ describe('RolloutReviewerPromptBuilder', () => {
|
|
|
23
23
|
});
|
|
24
24
|
expect(result.promptInput.sourceEvaluatorArtifactId).toBe('pi-art-evaluator-001');
|
|
25
25
|
});
|
|
26
|
-
it('
|
|
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.
|
|
33
|
+
expect(result.systemPrompt).toBe(ROLLOUT_REVIEWER_PROTOCOL_INSTRUCTION);
|
|
34
34
|
});
|
|
35
35
|
it('promptContractVersion is set correctly', () => {
|
|
36
36
|
const result = builder.buildPrompt({
|
package/dist/runtime-v2/internalization/__tests__/rollout-reviewer-prompt-builder.test.js.map
CHANGED
|
@@ -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":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,4BAA4B,EAC5B,qCAAqC,EACrC,wCAAwC,GACzC,MAAM,uCAAuC,CAAC;AAE/C,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,MAAM,OAAO,GAAG,IAAI,4BAA4B,EAAE,CAAC;IAEnD,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;YACjC,MAAM,EAAE,aAAa;YACrB,WAAW,EAAE,YAAY;YACzB,yBAAyB,EAAE,sBAAsB;YACjD,iBAAiB,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE;SAChF,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;YACjC,MAAM,EAAE,aAAa;YACrB,WAAW,EAAE,YAAY;YACzB,yBAAyB,EAAE,sBAAsB;YACjD,iBAAiB,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;SAC1C,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,
|
|
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('
|
|
39
|
-
const {
|
|
38
|
+
it('systemPrompt carries the scribe instruction (PRI-633)', () => {
|
|
39
|
+
const { systemPrompt } = builder.buildPrompt(defaultInput);
|
|
40
40
|
const expectedInstruction = buildScribeProtocolInstruction();
|
|
41
|
-
expect(
|
|
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":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,8BAA8B,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AAElI,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,MAAM,OAAO,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAE1C,MAAM,YAAY,GAAG;QACnB,MAAM,EAAE,YAAY;QACpB,WAAW,EAAE,SAAS;QACtB,2BAA2B,EAAE,iBAAiB;QAC9C,mBAAmB,EAAE;YACnB,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,aAAa;YACrB,kBAAkB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE;SAChF;KACF,CAAC;IAEF,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QACjF,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,WAAW,GAAG,8BAA8B,EAAE,CAAC;QACrD,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,2FAA2F,CAAC,CAAC;IAC7H,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,WAAW,GAAG,8BAA8B,EAAE,CAAC;QACrD,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,WAAW,GAAG,8BAA8B,EAAE,CAAC;QACrD,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC7C,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,WAAW,GAAG,8BAA8B,EAAE,CAAC;QACrD,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,iDAAiD,CAAC,CAAC;QACjF,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,
|
|
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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"}
|
|
@@ -31,42 +31,43 @@ const BASE_INPUT = {
|
|
|
31
31
|
describe('ScribePromptBuilder — outputLanguage (PRI-336)', () => {
|
|
32
32
|
it('includes Chinese language directive when outputLanguage is zh-CN', () => {
|
|
33
33
|
const builder = new ScribePromptBuilder();
|
|
34
|
-
const { message } = builder.buildPrompt({ ...BASE_INPUT, outputLanguage: 'zh-CN' });
|
|
35
|
-
|
|
36
|
-
expect(
|
|
37
|
-
expect(
|
|
38
|
-
|
|
34
|
+
const { message, systemPrompt } = builder.buildPrompt({ ...BASE_INPUT, outputLanguage: 'zh-CN' });
|
|
35
|
+
expect(systemPrompt).toContain('Simplified Chinese');
|
|
36
|
+
expect(systemPrompt).toContain('简体中文');
|
|
37
|
+
expect(systemPrompt).toContain('LANGUAGE DIRECTIVE');
|
|
38
|
+
// PRI-633: the instruction (with its language directive) left the payload.
|
|
39
|
+
expect(message).not.toContain('LANGUAGE DIRECTIVE');
|
|
39
40
|
});
|
|
40
41
|
it('includes English language directive when outputLanguage is en', () => {
|
|
41
42
|
const builder = new ScribePromptBuilder();
|
|
42
|
-
const { message } = builder.buildPrompt({ ...BASE_INPUT, outputLanguage: 'en' });
|
|
43
|
-
|
|
44
|
-
expect(
|
|
45
|
-
expect(
|
|
43
|
+
const { message, systemPrompt } = builder.buildPrompt({ ...BASE_INPUT, outputLanguage: 'en' });
|
|
44
|
+
expect(systemPrompt).toContain('English');
|
|
45
|
+
expect(systemPrompt).toContain('PRI-336');
|
|
46
|
+
expect(message).not.toContain('PRI-336');
|
|
46
47
|
});
|
|
47
48
|
it('does NOT include language directive when outputLanguage is undefined', () => {
|
|
48
49
|
const builder = new ScribePromptBuilder();
|
|
49
|
-
const { message } = builder.buildPrompt(BASE_INPUT);
|
|
50
|
-
|
|
51
|
-
// scribeInstruction should be the base instruction without language directive
|
|
50
|
+
const { message, systemPrompt } = builder.buildPrompt(BASE_INPUT);
|
|
51
|
+
// PRI-633: the instruction should be the base instruction without language directive
|
|
52
52
|
const baseInstruction = buildScribeProtocolInstruction();
|
|
53
|
-
expect(
|
|
54
|
-
expect(
|
|
55
|
-
expect(
|
|
53
|
+
expect(systemPrompt).toBe(baseInstruction);
|
|
54
|
+
expect(systemPrompt).not.toContain('LANGUAGE DIRECTIVE');
|
|
55
|
+
expect(systemPrompt).not.toContain('PRI-336');
|
|
56
|
+
expect(message).not.toContain('LANGUAGE DIRECTIVE');
|
|
56
57
|
});
|
|
57
58
|
it('includes technical identifiers not translated instruction', () => {
|
|
58
59
|
const builder = new ScribePromptBuilder();
|
|
59
|
-
const { message } = builder.buildPrompt({ ...BASE_INPUT, outputLanguage: 'zh-CN' });
|
|
60
|
-
|
|
61
|
-
expect(
|
|
62
|
-
expect(
|
|
63
|
-
expect(
|
|
60
|
+
const { message, systemPrompt } = builder.buildPrompt({ ...BASE_INPUT, outputLanguage: 'zh-CN' });
|
|
61
|
+
expect(systemPrompt).toContain('taskId');
|
|
62
|
+
expect(systemPrompt).toContain('sourcePainId');
|
|
63
|
+
expect(systemPrompt).toContain('MUST NOT be translated');
|
|
64
|
+
expect(message).not.toContain('MUST NOT be translated');
|
|
64
65
|
});
|
|
65
66
|
it('includes lineage fields not translated instruction', () => {
|
|
66
67
|
const builder = new ScribePromptBuilder();
|
|
67
|
-
const { message } = builder.buildPrompt({ ...BASE_INPUT, outputLanguage: 'en' });
|
|
68
|
-
|
|
69
|
-
expect(
|
|
68
|
+
const { message, systemPrompt } = builder.buildPrompt({ ...BASE_INPUT, outputLanguage: 'en' });
|
|
69
|
+
expect(systemPrompt).toContain('Lineage and evidence fields MUST NOT be translated');
|
|
70
|
+
expect(message).not.toContain('Lineage and evidence fields MUST NOT be translated');
|
|
70
71
|
});
|
|
71
72
|
it('preserves all other prompt fields when outputLanguage is provided', () => {
|
|
72
73
|
const builder = new ScribePromptBuilder();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scribe-prompt-language.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/internalization/__tests__/scribe-prompt-language.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AAElG,iFAAiF;AACjF,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,yCAAyC,OAAO,MAAM,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,MAAiC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,GAAG;IACjB,MAAM,EAAE,YAAY;IACpB,WAAW,EAAE,SAAS;IACtB,2BAA2B,EAAE,iBAAiB;IAC9C,mBAAmB,EAAE;QACnB,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,aAAa;QACrB,kBAAkB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE;KAChF;CACF,CAAC;AAEF,QAAQ,CAAC,gDAAgD,EAAE,GAAG,EAAE;IAC9D,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,OAAO,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAC1C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,EAAE,GAAG,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"scribe-prompt-language.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/internalization/__tests__/scribe-prompt-language.test.ts"],"names":[],"mappings":"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"}
|