@principles/core 1.124.0 → 1.126.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__/architecture-regression.test.js +5 -1
- package/dist/runtime-v2/__tests__/architecture-regression.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/attack-e2e-pipeline-smoke.test.js +115 -21
- package/dist/runtime-v2/__tests__/attack-e2e-pipeline-smoke.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/golden-path-diagnostician-e2e.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/pain-signal-bridge-retried.test.js +7 -6
- package/dist/runtime-v2/__tests__/pain-signal-bridge-retried.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/pain-signal-bridge-short-circuit.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/pain-signal-bridge-workspace-dir.test.js.map +1 -1
- package/dist/runtime-v2/cli/diagnose.d.ts +2 -2
- package/dist/runtime-v2/cli/diagnose.d.ts.map +1 -1
- package/dist/runtime-v2/config/__tests__/pd-config-contract.test.js +3 -3
- package/dist/runtime-v2/config/__tests__/pd-config-contract.test.js.map +1 -1
- package/dist/runtime-v2/config/pd-config-defaults.js +2 -2
- package/dist/runtime-v2/config/pd-config-defaults.js.map +1 -1
- package/dist/runtime-v2/diagnostician-prompt-builder.d.ts +1 -64
- package/dist/runtime-v2/diagnostician-prompt-builder.d.ts.map +1 -1
- package/dist/runtime-v2/diagnostician-prompt-builder.js +0 -186
- package/dist/runtime-v2/diagnostician-prompt-builder.js.map +1 -1
- package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js +17 -30
- package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js.map +1 -1
- package/dist/runtime-v2/feature-flags/feature-flag-contract.d.ts.map +1 -1
- package/dist/runtime-v2/feature-flags/feature-flag-contract.js +3 -8
- package/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
- package/dist/runtime-v2/index.d.ts +8 -7
- package/dist/runtime-v2/index.d.ts.map +1 -1
- package/dist/runtime-v2/index.js +8 -5
- package/dist/runtime-v2/index.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js +108 -105
- package/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/runnerkind-seam.test.js +3 -3
- package/dist/runtime-v2/internalization/__tests__/runnerkind-seam.test.js.map +1 -1
- package/dist/runtime-v2/internalization/split-diagnostician-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/split-diagnostician-runner.js +121 -52
- package/dist/runtime-v2/internalization/split-diagnostician-runner.js.map +1 -1
- package/dist/runtime-v2/observer/__tests__/empathy-observer.real-e2e.test.js +28 -21
- package/dist/runtime-v2/observer/__tests__/empathy-observer.real-e2e.test.js.map +1 -1
- package/dist/runtime-v2/pain-signal-runtime-factory.d.ts +10 -1
- package/dist/runtime-v2/pain-signal-runtime-factory.d.ts.map +1 -1
- package/dist/runtime-v2/pain-signal-runtime-factory.js +42 -40
- package/dist/runtime-v2/pain-signal-runtime-factory.js.map +1 -1
- package/dist/runtime-v2/pain-to-principle-service.d.ts +1 -0
- package/dist/runtime-v2/pain-to-principle-service.d.ts.map +1 -1
- package/dist/runtime-v2/pain-to-principle-service.js.map +1 -1
- package/dist/runtime-v2/runner/__tests__/diagnose.test.js.map +1 -1
- package/package.json +1 -1
- package/dist/runtime-v2/__tests__/diagnostician-core-grounding.test.d.ts +0 -2
- package/dist/runtime-v2/__tests__/diagnostician-core-grounding.test.d.ts.map +0 -1
- package/dist/runtime-v2/__tests__/diagnostician-core-grounding.test.js +0 -122
- package/dist/runtime-v2/__tests__/diagnostician-core-grounding.test.js.map +0 -1
- package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.integration.test.d.ts +0 -2
- package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.integration.test.d.ts.map +0 -1
- package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.integration.test.js +0 -169
- package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.integration.test.js.map +0 -1
- package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.test.d.ts +0 -2
- package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.test.d.ts.map +0 -1
- package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.test.js +0 -462
- package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.test.js.map +0 -1
- package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.d.ts +0 -13
- package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.d.ts.map +0 -1
- package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.js +0 -97
- package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.js.map +0 -1
- package/dist/runtime-v2/runner/__tests__/diagnostician-runner.integration.test.d.ts +0 -2
- package/dist/runtime-v2/runner/__tests__/diagnostician-runner.integration.test.d.ts.map +0 -1
- package/dist/runtime-v2/runner/__tests__/diagnostician-runner.integration.test.js +0 -378
- package/dist/runtime-v2/runner/__tests__/diagnostician-runner.integration.test.js.map +0 -1
- package/dist/runtime-v2/runner/__tests__/diagnostician-runner.test.d.ts +0 -2
- package/dist/runtime-v2/runner/__tests__/diagnostician-runner.test.d.ts.map +0 -1
- package/dist/runtime-v2/runner/__tests__/diagnostician-runner.test.js +0 -682
- package/dist/runtime-v2/runner/__tests__/diagnostician-runner.test.js.map +0 -1
- package/dist/runtime-v2/runner/__tests__/diagnostician-telemetry.test.d.ts +0 -2
- package/dist/runtime-v2/runner/__tests__/diagnostician-telemetry.test.d.ts.map +0 -1
- package/dist/runtime-v2/runner/__tests__/diagnostician-telemetry.test.js +0 -286
- package/dist/runtime-v2/runner/__tests__/diagnostician-telemetry.test.js.map +0 -1
- package/dist/runtime-v2/runner/__tests__/dual-track-e2e.test.d.ts +0 -2
- package/dist/runtime-v2/runner/__tests__/dual-track-e2e.test.d.ts.map +0 -1
- package/dist/runtime-v2/runner/__tests__/dual-track-e2e.test.js +0 -320
- package/dist/runtime-v2/runner/__tests__/dual-track-e2e.test.js.map +0 -1
- package/dist/runtime-v2/runner/__tests__/lease-expiration-recovery.integration.test.d.ts +0 -2
- package/dist/runtime-v2/runner/__tests__/lease-expiration-recovery.integration.test.d.ts.map +0 -1
- package/dist/runtime-v2/runner/__tests__/lease-expiration-recovery.integration.test.js +0 -261
- package/dist/runtime-v2/runner/__tests__/lease-expiration-recovery.integration.test.js.map +0 -1
- package/dist/runtime-v2/runner/__tests__/m5-05-e2e.test.d.ts +0 -2
- package/dist/runtime-v2/runner/__tests__/m5-05-e2e.test.d.ts.map +0 -1
- package/dist/runtime-v2/runner/__tests__/m5-05-e2e.test.js +0 -405
- package/dist/runtime-v2/runner/__tests__/m5-05-e2e.test.js.map +0 -1
- package/dist/runtime-v2/runner/__tests__/m6-06-e2e.test.d.ts +0 -2
- package/dist/runtime-v2/runner/__tests__/m6-06-e2e.test.d.ts.map +0 -1
- package/dist/runtime-v2/runner/__tests__/m6-06-e2e.test.js +0 -347
- package/dist/runtime-v2/runner/__tests__/m6-06-e2e.test.js.map +0 -1
- package/dist/runtime-v2/runner/__tests__/m6-06-legacy.test.d.ts +0 -2
- package/dist/runtime-v2/runner/__tests__/m6-06-legacy.test.d.ts.map +0 -1
- package/dist/runtime-v2/runner/__tests__/m6-06-legacy.test.js +0 -186
- package/dist/runtime-v2/runner/__tests__/m6-06-legacy.test.js.map +0 -1
- package/dist/runtime-v2/runner/__tests__/m6-06-real-path.test.d.ts +0 -2
- package/dist/runtime-v2/runner/__tests__/m6-06-real-path.test.d.ts.map +0 -1
- package/dist/runtime-v2/runner/__tests__/m6-06-real-path.test.js +0 -355
- package/dist/runtime-v2/runner/__tests__/m6-06-real-path.test.js.map +0 -1
- package/dist/runtime-v2/runner/__tests__/m8-02-e2e.test.d.ts +0 -2
- package/dist/runtime-v2/runner/__tests__/m8-02-e2e.test.d.ts.map +0 -1
- package/dist/runtime-v2/runner/__tests__/m8-02-e2e.test.js +0 -486
- package/dist/runtime-v2/runner/__tests__/m8-02-e2e.test.js.map +0 -1
- package/dist/runtime-v2/runner/__tests__/m9-adapter-integration.test.d.ts +0 -2
- package/dist/runtime-v2/runner/__tests__/m9-adapter-integration.test.d.ts.map +0 -1
- package/dist/runtime-v2/runner/__tests__/m9-adapter-integration.test.js +0 -171
- package/dist/runtime-v2/runner/__tests__/m9-adapter-integration.test.js.map +0 -1
- package/dist/runtime-v2/runner/__tests__/m9-e2e.test.d.ts +0 -2
- package/dist/runtime-v2/runner/__tests__/m9-e2e.test.d.ts.map +0 -1
- package/dist/runtime-v2/runner/__tests__/m9-e2e.test.js +0 -175
- package/dist/runtime-v2/runner/__tests__/m9-e2e.test.js.map +0 -1
- package/dist/runtime-v2/runner/__tests__/max-attempts-exceeded.integration.test.d.ts +0 -2
- package/dist/runtime-v2/runner/__tests__/max-attempts-exceeded.integration.test.d.ts.map +0 -1
- package/dist/runtime-v2/runner/__tests__/max-attempts-exceeded.integration.test.js +0 -276
- package/dist/runtime-v2/runner/__tests__/max-attempts-exceeded.integration.test.js.map +0 -1
- package/dist/runtime-v2/runner/__tests__/retry-wait-recovery.integration.test.d.ts +0 -2
- package/dist/runtime-v2/runner/__tests__/retry-wait-recovery.integration.test.d.ts.map +0 -1
- package/dist/runtime-v2/runner/__tests__/retry-wait-recovery.integration.test.js +0 -272
- package/dist/runtime-v2/runner/__tests__/retry-wait-recovery.integration.test.js.map +0 -1
- package/dist/runtime-v2/runner/__tests__/start-run-input.test.d.ts +0 -2
- package/dist/runtime-v2/runner/__tests__/start-run-input.test.d.ts.map +0 -1
- package/dist/runtime-v2/runner/__tests__/start-run-input.test.js +0 -67
- package/dist/runtime-v2/runner/__tests__/start-run-input.test.js.map +0 -1
- package/dist/runtime-v2/runner/diagnostician-runner-options.d.ts +0 -57
- package/dist/runtime-v2/runner/diagnostician-runner-options.d.ts.map +0 -1
- package/dist/runtime-v2/runner/diagnostician-runner-options.js +0 -21
- package/dist/runtime-v2/runner/diagnostician-runner-options.js.map +0 -1
- package/dist/runtime-v2/runner/diagnostician-runner.d.ts +0 -89
- package/dist/runtime-v2/runner/diagnostician-runner.d.ts.map +0 -1
- package/dist/runtime-v2/runner/diagnostician-runner.js +0 -470
- package/dist/runtime-v2/runner/diagnostician-runner.js.map +0 -1
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostician-core-grounding.test.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/__tests__/diagnostician-core-grounding.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,122 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostician-core-grounding.test.js","sourceRoot":"","sources":["../../../src/runtime-v2/__tests__/diagnostician-core-grounding.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostician-prompt-builder.integration.test.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.integration.test.ts"],"names":[],"mappings":""}
|
package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.integration.test.js
DELETED
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DiagnosticianPromptBuilder → OpenClawCliRuntimeAdapter integration tests.
|
|
3
|
-
*
|
|
4
|
-
* Tests the full m6-03 pipeline:
|
|
5
|
-
* DiagnosticianContextPayload → buildPrompt() → PromptInput JSON
|
|
6
|
-
* → OpenClawCliRuntimeAdapter.startRun(inputPayload: JSON string)
|
|
7
|
-
*
|
|
8
|
-
* Phase: m6-03
|
|
9
|
-
* Requirements: DPB-01~05, OCRA-06, OCRA-07
|
|
10
|
-
*/
|
|
11
|
-
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
|
12
|
-
import { DiagnosticianPromptBuilder } from '../../diagnostician-prompt-builder.js';
|
|
13
|
-
import { OpenClawCliRuntimeAdapter } from '../../adapter/openclaw-cli-runtime-adapter.js';
|
|
14
|
-
// Mock runCliProcess for OpenClawCliRuntimeAdapter
|
|
15
|
-
vi.mock('../../utils/cli-process-runner.js', () => ({
|
|
16
|
-
runCliProcess: vi.fn(),
|
|
17
|
-
}));
|
|
18
|
-
import { runCliProcess } from '../../utils/cli-process-runner.js';
|
|
19
|
-
const mockRunCliProcess = runCliProcess;
|
|
20
|
-
const REALISTIC_PAYLOAD = {
|
|
21
|
-
contextId: 'ctx-integration-1',
|
|
22
|
-
contextHash: 'sha256-abc123def456',
|
|
23
|
-
taskId: 'task-pd-001',
|
|
24
|
-
workspaceDir: 'D:/work/.pd',
|
|
25
|
-
sourceRefs: ['pain://event-123', 'trajectory://traj-456'],
|
|
26
|
-
diagnosisTarget: {
|
|
27
|
-
painId: 'pain-123',
|
|
28
|
-
reasonSummary: 'Agent failed to call get_shit_done planner agent',
|
|
29
|
-
severity: 'high',
|
|
30
|
-
source: 'tool-call-gate',
|
|
31
|
-
},
|
|
32
|
-
conversationWindow: [
|
|
33
|
-
{ ts: '2026-04-24T10:00:00Z', role: 'user', text: 'Plan the implementation', toolName: undefined, toolResultSummary: undefined, eventType: undefined },
|
|
34
|
-
{ ts: '2026-04-24T10:00:01Z', role: 'assistant', text: 'I will use the planner agent', toolName: undefined, toolResultSummary: undefined, eventType: undefined },
|
|
35
|
-
{ ts: '2026-04-24T10:00:02Z', role: 'tool', text: undefined, toolName: 'planner_agent', toolResultSummary: 'Agent not found in registry', eventType: undefined },
|
|
36
|
-
],
|
|
37
|
-
ambiguityNotes: ['Multiple failure modes detected — gate rejection vs agent not found'],
|
|
38
|
-
};
|
|
39
|
-
const VALID_OUTPUT = {
|
|
40
|
-
valid: true,
|
|
41
|
-
diagnosisId: 'diag-pipeline-1',
|
|
42
|
-
taskId: 'task-pd-001',
|
|
43
|
-
summary: 'Agent failed because planner_agent is not in the registry',
|
|
44
|
-
rootCause: 'Tool call gate rejected the request due to missing agent registration',
|
|
45
|
-
violatedPrinciples: [{ principleId: 'use-registered-agents', title: 'Use Registered Agents', rationale: 'Agents must be registered before use' }],
|
|
46
|
-
evidence: [{ sourceRef: 'pain://event-123', note: 'toolName: planner_agent not found' }],
|
|
47
|
-
recommendations: [{ kind: 'principle', description: 'Register planner_agent before attempting to call it' }],
|
|
48
|
-
confidence: 0.92,
|
|
49
|
-
};
|
|
50
|
-
function makeCliOutput(overrides = {}) {
|
|
51
|
-
return {
|
|
52
|
-
stdout: '',
|
|
53
|
-
stderr: '',
|
|
54
|
-
exitCode: 0,
|
|
55
|
-
timedOut: false,
|
|
56
|
-
durationMs: 100,
|
|
57
|
-
...overrides,
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
describe('DiagnosticianPromptBuilder → OpenClawCliRuntimeAdapter pipeline', () => {
|
|
61
|
-
beforeEach(() => {
|
|
62
|
-
vi.clearAllMocks();
|
|
63
|
-
});
|
|
64
|
-
// DPB-01 + OCRA-02: buildPrompt() output becomes startRun() inputPayload
|
|
65
|
-
it('buildPrompt() message can be passed directly to startRun() as inputPayload', async () => {
|
|
66
|
-
const builder = new DiagnosticianPromptBuilder();
|
|
67
|
-
const { message } = builder.buildPrompt(REALISTIC_PAYLOAD);
|
|
68
|
-
const adapter = new OpenClawCliRuntimeAdapter({ runtimeMode: 'local' });
|
|
69
|
-
mockRunCliProcess.mockResolvedValue(makeCliOutput({ stdout: JSON.stringify(VALID_OUTPUT) }));
|
|
70
|
-
await adapter.startRun({
|
|
71
|
-
agentSpec: { agentId: 'diagnostician', schemaVersion: 'v1' },
|
|
72
|
-
inputPayload: message, // DPB-01: buildPrompt output becomes startRun input
|
|
73
|
-
contextItems: [],
|
|
74
|
-
timeoutMs: 60000,
|
|
75
|
-
});
|
|
76
|
-
expect(mockRunCliProcess).toHaveBeenCalledTimes(1);
|
|
77
|
-
});
|
|
78
|
-
// DPB-04: taskId appears at top level of the JSON passed to --message
|
|
79
|
-
it('taskId appears at top level of the JSON message (DPB-04)', () => {
|
|
80
|
-
const builder = new DiagnosticianPromptBuilder();
|
|
81
|
-
const { message } = builder.buildPrompt(REALISTIC_PAYLOAD);
|
|
82
|
-
const parsed = JSON.parse(message);
|
|
83
|
-
expect(parsed.taskId).toBe('task-pd-001');
|
|
84
|
-
expect(parsed.context.taskId).toBe('task-pd-001'); // also in nested context
|
|
85
|
-
});
|
|
86
|
-
// DPB-04: contextHash appears at top level
|
|
87
|
-
it('contextHash appears at top level of the JSON message (DPB-04)', () => {
|
|
88
|
-
const builder = new DiagnosticianPromptBuilder();
|
|
89
|
-
const { message } = builder.buildPrompt(REALISTIC_PAYLOAD);
|
|
90
|
-
const parsed = JSON.parse(message);
|
|
91
|
-
expect(parsed.contextHash).toBe('sha256-abc123def456');
|
|
92
|
-
});
|
|
93
|
-
// DPB-04: diagnosisTarget appears at top level
|
|
94
|
-
it('diagnosisTarget appears at top level of the JSON message (DPB-04)', () => {
|
|
95
|
-
const builder = new DiagnosticianPromptBuilder();
|
|
96
|
-
const { message } = builder.buildPrompt(REALISTIC_PAYLOAD);
|
|
97
|
-
const parsed = JSON.parse(message);
|
|
98
|
-
expect(parsed.diagnosisTarget).toEqual(REALISTIC_PAYLOAD.diagnosisTarget);
|
|
99
|
-
expect(parsed.diagnosisTarget.painId).toBe('pain-123');
|
|
100
|
-
});
|
|
101
|
-
// DPB-04: sourceRefs appears at top level
|
|
102
|
-
it('sourceRefs appears at top level of the JSON message (DPB-04)', () => {
|
|
103
|
-
const builder = new DiagnosticianPromptBuilder();
|
|
104
|
-
const { message } = builder.buildPrompt(REALISTIC_PAYLOAD);
|
|
105
|
-
const parsed = JSON.parse(message);
|
|
106
|
-
expect(parsed.sourceRefs).toEqual(['pain://event-123', 'trajectory://traj-456']);
|
|
107
|
-
});
|
|
108
|
-
// DPB-04: conversationWindow appears at top level
|
|
109
|
-
it('conversationWindow appears at top level of the JSON message (DPB-04)', () => {
|
|
110
|
-
const builder = new DiagnosticianPromptBuilder();
|
|
111
|
-
const { message } = builder.buildPrompt(REALISTIC_PAYLOAD);
|
|
112
|
-
const parsed = JSON.parse(message);
|
|
113
|
-
expect(parsed.conversationWindow).toEqual(REALISTIC_PAYLOAD.conversationWindow);
|
|
114
|
-
expect(parsed.conversationWindow).toHaveLength(3);
|
|
115
|
-
});
|
|
116
|
-
// OCRA-06: workspaceDir accessible via nested context (not at top level)
|
|
117
|
-
it('workspaceDir is accessible via promptInput.context.workspaceDir (OCRA-06)', () => {
|
|
118
|
-
const builder = new DiagnosticianPromptBuilder();
|
|
119
|
-
const { promptInput } = builder.buildPrompt(REALISTIC_PAYLOAD);
|
|
120
|
-
expect(promptInput.context.workspaceDir).toBe('D:/work/.pd');
|
|
121
|
-
// Verify workspaceDir is NOT at top level (reduces exposure)
|
|
122
|
-
expect(promptInput).not.toHaveProperty('workspaceDir');
|
|
123
|
-
});
|
|
124
|
-
// OCRA-07: runtimeMode='local' passes --local to CLI
|
|
125
|
-
it('runtimeMode=local passes --local flag to openclaw agent (OCRA-07)', async () => {
|
|
126
|
-
const builder = new DiagnosticianPromptBuilder();
|
|
127
|
-
const { message } = builder.buildPrompt(REALISTIC_PAYLOAD);
|
|
128
|
-
const adapter = new OpenClawCliRuntimeAdapter({ runtimeMode: 'local', workspaceDir: 'D:/work/.pd' });
|
|
129
|
-
mockRunCliProcess.mockResolvedValue(makeCliOutput({ stdout: JSON.stringify(VALID_OUTPUT) }));
|
|
130
|
-
await adapter.startRun({
|
|
131
|
-
agentSpec: { agentId: 'diagnostician', schemaVersion: 'v1' },
|
|
132
|
-
inputPayload: message,
|
|
133
|
-
contextItems: [],
|
|
134
|
-
timeoutMs: 60000,
|
|
135
|
-
});
|
|
136
|
-
const call = mockRunCliProcess.mock.calls[0]?.[0];
|
|
137
|
-
expect(call.args).toContain('--local');
|
|
138
|
-
expect(call.args).toContain('--message');
|
|
139
|
-
expect(call.cwd).toBe('D:/work/.pd');
|
|
140
|
-
});
|
|
141
|
-
// OCRA-07: runtimeMode='gateway' omits --local (HG-03: no silent fallback)
|
|
142
|
-
it('runtimeMode=gateway omits --local flag (OCRA-07, HG-03)', async () => {
|
|
143
|
-
const builder = new DiagnosticianPromptBuilder();
|
|
144
|
-
const { message } = builder.buildPrompt(REALISTIC_PAYLOAD);
|
|
145
|
-
const adapter = new OpenClawCliRuntimeAdapter({ runtimeMode: 'gateway', workspaceDir: 'D:/work/.pd' });
|
|
146
|
-
mockRunCliProcess.mockResolvedValue(makeCliOutput({ stdout: JSON.stringify(VALID_OUTPUT) }));
|
|
147
|
-
await adapter.startRun({
|
|
148
|
-
agentSpec: { agentId: 'diagnostician', schemaVersion: 'v1' },
|
|
149
|
-
inputPayload: message,
|
|
150
|
-
contextItems: [],
|
|
151
|
-
timeoutMs: 60000,
|
|
152
|
-
});
|
|
153
|
-
const call = mockRunCliProcess.mock.calls[0]?.[0];
|
|
154
|
-
expect(call.args).not.toContain('--local');
|
|
155
|
-
expect(call.cwd).toBe('D:/work/.pd'); // workspaceDir still passed as cwd
|
|
156
|
-
});
|
|
157
|
-
// DPB-02: message is ONLY JSON (no markdown, no tool calls)
|
|
158
|
-
it('message is ONLY JSON — no markdown, no tool calls (DPB-02)', () => {
|
|
159
|
-
const builder = new DiagnosticianPromptBuilder();
|
|
160
|
-
const { message } = builder.buildPrompt(REALISTIC_PAYLOAD);
|
|
161
|
-
// Should be parseable as JSON
|
|
162
|
-
expect(() => JSON.parse(message)).not.toThrow();
|
|
163
|
-
// Should NOT contain markdown indicators
|
|
164
|
-
expect(message).not.toMatch(/```json|```/);
|
|
165
|
-
expect(message).not.toMatch(/\*\*[^*]+\*\*/); // no bold markdown
|
|
166
|
-
expect(message).not.toMatch(/^#+\s/m); // no headings
|
|
167
|
-
});
|
|
168
|
-
});
|
|
169
|
-
//# sourceMappingURL=diagnostician-prompt-builder.integration.test.js.map
|
package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.integration.test.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostician-prompt-builder.integration.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.integration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostician-prompt-builder.test.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.test.ts"],"names":[],"mappings":""}
|