create-principles-disciple 1.144.12 → 1.144.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/_release/product-identity.json +1 -1
  2. package/codex-adapter/dist/pd-hook.js +23 -5
  3. package/codex-adapter/dist/worker/workspace-worker.d.ts +6 -0
  4. package/codex-adapter/dist/worker/workspace-worker.js +7 -0
  5. package/codex-adapter/package.json +1 -1
  6. package/console/package.json +2 -2
  7. package/core/dist/runtime-v2/adapter/output-schema-registry.d.ts.map +1 -1
  8. package/core/dist/runtime-v2/adapter/output-schema-registry.js +4 -0
  9. package/core/dist/runtime-v2/adapter/output-schema-registry.js.map +1 -1
  10. package/core/dist/runtime-v2/bridge-result-shaper.d.ts +8 -0
  11. package/core/dist/runtime-v2/bridge-result-shaper.d.ts.map +1 -1
  12. package/core/dist/runtime-v2/bridge-result-shaper.js +61 -3
  13. package/core/dist/runtime-v2/bridge-result-shaper.js.map +1 -1
  14. package/core/dist/runtime-v2/candidate-intake-service.d.ts +52 -2
  15. package/core/dist/runtime-v2/candidate-intake-service.d.ts.map +1 -1
  16. package/core/dist/runtime-v2/candidate-intake-service.js +201 -76
  17. package/core/dist/runtime-v2/candidate-intake-service.js.map +1 -1
  18. package/core/dist/runtime-v2/config/index.d.ts +2 -2
  19. package/core/dist/runtime-v2/config/index.d.ts.map +1 -1
  20. package/core/dist/runtime-v2/config/index.js +1 -1
  21. package/core/dist/runtime-v2/config/index.js.map +1 -1
  22. package/core/dist/runtime-v2/config/pd-config-defaults.d.ts +7 -1
  23. package/core/dist/runtime-v2/config/pd-config-defaults.d.ts.map +1 -1
  24. package/core/dist/runtime-v2/config/pd-config-defaults.js +11 -0
  25. package/core/dist/runtime-v2/config/pd-config-defaults.js.map +1 -1
  26. package/core/dist/runtime-v2/config/pd-config-effective.d.ts.map +1 -1
  27. package/core/dist/runtime-v2/config/pd-config-effective.js +24 -1
  28. package/core/dist/runtime-v2/config/pd-config-effective.js.map +1 -1
  29. package/core/dist/runtime-v2/config/pd-config-redaction.d.ts.map +1 -1
  30. package/core/dist/runtime-v2/config/pd-config-redaction.js +2 -0
  31. package/core/dist/runtime-v2/config/pd-config-redaction.js.map +1 -1
  32. package/core/dist/runtime-v2/config/pd-config-types.d.ts +39 -0
  33. package/core/dist/runtime-v2/config/pd-config-types.d.ts.map +1 -1
  34. package/core/dist/runtime-v2/config/pd-config-types.js.map +1 -1
  35. package/core/dist/runtime-v2/config/pd-config-validate.d.ts.map +1 -1
  36. package/core/dist/runtime-v2/config/pd-config-validate.js +44 -0
  37. package/core/dist/runtime-v2/config/pd-config-validate.js.map +1 -1
  38. package/core/dist/runtime-v2/index.d.ts +8 -1
  39. package/core/dist/runtime-v2/index.d.ts.map +1 -1
  40. package/core/dist/runtime-v2/index.js +14 -1
  41. package/core/dist/runtime-v2/index.js.map +1 -1
  42. package/core/dist/runtime-v2/pain-signal-bridge.d.ts.map +1 -1
  43. package/core/dist/runtime-v2/pain-signal-bridge.js +93 -1
  44. package/core/dist/runtime-v2/pain-signal-bridge.js.map +1 -1
  45. package/core/dist/runtime-v2/pain-signal-runtime-factory.d.ts +29 -14
  46. package/core/dist/runtime-v2/pain-signal-runtime-factory.d.ts.map +1 -1
  47. package/core/dist/runtime-v2/pain-signal-runtime-factory.js +215 -46
  48. package/core/dist/runtime-v2/pain-signal-runtime-factory.js.map +1 -1
  49. package/core/dist/runtime-v2/principle-reuse/reuse-evaluation-output.d.ts +40 -0
  50. package/core/dist/runtime-v2/principle-reuse/reuse-evaluation-output.d.ts.map +1 -0
  51. package/core/dist/runtime-v2/principle-reuse/reuse-evaluation-output.js +97 -0
  52. package/core/dist/runtime-v2/principle-reuse/reuse-evaluation-output.js.map +1 -0
  53. package/core/dist/runtime-v2/principle-reuse/reuse-evaluation-runner.d.ts +111 -0
  54. package/core/dist/runtime-v2/principle-reuse/reuse-evaluation-runner.d.ts.map +1 -0
  55. package/core/dist/runtime-v2/principle-reuse/reuse-evaluation-runner.js +232 -0
  56. package/core/dist/runtime-v2/principle-reuse/reuse-evaluation-runner.js.map +1 -0
  57. package/core/dist/telemetry-event.d.ts +2 -2
  58. package/core/dist/telemetry-event.d.ts.map +1 -1
  59. package/core/dist/telemetry-event.js +11 -0
  60. package/core/dist/telemetry-event.js.map +1 -1
  61. package/core/package.json +1 -1
  62. package/host-runtime/dist/index.d.ts +2 -0
  63. package/host-runtime/dist/index.js +1 -0
  64. package/host-runtime/dist/production-rulehost-gate.d.ts +1 -0
  65. package/host-runtime/dist/production-rulehost-gate.js +1 -1
  66. package/host-runtime/package.json +1 -1
  67. package/package.json +3 -3
  68. package/pd-cli/dist/commands/candidate.d.ts.map +1 -1
  69. package/pd-cli/dist/commands/candidate.js +170 -20
  70. package/pd-cli/dist/commands/candidate.js.map +1 -1
  71. package/pd-cli/dist/commands/config-doctor.d.ts.map +1 -1
  72. package/pd-cli/dist/commands/config-doctor.js +14 -0
  73. package/pd-cli/dist/commands/config-doctor.js.map +1 -1
  74. package/pd-cli/dist/commands/diagnose.d.ts.map +1 -1
  75. package/pd-cli/dist/commands/diagnose.js +67 -11
  76. package/pd-cli/dist/commands/diagnose.js.map +1 -1
  77. package/pd-cli/dist/commands/pain-retry.d.ts.map +1 -1
  78. package/pd-cli/dist/commands/pain-retry.js +80 -11
  79. package/pd-cli/dist/commands/pain-retry.js.map +1 -1
  80. package/pd-cli/dist/services/config-doctor.d.ts +11 -0
  81. package/pd-cli/dist/services/config-doctor.d.ts.map +1 -1
  82. package/pd-cli/dist/services/config-doctor.js +6 -0
  83. package/pd-cli/dist/services/config-doctor.js.map +1 -1
  84. package/pd-cli/dist/services/resolve-runtime-from-pd-config.d.ts +14 -0
  85. package/pd-cli/dist/services/resolve-runtime-from-pd-config.d.ts.map +1 -1
  86. package/pd-cli/dist/services/resolve-runtime-from-pd-config.js +20 -4
  87. package/pd-cli/dist/services/resolve-runtime-from-pd-config.js.map +1 -1
  88. package/pd-cli/dist/services/runtime-adapter-resolver.d.ts +6 -0
  89. package/pd-cli/dist/services/runtime-adapter-resolver.d.ts.map +1 -1
  90. package/pd-cli/dist/services/runtime-adapter-resolver.js +11 -2
  91. package/pd-cli/dist/services/runtime-adapter-resolver.js.map +1 -1
  92. package/pd-cli/package.json +1 -1
  93. package/plugin/dist/bundle.js +548 -544
  94. package/plugin/dist/openclaw.plugin.json +1 -1
  95. package/plugin/openclaw.plugin.json +1 -1
  96. package/plugin/package.json +4 -4
  97. package/release-manager/package.json +3 -3
@@ -169,13 +169,38 @@ export class CandidateIntakeService {
169
169
  #stateManager;
170
170
  #ledgerAdapter;
171
171
  #reuseDecision;
172
+ #reuseRecommendation;
172
173
  #reuseStateDir;
173
174
  constructor(opts) {
175
+ if (opts.reuseDecision && opts.reuseRecommendation) {
176
+ throw new CandidateIntakeError(INTAKE_ERROR_CODES.REUSE_CHECK_FAILED, 'reuseDecision and reuseRecommendation are mutually exclusive. nextAction: supply reuseRecommendation for automatic intake or reuseDecision for Owner decisions, never both.', { reason: 'reuse_gate_misconfigured' });
177
+ }
174
178
  this.#stateManager = opts.stateManager;
175
179
  this.#ledgerAdapter = opts.ledgerAdapter;
176
180
  this.#reuseDecision = opts.reuseDecision;
181
+ this.#reuseRecommendation = opts.reuseRecommendation;
177
182
  this.#reuseStateDir = opts.reuseStateDir;
178
183
  }
184
+ /**
185
+ * PRI-917 v0.3.3 — run the auto-path recommendation hook. A throwing hook
186
+ * (buggy builder, adapter crash) is an `unavailable` recommendation, NOT an
187
+ * intake failure: Rule 4 forbids evaluation failures from blocking learning.
188
+ */
189
+ async #runReuseRecommendation(claim, proposal) {
190
+ const hook = this.#reuseRecommendation;
191
+ if (!hook) {
192
+ return { status: 'unavailable', reason: 'reuse recommendation hook is not configured' };
193
+ }
194
+ try {
195
+ return await hook(claim, proposal);
196
+ }
197
+ catch (err) {
198
+ return {
199
+ status: 'unavailable',
200
+ reason: err instanceof Error ? err.message : String(err),
201
+ };
202
+ }
203
+ }
179
204
  /**
180
205
  * Consume a pending candidate: load it and its artifact, build a
181
206
  * LedgerPrincipleEntry, and write it to the ledger via the adapter — but ONLY
@@ -194,6 +219,19 @@ export class CandidateIntakeService {
194
219
  * - LEDGER_WRITE_FAILED when ledger write fails
195
220
  */
196
221
  async intake(candidateId) {
222
+ return this.#intake(candidateId, false);
223
+ }
224
+ /** Whether the automatic recommendation channel is configured for read-only review. */
225
+ get reuseReviewEnabled() {
226
+ return this.#reuseRecommendation !== undefined && !this.#reuseDecision;
227
+ }
228
+ /** Uses the same input validation and gate as intake, but never writes. */
229
+ async reviewReuse(candidateId) {
230
+ if (!this.reuseReviewEnabled)
231
+ return null;
232
+ return this.#intake(candidateId, true);
233
+ }
234
+ async #intake(candidateId, reviewOnly) {
197
235
  // 1. Input validation (E-01)
198
236
  if (!candidateId || typeof candidateId !== 'string' || candidateId.trim() === '') {
199
237
  throw new CandidateIntakeError(INTAKE_ERROR_CODES.INPUT_INVALID, 'candidateId must be a non-empty string', { candidateId });
@@ -310,15 +348,19 @@ export class CandidateIntakeService {
310
348
  if (this.#reuseDecision && !this.#reuseStateDir) {
311
349
  throw new CandidateIntakeError(INTAKE_ERROR_CODES.REUSE_CHECK_FAILED, `Reuse gate is misconfigured: reuseDecision was provided without reuseStateDir; no Principle was created for candidate ${candidateId}. nextAction: pass reuseStateDir, or remove reuseDecision to disable the gate.`, { candidateId, reason: 'reuse_gate_misconfigured' });
312
350
  }
351
+ if (this.#reuseRecommendation && !this.#reuseStateDir) {
352
+ throw new CandidateIntakeError(INTAKE_ERROR_CODES.REUSE_CHECK_FAILED, `Reuse gate is misconfigured: reuseRecommendation was provided without reuseStateDir; no Principle was created for candidate ${candidateId}. nextAction: pass reuseStateDir, or remove reuseRecommendation to disable the gate.`, { candidateId, reason: 'reuse_gate_misconfigured' });
353
+ }
313
354
  let reuseCheck = 'not_configured';
314
- if (this.#reuseDecision && this.#reuseStateDir) {
355
+ if ((this.#reuseDecision || this.#reuseRecommendation) && this.#reuseStateDir) {
356
+ const reuseClaim = {
357
+ text: recommendation.text || candidate.description || '',
358
+ triggerPattern: recommendation.triggerPattern ?? '',
359
+ action: recommendation.action ?? '',
360
+ };
315
361
  let proposal;
316
362
  try {
317
- proposal = buildReuseProposal(candidateId, buildReuseShortlist({
318
- text: recommendation.text || candidate.description || '',
319
- triggerPattern: recommendation.triggerPattern ?? '',
320
- action: recommendation.action ?? '',
321
- }, this.#reuseStateDir,
363
+ proposal = buildReuseProposal(candidateId, buildReuseShortlist(reuseClaim, this.#reuseStateDir,
322
364
  // Single truth: the persisted candidate's own kind. Step 3b has
323
365
  // already proved eligibility fail-closed, so this is a restatement,
324
366
  // never a second source a caller can override.
@@ -328,88 +370,131 @@ export class CandidateIntakeService {
328
370
  throw new CandidateIntakeError(INTAKE_ERROR_CODES.REUSE_CHECK_FAILED, `Reuse check could not be completed for candidate ${candidateId}; no Principle was created. Cause: ${reuseErr instanceof Error ? reuseErr.message : String(reuseErr)}`, { candidateId, cause: reuseErr });
329
371
  }
330
372
  if (proposalNeedsDecision(proposal)) {
331
- // PRI-917 hardening: the decision function is an UNTRUSTED boundary
332
- // (an AI Owner parses model output), so its return value is validated
333
- // at runtime. Previously anything that was not exactly 'reuse' fell
334
- // through to 'create' — a malformed answer silently manufactured the
335
- // very duplicate this gate exists to prevent (rc-1/rc-2/rc-3).
336
- let decision;
337
- try {
338
- const raw = this.#reuseDecision(proposal);
339
- const validated = validateReuseDecision(raw);
340
- if (!validated.ok) {
341
- throw new CandidateIntakeError(INTAKE_ERROR_CODES.REUSE_CHECK_FAILED, `Reuse decision for candidate ${candidateId} is not a valid reuse|create decision (${validated.reason}); no Principle was created.`, { candidateId, reason: validated.reason });
373
+ // PRI-917 v0.3.3 (OD-PRI917-05) — AUTO-path Reuse Review Gate.
374
+ //
375
+ // Runs only when a recommendation hook is injected WITHOUT an Owner
376
+ // decision function (the production auto shape: bridge / diagnose /
377
+ // pain-retry). The hook is a RECOMMENDATION channel: `reuse` parks the
378
+ // candidate for the Owner (refused/reuse_pending_owner — no Principle,
379
+ // no evidence, candidate stays pending); every other outcome
380
+ // (create / uncertain / unavailable / selection outside the proposal)
381
+ // proceeds to CREATE exactly as the unconfigured gate would (Rules
382
+ // 2-4: uncertain keeps creating in phase 1; evaluation failure must
383
+ // never block learning; a hallucinated id is treated as unavailable).
384
+ if (this.#reuseRecommendation && !this.#reuseDecision) {
385
+ const recommendationOutcome = await this.#runReuseRecommendation(reuseClaim, proposal);
386
+ if (recommendationOutcome.status === 'recommended') {
387
+ const { recommendation: verdict, selectedPrincipleId, confidence } = recommendationOutcome;
388
+ if (verdict === 'reuse' &&
389
+ selectedPrincipleId !== undefined &&
390
+ proposal.candidates.some((entry) => entry.principleId === selectedPrincipleId)) {
391
+ return {
392
+ outcome: 'refused',
393
+ reason: 'reuse_pending_owner',
394
+ candidateId,
395
+ rawRecommendationKind: typeof candidate.rawRecommendationKind === 'string' ? candidate.rawRecommendationKind : null,
396
+ message: `Candidate ${candidateId} is a suspected duplicate of existing Principle ${selectedPrincipleId} ` +
397
+ `(semantic reuse recommendation, confidence ${confidence}). No Principle was created and no evidence ` +
398
+ 'was written; the candidate stays PENDING for the Owner. ' +
399
+ `nextAction: pd candidate review --candidate-id ${candidateId} --decide reuse|create --reason "..."`,
400
+ reuseProposal: proposal,
401
+ reuseRecommendation: recommendationOutcome,
402
+ };
403
+ }
342
404
  }
343
- ({ decision } = validated);
405
+ // create / uncertain / unavailable / hallucinated id → Rules 2/3/4:
406
+ // CREATE proceeds (uncertain keeps creating in phase 1; evaluation
407
+ // failure must never block learning).
408
+ reuseCheck = 'recommended_create';
344
409
  }
345
- catch (decisionErr) {
346
- if (decisionErr instanceof CandidateIntakeError)
347
- throw decisionErr;
348
- // A throwing decision function (LLM timeout, parse crash) is a reuse
349
- // check failure, not an internal error: it must fail closed with a
350
- // candidate-scoped code rather than escaping as an arbitrary throw.
351
- throw new CandidateIntakeError(INTAKE_ERROR_CODES.REUSE_CHECK_FAILED, `Reuse decision for candidate ${candidateId} failed (${decisionErr instanceof Error ? decisionErr.message : String(decisionErr)}); no Principle was created.`, { candidateId, cause: decisionErr });
352
- }
353
- if (decision.decision === 'reuse') {
354
- const known = new Set(proposal.candidates.map((c) => c.principleId));
355
- if (!known.has(decision.selectedPrincipleId)) {
356
- // INV-R08: a selection outside the proposal fails closed. It must
357
- // NOT silently degrade into "create". This is a defect in the
358
- // reuse decision contract, not a malformed intake input, so it
359
- // carries REUSE_CHECK_FAILED rather than INPUT_INVALID — the
360
- // latter would file a governance error under "bad input".
361
- throw new CandidateIntakeError(INTAKE_ERROR_CODES.REUSE_CHECK_FAILED, `Reuse decision selected principle '${decision.selectedPrincipleId}' which is not in the proposal for candidate ${candidateId}; no Principle was created.`, { candidateId, selectedPrincipleId: decision.selectedPrincipleId, reason: 'selected_principle_not_in_proposal' });
362
- }
363
- // PRI-917 PR3B Phase 2 — materialise the verdict as durable evidence
364
- // BEFORE reporting it. A reuse verdict that is not persisted would
365
- // leave the resolution invisible: replay would re-ask the Owner, and
366
- // the SPEC §11/§12 asymmetry (REUSE must be auditable, CREATE's
367
- // artifact speaks for itself) would silently break. The write runs
368
- // INSIDE the ledger's single-writer lock (appendReuseEvidence) and is
369
- // fail-closed: an integrity/shape failure propagates and the
370
- // candidate stays pending — it NEVER degrades into creating a
371
- // Principle (INV-R03/INV-R08).
372
- const painId = await this.#resolveReusePainId(candidateId, candidate);
373
- let evidence;
410
+ else if (this.#reuseDecision) {
411
+ // PRI-917 hardening: the decision function is an UNTRUSTED boundary
412
+ // (an AI Owner parses model output), so its return value is validated
413
+ // at runtime. Previously anything that was not exactly 'reuse' fell
414
+ // through to 'create' — a malformed answer silently manufactured the
415
+ // very duplicate this gate exists to prevent (rc-1/rc-2/rc-3).
416
+ let decision;
374
417
  try {
375
- const appended = this.#ledgerAdapter.appendReuseEvidence(decision.selectedPrincipleId, {
376
- painId,
377
- candidateId,
378
- decision: 'reuse',
379
- actor: decision.actor,
380
- reason: decision.reason,
381
- decidedAt: decision.decidedAt,
382
- });
383
- // The writer either appended this candidate's entry or returned the
384
- // already-recorded one (concurrent-intake dedupe) — the entry for
385
- // THIS candidateId must be present; anything else is a broken
386
- // adapter and fails loud instead of reporting a fabricated record.
387
- const recorded = appended.reuseEvidence.find((e) => e.candidateId === candidateId);
388
- if (!recorded) {
389
- throw new Error(`appendReuseEvidence returned no evidence entry for candidate ${candidateId} (adapter contract violation)`);
418
+ const raw = this.#reuseDecision(proposal);
419
+ const validated = validateReuseDecision(raw);
420
+ if (!validated.ok) {
421
+ throw new CandidateIntakeError(INTAKE_ERROR_CODES.REUSE_CHECK_FAILED, `Reuse decision for candidate ${candidateId} is not a valid reuse|create decision (${validated.reason}); no Principle was created.`, { candidateId, reason: validated.reason });
390
422
  }
391
- evidence = recorded;
423
+ ({ decision } = validated);
392
424
  }
393
- catch (evidenceErr) {
394
- throw new CandidateIntakeError(INTAKE_ERROR_CODES.REUSE_CHECK_FAILED, `Reuse decision for candidate ${candidateId} could not be recorded on principle '${decision.selectedPrincipleId}'; no Principle was created and the decision is not durable. Cause: ${evidenceErr instanceof Error ? evidenceErr.message : String(evidenceErr)}`, { candidateId, selectedPrincipleId: decision.selectedPrincipleId, cause: evidenceErr });
425
+ catch (decisionErr) {
426
+ if (decisionErr instanceof CandidateIntakeError)
427
+ throw decisionErr;
428
+ // A throwing decision function (LLM timeout, parse crash) is a reuse
429
+ // check failure, not an internal error: it must fail closed with a
430
+ // candidate-scoped code rather than escaping as an arbitrary throw.
431
+ throw new CandidateIntakeError(INTAKE_ERROR_CODES.REUSE_CHECK_FAILED, `Reuse decision for candidate ${candidateId} failed (${decisionErr instanceof Error ? decisionErr.message : String(decisionErr)}); no Principle was created.`, { candidateId, cause: decisionErr });
395
432
  }
396
- return {
397
- outcome: 'refused',
398
- reason: 'reuse_selected',
399
- candidateId,
400
- rawRecommendationKind: typeof candidate.rawRecommendationKind === 'string' ? candidate.rawRecommendationKind : null,
401
- message: `Candidate ${candidateId} was resolved to existing Principle ${decision.selectedPrincipleId}; the reuse decision was recorded on that Principle's reuseEvidence and no new Principle was created. This candidate DOES target the Principle Ledger — review the reuse proposal, and do not re-run intake to force a new Principle.`,
402
- reuseProposal: proposal,
403
- selectedPrincipleId: decision.selectedPrincipleId,
404
- reuseEvidence: evidence,
405
- };
433
+ if (decision.decision === 'reuse') {
434
+ const known = new Set(proposal.candidates.map((c) => c.principleId));
435
+ if (!known.has(decision.selectedPrincipleId)) {
436
+ // INV-R08: a selection outside the proposal fails closed. It must
437
+ // NOT silently degrade into "create". This is a defect in the
438
+ // reuse decision contract, not a malformed intake input, so it
439
+ // carries REUSE_CHECK_FAILED rather than INPUT_INVALID — the
440
+ // latter would file a governance error under "bad input".
441
+ throw new CandidateIntakeError(INTAKE_ERROR_CODES.REUSE_CHECK_FAILED, `Reuse decision selected principle '${decision.selectedPrincipleId}' which is not in the proposal for candidate ${candidateId}; no Principle was created.`, { candidateId, selectedPrincipleId: decision.selectedPrincipleId, reason: 'selected_principle_not_in_proposal' });
442
+ }
443
+ // PRI-917 PR3B Phase 2 — materialise the verdict as durable evidence
444
+ // BEFORE reporting it. A reuse verdict that is not persisted would
445
+ // leave the resolution invisible: replay would re-ask the Owner, and
446
+ // the SPEC §11/§12 asymmetry (REUSE must be auditable, CREATE's
447
+ // artifact speaks for itself) would silently break. The write runs
448
+ // INSIDE the ledger's single-writer lock (appendReuseEvidence) and is
449
+ // fail-closed: an integrity/shape failure propagates and the
450
+ // candidate stays pending — it NEVER degrades into creating a
451
+ // Principle (INV-R03/INV-R08).
452
+ const painId = await this.#resolveReusePainId(candidateId, candidate);
453
+ let evidence;
454
+ try {
455
+ const appended = this.#ledgerAdapter.appendReuseEvidence(decision.selectedPrincipleId, {
456
+ painId,
457
+ candidateId,
458
+ decision: 'reuse',
459
+ actor: decision.actor,
460
+ reason: decision.reason,
461
+ decidedAt: decision.decidedAt,
462
+ });
463
+ // The writer either appended this candidate's entry or returned the
464
+ // already-recorded one (concurrent-intake dedupe) — the entry for
465
+ // THIS candidateId must be present; anything else is a broken
466
+ // adapter and fails loud instead of reporting a fabricated record.
467
+ const recorded = appended.reuseEvidence.find((e) => e.candidateId === candidateId);
468
+ if (!recorded) {
469
+ throw new Error(`appendReuseEvidence returned no evidence entry for candidate ${candidateId} (adapter contract violation)`);
470
+ }
471
+ evidence = recorded;
472
+ }
473
+ catch (evidenceErr) {
474
+ throw new CandidateIntakeError(INTAKE_ERROR_CODES.REUSE_CHECK_FAILED, `Reuse decision for candidate ${candidateId} could not be recorded on principle '${decision.selectedPrincipleId}'; no Principle was created and the decision is not durable. Cause: ${evidenceErr instanceof Error ? evidenceErr.message : String(evidenceErr)}`, { candidateId, selectedPrincipleId: decision.selectedPrincipleId, cause: evidenceErr });
475
+ }
476
+ return {
477
+ outcome: 'refused',
478
+ reason: 'reuse_selected',
479
+ candidateId,
480
+ rawRecommendationKind: typeof candidate.rawRecommendationKind === 'string' ? candidate.rawRecommendationKind : null,
481
+ message: `Candidate ${candidateId} was resolved to existing Principle ${decision.selectedPrincipleId}; the reuse decision was recorded on that Principle's reuseEvidence and no new Principle was created. This candidate DOES target the Principle Ledger — review the reuse proposal, and do not re-run intake to force a new Principle.`,
482
+ reuseProposal: proposal,
483
+ selectedPrincipleId: decision.selectedPrincipleId,
484
+ reuseEvidence: evidence,
485
+ };
486
+ }
487
+ reuseCheck = 'create_decided';
406
488
  }
407
- reuseCheck = 'create_decided';
408
489
  }
409
490
  else {
410
491
  reuseCheck = 'no_candidates';
411
492
  }
412
493
  }
494
+ // Replay review is read-only: create/uncertain/unavailable never resumes a
495
+ // ledger write, and the Owner verdict path is excluded by reviewReuse.
496
+ if (reviewOnly)
497
+ return null;
413
498
  // 5. Build 11-field LedgerPrincipleEntry (E-06)
414
499
  const entry = {
415
500
  id: randomUUID(),
@@ -466,6 +551,26 @@ export class CandidateIntakeService {
466
551
  catch (err) {
467
552
  throw new CandidateIntakeError(INTAKE_ERROR_CODES.REUSE_CHECK_FAILED, `Reuse decision for candidate ${candidateId} cannot be recorded: the pain diagnosis lookup failed. Cause: ${err instanceof Error ? err.message : String(err)}`, { candidateId, reason: 'reuse_pain_unresolvable', cause: err });
468
553
  }
554
+ if (diagnoses.length === 0) {
555
+ // PRI-917 v0.3.3 replay fix (R6 reality replay finding): production
556
+ // candidates are minted on the diag_router SUB-task, while pain_diagnoses
557
+ // rows are persisted under the TOP diagnostician task — a lookup by the
558
+ // candidate's own taskId can therefore NEVER resolve, making every fresh
559
+ // reuse decision fail closed. Walk the canonical router → diagnostician
560
+ // chain (same discipline as the seeding-side resolver: verify the task
561
+ // kind, read diagnosisId from the router run's validated outputPayload)
562
+ // and retry the lookup against the top task. rc-6: the walk only follows
563
+ // real task/run records, never parses ids out of task-id strings.
564
+ const topTaskId = await this.#resolveTopDiagnosticianTaskId(candidate);
565
+ if (topTaskId !== null) {
566
+ try {
567
+ diagnoses = await this.#stateManager.getDiagnosesByTaskId(topTaskId);
568
+ }
569
+ catch (err) {
570
+ throw new CandidateIntakeError(INTAKE_ERROR_CODES.REUSE_CHECK_FAILED, `Reuse decision for candidate ${candidateId} cannot be recorded: the pain diagnosis lookup for the top diagnostician task failed. Cause: ${err instanceof Error ? err.message : String(err)}`, { candidateId, reason: 'reuse_pain_unresolvable', cause: err });
571
+ }
572
+ }
573
+ }
469
574
  if (diagnoses.length === 0) {
470
575
  refuse('no persisted pain diagnosis exists for its task');
471
576
  }
@@ -483,5 +588,25 @@ export class CandidateIntakeService {
483
588
  }
484
589
  return latestPainId;
485
590
  }
591
+ /**
592
+ * PRI-917 v0.3.3 replay fix — resolve the TOP diagnostician task behind a
593
+ * diag_router sub-task. The sub-task's canonical parent link is its
594
+ * `inputRef` (verified against a real diagnostician task record — rc-6: the
595
+ * walk only follows persisted task records, never parses ids out of
596
+ * task-id strings). Returns `null` for any non-router task or broken link
597
+ * (the caller keeps the direct-lookup behavior).
598
+ */
599
+ async #resolveTopDiagnosticianTaskId(candidate) {
600
+ const task = await this.#stateManager.getTask(candidate.taskId);
601
+ if (!task || task.taskKind !== 'diag_router')
602
+ return null;
603
+ const parentTaskId = typeof task.inputRef === 'string' ? task.inputRef.trim() : '';
604
+ if (parentTaskId === '')
605
+ return null;
606
+ const topTask = await this.#stateManager.getTask(parentTaskId);
607
+ if (!topTask || topTask.taskKind !== 'diagnostician')
608
+ return null;
609
+ return topTask.taskId;
610
+ }
486
611
  }
487
612
  //# sourceMappingURL=candidate-intake-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"candidate-intake-service.js","sourceRoot":"","sources":["../../src/runtime-v2/candidate-intake-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"candidate-intake-service.js","sourceRoot":"","sources":["../../src/runtime-v2/candidate-intake-service.ts"],"names":[],"mappings":"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"}
@@ -3,12 +3,12 @@
3
3
  *
4
4
  * Public API for the PD-owned config contract.
5
5
  */
6
- export type { PdConfigVersion, FeatureCategory, FeatureFlagEntry, FeatureFlagSource, RuntimeProfileType, OpenClawRuntimeProfile, PdLocalRuntimeProfile, RuntimeProfile, InternalAgentName, InternalAgentBinding, InternalAgentsConfig, DiagnosticsMode, UiConfig, WorkspaceConfig, WorkspaceEnvironment, PrinciplesConfig, PdConfig, PdConfigValidationError, PdConfigValidationResultOk, PdConfigValidationResultErr, PdConfigValidationResult, EffectivePdConfig, RedactedRuntimeProfileSummary, RedactedAgentSummary, RedactedFeatureSummary, RedactedPdConfigSummary, ProfileAuditLevel, ProfileEvolutionMode, ProfileTestLevel, ProfileConfig, RedactedProfileSummary, ProjectFocusMode, ContextInjectionConfig, PartialContextInjectionConfig, } from './pd-config-types.js';
6
+ export type { PdConfigVersion, FeatureCategory, FeatureFlagEntry, FeatureFlagSource, RuntimeProfileType, OpenClawRuntimeProfile, PdLocalRuntimeProfile, RuntimeProfile, InternalAgentName, InternalAgentBinding, InternalAgentsConfig, DiagnosticsMode, UiConfig, WorkspaceConfig, WorkspaceEnvironment, PrinciplesConfig, ReuseEvaluationConfig, PdConfig, PdConfigValidationError, PdConfigValidationResultOk, PdConfigValidationResultErr, PdConfigValidationResult, EffectivePdConfig, RedactedRuntimeProfileSummary, RedactedAgentSummary, RedactedFeatureSummary, RedactedPdConfigSummary, ProfileAuditLevel, ProfileEvolutionMode, ProfileTestLevel, ProfileConfig, RedactedProfileSummary, ProjectFocusMode, ContextInjectionConfig, PartialContextInjectionConfig, } from './pd-config-types.js';
7
7
  export { PD_CONFIG_VERSION, VALID_FEATURE_CATEGORIES, VALID_PROFILE_TYPES, INTERNAL_AGENT_NAMES, VALID_DIAGNOSTICS_MODES, VALID_PROJECT_FOCUS_MODES, DANGEROUS_KEYS, WORKSPACE_ENVIRONMENTS, PROFILE_AUDIT_LEVELS, PROFILE_EVOLUTION_MODES, PROFILE_TEST_LEVELS, } from './pd-config-types.js';
8
8
  export { validatePdConfig, } from './pd-config-validate.js';
9
9
  export { validateProfileConfig, } from './pd-validate-profile.js';
10
10
  export { PROFILE_DEFAULTS, resolveProfile, } from './pd-profile-constants.js';
11
- export { DEFAULT_FEATURE_FLAGS, DEFAULT_RUNTIME_PROFILE_ID, DEFAULT_RUNTIME_PROFILE, DEFAULT_UI, DEFAULT_CONTEXT_INJECTION, getDefaultInternalAgents, getDefaultPdConfig, } from './pd-config-defaults.js';
11
+ export { DEFAULT_FEATURE_FLAGS, DEFAULT_RUNTIME_PROFILE_ID, DEFAULT_RUNTIME_PROFILE, DEFAULT_UI, DEFAULT_REUSE_EVALUATION, DEFAULT_CONTEXT_INJECTION, getDefaultInternalAgents, getDefaultPdConfig, } from './pd-config-defaults.js';
12
12
  export { computeEffectivePdConfig, } from './pd-config-effective.js';
13
13
  export { redactPdConfig, redactConfigValue, } from './pd-config-redaction.js';
14
14
  export type { EffectiveFeatureFlag, FeatureFlagsResult, } from './pd-config-feature-flags.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,QAAQ,EACR,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,QAAQ,EACR,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,EACxB,iBAAiB,EACjB,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EAEvB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EAEtB,gBAAgB,EAChB,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,cAAc,EAEd,sBAAsB,EAEtB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,gBAAgB,EAChB,cAAc,GACf,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,UAAU,EACV,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,cAAc,EACd,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EACV,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,eAAe,EACf,6BAA6B,EAC7B,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAGtC,YAAY,EACV,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,QAAQ,EACR,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,QAAQ,EACR,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,EACxB,iBAAiB,EACjB,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EAEvB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EAEtB,gBAAgB,EAChB,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,cAAc,EAEd,sBAAsB,EAEtB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,gBAAgB,EAChB,cAAc,GACf,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,UAAU,EACV,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,cAAc,EACd,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EACV,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,eAAe,EACf,6BAA6B,EAC7B,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAGtC,YAAY,EACV,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,8BAA8B,CAAC"}
@@ -15,7 +15,7 @@ export { validateProfileConfig, } from './pd-validate-profile.js';
15
15
  // Profile defaults — PRI-304
16
16
  export { PROFILE_DEFAULTS, resolveProfile, } from './pd-profile-constants.js';
17
17
  // Defaults
18
- export { DEFAULT_FEATURE_FLAGS, DEFAULT_RUNTIME_PROFILE_ID, DEFAULT_RUNTIME_PROFILE, DEFAULT_UI, DEFAULT_CONTEXT_INJECTION, getDefaultInternalAgents, getDefaultPdConfig, } from './pd-config-defaults.js';
18
+ export { DEFAULT_FEATURE_FLAGS, DEFAULT_RUNTIME_PROFILE_ID, DEFAULT_RUNTIME_PROFILE, DEFAULT_UI, DEFAULT_REUSE_EVALUATION, DEFAULT_CONTEXT_INJECTION, getDefaultInternalAgents, getDefaultPdConfig, } from './pd-config-defaults.js';
19
19
  // Effective config
20
20
  export { computeEffectivePdConfig, } from './pd-config-effective.js';
21
21
  // Redaction
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime-v2/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA0CH,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,cAAc;AACd,qCAAqC;AACrC,sBAAsB;AACtB,gBAAgB;AAChB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAE9B,aAAa;AACb,OAAO,EACL,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAEjC,+BAA+B;AAC/B,OAAO,EACL,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAElC,6BAA6B;AAC7B,OAAO,EACL,gBAAgB,EAChB,cAAc,GACf,MAAM,2BAA2B,CAAC;AAEnC,WAAW;AACX,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,UAAU,EACV,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAEjC,mBAAmB;AACnB,OAAO,EACL,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAElC,YAAY;AACZ,OAAO,EACL,cAAc,EACd,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAQlC,OAAO,EACL,eAAe,EACf,6BAA6B,EAC7B,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAatC,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime-v2/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA2CH,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,cAAc;AACd,qCAAqC;AACrC,sBAAsB;AACtB,gBAAgB;AAChB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAE9B,aAAa;AACb,OAAO,EACL,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAEjC,+BAA+B;AAC/B,OAAO,EACL,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAElC,6BAA6B;AAC7B,OAAO,EACL,gBAAgB,EAChB,cAAc,GACf,MAAM,2BAA2B,CAAC;AAEnC,WAAW;AACX,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,UAAU,EACV,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAEjC,mBAAmB;AACnB,OAAO,EACL,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAElC,YAAY;AACZ,OAAO,EACL,cAAc,EACd,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAQlC,OAAO,EACL,eAAe,EACf,6BAA6B,EAC7B,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAatC,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,8BAA8B,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * Deterministic defaults for missing config.
5
5
  * All defaults are testable and explicit.
6
6
  */
7
- import { type PdConfig, type FeatureFlagEntry, type OpenClawRuntimeProfile, type PdLocalRuntimeProfile, type InternalAgentsConfig, type UiConfig, type ContextInjectionConfig } from './pd-config-types.js';
7
+ import { type PdConfig, type FeatureFlagEntry, type OpenClawRuntimeProfile, type PdLocalRuntimeProfile, type InternalAgentsConfig, type UiConfig, type ContextInjectionConfig, type ReuseEvaluationConfig } from './pd-config-types.js';
8
8
  export declare const DEFAULT_FEATURE_FLAGS: Record<string, FeatureFlagEntry>;
9
9
  export declare const PI_AI_DEFAULT_PROFILE_ID = "pd.default";
10
10
  export declare const PI_AI_DEFAULT_PROFILE: PdLocalRuntimeProfile;
@@ -15,5 +15,11 @@ export declare const DEFAULT_RUNTIME_PROFILE: OpenClawRuntimeProfile;
15
15
  export declare function getDefaultInternalAgents(): InternalAgentsConfig;
16
16
  export declare const DEFAULT_UI: UiConfig;
17
17
  export declare const DEFAULT_CONTEXT_INJECTION: ContextInjectionConfig;
18
+ /**
19
+ * PRI-917 v0.3.2 §8 — defaults for the Semantic Reuse Evaluation Capability.
20
+ * `runtimeProfile` stays absent on purpose: the effective layer falls back to
21
+ * `internalAgents.defaultRuntime` (the user's), not to a hard-coded id.
22
+ */
23
+ export declare const DEFAULT_REUSE_EVALUATION: ReuseEvaluationConfig;
18
24
  export declare function getDefaultPdConfig(): PdConfig;
19
25
  //# sourceMappingURL=pd-config-defaults.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pd-config-defaults.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-defaults.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAG1B,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,sBAAsB,EAG5B,MAAM,sBAAsB,CAAC;AAK9B,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAM,CAAC;AAc1E,eAAO,MAAM,wBAAwB,eAAe,CAAC;AAErD,eAAO,MAAM,qBAAqB,EAAE,qBAKnC,CAAC;AAEF,eAAO,MAAM,2BAA2B,qBAAqB,CAAC;AAE9D,eAAO,MAAM,wBAAwB,EAAE,sBAGtC,CAAC;AAEF,eAAO,MAAM,0BAA0B,qBAA8B,CAAC;AAEtE,eAAO,MAAM,uBAAuB,EAAE,sBAAiD,CAAC;AAmBxF,wBAAgB,wBAAwB,IAAI,oBAAoB,CAY/D;AAID,eAAO,MAAM,UAAU,EAAE,QAExB,CAAC;AAIF,eAAO,MAAM,yBAAyB,EAAE,sBAGvC,CAAC;AAIF,wBAAgB,kBAAkB,IAAI,QAAQ,CAa7C"}
1
+ {"version":3,"file":"pd-config-defaults.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-defaults.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAG1B,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAG3B,MAAM,sBAAsB,CAAC;AAK9B,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAM,CAAC;AAc1E,eAAO,MAAM,wBAAwB,eAAe,CAAC;AAErD,eAAO,MAAM,qBAAqB,EAAE,qBAKnC,CAAC;AAEF,eAAO,MAAM,2BAA2B,qBAAqB,CAAC;AAE9D,eAAO,MAAM,wBAAwB,EAAE,sBAGtC,CAAC;AAEF,eAAO,MAAM,0BAA0B,qBAA8B,CAAC;AAEtE,eAAO,MAAM,uBAAuB,EAAE,sBAAiD,CAAC;AAmBxF,wBAAgB,wBAAwB,IAAI,oBAAoB,CAY/D;AAID,eAAO,MAAM,UAAU,EAAE,QAExB,CAAC;AAIF,eAAO,MAAM,yBAAyB,EAAE,sBAGvC,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,qBAEtC,CAAC;AAEF,wBAAgB,kBAAkB,IAAI,QAAQ,CAgB7C"}
@@ -71,6 +71,14 @@ export const DEFAULT_CONTEXT_INJECTION = {
71
71
  projectFocus: 'off',
72
72
  };
73
73
  // ── Full Default Config ─────────────────────────────────────────────────────
74
+ /**
75
+ * PRI-917 v0.3.2 §8 — defaults for the Semantic Reuse Evaluation Capability.
76
+ * `runtimeProfile` stays absent on purpose: the effective layer falls back to
77
+ * `internalAgents.defaultRuntime` (the user's), not to a hard-coded id.
78
+ */
79
+ export const DEFAULT_REUSE_EVALUATION = {
80
+ enabled: true,
81
+ };
74
82
  export function getDefaultPdConfig() {
75
83
  return {
76
84
  version: PD_CONFIG_VERSION,
@@ -82,6 +90,9 @@ export function getDefaultPdConfig() {
82
90
  internalAgents: getDefaultInternalAgents(),
83
91
  ui: { ...DEFAULT_UI },
84
92
  principles: { outputLanguage: undefined },
93
+ // PRI-917 v0.3.2 §8: default ON (PRI-797 precedent); runtimeProfile
94
+ // resolved against internalAgents.defaultRuntime by the effective layer.
95
+ reuseEvaluation: { ...DEFAULT_REUSE_EVALUATION },
85
96
  contextInjection: undefined,
86
97
  };
87
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pd-config-defaults.js","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-defaults.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAUL,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,qBAAqB,IAAI,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAEvG,+EAA+E;AAE/E,MAAM,CAAC,MAAM,qBAAqB,GAAqC,EAAE,CAAC;AAC1E,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;IACrC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG;QAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,EAAE;AACF,yEAAyE;AACzE,4EAA4E;AAC5E,8EAA8E;AAE9E,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC;AAErD,MAAM,CAAC,MAAM,qBAAqB,GAA0B;IAC1D,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE,EAAE;IACT,SAAS,EAAE,EAAE;CACd,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,kBAAkB,CAAC;AAE9D,MAAM,CAAC,MAAM,wBAAwB,GAA2B;IAC9D,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,SAAS;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,2BAA2B,CAAC;AAEtE,MAAM,CAAC,MAAM,uBAAuB,GAA2B,wBAAwB,CAAC;AAExF,+EAA+E;AAE/E,MAAM,qBAAqB,GAAuC;IAChE,aAAa,EAAE,IAAI;IACnB,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,KAAK;IAClB,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,KAAK;IAChB,eAAe,EAAE,KAAK;IACtB,kBAAkB,EAAE,KAAK;IACzB,6DAA6D;IAC7D,oDAAoD;IACpD,4CAA4C;IAC5C,eAAe,EAAE,IAAI;CACtB,CAAC;AAEF,MAAM,UAAU,wBAAwB;IACtC,MAAM,MAAM,GAAyC,EAAE,CAAC;IACxD,KAAK,MAAM,IAAI,IAAI,oBAAoB,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,qBAAqB,CAAC,IAAI,CAAC;YACpC,cAAc,EAAE,0BAA0B;SAC3C,CAAC;IACJ,CAAC;IACD,OAAO;QACL,cAAc,EAAE,0BAA0B;QAC1C,MAAM,EAAE,MAAM;KACf,CAAC;AACJ,CAAC;AAED,+EAA+E;AAE/E,MAAM,CAAC,MAAM,UAAU,GAAa;IAClC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;CAChC,CAAC;AAEF,8EAA8E;AAE9E,MAAM,CAAC,MAAM,yBAAyB,GAA2B;IAC/D,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,KAAK;CACpB,CAAC;AAEF,+EAA+E;AAE/E,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,OAAO,EAAE,iBAAiB;QAC1B,QAAQ,EAAE,EAAE,GAAG,qBAAqB,EAAE;QACtC,eAAe,EAAE;YACf,CAAC,wBAAwB,CAAC,EAAE,EAAE,GAAG,qBAAqB,EAAE;YACxD,CAAC,2BAA2B,CAAC,EAAE,EAAE,GAAG,wBAAwB,EAAE;SAC/D;QACD,cAAc,EAAE,wBAAwB,EAAE;QAC1C,EAAE,EAAE,EAAE,GAAG,UAAU,EAAE;QACrB,UAAU,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE;QACzC,gBAAgB,EAAE,SAAS;KAC5B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"pd-config-defaults.js","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-defaults.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAWL,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,qBAAqB,IAAI,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAEvG,+EAA+E;AAE/E,MAAM,CAAC,MAAM,qBAAqB,GAAqC,EAAE,CAAC;AAC1E,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;IACrC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG;QAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,EAAE;AACF,yEAAyE;AACzE,4EAA4E;AAC5E,8EAA8E;AAE9E,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC;AAErD,MAAM,CAAC,MAAM,qBAAqB,GAA0B;IAC1D,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE,EAAE;IACT,SAAS,EAAE,EAAE;CACd,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,kBAAkB,CAAC;AAE9D,MAAM,CAAC,MAAM,wBAAwB,GAA2B;IAC9D,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,SAAS;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,2BAA2B,CAAC;AAEtE,MAAM,CAAC,MAAM,uBAAuB,GAA2B,wBAAwB,CAAC;AAExF,+EAA+E;AAE/E,MAAM,qBAAqB,GAAuC;IAChE,aAAa,EAAE,IAAI;IACnB,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,KAAK;IAClB,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,KAAK;IAChB,eAAe,EAAE,KAAK;IACtB,kBAAkB,EAAE,KAAK;IACzB,6DAA6D;IAC7D,oDAAoD;IACpD,4CAA4C;IAC5C,eAAe,EAAE,IAAI;CACtB,CAAC;AAEF,MAAM,UAAU,wBAAwB;IACtC,MAAM,MAAM,GAAyC,EAAE,CAAC;IACxD,KAAK,MAAM,IAAI,IAAI,oBAAoB,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,qBAAqB,CAAC,IAAI,CAAC;YACpC,cAAc,EAAE,0BAA0B;SAC3C,CAAC;IACJ,CAAC;IACD,OAAO;QACL,cAAc,EAAE,0BAA0B;QAC1C,MAAM,EAAE,MAAM;KACf,CAAC;AACJ,CAAC;AAED,+EAA+E;AAE/E,MAAM,CAAC,MAAM,UAAU,GAAa;IAClC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;CAChC,CAAC;AAEF,8EAA8E;AAE9E,MAAM,CAAC,MAAM,yBAAyB,GAA2B;IAC/D,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,KAAK;CACpB,CAAC;AAEF,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAA0B;IAC7D,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,OAAO,EAAE,iBAAiB;QAC1B,QAAQ,EAAE,EAAE,GAAG,qBAAqB,EAAE;QACtC,eAAe,EAAE;YACf,CAAC,wBAAwB,CAAC,EAAE,EAAE,GAAG,qBAAqB,EAAE;YACxD,CAAC,2BAA2B,CAAC,EAAE,EAAE,GAAG,wBAAwB,EAAE;SAC/D;QACD,cAAc,EAAE,wBAAwB,EAAE;QAC1C,EAAE,EAAE,EAAE,GAAG,UAAU,EAAE;QACrB,UAAU,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE;QACzC,oEAAoE;QACpE,yEAAyE;QACzE,eAAe,EAAE,EAAE,GAAG,wBAAwB,EAAE;QAChD,gBAAgB,EAAE,SAAS;KAC5B,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pd-config-effective.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-effective.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,iBAAiB,EAUvB,MAAM,sBAAsB,CAAC;AAuB9B;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,iBAAiB,CA4MnG"}
1
+ {"version":3,"file":"pd-config-effective.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-effective.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,iBAAiB,EAWvB,MAAM,sBAAsB,CAAC;AAwB9B;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,iBAAiB,CAsOnG"}
@@ -6,7 +6,7 @@
6
6
  * Per-agent override beats default runtime.
7
7
  */
8
8
  import { PD_CONFIG_VERSION, INTERNAL_AGENT_NAMES, DANGEROUS_KEYS, } from './pd-config-types.js';
9
- import { DEFAULT_FEATURE_FLAGS, DEFAULT_RUNTIME_PROFILE_ID, DEFAULT_RUNTIME_PROFILE, DEFAULT_UI, DEFAULT_CONTEXT_INJECTION, getDefaultInternalAgents, getDefaultPdConfig, } from './pd-config-defaults.js';
9
+ import { DEFAULT_FEATURE_FLAGS, DEFAULT_RUNTIME_PROFILE_ID, DEFAULT_RUNTIME_PROFILE, DEFAULT_UI, DEFAULT_CONTEXT_INJECTION, DEFAULT_REUSE_EVALUATION, getDefaultInternalAgents, getDefaultPdConfig, } from './pd-config-defaults.js';
10
10
  import { resolveProfile } from './pd-profile-constants.js';
11
11
  import { normalizeFeatureFlagOverrides } from '../feature-flags/feature-flag-contract.js';
12
12
  function resolveContextInjection(userPartial) {
@@ -178,6 +178,28 @@ export function computeEffectivePdConfig(userConfig) {
178
178
  defaultRuntime: userConfig.internalAgents.defaultRuntime,
179
179
  agents: agents,
180
180
  };
181
+ // Reuse evaluation (PRI-917 v0.3.2 §8): dedicated capability config, not a
182
+ // general capability registry. Absent in legacy configs → full defaults
183
+ // (zero migration). runtimeProfile falls back to the USER's
184
+ // internalAgents.defaultRuntime (not a hard-coded id), and a profile that
185
+ // does not exist is reported as a warning — never a silent fallback to a
186
+ // different LLM than the workspace configured.
187
+ const userReuseEvaluation = userConfig.reuseEvaluation ?? {};
188
+ const reuseEvaluationProfile = userReuseEvaluation.runtimeProfile ?? userConfig.internalAgents.defaultRuntime;
189
+ // PRI-917 review (P1): judge on the RESOLVED enabled value — a legacy
190
+ // config has no section, so the raw value is undefined while the capability
191
+ // still resolves to enabled (default). Skipping the check there silently
192
+ // dropped the missing-profile warning (rc-9).
193
+ const reuseEvaluationEnabled = userReuseEvaluation.enabled ?? DEFAULT_REUSE_EVALUATION.enabled;
194
+ if (reuseEvaluationEnabled && !Object.hasOwn(runtimeProfiles, reuseEvaluationProfile)) {
195
+ warnings.push(`reuseEvaluation: runtime profile '${reuseEvaluationProfile}' not found in runtimeProfiles ` +
196
+ '(the capability will not run until a configured profile is available)');
197
+ }
198
+ const reuseEvaluation = {
199
+ enabled: userReuseEvaluation.enabled ?? DEFAULT_REUSE_EVALUATION.enabled,
200
+ runtimeProfile: reuseEvaluationProfile,
201
+ ...(userReuseEvaluation.timeoutMs !== undefined ? { timeoutMs: userReuseEvaluation.timeoutMs } : {}),
202
+ };
181
203
  // UI: use user config or default
182
204
  const ui = userConfig.ui ?? { ...DEFAULT_UI };
183
205
  // Principles: use user config or default (PRI-336)
@@ -194,6 +216,7 @@ export function computeEffectivePdConfig(userConfig) {
194
216
  internalAgents,
195
217
  ui,
196
218
  principles,
219
+ reuseEvaluation,
197
220
  ...(userConfig.profile ? { profile: userConfig.profile } : {}),
198
221
  ...(userConfig.contextInjection ? { contextInjection: userConfig.contextInjection } : {}),
199
222
  };