@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.
Files changed (130) 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 +2 -2
  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 +17 -30
  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.d.ts.map +1 -1
  23. package/dist/runtime-v2/feature-flags/feature-flag-contract.js +3 -8
  24. package/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
  25. package/dist/runtime-v2/index.d.ts +8 -7
  26. package/dist/runtime-v2/index.d.ts.map +1 -1
  27. package/dist/runtime-v2/index.js +8 -5
  28. package/dist/runtime-v2/index.js.map +1 -1
  29. package/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js +108 -105
  30. package/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js.map +1 -1
  31. package/dist/runtime-v2/internalization/__tests__/runnerkind-seam.test.js +3 -3
  32. package/dist/runtime-v2/internalization/__tests__/runnerkind-seam.test.js.map +1 -1
  33. package/dist/runtime-v2/internalization/split-diagnostician-runner.d.ts.map +1 -1
  34. package/dist/runtime-v2/internalization/split-diagnostician-runner.js +121 -52
  35. package/dist/runtime-v2/internalization/split-diagnostician-runner.js.map +1 -1
  36. package/dist/runtime-v2/observer/__tests__/empathy-observer.real-e2e.test.js +28 -21
  37. package/dist/runtime-v2/observer/__tests__/empathy-observer.real-e2e.test.js.map +1 -1
  38. package/dist/runtime-v2/pain-signal-runtime-factory.d.ts +10 -1
  39. package/dist/runtime-v2/pain-signal-runtime-factory.d.ts.map +1 -1
  40. package/dist/runtime-v2/pain-signal-runtime-factory.js +42 -40
  41. package/dist/runtime-v2/pain-signal-runtime-factory.js.map +1 -1
  42. package/dist/runtime-v2/pain-to-principle-service.d.ts +1 -0
  43. package/dist/runtime-v2/pain-to-principle-service.d.ts.map +1 -1
  44. package/dist/runtime-v2/pain-to-principle-service.js.map +1 -1
  45. package/dist/runtime-v2/runner/__tests__/diagnose.test.js.map +1 -1
  46. package/package.json +1 -1
  47. package/dist/runtime-v2/__tests__/diagnostician-core-grounding.test.d.ts +0 -2
  48. package/dist/runtime-v2/__tests__/diagnostician-core-grounding.test.d.ts.map +0 -1
  49. package/dist/runtime-v2/__tests__/diagnostician-core-grounding.test.js +0 -122
  50. package/dist/runtime-v2/__tests__/diagnostician-core-grounding.test.js.map +0 -1
  51. package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.integration.test.d.ts +0 -2
  52. package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.integration.test.d.ts.map +0 -1
  53. package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.integration.test.js +0 -169
  54. package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.integration.test.js.map +0 -1
  55. package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.test.d.ts +0 -2
  56. package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.test.d.ts.map +0 -1
  57. package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.test.js +0 -462
  58. package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.test.js.map +0 -1
  59. package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.d.ts +0 -13
  60. package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.d.ts.map +0 -1
  61. package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.js +0 -97
  62. package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.js.map +0 -1
  63. package/dist/runtime-v2/runner/__tests__/diagnostician-runner.integration.test.d.ts +0 -2
  64. package/dist/runtime-v2/runner/__tests__/diagnostician-runner.integration.test.d.ts.map +0 -1
  65. package/dist/runtime-v2/runner/__tests__/diagnostician-runner.integration.test.js +0 -378
  66. package/dist/runtime-v2/runner/__tests__/diagnostician-runner.integration.test.js.map +0 -1
  67. package/dist/runtime-v2/runner/__tests__/diagnostician-runner.test.d.ts +0 -2
  68. package/dist/runtime-v2/runner/__tests__/diagnostician-runner.test.d.ts.map +0 -1
  69. package/dist/runtime-v2/runner/__tests__/diagnostician-runner.test.js +0 -682
  70. package/dist/runtime-v2/runner/__tests__/diagnostician-runner.test.js.map +0 -1
  71. package/dist/runtime-v2/runner/__tests__/diagnostician-telemetry.test.d.ts +0 -2
  72. package/dist/runtime-v2/runner/__tests__/diagnostician-telemetry.test.d.ts.map +0 -1
  73. package/dist/runtime-v2/runner/__tests__/diagnostician-telemetry.test.js +0 -286
  74. package/dist/runtime-v2/runner/__tests__/diagnostician-telemetry.test.js.map +0 -1
  75. package/dist/runtime-v2/runner/__tests__/dual-track-e2e.test.d.ts +0 -2
  76. package/dist/runtime-v2/runner/__tests__/dual-track-e2e.test.d.ts.map +0 -1
  77. package/dist/runtime-v2/runner/__tests__/dual-track-e2e.test.js +0 -320
  78. package/dist/runtime-v2/runner/__tests__/dual-track-e2e.test.js.map +0 -1
  79. package/dist/runtime-v2/runner/__tests__/lease-expiration-recovery.integration.test.d.ts +0 -2
  80. package/dist/runtime-v2/runner/__tests__/lease-expiration-recovery.integration.test.d.ts.map +0 -1
  81. package/dist/runtime-v2/runner/__tests__/lease-expiration-recovery.integration.test.js +0 -261
  82. package/dist/runtime-v2/runner/__tests__/lease-expiration-recovery.integration.test.js.map +0 -1
  83. package/dist/runtime-v2/runner/__tests__/m5-05-e2e.test.d.ts +0 -2
  84. package/dist/runtime-v2/runner/__tests__/m5-05-e2e.test.d.ts.map +0 -1
  85. package/dist/runtime-v2/runner/__tests__/m5-05-e2e.test.js +0 -405
  86. package/dist/runtime-v2/runner/__tests__/m5-05-e2e.test.js.map +0 -1
  87. package/dist/runtime-v2/runner/__tests__/m6-06-e2e.test.d.ts +0 -2
  88. package/dist/runtime-v2/runner/__tests__/m6-06-e2e.test.d.ts.map +0 -1
  89. package/dist/runtime-v2/runner/__tests__/m6-06-e2e.test.js +0 -347
  90. package/dist/runtime-v2/runner/__tests__/m6-06-e2e.test.js.map +0 -1
  91. package/dist/runtime-v2/runner/__tests__/m6-06-legacy.test.d.ts +0 -2
  92. package/dist/runtime-v2/runner/__tests__/m6-06-legacy.test.d.ts.map +0 -1
  93. package/dist/runtime-v2/runner/__tests__/m6-06-legacy.test.js +0 -186
  94. package/dist/runtime-v2/runner/__tests__/m6-06-legacy.test.js.map +0 -1
  95. package/dist/runtime-v2/runner/__tests__/m6-06-real-path.test.d.ts +0 -2
  96. package/dist/runtime-v2/runner/__tests__/m6-06-real-path.test.d.ts.map +0 -1
  97. package/dist/runtime-v2/runner/__tests__/m6-06-real-path.test.js +0 -355
  98. package/dist/runtime-v2/runner/__tests__/m6-06-real-path.test.js.map +0 -1
  99. package/dist/runtime-v2/runner/__tests__/m8-02-e2e.test.d.ts +0 -2
  100. package/dist/runtime-v2/runner/__tests__/m8-02-e2e.test.d.ts.map +0 -1
  101. package/dist/runtime-v2/runner/__tests__/m8-02-e2e.test.js +0 -486
  102. package/dist/runtime-v2/runner/__tests__/m8-02-e2e.test.js.map +0 -1
  103. package/dist/runtime-v2/runner/__tests__/m9-adapter-integration.test.d.ts +0 -2
  104. package/dist/runtime-v2/runner/__tests__/m9-adapter-integration.test.d.ts.map +0 -1
  105. package/dist/runtime-v2/runner/__tests__/m9-adapter-integration.test.js +0 -171
  106. package/dist/runtime-v2/runner/__tests__/m9-adapter-integration.test.js.map +0 -1
  107. package/dist/runtime-v2/runner/__tests__/m9-e2e.test.d.ts +0 -2
  108. package/dist/runtime-v2/runner/__tests__/m9-e2e.test.d.ts.map +0 -1
  109. package/dist/runtime-v2/runner/__tests__/m9-e2e.test.js +0 -175
  110. package/dist/runtime-v2/runner/__tests__/m9-e2e.test.js.map +0 -1
  111. package/dist/runtime-v2/runner/__tests__/max-attempts-exceeded.integration.test.d.ts +0 -2
  112. package/dist/runtime-v2/runner/__tests__/max-attempts-exceeded.integration.test.d.ts.map +0 -1
  113. package/dist/runtime-v2/runner/__tests__/max-attempts-exceeded.integration.test.js +0 -276
  114. package/dist/runtime-v2/runner/__tests__/max-attempts-exceeded.integration.test.js.map +0 -1
  115. package/dist/runtime-v2/runner/__tests__/retry-wait-recovery.integration.test.d.ts +0 -2
  116. package/dist/runtime-v2/runner/__tests__/retry-wait-recovery.integration.test.d.ts.map +0 -1
  117. package/dist/runtime-v2/runner/__tests__/retry-wait-recovery.integration.test.js +0 -272
  118. package/dist/runtime-v2/runner/__tests__/retry-wait-recovery.integration.test.js.map +0 -1
  119. package/dist/runtime-v2/runner/__tests__/start-run-input.test.d.ts +0 -2
  120. package/dist/runtime-v2/runner/__tests__/start-run-input.test.d.ts.map +0 -1
  121. package/dist/runtime-v2/runner/__tests__/start-run-input.test.js +0 -67
  122. package/dist/runtime-v2/runner/__tests__/start-run-input.test.js.map +0 -1
  123. package/dist/runtime-v2/runner/diagnostician-runner-options.d.ts +0 -57
  124. package/dist/runtime-v2/runner/diagnostician-runner-options.d.ts.map +0 -1
  125. package/dist/runtime-v2/runner/diagnostician-runner-options.js +0 -21
  126. package/dist/runtime-v2/runner/diagnostician-runner-options.js.map +0 -1
  127. package/dist/runtime-v2/runner/diagnostician-runner.d.ts +0 -89
  128. package/dist/runtime-v2/runner/diagnostician-runner.d.ts.map +0 -1
  129. package/dist/runtime-v2/runner/diagnostician-runner.js +0 -470
  130. package/dist/runtime-v2/runner/diagnostician-runner.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"diagnostician-runner.integration.test.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/runner/__tests__/diagnostician-runner.integration.test.ts"],"names":[],"mappings":""}
@@ -1,378 +0,0 @@
1
- /**
2
- * DiagnosticianRunner integration tests -- full pipeline with real SQLite stores.
3
- *
4
- * Verifies:
5
- * 1. Full happy path with real SQLite stores
6
- * 2. Context assembly with existing run history
7
- * 3. OpenClaw history compatibility (REQ-2.6)
8
- * 4. Validation failure path with real stores
9
- *
10
- * Uses real RuntimeStateManager with temp directories, real SqliteContextAssembler,
11
- * real stores. Only PDRuntimeAdapter is mocked via StubRuntimeAdapter.
12
- */
13
- import { describe, it, expect, beforeEach, afterEach } from 'vitest';
14
- import * as fs from 'fs';
15
- import * as path from 'path';
16
- import * as os from 'os';
17
- import { RuntimeStateManager } from '../../store/runtime-state-manager.js';
18
- import { SqliteContextAssembler } from '../../store/context/sqlite-context-assembler.js';
19
- import { SqliteHistoryQuery } from '../../store/history/sqlite-history-query.js';
20
- import { StoreEventEmitter } from '../../store/event-emitter.js';
21
- import { DiagnosticianRunner } from '../diagnostician-runner.js';
22
- import { PassThroughValidator } from '../diagnostician-validator.js';
23
- // -- Test fixtures --
24
- function makeDiagnosticianOutput(taskId) {
25
- return {
26
- valid: true,
27
- diagnosisId: `diag-${Date.now()}`,
28
- taskId,
29
- summary: 'Integration test diagnosis summary',
30
- rootCause: 'Test root cause analysis',
31
- violatedPrinciples: [],
32
- evidence: [],
33
- recommendations: [],
34
- confidence: 0.85,
35
- };
36
- }
37
- /**
38
- * Create a task record input for a diagnostician task.
39
- * Diagnostician-specific fields (workspaceDir, reasonSummary, etc.) are serialized
40
- * into the `diagnostic_json` column, following SqliteContextAssembler's
41
- * reconstructDiagnosticianRecord() convention.
42
- */
43
- function makeDiagnosticianTaskInput(options) {
44
- const { taskId, workspaceDir, diagnostic, overrides } = options;
45
- const diagnosticJson = JSON.stringify({
46
- workspaceDir,
47
- reasonSummary: diagnostic?.reasonSummary ?? 'Integration test task',
48
- sourcePainId: diagnostic?.sourcePainId,
49
- severity: diagnostic?.severity,
50
- source: diagnostic?.source,
51
- });
52
- return {
53
- taskId,
54
- taskKind: 'diagnostician',
55
- status: 'pending',
56
- attemptCount: 0,
57
- maxAttempts: 3,
58
- ...overrides,
59
- diagnosticJson,
60
- };
61
- }
62
- // -- StubRuntimeAdapter --
63
- /**
64
- * Test double for PDRuntimeAdapter.
65
- * Configurable: can return success, failure, or custom output.
66
- * Only the PDRuntimeAdapter is mocked -- all stores use real SQLite.
67
- */
68
- /* eslint-disable @typescript-eslint/class-methods-use-this */
69
- class StubRuntimeAdapter {
70
- kindValue;
71
- nextOutput = null;
72
- nextStatus = 'succeeded';
73
- constructor(kindValue = 'test-double') {
74
- this.kindValue = kindValue;
75
- }
76
- /** Configure the output that fetchOutput will return. */
77
- setOutput(output) {
78
- this.nextOutput = output;
79
- }
80
- /** Configure the status that pollRun will return. */
81
- setRunStatus(status) {
82
- this.nextStatus = status;
83
- }
84
- kind() {
85
- return this.kindValue;
86
- }
87
- async getCapabilities() {
88
- return {
89
- supportsStructuredJsonOutput: true,
90
- supportsToolUse: false,
91
- supportsWorkingDirectory: false,
92
- supportsModelSelection: false,
93
- supportsLongRunningSessions: false,
94
- supportsCancellation: true,
95
- supportsArtifactWriteBack: false,
96
- supportsConcurrentRuns: false,
97
- supportsStreaming: false,
98
- };
99
- }
100
- async healthCheck() {
101
- return {
102
- healthy: true,
103
- degraded: false,
104
- warnings: [],
105
- lastCheckedAt: new Date().toISOString(),
106
- };
107
- }
108
- async startRun(_input) {
109
- const runId = `stub-run-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
110
- return {
111
- runId,
112
- runtimeKind: this.kindValue,
113
- startedAt: new Date().toISOString(),
114
- };
115
- }
116
- async pollRun(runId) {
117
- return {
118
- runId,
119
- status: this.nextStatus,
120
- startedAt: new Date().toISOString(),
121
- endedAt: new Date().toISOString(),
122
- };
123
- }
124
- async cancelRun(_runId) {
125
- // no-op
126
- }
127
- async fetchOutput(runId) {
128
- if (this.nextOutput === null) {
129
- return null;
130
- }
131
- return {
132
- runId,
133
- payload: this.nextOutput,
134
- };
135
- }
136
- async fetchArtifacts(_runId) {
137
- return [];
138
- }
139
- }
140
- /* eslint-enable @typescript-eslint/class-methods-use-this */
141
- // -- FailingValidator --
142
- /**
143
- * Validator that always returns invalid for integration test scenario 4.
144
- */
145
- class FailingValidator {
146
- errorCategory;
147
- errorMessages;
148
- constructor(errorCategory = 'output_invalid', errorMessages = ['Integration test validation failure']) {
149
- this.errorCategory = errorCategory;
150
- this.errorMessages = errorMessages;
151
- }
152
- async validate(_output, _taskId) {
153
- return {
154
- valid: false,
155
- errors: this.errorMessages,
156
- errorCategory: this.errorCategory,
157
- };
158
- }
159
- }
160
- // -- Integration test setup --
161
- const TMP_ROOT = path.join(os.tmpdir(), `pd-runner-integration-${process.pid}`);
162
- describe('DiagnosticianRunner Integration', () => {
163
- let testDir = '';
164
- let stateManager = null;
165
- let contextAssembler = null;
166
- let historyQuery = null;
167
- let eventEmitter = null;
168
- let runtimeAdapter = null;
169
- beforeEach(async () => {
170
- testDir = path.join(TMP_ROOT, `test-${Date.now()}-${Math.random().toString(36).slice(2)}`);
171
- fs.mkdirSync(testDir, { recursive: true });
172
- stateManager = new RuntimeStateManager({ workspaceDir: testDir });
173
- await stateManager.initialize();
174
- // Access internal stores via RuntimeStateManager to create context assembler.
175
- // SqliteContextAssembler requires TaskStore + HistoryQuery + RunStore.
176
- const sqliteConn = stateManager.connection;
177
- historyQuery = new SqliteHistoryQuery(sqliteConn);
178
- const { taskStore } = stateManager;
179
- const { runStore } = stateManager;
180
- contextAssembler = new SqliteContextAssembler(taskStore, historyQuery, runStore);
181
- eventEmitter = new StoreEventEmitter();
182
- runtimeAdapter = new StubRuntimeAdapter();
183
- });
184
- afterEach(() => {
185
- stateManager.close();
186
- try {
187
- fs.rmSync(TMP_ROOT, { recursive: true, force: true });
188
- }
189
- catch {
190
- // ignore cleanup errors on Windows
191
- }
192
- });
193
- /**
194
- * Helper: create runner with given validator.
195
- * Uses short poll interval and timeout for fast integration tests.
196
- */
197
- function createRunner(validator = new PassThroughValidator(), committer = { commit: async () => ({ commitId: "mock-commit-id", artifactId: "mock-artifact-id", candidateCount: 0 }) }) {
198
- return new DiagnosticianRunner({
199
- stateManager,
200
- contextAssembler,
201
- runtimeAdapter,
202
- eventEmitter,
203
- validator,
204
- committer,
205
- }, {
206
- owner: 'integration-test-runner',
207
- runtimeKind: 'test-double',
208
- pollIntervalMs: 50,
209
- timeoutMs: 2000,
210
- });
211
- }
212
- // -- Scenario 1: Full happy path with real SQLite stores --
213
- it('completes full happy path with real SQLite stores', async () => {
214
- const taskId = 'int-task-happy-001';
215
- const output = makeDiagnosticianOutput(taskId);
216
- runtimeAdapter.setOutput(output);
217
- // Create diagnostician task with workspaceDir serialized into diagnostic_json
218
- await stateManager.createTask(makeDiagnosticianTaskInput({
219
- taskId,
220
- workspaceDir: testDir,
221
- diagnostic: {
222
- reasonSummary: 'Integration test: happy path',
223
- sourcePainId: 'pain-001',
224
- severity: 'medium',
225
- source: 'user-report',
226
- },
227
- }));
228
- const runner = createRunner();
229
- const result = await runner.run(taskId);
230
- // Assert runner result
231
- expect(result.status).toBe('succeeded');
232
- expect(result.taskId).toBe(taskId);
233
- expect(result.contextHash).toBeDefined();
234
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
235
- expect(result.contextHash.length).toBeGreaterThan(0);
236
- expect(result.output).toBeDefined();
237
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
238
- expect(result.output.valid).toBe(true);
239
- // Verify task in store has status 'succeeded'
240
- const task = await stateManager.getTask(taskId);
241
- expect(task).not.toBeNull();
242
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
243
- expect(task.status).toBe('succeeded');
244
- // Verify run record has outputPayload with valid JSON
245
- const runs = await stateManager.getRunsByTask(taskId);
246
- expect(runs.length).toBeGreaterThan(0);
247
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
248
- const latestRun = runs[runs.length - 1];
249
- expect(latestRun.outputPayload).toBeDefined();
250
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
251
- const parsedOutput = JSON.parse(latestRun.outputPayload);
252
- expect(parsedOutput.taskId).toBe(taskId);
253
- expect(parsedOutput.valid).toBe(true);
254
- expect(parsedOutput.diagnosisId).toBe(output.diagnosisId);
255
- });
256
- // -- Scenario 2: Context assembly with existing run history --
257
- it('assembles context with existing run history from previous attempts', async () => {
258
- const taskId = 'int-task-history-001';
259
- // Create task
260
- await stateManager.createTask(makeDiagnosticianTaskInput({
261
- taskId,
262
- workspaceDir: testDir,
263
- diagnostic: { reasonSummary: 'Integration test: run history' },
264
- }));
265
- // First attempt: acquire lease (creates run 1), then fail
266
- await stateManager.acquireLease({
267
- taskId,
268
- owner: 'first-attempt-agent',
269
- runtimeKind: 'test-double',
270
- });
271
- // Mark first attempt as failed
272
- await stateManager.markTaskFailed(taskId, 'execution_failed');
273
- // Move task back to retry_wait so it can be re-leased
274
- await stateManager.updateTask(taskId, { status: 'retry_wait', lastError: null });
275
- // Second attempt: acquire lease again (creates run 2)
276
- await stateManager.acquireLease({
277
- taskId,
278
- owner: 'integration-test-runner',
279
- runtimeKind: 'test-double',
280
- });
281
- // Fail the second attempt too, then let the runner handle attempt 3
282
- await stateManager.markTaskRetryWait(taskId, 'execution_failed');
283
- // Set up adapter for successful run
284
- const output = makeDiagnosticianOutput(taskId);
285
- runtimeAdapter.setOutput(output);
286
- const runner = createRunner();
287
- const result = await runner.run(taskId);
288
- // Runner should succeed (attempt 3)
289
- expect(result.status).toBe('succeeded');
290
- expect(result.attemptCount).toBe(3);
291
- // Verify 3 runs total in store (2 failed + 1 succeeded)
292
- const runs = await stateManager.getRunsByTask(taskId);
293
- expect(runs).toHaveLength(3);
294
- // Verify context includes run history via sourceRefs
295
- expect(result.contextHash).toBeDefined();
296
- });
297
- // -- Scenario 3: OpenClaw history compatibility (REQ-2.6) --
298
- it('succeeds with mixed runtime_kind including openclaw-history', async () => {
299
- const taskId = 'int-task-openclaw-001';
300
- // Create task
301
- await stateManager.createTask(makeDiagnosticianTaskInput({
302
- taskId,
303
- workspaceDir: testDir,
304
- diagnostic: { reasonSummary: 'Integration test: openclaw-history compat' },
305
- }));
306
- // Acquire lease to create a real run record first
307
- await stateManager.acquireLease({
308
- taskId,
309
- owner: 'setup-agent',
310
- runtimeKind: 'openclaw-history',
311
- });
312
- // Mark as succeeded to have a completed run with output
313
- await stateManager.markTaskSucceeded(taskId, 'run://setup-run');
314
- // Now set up for runner: create a fresh task state
315
- await stateManager.updateTask(taskId, {
316
- status: 'pending',
317
- attemptCount: 0,
318
- lastError: null,
319
- resultRef: null,
320
- });
321
- // Verify openclaw-history run exists
322
- const runsBefore = await stateManager.getRunsByTask(taskId);
323
- expect(runsBefore.length).toBeGreaterThan(0);
324
- // Set up adapter for successful run
325
- const output = makeDiagnosticianOutput(taskId);
326
- runtimeAdapter.setOutput(output);
327
- const runner = createRunner();
328
- const result = await runner.run(taskId);
329
- // Runner should succeed without errors related to mixed runtime_kind
330
- expect(result.status).toBe('succeeded');
331
- expect(result.taskId).toBe(taskId);
332
- // Verify context was assembled (contextHash present means context assembly succeeded)
333
- expect(result.contextHash).toBeDefined();
334
- // Verify the openclaw-history run is in sourceRefs
335
- const allRuns = await stateManager.getRunsByTask(taskId);
336
- const openclawHistoryRuns = allRuns.filter((r) => r.runtimeKind === 'openclaw-history');
337
- expect(openclawHistoryRuns.length).toBeGreaterThan(0);
338
- });
339
- // -- Scenario 4: Validation failure path with real stores --
340
- it('transitions to retry_wait on validation failure', async () => {
341
- const taskId = 'int-task-validation-001';
342
- // Create task
343
- await stateManager.createTask(makeDiagnosticianTaskInput({
344
- taskId,
345
- workspaceDir: testDir,
346
- diagnostic: { reasonSummary: 'Integration test: validation failure' },
347
- }));
348
- // Set up adapter to return output that will fail validation
349
- const output = makeDiagnosticianOutput(taskId);
350
- runtimeAdapter.setOutput(output);
351
- // Use FailingValidator that rejects all output
352
- const failingValidator = new FailingValidator('output_invalid', [
353
- 'Missing required field: evidence',
354
- 'Invalid confidence value',
355
- ]);
356
- const runner = createRunner(failingValidator);
357
- const result = await runner.run(taskId);
358
- // First attempt (attemptCount=1) should be retried (shouldRetry returns true by default)
359
- expect(result.status).toBe('retried');
360
- expect(result.errorCategory).toBe('output_invalid');
361
- expect(result.failureReason).toContain('Validation failed');
362
- // Verify task status in store is 'retry_wait'
363
- const task = await stateManager.getTask(taskId);
364
- expect(task).not.toBeNull();
365
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
366
- expect(task.status).toBe('retry_wait');
367
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
368
- expect(task.attemptCount).toBe(1);
369
- // Verify run record has errorCategory 'output_invalid'
370
- const runs = await stateManager.getRunsByTask(taskId);
371
- expect(runs.length).toBeGreaterThan(0);
372
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
373
- const latestRun = runs[runs.length - 1];
374
- expect(latestRun.errorCategory).toBe('output_invalid');
375
- expect(latestRun.executionStatus).toBe('failed');
376
- });
377
- });
378
- //# sourceMappingURL=diagnostician-runner.integration.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"diagnostician-runner.integration.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/runner/__tests__/diagnostician-runner.integration.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=diagnostician-runner.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"diagnostician-runner.test.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/runner/__tests__/diagnostician-runner.test.ts"],"names":[],"mappings":""}