@principles/core 1.124.0 → 1.125.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/dist/runtime-v2/__tests__/architecture-regression.test.js +5 -1
  2. package/dist/runtime-v2/__tests__/architecture-regression.test.js.map +1 -1
  3. package/dist/runtime-v2/__tests__/attack-e2e-pipeline-smoke.test.js +115 -21
  4. package/dist/runtime-v2/__tests__/attack-e2e-pipeline-smoke.test.js.map +1 -1
  5. package/dist/runtime-v2/__tests__/golden-path-diagnostician-e2e.test.js.map +1 -1
  6. package/dist/runtime-v2/__tests__/pain-signal-bridge-retried.test.js +7 -6
  7. package/dist/runtime-v2/__tests__/pain-signal-bridge-retried.test.js.map +1 -1
  8. package/dist/runtime-v2/__tests__/pain-signal-bridge-short-circuit.test.js.map +1 -1
  9. package/dist/runtime-v2/__tests__/pain-signal-bridge-workspace-dir.test.js.map +1 -1
  10. package/dist/runtime-v2/cli/diagnose.d.ts +2 -2
  11. package/dist/runtime-v2/cli/diagnose.d.ts.map +1 -1
  12. package/dist/runtime-v2/config/__tests__/pd-config-contract.test.js +3 -3
  13. package/dist/runtime-v2/config/__tests__/pd-config-contract.test.js.map +1 -1
  14. package/dist/runtime-v2/config/pd-config-defaults.js +3 -3
  15. package/dist/runtime-v2/config/pd-config-defaults.js.map +1 -1
  16. package/dist/runtime-v2/diagnostician-prompt-builder.d.ts +1 -64
  17. package/dist/runtime-v2/diagnostician-prompt-builder.d.ts.map +1 -1
  18. package/dist/runtime-v2/diagnostician-prompt-builder.js +0 -186
  19. package/dist/runtime-v2/diagnostician-prompt-builder.js.map +1 -1
  20. package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js +13 -7
  21. package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js.map +1 -1
  22. package/dist/runtime-v2/feature-flags/feature-flag-contract.js +3 -3
  23. package/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
  24. package/dist/runtime-v2/index.d.ts +8 -7
  25. package/dist/runtime-v2/index.d.ts.map +1 -1
  26. package/dist/runtime-v2/index.js +8 -5
  27. package/dist/runtime-v2/index.js.map +1 -1
  28. package/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js +108 -105
  29. package/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js.map +1 -1
  30. package/dist/runtime-v2/internalization/__tests__/runnerkind-seam.test.js +3 -3
  31. package/dist/runtime-v2/internalization/__tests__/runnerkind-seam.test.js.map +1 -1
  32. package/dist/runtime-v2/internalization/split-diagnostician-runner.d.ts.map +1 -1
  33. package/dist/runtime-v2/internalization/split-diagnostician-runner.js +121 -52
  34. package/dist/runtime-v2/internalization/split-diagnostician-runner.js.map +1 -1
  35. package/dist/runtime-v2/observer/__tests__/empathy-observer.real-e2e.test.js +28 -21
  36. package/dist/runtime-v2/observer/__tests__/empathy-observer.real-e2e.test.js.map +1 -1
  37. package/dist/runtime-v2/pain-signal-runtime-factory.d.ts +10 -1
  38. package/dist/runtime-v2/pain-signal-runtime-factory.d.ts.map +1 -1
  39. package/dist/runtime-v2/pain-signal-runtime-factory.js +42 -40
  40. package/dist/runtime-v2/pain-signal-runtime-factory.js.map +1 -1
  41. package/dist/runtime-v2/runner/__tests__/diagnose.test.js.map +1 -1
  42. package/package.json +1 -1
  43. package/dist/runtime-v2/__tests__/diagnostician-core-grounding.test.d.ts +0 -2
  44. package/dist/runtime-v2/__tests__/diagnostician-core-grounding.test.d.ts.map +0 -1
  45. package/dist/runtime-v2/__tests__/diagnostician-core-grounding.test.js +0 -122
  46. package/dist/runtime-v2/__tests__/diagnostician-core-grounding.test.js.map +0 -1
  47. package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.integration.test.d.ts +0 -2
  48. package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.integration.test.d.ts.map +0 -1
  49. package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.integration.test.js +0 -169
  50. package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.integration.test.js.map +0 -1
  51. package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.test.d.ts +0 -2
  52. package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.test.d.ts.map +0 -1
  53. package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.test.js +0 -462
  54. package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.test.js.map +0 -1
  55. package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.d.ts +0 -13
  56. package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.d.ts.map +0 -1
  57. package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.js +0 -97
  58. package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.js.map +0 -1
  59. package/dist/runtime-v2/runner/__tests__/diagnostician-runner.integration.test.d.ts +0 -2
  60. package/dist/runtime-v2/runner/__tests__/diagnostician-runner.integration.test.d.ts.map +0 -1
  61. package/dist/runtime-v2/runner/__tests__/diagnostician-runner.integration.test.js +0 -378
  62. package/dist/runtime-v2/runner/__tests__/diagnostician-runner.integration.test.js.map +0 -1
  63. package/dist/runtime-v2/runner/__tests__/diagnostician-runner.test.d.ts +0 -2
  64. package/dist/runtime-v2/runner/__tests__/diagnostician-runner.test.d.ts.map +0 -1
  65. package/dist/runtime-v2/runner/__tests__/diagnostician-runner.test.js +0 -682
  66. package/dist/runtime-v2/runner/__tests__/diagnostician-runner.test.js.map +0 -1
  67. package/dist/runtime-v2/runner/__tests__/diagnostician-telemetry.test.d.ts +0 -2
  68. package/dist/runtime-v2/runner/__tests__/diagnostician-telemetry.test.d.ts.map +0 -1
  69. package/dist/runtime-v2/runner/__tests__/diagnostician-telemetry.test.js +0 -286
  70. package/dist/runtime-v2/runner/__tests__/diagnostician-telemetry.test.js.map +0 -1
  71. package/dist/runtime-v2/runner/__tests__/dual-track-e2e.test.d.ts +0 -2
  72. package/dist/runtime-v2/runner/__tests__/dual-track-e2e.test.d.ts.map +0 -1
  73. package/dist/runtime-v2/runner/__tests__/dual-track-e2e.test.js +0 -320
  74. package/dist/runtime-v2/runner/__tests__/dual-track-e2e.test.js.map +0 -1
  75. package/dist/runtime-v2/runner/__tests__/lease-expiration-recovery.integration.test.d.ts +0 -2
  76. package/dist/runtime-v2/runner/__tests__/lease-expiration-recovery.integration.test.d.ts.map +0 -1
  77. package/dist/runtime-v2/runner/__tests__/lease-expiration-recovery.integration.test.js +0 -261
  78. package/dist/runtime-v2/runner/__tests__/lease-expiration-recovery.integration.test.js.map +0 -1
  79. package/dist/runtime-v2/runner/__tests__/m5-05-e2e.test.d.ts +0 -2
  80. package/dist/runtime-v2/runner/__tests__/m5-05-e2e.test.d.ts.map +0 -1
  81. package/dist/runtime-v2/runner/__tests__/m5-05-e2e.test.js +0 -405
  82. package/dist/runtime-v2/runner/__tests__/m5-05-e2e.test.js.map +0 -1
  83. package/dist/runtime-v2/runner/__tests__/m6-06-e2e.test.d.ts +0 -2
  84. package/dist/runtime-v2/runner/__tests__/m6-06-e2e.test.d.ts.map +0 -1
  85. package/dist/runtime-v2/runner/__tests__/m6-06-e2e.test.js +0 -347
  86. package/dist/runtime-v2/runner/__tests__/m6-06-e2e.test.js.map +0 -1
  87. package/dist/runtime-v2/runner/__tests__/m6-06-legacy.test.d.ts +0 -2
  88. package/dist/runtime-v2/runner/__tests__/m6-06-legacy.test.d.ts.map +0 -1
  89. package/dist/runtime-v2/runner/__tests__/m6-06-legacy.test.js +0 -186
  90. package/dist/runtime-v2/runner/__tests__/m6-06-legacy.test.js.map +0 -1
  91. package/dist/runtime-v2/runner/__tests__/m6-06-real-path.test.d.ts +0 -2
  92. package/dist/runtime-v2/runner/__tests__/m6-06-real-path.test.d.ts.map +0 -1
  93. package/dist/runtime-v2/runner/__tests__/m6-06-real-path.test.js +0 -355
  94. package/dist/runtime-v2/runner/__tests__/m6-06-real-path.test.js.map +0 -1
  95. package/dist/runtime-v2/runner/__tests__/m8-02-e2e.test.d.ts +0 -2
  96. package/dist/runtime-v2/runner/__tests__/m8-02-e2e.test.d.ts.map +0 -1
  97. package/dist/runtime-v2/runner/__tests__/m8-02-e2e.test.js +0 -486
  98. package/dist/runtime-v2/runner/__tests__/m8-02-e2e.test.js.map +0 -1
  99. package/dist/runtime-v2/runner/__tests__/m9-adapter-integration.test.d.ts +0 -2
  100. package/dist/runtime-v2/runner/__tests__/m9-adapter-integration.test.d.ts.map +0 -1
  101. package/dist/runtime-v2/runner/__tests__/m9-adapter-integration.test.js +0 -171
  102. package/dist/runtime-v2/runner/__tests__/m9-adapter-integration.test.js.map +0 -1
  103. package/dist/runtime-v2/runner/__tests__/m9-e2e.test.d.ts +0 -2
  104. package/dist/runtime-v2/runner/__tests__/m9-e2e.test.d.ts.map +0 -1
  105. package/dist/runtime-v2/runner/__tests__/m9-e2e.test.js +0 -175
  106. package/dist/runtime-v2/runner/__tests__/m9-e2e.test.js.map +0 -1
  107. package/dist/runtime-v2/runner/__tests__/max-attempts-exceeded.integration.test.d.ts +0 -2
  108. package/dist/runtime-v2/runner/__tests__/max-attempts-exceeded.integration.test.d.ts.map +0 -1
  109. package/dist/runtime-v2/runner/__tests__/max-attempts-exceeded.integration.test.js +0 -276
  110. package/dist/runtime-v2/runner/__tests__/max-attempts-exceeded.integration.test.js.map +0 -1
  111. package/dist/runtime-v2/runner/__tests__/retry-wait-recovery.integration.test.d.ts +0 -2
  112. package/dist/runtime-v2/runner/__tests__/retry-wait-recovery.integration.test.d.ts.map +0 -1
  113. package/dist/runtime-v2/runner/__tests__/retry-wait-recovery.integration.test.js +0 -272
  114. package/dist/runtime-v2/runner/__tests__/retry-wait-recovery.integration.test.js.map +0 -1
  115. package/dist/runtime-v2/runner/__tests__/start-run-input.test.d.ts +0 -2
  116. package/dist/runtime-v2/runner/__tests__/start-run-input.test.d.ts.map +0 -1
  117. package/dist/runtime-v2/runner/__tests__/start-run-input.test.js +0 -67
  118. package/dist/runtime-v2/runner/__tests__/start-run-input.test.js.map +0 -1
  119. package/dist/runtime-v2/runner/diagnostician-runner-options.d.ts +0 -57
  120. package/dist/runtime-v2/runner/diagnostician-runner-options.d.ts.map +0 -1
  121. package/dist/runtime-v2/runner/diagnostician-runner-options.js +0 -21
  122. package/dist/runtime-v2/runner/diagnostician-runner-options.js.map +0 -1
  123. package/dist/runtime-v2/runner/diagnostician-runner.d.ts +0 -89
  124. package/dist/runtime-v2/runner/diagnostician-runner.d.ts.map +0 -1
  125. package/dist/runtime-v2/runner/diagnostician-runner.js +0 -470
  126. package/dist/runtime-v2/runner/diagnostician-runner.js.map +0 -1
@@ -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,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=diagnostician-prompt-builder.integration.test.d.ts.map
@@ -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":""}
@@ -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
@@ -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,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=diagnostician-prompt-builder.test.d.ts.map
@@ -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":""}