@principles/pd-cli 1.92.0 → 1.94.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/commands/diagnose.d.ts.map +1 -1
- package/dist/commands/diagnose.js +25 -16
- package/dist/commands/diagnose.js.map +1 -1
- package/dist/commands/pain-retry.d.ts.map +1 -1
- package/dist/commands/pain-retry.js +24 -16
- package/dist/commands/pain-retry.js.map +1 -1
- package/dist/services/console-launcher.js +1 -1
- package/dist/services/console-launcher.js.map +1 -1
- package/dist/services/pain-flood-simulation-runner.d.ts.map +1 -1
- package/dist/services/pain-flood-simulation-runner.js +95 -10
- package/dist/services/pain-flood-simulation-runner.js.map +1 -1
- package/dist/services/synthetic-baseline-runner.d.ts.map +1 -1
- package/dist/services/synthetic-baseline-runner.js +97 -6
- package/dist/services/synthetic-baseline-runner.js.map +1 -1
- package/package.json +1 -1
- package/src/commands/diagnose.ts +40 -18
- package/src/commands/pain-retry.ts +41 -18
- package/src/services/console-launcher.ts +1 -1
- package/src/services/pain-flood-simulation-runner.ts +109 -10
- package/src/services/synthetic-baseline-runner.ts +111 -9
- package/tests/commands/cli-command-tree.test.ts +2 -1
- package/tests/commands/console-open.test.ts +11 -1
- package/tests/commands/diagnose.test.ts +19 -3
- package/tests/commands/pain-retry.test.ts +13 -2
- package/tests/commands/runtime-internalization.test.ts +3 -2
- package/tests/e2e/candidate-intake-e2e.test.ts +27 -5
- package/tests/helpers/pd-cli-path.ts +5 -0
- package/tests/pd-cli-smoke.test.ts +2 -1
- package/vitest.config.ts +9 -0
|
@@ -4,8 +4,7 @@ import { RuntimeStateManager } from '@principles/core/runtime-v2';
|
|
|
4
4
|
import { SqliteContextAssembler } from '@principles/core/runtime-v2';
|
|
5
5
|
import { SqliteHistoryQuery } from '@principles/core/runtime-v2';
|
|
6
6
|
import { StoreEventEmitter } from '@principles/core/runtime-v2';
|
|
7
|
-
import {
|
|
8
|
-
import { PassThroughValidator } from '@principles/core/runtime-v2';
|
|
7
|
+
import { SplitDiagnosticianRunner, DiagRootCauseRunner, DiagDistillerRunner, DiagRouterRunner, DefaultDiagRootCauseValidator, DefaultDiagDistillerValidator, } from '@principles/core/runtime-v2';
|
|
9
8
|
import { SqliteDiagnosticianCommitter } from '@principles/core/runtime-v2';
|
|
10
9
|
import { TestDoubleRuntimeAdapter } from '@principles/core/runtime-v2';
|
|
11
10
|
import { PainSignalBridge } from '@principles/core/runtime-v2';
|
|
@@ -47,14 +46,98 @@ export async function runSyntheticBaseline(opts) {
|
|
|
47
46
|
const contextAssembler = new SqliteContextAssembler(taskStore, historyQuery, runStore);
|
|
48
47
|
const eventEmitter = new StoreEventEmitter();
|
|
49
48
|
const committer = new SqliteDiagnosticianCommitter(sqliteConn);
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
const runIdToTaskId = new Map();
|
|
50
|
+
let runCounter = 0;
|
|
51
|
+
// Single test-double adapter handles all pains with stage-aware output
|
|
52
|
+
const runtimeAdapter = new TestDoubleRuntimeAdapter({
|
|
53
|
+
onStartRun: (input) => {
|
|
54
|
+
runCounter += 1;
|
|
55
|
+
const runId = `td-${runCounter}`;
|
|
56
|
+
const taskId = input.taskRef?.taskId ?? '';
|
|
57
|
+
runIdToTaskId.set(runId, taskId);
|
|
58
|
+
return {
|
|
59
|
+
runId,
|
|
60
|
+
runtimeKind: 'test-double',
|
|
61
|
+
startedAt: new Date().toISOString(),
|
|
62
|
+
};
|
|
63
|
+
},
|
|
64
|
+
onFetchOutput: async (runId) => {
|
|
65
|
+
const taskId = runIdToTaskId.get(runId) ?? '';
|
|
66
|
+
if (taskId.includes('diag_rootcause')) {
|
|
67
|
+
return {
|
|
68
|
+
runId,
|
|
69
|
+
payload: {
|
|
70
|
+
valid: true,
|
|
71
|
+
diagnosisId: `diag-${runId}`,
|
|
72
|
+
taskId,
|
|
73
|
+
summary: 'Mock rootcause summary for synthetic-baseline',
|
|
74
|
+
causalChain: [{ why: 1, statement: 'why', evidenceRefs: ['ref-1'] }],
|
|
75
|
+
rootCause: 'Design: Mock rootcause',
|
|
76
|
+
rootCauseCategory: 'Design',
|
|
77
|
+
evidence: [{ sourceRef: 'ref-1', note: 'note' }],
|
|
78
|
+
confidence: 0.9,
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
else if (taskId.includes('diag_distiller')) {
|
|
83
|
+
const parentTaskId = taskId.replace('diag_distiller-', '');
|
|
84
|
+
const stageATaskId = `diag_rootcause-${parentTaskId}`;
|
|
85
|
+
const artifacts = stateManager
|
|
86
|
+
? await stateManager.piArtifactStore.listBySourceTaskId(stageATaskId)
|
|
87
|
+
: [];
|
|
88
|
+
const sourceRootCauseArtifactId = artifacts[0]?.artifactId ?? 'art-rc';
|
|
89
|
+
return {
|
|
90
|
+
runId,
|
|
91
|
+
payload: {
|
|
92
|
+
valid: true,
|
|
93
|
+
taskId,
|
|
94
|
+
sourceRootCauseArtifactId,
|
|
95
|
+
abstractedPrinciple: 'Mock abstracted principle',
|
|
96
|
+
rationale: 'Mock rationale',
|
|
97
|
+
groundedOnCorePrincipleIds: ['T-01'],
|
|
98
|
+
scope: 'domain',
|
|
99
|
+
confidence: 0.9,
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
return {
|
|
105
|
+
runId,
|
|
106
|
+
payload: diagnosticianOutput,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
});
|
|
111
|
+
const rootCauseRunner = new DiagRootCauseRunner({
|
|
53
112
|
stateManager,
|
|
113
|
+
runtimeAdapter,
|
|
114
|
+
eventEmitter,
|
|
115
|
+
artifactStore: stateManager.piArtifactStore,
|
|
116
|
+
validator: new DefaultDiagRootCauseValidator(),
|
|
54
117
|
contextAssembler,
|
|
118
|
+
}, {
|
|
119
|
+
owner: 'synthetic-baseline',
|
|
120
|
+
runtimeKind: 'test-double',
|
|
121
|
+
pollIntervalMs: 50,
|
|
122
|
+
timeoutMs: 10000,
|
|
123
|
+
});
|
|
124
|
+
const distillerRunner = new DiagDistillerRunner({
|
|
125
|
+
stateManager,
|
|
126
|
+
runtimeAdapter,
|
|
127
|
+
eventEmitter,
|
|
128
|
+
artifactStore: stateManager.piArtifactStore,
|
|
129
|
+
validator: new DefaultDiagDistillerValidator(),
|
|
130
|
+
}, {
|
|
131
|
+
owner: 'synthetic-baseline',
|
|
132
|
+
runtimeKind: 'test-double',
|
|
133
|
+
pollIntervalMs: 50,
|
|
134
|
+
timeoutMs: 10000,
|
|
135
|
+
});
|
|
136
|
+
const routerRunner = new DiagRouterRunner({
|
|
137
|
+
stateManager,
|
|
55
138
|
runtimeAdapter,
|
|
56
139
|
eventEmitter,
|
|
57
|
-
|
|
140
|
+
artifactStore: stateManager.piArtifactStore,
|
|
58
141
|
committer,
|
|
59
142
|
}, {
|
|
60
143
|
owner: 'synthetic-baseline',
|
|
@@ -62,6 +145,14 @@ export async function runSyntheticBaseline(opts) {
|
|
|
62
145
|
pollIntervalMs: 50,
|
|
63
146
|
timeoutMs: 10000,
|
|
64
147
|
});
|
|
148
|
+
const runner = new SplitDiagnosticianRunner({
|
|
149
|
+
rootCauseRunner,
|
|
150
|
+
distillerRunner,
|
|
151
|
+
routerRunner,
|
|
152
|
+
stateManager,
|
|
153
|
+
committer,
|
|
154
|
+
perStageTimeoutMs: 10000,
|
|
155
|
+
});
|
|
65
156
|
const ledgerAdapter = new PrincipleTreeLedgerAdapter({ stateDir });
|
|
66
157
|
const intakeService = new CandidateIntakeService({ stateManager, ledgerAdapter });
|
|
67
158
|
const bridge = new PainSignalBridge({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synthetic-baseline-runner.js","sourceRoot":"","sources":["../../src/services/synthetic-baseline-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"synthetic-baseline-runner.js","sourceRoot":"","sources":["../../src/services/synthetic-baseline-runner.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/commands/diagnose.ts
CHANGED
|
@@ -14,8 +14,14 @@ import {
|
|
|
14
14
|
SqliteSourceTraceLocator,
|
|
15
15
|
StoreEventEmitter,
|
|
16
16
|
storeEmitter,
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
SplitDiagnosticianRunner,
|
|
18
|
+
DiagRootCauseRunner,
|
|
19
|
+
DiagDistillerRunner,
|
|
20
|
+
DiagRouterRunner,
|
|
21
|
+
DefaultDiagRootCauseValidator,
|
|
22
|
+
DefaultDiagDistillerValidator,
|
|
23
|
+
DisabledDiagnosticianRunner,
|
|
24
|
+
type DiagnosticianRunnerLike,
|
|
19
25
|
TestDoubleRuntimeAdapter,
|
|
20
26
|
OpenClawCliRuntimeAdapter,
|
|
21
27
|
PiAiRuntimeAdapter,
|
|
@@ -30,6 +36,8 @@ import type { PDRuntimeAdapter, RuntimeConfig, OutputLanguage } from '@principle
|
|
|
30
36
|
import { PrincipleTreeLedgerAdapter } from '../principle-tree-ledger-adapter.js';
|
|
31
37
|
import { resolveWorkspaceDir } from '../resolve-workspace.js';
|
|
32
38
|
import { readOutputLanguageFromWorkspace } from '../config-reader.js';
|
|
39
|
+
import { loadPdConfig, computeFlagsFromLoadResult } from '../services/pd-config-loader.js';
|
|
40
|
+
import { isFeatureEnabled, SPLIT_PIPELINE_TOTAL_TIMEOUT_MS } from '@principles/core/runtime-v2';
|
|
33
41
|
import * as path from 'path';
|
|
34
42
|
|
|
35
43
|
interface DiagnoseStatusOptions {
|
|
@@ -287,24 +295,38 @@ export async function handleDiagnoseRun(opts: DiagnoseRunOptions): Promise<void>
|
|
|
287
295
|
const outputLangResult = readOutputLanguageFromWorkspace(workspaceDir);
|
|
288
296
|
const outputLanguage: OutputLanguage | undefined = outputLangResult.outputLanguage;
|
|
289
297
|
|
|
290
|
-
|
|
291
|
-
|
|
298
|
+
// Check if split pipeline is enabled — 3 serial LLM calls need more time
|
|
299
|
+
const configLoadResult = loadPdConfig(workspaceDir);
|
|
300
|
+
const featureFlags = computeFlagsFromLoadResult(configLoadResult);
|
|
301
|
+
const isSplitPipeline = isFeatureEnabled(featureFlags, 'diagnostician_split_pipeline');
|
|
302
|
+
const pipelineTimeoutMs = isSplitPipeline ? SPLIT_PIPELINE_TOTAL_TIMEOUT_MS : 300_000;
|
|
303
|
+
|
|
304
|
+
let runner: DiagnosticianRunnerLike;
|
|
305
|
+
if (isSplitPipeline) {
|
|
306
|
+
const rootCauseRunner = new DiagRootCauseRunner(
|
|
307
|
+
{ stateManager, runtimeAdapter, eventEmitter, artifactStore: stateManager.piArtifactStore, validator: new DefaultDiagRootCauseValidator(), contextAssembler },
|
|
308
|
+
{ owner: 'pd-cli-diagnose', runtimeKind, outputLanguage },
|
|
309
|
+
);
|
|
310
|
+
const distillerRunner = new DiagDistillerRunner(
|
|
311
|
+
{ stateManager, runtimeAdapter, eventEmitter, artifactStore: stateManager.piArtifactStore, validator: new DefaultDiagDistillerValidator() },
|
|
312
|
+
{ owner: 'pd-cli-diagnose', runtimeKind, outputLanguage },
|
|
313
|
+
);
|
|
314
|
+
const routerRunner = new DiagRouterRunner(
|
|
315
|
+
{ stateManager, runtimeAdapter, eventEmitter, artifactStore: stateManager.piArtifactStore, committer },
|
|
316
|
+
{ owner: 'pd-cli-diagnose', runtimeKind, outputLanguage },
|
|
317
|
+
);
|
|
318
|
+
|
|
319
|
+
runner = new SplitDiagnosticianRunner({
|
|
320
|
+
rootCauseRunner,
|
|
321
|
+
distillerRunner,
|
|
322
|
+
routerRunner,
|
|
292
323
|
stateManager,
|
|
293
|
-
contextAssembler,
|
|
294
|
-
runtimeAdapter,
|
|
295
|
-
eventEmitter,
|
|
296
|
-
validator: new DefaultDiagnosticianValidator(),
|
|
297
324
|
committer,
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
timeoutMs: 300_000, // 5 min — same as probe timeout for real LLM calls
|
|
304
|
-
agentId: opts.agent,
|
|
305
|
-
outputLanguage,
|
|
306
|
-
},
|
|
307
|
-
);
|
|
325
|
+
perStageTimeoutMs: pipelineTimeoutMs / 3,
|
|
326
|
+
});
|
|
327
|
+
} else {
|
|
328
|
+
runner = new DisabledDiagnosticianRunner();
|
|
329
|
+
}
|
|
308
330
|
|
|
309
331
|
if (!opts.json) {
|
|
310
332
|
console.log(`\nRunning diagnostician for task: ${opts.taskId}`);
|
|
@@ -18,8 +18,14 @@ import {
|
|
|
18
18
|
SqliteTrajectoryLocator,
|
|
19
19
|
SqliteSourceTraceLocator,
|
|
20
20
|
StoreEventEmitter,
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
SplitDiagnosticianRunner,
|
|
22
|
+
DiagRootCauseRunner,
|
|
23
|
+
DiagDistillerRunner,
|
|
24
|
+
DiagRouterRunner,
|
|
25
|
+
DefaultDiagRootCauseValidator,
|
|
26
|
+
DefaultDiagDistillerValidator,
|
|
27
|
+
DisabledDiagnosticianRunner,
|
|
28
|
+
type DiagnosticianRunnerLike,
|
|
23
29
|
TestDoubleRuntimeAdapter,
|
|
24
30
|
OpenClawCliRuntimeAdapter,
|
|
25
31
|
PiAiRuntimeAdapter,
|
|
@@ -28,8 +34,11 @@ import {
|
|
|
28
34
|
isRuntimeConfigError,
|
|
29
35
|
CandidateIntakeService,
|
|
30
36
|
run as diagnoseRun,
|
|
37
|
+
isFeatureEnabled,
|
|
38
|
+
SPLIT_PIPELINE_TOTAL_TIMEOUT_MS,
|
|
31
39
|
} from '@principles/core/runtime-v2';
|
|
32
40
|
import type { PDRuntimeAdapter, RuntimeConfig, OutputLanguage } from '@principles/core/runtime-v2';
|
|
41
|
+
import { loadPdConfig, computeFlagsFromLoadResult } from '../services/pd-config-loader.js';
|
|
33
42
|
import type { PDTaskStatus } from '@principles/core/runtime-v2';
|
|
34
43
|
import { PrincipleTreeLedgerAdapter } from '../principle-tree-ledger-adapter.js';
|
|
35
44
|
import { readOutputLanguageFromWorkspace } from '../config-reader.js';
|
|
@@ -368,24 +377,38 @@ export async function handlePainRetry(opts: PainRetryOptions): Promise<void> {
|
|
|
368
377
|
const outputLangResult = readOutputLanguageFromWorkspace(workspaceDir);
|
|
369
378
|
const outputLanguage: OutputLanguage | undefined = outputLangResult.outputLanguage;
|
|
370
379
|
|
|
371
|
-
|
|
372
|
-
|
|
380
|
+
// Check if split pipeline is enabled — 3 serial LLM calls need more time
|
|
381
|
+
const configLoadResult = loadPdConfig(workspaceDir);
|
|
382
|
+
const featureFlags = computeFlagsFromLoadResult(configLoadResult);
|
|
383
|
+
const isSplitPipeline = isFeatureEnabled(featureFlags, 'diagnostician_split_pipeline');
|
|
384
|
+
const pipelineTimeoutMs = isSplitPipeline ? SPLIT_PIPELINE_TOTAL_TIMEOUT_MS : 300_000;
|
|
385
|
+
|
|
386
|
+
let runner: DiagnosticianRunnerLike;
|
|
387
|
+
if (isSplitPipeline) {
|
|
388
|
+
const rootCauseRunner = new DiagRootCauseRunner(
|
|
389
|
+
{ stateManager, runtimeAdapter, eventEmitter, artifactStore: stateManager.piArtifactStore, validator: new DefaultDiagRootCauseValidator(), contextAssembler },
|
|
390
|
+
{ owner: 'pd-cli-pain-retry', runtimeKind, outputLanguage },
|
|
391
|
+
);
|
|
392
|
+
const distillerRunner = new DiagDistillerRunner(
|
|
393
|
+
{ stateManager, runtimeAdapter, eventEmitter, artifactStore: stateManager.piArtifactStore, validator: new DefaultDiagDistillerValidator() },
|
|
394
|
+
{ owner: 'pd-cli-pain-retry', runtimeKind, outputLanguage },
|
|
395
|
+
);
|
|
396
|
+
const routerRunner = new DiagRouterRunner(
|
|
397
|
+
{ stateManager, runtimeAdapter, eventEmitter, artifactStore: stateManager.piArtifactStore, committer },
|
|
398
|
+
{ owner: 'pd-cli-pain-retry', runtimeKind, outputLanguage },
|
|
399
|
+
);
|
|
400
|
+
|
|
401
|
+
runner = new SplitDiagnosticianRunner({
|
|
402
|
+
rootCauseRunner,
|
|
403
|
+
distillerRunner,
|
|
404
|
+
routerRunner,
|
|
373
405
|
stateManager,
|
|
374
|
-
contextAssembler,
|
|
375
|
-
runtimeAdapter,
|
|
376
|
-
eventEmitter,
|
|
377
|
-
validator: new DefaultDiagnosticianValidator(),
|
|
378
406
|
committer,
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
timeoutMs: 300_000,
|
|
385
|
-
agentId: opts.agent,
|
|
386
|
-
outputLanguage,
|
|
387
|
-
},
|
|
388
|
-
);
|
|
407
|
+
perStageTimeoutMs: pipelineTimeoutMs / 3,
|
|
408
|
+
});
|
|
409
|
+
} else {
|
|
410
|
+
runner = new DisabledDiagnosticianRunner();
|
|
411
|
+
}
|
|
389
412
|
|
|
390
413
|
if (!opts.json) {
|
|
391
414
|
console.log(`\nRetrying diagnosis for pain: ${opts.painId}`);
|
|
@@ -56,7 +56,7 @@ const PORT_FALLBACK_LIMIT = 20; // try 3100..3119 before giving up
|
|
|
56
56
|
|
|
57
57
|
/** Returns true if the host resolves to a loopback address. */
|
|
58
58
|
export function isLoopbackHost(host: string): boolean {
|
|
59
|
-
if (host === 'localhost' || host === '127.0.0.1' || host === '::1' || host === '[::1]') return true;
|
|
59
|
+
if (host === 'localhost' || host === '127.0.0.1' || host === '::1' || host === '[::1]' || host === '0:0:0:0:0:0:0:1' || host === '[0:0:0:0:0:0:0:1]') return true;
|
|
60
60
|
// Reject any IPv4 host that doesn't start with 127.
|
|
61
61
|
if (/^127\./.test(host)) return true;
|
|
62
62
|
return false;
|
|
@@ -4,8 +4,14 @@ import { RuntimeStateManager } from '@principles/core/runtime-v2';
|
|
|
4
4
|
import { SqliteContextAssembler } from '@principles/core/runtime-v2';
|
|
5
5
|
import { SqliteHistoryQuery } from '@principles/core/runtime-v2';
|
|
6
6
|
import { StoreEventEmitter } from '@principles/core/runtime-v2';
|
|
7
|
-
import {
|
|
8
|
-
|
|
7
|
+
import {
|
|
8
|
+
SplitDiagnosticianRunner,
|
|
9
|
+
DiagRootCauseRunner,
|
|
10
|
+
DiagDistillerRunner,
|
|
11
|
+
DiagRouterRunner,
|
|
12
|
+
DefaultDiagRootCauseValidator,
|
|
13
|
+
DefaultDiagDistillerValidator,
|
|
14
|
+
} from '@principles/core/runtime-v2';
|
|
9
15
|
import { SqliteDiagnosticianCommitter } from '@principles/core/runtime-v2';
|
|
10
16
|
import { TestDoubleRuntimeAdapter } from '@principles/core/runtime-v2';
|
|
11
17
|
import { PainSignalBridge } from '@principles/core/runtime-v2';
|
|
@@ -170,23 +176,107 @@ export async function runPainFloodSimulation(opts: PainFloodSimulationRunnerOpti
|
|
|
170
176
|
const contextAssembler = new SqliteContextAssembler(taskStore, historyQuery, runStore);
|
|
171
177
|
const eventEmitter = new StoreEventEmitter();
|
|
172
178
|
const committer = new SqliteDiagnosticianCommitter(sqliteConn);
|
|
173
|
-
const
|
|
179
|
+
const runIdToTaskId = new Map<string, string>();
|
|
180
|
+
let runCounter = 0;
|
|
174
181
|
|
|
175
|
-
// Single test-double adapter handles all pains with
|
|
182
|
+
// Single test-double adapter handles all pains with stage-aware output
|
|
176
183
|
const runtimeAdapter = new TestDoubleRuntimeAdapter({
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
184
|
+
onStartRun: (input) => {
|
|
185
|
+
runCounter += 1;
|
|
186
|
+
const runId = `td-${runCounter}`;
|
|
187
|
+
const taskId = input.taskRef?.taskId ?? '';
|
|
188
|
+
runIdToTaskId.set(runId, taskId);
|
|
189
|
+
return {
|
|
190
|
+
runId,
|
|
191
|
+
runtimeKind: 'test-double',
|
|
192
|
+
startedAt: new Date().toISOString(),
|
|
193
|
+
};
|
|
194
|
+
},
|
|
195
|
+
onFetchOutput: async (runId: string) => {
|
|
196
|
+
const taskId = runIdToTaskId.get(runId) ?? '';
|
|
197
|
+
if (taskId.includes('diag_rootcause')) {
|
|
198
|
+
return {
|
|
199
|
+
runId,
|
|
200
|
+
payload: {
|
|
201
|
+
valid: true,
|
|
202
|
+
diagnosisId: `diag-${runId}`,
|
|
203
|
+
taskId,
|
|
204
|
+
summary: 'Mock rootcause summary for pain-flood-simulation',
|
|
205
|
+
causalChain: [{ why: 1, statement: 'why', evidenceRefs: ['ref-1'] }],
|
|
206
|
+
rootCause: 'Design: Mock rootcause',
|
|
207
|
+
rootCauseCategory: 'Design',
|
|
208
|
+
evidence: [{ sourceRef: 'ref-1', note: 'note' }],
|
|
209
|
+
confidence: 0.9,
|
|
210
|
+
},
|
|
211
|
+
};
|
|
212
|
+
} else if (taskId.includes('diag_distiller')) {
|
|
213
|
+
const parentTaskId = taskId.replace('diag_distiller-', '');
|
|
214
|
+
const stageATaskId = `diag_rootcause-${parentTaskId}`;
|
|
215
|
+
const artifacts = stateManager
|
|
216
|
+
? await stateManager.piArtifactStore.listBySourceTaskId(stageATaskId)
|
|
217
|
+
: [];
|
|
218
|
+
const sourceRootCauseArtifactId = artifacts[0]?.artifactId ?? 'art-rc';
|
|
219
|
+
return {
|
|
220
|
+
runId,
|
|
221
|
+
payload: {
|
|
222
|
+
valid: true,
|
|
223
|
+
taskId,
|
|
224
|
+
sourceRootCauseArtifactId,
|
|
225
|
+
abstractedPrinciple: 'Mock abstracted principle',
|
|
226
|
+
rationale: 'Mock rationale',
|
|
227
|
+
groundedOnCorePrincipleIds: ['T-01'],
|
|
228
|
+
scope: 'domain',
|
|
229
|
+
confidence: 0.9,
|
|
230
|
+
},
|
|
231
|
+
};
|
|
232
|
+
} else {
|
|
233
|
+
return {
|
|
234
|
+
runId,
|
|
235
|
+
payload: makeDeterministicDiagnosticianOutput(runId),
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
},
|
|
181
239
|
});
|
|
182
240
|
|
|
183
|
-
const
|
|
241
|
+
const rootCauseRunner = new DiagRootCauseRunner(
|
|
184
242
|
{
|
|
185
243
|
stateManager,
|
|
244
|
+
runtimeAdapter,
|
|
245
|
+
eventEmitter,
|
|
246
|
+
artifactStore: stateManager.piArtifactStore,
|
|
247
|
+
validator: new DefaultDiagRootCauseValidator(),
|
|
186
248
|
contextAssembler,
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
owner: 'pain-flood-simulation',
|
|
252
|
+
runtimeKind: 'test-double',
|
|
253
|
+
pollIntervalMs: 50,
|
|
254
|
+
timeoutMs: 10000,
|
|
255
|
+
},
|
|
256
|
+
);
|
|
257
|
+
|
|
258
|
+
const distillerRunner = new DiagDistillerRunner(
|
|
259
|
+
{
|
|
260
|
+
stateManager,
|
|
187
261
|
runtimeAdapter,
|
|
188
262
|
eventEmitter,
|
|
189
|
-
|
|
263
|
+
artifactStore: stateManager.piArtifactStore,
|
|
264
|
+
validator: new DefaultDiagDistillerValidator(),
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
owner: 'pain-flood-simulation',
|
|
268
|
+
runtimeKind: 'test-double',
|
|
269
|
+
pollIntervalMs: 50,
|
|
270
|
+
timeoutMs: 10000,
|
|
271
|
+
},
|
|
272
|
+
);
|
|
273
|
+
|
|
274
|
+
const routerRunner = new DiagRouterRunner(
|
|
275
|
+
{
|
|
276
|
+
stateManager,
|
|
277
|
+
runtimeAdapter,
|
|
278
|
+
eventEmitter,
|
|
279
|
+
artifactStore: stateManager.piArtifactStore,
|
|
190
280
|
committer,
|
|
191
281
|
},
|
|
192
282
|
{
|
|
@@ -197,6 +287,15 @@ export async function runPainFloodSimulation(opts: PainFloodSimulationRunnerOpti
|
|
|
197
287
|
},
|
|
198
288
|
);
|
|
199
289
|
|
|
290
|
+
const runner = new SplitDiagnosticianRunner({
|
|
291
|
+
rootCauseRunner,
|
|
292
|
+
distillerRunner,
|
|
293
|
+
routerRunner,
|
|
294
|
+
stateManager,
|
|
295
|
+
committer,
|
|
296
|
+
perStageTimeoutMs: 10000,
|
|
297
|
+
});
|
|
298
|
+
|
|
200
299
|
const ledgerAdapter = new PrincipleTreeLedgerAdapter({ stateDir });
|
|
201
300
|
const intakeService = new CandidateIntakeService({ stateManager, ledgerAdapter });
|
|
202
301
|
|
|
@@ -4,8 +4,14 @@ import { RuntimeStateManager } from '@principles/core/runtime-v2';
|
|
|
4
4
|
import { SqliteContextAssembler } from '@principles/core/runtime-v2';
|
|
5
5
|
import { SqliteHistoryQuery } from '@principles/core/runtime-v2';
|
|
6
6
|
import { StoreEventEmitter } from '@principles/core/runtime-v2';
|
|
7
|
-
import {
|
|
8
|
-
|
|
7
|
+
import {
|
|
8
|
+
SplitDiagnosticianRunner,
|
|
9
|
+
DiagRootCauseRunner,
|
|
10
|
+
DiagDistillerRunner,
|
|
11
|
+
DiagRouterRunner,
|
|
12
|
+
DefaultDiagRootCauseValidator,
|
|
13
|
+
DefaultDiagDistillerValidator,
|
|
14
|
+
} from '@principles/core/runtime-v2';
|
|
9
15
|
import { SqliteDiagnosticianCommitter } from '@principles/core/runtime-v2';
|
|
10
16
|
import { TestDoubleRuntimeAdapter } from '@principles/core/runtime-v2';
|
|
11
17
|
import { PainSignalBridge } from '@principles/core/runtime-v2';
|
|
@@ -72,20 +78,107 @@ export async function runSyntheticBaseline(opts: SyntheticBaselineRunnerOptions)
|
|
|
72
78
|
const contextAssembler = new SqliteContextAssembler(taskStore, historyQuery, runStore);
|
|
73
79
|
const eventEmitter = new StoreEventEmitter();
|
|
74
80
|
const committer = new SqliteDiagnosticianCommitter(sqliteConn);
|
|
75
|
-
const
|
|
81
|
+
const runIdToTaskId = new Map<string, string>();
|
|
82
|
+
let runCounter = 0;
|
|
76
83
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
84
|
+
// Single test-double adapter handles all pains with stage-aware output
|
|
85
|
+
const runtimeAdapter = new TestDoubleRuntimeAdapter({
|
|
86
|
+
onStartRun: (input) => {
|
|
87
|
+
runCounter += 1;
|
|
88
|
+
const runId = `td-${runCounter}`;
|
|
89
|
+
const taskId = input.taskRef?.taskId ?? '';
|
|
90
|
+
runIdToTaskId.set(runId, taskId);
|
|
91
|
+
return {
|
|
92
|
+
runId,
|
|
93
|
+
runtimeKind: 'test-double',
|
|
94
|
+
startedAt: new Date().toISOString(),
|
|
95
|
+
};
|
|
96
|
+
},
|
|
97
|
+
onFetchOutput: async (runId: string) => {
|
|
98
|
+
const taskId = runIdToTaskId.get(runId) ?? '';
|
|
99
|
+
if (taskId.includes('diag_rootcause')) {
|
|
100
|
+
return {
|
|
101
|
+
runId,
|
|
102
|
+
payload: {
|
|
103
|
+
valid: true,
|
|
104
|
+
diagnosisId: `diag-${runId}`,
|
|
105
|
+
taskId,
|
|
106
|
+
summary: 'Mock rootcause summary for synthetic-baseline',
|
|
107
|
+
causalChain: [{ why: 1, statement: 'why', evidenceRefs: ['ref-1'] }],
|
|
108
|
+
rootCause: 'Design: Mock rootcause',
|
|
109
|
+
rootCauseCategory: 'Design',
|
|
110
|
+
evidence: [{ sourceRef: 'ref-1', note: 'note' }],
|
|
111
|
+
confidence: 0.9,
|
|
112
|
+
},
|
|
113
|
+
};
|
|
114
|
+
} else if (taskId.includes('diag_distiller')) {
|
|
115
|
+
const parentTaskId = taskId.replace('diag_distiller-', '');
|
|
116
|
+
const stageATaskId = `diag_rootcause-${parentTaskId}`;
|
|
117
|
+
const artifacts = stateManager
|
|
118
|
+
? await stateManager.piArtifactStore.listBySourceTaskId(stageATaskId)
|
|
119
|
+
: [];
|
|
120
|
+
const sourceRootCauseArtifactId = artifacts[0]?.artifactId ?? 'art-rc';
|
|
121
|
+
return {
|
|
122
|
+
runId,
|
|
123
|
+
payload: {
|
|
124
|
+
valid: true,
|
|
125
|
+
taskId,
|
|
126
|
+
sourceRootCauseArtifactId,
|
|
127
|
+
abstractedPrinciple: 'Mock abstracted principle',
|
|
128
|
+
rationale: 'Mock rationale',
|
|
129
|
+
groundedOnCorePrincipleIds: ['T-01'],
|
|
130
|
+
scope: 'domain',
|
|
131
|
+
confidence: 0.9,
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
} else {
|
|
135
|
+
return {
|
|
136
|
+
runId,
|
|
137
|
+
payload: diagnosticianOutput,
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
});
|
|
81
142
|
|
|
82
|
-
const
|
|
143
|
+
const rootCauseRunner = new DiagRootCauseRunner(
|
|
83
144
|
{
|
|
84
145
|
stateManager,
|
|
146
|
+
runtimeAdapter,
|
|
147
|
+
eventEmitter,
|
|
148
|
+
artifactStore: stateManager.piArtifactStore,
|
|
149
|
+
validator: new DefaultDiagRootCauseValidator(),
|
|
85
150
|
contextAssembler,
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
owner: 'synthetic-baseline',
|
|
154
|
+
runtimeKind: 'test-double',
|
|
155
|
+
pollIntervalMs: 50,
|
|
156
|
+
timeoutMs: 10000,
|
|
157
|
+
},
|
|
158
|
+
);
|
|
159
|
+
|
|
160
|
+
const distillerRunner = new DiagDistillerRunner(
|
|
161
|
+
{
|
|
162
|
+
stateManager,
|
|
86
163
|
runtimeAdapter,
|
|
87
164
|
eventEmitter,
|
|
88
|
-
|
|
165
|
+
artifactStore: stateManager.piArtifactStore,
|
|
166
|
+
validator: new DefaultDiagDistillerValidator(),
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
owner: 'synthetic-baseline',
|
|
170
|
+
runtimeKind: 'test-double',
|
|
171
|
+
pollIntervalMs: 50,
|
|
172
|
+
timeoutMs: 10000,
|
|
173
|
+
},
|
|
174
|
+
);
|
|
175
|
+
|
|
176
|
+
const routerRunner = new DiagRouterRunner(
|
|
177
|
+
{
|
|
178
|
+
stateManager,
|
|
179
|
+
runtimeAdapter,
|
|
180
|
+
eventEmitter,
|
|
181
|
+
artifactStore: stateManager.piArtifactStore,
|
|
89
182
|
committer,
|
|
90
183
|
},
|
|
91
184
|
{
|
|
@@ -96,6 +189,15 @@ export async function runSyntheticBaseline(opts: SyntheticBaselineRunnerOptions)
|
|
|
96
189
|
},
|
|
97
190
|
);
|
|
98
191
|
|
|
192
|
+
const runner = new SplitDiagnosticianRunner({
|
|
193
|
+
rootCauseRunner,
|
|
194
|
+
distillerRunner,
|
|
195
|
+
routerRunner,
|
|
196
|
+
stateManager,
|
|
197
|
+
committer,
|
|
198
|
+
perStageTimeoutMs: 10000,
|
|
199
|
+
});
|
|
200
|
+
|
|
99
201
|
const ledgerAdapter = new PrincipleTreeLedgerAdapter({ stateDir });
|
|
100
202
|
const intakeService = new CandidateIntakeService({ stateManager, ledgerAdapter });
|
|
101
203
|
|