@principles/core 1.177.3 → 1.177.5

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.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pain-signal-bridge-result-shaping.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pain-signal-bridge-result-shaping.test.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/__tests__/pain-signal-bridge-result-shaping.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,395 @@
1
+ /**
2
+ * PRI-456: Characterization test for PainSignalBridge result-shaping.
3
+ *
4
+ * Pins the full PainSignalBridgeResult status matrix for both:
5
+ * - onDiagnosisComplete() (fresh diagnosis path)
6
+ * - buildExistingResult() (idempotent existing-task path)
7
+ *
8
+ * This test MUST remain green before and after the refactor that extracts
9
+ * a pure shapeBridgeResult() function. If any assertion changes, it is a
10
+ * behavior change — STOP.
11
+ *
12
+ * ERR gate:
13
+ * - ERR-007 / EP-02: single source for status decision (test proves both paths)
14
+ * - ERR-002 / EP-03: every degraded/failed branch keeps its structured message
15
+ * - ERR-004 / ERR-008 / EP-07: lineage fields come from the same source rows
16
+ */
17
+ import { describe, it, expect } from 'vitest';
18
+ import { PainSignalBridge } from '../pain-signal-bridge.js';
19
+ const PAIN_ID = 'pain-char-001';
20
+ const TASK_ID = 'diagnosis_pain-char-001';
21
+ const RUN_ID = 'run-char-1';
22
+ // ── Factory helpers ──────────────────────────────────────────────────────────
23
+ function makeCandidate(id, kind, overrides = {}) {
24
+ return {
25
+ candidateId: id,
26
+ taskId: TASK_ID,
27
+ artifactId: `artifact-${id}`,
28
+ sourceRunId: `run-${id}`,
29
+ title: `Candidate ${id}`,
30
+ description: `Description for ${id}`,
31
+ confidence: 0.85,
32
+ sourceRecommendationJson: '{}',
33
+ recommendationKind: kind,
34
+ status: 'pending',
35
+ createdAt: '2026-06-24T00:00:00.000Z',
36
+ ...overrides,
37
+ };
38
+ }
39
+ function makeLedgerEntry(candidateId) {
40
+ return {
41
+ id: `ledger-${candidateId}`,
42
+ status: 'probation',
43
+ createdAt: '2026-06-24T00:00:00.000Z',
44
+ text: `Principle text for ${candidateId}`,
45
+ sourceRef: `candidate://${candidateId}`,
46
+ title: `Principle ${candidateId}`,
47
+ evaluability: 'weak_heuristic',
48
+ };
49
+ }
50
+ function makeHighConfidenceOutput() {
51
+ return {
52
+ valid: true,
53
+ diagnosisId: 'diag-high',
54
+ summary: 'Valid diagnosis with sufficient evidence',
55
+ rootCause: 'Identified root cause from session trace',
56
+ violatedPrinciples: [],
57
+ evidence: [{ sourceRef: 'session-trace-1', note: 'Owner confirmed behavior' }],
58
+ recommendations: [{ kind: 'principle', description: 'Valid principle from evidence' }],
59
+ confidence: 0.85,
60
+ };
61
+ }
62
+ function makeLowConfidenceOutput() {
63
+ return {
64
+ valid: true,
65
+ diagnosisId: 'diag-low',
66
+ summary: 'Low confidence diagnosis',
67
+ rootCause: 'Insufficient evidence',
68
+ violatedPrinciples: [],
69
+ evidence: [],
70
+ recommendations: [{ kind: 'principle', description: 'Low confidence principle' }],
71
+ confidence: 0.3,
72
+ };
73
+ }
74
+ function makeMockDeps(overrides) {
75
+ const telemetryEvents = [];
76
+ const createTaskCalls = [];
77
+ const updateCandidateStatusCalls = [];
78
+ const createTaskMock = async (input) => {
79
+ createTaskCalls.push(input);
80
+ if (overrides.createTaskFn)
81
+ return overrides.createTaskFn(input);
82
+ return { taskId: 'mock-task' };
83
+ };
84
+ const getTaskMock = overrides.getTaskFn ?? (async () => null);
85
+ const updateCandidateStatusMock = async (candidateId, patch) => {
86
+ updateCandidateStatusCalls.push({ candidateId, patch });
87
+ };
88
+ const stateManager = {
89
+ getTask: getTaskMock,
90
+ createTask: createTaskMock,
91
+ updateTask: async () => undefined,
92
+ getCandidatesByTaskId: async () => overrides.candidates ?? [],
93
+ getRunsByTask: async () => [{ runId: RUN_ID, taskId: TASK_ID, status: 'succeeded' }],
94
+ updateCandidateStatus: updateCandidateStatusMock,
95
+ };
96
+ const intakeService = {
97
+ intake: async (candidateId) => ({ id: `ledger-${candidateId}` }),
98
+ };
99
+ const ledgerEntries = overrides.ledgerEntries ?? new Map();
100
+ const ledgerAdapter = {
101
+ existsForCandidate: (candidateId) => ledgerEntries.get(candidateId) ?? null,
102
+ };
103
+ const runner = {
104
+ run: async () => ({
105
+ status: 'succeeded',
106
+ taskId: TASK_ID,
107
+ attemptCount: 1,
108
+ output: overrides.output ?? makeHighConfidenceOutput(),
109
+ }),
110
+ };
111
+ return {
112
+ stateManager,
113
+ intakeService,
114
+ ledgerAdapter,
115
+ runner,
116
+ telemetryEvents,
117
+ createTaskCalls,
118
+ updateCandidateStatusCalls,
119
+ };
120
+ }
121
+ function createBridge(deps, autoIntakeEnabled = true) {
122
+ return new PainSignalBridge({
123
+ stateManager: deps.stateManager,
124
+ runner: deps.runner,
125
+ intakeService: deps.intakeService,
126
+ ledgerAdapter: deps.ledgerAdapter,
127
+ autoIntakeEnabled,
128
+ eventEmitter: {
129
+ emitTelemetry: (event) => {
130
+ deps.telemetryEvents.push(event);
131
+ },
132
+ },
133
+ });
134
+ }
135
+ const PROVENANCE = 'openclaw_context_bound';
136
+ // ── onDiagnosisComplete() characterization ───────────────────────────────────
137
+ describe('PRI-456: onDiagnosisComplete result-shaping characterization', () => {
138
+ it('succeeded: 1 admitted candidate with ledger entry and successful dreamer seed', async () => {
139
+ const candidates = [makeCandidate('c1', 'principle')];
140
+ const deps = makeMockDeps({ candidates, output: makeHighConfidenceOutput() });
141
+ const bridge = createBridge(deps);
142
+ const result = await bridge.onDiagnosisComplete({
143
+ taskId: TASK_ID,
144
+ diagnosticianOutput: makeHighConfidenceOutput(),
145
+ painId: PAIN_ID,
146
+ provenance: PROVENANCE,
147
+ inputEvidenceCount: 1,
148
+ });
149
+ expect(result.status).toBe('succeeded');
150
+ expect(result.painId).toBe(PAIN_ID);
151
+ expect(result.taskId).toBe(TASK_ID);
152
+ expect(result.runId).toBe(RUN_ID);
153
+ expect(result.artifactId).toBe('artifact-c1');
154
+ expect(result.candidateIds).toEqual(['c1']);
155
+ expect(result.ledgerEntryIds).toEqual(['ledger-c1']);
156
+ expect(result.admissionResults).toBeDefined();
157
+ expect(result.admissionResults).toHaveLength(1);
158
+ expect(result.admissionResults?.[0]?.admission.decision).toBe('admitted');
159
+ expect(result.message).toBeUndefined();
160
+ });
161
+ it('succeeded: autoIntakeEnabled=false — no ledger entries needed', async () => {
162
+ const candidates = [makeCandidate('c1', 'principle')];
163
+ const deps = makeMockDeps({ candidates, output: makeHighConfidenceOutput() });
164
+ const bridge = createBridge(deps, false);
165
+ const result = await bridge.onDiagnosisComplete({
166
+ taskId: TASK_ID,
167
+ diagnosticianOutput: makeHighConfidenceOutput(),
168
+ painId: PAIN_ID,
169
+ provenance: PROVENANCE,
170
+ inputEvidenceCount: 1,
171
+ });
172
+ expect(result.status).toBe('succeeded');
173
+ expect(result.candidateIds).toEqual(['c1']);
174
+ expect(result.ledgerEntryIds).toEqual([]);
175
+ expect(result.admissionResults).toBeDefined();
176
+ expect(result.admissionResults?.[0]?.admission.decision).toBe('admitted');
177
+ expect(result.message).toBeUndefined();
178
+ });
179
+ it('failed: no candidates — "Diagnostician succeeded but produced no principle candidates"', async () => {
180
+ const deps = makeMockDeps({ candidates: [], output: makeHighConfidenceOutput() });
181
+ const bridge = createBridge(deps);
182
+ const result = await bridge.onDiagnosisComplete({
183
+ taskId: TASK_ID,
184
+ diagnosticianOutput: makeHighConfidenceOutput(),
185
+ painId: PAIN_ID,
186
+ provenance: PROVENANCE,
187
+ inputEvidenceCount: 1,
188
+ });
189
+ expect(result.status).toBe('failed');
190
+ expect(result.painId).toBe(PAIN_ID);
191
+ expect(result.taskId).toBe(TASK_ID);
192
+ expect(result.runId).toBe(RUN_ID);
193
+ expect(result.artifactId).toBeUndefined();
194
+ expect(result.candidateIds).toEqual([]);
195
+ expect(result.ledgerEntryIds).toEqual([]);
196
+ expect(result.admissionResults).toEqual([]);
197
+ expect(result.message).toBe('Diagnostician succeeded but produced no principle candidates');
198
+ });
199
+ it('degraded: all_candidates_gated — 1 candidate, low confidence, not admitted', async () => {
200
+ const candidates = [makeCandidate('c-gated', 'principle')];
201
+ const deps = makeMockDeps({ candidates, output: makeLowConfidenceOutput() });
202
+ const bridge = createBridge(deps);
203
+ const result = await bridge.onDiagnosisComplete({
204
+ taskId: TASK_ID,
205
+ diagnosticianOutput: makeLowConfidenceOutput(),
206
+ painId: PAIN_ID,
207
+ provenance: PROVENANCE,
208
+ inputEvidenceCount: 1,
209
+ });
210
+ expect(result.status).toBe('degraded');
211
+ expect(result.candidateIds).toEqual(['c-gated']);
212
+ expect(result.ledgerEntryIds).toEqual([]);
213
+ expect(result.admissionResults).toBeDefined();
214
+ expect(result.admissionResults?.[0]?.admission.decision).toBe('needs_evidence');
215
+ expect(result.message).toContain('all_candidates_gated');
216
+ expect(result.message).toContain('c-gated=needs_evidence');
217
+ });
218
+ it('degraded: partial_admission — 2 candidates, 1 admitted, 1 deferred', async () => {
219
+ // To get partial admission, one candidate must be admitted (principle, high confidence)
220
+ // and one must be non-admitted (defer kind → always deferred regardless of confidence).
221
+ const candidatesPartial = [
222
+ makeCandidate('c-ok', 'principle'),
223
+ makeCandidate('c-defer', 'defer'),
224
+ ];
225
+ const deps = makeMockDeps({ candidates: candidatesPartial, output: makeHighConfidenceOutput() });
226
+ const bridge = createBridge(deps);
227
+ const result = await bridge.onDiagnosisComplete({
228
+ taskId: TASK_ID,
229
+ diagnosticianOutput: makeHighConfidenceOutput(),
230
+ painId: PAIN_ID,
231
+ provenance: PROVENANCE,
232
+ inputEvidenceCount: 1,
233
+ });
234
+ expect(result.status).toBe('degraded');
235
+ expect(result.candidateIds).toEqual(['c-ok', 'c-defer']);
236
+ expect(result.ledgerEntryIds).toEqual(['ledger-c-ok']);
237
+ expect(result.admissionResults).toBeDefined();
238
+ expect(result.admissionResults).toHaveLength(2);
239
+ const admitted = result.admissionResults?.find((a) => a.candidateId === 'c-ok');
240
+ expect(admitted?.admission.decision).toBe('admitted');
241
+ const deferred = result.admissionResults?.find((a) => a.candidateId === 'c-defer');
242
+ expect(deferred?.admission.decision).toBe('deferred');
243
+ expect(result.message).toContain('partial_admission');
244
+ expect(result.message).toContain('1_admitted_1_gated');
245
+ });
246
+ it('degraded: dreamer_seed_failed — admitted candidate, ledger created, dreamer seed throws', async () => {
247
+ const candidates = [makeCandidate('c-fail', 'principle')];
248
+ const deps = makeMockDeps({
249
+ candidates,
250
+ output: makeHighConfidenceOutput(),
251
+ createTaskFn: async (input) => {
252
+ if (input.taskKind === 'dreamer')
253
+ throw new Error('DB write failed');
254
+ return { taskId: input.taskId ?? 'mock-task' };
255
+ },
256
+ });
257
+ const bridge = createBridge(deps);
258
+ const result = await bridge.onDiagnosisComplete({
259
+ taskId: TASK_ID,
260
+ diagnosticianOutput: makeHighConfidenceOutput(),
261
+ painId: PAIN_ID,
262
+ provenance: PROVENANCE,
263
+ inputEvidenceCount: 1,
264
+ });
265
+ expect(result.status).toBe('degraded');
266
+ expect(result.candidateIds).toEqual(['c-fail']);
267
+ expect(result.ledgerEntryIds).toEqual(['ledger-c-fail']);
268
+ expect(result.message).toContain('dreamer_seed_failed:c-fail');
269
+ // The candidate should still be consumed despite seed failure
270
+ const consumedCall = deps.updateCandidateStatusCalls.find((c) => c.candidateId === 'c-fail');
271
+ expect(consumedCall).toBeDefined();
272
+ expect(consumedCall?.patch).toEqual({ status: 'consumed' });
273
+ });
274
+ it('degraded: all_candidates_gated with seed failure note appended', async () => {
275
+ // When all candidates are gated AND a seed failure occurs (shouldn't normally happen
276
+ // since seed only runs for admitted candidates, but test the message format)
277
+ const candidates = [makeCandidate('c-gated', 'principle')];
278
+ const deps = makeMockDeps({
279
+ candidates,
280
+ output: makeLowConfidenceOutput(),
281
+ });
282
+ const bridge = createBridge(deps);
283
+ const result = await bridge.onDiagnosisComplete({
284
+ taskId: TASK_ID,
285
+ diagnosticianOutput: makeLowConfidenceOutput(),
286
+ painId: PAIN_ID,
287
+ provenance: PROVENANCE,
288
+ inputEvidenceCount: 1,
289
+ });
290
+ // All gated → degraded, no seed failure (no admitted candidates to seed)
291
+ expect(result.status).toBe('degraded');
292
+ expect(result.message).toContain('all_candidates_gated');
293
+ expect(result.message).not.toContain('dreamer_seed_failed');
294
+ });
295
+ it('diagnosticianOutput=undefined: all candidates get needs_evidence → all_candidates_gated', async () => {
296
+ const candidates = [makeCandidate('c-undef', 'principle')];
297
+ const deps = makeMockDeps({ candidates });
298
+ const bridge = createBridge(deps);
299
+ const result = await bridge.onDiagnosisComplete({
300
+ taskId: TASK_ID,
301
+ diagnosticianOutput: undefined,
302
+ painId: PAIN_ID,
303
+ provenance: PROVENANCE,
304
+ inputEvidenceCount: 1,
305
+ });
306
+ expect(result.status).toBe('degraded');
307
+ expect(result.admissionResults).toBeDefined();
308
+ expect(result.admissionResults?.[0]?.admission.decision).toBe('needs_evidence');
309
+ expect(result.admissionResults?.[0]?.admission.reason).toBe('diagnostician_output_unavailable');
310
+ expect(result.message).toContain('all_candidates_gated');
311
+ });
312
+ });
313
+ // ── buildExistingResult() characterization ───────────────────────────────────
314
+ describe('PRI-456: buildExistingResult result-shaping characterization', () => {
315
+ it('succeeded: existing task with candidates and ledger entries', async () => {
316
+ const candidates = [makeCandidate('c1', 'principle')];
317
+ const ledgerEntries = new Map([['c1', makeLedgerEntry('c1')]]);
318
+ const deps = makeMockDeps({ candidates, ledgerEntries });
319
+ const bridge = createBridge(deps);
320
+ const result = await bridge.buildExistingResult({
321
+ painId: PAIN_ID,
322
+ taskId: TASK_ID,
323
+ });
324
+ expect(result.status).toBe('succeeded');
325
+ expect(result.painId).toBe(PAIN_ID);
326
+ expect(result.taskId).toBe(TASK_ID);
327
+ expect(result.runId).toBe(RUN_ID);
328
+ expect(result.artifactId).toBe('artifact-c1');
329
+ expect(result.candidateIds).toEqual(['c1']);
330
+ expect(result.ledgerEntryIds).toEqual(['ledger-c1']);
331
+ expect(result.message).toBe('Task already succeeded');
332
+ });
333
+ it('succeeded: autoIntakeEnabled=false — no ledger entries needed', async () => {
334
+ const candidates = [makeCandidate('c1', 'principle')];
335
+ const deps = makeMockDeps({ candidates, ledgerEntries: new Map() });
336
+ const bridge = createBridge(deps, false);
337
+ const result = await bridge.buildExistingResult({
338
+ painId: PAIN_ID,
339
+ taskId: TASK_ID,
340
+ });
341
+ expect(result.status).toBe('succeeded');
342
+ expect(result.candidateIds).toEqual(['c1']);
343
+ expect(result.ledgerEntryIds).toEqual([]);
344
+ expect(result.message).toBe('Task already succeeded');
345
+ });
346
+ it('failed: no candidates — "Task has no principle candidates — treating as failed"', async () => {
347
+ const deps = makeMockDeps({ candidates: [], ledgerEntries: new Map() });
348
+ const bridge = createBridge(deps);
349
+ const result = await bridge.buildExistingResult({
350
+ painId: PAIN_ID,
351
+ taskId: TASK_ID,
352
+ });
353
+ expect(result.status).toBe('failed');
354
+ expect(result.painId).toBe(PAIN_ID);
355
+ expect(result.taskId).toBe(TASK_ID);
356
+ expect(result.runId).toBe(RUN_ID);
357
+ expect(result.artifactId).toBeUndefined();
358
+ expect(result.candidateIds).toEqual([]);
359
+ expect(result.ledgerEntryIds).toEqual([]);
360
+ expect(result.message).toBe('Task has no principle candidates — treating as failed');
361
+ });
362
+ it('failed: no ledger entries with autoIntakeEnabled=true', async () => {
363
+ const candidates = [makeCandidate('c1', 'principle')];
364
+ const deps = makeMockDeps({ candidates, ledgerEntries: new Map() });
365
+ const bridge = createBridge(deps);
366
+ const result = await bridge.buildExistingResult({
367
+ painId: PAIN_ID,
368
+ taskId: TASK_ID,
369
+ });
370
+ expect(result.status).toBe('failed');
371
+ expect(result.runId).toBe(RUN_ID);
372
+ expect(result.artifactId).toBe('artifact-c1');
373
+ expect(result.candidateIds).toEqual(['c1']);
374
+ expect(result.ledgerEntryIds).toEqual([]);
375
+ expect(result.message).toBe('Candidate intake did not produce a ledger entry — treating as failed');
376
+ });
377
+ it('multiple candidates with mixed ledger existence — only existing ledgers counted', async () => {
378
+ const candidates = [
379
+ makeCandidate('c1', 'principle'),
380
+ makeCandidate('c2', 'principle'),
381
+ ];
382
+ const ledgerEntries = new Map([['c1', makeLedgerEntry('c1')]]);
383
+ const deps = makeMockDeps({ candidates, ledgerEntries });
384
+ const bridge = createBridge(deps);
385
+ const result = await bridge.buildExistingResult({
386
+ painId: PAIN_ID,
387
+ taskId: TASK_ID,
388
+ });
389
+ expect(result.status).toBe('succeeded');
390
+ expect(result.candidateIds).toEqual(['c1', 'c2']);
391
+ expect(result.ledgerEntryIds).toEqual(['ledger-c1']);
392
+ expect(result.message).toBe('Task already succeeded');
393
+ });
394
+ });
395
+ //# sourceMappingURL=pain-signal-bridge-result-shaping.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pain-signal-bridge-result-shaping.test.js","sourceRoot":"","sources":["../../../src/runtime-v2/__tests__/pain-signal-bridge-result-shaping.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * PRI-456: Pure result-shaping function for PainSignalBridge.
3
+ *
4
+ * Extracts the duplicated status-decision tree from:
5
+ * - PainSignalBridge.onDiagnosisComplete() (fresh diagnosis path)
6
+ * - PainSignalBridge.buildExistingResult() (idempotent existing-task path)
7
+ *
8
+ * Both paths decide: no candidates → failed; admitted-but-no-ledger → failed;
9
+ * gated/partial → degraded; otherwise succeeded. But they differ in message
10
+ * strings and the fresh path has admission results + degraded states.
11
+ *
12
+ * This function is pure: zero I/O, zero side effects. Callers pass all
13
+ * computed values; the function never re-derives lineage fields.
14
+ *
15
+ * ERR gate:
16
+ * - ERR-007 / EP-02: single source for status decision — branches can't diverge
17
+ * - ERR-002 / EP-03: every degraded/failed branch keeps its structured message
18
+ * - ERR-004 / ERR-008 / EP-07: lineage fields are received, never re-derived
19
+ */
20
+ import type { PainSignalBridgeResult } from './pain-signal-bridge.js';
21
+ import type { CandidateAdmissionResult } from './admission-gate.js';
22
+ /** Base fields shared by both fresh and existing paths. */
23
+ interface ShapeBridgeResultBase {
24
+ painId: string;
25
+ taskId: string;
26
+ candidateIds: string[];
27
+ ledgerEntryIds: string[];
28
+ runId?: string;
29
+ artifactId?: string;
30
+ autoIntakeEnabled: boolean;
31
+ }
32
+ /** Fresh diagnosis path — has admission results and seed failure notes. */
33
+ export interface ShapeBridgeResultFreshInput extends ShapeBridgeResultBase {
34
+ path: 'fresh';
35
+ admissionResults: CandidateAdmissionResult[];
36
+ /** Non-empty string when dreamer seed failed; empty string otherwise. */
37
+ seedFailureNote: string;
38
+ }
39
+ /** Existing-task idempotent path — ledger-existence-derived, no admissions. */
40
+ export interface ShapeBridgeResultExistingInput extends ShapeBridgeResultBase {
41
+ path: 'existing';
42
+ }
43
+ export type ShapeBridgeResultInput = ShapeBridgeResultFreshInput | ShapeBridgeResultExistingInput;
44
+ /**
45
+ * Derive the final PainSignalBridgeResult from computed inputs.
46
+ *
47
+ * Byte-for-byte identical to the original inline logic in both call sites.
48
+ * The `path` discriminator selects the appropriate message strings and
49
+ * decision branches.
50
+ */
51
+ export declare function shapeBridgeResult(input: ShapeBridgeResultInput): PainSignalBridgeResult;
52
+ export {};
53
+ //# sourceMappingURL=bridge-result-shaper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge-result-shaper.d.ts","sourceRoot":"","sources":["../../src/runtime-v2/bridge-result-shaper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAEpE,2DAA2D;AAC3D,UAAU,qBAAqB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,2EAA2E;AAC3E,MAAM,WAAW,2BAA4B,SAAQ,qBAAqB;IACxE,IAAI,EAAE,OAAO,CAAC;IACd,gBAAgB,EAAE,wBAAwB,EAAE,CAAC;IAC7C,yEAAyE;IACzE,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,+EAA+E;AAC/E,MAAM,WAAW,8BAA+B,SAAQ,qBAAqB;IAC3E,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,MAAM,sBAAsB,GAC9B,2BAA2B,GAC3B,8BAA8B,CAAC;AAEnC;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,sBAAsB,CAoHvF"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Derive the final PainSignalBridgeResult from computed inputs.
3
+ *
4
+ * Byte-for-byte identical to the original inline logic in both call sites.
5
+ * The `path` discriminator selects the appropriate message strings and
6
+ * decision branches.
7
+ */
8
+ export function shapeBridgeResult(input) {
9
+ const { painId, taskId, candidateIds, ledgerEntryIds, runId, artifactId, autoIntakeEnabled } = input;
10
+ // Common: no candidates → failed (message differs by path)
11
+ if (candidateIds.length === 0) {
12
+ if (input.path === 'fresh') {
13
+ return {
14
+ status: 'failed',
15
+ painId,
16
+ taskId,
17
+ runId,
18
+ candidateIds,
19
+ ledgerEntryIds,
20
+ admissionResults: input.admissionResults,
21
+ message: 'Diagnostician succeeded but produced no principle candidates',
22
+ };
23
+ }
24
+ return {
25
+ status: 'failed',
26
+ painId,
27
+ taskId,
28
+ runId,
29
+ candidateIds,
30
+ ledgerEntryIds,
31
+ message: 'Task has no principle candidates — treating as failed',
32
+ };
33
+ }
34
+ if (input.path === 'fresh') {
35
+ const { admissionResults, seedFailureNote } = input;
36
+ const admittedCount = admissionResults.filter((a) => a.admission.decision === 'admitted').length;
37
+ const nonAdmittedCount = admissionResults.length - admittedCount;
38
+ // Admitted candidates exist but intake produced no ledger entries
39
+ if (autoIntakeEnabled && admittedCount > 0 && ledgerEntryIds.length === 0) {
40
+ return {
41
+ status: 'failed',
42
+ painId,
43
+ taskId,
44
+ runId,
45
+ artifactId,
46
+ candidateIds,
47
+ ledgerEntryIds,
48
+ admissionResults,
49
+ message: 'Candidate intake did not produce a ledger entry',
50
+ };
51
+ }
52
+ // All candidates gated (none admitted)
53
+ if (nonAdmittedCount > 0 && admittedCount === 0) {
54
+ return {
55
+ status: 'degraded',
56
+ painId,
57
+ taskId,
58
+ runId,
59
+ artifactId,
60
+ candidateIds,
61
+ ledgerEntryIds,
62
+ admissionResults,
63
+ message: `all_candidates_gated:${admissionResults.map((a) => `${a.candidateId}=${a.admission.decision}`).join(',')}${seedFailureNote ? `; ${seedFailureNote}` : ''}`,
64
+ };
65
+ }
66
+ // Partial admission (some admitted, some gated)
67
+ if (nonAdmittedCount > 0 && admittedCount > 0) {
68
+ return {
69
+ status: 'degraded',
70
+ painId,
71
+ taskId,
72
+ runId,
73
+ artifactId,
74
+ candidateIds,
75
+ ledgerEntryIds,
76
+ admissionResults,
77
+ message: `partial_admission:${admittedCount}_admitted_${nonAdmittedCount}_gated${seedFailureNote ? `; ${seedFailureNote}` : ''}`,
78
+ };
79
+ }
80
+ // Success (or degraded if seed failure occurred)
81
+ return {
82
+ status: seedFailureNote ? 'degraded' : 'succeeded',
83
+ painId,
84
+ taskId,
85
+ runId,
86
+ artifactId,
87
+ candidateIds,
88
+ ledgerEntryIds,
89
+ admissionResults,
90
+ message: seedFailureNote || undefined,
91
+ };
92
+ }
93
+ // Existing path: no admission results, simpler decision tree
94
+ if (autoIntakeEnabled && ledgerEntryIds.length === 0) {
95
+ return {
96
+ status: 'failed',
97
+ painId,
98
+ taskId,
99
+ runId,
100
+ artifactId,
101
+ candidateIds,
102
+ ledgerEntryIds,
103
+ message: 'Candidate intake did not produce a ledger entry — treating as failed',
104
+ };
105
+ }
106
+ return {
107
+ status: 'succeeded',
108
+ painId,
109
+ taskId,
110
+ runId,
111
+ artifactId,
112
+ candidateIds,
113
+ ledgerEntryIds,
114
+ message: 'Task already succeeded',
115
+ };
116
+ }
117
+ //# sourceMappingURL=bridge-result-shaper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge-result-shaper.js","sourceRoot":"","sources":["../../src/runtime-v2/bridge-result-shaper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=c2-live-runner-chain.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"c2-live-runner-chain.test.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/internalization/__tests__/c2-live-runner-chain.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,306 @@
1
+ /**
2
+ * C2-P0 Pinning Test: Live MVP Runner Chain (PRI-457)
3
+ *
4
+ * Asserts the actual successor task chain created in the real store matches
5
+ * the documented live runner chain for each MVP activation channel.
6
+ *
7
+ * ERR Gate:
8
+ * - ERR-004 / ERR-008 / EP-07: successor task kinds are read from the real
9
+ * store after commitNextTaskProposal, not inferred from ALLOWED_EDGES.
10
+ * - EP-09: uses real InternalizationOrchestrator + RuntimeStateManager (SQLite),
11
+ * not a hand-written expected-edge list.
12
+ *
13
+ * This test is the regression guard for C2-P2 (de-surface Quiet runners).
14
+ * If the live chain ever diverges from the documented MVP chain, CI fails.
15
+ */
16
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
17
+ import * as fs from 'fs';
18
+ import * as path from 'path';
19
+ import * as os from 'os';
20
+ import { RuntimeStateManager } from '../../store/runtime-state-manager.js';
21
+ import { InternalizationOrchestrator } from '../internalization-orchestrator.js';
22
+ import { buildDreamerTaskSeed, computeBridgeDecision, } from '../intake-to-internalization-bridge.js';
23
+ // ── Test constants ───────────────────────────────────────────────────────────
24
+ const OWNER = 'test-c2-p0';
25
+ const RUNTIME_KIND = 'test-double';
26
+ /**
27
+ * The expected live runner chain under default config, per channel.
28
+ *
29
+ * This is the ASSERTION target — the test verifies that the real store
30
+ * contains these successor task kinds after each commitNextTaskProposal call.
31
+ *
32
+ * Source: docs/plans/2026-06-mvp-slimming-candidates-1-2/c2-live-runner-chain.md
33
+ */
34
+ const EXPECTED_CHAIN = [
35
+ 'dreamer',
36
+ 'philosopher',
37
+ 'scribe',
38
+ 'artificer',
39
+ 'evaluator',
40
+ 'rollout_reviewer',
41
+ ];
42
+ /**
43
+ * Seed a dreamer task through the real intake bridge path.
44
+ *
45
+ * Uses buildDreamerTaskSeed (the same function the production intake bridge
46
+ * calls) to generate the diagnosticJson, then creates the task in the real
47
+ * store. This is the real seeding path — not a hand-built task record.
48
+ */
49
+ async function seedDreamerTask(stateManager, options) {
50
+ const { candidateId, channel, sourceTaskId } = options;
51
+ const bridgeInput = {
52
+ candidateId,
53
+ recommendationKind: channel === 'code_tool_hook' ? 'rule' : 'principle',
54
+ route: channel === 'code_tool_hook' ? 'rule-candidate' : 'principle-ledger',
55
+ ready: true,
56
+ sourceTaskId,
57
+ sourceArtifactId: sourceTaskId ? `art-${sourceTaskId}` : undefined,
58
+ sourceRunId: sourceTaskId ? `run-${sourceTaskId}` : undefined,
59
+ };
60
+ const seed = buildDreamerTaskSeed(bridgeInput);
61
+ if ('decision' in seed) {
62
+ // BridgeDecision has 4 variants; only not_internalizable/invalid_candidate carry reason.
63
+ const reason = 'reason' in seed ? seed.reason : seed.decision;
64
+ throw new Error(`Failed to seed dreamer task: ${reason}`);
65
+ }
66
+ await stateManager.createTask({
67
+ taskId: seed.taskId,
68
+ taskKind: seed.taskKind,
69
+ status: seed.status,
70
+ attemptCount: seed.attemptCount,
71
+ maxAttempts: seed.maxAttempts,
72
+ diagnosticJson: seed.diagnosticJson,
73
+ inputRef: undefined,
74
+ resultRef: undefined,
75
+ lastError: undefined,
76
+ leaseOwner: undefined,
77
+ leaseExpiresAt: undefined,
78
+ });
79
+ return seed.taskId;
80
+ }
81
+ /**
82
+ * Transition a task from pending → leased → succeeded.
83
+ *
84
+ * This simulates what the auto-consumer / CLI does when a runner completes
85
+ * successfully. The orchestrator's commitNextTaskProposal requires the source
86
+ * task to be in 'succeeded' status.
87
+ */
88
+ async function simulateTaskSuccess(stateManager, taskId) {
89
+ await stateManager.acquireLease({
90
+ taskId,
91
+ owner: OWNER,
92
+ runtimeKind: RUNTIME_KIND,
93
+ });
94
+ await stateManager.markTaskSucceeded(taskId);
95
+ }
96
+ /**
97
+ * Read the actual successor task from the store after commitNextTaskProposal.
98
+ *
99
+ * EP-07 compliance: reads the REAL successor record from the store, not a
100
+ * hand-written expected value. The assertion compares the actual taskKind
101
+ * from the store against the expected chain.
102
+ */
103
+ async function readActualSuccessor(stateManager, successorTaskId) {
104
+ const task = await stateManager.getTask(successorTaskId);
105
+ if (!task) {
106
+ throw new Error(`Successor task ${successorTaskId} not found in store`);
107
+ }
108
+ return {
109
+ taskId: task.taskId,
110
+ taskKind: task.taskKind,
111
+ status: task.status,
112
+ };
113
+ }
114
+ /**
115
+ * Walk the full successor chain from a seeded dreamer task, returning the
116
+ * actual task kinds observed in the store.
117
+ *
118
+ * EP-07: every successor is read from the real store via readActualSuccessor.
119
+ */
120
+ async function walkFullChain(stateManager, orchestrator, dreamerTaskId) {
121
+ let currentTaskId = dreamerTaskId;
122
+ const actualChain = ['dreamer'];
123
+ for (let i = 0; i < EXPECTED_CHAIN.length - 1; i++) {
124
+ const expectedNextKind = EXPECTED_CHAIN[i + 1];
125
+ if (!expectedNextKind) {
126
+ throw new Error(`EXPECTED_CHAIN[${i + 1}] is undefined`);
127
+ }
128
+ await simulateTaskSuccess(stateManager, currentTaskId);
129
+ const commitResult = await orchestrator.commitNextTaskProposal(currentTaskId);
130
+ if (commitResult.decision !== 'successor_created') {
131
+ throw new Error(`Expected successor_created at chain step ${i}, got ${commitResult.decision}`);
132
+ }
133
+ expect(commitResult.successorKind).toBe(expectedNextKind);
134
+ const actualSuccessor = await readActualSuccessor(stateManager, commitResult.successorTaskId);
135
+ expect(actualSuccessor.taskKind).toBe(expectedNextKind);
136
+ expect(actualSuccessor.status).toBe('pending');
137
+ actualChain.push(actualSuccessor.taskKind);
138
+ currentTaskId = commitResult.successorTaskId;
139
+ }
140
+ // Terminal runner has no successor
141
+ await simulateTaskSuccess(stateManager, currentTaskId);
142
+ const terminalCommit = await orchestrator.commitNextTaskProposal(currentTaskId);
143
+ expect(terminalCommit.decision).toBe('no_successor');
144
+ return actualChain;
145
+ }
146
+ // ── Tests ────────────────────────────────────────────────────────────────────
147
+ describe('PRI-457 C2-P0: Live MVP runner chain pinning test', () => {
148
+ let tmpDir;
149
+ let stateManager;
150
+ let orchestrator;
151
+ beforeEach(async () => {
152
+ tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'pd-c2-p0-chain-'));
153
+ stateManager = new RuntimeStateManager({ workspaceDir: tmpDir });
154
+ await stateManager.initialize();
155
+ orchestrator = new InternalizationOrchestrator({ stateManager }, { owner: OWNER, runtimeKind: RUNTIME_KIND, dryRun: true });
156
+ });
157
+ afterEach(async () => {
158
+ await stateManager.close();
159
+ fs.rmSync(tmpDir, { recursive: true, force: true });
160
+ });
161
+ // ── Channel: prompt ──────────────────────────────────────────────────────
162
+ it('prompt channel: full successor chain dreamer→philosopher→scribe→artificer→evaluator→rollout_reviewer', async () => {
163
+ const dreamerTaskId = await seedDreamerTask(stateManager, {
164
+ candidateId: `cand-prompt-${Date.now()}`,
165
+ channel: 'prompt',
166
+ });
167
+ const dreamerTask = await stateManager.getTask(dreamerTaskId);
168
+ expect(dreamerTask).not.toBeNull();
169
+ if (!dreamerTask) {
170
+ throw new Error('Dreamer task not found after seeding');
171
+ }
172
+ expect(dreamerTask.taskKind).toBe('dreamer');
173
+ const actualChain = await walkFullChain(stateManager, orchestrator, dreamerTaskId);
174
+ expect(actualChain).toEqual(EXPECTED_CHAIN);
175
+ });
176
+ // ── Channel: code_tool_hook ──────────────────────────────────────────────
177
+ it('code_tool_hook channel: full successor chain dreamer→philosopher→scribe→artificer→evaluator→rollout_reviewer', async () => {
178
+ const dreamerTaskId = await seedDreamerTask(stateManager, {
179
+ candidateId: `cand-hook-${Date.now()}`,
180
+ channel: 'code_tool_hook',
181
+ });
182
+ const dreamerTask = await stateManager.getTask(dreamerTaskId);
183
+ expect(dreamerTask).not.toBeNull();
184
+ if (!dreamerTask) {
185
+ throw new Error('Dreamer task not found after seeding');
186
+ }
187
+ expect(dreamerTask.taskKind).toBe('dreamer');
188
+ const actualChain = await walkFullChain(stateManager, orchestrator, dreamerTaskId);
189
+ expect(actualChain).toEqual(EXPECTED_CHAIN);
190
+ });
191
+ // ── Channel: defer_archive ───────────────────────────────────────────────
192
+ it('defer_archive channel: no route maps to defer_archive — no dreamer task seeded', async () => {
193
+ // The intake bridge has NO route that maps to the defer_archive channel.
194
+ // defer recommendations return 'not_internalizable' at computeBridgeDecision.
195
+ // Use ready: true so the code reaches the route check (not the !ready early exit).
196
+ const bridgeInput = {
197
+ candidateId: `cand-defer-${Date.now()}`,
198
+ recommendationKind: 'defer',
199
+ route: 'deferred',
200
+ ready: true,
201
+ };
202
+ const decision = computeBridgeDecision(bridgeInput);
203
+ expect(decision.decision).toBe('not_internalizable');
204
+ // Verify the rejection is specifically because the route is deferred,
205
+ // not because of a missing ready flag or unknown route.
206
+ if (!('reason' in decision)) {
207
+ throw new Error('Expected not_internalizable decision to have a reason field');
208
+ }
209
+ expect(decision.reason).toContain('deferred');
210
+ // No dreamer task is seeded — no runners run for defer_archive
211
+ // through the internalization pipeline.
212
+ });
213
+ // ── Cross-channel: successor inherits channel from parent ─────────────────
214
+ it('successor tasks inherit the channel from the parent task', async () => {
215
+ for (const channel of ['prompt', 'code_tool_hook']) {
216
+ const dreamerTaskId = await seedDreamerTask(stateManager, {
217
+ candidateId: `cand-${channel}-inherit-${Date.now()}`,
218
+ channel,
219
+ });
220
+ await simulateTaskSuccess(stateManager, dreamerTaskId);
221
+ const commitResult = await orchestrator.commitNextTaskProposal(dreamerTaskId);
222
+ if (commitResult.decision !== 'successor_created') {
223
+ throw new Error(`Expected successor_created, got ${commitResult.decision}`);
224
+ }
225
+ expect(commitResult.successorKind).toBe('philosopher');
226
+ // Read the actual successor and verify its channel via hydrated metadata
227
+ const successorTask = await stateManager.getTask(commitResult.successorTaskId);
228
+ expect(successorTask).not.toBeNull();
229
+ if (!successorTask) {
230
+ throw new Error(`Successor task ${commitResult.successorTaskId} not found`);
231
+ }
232
+ expect(successorTask.diagnosticJson).toBeDefined();
233
+ // Parse the PI metadata to verify channel inheritance
234
+ // Runtime Contract #2/#5: no `as` on untrusted data; use typeof + Object.hasOwn
235
+ const diagJson = successorTask.diagnosticJson;
236
+ if (!diagJson) {
237
+ throw new Error('Successor task diagnosticJson is empty');
238
+ }
239
+ const parsed = JSON.parse(diagJson);
240
+ if (typeof parsed !== 'object' || parsed === null) {
241
+ throw new Error('diagnosticJson is not an object');
242
+ }
243
+ if (!Object.hasOwn(parsed, 'pi_metadata')) {
244
+ throw new Error('pi_metadata key not found in successor diagnosticJson');
245
+ }
246
+ const piMeta = parsed.pi_metadata;
247
+ if (typeof piMeta !== 'object' || piMeta === null) {
248
+ throw new Error('pi_metadata is not an object');
249
+ }
250
+ if (!Object.hasOwn(piMeta, 'channel')) {
251
+ throw new Error('pi_metadata.channel is missing');
252
+ }
253
+ const channelValue = piMeta.channel;
254
+ expect(channelValue).toBe(channel);
255
+ }
256
+ });
257
+ // ── Edge validation: validateEdge does not filter by channel ──────────────
258
+ it('validateEdge returns true for all peer runner edges regardless of channel', async () => {
259
+ // This documents that the job graph does NOT filter by channel.
260
+ // The _channel parameter in validateEdge is unused.
261
+ // This is a key finding for C2-P2: channel-based runner skipping does NOT
262
+ // happen at the job graph level.
263
+ const { validateEdge } = await import('../internalization-job-graph.js');
264
+ const edges = [
265
+ ['dreamer', 'philosopher'],
266
+ ['philosopher', 'scribe'],
267
+ ['scribe', 'artificer'],
268
+ ['artificer', 'evaluator'],
269
+ ['evaluator', 'rollout_reviewer'],
270
+ ];
271
+ for (const [from, to] of edges) {
272
+ expect(validateEdge(from, to, 'prompt')).toBe(true);
273
+ expect(validateEdge(from, to, 'code_tool_hook')).toBe(true);
274
+ expect(validateEdge(from, to, 'defer_archive')).toBe(true);
275
+ }
276
+ });
277
+ // ── Config defaults: document the DEFAULT_AGENT_ENABLED values ────────────
278
+ it('DEFAULT_AGENT_ENABLED: dreamer+scribe+artificer on; philosopher+evaluator+rolloutReviewer off', async () => {
279
+ // This pins the config defaults that the trace doc relies on.
280
+ // If these defaults change, the Core/Quiet classification must be re-evaluated.
281
+ const { getDefaultInternalAgents } = await import('../../config/pd-config-defaults.js');
282
+ const agents = getDefaultInternalAgents();
283
+ expect(agents.agents.dreamer.enabled).toBe(true);
284
+ expect(agents.agents.philosopher.enabled).toBe(false);
285
+ expect(agents.agents.scribe.enabled).toBe(true);
286
+ expect(agents.agents.artificer.enabled).toBe(true);
287
+ expect(agents.agents.evaluator.enabled).toBe(false);
288
+ expect(agents.agents.rolloutReviewer.enabled).toBe(false);
289
+ });
290
+ // ── MVP_CORE_TASK_KINDS excludes rollout_reviewer ─────────────────────────
291
+ it('MVP_CORE_TASK_KINDS excludes rollout_reviewer', async () => {
292
+ const { MVP_CORE_TASK_KINDS } = await import('../queue-actionability.js');
293
+ expect(MVP_CORE_TASK_KINDS).toContain('dreamer');
294
+ expect(MVP_CORE_TASK_KINDS).toContain('philosopher');
295
+ expect(MVP_CORE_TASK_KINDS).toContain('scribe');
296
+ expect(MVP_CORE_TASK_KINDS).toContain('artificer');
297
+ expect(MVP_CORE_TASK_KINDS).toContain('evaluator');
298
+ expect(MVP_CORE_TASK_KINDS).not.toContain('rollout_reviewer');
299
+ });
300
+ // ── DEFAULT_CONSUMER_RUNNER_KINDS is dreamer-only ────────────────────────
301
+ it('DEFAULT_CONSUMER_RUNNER_KINDS is dreamer-only', async () => {
302
+ const { DEFAULT_CONSUMER_RUNNER_KINDS } = await import('../internalization-consumer-decision.js');
303
+ expect(DEFAULT_CONSUMER_RUNNER_KINDS).toEqual(['dreamer']);
304
+ });
305
+ });
306
+ //# sourceMappingURL=c2-live-runner-chain.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"c2-live-runner-chain.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/internalization/__tests__/c2-live-runner-chain.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pain-signal-bridge.d.ts","sourceRoot":"","sources":["../../src/runtime-v2/pain-signal-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pain-signal-bridge.d.ts","sourceRoot":"","sources":["../../src/runtime-v2/pain-signal-bridge.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { evaluateCandidateAdmissions } from './admission-gate.js';
2
2
  import { shouldShortCircuitEmptyEvidence } from './evidence-guards.js';
3
3
  import { buildDreamerSeedFromCandidate, ROUTE_CHANNEL_MAP, MVP_ENABLED_CHANNELS, CANDIDATE_KIND_TO_ROUTE } from './internalization/intake-to-internalization-bridge.js';
4
+ import { shapeBridgeResult } from './bridge-result-shaper.js';
4
5
  /** PRI-359: Increased from 4 to 8 to accommodate failed tool_calls evidence */
5
6
  export const MAX_EVIDENCE_ENTRIES = 8;
6
7
  export const MAX_EVIDENCE_NOTE_CHARS = 200;
@@ -264,70 +265,18 @@ export class PainSignalBridge {
264
265
  const latestRun = runs.at(-1);
265
266
  const firstCandidate = candidates.at(0);
266
267
  const candidateIds = candidates.map((candidate) => candidate.candidateId);
267
- if (candidateIds.length === 0) {
268
- return {
269
- status: 'failed',
270
- painId,
271
- taskId,
272
- runId: latestRun?.runId,
273
- candidateIds,
274
- ledgerEntryIds,
275
- admissionResults,
276
- message: 'Diagnostician succeeded but produced no principle candidates',
277
- };
278
- }
279
- const admittedCount = admissionResults.filter((a) => a.admission.decision === 'admitted').length;
280
- const nonAdmittedCount = admissionResults.length - admittedCount;
281
- if (this.autoIntakeEnabled && admittedCount > 0 && ledgerEntryIds.length === 0) {
282
- return {
283
- status: 'failed',
284
- painId,
285
- taskId,
286
- runId: latestRun?.runId,
287
- artifactId: firstCandidate?.artifactId,
288
- candidateIds,
289
- ledgerEntryIds,
290
- admissionResults,
291
- message: 'Candidate intake did not produce a ledger entry',
292
- };
293
- }
294
- if (nonAdmittedCount > 0 && admittedCount === 0) {
295
- return {
296
- status: 'degraded',
297
- painId,
298
- taskId,
299
- runId: latestRun?.runId,
300
- artifactId: firstCandidate?.artifactId,
301
- candidateIds,
302
- ledgerEntryIds,
303
- admissionResults,
304
- message: `all_candidates_gated:${admissionResults.map((a) => `${a.candidateId}=${a.admission.decision}`).join(',')}${seedFailureNote ? `; ${seedFailureNote}` : ''}`,
305
- };
306
- }
307
- if (nonAdmittedCount > 0 && admittedCount > 0) {
308
- return {
309
- status: 'degraded',
310
- painId,
311
- taskId,
312
- runId: latestRun?.runId,
313
- artifactId: firstCandidate?.artifactId,
314
- candidateIds,
315
- ledgerEntryIds,
316
- admissionResults,
317
- message: `partial_admission:${admittedCount}_admitted_${nonAdmittedCount}_gated${seedFailureNote ? `; ${seedFailureNote}` : ''}`,
318
- };
319
- }
320
- return {
321
- status: seedFailureNote ? 'degraded' : 'succeeded',
268
+ return shapeBridgeResult({
269
+ path: 'fresh',
322
270
  painId,
323
271
  taskId,
324
- runId: latestRun?.runId,
325
- artifactId: firstCandidate?.artifactId,
326
272
  candidateIds,
327
273
  ledgerEntryIds,
274
+ runId: latestRun?.runId,
275
+ artifactId: firstCandidate?.artifactId,
276
+ autoIntakeEnabled: this.autoIntakeEnabled,
328
277
  admissionResults,
329
- message: seedFailureNote || undefined,
330
- };
278
+ seedFailureNote,
279
+ });
331
280
  }
332
281
  async buildExistingResult(input) {
333
282
  const candidates = await this.stateManager.getCandidatesByTaskId(input.taskId);
@@ -336,17 +285,6 @@ export class PainSignalBridge {
336
285
  const candidateIds = candidates.map((candidate) => candidate.candidateId);
337
286
  const firstCandidate = candidates.at(0);
338
287
  const ledgerEntryIds = [];
339
- if (candidateIds.length === 0) {
340
- return {
341
- status: 'failed',
342
- painId: input.painId,
343
- taskId: input.taskId,
344
- runId: latestRun?.runId,
345
- candidateIds: [],
346
- ledgerEntryIds: [],
347
- message: 'Task has no principle candidates — treating as failed',
348
- };
349
- }
350
288
  if (this.autoIntakeEnabled) {
351
289
  for (const candidate of candidates) {
352
290
  const ledgerEntry = this.ledgerAdapter.existsForCandidate(candidate.candidateId);
@@ -356,29 +294,17 @@ export class PainSignalBridge {
356
294
  await this.stateManager.updateCandidateStatus(candidate.candidateId, { status: 'consumed' });
357
295
  }
358
296
  }
359
- if (ledgerEntryIds.length === 0) {
360
- return {
361
- status: 'failed',
362
- painId: input.painId,
363
- taskId: input.taskId,
364
- runId: latestRun?.runId,
365
- artifactId: firstCandidate?.artifactId,
366
- candidateIds,
367
- ledgerEntryIds: [],
368
- message: 'Candidate intake did not produce a ledger entry — treating as failed',
369
- };
370
- }
371
297
  }
372
- return {
373
- status: 'succeeded',
298
+ return shapeBridgeResult({
299
+ path: 'existing',
374
300
  painId: input.painId,
375
301
  taskId: input.taskId,
376
- runId: latestRun?.runId,
377
- artifactId: firstCandidate?.artifactId,
378
302
  candidateIds,
379
303
  ledgerEntryIds,
380
- message: 'Task already succeeded',
381
- };
304
+ runId: latestRun?.runId,
305
+ artifactId: firstCandidate?.artifactId,
306
+ autoIntakeEnabled: this.autoIntakeEnabled,
307
+ });
382
308
  }
383
309
  }
384
310
  //# sourceMappingURL=pain-signal-bridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pain-signal-bridge.js","sourceRoot":"","sources":["../../src/runtime-v2/pain-signal-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pain-signal-bridge.js","sourceRoot":"","sources":["../../src/runtime-v2/pain-signal-bridge.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@principles/core",
3
- "version": "1.177.3",
3
+ "version": "1.177.5",
4
4
  "description": "Universal Evolution SDK - framework-agnostic pain signal capture and principle injection",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",