@principles/core 1.120.0 → 1.121.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/index.d.ts +3 -3
- package/dist/runtime-v2/index.d.ts.map +1 -1
- package/dist/runtime-v2/index.js +2 -2
- package/dist/runtime-v2/index.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/runnerkind-seam.test.d.ts +2 -0
- package/dist/runtime-v2/internalization/__tests__/runnerkind-seam.test.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/runnerkind-seam.test.js +224 -0
- package/dist/runtime-v2/internalization/__tests__/runnerkind-seam.test.js.map +1 -0
- package/dist/runtime-v2/internalization/index.d.ts +3 -3
- package/dist/runtime-v2/internalization/index.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/index.js +2 -2
- package/dist/runtime-v2/internalization/index.js.map +1 -1
- package/dist/runtime-v2/internalization/internalization-job-graph.d.ts +14 -1
- package/dist/runtime-v2/internalization/internalization-job-graph.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/internalization-job-graph.js +22 -0
- package/dist/runtime-v2/internalization/internalization-job-graph.js.map +1 -1
- package/dist/runtime-v2/internalization/internalization-orchestrator.d.ts +9 -9
- package/dist/runtime-v2/internalization/internalization-orchestrator.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/internalization-orchestrator.js +32 -8
- package/dist/runtime-v2/internalization/internalization-orchestrator.js.map +1 -1
- package/dist/runtime-v2/internalization/internalization-state-machine.d.ts +2 -2
- package/dist/runtime-v2/internalization/internalization-state-machine.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/internalization-state-machine.js +35 -4
- package/dist/runtime-v2/internalization/internalization-state-machine.js.map +1 -1
- package/dist/runtime-v2/internalization/peer-runner-contracts.d.ts +29 -4
- package/dist/runtime-v2/internalization/peer-runner-contracts.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/peer-runner-contracts.js +23 -3
- package/dist/runtime-v2/internalization/peer-runner-contracts.js.map +1 -1
- package/dist/runtime-v2/internalization/pitask-metadata.d.ts +2 -2
- package/dist/runtime-v2/internalization/pitask-metadata.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/pitask-metadata.js +6 -5
- package/dist/runtime-v2/internalization/pitask-metadata.js.map +1 -1
- package/dist/runtime-v2/internalization/queue-actionability.d.ts +3 -3
- package/dist/runtime-v2/internalization/queue-actionability.d.ts.map +1 -1
- package/dist/runtime-v2/internalization-queue-read-model.d.ts +7 -7
- package/dist/runtime-v2/internalization-queue-read-model.d.ts.map +1 -1
- package/dist/runtime-v2/internalization-queue-read-model.js +4 -4
- package/dist/runtime-v2/internalization-queue-read-model.js.map +1 -1
- package/dist/runtime-v2/pain-signal-runtime-factory.d.ts.map +1 -1
- package/dist/runtime-v2/pain-signal-runtime-factory.js +13 -0
- package/dist/runtime-v2/pain-signal-runtime-factory.js.map +1 -1
- package/package.json +1 -1
|
@@ -29,6 +29,14 @@ export const ALLOWED_EDGES = [
|
|
|
29
29
|
['evaluator', 'rollout_reviewer'],
|
|
30
30
|
['rollout_reviewer', 'trainer'],
|
|
31
31
|
];
|
|
32
|
+
/**
|
|
33
|
+
* Allowed edges in the diagnostician chain.
|
|
34
|
+
* diag_rootcause → diag_distiller → diag_router
|
|
35
|
+
*/
|
|
36
|
+
export const DIAGNOSTICIAN_EDGES = [
|
|
37
|
+
['diag_rootcause', 'diag_distiller'],
|
|
38
|
+
['diag_distiller', 'diag_router'],
|
|
39
|
+
];
|
|
32
40
|
/**
|
|
33
41
|
* The channel required for the rollout_reviewer → trainer transition.
|
|
34
42
|
* v1 policy B: trainer is terminal successor of rollout_reviewer only.
|
|
@@ -58,6 +66,20 @@ export function validateEdge(from, to, channel) {
|
|
|
58
66
|
// Non-trainer targets: check allowed edges
|
|
59
67
|
return ALLOWED_EDGES.some(([f, t]) => f === from && t === to);
|
|
60
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* Validates whether a diagnostician chain transition is legal.
|
|
71
|
+
*/
|
|
72
|
+
export function validateDiagEdge(from, to) {
|
|
73
|
+
return DIAGNOSTICIAN_EDGES.some(([f, t]) => f === from && t === to);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Returns allowed successor for a diagnostician stage kind.
|
|
77
|
+
*/
|
|
78
|
+
export function getDiagSuccessors(from) {
|
|
79
|
+
return DIAGNOSTICIAN_EDGES
|
|
80
|
+
.filter(([f]) => f === from)
|
|
81
|
+
.map(([, t]) => t);
|
|
82
|
+
}
|
|
61
83
|
// ── DAG Validation (Kahn's Algorithm) ────────────────────────────────────────
|
|
62
84
|
/**
|
|
63
85
|
* Checks whether a set of edges forms a valid DAG (no cycles).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internalization-job-graph.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/internalization-job-graph.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"internalization-job-graph.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/internalization-job-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import type { PDTaskStatus } from '../task-status.js';
|
|
17
17
|
import type { RuntimeStateManager } from '../store/runtime-state-manager.js';
|
|
18
|
-
import type {
|
|
18
|
+
import type { RunnerKind } from './peer-runner-contracts.js';
|
|
19
19
|
import type { DependencyGateResult, NextTaskProposal } from './internalization-state-machine.js';
|
|
20
20
|
export interface NoReadyTasksResult {
|
|
21
21
|
decision: 'no_ready_tasks';
|
|
@@ -26,25 +26,25 @@ export interface NoReadyTasksResult {
|
|
|
26
26
|
export interface BlockedResult {
|
|
27
27
|
decision: 'blocked';
|
|
28
28
|
taskId: string;
|
|
29
|
-
taskKind:
|
|
29
|
+
taskKind: RunnerKind;
|
|
30
30
|
blockedBy: string[];
|
|
31
31
|
}
|
|
32
32
|
export interface DependencyFailedResult {
|
|
33
33
|
decision: 'dependency_failed';
|
|
34
34
|
taskId: string;
|
|
35
|
-
taskKind:
|
|
35
|
+
taskKind: RunnerKind;
|
|
36
36
|
failedDependencies: string[];
|
|
37
37
|
}
|
|
38
38
|
export interface LeasedResult {
|
|
39
39
|
decision: 'leased';
|
|
40
40
|
taskId: string;
|
|
41
|
-
taskKind:
|
|
41
|
+
taskKind: RunnerKind;
|
|
42
42
|
attemptCount: number;
|
|
43
43
|
}
|
|
44
44
|
export interface WouldLeaseResult {
|
|
45
45
|
decision: 'would_lease';
|
|
46
46
|
taskId: string;
|
|
47
|
-
taskKind:
|
|
47
|
+
taskKind: RunnerKind;
|
|
48
48
|
gateResult: DependencyGateResult;
|
|
49
49
|
}
|
|
50
50
|
export interface LeaseConflictResult {
|
|
@@ -68,7 +68,7 @@ export type WakeOnceResult = NoReadyTasksResult | BlockedResult | DependencyFail
|
|
|
68
68
|
export interface ProposalCreatedResult {
|
|
69
69
|
decision: 'proposal_created';
|
|
70
70
|
taskId: string;
|
|
71
|
-
taskKind:
|
|
71
|
+
taskKind: RunnerKind;
|
|
72
72
|
proposal: NextTaskProposal;
|
|
73
73
|
}
|
|
74
74
|
export type ProposeNextTaskResult = ProposalCreatedResult | null;
|
|
@@ -76,12 +76,12 @@ export type CommitNextTaskResult = {
|
|
|
76
76
|
decision: 'successor_created';
|
|
77
77
|
sourceTaskId: string;
|
|
78
78
|
successorTaskId: string;
|
|
79
|
-
successorKind:
|
|
79
|
+
successorKind: RunnerKind;
|
|
80
80
|
} | {
|
|
81
81
|
decision: 'successor_exists';
|
|
82
82
|
sourceTaskId: string;
|
|
83
83
|
successorTaskId: string;
|
|
84
|
-
successorKind:
|
|
84
|
+
successorKind: RunnerKind;
|
|
85
85
|
} | {
|
|
86
86
|
decision: 'no_successor';
|
|
87
87
|
sourceTaskId: string;
|
|
@@ -127,7 +127,7 @@ export declare class InternalizationOrchestrator {
|
|
|
127
127
|
* 5. On proceed + dryRun → would_lease; on proceed + !dryRun → acquireLease
|
|
128
128
|
* 6. On lease_conflict PDRuntimeError → structured LeaseConflictResult
|
|
129
129
|
*/
|
|
130
|
-
wakeOnce(taskKind?:
|
|
130
|
+
wakeOnce(taskKind?: RunnerKind): Promise<WakeOnceResult>;
|
|
131
131
|
/**
|
|
132
132
|
* Generate a successor task proposal for a succeeded task.
|
|
133
133
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internalization-orchestrator.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/internalization-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAc,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"internalization-orchestrator.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/internalization-orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,8 +14,9 @@
|
|
|
14
14
|
* @see docs/adr/0003-peer-agent-state-machine-orchestration.md
|
|
15
15
|
*/
|
|
16
16
|
import { hydratePITaskRecord, createPITaskDiagnosticJson } from './pitask-metadata.js';
|
|
17
|
-
import { isPeerRunnerKind } from './peer-runner-contracts.js';
|
|
17
|
+
import { isPeerRunnerKind, isDiagnosticianStageKind, isRunnerKind } from './peer-runner-contracts.js';
|
|
18
18
|
import { validateInternalizationTaskReady, createNextTaskProposal, } from './internalization-state-machine.js';
|
|
19
|
+
import { getDiagSuccessors } from './internalization-job-graph.js';
|
|
19
20
|
import { PDRuntimeError } from '../error-categories.js';
|
|
20
21
|
/**
|
|
21
22
|
* Runtime decision labels for WakeOnceResult — used by host layers for
|
|
@@ -182,11 +183,34 @@ export class InternalizationOrchestrator {
|
|
|
182
183
|
if (!piTask) {
|
|
183
184
|
return null;
|
|
184
185
|
}
|
|
185
|
-
|
|
186
|
-
if (!isPeerRunnerKind(piTask.taskKind)) {
|
|
186
|
+
if (piTask.status !== 'succeeded') {
|
|
187
187
|
return null;
|
|
188
188
|
}
|
|
189
|
-
|
|
189
|
+
// Diagnostician chain: use getDiagSuccessors instead of peer runner job graph
|
|
190
|
+
if (isDiagnosticianStageKind(piTask.taskKind)) {
|
|
191
|
+
const diagSuccessors = getDiagSuccessors(piTask.taskKind);
|
|
192
|
+
if (diagSuccessors.length === 0) {
|
|
193
|
+
// diag_router is terminal — no successor
|
|
194
|
+
return null;
|
|
195
|
+
}
|
|
196
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
197
|
+
const nextKind = diagSuccessors[0];
|
|
198
|
+
return {
|
|
199
|
+
decision: 'proposal_created',
|
|
200
|
+
taskId: piTask.taskId,
|
|
201
|
+
taskKind: piTask.taskKind,
|
|
202
|
+
proposal: {
|
|
203
|
+
taskKind: nextKind,
|
|
204
|
+
parentTaskId: piTask.taskId,
|
|
205
|
+
dependencyTaskIds: [piTask.taskId],
|
|
206
|
+
inputArtifactRefs: [...piTask.outputArtifactRefs],
|
|
207
|
+
channel: piTask.channel,
|
|
208
|
+
correlationId: piTask.correlationId,
|
|
209
|
+
},
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
// Guard against non-PI task kinds (would cause getAllowedSuccessors to return undefined)
|
|
213
|
+
if (!isPeerRunnerKind(piTask.taskKind)) {
|
|
190
214
|
return null;
|
|
191
215
|
}
|
|
192
216
|
const proposal = createNextTaskProposal(piTask, []);
|
|
@@ -314,7 +338,7 @@ export class InternalizationOrchestrator {
|
|
|
314
338
|
* Filters to only PeerRunnerKind taskKinds and hydrates to PITaskRecord.
|
|
315
339
|
*/
|
|
316
340
|
async findCandidates(taskKind) {
|
|
317
|
-
if (taskKind && !
|
|
341
|
+
if (taskKind && !isRunnerKind(taskKind)) {
|
|
318
342
|
throw new PDRuntimeError('input_invalid', `findCandidates: invalid taskKind filter: ${taskKind}`);
|
|
319
343
|
}
|
|
320
344
|
const allCandidates = [];
|
|
@@ -328,11 +352,11 @@ export class InternalizationOrchestrator {
|
|
|
328
352
|
throw error;
|
|
329
353
|
throw new PDRuntimeError('runtime_unavailable', 'findCandidates failed', { cause: error });
|
|
330
354
|
}
|
|
331
|
-
let
|
|
355
|
+
let runnerTasks = allCandidates.filter(t => isRunnerKind(t.taskKind));
|
|
332
356
|
if (taskKind) {
|
|
333
|
-
|
|
357
|
+
runnerTasks = runnerTasks.filter(t => t.taskKind === taskKind);
|
|
334
358
|
}
|
|
335
|
-
return
|
|
359
|
+
return runnerTasks;
|
|
336
360
|
}
|
|
337
361
|
/**
|
|
338
362
|
* Resolve an array of dependency task IDs into TaskRecord instances.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internalization-orchestrator.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/internalization-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAEvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"internalization-orchestrator.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/internalization-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAEvF,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACtG,OAAO,EACL,gCAAgC,EAChC,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAmDxD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,gBAAgB;IAChB,SAAS;IACT,mBAAmB;IACnB,QAAQ;IACR,aAAa;IACb,gBAAgB;IAChB,uBAAuB;CACf,CAAC;AA6CX,iFAAiF;AAEjF,MAAM,OAAO,2BAA2B;IACrB,KAAK,CAAS;IACd,WAAW,CAAS;IACpB,MAAM,CAAU;IAChB,YAAY,CAAsB;IAEnD,YAAY,IAAqC,EAAE,OAA2C;QAC5F,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,IAAI,cAAc,CAAC,eAAe,EAAE,sEAAsE,CAAC,CAAC;QACpH,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IACxC,CAAC;IAED,6EAA6E;IAE7E;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,QAAQ,CAAC,QAAqB;QAClC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC;QAEzC,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,OAAO;gBACL,QAAQ,EAAE,gBAAgB;gBAC1B,cAAc,EAAE,CAAC;gBACjB,MAAM,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe;aAC5D,CAAC;QACJ,CAAC;QAED,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,IAAI,qBAAqB,GAAG,CAAC,CAAC;QAC9B,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAE3B,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAE5C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,sEAAsE;gBACtE,iBAAiB,EAAE,CAAC;gBACpB,SAAS;YACX,CAAC;YAED,iCAAiC;YACjC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAE9E,2BAA2B;YAC3B,MAAM,UAAU,GAAG,gCAAgC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAE1E,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACtC,6CAA6C;gBAC7C,YAAY,EAAE,CAAC;gBACf,SAAS;YACX,CAAC;YAED,IAAI,UAAU,CAAC,QAAQ,KAAK,mBAAmB,EAAE,CAAC;gBAChD,6CAA6C;gBAC7C,kBAAkB,EAAE,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,IAAI,UAAU,CAAC,QAAQ,KAAK,oBAAoB,EAAE,CAAC;gBACjD,qBAAqB,EAAE,CAAC;gBACxB,SAAS;YACX,CAAC;YAED,oCAAoC;YACpC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,OAAO;oBACL,QAAQ,EAAE,aAAa;oBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,UAAU;iBACX,CAAC;YACJ,CAAC;YAED,wCAAwC;YACxC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;oBAClD,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,WAAW,EAAE,IAAI,CAAC,WAAW;iBAC9B,CAAC,CAAC;gBACH,OAAO;oBACL,QAAQ,EAAE,QAAQ;oBAClB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,YAAY,EAAE,MAAM,CAAC,YAAY;iBAClC,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,cAAc,IAAI,KAAK,CAAC,QAAQ,KAAK,gBAAgB,EAAE,CAAC;oBAC3E,6CAA6C;oBAC7C,kBAAkB,EAAE,CAAC;oBACrB,SAAS;gBACX,CAAC;gBACD,6CAA6C;gBAC7C,MAAM,OAAO,GAAG,KAAK,YAAY,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,qBAAqB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACnH,MAAM,IAAI,cAAc,CACtB,OAAO,CAAC,QAAQ,IAAI,qBAAqB,EACzC,8CAA8C,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,OAAO,EAAE,EACjF,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,2EAA2E;QAC3E,sEAAsE;QACtE,uEAAuE;QACvE,MAAM,MAAM,GACV,qBAAqB,GAAG,CAAC,IAAI,qBAAqB,IAAI,iBAAiB,IAAI,qBAAqB,IAAI,kBAAkB,IAAI,qBAAqB,IAAI,YAAY,IAAI,qBAAqB,IAAI,kBAAkB;YAC5M,CAAC,CAAC,wBAAwB;YAC1B,CAAC,CAAC,iBAAiB,GAAG,CAAC,IAAI,iBAAiB,IAAI,kBAAkB,IAAI,iBAAiB,IAAI,YAAY,IAAI,iBAAiB,IAAI,kBAAkB;gBAChJ,CAAC,CAAC,sBAAsB;gBACxB,CAAC,CAAC,kBAAkB,IAAI,YAAY,IAAI,kBAAkB,IAAI,kBAAkB;oBAC9E,CAAC,CAAC,uBAAuB;oBACzB,CAAC,CAAC,YAAY,IAAI,kBAAkB;wBAClC,CAAC,CAAC,aAAa;wBACf,CAAC,CAAC,kBAAkB,GAAG,CAAC;4BACtB,CAAC,CAAC,oBAAoB;4BACtB,CAAC,CAAC,eAAe,CAAC;QAE9B,OAAO;YACL,QAAQ,EAAE,gBAAgB;YAC1B,cAAc;YACd,MAAM;SACP,CAAC;IACJ,CAAC;IAED,4EAA4E;IAE5E;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,eAAe,CAAC,MAAc;QAClC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,8EAA8E;QAC9E,IAAI,wBAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9C,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1D,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,yCAAyC;gBACzC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,oEAAoE;YACpE,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAE,CAAC;YACpC,OAAO;gBACL,QAAQ,EAAE,kBAAkB;gBAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,QAAQ,EAAE;oBACR,QAAQ,EAAE,QAAQ;oBAClB,YAAY,EAAE,MAAM,CAAC,MAAM;oBAC3B,iBAAiB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;oBAClC,iBAAiB,EAAE,CAAC,GAAG,MAAM,CAAC,kBAAkB,CAAC;oBACjD,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,aAAa,EAAE,MAAM,CAAC,aAAa;iBACpC;aACF,CAAC;QACJ,CAAC;QAED,yFAAyF;QACzF,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,sBAAsB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,kBAAkB;YAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,2EAA2E;IAE3E;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,sBAAsB,CAAC,MAAc;QACzC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAChD,CAAC;QAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,EAAE,oDAAoD,EAAE,CAAC;QACrH,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QAC7E,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,gEAAgE,EAAE,CAAC;QACtI,CAAC;QAED,MAAM,EAAC,QAAQ,EAAC,GAAG,cAAc,CAAC;QAElC,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxG,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO;gBACL,QAAQ,EAAE,kBAAkB;gBAC5B,YAAY,EAAE,MAAM;gBACpB,eAAe,EAAE,iBAAiB,CAAC,MAAM;gBACzC,aAAa,EAAE,QAAQ,CAAC,QAAQ;aACjC,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,GAAG,QAAQ,CAAC,QAAQ,IAAI,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC7E,MAAM,iBAAiB,GAAmB;YACxC,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;YAC7C,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,SAAS,EAAE,OAAO;YAClB,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;YAC7C,kBAAkB,EAAE,EAAE;YACtB,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,aAAa,EAAE,QAAQ,CAAC,aAAa;SACtC,CAAC;QAGF,IAAI,eAA2B,CAAC;QAChC,IAAI,CAAC;YACH,eAAe,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;gBACnD,MAAM,EAAE,eAAe;gBACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,MAAM,EAAE,SAAS;gBACjB,YAAY,EAAE,CAAC;gBACf,WAAW,EAAE,CAAC;gBACd,QAAQ,EAAE,SAAS;gBACnB,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,SAAS;gBACpB,UAAU,EAAE,SAAS;gBACrB,cAAc,EAAE,SAAS;gBACzB,cAAc,EAAE,0BAA0B,CAAC,iBAAiB,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAClF,IAAI,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAChH,OAAO;oBACL,QAAQ,EAAE,kBAAkB;oBAC5B,YAAY,EAAE,MAAM;oBACpB,eAAe;oBACf,aAAa,EAAE,QAAQ,CAAC,QAAQ;iBACjC,CAAC;YACJ,CAAC;YACD,MAAM,SAAS,CAAC;QAClB,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,mBAAmB;YAC7B,YAAY,EAAE,MAAM;YACpB,eAAe,EAAE,eAAe,CAAC,MAAM;YACvC,aAAa,EAAE,QAAQ,CAAC,QAAQ;SACjC,CAAC;IACJ,CAAC;IAED,6EAA6E;IAE7E;;;;OAIG;IACK,KAAK,CAAC,qBAAqB,CACjC,YAAoB,EACpB,aAAyB,EACzB,OAAe;QAEf,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9E,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;QACnF,MAAM,UAAU,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,cAAc,CAAC,CAAC;QACxD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,QAAQ,KAAK,aAAa;gBAAE,SAAS;YAC9C,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,IAAI,MAAM,CAAC,YAAY,KAAK,YAAY,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;gBACvE,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,cAAc,CAAC,QAAqB;QAChD,IAAI,QAAQ,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,cAAc,CAAC,eAAe,EAAE,4CAA4C,QAAQ,EAAE,CAAC,CAAC;QACpG,CAAC;QAED,MAAM,aAAa,GAAiB,EAAE,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YACzE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;YAC9E,aAAa,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,cAAc;gBAAE,MAAM,KAAK,CAAC;YACjD,MAAM,IAAI,cAAc,CAAC,qBAAqB,EAAE,uBAAuB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7F,CAAC;QAED,IAAI,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEtE,IAAI,QAAQ,EAAE,CAAC;YACb,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,mBAAmB,CAAC,MAAyB;QACzD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,qEAAqE;QACrE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CACtD,CAAC;QAEF,OAAO,OAAO;aACX,MAAM,CAAC,CAAC,CAAC,EAAkD,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC;aACvF,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;aACjB,MAAM,CAAC,CAAC,CAAC,EAAmB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAChD,CAAC;CACF"}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* @see docs/adr/0003-peer-agent-state-machine-orchestration.md
|
|
17
17
|
*/
|
|
18
18
|
import type { PDTaskStatus, TaskRecord } from '../task-status.js';
|
|
19
|
-
import type { PITaskRecord, PeerRunnerKind, InternalizationChannel, PIArtifact, ArtifactRef } from './peer-runner-contracts.js';
|
|
19
|
+
import type { PITaskRecord, PeerRunnerKind, RunnerKind, InternalizationChannel, PIArtifact, ArtifactRef } from './peer-runner-contracts.js';
|
|
20
20
|
/**
|
|
21
21
|
* Decision when evaluating if a task is ready to execute.
|
|
22
22
|
*
|
|
@@ -69,7 +69,7 @@ export type RejectionFeedbackResult = {
|
|
|
69
69
|
rejectionReason?: string;
|
|
70
70
|
};
|
|
71
71
|
export interface NextTaskProposal {
|
|
72
|
-
taskKind:
|
|
72
|
+
taskKind: RunnerKind;
|
|
73
73
|
parentTaskId: string;
|
|
74
74
|
dependencyTaskIds: string[];
|
|
75
75
|
inputArtifactRefs: ArtifactRef[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internalization-state-machine.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/internalization-state-machine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,UAAU,EACV,WAAW,EACZ,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"internalization-state-machine.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/internalization-state-machine.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
*
|
|
16
16
|
* @see docs/adr/0003-peer-agent-state-machine-orchestration.md
|
|
17
17
|
*/
|
|
18
|
-
import {
|
|
18
|
+
import { isPeerRunnerKind, isDiagnosticianStageKind } from './peer-runner-contracts.js';
|
|
19
|
+
import { getAllowedSuccessors, isAcyclic, validateEdge, validateDiagEdge } from './internalization-job-graph.js';
|
|
19
20
|
import { canAcquireLease, canTransitionTo, canRetryNow, isUnresolvable, } from './internalization-task-guards.js';
|
|
20
21
|
// ── Core Decision Functions ──────────────────────────────────────────────────
|
|
21
22
|
/**
|
|
@@ -131,6 +132,18 @@ export function validateTaskTransition(task, newStatus) {
|
|
|
131
132
|
* to act on it.
|
|
132
133
|
*/
|
|
133
134
|
export function decideArtifactRejectionFeedback(artifact, task) {
|
|
135
|
+
// Only peer runner tasks have artifact rejection feedback.
|
|
136
|
+
// Diagnostician stage tasks should not reach this path — if they do,
|
|
137
|
+
// escalate with an explicit reason rather than fabricating a PeerRunnerKind.
|
|
138
|
+
if (!isPeerRunnerKind(task.taskKind)) {
|
|
139
|
+
return {
|
|
140
|
+
action: 'escalate',
|
|
141
|
+
rejectedArtifactId: artifact.artifactId,
|
|
142
|
+
sourceTaskId: artifact.sourceTaskId,
|
|
143
|
+
sourceTaskKind: 'dreamer', // sentinel — diagnostician tasks must not reach here; caller must guard
|
|
144
|
+
rejectionReason: `unexpected_diagnostician_taskKind:${task.taskKind}`,
|
|
145
|
+
};
|
|
146
|
+
}
|
|
134
147
|
const base = {
|
|
135
148
|
rejectedArtifactId: artifact.artifactId,
|
|
136
149
|
sourceTaskId: artifact.sourceTaskId,
|
|
@@ -190,10 +203,17 @@ export function createNextTaskProposal(currentTask, _artifacts, channel) {
|
|
|
190
203
|
if (isUnresolvable(currentTask)) {
|
|
191
204
|
return null;
|
|
192
205
|
}
|
|
206
|
+
// Diagnostician chain tasks are handled by the orchestrator via getDiagSuccessors,
|
|
207
|
+
// not by this function which uses the peer runner job graph.
|
|
208
|
+
if (!isPeerRunnerKind(currentTask.taskKind)) {
|
|
209
|
+
return null;
|
|
210
|
+
}
|
|
211
|
+
// After the guard, currentTask.taskKind is narrowed to PeerRunnerKind
|
|
212
|
+
const { taskKind } = currentTask;
|
|
193
213
|
const effectiveChannel = channel ?? currentTask.channel;
|
|
194
|
-
const successors = getAllowedSuccessors(
|
|
214
|
+
const successors = getAllowedSuccessors(taskKind);
|
|
195
215
|
// Filter to only channel-valid successors (M1: prevent invalid trainer proposal)
|
|
196
|
-
const validSuccessors = successors.filter(s => validateEdge(
|
|
216
|
+
const validSuccessors = successors.filter(s => validateEdge(taskKind, s, effectiveChannel));
|
|
197
217
|
if (validSuccessors.length === 0) {
|
|
198
218
|
return null;
|
|
199
219
|
}
|
|
@@ -254,7 +274,18 @@ export function validateInternalizationGraph(tasks) {
|
|
|
254
274
|
continue;
|
|
255
275
|
}
|
|
256
276
|
// Use the current task's channel for edge validation
|
|
257
|
-
|
|
277
|
+
// Peer runner edges use validateEdge; diagnostician edges use validateDiagEdge
|
|
278
|
+
let edgeValid;
|
|
279
|
+
if (isDiagnosticianStageKind(dep.taskKind) && isDiagnosticianStageKind(task.taskKind)) {
|
|
280
|
+
edgeValid = validateDiagEdge(dep.taskKind, task.taskKind);
|
|
281
|
+
}
|
|
282
|
+
else if (isPeerRunnerKind(dep.taskKind) && isPeerRunnerKind(task.taskKind)) {
|
|
283
|
+
edgeValid = validateEdge(dep.taskKind, task.taskKind, task.channel);
|
|
284
|
+
}
|
|
285
|
+
else {
|
|
286
|
+
// Cross-pipeline edge — not allowed
|
|
287
|
+
edgeValid = false;
|
|
288
|
+
}
|
|
258
289
|
if (!edgeValid) {
|
|
259
290
|
errors.push({
|
|
260
291
|
type: 'disallowed_edge',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internalization-state-machine.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/internalization-state-machine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"internalization-state-machine.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/internalization-state-machine.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,19 @@ export type InternalizationChannel = 'prompt' | 'skill' | 'code_tool_hook' | 'mo
|
|
|
27
27
|
* @see ADR-0003 Section 3.3
|
|
28
28
|
*/
|
|
29
29
|
export type PeerRunnerKind = 'dreamer' | 'philosopher' | 'scribe' | 'artificer' | 'evaluator' | 'trainer' | 'rollout_reviewer';
|
|
30
|
+
/**
|
|
31
|
+
* The 3 diagnostician stage kinds for the split pipeline.
|
|
32
|
+
* These are NOT PeerRunnerKinds — they belong to a separate execution pipeline.
|
|
33
|
+
*
|
|
34
|
+
* @see 02-review-response-and-amendments.md §2.3
|
|
35
|
+
*/
|
|
36
|
+
export type DiagnosticianStageKind = 'diag_rootcause' | 'diag_distiller' | 'diag_router';
|
|
37
|
+
/**
|
|
38
|
+
* Broad execution-kind union — used by orchestrator for task dispatch.
|
|
39
|
+
* Preserves the "7 peer runners" invariant: PeerRunnerKind and
|
|
40
|
+
* DiagnosticianStageKind are disjoint sets.
|
|
41
|
+
*/
|
|
42
|
+
export type RunnerKind = PeerRunnerKind | DiagnosticianStageKind;
|
|
30
43
|
/**
|
|
31
44
|
* The kinds of artifacts produced by the Internalization Engine.
|
|
32
45
|
*/
|
|
@@ -68,7 +81,7 @@ export interface PIArtifact {
|
|
|
68
81
|
* Internalization task record that extends TaskRecord with internalization metadata.
|
|
69
82
|
*
|
|
70
83
|
* Critical rules:
|
|
71
|
-
* - taskKind MUST be
|
|
84
|
+
* - taskKind MUST be a valid RunnerKind (PeerRunnerKind or DiagnosticianStageKind)
|
|
72
85
|
* - status uses PDTaskStatus (pending | leased | succeeded | retry_wait | failed)
|
|
73
86
|
* - running is NOT a PDTaskStatus — it belongs to RunExecutionStatus
|
|
74
87
|
* - Terminal task states: succeeded and failed only
|
|
@@ -78,7 +91,7 @@ export interface PIArtifact {
|
|
|
78
91
|
* @see ADR-0003 Section 3.4
|
|
79
92
|
*/
|
|
80
93
|
export interface PITaskRecord extends TaskRecord {
|
|
81
|
-
taskKind:
|
|
94
|
+
taskKind: RunnerKind;
|
|
82
95
|
parentTaskId?: string;
|
|
83
96
|
dependencyTaskIds: string[];
|
|
84
97
|
channel: InternalizationChannel;
|
|
@@ -92,6 +105,10 @@ export interface PITaskRecord extends TaskRecord {
|
|
|
92
105
|
* All valid peer runner kinds. Useful for validation and iteration.
|
|
93
106
|
*/
|
|
94
107
|
export declare const PEER_RUNNER_KINDS: readonly PeerRunnerKind[];
|
|
108
|
+
/**
|
|
109
|
+
* All valid diagnostician stage kinds.
|
|
110
|
+
*/
|
|
111
|
+
export declare const DIAGNOSTICIAN_STAGE_KINDS: readonly DiagnosticianStageKind[];
|
|
95
112
|
/**
|
|
96
113
|
* All valid internalization channels.
|
|
97
114
|
*/
|
|
@@ -104,6 +121,14 @@ export declare const PI_ARTIFACT_KINDS: readonly PIArtifactKind[];
|
|
|
104
121
|
* Type guard for PeerRunnerKind.
|
|
105
122
|
*/
|
|
106
123
|
export declare function isPeerRunnerKind(value: string): value is PeerRunnerKind;
|
|
124
|
+
/**
|
|
125
|
+
* Type guard for DiagnosticianStageKind.
|
|
126
|
+
*/
|
|
127
|
+
export declare function isDiagnosticianStageKind(value: string): value is DiagnosticianStageKind;
|
|
128
|
+
/**
|
|
129
|
+
* Type guard for RunnerKind (either PeerRunnerKind or DiagnosticianStageKind).
|
|
130
|
+
*/
|
|
131
|
+
export declare function isRunnerKind(value: string): value is RunnerKind;
|
|
107
132
|
/**
|
|
108
133
|
* Type guard for InternalizationChannel.
|
|
109
134
|
*/
|
|
@@ -123,7 +148,7 @@ export declare function isTerminalTaskStatus(status: string): boolean;
|
|
|
123
148
|
*
|
|
124
149
|
* Checks that a TaskRecord has all required internalization fields.
|
|
125
150
|
* This is a structural check — the record must have:
|
|
126
|
-
* - taskKind in the set of
|
|
151
|
+
* - taskKind in the set of valid RunnerKind values (PeerRunnerKind or DiagnosticianStageKind)
|
|
127
152
|
* - dependencyTaskIds as array
|
|
128
153
|
* - channel as string (valid InternalizationChannel)
|
|
129
154
|
* - timeoutMs as number
|
|
@@ -150,5 +175,5 @@ export declare function injectRunnerLineageIfAbsent(output: unknown, key: string
|
|
|
150
175
|
* Creates a minimal PITaskRecord for testing purposes.
|
|
151
176
|
* Not for production use — real tasks should be created via RuntimeStateManager.
|
|
152
177
|
*/
|
|
153
|
-
export declare function createMinimalPITaskRecord(taskId: string, taskKind:
|
|
178
|
+
export declare function createMinimalPITaskRecord(taskId: string, taskKind: RunnerKind, channel: InternalizationChannel): PITaskRecord;
|
|
154
179
|
//# sourceMappingURL=peer-runner-contracts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peer-runner-contracts.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/peer-runner-contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIpD;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAC9B,QAAQ,GACR,OAAO,GACP,gBAAgB,GAChB,gBAAgB,GAChB,eAAe,CAAC;AAEpB;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GACtB,SAAS,GACT,aAAa,GACb,QAAQ,GACR,WAAW,GACX,WAAW,GACX,SAAS,GACT,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"peer-runner-contracts.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/peer-runner-contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,14 @@ export const PEER_RUNNER_KINDS = [
|
|
|
26
26
|
'trainer',
|
|
27
27
|
'rollout_reviewer',
|
|
28
28
|
];
|
|
29
|
+
/**
|
|
30
|
+
* All valid diagnostician stage kinds.
|
|
31
|
+
*/
|
|
32
|
+
export const DIAGNOSTICIAN_STAGE_KINDS = [
|
|
33
|
+
'diag_rootcause',
|
|
34
|
+
'diag_distiller',
|
|
35
|
+
'diag_router',
|
|
36
|
+
];
|
|
29
37
|
/**
|
|
30
38
|
* All valid internalization channels.
|
|
31
39
|
*/
|
|
@@ -52,6 +60,18 @@ export const PI_ARTIFACT_KINDS = [
|
|
|
52
60
|
export function isPeerRunnerKind(value) {
|
|
53
61
|
return PEER_RUNNER_KINDS.includes(value);
|
|
54
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Type guard for DiagnosticianStageKind.
|
|
65
|
+
*/
|
|
66
|
+
export function isDiagnosticianStageKind(value) {
|
|
67
|
+
return DIAGNOSTICIAN_STAGE_KINDS.includes(value);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Type guard for RunnerKind (either PeerRunnerKind or DiagnosticianStageKind).
|
|
71
|
+
*/
|
|
72
|
+
export function isRunnerKind(value) {
|
|
73
|
+
return isPeerRunnerKind(value) || isDiagnosticianStageKind(value);
|
|
74
|
+
}
|
|
55
75
|
/**
|
|
56
76
|
* Type guard for InternalizationChannel.
|
|
57
77
|
*/
|
|
@@ -77,7 +97,7 @@ export function isTerminalTaskStatus(status) {
|
|
|
77
97
|
*
|
|
78
98
|
* Checks that a TaskRecord has all required internalization fields.
|
|
79
99
|
* This is a structural check — the record must have:
|
|
80
|
-
* - taskKind in the set of
|
|
100
|
+
* - taskKind in the set of valid RunnerKind values (PeerRunnerKind or DiagnosticianStageKind)
|
|
81
101
|
* - dependencyTaskIds as array
|
|
82
102
|
* - channel as string (valid InternalizationChannel)
|
|
83
103
|
* - timeoutMs as number
|
|
@@ -86,8 +106,8 @@ export function isTerminalTaskStatus(status) {
|
|
|
86
106
|
* - rejectionCount as finite non-negative number (PRI-141)
|
|
87
107
|
*/
|
|
88
108
|
export function isValidPITaskRecord(record) {
|
|
89
|
-
// Must have a valid
|
|
90
|
-
if (!
|
|
109
|
+
// Must have a valid runner kind (PeerRunnerKind or DiagnosticianStageKind)
|
|
110
|
+
if (!isRunnerKind(record.taskKind)) {
|
|
91
111
|
return false;
|
|
92
112
|
}
|
|
93
113
|
// Structural check for internalization fields
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peer-runner-contracts.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/peer-runner-contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"peer-runner-contracts.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/peer-runner-contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,12 +64,12 @@ export declare function parsePITaskMetadata(diagnosticJson: string): PITaskMetad
|
|
|
64
64
|
* Hydrate a raw TaskRecord (as returned by SqliteTaskStore.getTask or listTasks)
|
|
65
65
|
* into a PITaskRecord by reading and parsing its diagnosticJson.
|
|
66
66
|
*
|
|
67
|
-
* Fail-closed: returns null for any non-
|
|
67
|
+
* Fail-closed: returns null for any non-RunnerKind taskKind
|
|
68
68
|
* even if diagnosticJson contains valid pi_metadata. This prevents the
|
|
69
69
|
* InternalizationOrchestrator from treating a non-PI task as a PITaskRecord.
|
|
70
70
|
*
|
|
71
71
|
* Returns null if:
|
|
72
|
-
* - taskKind is not a
|
|
72
|
+
* - taskKind is not a valid RunnerKind (PeerRunnerKind or DiagnosticianStageKind)
|
|
73
73
|
* - diagnosticJson is missing or whitespace
|
|
74
74
|
* - diagnosticJson is not valid JSON
|
|
75
75
|
* - pi_metadata key is missing or invalid
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pitask-metadata.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/pitask-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EACV,YAAY,EACZ,sBAAsB,EACtB,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAGpC,uEAAuE;AACvE,eAAO,MAAM,eAAe,EAAG,aAAsB,CAAC;AAEtD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,EAAE,sBAAsB,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,WAAW,EAAE,CAAC;IACjC,kBAAkB,EAAE,WAAW,EAAE,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAID;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAaxE;AAED,kFAAkF;AAClF,eAAO,MAAM,0BAA0B,gCAA0B,CAAC;AAkBlE;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAgEjF;AAID;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"pitask-metadata.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/pitask-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EACV,YAAY,EACZ,sBAAsB,EACtB,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAGpC,uEAAuE;AACvE,eAAO,MAAM,eAAe,EAAG,aAAsB,CAAC;AAEtD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,EAAE,sBAAsB,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,WAAW,EAAE,CAAC;IACjC,kBAAkB,EAAE,WAAW,EAAE,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAID;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAaxE;AAED,kFAAkF;AAClF,eAAO,MAAM,0BAA0B,gCAA0B,CAAC;AAkBlE;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAgEjF;AAID;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,GAAG,IAAI,CA0BzE"}
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
* @see ADR-0003 Section 3.4
|
|
25
25
|
* @see docs/adr/0003-peer-agent-state-machine-orchestration.md
|
|
26
26
|
*/
|
|
27
|
-
import { isInternalizationChannel,
|
|
27
|
+
import { isInternalizationChannel, isRunnerKind } from './peer-runner-contracts.js';
|
|
28
28
|
/** Namespace key used inside diagnosticJson to isolate PI metadata. */
|
|
29
29
|
export const PI_METADATA_KEY = 'pi_metadata';
|
|
30
30
|
// ── Serialization ──────────────────────────────────────────────────────────────
|
|
@@ -153,12 +153,12 @@ export function parsePITaskMetadata(diagnosticJson) {
|
|
|
153
153
|
* Hydrate a raw TaskRecord (as returned by SqliteTaskStore.getTask or listTasks)
|
|
154
154
|
* into a PITaskRecord by reading and parsing its diagnosticJson.
|
|
155
155
|
*
|
|
156
|
-
* Fail-closed: returns null for any non-
|
|
156
|
+
* Fail-closed: returns null for any non-RunnerKind taskKind
|
|
157
157
|
* even if diagnosticJson contains valid pi_metadata. This prevents the
|
|
158
158
|
* InternalizationOrchestrator from treating a non-PI task as a PITaskRecord.
|
|
159
159
|
*
|
|
160
160
|
* Returns null if:
|
|
161
|
-
* - taskKind is not a
|
|
161
|
+
* - taskKind is not a valid RunnerKind (PeerRunnerKind or DiagnosticianStageKind)
|
|
162
162
|
* - diagnosticJson is missing or whitespace
|
|
163
163
|
* - diagnosticJson is not valid JSON
|
|
164
164
|
* - pi_metadata key is missing or invalid
|
|
@@ -166,8 +166,9 @@ export function parsePITaskMetadata(diagnosticJson) {
|
|
|
166
166
|
* - Optional field present but not a non-empty string
|
|
167
167
|
*/
|
|
168
168
|
export function hydratePITaskRecord(task) {
|
|
169
|
-
// Guard: reject non-
|
|
170
|
-
|
|
169
|
+
// Guard: reject non-runner task kinds — lineage/kind invariant
|
|
170
|
+
// Accept both PeerRunnerKind and DiagnosticianStageKind
|
|
171
|
+
if (!isRunnerKind(task.taskKind))
|
|
171
172
|
return null;
|
|
172
173
|
// Read diagnosticJson from the runtime object (not typed on TaskRecord)
|
|
173
174
|
const raw = task;
|