@principles/core 1.120.0 → 1.122.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/runtime-v2/__tests__/diagnostician-core-grounding.test.d.ts +2 -0
- package/dist/runtime-v2/__tests__/diagnostician-core-grounding.test.d.ts.map +1 -0
- package/dist/runtime-v2/__tests__/diagnostician-core-grounding.test.js +122 -0
- package/dist/runtime-v2/__tests__/diagnostician-core-grounding.test.js.map +1 -0
- package/dist/runtime-v2/config/pd-config-defaults.d.ts.map +1 -1
- package/dist/runtime-v2/config/pd-config-defaults.js +1 -0
- package/dist/runtime-v2/config/pd-config-defaults.js.map +1 -1
- package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.test.js +12 -12
- package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.test.js.map +1 -1
- package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.js +9 -9
- package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.js.map +1 -1
- package/dist/runtime-v2/diagnostician-prompt-builder.d.ts +26 -3
- package/dist/runtime-v2/diagnostician-prompt-builder.d.ts.map +1 -1
- package/dist/runtime-v2/diagnostician-prompt-builder.js +31 -6
- package/dist/runtime-v2/diagnostician-prompt-builder.js.map +1 -1
- package/dist/runtime-v2/index.d.ts +3 -3
- package/dist/runtime-v2/index.d.ts.map +1 -1
- package/dist/runtime-v2/index.js +2 -2
- package/dist/runtime-v2/index.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/runnerkind-seam.test.d.ts +2 -0
- package/dist/runtime-v2/internalization/__tests__/runnerkind-seam.test.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/runnerkind-seam.test.js +224 -0
- package/dist/runtime-v2/internalization/__tests__/runnerkind-seam.test.js.map +1 -0
- package/dist/runtime-v2/internalization/index.d.ts +3 -3
- package/dist/runtime-v2/internalization/index.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/index.js +2 -2
- package/dist/runtime-v2/internalization/index.js.map +1 -1
- package/dist/runtime-v2/internalization/internalization-job-graph.d.ts +14 -1
- package/dist/runtime-v2/internalization/internalization-job-graph.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/internalization-job-graph.js +22 -0
- package/dist/runtime-v2/internalization/internalization-job-graph.js.map +1 -1
- package/dist/runtime-v2/internalization/internalization-orchestrator.d.ts +9 -9
- package/dist/runtime-v2/internalization/internalization-orchestrator.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/internalization-orchestrator.js +32 -8
- package/dist/runtime-v2/internalization/internalization-orchestrator.js.map +1 -1
- package/dist/runtime-v2/internalization/internalization-state-machine.d.ts +2 -2
- package/dist/runtime-v2/internalization/internalization-state-machine.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/internalization-state-machine.js +35 -4
- package/dist/runtime-v2/internalization/internalization-state-machine.js.map +1 -1
- package/dist/runtime-v2/internalization/peer-runner-contracts.d.ts +29 -4
- package/dist/runtime-v2/internalization/peer-runner-contracts.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/peer-runner-contracts.js +23 -3
- package/dist/runtime-v2/internalization/peer-runner-contracts.js.map +1 -1
- package/dist/runtime-v2/internalization/pitask-metadata.d.ts +2 -2
- package/dist/runtime-v2/internalization/pitask-metadata.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/pitask-metadata.js +6 -5
- package/dist/runtime-v2/internalization/pitask-metadata.js.map +1 -1
- package/dist/runtime-v2/internalization/queue-actionability.d.ts +3 -3
- package/dist/runtime-v2/internalization/queue-actionability.d.ts.map +1 -1
- package/dist/runtime-v2/internalization-queue-read-model.d.ts +7 -7
- package/dist/runtime-v2/internalization-queue-read-model.d.ts.map +1 -1
- package/dist/runtime-v2/internalization-queue-read-model.js +4 -4
- package/dist/runtime-v2/internalization-queue-read-model.js.map +1 -1
- package/dist/runtime-v2/pain-signal-runtime-factory.d.ts.map +1 -1
- package/dist/runtime-v2/pain-signal-runtime-factory.js +14 -0
- package/dist/runtime-v2/pain-signal-runtime-factory.js.map +1 -1
- package/dist/runtime-v2/runner/diagnostician-runner-options.d.ts +10 -0
- package/dist/runtime-v2/runner/diagnostician-runner-options.d.ts.map +1 -1
- package/dist/runtime-v2/runner/diagnostician-runner-options.js +1 -0
- package/dist/runtime-v2/runner/diagnostician-runner-options.js.map +1 -1
- package/dist/runtime-v2/runner/diagnostician-runner.d.ts +2 -0
- package/dist/runtime-v2/runner/diagnostician-runner.d.ts.map +1 -1
- package/dist/runtime-v2/runner/diagnostician-runner.js +30 -1
- package/dist/runtime-v2/runner/diagnostician-runner.js.map +1 -1
- package/dist/telemetry-event.d.ts +2 -2
- package/dist/telemetry-event.d.ts.map +1 -1
- package/dist/telemetry-event.js +2 -0
- package/dist/telemetry-event.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostician-core-grounding.test.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/__tests__/diagnostician-core-grounding.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core grounding on single agent (T-E / PRI-371) — TDD tests.
|
|
3
|
+
*
|
|
4
|
+
* When `diagnostician_core_grounding` flag is on, CORE_PRINCIPLES (T-01..T-10)
|
|
5
|
+
* are injected into DiagnosticianPromptBuilder's prompt as PHASE 3.5.
|
|
6
|
+
* Flag off: output must be byte-identical to current behavior.
|
|
7
|
+
*
|
|
8
|
+
* EP-01: axiom IDs in ambiguityNotes are untrusted LLM output — validated via
|
|
9
|
+
* regex + isCorePrincipleId().
|
|
10
|
+
* EP-03: flag off = no change, no silent fallback.
|
|
11
|
+
*/
|
|
12
|
+
import { describe, it, expect } from 'vitest';
|
|
13
|
+
import { DiagnosticianPromptBuilder, buildDiagnosticProtocolInstruction } from '../diagnostician-prompt-builder.js';
|
|
14
|
+
import { DiagnosticianOutputV1Schema } from '../diagnostician-output.js';
|
|
15
|
+
import { CORE_PRINCIPLES, isCorePrincipleId } from '../core-principles/core-principle-registry.js';
|
|
16
|
+
// ── Test fixtures ──────────────────────────────────────────────────────────
|
|
17
|
+
const makeTestPayload = () => ({
|
|
18
|
+
contextId: 'ctx-test',
|
|
19
|
+
contextHash: 'hash-test',
|
|
20
|
+
taskId: 'task-test',
|
|
21
|
+
workspaceDir: 'D:/work',
|
|
22
|
+
sourceRefs: ['ref-1'],
|
|
23
|
+
diagnosisTarget: {
|
|
24
|
+
painId: 'pain-1',
|
|
25
|
+
reasonSummary: 'Agent failed to use tool',
|
|
26
|
+
},
|
|
27
|
+
conversationWindow: [
|
|
28
|
+
{ ts: '2026-04-24T10:00:00Z', role: 'user', text: 'Hello', toolName: undefined, toolResultSummary: undefined, eventType: undefined },
|
|
29
|
+
],
|
|
30
|
+
});
|
|
31
|
+
// ── Tests ──────────────────────────────────────────────────────────────────
|
|
32
|
+
describe('Core grounding on single agent (T-E)', () => {
|
|
33
|
+
// 1. Flag off: byte-identical
|
|
34
|
+
it('buildPrompt with coreGrounding=false produces identical output to no flag', () => {
|
|
35
|
+
const builder = new DiagnosticianPromptBuilder();
|
|
36
|
+
const payload = makeTestPayload();
|
|
37
|
+
const without = builder.buildPrompt(payload);
|
|
38
|
+
const withFlag = builder.buildPrompt(payload, { coreGrounding: false });
|
|
39
|
+
expect(withFlag.message).toBe(without.message);
|
|
40
|
+
});
|
|
41
|
+
// 2. Flag on: PHASE 3.5 present in prompt
|
|
42
|
+
it('buildPrompt with coreGrounding=true includes PHASE 3.5 in diagnosticInstruction', () => {
|
|
43
|
+
const builder = new DiagnosticianPromptBuilder();
|
|
44
|
+
const payload = makeTestPayload();
|
|
45
|
+
const result = builder.buildPrompt(payload, { coreGrounding: true });
|
|
46
|
+
expect(result.promptInput.diagnosticInstruction).toContain('PHASE 3.5');
|
|
47
|
+
expect(result.promptInput.diagnosticInstruction).toContain('Core Axiom Grounding');
|
|
48
|
+
});
|
|
49
|
+
// 3. Flag on: all 10 core principles present
|
|
50
|
+
it('grounded prompt contains all 10 core principle statements', () => {
|
|
51
|
+
const builder = new DiagnosticianPromptBuilder();
|
|
52
|
+
const payload = makeTestPayload();
|
|
53
|
+
const result = builder.buildPrompt(payload, { coreGrounding: true });
|
|
54
|
+
for (const p of CORE_PRINCIPLES) {
|
|
55
|
+
expect(result.promptInput.diagnosticInstruction).toContain(p.id);
|
|
56
|
+
expect(result.promptInput.diagnosticInstruction).toContain(p.statement);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
// 4. Flag on: ambiguityNotes instruction present
|
|
60
|
+
it('grounded prompt instructs LLM to note axiom IDs in ambiguityNotes', () => {
|
|
61
|
+
const builder = new DiagnosticianPromptBuilder();
|
|
62
|
+
const payload = makeTestPayload();
|
|
63
|
+
const result = builder.buildPrompt(payload, { coreGrounding: true });
|
|
64
|
+
expect(result.promptInput.diagnosticInstruction).toContain('ambiguityNotes');
|
|
65
|
+
});
|
|
66
|
+
// 5. Flag off: no PHASE 3.5
|
|
67
|
+
it('buildPrompt with coreGrounding=false does NOT include PHASE 3.5', () => {
|
|
68
|
+
const builder = new DiagnosticianPromptBuilder();
|
|
69
|
+
const payload = makeTestPayload();
|
|
70
|
+
const result = builder.buildPrompt(payload, { coreGrounding: false });
|
|
71
|
+
expect(result.promptInput.diagnosticInstruction).not.toContain('PHASE 3.5');
|
|
72
|
+
});
|
|
73
|
+
// 6. Telemetry: linkage metric calculation (EP-01: validate with isCorePrincipleId)
|
|
74
|
+
it('linkage metric correctly counts validated T-XX patterns in ambiguityNotes', () => {
|
|
75
|
+
const notes = ['Related to T-01 and T-03', 'Also T-07', 'Invalid T-99'];
|
|
76
|
+
const ids = notes.join(' ').match(/T-\d{2}/g) ?? [];
|
|
77
|
+
const validatedIds = ids.filter(id => isCorePrincipleId(id));
|
|
78
|
+
const uniqueIds = new Set(validatedIds);
|
|
79
|
+
expect(uniqueIds.size).toBe(3); // T-01, T-03, T-07 (T-99 is not a valid core principle id)
|
|
80
|
+
expect((uniqueIds.size / CORE_PRINCIPLES.length) * 100).toBe(30);
|
|
81
|
+
});
|
|
82
|
+
// 7. Downstream contract unchanged
|
|
83
|
+
it('DiagnosticianOutputV1Schema is NOT modified — ambiguityNotes field still exists', () => {
|
|
84
|
+
expect(DiagnosticianOutputV1Schema.properties.ambiguityNotes).toBeDefined();
|
|
85
|
+
});
|
|
86
|
+
// 8. buildDiagnosticProtocolInstruction also accepts coreGrounding
|
|
87
|
+
it('buildDiagnosticProtocolInstruction with coreGrounding=true includes PHASE 3.5', () => {
|
|
88
|
+
const instruction = buildDiagnosticProtocolInstruction({ coreGrounding: true });
|
|
89
|
+
expect(instruction).toContain('PHASE 3.5');
|
|
90
|
+
expect(instruction).toContain('Core Axiom Grounding');
|
|
91
|
+
});
|
|
92
|
+
// 9. buildDiagnosticProtocolInstruction with coreGrounding=false is identical to no flag
|
|
93
|
+
it('buildDiagnosticProtocolInstruction with coreGrounding=false produces identical output to no flag', () => {
|
|
94
|
+
const without = buildDiagnosticProtocolInstruction();
|
|
95
|
+
const withFlag = buildDiagnosticProtocolInstruction({ coreGrounding: false });
|
|
96
|
+
expect(withFlag).toBe(without);
|
|
97
|
+
});
|
|
98
|
+
// 10. PHASE 3.5 appears between PHASE 3 and PHASE 4
|
|
99
|
+
it('PHASE 3.5 appears between PHASE 3 and PHASE 4 in grounded prompt', () => {
|
|
100
|
+
const builder = new DiagnosticianPromptBuilder();
|
|
101
|
+
const payload = makeTestPayload();
|
|
102
|
+
const result = builder.buildPrompt(payload, { coreGrounding: true });
|
|
103
|
+
const instruction = result.promptInput.diagnosticInstruction;
|
|
104
|
+
const phase3Index = instruction.indexOf('PHASE 3 —');
|
|
105
|
+
const phase35Index = instruction.indexOf('PHASE 3.5 —');
|
|
106
|
+
const phase4Index = instruction.indexOf('PHASE 4 —');
|
|
107
|
+
expect(phase3Index).toBeGreaterThan(-1);
|
|
108
|
+
expect(phase35Index).toBeGreaterThan(-1);
|
|
109
|
+
expect(phase4Index).toBeGreaterThan(-1);
|
|
110
|
+
expect(phase35Index).toBeGreaterThan(phase3Index);
|
|
111
|
+
expect(phase4Index).toBeGreaterThan(phase35Index);
|
|
112
|
+
});
|
|
113
|
+
// 11. EP-01: T-99 (invalid) is filtered by isCorePrincipleId
|
|
114
|
+
it('isCorePrincipleId rejects invalid axiom IDs (EP-01 trust boundary)', () => {
|
|
115
|
+
expect(isCorePrincipleId('T-01')).toBe(true);
|
|
116
|
+
expect(isCorePrincipleId('T-10')).toBe(true);
|
|
117
|
+
expect(isCorePrincipleId('T-99')).toBe(false);
|
|
118
|
+
expect(isCorePrincipleId('T-00')).toBe(false);
|
|
119
|
+
expect(isCorePrincipleId('')).toBe(false);
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
//# sourceMappingURL=diagnostician-core-grounding.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostician-core-grounding.test.js","sourceRoot":"","sources":["../../../src/runtime-v2/__tests__/diagnostician-core-grounding.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,kCAAkC,EAAE,MAAM,oCAAoC,CAAC;AACpH,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAGnG,8EAA8E;AAE9E,MAAM,eAAe,GAAG,GAAgC,EAAE,CAAC,CAAC;IAC1D,SAAS,EAAE,UAAU;IACrB,WAAW,EAAE,WAAW;IACxB,MAAM,EAAE,WAAW;IACnB,YAAY,EAAE,SAAS;IACvB,UAAU,EAAE,CAAC,OAAO,CAAC;IACrB,eAAe,EAAE;QACf,MAAM,EAAE,QAAQ;QAChB,aAAa,EAAE,0BAA0B;KAC1C;IACD,kBAAkB,EAAE;QAClB,EAAE,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE;KACrI;CACF,CAAC,CAAC;AAEH,8EAA8E;AAE9E,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,8BAA8B;IAC9B,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACnF,MAAM,OAAO,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;QACxE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,0CAA0C;IAC1C,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;QACzF,MAAM,OAAO,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IAEH,6CAA6C;IAC7C,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,OAAO,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;YAChC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACjE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,iDAAiD;IACjD,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,OAAO,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,4BAA4B;IAC5B,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,OAAO,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;QACtE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,oFAAoF;IACpF,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACnF,MAAM,KAAK,GAAG,CAAC,0BAA0B,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QACxE,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACpD,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,2DAA2D;QAC3F,MAAM,CAAC,CAAC,SAAS,CAAC,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,mCAAmC;IACnC,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;QACzF,MAAM,CAAC,2BAA2B,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,mEAAmE;IACnE,EAAE,CAAC,+EAA+E,EAAE,GAAG,EAAE;QACvF,MAAM,WAAW,GAAG,kCAAkC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAChF,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,yFAAyF;IACzF,EAAE,CAAC,kGAAkG,EAAE,GAAG,EAAE;QAC1G,MAAM,OAAO,GAAG,kCAAkC,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG,kCAAkC,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9E,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,oDAAoD;IACpD,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,OAAO,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,qBAAqB,CAAC;QAC7D,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACxD,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,YAAY,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,YAAY,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,6DAA6D;IAC7D,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pd-config-defaults.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-defaults.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAG3B,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EAGd,MAAM,sBAAsB,CAAC;AAI9B,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"pd-config-defaults.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-defaults.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAG3B,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EAGd,MAAM,sBAAsB,CAAC;AAI9B,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAoBlE,CAAC;AAIF,eAAO,MAAM,0BAA0B,qBAAqB,CAAC;AAE7D,eAAO,MAAM,uBAAuB,EAAE,sBAGrC,CAAC;AAiBF,wBAAgB,wBAAwB,IAAI,oBAAoB,CAY/D;AAID,eAAO,MAAM,UAAU,EAAE,QAExB,CAAC;AAIF,wBAAgB,kBAAkB,IAAI,QAAQ,CAW7C"}
|
|
@@ -18,6 +18,7 @@ export const DEFAULT_FEATURE_FLAGS = {
|
|
|
18
18
|
evolution_worker: { category: 'quiet', enabled: false },
|
|
19
19
|
empathy_observer: { category: 'quiet', enabled: false },
|
|
20
20
|
painEvidenceAdmission: { category: 'quiet', enabled: false },
|
|
21
|
+
diagnostician_core_grounding: { category: 'quiet', enabled: false },
|
|
21
22
|
// MVP-Gone (ADR-0014 §2.6)
|
|
22
23
|
nocturnal: { category: 'gone', enabled: false },
|
|
23
24
|
idle_trigger: { category: 'gone', enabled: false },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pd-config-defaults.js","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-defaults.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAQL,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAE9B,+EAA+E;AAE/E,MAAM,CAAC,MAAM,qBAAqB,GAAqC;IACrE,2BAA2B;IAC3B,MAAM,EAAc,EAAE,QAAQ,EAAE,MAAM,EAAG,OAAO,EAAE,IAAI,EAAE;IACxD,cAAc,EAAM,EAAE,QAAQ,EAAE,MAAM,EAAG,OAAO,EAAE,IAAI,EAAE;IACxD,aAAa,EAAO,EAAE,QAAQ,EAAE,MAAM,EAAG,OAAO,EAAE,IAAI,EAAE;IACxD,mBAAmB,EAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;IAEzD,4BAA4B;IAC5B,gBAAgB,EAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;IACxD,GAAG,EAAiB,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;IACzD,gBAAgB,EAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;IACzD,gBAAgB,EAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;IACzD,qBAAqB,EAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;
|
|
1
|
+
{"version":3,"file":"pd-config-defaults.js","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-defaults.ts"],"names":[],"mappings":"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"}
|
|
@@ -255,7 +255,7 @@ describe('DiagnosticianPromptBuilder', () => {
|
|
|
255
255
|
});
|
|
256
256
|
describe('prompt contract hardening (PRI-109)', () => {
|
|
257
257
|
const adapter = new DefaultSchemaPromptAdapter();
|
|
258
|
-
const instruction = buildDiagnosticProtocolInstruction(adapter, DiagnosticianOutputV1Schema);
|
|
258
|
+
const instruction = buildDiagnosticProtocolInstruction({ adapter, schema: DiagnosticianOutputV1Schema });
|
|
259
259
|
it('instruction contains CRITICAL JSON-only emphasis', () => {
|
|
260
260
|
expect(instruction).toContain('CRITICAL');
|
|
261
261
|
expect(instruction).toContain('ENTIRE response must be ONLY the JSON object');
|
|
@@ -323,39 +323,39 @@ describe('DiagnosticianPromptBuilder', () => {
|
|
|
323
323
|
describe('buildDiagnosticProtocolInstruction()', () => {
|
|
324
324
|
const adapter = new DefaultSchemaPromptAdapter();
|
|
325
325
|
it('buildDiagnosticProtocolInstruction matches snapshot', () => {
|
|
326
|
-
const instruction = buildDiagnosticProtocolInstruction(adapter, DiagnosticianOutputV1Schema);
|
|
326
|
+
const instruction = buildDiagnosticProtocolInstruction({ adapter, schema: DiagnosticianOutputV1Schema });
|
|
327
327
|
expect(instruction).toMatchSnapshot();
|
|
328
328
|
});
|
|
329
329
|
it('contains 5-phase protocol keywords', () => {
|
|
330
|
-
const instruction = buildDiagnosticProtocolInstruction(adapter, DiagnosticianOutputV1Schema);
|
|
330
|
+
const instruction = buildDiagnosticProtocolInstruction({ adapter, schema: DiagnosticianOutputV1Schema });
|
|
331
331
|
expect(instruction).toContain('PHASE 1');
|
|
332
332
|
expect(instruction).toContain('5 Whys');
|
|
333
333
|
expect(instruction).toContain('Root Cause Classification');
|
|
334
334
|
});
|
|
335
335
|
it('contains taxonomy definitions', () => {
|
|
336
|
-
const instruction = buildDiagnosticProtocolInstruction(adapter, DiagnosticianOutputV1Schema);
|
|
336
|
+
const instruction = buildDiagnosticProtocolInstruction({ adapter, schema: DiagnosticianOutputV1Schema });
|
|
337
337
|
expect(instruction).toContain('TAXONOMY DEFINITIONS');
|
|
338
338
|
expect(instruction).toContain('"rule"');
|
|
339
339
|
expect(instruction).toContain('"principle"');
|
|
340
340
|
});
|
|
341
341
|
it('contains schema-derived JSON example', () => {
|
|
342
|
-
const instruction = buildDiagnosticProtocolInstruction(adapter, DiagnosticianOutputV1Schema);
|
|
342
|
+
const instruction = buildDiagnosticProtocolInstruction({ adapter, schema: DiagnosticianOutputV1Schema });
|
|
343
343
|
expect(instruction).toContain('COMPLETE EXAMPLE OUTPUT');
|
|
344
344
|
const parsed = extractJsonObject(instruction);
|
|
345
345
|
expect(parsed).not.toBeNull();
|
|
346
346
|
});
|
|
347
347
|
it('example passes Value.Check', () => {
|
|
348
|
-
const instruction = buildDiagnosticProtocolInstruction(adapter, DiagnosticianOutputV1Schema);
|
|
348
|
+
const instruction = buildDiagnosticProtocolInstruction({ adapter, schema: DiagnosticianOutputV1Schema });
|
|
349
349
|
const parsed = extractJsonObject(instruction);
|
|
350
350
|
expect(Value.Check(DiagnosticianOutputV1Schema, parsed)).toBe(true);
|
|
351
351
|
});
|
|
352
352
|
it('contains schema-derived constraints', () => {
|
|
353
|
-
const instruction = buildDiagnosticProtocolInstruction(adapter, DiagnosticianOutputV1Schema);
|
|
353
|
+
const instruction = buildDiagnosticProtocolInstruction({ adapter, schema: DiagnosticianOutputV1Schema });
|
|
354
354
|
expect(instruction).toContain('CONSTRAINTS');
|
|
355
355
|
expect(instruction).toContain('category prefix');
|
|
356
356
|
});
|
|
357
357
|
it('contains CRITICAL JSON-only emphasis', () => {
|
|
358
|
-
const instruction = buildDiagnosticProtocolInstruction(adapter, DiagnosticianOutputV1Schema);
|
|
358
|
+
const instruction = buildDiagnosticProtocolInstruction({ adapter, schema: DiagnosticianOutputV1Schema });
|
|
359
359
|
expect(instruction).toContain('CRITICAL');
|
|
360
360
|
expect(instruction).toContain('ONLY the JSON object');
|
|
361
361
|
});
|
|
@@ -397,7 +397,7 @@ describe('DiagnosticianPromptBuilder', () => {
|
|
|
397
397
|
describe('eventSummaries removal (PRI-352)', () => {
|
|
398
398
|
const adapter = new DefaultSchemaPromptAdapter();
|
|
399
399
|
it('buildDiagnosticProtocolInstruction() does NOT reference eventSummaries', () => {
|
|
400
|
-
const instruction = buildDiagnosticProtocolInstruction(adapter, DiagnosticianOutputV1Schema);
|
|
400
|
+
const instruction = buildDiagnosticProtocolInstruction({ adapter, schema: DiagnosticianOutputV1Schema });
|
|
401
401
|
expect(instruction).not.toContain('eventSummaries');
|
|
402
402
|
});
|
|
403
403
|
it('DiagnosticianContextPayloadSchema does NOT contain eventSummaries field', () => {
|
|
@@ -420,7 +420,7 @@ describe('DiagnosticianPromptBuilder', () => {
|
|
|
420
420
|
const adapter = new DefaultSchemaPromptAdapter();
|
|
421
421
|
// 用例 1: prompt must contain explicit empty-evidence → confidence<0.3 + defer instruction
|
|
422
422
|
it('contains empty evidence degradation instruction with confidence<0.3 and defer', () => {
|
|
423
|
-
const instruction = buildDiagnosticProtocolInstruction(adapter, DiagnosticianOutputV1Schema);
|
|
423
|
+
const instruction = buildDiagnosticProtocolInstruction({ adapter, schema: DiagnosticianOutputV1Schema });
|
|
424
424
|
// Must reference diagnosisTarget.evidence emptiness
|
|
425
425
|
expect(instruction).toContain('diagnosisTarget.evidence');
|
|
426
426
|
expect(instruction).toMatch(/empty|length.*0|is empty/i);
|
|
@@ -431,7 +431,7 @@ describe('DiagnosticianPromptBuilder', () => {
|
|
|
431
431
|
});
|
|
432
432
|
// 用例 1b: must explicitly prohibit fabricating evidence
|
|
433
433
|
it('prohibits fabricating evidence when input evidence is empty', () => {
|
|
434
|
-
const instruction = buildDiagnosticProtocolInstruction(adapter, DiagnosticianOutputV1Schema);
|
|
434
|
+
const instruction = buildDiagnosticProtocolInstruction({ adapter, schema: DiagnosticianOutputV1Schema });
|
|
435
435
|
expect(instruction).toMatch(/MUST NOT.*fabricat|fabricat.*MUST NOT/i);
|
|
436
436
|
});
|
|
437
437
|
// 用例 2: truncation safety — guard text survives truncation
|
|
@@ -449,7 +449,7 @@ describe('DiagnosticianPromptBuilder', () => {
|
|
|
449
449
|
})),
|
|
450
450
|
};
|
|
451
451
|
const limits = { maxConversationEntries: 100, maxEntryTextChars: 2000, maxMessageChars: 500 };
|
|
452
|
-
const result = builder.buildPrompt(hugePayload, limits);
|
|
452
|
+
const result = builder.buildPrompt(hugePayload, { limits });
|
|
453
453
|
// Truncation should have occurred
|
|
454
454
|
expect(result.promptInput.truncationWarnings).toBeDefined();
|
|
455
455
|
expect(result.promptInput.truncationWarnings?.length).toBeTruthy();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostician-prompt-builder.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"diagnostician-prompt-builder.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,7 +34,7 @@ const MINIMAL_PAYLOAD = {
|
|
|
34
34
|
describe('DiagnosticianPromptBuilder — outputLanguage (PRI-336)', () => {
|
|
35
35
|
it('includes Chinese language directive when outputLanguage is zh-CN', () => {
|
|
36
36
|
const builder = new DiagnosticianPromptBuilder();
|
|
37
|
-
const result = builder.buildPrompt(MINIMAL_PAYLOAD,
|
|
37
|
+
const result = builder.buildPrompt(MINIMAL_PAYLOAD, { outputLanguage: 'zh-CN' });
|
|
38
38
|
const parsed = parsePromptJson(result.message);
|
|
39
39
|
expect(parsed.diagnosticInstruction).toContain('Simplified Chinese');
|
|
40
40
|
expect(parsed.diagnosticInstruction).toContain('简体中文');
|
|
@@ -42,21 +42,21 @@ describe('DiagnosticianPromptBuilder — outputLanguage (PRI-336)', () => {
|
|
|
42
42
|
});
|
|
43
43
|
it('includes English language directive when outputLanguage is en', () => {
|
|
44
44
|
const builder = new DiagnosticianPromptBuilder();
|
|
45
|
-
const result = builder.buildPrompt(MINIMAL_PAYLOAD,
|
|
45
|
+
const result = builder.buildPrompt(MINIMAL_PAYLOAD, { outputLanguage: 'en' });
|
|
46
46
|
const parsed = parsePromptJson(result.message);
|
|
47
47
|
expect(parsed.diagnosticInstruction).toContain('English');
|
|
48
48
|
expect(parsed.diagnosticInstruction).toContain('PRI-336');
|
|
49
49
|
});
|
|
50
50
|
it('does NOT include language directive when outputLanguage is undefined', () => {
|
|
51
51
|
const builder = new DiagnosticianPromptBuilder();
|
|
52
|
-
const result = builder.buildPrompt(MINIMAL_PAYLOAD
|
|
52
|
+
const result = builder.buildPrompt(MINIMAL_PAYLOAD);
|
|
53
53
|
const parsed = parsePromptJson(result.message);
|
|
54
54
|
expect(parsed.diagnosticInstruction).not.toContain('LANGUAGE DIRECTIVE');
|
|
55
55
|
expect(parsed.diagnosticInstruction).not.toContain('PRI-336');
|
|
56
56
|
});
|
|
57
57
|
it('includes technical identifiers not translated instruction', () => {
|
|
58
58
|
const builder = new DiagnosticianPromptBuilder();
|
|
59
|
-
const result = builder.buildPrompt(MINIMAL_PAYLOAD,
|
|
59
|
+
const result = builder.buildPrompt(MINIMAL_PAYLOAD, { outputLanguage: 'zh-CN' });
|
|
60
60
|
const parsed = parsePromptJson(result.message);
|
|
61
61
|
expect(parsed.diagnosticInstruction).toContain('taskId');
|
|
62
62
|
expect(parsed.diagnosticInstruction).toContain('sourcePainId');
|
|
@@ -64,14 +64,14 @@ describe('DiagnosticianPromptBuilder — outputLanguage (PRI-336)', () => {
|
|
|
64
64
|
});
|
|
65
65
|
it('includes lineage fields not translated instruction', () => {
|
|
66
66
|
const builder = new DiagnosticianPromptBuilder();
|
|
67
|
-
const result = builder.buildPrompt(MINIMAL_PAYLOAD,
|
|
67
|
+
const result = builder.buildPrompt(MINIMAL_PAYLOAD, { outputLanguage: 'en' });
|
|
68
68
|
const parsed = parsePromptJson(result.message);
|
|
69
69
|
expect(parsed.diagnosticInstruction).toContain('Lineage and evidence fields MUST NOT be translated');
|
|
70
70
|
});
|
|
71
71
|
it('preserves all other prompt fields when outputLanguage is provided', () => {
|
|
72
72
|
const builder = new DiagnosticianPromptBuilder();
|
|
73
|
-
const resultWithout = builder.buildPrompt(MINIMAL_PAYLOAD
|
|
74
|
-
const resultWith = builder.buildPrompt(MINIMAL_PAYLOAD,
|
|
73
|
+
const resultWithout = builder.buildPrompt(MINIMAL_PAYLOAD);
|
|
74
|
+
const resultWith = builder.buildPrompt(MINIMAL_PAYLOAD, { outputLanguage: 'zh-CN' });
|
|
75
75
|
const parsedWithout = parsePromptJson(resultWithout.message);
|
|
76
76
|
const parsedWith = parsePromptJson(resultWith.message);
|
|
77
77
|
// Same fields except diagnosticInstruction
|
|
@@ -85,12 +85,12 @@ describe('DiagnosticianPromptBuilder — outputLanguage (PRI-336)', () => {
|
|
|
85
85
|
});
|
|
86
86
|
describe('buildDiagnosticProtocolInstruction — outputLanguage (PRI-336)', () => {
|
|
87
87
|
it('includes language directive when outputLanguage is provided', () => {
|
|
88
|
-
const instruction = buildDiagnosticProtocolInstruction(
|
|
88
|
+
const instruction = buildDiagnosticProtocolInstruction({ outputLanguage: 'zh-CN' });
|
|
89
89
|
expect(instruction).toContain('LANGUAGE DIRECTIVE');
|
|
90
90
|
expect(instruction).toContain('Simplified Chinese');
|
|
91
91
|
});
|
|
92
92
|
it('does not include language directive when outputLanguage is undefined', () => {
|
|
93
|
-
const instruction = buildDiagnosticProtocolInstruction(
|
|
93
|
+
const instruction = buildDiagnosticProtocolInstruction();
|
|
94
94
|
expect(instruction).not.toContain('LANGUAGE DIRECTIVE');
|
|
95
95
|
});
|
|
96
96
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostician-prompt-language.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,kCAAkC,EAAE,MAAM,uCAAuC,CAAC;AAGvH,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,eAAe,GAAgC;IACnD,SAAS,EAAE,OAAO;IAClB,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,UAAU;IAClB,YAAY,EAAE,SAAS;IACvB,UAAU,EAAE,CAAC,OAAO,CAAC;IACrB,eAAe,EAAE;QACf,MAAM,EAAE,QAAQ;QAChB,aAAa,EAAE,0BAA0B;KAC1C;IACD,kBAAkB,EAAE,EAAE;CACvB,CAAC;AAEF,QAAQ,CAAC,uDAAuD,EAAE,GAAG,EAAE;IACrE,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,OAAO,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"diagnostician-prompt-language.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,15 @@ import type { DiagnosticianContextPayload, HistoryQueryEntry, DiagnosisTarget }
|
|
|
31
31
|
import type { TSchema } from '@sinclair/typebox';
|
|
32
32
|
import type { SchemaPromptAdapter } from './adapter/schema-prompt-adapter.js';
|
|
33
33
|
import type { OutputLanguage } from './language-directive.js';
|
|
34
|
+
/** Options for DiagnosticianPromptBuilder.buildPrompt() beyond the required payload. */
|
|
35
|
+
export interface BuildPromptOptions {
|
|
36
|
+
/** Size limits to prevent token overflow (default: DEFAULT_PROMPT_BUILDER_LIMITS) */
|
|
37
|
+
limits?: PromptBuilderLimits;
|
|
38
|
+
/** Output language directive (default: none) */
|
|
39
|
+
outputLanguage?: OutputLanguage;
|
|
40
|
+
/** T-E (PRI-371): Inject core axiom grounding as PHASE 3.5 (default: false) */
|
|
41
|
+
coreGrounding?: boolean;
|
|
42
|
+
}
|
|
34
43
|
/**
|
|
35
44
|
* PromptInput — the JSON message sent to openclaw agent via --message flag.
|
|
36
45
|
*
|
|
@@ -89,6 +98,20 @@ export interface PromptBuildResult {
|
|
|
89
98
|
/** The PromptInput object that was serialized to JSON */
|
|
90
99
|
readonly promptInput: PromptInput;
|
|
91
100
|
}
|
|
101
|
+
/**
|
|
102
|
+
* Options for buildDiagnosticProtocolInstruction.
|
|
103
|
+
* Uses an options object to stay within max-params limit.
|
|
104
|
+
*/
|
|
105
|
+
export interface DiagnosticProtocolInstructionOptions {
|
|
106
|
+
/** Schema prompt adapter (default: DefaultSchemaPromptAdapter) */
|
|
107
|
+
adapter?: SchemaPromptAdapter;
|
|
108
|
+
/** TypeBox schema for output validation (default: DiagnosticianOutputV1Schema) */
|
|
109
|
+
schema?: TSchema;
|
|
110
|
+
/** Output language directive (default: none) */
|
|
111
|
+
outputLanguage?: OutputLanguage;
|
|
112
|
+
/** T-E (PRI-371): Inject core axiom grounding as PHASE 3.5 (default: false) */
|
|
113
|
+
coreGrounding?: boolean;
|
|
114
|
+
}
|
|
92
115
|
/**
|
|
93
116
|
* 5-phase diagnostic protocol instruction for the LLM.
|
|
94
117
|
*
|
|
@@ -100,7 +123,7 @@ export interface PromptBuildResult {
|
|
|
100
123
|
* The 5-phase protocol is embedded directly in the prompt so the LLM follows it
|
|
101
124
|
* regardless of whether OpenClaw loads SKILL.md as the agent system prompt.
|
|
102
125
|
*/
|
|
103
|
-
export declare function buildDiagnosticProtocolInstruction(
|
|
126
|
+
export declare function buildDiagnosticProtocolInstruction(opts?: DiagnosticProtocolInstructionOptions): string;
|
|
104
127
|
/**
|
|
105
128
|
* Summarizes a conversation window for inclusion in the prompt.
|
|
106
129
|
* DPB-04: Prompt includes conversationWindow summary.
|
|
@@ -118,7 +141,7 @@ export declare class DiagnosticianPromptBuilder {
|
|
|
118
141
|
* then serialize to JSON for the --message argument.
|
|
119
142
|
*
|
|
120
143
|
* @param payload — DiagnosticianContextPayload from context assembly (DPB-01)
|
|
121
|
-
* @param
|
|
144
|
+
* @param opts — Build options (limits, outputLanguage, coreGrounding)
|
|
122
145
|
* @returns PromptBuildResult with JSON string + PromptInput object (DPB-02, DPB-03, DPB-04, DPB-06)
|
|
123
146
|
*
|
|
124
147
|
* Per DPB-05: This method only builds the prompt; it does NOT commit to PD database.
|
|
@@ -126,6 +149,6 @@ export declare class DiagnosticianPromptBuilder {
|
|
|
126
149
|
*
|
|
127
150
|
* Per DPB-07: NO extraSystemPrompt is added — agent profile is the source of truth.
|
|
128
151
|
*/
|
|
129
|
-
buildPrompt(payload: DiagnosticianContextPayload,
|
|
152
|
+
buildPrompt(payload: DiagnosticianContextPayload, opts?: BuildPromptOptions): PromptBuildResult;
|
|
130
153
|
}
|
|
131
154
|
//# sourceMappingURL=diagnostician-prompt-builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostician-prompt-builder.d.ts","sourceRoot":"","sources":["../../src/runtime-v2/diagnostician-prompt-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,KAAK,EACV,2BAA2B,EAC3B,iBAAiB,EACjB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAG9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"diagnostician-prompt-builder.d.ts","sourceRoot":"","sources":["../../src/runtime-v2/diagnostician-prompt-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,KAAK,EACV,2BAA2B,EAC3B,iBAAiB,EACjB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAG9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAI9D,wFAAwF;AACxF,MAAM,WAAW,kBAAkB;IACjC,qFAAqF;IACrF,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,gDAAgD;IAChD,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,+EAA+E;IAC/E,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,eAAe,EAAE,eAAe,CAAC;IACjC;;;;OAIG;IACH,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,0CAA0C;IAC1C,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,kEAAkE;IAClE,OAAO,EAAE,2BAA2B,CAAC;IACrC;;;;;OAKG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B,kFAAkF;IAClF,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,+DAA+D;AAC/D,MAAM,WAAW,mBAAmB;IAClC,2DAA2D;IAC3D,sBAAsB,EAAE,MAAM,CAAC;IAC/B,wDAAwD;IACxD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wDAAwD;IACxD,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,6BAA6B,EAAE,mBAIlC,CAAC;AAEX;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,iFAAiF;IACjF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,yDAAyD;IACzD,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,oCAAoC;IACnD,kEAAkE;IAClE,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,kFAAkF;IAClF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,+EAA+E;IAC/E,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kCAAkC,CAChD,IAAI,GAAE,oCAAyC,GAC9C,MAAM,CAgFR;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,iBAAiB,EAAE,GAC3B,iBAAiB,EAAE,CAErB;AAED,qBAAa,0BAA0B;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;gBAG/B,OAAO,GAAE,mBAAsD,EAC/D,MAAM,GAAE,OAAqC;IAM/C;;;;;;;;;;;;OAYG;IACH,WAAW,CACT,OAAO,EAAE,2BAA2B,EACpC,IAAI,GAAE,kBAAuB,GAC5B,iBAAiB;CAuFrB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { DefaultSchemaPromptAdapter } from './adapter/schema-prompt-adapter.js';
|
|
2
2
|
import { DiagnosticianOutputV1Schema } from './diagnostician-output.js';
|
|
3
3
|
import { buildLanguageDirective } from './language-directive.js';
|
|
4
|
+
import { CORE_PRINCIPLES } from './core-principles/core-principle-registry.js';
|
|
4
5
|
export const DEFAULT_PROMPT_BUILDER_LIMITS = {
|
|
5
6
|
maxConversationEntries: 30,
|
|
6
7
|
maxEntryTextChars: 2000,
|
|
@@ -17,10 +18,28 @@ export const DEFAULT_PROMPT_BUILDER_LIMITS = {
|
|
|
17
18
|
* The 5-phase protocol is embedded directly in the prompt so the LLM follows it
|
|
18
19
|
* regardless of whether OpenClaw loads SKILL.md as the agent system prompt.
|
|
19
20
|
*/
|
|
20
|
-
export function buildDiagnosticProtocolInstruction(
|
|
21
|
+
export function buildDiagnosticProtocolInstruction(opts = {}) {
|
|
22
|
+
const adapter = opts.adapter ?? new DefaultSchemaPromptAdapter();
|
|
23
|
+
const schema = opts.schema ?? DiagnosticianOutputV1Schema;
|
|
24
|
+
const { outputLanguage, coreGrounding } = opts;
|
|
21
25
|
const example = adapter.generateExample(schema);
|
|
22
26
|
const constraints = adapter.generateConstraints(schema);
|
|
23
27
|
const languageDirective = buildLanguageDirective(outputLanguage);
|
|
28
|
+
// T-E (PRI-371): When coreGrounding is true, insert PHASE 3.5 between
|
|
29
|
+
// PHASE 3 and PHASE 4. When false or undefined, output is byte-identical
|
|
30
|
+
// to the original (EP-03: no silent fallback).
|
|
31
|
+
const phase35Block = coreGrounding
|
|
32
|
+
? `
|
|
33
|
+
PHASE 3.5 — Core Axiom Grounding:
|
|
34
|
+
The following core axioms are the system's foundational behavioral principles.
|
|
35
|
+
If the root cause relates to any of these axioms, note the axiom ID (e.g. T-01)
|
|
36
|
+
in the ambiguityNotes field of your output.
|
|
37
|
+
|
|
38
|
+
Core Axioms:
|
|
39
|
+
${CORE_PRINCIPLES.map(p => `${p.id}: ${p.statement}`).join('\n')}
|
|
40
|
+
|
|
41
|
+
`
|
|
42
|
+
: '\n';
|
|
24
43
|
return `You are a root cause analysis expert. Follow this protocol:
|
|
25
44
|
|
|
26
45
|
PHASE 1 — Evidence Review:
|
|
@@ -46,8 +65,7 @@ Classify into ONE: People | Design | Assumption | Tooling
|
|
|
46
65
|
- Design: architecture defects, missing gates, process gaps
|
|
47
66
|
- Assumption: wrong assumptions about env/versions/deps
|
|
48
67
|
- Tooling: tool misconfiguration, API changes
|
|
49
|
-
|
|
50
|
-
PHASE 4 — Recommendation Taxonomy & Distillation:
|
|
68
|
+
${phase35Block}PHASE 4 — Recommendation Taxonomy & Distillation:
|
|
51
69
|
Analyze the root cause and propose actionable recommendations. Classify each recommendation into one of FIVE categories based on the taxonomy below.
|
|
52
70
|
|
|
53
71
|
TAXONOMY DEFINITIONS:
|
|
@@ -100,7 +118,7 @@ export class DiagnosticianPromptBuilder {
|
|
|
100
118
|
* then serialize to JSON for the --message argument.
|
|
101
119
|
*
|
|
102
120
|
* @param payload — DiagnosticianContextPayload from context assembly (DPB-01)
|
|
103
|
-
* @param
|
|
121
|
+
* @param opts — Build options (limits, outputLanguage, coreGrounding)
|
|
104
122
|
* @returns PromptBuildResult with JSON string + PromptInput object (DPB-02, DPB-03, DPB-04, DPB-06)
|
|
105
123
|
*
|
|
106
124
|
* Per DPB-05: This method only builds the prompt; it does NOT commit to PD database.
|
|
@@ -108,7 +126,9 @@ export class DiagnosticianPromptBuilder {
|
|
|
108
126
|
*
|
|
109
127
|
* Per DPB-07: NO extraSystemPrompt is added — agent profile is the source of truth.
|
|
110
128
|
*/
|
|
111
|
-
buildPrompt(payload,
|
|
129
|
+
buildPrompt(payload, opts = {}) {
|
|
130
|
+
const limits = opts.limits ?? DEFAULT_PROMPT_BUILDER_LIMITS;
|
|
131
|
+
const { outputLanguage, coreGrounding } = opts;
|
|
112
132
|
const truncationWarnings = [];
|
|
113
133
|
// DPB-04: Apply truncation to conversationWindow to prevent token overflow
|
|
114
134
|
const rawWindow = summarizeConversationWindow(payload.conversationWindow);
|
|
@@ -132,7 +152,12 @@ export class DiagnosticianPromptBuilder {
|
|
|
132
152
|
...payload,
|
|
133
153
|
conversationWindow,
|
|
134
154
|
};
|
|
135
|
-
const diagnosticInstruction = buildDiagnosticProtocolInstruction(
|
|
155
|
+
const diagnosticInstruction = buildDiagnosticProtocolInstruction({
|
|
156
|
+
adapter: this.adapter,
|
|
157
|
+
schema: this.schema,
|
|
158
|
+
outputLanguage,
|
|
159
|
+
coreGrounding,
|
|
160
|
+
});
|
|
136
161
|
// DPB-04: Explicit top-level fields at the prompt level
|
|
137
162
|
const promptInput = {
|
|
138
163
|
taskId: payload.taskId,
|