@principles/pd-cli 1.105.0 → 1.107.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.
@@ -1 +1 @@
1
- {"version":3,"file":"candidate.d.ts","sourceRoot":"","sources":["../../src/commands/candidate.ts"],"names":[],"mappings":"AAkCA,UAAU,oBAAoB;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,oBAAoB;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,sBAAsB;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,qBAAqB;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,sBAAsB;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AA8GD,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsCnF;AAID,UAAU,2BAA2B;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAWD,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAoJjG;AAID,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCnF;AAID;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0GvF;AAID;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkErF;AAID;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuEvF;AAID,UAAU,wBAAwB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAiFD,wBAAsB,sCAAsC,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoQ1G;AAID,UAAU,qBAAqB;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+CrF"}
1
+ {"version":3,"file":"candidate.d.ts","sourceRoot":"","sources":["../../src/commands/candidate.ts"],"names":[],"mappings":"AAiCA,UAAU,oBAAoB;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,oBAAoB;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,sBAAsB;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,qBAAqB;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,sBAAsB;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AA8GD,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsCnF;AAID,UAAU,2BAA2B;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAaD,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAkIjG;AAID,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCnF;AAID;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0GvF;AAID;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkErF;AAID;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuEvF;AAID,UAAU,wBAAwB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAiFD,wBAAsB,sCAAsC,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwO1G;AAID,UAAU,qBAAqB;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+CrF"}
@@ -11,7 +11,7 @@
11
11
  */
12
12
  import { randomUUID } from 'crypto';
13
13
  import * as path from 'path';
14
- import { RuntimeStateManager, SqliteConnection, candidateList, candidateShow, CandidateIntakeService, CandidateIntakeError, loadLedger, getLedgerFilePathPublic, decideInternalizationRoute, computeBridgeDecision, buildDreamerTaskSeed, } from '@principles/core/runtime-v2';
14
+ import { RuntimeStateManager, SqliteConnection, candidateList, candidateShow, CandidateIntakeService, CandidateIntakeError, loadLedger, getLedgerFilePathPublic, decideInternalizationRoute, buildDreamerSeedFromCandidate, } from '@principles/core/runtime-v2';
15
15
  import { PrincipleTreeLedgerAdapter } from '../principle-tree-ledger-adapter.js';
16
16
  import { resolveWorkspaceDir } from '../resolve-workspace.js';
17
17
  import { createRemediationResult, remediationAction } from './remediation-output.js';
@@ -128,6 +128,7 @@ export async function handleCandidateInternalize(opts) {
128
128
  route: 'unknown',
129
129
  status: 'no_task_created',
130
130
  reason: `Candidate not found: ${opts.candidateId}`,
131
+ nextAction: 'Verify candidate ID and run pd candidate show <id> to check existence',
131
132
  };
132
133
  if (opts.json) {
133
134
  console.log(JSON.stringify(result, null, 2));
@@ -140,22 +141,20 @@ export async function handleCandidateInternalize(opts) {
140
141
  }
141
142
  const recommendation = resolveCandidateRecommendation(candidate, stateManager, opts.candidateId);
142
143
  const decision = decideInternalizationRoute(recommendation);
143
- const bridgeInput = {
144
- candidateId: opts.candidateId,
145
- recommendationKind: recommendation.kind,
146
- route: decision.route,
147
- ready: decision.ready,
148
- };
149
- const bridgeDecision = computeBridgeDecision(bridgeInput);
150
- if (bridgeDecision.decision !== 'seeded') {
151
- const reason = bridgeDecision.decision === 'already_exists'
152
- ? `Task ${bridgeDecision.taskId} already exists`
153
- : bridgeDecision.reason;
144
+ const seed = buildDreamerSeedFromCandidate(candidate, { route: decision.route, ready: decision.ready });
145
+ if ('decision' in seed) {
146
+ const decisionResult = seed;
147
+ const reason = decisionResult.decision === 'already_exists'
148
+ ? `Task ${decisionResult.taskId} already exists`
149
+ : decisionResult.reason ?? 'Seed not created';
154
150
  const result = {
155
151
  candidateId: opts.candidateId,
156
152
  route: decision.route,
157
153
  status: 'no_task_created',
158
154
  reason,
155
+ nextAction: reason.startsWith('Candidate ')
156
+ ? 'Check candidate lineage fields (taskId, artifactId, sourceRunId)'
157
+ : 'Verify internalization route configuration and candidate readiness',
159
158
  };
160
159
  if (opts.json) {
161
160
  console.log(JSON.stringify(result, null, 2));
@@ -164,18 +163,19 @@ export async function handleCandidateInternalize(opts) {
164
163
  console.log(`\nCandidate Internalize: ${opts.candidateId}\n`);
165
164
  console.log(` Route: ${decision.route}`);
166
165
  console.log(` Ready: ${decision.ready}`);
167
- console.log(` Reason: ${decision.reason}`);
166
+ console.log(` Reason: ${reason}`);
167
+ console.log(` Next: ${result.nextAction}`);
168
168
  console.log('');
169
169
  }
170
170
  return;
171
171
  }
172
- const { channel } = bridgeDecision;
173
- const { taskId } = bridgeDecision;
172
+ const { channel } = seed;
173
+ const { taskId } = seed;
174
174
  if (opts.dryRun) {
175
175
  const result = {
176
176
  candidateId: opts.candidateId,
177
177
  route: decision.route,
178
- channel,
178
+ channel: seed.channel,
179
179
  status: 'dry_run',
180
180
  reason: 'Dry-run mode — no task created',
181
181
  };
@@ -197,7 +197,7 @@ export async function handleCandidateInternalize(opts) {
197
197
  candidateId: opts.candidateId,
198
198
  route: decision.route,
199
199
  taskId: existingTask.taskId,
200
- channel,
200
+ channel: seed.channel,
201
201
  status: 'existing',
202
202
  reason: 'Task already exists for this candidate+channel combination',
203
203
  };
@@ -213,22 +213,6 @@ export async function handleCandidateInternalize(opts) {
213
213
  }
214
214
  return;
215
215
  }
216
- const seed = buildDreamerTaskSeed(bridgeInput);
217
- if ('decision' in seed) {
218
- const result = {
219
- candidateId: opts.candidateId,
220
- route: decision.route,
221
- status: 'no_task_created',
222
- reason: seed.reason,
223
- };
224
- if (opts.json) {
225
- console.log(JSON.stringify(result, null, 2));
226
- }
227
- else {
228
- console.error(`Bridge seed failed: ${seed.reason}`);
229
- }
230
- return;
231
- }
232
216
  const task = await stateManager.createTask({
233
217
  taskId: seed.taskId,
234
218
  taskKind: seed.taskKind,
@@ -241,7 +225,7 @@ export async function handleCandidateInternalize(opts) {
241
225
  candidateId: opts.candidateId,
242
226
  route: decision.route,
243
227
  taskId: task.taskId,
244
- channel,
228
+ channel: seed.channel,
245
229
  status: 'created',
246
230
  };
247
231
  if (opts.json) {
@@ -652,23 +636,18 @@ export async function handleCandidateInternalizationBackfill(opts) {
652
636
  }
653
637
  const recommendation = resolveCandidateRecommendation(candidate, stateManager, candidateId);
654
638
  const decision = decideInternalizationRoute(recommendation);
655
- const bridgeInput = {
656
- candidateId,
657
- recommendationKind: recommendation.kind,
658
- route: decision.route,
659
- ready: decision.ready,
660
- };
661
- const bridgeDecision = computeBridgeDecision(bridgeInput);
662
- if (bridgeDecision.decision !== 'seeded') {
639
+ const seed = buildDreamerSeedFromCandidate(candidate, { route: decision.route, ready: decision.ready });
640
+ if ('decision' in seed) {
663
641
  output.deferred++;
664
- const reason = bridgeDecision.decision === 'already_exists'
665
- ? `Task ${bridgeDecision.taskId} already exists`
666
- : bridgeDecision.reason;
667
- output.results.push({ candidateId, route: decision.route, status: 'deferred', reason, statusBefore: 'consumed', statusAfter: 'consumed', intakeDecision: 'not_needed', seedDecision: 'skipped' });
642
+ const decisionResult = seed;
643
+ const reason = decisionResult.decision === 'already_exists'
644
+ ? `Task ${decisionResult.taskId} already exists`
645
+ : decisionResult.reason ?? 'Seed not created';
646
+ output.results.push({ candidateId, route: decision.route, status: 'deferred', reason, statusBefore: 'consumed', statusAfter: 'consumed', intakeDecision: 'not_needed', seedDecision: 'skipped', nextAction: reason.startsWith('Candidate ') ? 'Check candidate lineage fields (taskId, artifactId, sourceRunId)' : 'Verify internalization route configuration' });
668
647
  continue;
669
648
  }
670
- const { channel } = bridgeDecision;
671
- const { taskId } = bridgeDecision;
649
+ const { channel } = seed;
650
+ const { taskId } = seed;
672
651
  const existingTask = await stateManager.getTask(taskId);
673
652
  if (existingTask) {
674
653
  if (isConfirm && existingTask.diagnosticJson) {
@@ -691,12 +670,6 @@ export async function handleCandidateInternalizationBackfill(opts) {
691
670
  continue;
692
671
  }
693
672
  try {
694
- const seed = buildDreamerTaskSeed(bridgeInput);
695
- if ('decision' in seed) {
696
- output.errors++;
697
- output.results.push({ candidateId, route: decision.route, status: 'error', reason: seed.reason, statusBefore: 'consumed', statusAfter: 'consumed', intakeDecision: 'not_needed', seedDecision: 'skipped', nextAction: 'Investigate bridge seed failure' });
698
- continue;
699
- }
700
673
  const task = await stateManager.createTask({
701
674
  taskId: seed.taskId,
702
675
  taskKind: seed.taskKind,
@@ -725,23 +698,18 @@ export async function handleCandidateInternalizationBackfill(opts) {
725
698
  }
726
699
  const recommendation = resolveCandidateRecommendation(candidate, stateManager, candidateId);
727
700
  const decision = decideInternalizationRoute(recommendation);
728
- const bridgeInput = {
729
- candidateId,
730
- recommendationKind: recommendation.kind,
731
- route: decision.route,
732
- ready: decision.ready,
733
- };
734
- const bridgeDecision = computeBridgeDecision(bridgeInput);
735
- if (bridgeDecision.decision !== 'seeded') {
701
+ const seed = buildDreamerSeedFromCandidate(candidate, { route: decision.route, ready: decision.ready });
702
+ if ('decision' in seed) {
736
703
  output.deferred++;
737
- const reason = bridgeDecision.decision === 'already_exists'
738
- ? `Task ${bridgeDecision.taskId} already exists`
739
- : bridgeDecision.reason;
704
+ const decisionResult = seed;
705
+ const reason = decisionResult.decision === 'already_exists'
706
+ ? `Task ${decisionResult.taskId} already exists`
707
+ : decisionResult.reason ?? 'Seed not created';
740
708
  output.results.push({ candidateId, route: decision.route, status: 'deferred', reason, statusBefore: 'pending', statusAfter: 'pending', intakeDecision: 'skipped', seedDecision: 'skipped', nextAction: 'Investigate why bridge decision is not seeded' });
741
709
  continue;
742
710
  }
743
- const { channel } = bridgeDecision;
744
- const { taskId } = bridgeDecision;
711
+ const { channel } = seed;
712
+ const { taskId } = seed;
745
713
  if (!isConfirm) {
746
714
  output.missingDreamerTask++;
747
715
  output.results.push({ candidateId, route: decision.route, status: 'would_intake_and_create', taskId, channel, statusBefore: 'pending', statusAfter: 'pending', intakeDecision: 'would_intake', seedDecision: 'would_seed', nextAction: 'Run with --confirm to intake and seed' });
@@ -775,12 +743,6 @@ export async function handleCandidateInternalizationBackfill(opts) {
775
743
  continue;
776
744
  }
777
745
  try {
778
- const seed = buildDreamerTaskSeed(bridgeInput);
779
- if ('decision' in seed) {
780
- output.errors++;
781
- output.results.push({ candidateId, route: decision.route, status: 'error', reason: seed.reason, statusBefore: 'pending', statusAfter: 'consumed', intakeDecision: 'intake_succeeded', seedDecision: 'skipped', nextAction: 'Intake succeeded but dreamer seed failed — candidate is consumed, re-run backfill for consumed candidates' });
782
- continue;
783
- }
784
746
  const task = await stateManager.createTask({
785
747
  taskId: seed.taskId,
786
748
  taskKind: seed.taskKind,
@@ -1 +1 @@
1
- {"version":3,"file":"candidate.js","sourceRoot":"","sources":["../../src/commands/candidate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"candidate.js","sourceRoot":"","sources":["../../src/commands/candidate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@principles/pd-cli",
3
- "version": "1.105.0",
3
+ "version": "1.107.0",
4
4
  "description": "PD CLI — Pain recording, sample management, and evolution tasks",
5
5
  "type": "module",
6
6
  "bin": {
@@ -21,8 +21,7 @@ import {
21
21
  loadLedger,
22
22
  getLedgerFilePathPublic,
23
23
  decideInternalizationRoute,
24
- computeBridgeDecision,
25
- buildDreamerTaskSeed,
24
+ buildDreamerSeedFromCandidate,
26
25
  type LedgerPrincipleEntry,
27
26
  } from '@principles/core/runtime-v2';
28
27
  import { PrincipleTreeLedgerAdapter } from '../principle-tree-ledger-adapter.js';
@@ -226,6 +225,8 @@ interface CandidateInternalizeResult {
226
225
  channel?: string;
227
226
  status: 'created' | 'existing' | 'dry_run' | 'no_task_created';
228
227
  reason?: string;
228
+ /** Required for degraded/refused/failed statuses — tells the operator what to do next. */
229
+ nextAction?: string;
229
230
  }
230
231
 
231
232
  export async function handleCandidateInternalize(opts: CandidateInternalizeOptions): Promise<void> {
@@ -242,6 +243,7 @@ export async function handleCandidateInternalize(opts: CandidateInternalizeOptio
242
243
  route: 'unknown',
243
244
  status: 'no_task_created',
244
245
  reason: `Candidate not found: ${opts.candidateId}`,
246
+ nextAction: 'Verify candidate ID and run pd candidate show <id> to check existence',
245
247
  };
246
248
  if (opts.json) {
247
249
  console.log(JSON.stringify(result, null, 2));
@@ -256,24 +258,20 @@ export async function handleCandidateInternalize(opts: CandidateInternalizeOptio
256
258
 
257
259
  const decision = decideInternalizationRoute(recommendation as Parameters<typeof decideInternalizationRoute>[0]);
258
260
 
259
- const bridgeInput = {
260
- candidateId: opts.candidateId,
261
- recommendationKind: recommendation.kind,
262
- route: decision.route,
263
- ready: decision.ready,
264
- };
265
-
266
- const bridgeDecision = computeBridgeDecision(bridgeInput);
267
-
268
- if (bridgeDecision.decision !== 'seeded') {
269
- const reason = bridgeDecision.decision === 'already_exists'
270
- ? `Task ${bridgeDecision.taskId} already exists`
271
- : bridgeDecision.reason;
261
+ const seed = buildDreamerSeedFromCandidate(candidate, { route: decision.route, ready: decision.ready });
262
+ if ('decision' in seed) {
263
+ const decisionResult = seed as { decision: string; reason?: string; taskId?: string };
264
+ const reason = decisionResult.decision === 'already_exists'
265
+ ? `Task ${decisionResult.taskId} already exists`
266
+ : decisionResult.reason ?? 'Seed not created';
272
267
  const result: CandidateInternalizeResult = {
273
268
  candidateId: opts.candidateId,
274
269
  route: decision.route,
275
270
  status: 'no_task_created',
276
271
  reason,
272
+ nextAction: reason.startsWith('Candidate ')
273
+ ? 'Check candidate lineage fields (taskId, artifactId, sourceRunId)'
274
+ : 'Verify internalization route configuration and candidate readiness',
277
275
  };
278
276
  if (opts.json) {
279
277
  console.log(JSON.stringify(result, null, 2));
@@ -281,20 +279,21 @@ export async function handleCandidateInternalize(opts: CandidateInternalizeOptio
281
279
  console.log(`\nCandidate Internalize: ${opts.candidateId}\n`);
282
280
  console.log(` Route: ${decision.route}`);
283
281
  console.log(` Ready: ${decision.ready}`);
284
- console.log(` Reason: ${decision.reason}`);
282
+ console.log(` Reason: ${reason}`);
283
+ console.log(` Next: ${result.nextAction}`);
285
284
  console.log('');
286
285
  }
287
286
  return;
288
287
  }
289
288
 
290
- const {channel} = bridgeDecision;
291
- const {taskId} = bridgeDecision;
289
+ const { channel } = seed;
290
+ const { taskId } = seed;
292
291
 
293
292
  if (opts.dryRun) {
294
293
  const result: CandidateInternalizeResult = {
295
294
  candidateId: opts.candidateId,
296
295
  route: decision.route,
297
- channel,
296
+ channel: seed.channel,
298
297
  status: 'dry_run',
299
298
  reason: 'Dry-run mode — no task created',
300
299
  };
@@ -316,7 +315,7 @@ export async function handleCandidateInternalize(opts: CandidateInternalizeOptio
316
315
  candidateId: opts.candidateId,
317
316
  route: decision.route,
318
317
  taskId: existingTask.taskId,
319
- channel,
318
+ channel: seed.channel,
320
319
  status: 'existing',
321
320
  reason: 'Task already exists for this candidate+channel combination',
322
321
  };
@@ -332,22 +331,6 @@ export async function handleCandidateInternalize(opts: CandidateInternalizeOptio
332
331
  return;
333
332
  }
334
333
 
335
- const seed = buildDreamerTaskSeed(bridgeInput);
336
- if ('decision' in seed) {
337
- const result: CandidateInternalizeResult = {
338
- candidateId: opts.candidateId,
339
- route: decision.route,
340
- status: 'no_task_created',
341
- reason: (seed as { reason: string }).reason,
342
- };
343
- if (opts.json) {
344
- console.log(JSON.stringify(result, null, 2));
345
- } else {
346
- console.error(`Bridge seed failed: ${(seed as { reason: string }).reason}`);
347
- }
348
- return;
349
- }
350
-
351
334
  const task = await stateManager.createTask({
352
335
  taskId: seed.taskId,
353
336
  taskKind: seed.taskKind,
@@ -361,7 +344,7 @@ export async function handleCandidateInternalize(opts: CandidateInternalizeOptio
361
344
  candidateId: opts.candidateId,
362
345
  route: decision.route,
363
346
  taskId: task.taskId,
364
- channel,
347
+ channel: seed.channel,
365
348
  status: 'created',
366
349
  };
367
350
  if (opts.json) {
@@ -845,26 +828,19 @@ export async function handleCandidateInternalizationBackfill(opts: CandidateBack
845
828
  const recommendation = resolveCandidateRecommendation(candidate, stateManager, candidateId);
846
829
  const decision = decideInternalizationRoute(recommendation as Parameters<typeof decideInternalizationRoute>[0]);
847
830
 
848
- const bridgeInput = {
849
- candidateId,
850
- recommendationKind: recommendation.kind,
851
- route: decision.route,
852
- ready: decision.ready,
853
- };
854
-
855
- const bridgeDecision = computeBridgeDecision(bridgeInput);
856
-
857
- if (bridgeDecision.decision !== 'seeded') {
831
+ const seed = buildDreamerSeedFromCandidate(candidate, { route: decision.route, ready: decision.ready });
832
+ if ('decision' in seed) {
858
833
  output.deferred++;
859
- const reason = bridgeDecision.decision === 'already_exists'
860
- ? `Task ${bridgeDecision.taskId} already exists`
861
- : bridgeDecision.reason;
862
- output.results.push({ candidateId, route: decision.route, status: 'deferred', reason, statusBefore: 'consumed', statusAfter: 'consumed', intakeDecision: 'not_needed', seedDecision: 'skipped' });
834
+ const decisionResult = seed as { decision: string; reason?: string; taskId?: string };
835
+ const reason = decisionResult.decision === 'already_exists'
836
+ ? `Task ${decisionResult.taskId} already exists`
837
+ : decisionResult.reason ?? 'Seed not created';
838
+ output.results.push({ candidateId, route: decision.route, status: 'deferred', reason, statusBefore: 'consumed', statusAfter: 'consumed', intakeDecision: 'not_needed', seedDecision: 'skipped', nextAction: reason.startsWith('Candidate ') ? 'Check candidate lineage fields (taskId, artifactId, sourceRunId)' : 'Verify internalization route configuration' });
863
839
  continue;
864
840
  }
865
841
 
866
- const {channel} = bridgeDecision;
867
- const {taskId} = bridgeDecision;
842
+ const { channel } = seed;
843
+ const { taskId } = seed;
868
844
 
869
845
  const existingTask = await stateManager.getTask(taskId);
870
846
  if (existingTask) {
@@ -890,13 +866,6 @@ export async function handleCandidateInternalizationBackfill(opts: CandidateBack
890
866
  }
891
867
 
892
868
  try {
893
- const seed = buildDreamerTaskSeed(bridgeInput);
894
- if ('decision' in seed) {
895
- output.errors++;
896
- output.results.push({ candidateId, route: decision.route, status: 'error', reason: (seed as { reason: string }).reason, statusBefore: 'consumed', statusAfter: 'consumed', intakeDecision: 'not_needed', seedDecision: 'skipped', nextAction: 'Investigate bridge seed failure' });
897
- continue;
898
- }
899
-
900
869
  const task = await stateManager.createTask({
901
870
  taskId: seed.taskId,
902
871
  taskKind: seed.taskKind,
@@ -930,26 +899,19 @@ export async function handleCandidateInternalizationBackfill(opts: CandidateBack
930
899
  const recommendation = resolveCandidateRecommendation(candidate, stateManager, candidateId);
931
900
  const decision = decideInternalizationRoute(recommendation as Parameters<typeof decideInternalizationRoute>[0]);
932
901
 
933
- const bridgeInput = {
934
- candidateId,
935
- recommendationKind: recommendation.kind,
936
- route: decision.route,
937
- ready: decision.ready,
938
- };
939
-
940
- const bridgeDecision = computeBridgeDecision(bridgeInput);
941
-
942
- if (bridgeDecision.decision !== 'seeded') {
902
+ const seed = buildDreamerSeedFromCandidate(candidate, { route: decision.route, ready: decision.ready });
903
+ if ('decision' in seed) {
943
904
  output.deferred++;
944
- const reason = bridgeDecision.decision === 'already_exists'
945
- ? `Task ${bridgeDecision.taskId} already exists`
946
- : bridgeDecision.reason;
905
+ const decisionResult = seed as { decision: string; reason?: string; taskId?: string };
906
+ const reason = decisionResult.decision === 'already_exists'
907
+ ? `Task ${decisionResult.taskId} already exists`
908
+ : decisionResult.reason ?? 'Seed not created';
947
909
  output.results.push({ candidateId, route: decision.route, status: 'deferred', reason, statusBefore: 'pending', statusAfter: 'pending', intakeDecision: 'skipped', seedDecision: 'skipped', nextAction: 'Investigate why bridge decision is not seeded' });
948
910
  continue;
949
911
  }
950
912
 
951
- const {channel} = bridgeDecision;
952
- const {taskId} = bridgeDecision;
913
+ const { channel } = seed;
914
+ const { taskId } = seed;
953
915
 
954
916
  if (!isConfirm) {
955
917
  output.missingDreamerTask++;
@@ -989,13 +951,6 @@ export async function handleCandidateInternalizationBackfill(opts: CandidateBack
989
951
  }
990
952
 
991
953
  try {
992
- const seed = buildDreamerTaskSeed(bridgeInput);
993
- if ('decision' in seed) {
994
- output.errors++;
995
- output.results.push({ candidateId, route: decision.route, status: 'error', reason: (seed as { reason: string }).reason, statusBefore: 'pending', statusAfter: 'consumed', intakeDecision: 'intake_succeeded', seedDecision: 'skipped', nextAction: 'Intake succeeded but dreamer seed failed — candidate is consumed, re-run backfill for consumed candidates' });
996
- continue;
997
- }
998
-
999
954
  const task = await stateManager.createTask({
1000
955
  taskId: seed.taskId,
1001
956
  taskKind: seed.taskKind,
@@ -281,4 +281,157 @@ funnels:
281
281
  expect(typeof parsed).toBe('object');
282
282
  });
283
283
  });
284
+
285
+ // ── Boundary Condition Tests ────────────────────────────────────────────────
286
+
287
+ describe('resolveRuntimeWithOverrides', () => {
288
+ it('CLI overrides take precedence over config values', async () => {
289
+ writeConfigYaml(tmpDir, makeValidConfigYaml({ provider: 'lmstudio', model: 'local-model' }));
290
+
291
+ const { resolveRuntimeWithOverrides } = await import('../../src/services/resolve-runtime-from-pd-config.js');
292
+ const resolved = resolveRuntimeWithOverrides(tmpDir, {
293
+ provider: 'override-provider',
294
+ model: 'override-model',
295
+ }, () => 'test-key');
296
+
297
+ expect(resolved.mergedConfig).not.toBeNull();
298
+ if (resolved.mergedConfig) {
299
+ expect(resolved.mergedConfig.provider).toBe('override-provider');
300
+ expect(resolved.mergedConfig.model).toBe('override-model');
301
+ }
302
+ });
303
+
304
+ it('returns mergedConfig=null when base config is malformed', async () => {
305
+ const pdDir = path.join(tmpDir, '.pd');
306
+ fs.mkdirSync(pdDir, { recursive: true });
307
+ fs.writeFileSync(path.join(pdDir, 'config.yaml'), 'version: [invalid', 'utf8');
308
+
309
+ const { resolveRuntimeWithOverrides } = await import('../../src/services/resolve-runtime-from-pd-config.js');
310
+ const resolved = resolveRuntimeWithOverrides(tmpDir, {
311
+ provider: 'override',
312
+ }, () => 'test-key');
313
+
314
+ expect(resolved.mergedConfig).toBeNull();
315
+ });
316
+
317
+ it('preserves config values when overrides are undefined', async () => {
318
+ writeConfigYaml(tmpDir, makeValidConfigYaml({ provider: 'lmstudio', model: 'local-model' }));
319
+
320
+ const { resolveRuntimeWithOverrides } = await import('../../src/services/resolve-runtime-from-pd-config.js');
321
+ const resolved = resolveRuntimeWithOverrides(tmpDir, {
322
+ provider: undefined,
323
+ model: undefined,
324
+ }, () => 'test-key');
325
+
326
+ expect(resolved.mergedConfig).not.toBeNull();
327
+ if (resolved.mergedConfig) {
328
+ expect(resolved.mergedConfig.provider).toBe('lmstudio');
329
+ expect(resolved.mergedConfig.model).toBe('local-model');
330
+ }
331
+ });
332
+
333
+ it('merges numeric overrides correctly', async () => {
334
+ writeConfigYaml(tmpDir, makeValidConfigYaml());
335
+
336
+ const { resolveRuntimeWithOverrides } = await import('../../src/services/resolve-runtime-from-pd-config.js');
337
+ const resolved = resolveRuntimeWithOverrides(tmpDir, {
338
+ maxRetries: 5,
339
+ timeoutMs: 60000,
340
+ }, () => 'test-key');
341
+
342
+ expect(resolved.mergedConfig).not.toBeNull();
343
+ if (resolved.mergedConfig) {
344
+ expect(resolved.mergedConfig.maxRetries).toBe(5);
345
+ expect(resolved.mergedConfig.timeoutMs).toBe(60000);
346
+ }
347
+ });
348
+ });
349
+
350
+ describe('edge cases and error handling', () => {
351
+ it('handles empty workspace directory gracefully', async () => {
352
+ // No .pd directory at all
353
+ const { resolveRuntimeFromPdConfig } = await import('../../src/services/resolve-runtime-from-pd-config.js');
354
+ const resolved = resolveRuntimeFromPdConfig(tmpDir, () => 'test-key');
355
+
356
+ // Missing config should return defaults (ok=true with source='defaults')
357
+ expect(resolved.configLoadResult.ok).toBe(true);
358
+ expect(resolved.configSource).toBe('.pd/config.yaml');
359
+ });
360
+
361
+ it('handles config with missing runtimeProfiles section', async () => {
362
+ writeConfigYaml(tmpDir, {
363
+ version: 1,
364
+ features: {},
365
+ // Missing runtimeProfiles
366
+ });
367
+
368
+ const { resolveRuntimeFromPdConfig } = await import('../../src/services/resolve-runtime-from-pd-config.js');
369
+ const { isRuntimeConfigError } = await import('@principles/core/runtime-v2');
370
+ const resolved = resolveRuntimeFromPdConfig(tmpDir, () => 'test-key');
371
+
372
+ // Missing runtimeProfiles should either load with defaults or produce
373
+ // a RuntimeConfigError — never silently succeed with wrong config.
374
+ if (isRuntimeConfigError(resolved.result)) {
375
+ expect(resolved.result.reason).toBeTruthy();
376
+ expect(resolved.result.nextAction).toBeTruthy();
377
+ } else {
378
+ // If defaults were returned, configLoadResult.ok should be true
379
+ expect(resolved.configLoadResult.ok).toBe(true);
380
+ }
381
+ });
382
+
383
+ it('handles config with invalid runtime profile type', async () => {
384
+ writeConfigYaml(tmpDir, {
385
+ version: 1,
386
+ runtimeProfiles: {
387
+ 'bad-profile': {
388
+ type: 'invalid-type', // Invalid type
389
+ },
390
+ },
391
+ internalAgents: {
392
+ defaultRuntime: 'bad-profile',
393
+ agents: { diagnostician: { enabled: true, runtimeProfile: 'bad-profile' } },
394
+ },
395
+ });
396
+
397
+ const { resolveRuntimeFromPdConfig } = await import('../../src/services/resolve-runtime-from-pd-config.js');
398
+ const { isRuntimeConfigError } = await import('@principles/core/runtime-v2');
399
+ const resolved = resolveRuntimeFromPdConfig(tmpDir, () => 'test-key');
400
+
401
+ // Invalid type should be caught — verify external contract, not internal state
402
+ expect(isRuntimeConfigError(resolved.result)).toBe(true);
403
+ if (isRuntimeConfigError(resolved.result)) {
404
+ expect(resolved.result.reason).toBeTruthy();
405
+ expect(resolved.result.nextAction).toBeTruthy();
406
+ }
407
+ });
408
+
409
+ it('handles env var returning undefined for apiKeyEnv', async () => {
410
+ writeConfigYaml(tmpDir, makeValidConfigYaml());
411
+
412
+ const { resolveRuntimeFromPdConfig } = await import('../../src/services/resolve-runtime-from-pd-config.js');
413
+ const resolved = resolveRuntimeFromPdConfig(tmpDir, () => undefined);
414
+
415
+ // Should handle undefined env var gracefully
416
+ expect(resolved.result).toBeDefined();
417
+ });
418
+
419
+ it('handles multiple legacy files detected', async () => {
420
+ writeConfigYaml(tmpDir, makeValidConfigYaml());
421
+
422
+ // Create multiple legacy files
423
+ const stateDir = path.join(tmpDir, '.state');
424
+ fs.mkdirSync(stateDir, { recursive: true });
425
+ fs.writeFileSync(path.join(stateDir, 'workflows.yaml'), 'version: 1', 'utf8');
426
+
427
+ const ffDir = path.join(tmpDir, '.pd');
428
+ fs.writeFileSync(path.join(ffDir, 'feature-flags.yaml'), 'flags: []', 'utf8');
429
+
430
+ const { resolveRuntimeFromPdConfig } = await import('../../src/services/resolve-runtime-from-pd-config.js');
431
+ const resolved = resolveRuntimeFromPdConfig(tmpDir, () => 'test-key');
432
+
433
+ expect(resolved.legacyWarnings.length).toBeGreaterThan(0);
434
+ expect(resolved.configLoadResult.legacyFilesDetected.length).toBeGreaterThanOrEqual(2);
435
+ });
436
+ });
284
437
  });