@principles/core 1.288.1 → 1.289.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/runtime-v2/bridge-result-shaper.d.ts +8 -0
- package/dist/runtime-v2/bridge-result-shaper.d.ts.map +1 -1
- package/dist/runtime-v2/bridge-result-shaper.js +61 -3
- package/dist/runtime-v2/bridge-result-shaper.js.map +1 -1
- package/dist/runtime-v2/candidate-intake-service.d.ts +62 -2
- package/dist/runtime-v2/candidate-intake-service.d.ts.map +1 -1
- package/dist/runtime-v2/candidate-intake-service.js +234 -77
- package/dist/runtime-v2/candidate-intake-service.js.map +1 -1
- package/dist/runtime-v2/index.d.ts +2 -0
- package/dist/runtime-v2/index.d.ts.map +1 -1
- package/dist/runtime-v2/index.js +5 -0
- package/dist/runtime-v2/index.js.map +1 -1
- package/dist/runtime-v2/pain-signal-bridge.d.ts +28 -0
- package/dist/runtime-v2/pain-signal-bridge.d.ts.map +1 -1
- package/dist/runtime-v2/pain-signal-bridge.js +144 -1
- package/dist/runtime-v2/pain-signal-bridge.js.map +1 -1
- package/dist/runtime-v2/pain-signal-runtime-factory.d.ts +35 -6
- package/dist/runtime-v2/pain-signal-runtime-factory.d.ts.map +1 -1
- package/dist/runtime-v2/pain-signal-runtime-factory.js +162 -14
- package/dist/runtime-v2/pain-signal-runtime-factory.js.map +1 -1
- package/dist/runtime-v2/pain-to-principle-service.d.ts +10 -0
- package/dist/runtime-v2/pain-to-principle-service.d.ts.map +1 -1
- package/dist/runtime-v2/pain-to-principle-service.js +11 -1
- package/dist/runtime-v2/pain-to-principle-service.js.map +1 -1
- package/dist/telemetry-event.d.ts +2 -2
- package/dist/telemetry-event.d.ts.map +1 -1
- package/dist/telemetry-event.js +5 -0
- package/dist/telemetry-event.js.map +1 -1
- package/package.json +1 -1
|
@@ -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,24 @@ 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
|
-
|
|
355
|
+
// PRI-939 Option A — outcome of the auto-path recommendation hook when it
|
|
356
|
+
// ran and the write proceeded (Rules 2-4). Undefined for not_configured /
|
|
357
|
+
// no_candidates / Owner-decision shapes. Returned on the ledger_entry
|
|
358
|
+
// result so the degradation reason survives past the gate.
|
|
359
|
+
let autoRecommendation;
|
|
360
|
+
if ((this.#reuseDecision || this.#reuseRecommendation) && this.#reuseStateDir) {
|
|
361
|
+
const reuseClaim = {
|
|
362
|
+
text: recommendation.text || candidate.description || '',
|
|
363
|
+
triggerPattern: recommendation.triggerPattern ?? '',
|
|
364
|
+
action: recommendation.action ?? '',
|
|
365
|
+
};
|
|
315
366
|
let proposal;
|
|
316
367
|
try {
|
|
317
|
-
proposal = buildReuseProposal(candidateId, buildReuseShortlist(
|
|
318
|
-
text: recommendation.text || candidate.description || '',
|
|
319
|
-
triggerPattern: recommendation.triggerPattern ?? '',
|
|
320
|
-
action: recommendation.action ?? '',
|
|
321
|
-
}, this.#reuseStateDir,
|
|
368
|
+
proposal = buildReuseProposal(candidateId, buildReuseShortlist(reuseClaim, this.#reuseStateDir,
|
|
322
369
|
// Single truth: the persisted candidate's own kind. Step 3b has
|
|
323
370
|
// already proved eligibility fail-closed, so this is a restatement,
|
|
324
371
|
// never a second source a caller can override.
|
|
@@ -328,88 +375,149 @@ export class CandidateIntakeService {
|
|
|
328
375
|
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
376
|
}
|
|
330
377
|
if (proposalNeedsDecision(proposal)) {
|
|
331
|
-
// PRI-917
|
|
332
|
-
//
|
|
333
|
-
//
|
|
334
|
-
//
|
|
335
|
-
//
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
378
|
+
// PRI-917 v0.3.3 (OD-PRI917-05) — AUTO-path Reuse Review Gate.
|
|
379
|
+
//
|
|
380
|
+
// Runs only when a recommendation hook is injected WITHOUT an Owner
|
|
381
|
+
// decision function (the production auto shape: bridge / diagnose /
|
|
382
|
+
// pain-retry). The hook is a RECOMMENDATION channel: `reuse` parks the
|
|
383
|
+
// candidate for the Owner (refused/reuse_pending_owner — no Principle,
|
|
384
|
+
// no evidence, candidate stays pending); every other outcome
|
|
385
|
+
// (create / uncertain / unavailable / selection outside the proposal)
|
|
386
|
+
// proceeds to CREATE exactly as the unconfigured gate would (Rules
|
|
387
|
+
// 2-4: uncertain keeps creating in phase 1; evaluation failure must
|
|
388
|
+
// never block learning; a hallucinated id is treated as unavailable).
|
|
389
|
+
if (this.#reuseRecommendation && !this.#reuseDecision) {
|
|
390
|
+
const recommendationOutcome = await this.#runReuseRecommendation(reuseClaim, proposal);
|
|
391
|
+
// PRI-939 Option A: carry the hook outcome out on the CREATE path so
|
|
392
|
+
// callers (bridge / pain-retry / diagnose) can surface the degradation
|
|
393
|
+
// instead of dropping the reason at the gate. Reassigned below when
|
|
394
|
+
// the gate proceeds past the park branch (Rules 2-4).
|
|
395
|
+
autoRecommendation = recommendationOutcome;
|
|
396
|
+
if (recommendationOutcome.status === 'recommended') {
|
|
397
|
+
const { recommendation: verdict, selectedPrincipleId, confidence } = recommendationOutcome;
|
|
398
|
+
if (verdict === 'reuse' &&
|
|
399
|
+
selectedPrincipleId !== undefined &&
|
|
400
|
+
proposal.candidates.some((entry) => entry.principleId === selectedPrincipleId)) {
|
|
401
|
+
return {
|
|
402
|
+
outcome: 'refused',
|
|
403
|
+
reason: 'reuse_pending_owner',
|
|
404
|
+
candidateId,
|
|
405
|
+
rawRecommendationKind: typeof candidate.rawRecommendationKind === 'string' ? candidate.rawRecommendationKind : null,
|
|
406
|
+
message: `Candidate ${candidateId} is a suspected duplicate of existing Principle ${selectedPrincipleId} ` +
|
|
407
|
+
`(semantic reuse recommendation, confidence ${confidence}). No Principle was created and no evidence ` +
|
|
408
|
+
'was written; the candidate stays PENDING for the Owner. ' +
|
|
409
|
+
`nextAction: pd candidate review --candidate-id ${candidateId} --decide reuse|create --reason "..."`,
|
|
410
|
+
reuseProposal: proposal,
|
|
411
|
+
reuseRecommendation: recommendationOutcome,
|
|
412
|
+
};
|
|
413
|
+
}
|
|
414
|
+
// PRI-939 review fix (CodeRabbit): SPEC v0.3.3 treats a reuse
|
|
415
|
+
// verdict whose selection is outside the proposal as unavailable
|
|
416
|
+
// ("a hallucinated id is treated as unavailable", Rules 2-4). The
|
|
417
|
+
// CREATE still proceeds below, but the observability projection
|
|
418
|
+
// must report the degradation — a bare `recommended` would hide
|
|
419
|
+
// why duplicate protection did not run.
|
|
420
|
+
if (verdict === 'reuse') {
|
|
421
|
+
autoRecommendation = {
|
|
422
|
+
status: 'unavailable',
|
|
423
|
+
reason: `reuse selection ${selectedPrincipleId === undefined ? '(absent)' : selectedPrincipleId} ` +
|
|
424
|
+
'is not in the proposal (hallucinated id treated as unavailable per SPEC v0.3.3)',
|
|
425
|
+
};
|
|
426
|
+
}
|
|
342
427
|
}
|
|
343
|
-
|
|
428
|
+
// create / uncertain / unavailable / hallucinated id → Rules 2/3/4:
|
|
429
|
+
// CREATE proceeds (uncertain keeps creating in phase 1; evaluation
|
|
430
|
+
// failure must never block learning).
|
|
431
|
+
reuseCheck = 'recommended_create';
|
|
344
432
|
}
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
//
|
|
349
|
-
//
|
|
350
|
-
//
|
|
351
|
-
|
|
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;
|
|
433
|
+
else if (this.#reuseDecision) {
|
|
434
|
+
// PRI-917 hardening: the decision function is an UNTRUSTED boundary
|
|
435
|
+
// (an AI Owner parses model output), so its return value is validated
|
|
436
|
+
// at runtime. Previously anything that was not exactly 'reuse' fell
|
|
437
|
+
// through to 'create' — a malformed answer silently manufactured the
|
|
438
|
+
// very duplicate this gate exists to prevent (rc-1/rc-2/rc-3).
|
|
439
|
+
let decision;
|
|
374
440
|
try {
|
|
375
|
-
const
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
decision
|
|
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)`);
|
|
441
|
+
const raw = this.#reuseDecision(proposal);
|
|
442
|
+
const validated = validateReuseDecision(raw);
|
|
443
|
+
if (!validated.ok) {
|
|
444
|
+
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
445
|
}
|
|
391
|
-
|
|
446
|
+
({ decision } = validated);
|
|
392
447
|
}
|
|
393
|
-
catch (
|
|
394
|
-
|
|
448
|
+
catch (decisionErr) {
|
|
449
|
+
if (decisionErr instanceof CandidateIntakeError)
|
|
450
|
+
throw decisionErr;
|
|
451
|
+
// A throwing decision function (LLM timeout, parse crash) is a reuse
|
|
452
|
+
// check failure, not an internal error: it must fail closed with a
|
|
453
|
+
// candidate-scoped code rather than escaping as an arbitrary throw.
|
|
454
|
+
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 });
|
|
455
|
+
}
|
|
456
|
+
if (decision.decision === 'reuse') {
|
|
457
|
+
const known = new Set(proposal.candidates.map((c) => c.principleId));
|
|
458
|
+
if (!known.has(decision.selectedPrincipleId)) {
|
|
459
|
+
// INV-R08: a selection outside the proposal fails closed. It must
|
|
460
|
+
// NOT silently degrade into "create". This is a defect in the
|
|
461
|
+
// reuse decision contract, not a malformed intake input, so it
|
|
462
|
+
// carries REUSE_CHECK_FAILED rather than INPUT_INVALID — the
|
|
463
|
+
// latter would file a governance error under "bad input".
|
|
464
|
+
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' });
|
|
465
|
+
}
|
|
466
|
+
// PRI-917 PR3B Phase 2 — materialise the verdict as durable evidence
|
|
467
|
+
// BEFORE reporting it. A reuse verdict that is not persisted would
|
|
468
|
+
// leave the resolution invisible: replay would re-ask the Owner, and
|
|
469
|
+
// the SPEC §11/§12 asymmetry (REUSE must be auditable, CREATE's
|
|
470
|
+
// artifact speaks for itself) would silently break. The write runs
|
|
471
|
+
// INSIDE the ledger's single-writer lock (appendReuseEvidence) and is
|
|
472
|
+
// fail-closed: an integrity/shape failure propagates and the
|
|
473
|
+
// candidate stays pending — it NEVER degrades into creating a
|
|
474
|
+
// Principle (INV-R03/INV-R08).
|
|
475
|
+
const painId = await this.#resolveReusePainId(candidateId, candidate);
|
|
476
|
+
let evidence;
|
|
477
|
+
try {
|
|
478
|
+
const appended = this.#ledgerAdapter.appendReuseEvidence(decision.selectedPrincipleId, {
|
|
479
|
+
painId,
|
|
480
|
+
candidateId,
|
|
481
|
+
decision: 'reuse',
|
|
482
|
+
actor: decision.actor,
|
|
483
|
+
reason: decision.reason,
|
|
484
|
+
decidedAt: decision.decidedAt,
|
|
485
|
+
});
|
|
486
|
+
// The writer either appended this candidate's entry or returned the
|
|
487
|
+
// already-recorded one (concurrent-intake dedupe) — the entry for
|
|
488
|
+
// THIS candidateId must be present; anything else is a broken
|
|
489
|
+
// adapter and fails loud instead of reporting a fabricated record.
|
|
490
|
+
const recorded = appended.reuseEvidence.find((e) => e.candidateId === candidateId);
|
|
491
|
+
if (!recorded) {
|
|
492
|
+
throw new Error(`appendReuseEvidence returned no evidence entry for candidate ${candidateId} (adapter contract violation)`);
|
|
493
|
+
}
|
|
494
|
+
evidence = recorded;
|
|
495
|
+
}
|
|
496
|
+
catch (evidenceErr) {
|
|
497
|
+
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 });
|
|
498
|
+
}
|
|
499
|
+
return {
|
|
500
|
+
outcome: 'refused',
|
|
501
|
+
reason: 'reuse_selected',
|
|
502
|
+
candidateId,
|
|
503
|
+
rawRecommendationKind: typeof candidate.rawRecommendationKind === 'string' ? candidate.rawRecommendationKind : null,
|
|
504
|
+
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.`,
|
|
505
|
+
reuseProposal: proposal,
|
|
506
|
+
selectedPrincipleId: decision.selectedPrincipleId,
|
|
507
|
+
reuseEvidence: evidence,
|
|
508
|
+
};
|
|
395
509
|
}
|
|
396
|
-
|
|
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
|
-
};
|
|
510
|
+
reuseCheck = 'create_decided';
|
|
406
511
|
}
|
|
407
|
-
reuseCheck = 'create_decided';
|
|
408
512
|
}
|
|
409
513
|
else {
|
|
410
514
|
reuseCheck = 'no_candidates';
|
|
411
515
|
}
|
|
412
516
|
}
|
|
517
|
+
// Replay review is read-only: create/uncertain/unavailable never resumes a
|
|
518
|
+
// ledger write, and the Owner verdict path is excluded by reviewReuse.
|
|
519
|
+
if (reviewOnly)
|
|
520
|
+
return null;
|
|
413
521
|
// 5. Build 11-field LedgerPrincipleEntry (E-06)
|
|
414
522
|
const entry = {
|
|
415
523
|
id: randomUUID(),
|
|
@@ -427,7 +535,16 @@ export class CandidateIntakeService {
|
|
|
427
535
|
// 6. Write to ledger via adapter (E-01, D-09)
|
|
428
536
|
try {
|
|
429
537
|
const written = this.#ledgerAdapter.writeProbationEntry(entry);
|
|
430
|
-
return {
|
|
538
|
+
return {
|
|
539
|
+
outcome: 'ledger_entry',
|
|
540
|
+
written: true,
|
|
541
|
+
entry: written,
|
|
542
|
+
reuseCheck,
|
|
543
|
+
// PRI-939 Option A: the hook outcome rides out on the CREATE result so
|
|
544
|
+
// the degradation (unavailable) reason reaches the Owner's output
|
|
545
|
+
// instead of dying at the gate. Undefined unless the auto-shape hook ran.
|
|
546
|
+
...(autoRecommendation !== undefined ? { reuseRecommendation: autoRecommendation } : {}),
|
|
547
|
+
};
|
|
431
548
|
}
|
|
432
549
|
catch (err) {
|
|
433
550
|
if (err instanceof CandidateIntakeError) {
|
|
@@ -466,6 +583,26 @@ export class CandidateIntakeService {
|
|
|
466
583
|
catch (err) {
|
|
467
584
|
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
585
|
}
|
|
586
|
+
if (diagnoses.length === 0) {
|
|
587
|
+
// PRI-917 v0.3.3 replay fix (R6 reality replay finding): production
|
|
588
|
+
// candidates are minted on the diag_router SUB-task, while pain_diagnoses
|
|
589
|
+
// rows are persisted under the TOP diagnostician task — a lookup by the
|
|
590
|
+
// candidate's own taskId can therefore NEVER resolve, making every fresh
|
|
591
|
+
// reuse decision fail closed. Walk the canonical router → diagnostician
|
|
592
|
+
// chain (same discipline as the seeding-side resolver: verify the task
|
|
593
|
+
// kind, read diagnosisId from the router run's validated outputPayload)
|
|
594
|
+
// and retry the lookup against the top task. rc-6: the walk only follows
|
|
595
|
+
// real task/run records, never parses ids out of task-id strings.
|
|
596
|
+
const topTaskId = await this.#resolveTopDiagnosticianTaskId(candidate);
|
|
597
|
+
if (topTaskId !== null) {
|
|
598
|
+
try {
|
|
599
|
+
diagnoses = await this.#stateManager.getDiagnosesByTaskId(topTaskId);
|
|
600
|
+
}
|
|
601
|
+
catch (err) {
|
|
602
|
+
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 });
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
}
|
|
469
606
|
if (diagnoses.length === 0) {
|
|
470
607
|
refuse('no persisted pain diagnosis exists for its task');
|
|
471
608
|
}
|
|
@@ -483,5 +620,25 @@ export class CandidateIntakeService {
|
|
|
483
620
|
}
|
|
484
621
|
return latestPainId;
|
|
485
622
|
}
|
|
623
|
+
/**
|
|
624
|
+
* PRI-917 v0.3.3 replay fix — resolve the TOP diagnostician task behind a
|
|
625
|
+
* diag_router sub-task. The sub-task's canonical parent link is its
|
|
626
|
+
* `inputRef` (verified against a real diagnostician task record — rc-6: the
|
|
627
|
+
* walk only follows persisted task records, never parses ids out of
|
|
628
|
+
* task-id strings). Returns `null` for any non-router task or broken link
|
|
629
|
+
* (the caller keeps the direct-lookup behavior).
|
|
630
|
+
*/
|
|
631
|
+
async #resolveTopDiagnosticianTaskId(candidate) {
|
|
632
|
+
const task = await this.#stateManager.getTask(candidate.taskId);
|
|
633
|
+
if (!task || task.taskKind !== 'diag_router')
|
|
634
|
+
return null;
|
|
635
|
+
const parentTaskId = typeof task.inputRef === 'string' ? task.inputRef.trim() : '';
|
|
636
|
+
if (parentTaskId === '')
|
|
637
|
+
return null;
|
|
638
|
+
const topTask = await this.#stateManager.getTask(parentTaskId);
|
|
639
|
+
if (!topTask || topTask.taskKind !== 'diagnostician')
|
|
640
|
+
return null;
|
|
641
|
+
return topTask.taskId;
|
|
642
|
+
}
|
|
486
643
|
}
|
|
487
644
|
//# 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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"}
|
|
@@ -61,6 +61,8 @@ export type { CandidateIntakeInput, CandidateIntakeOutput, LedgerPrincipleEntry,
|
|
|
61
61
|
export { validateRecommendation } from './candidate-intake.js';
|
|
62
62
|
export { CandidateIntakeService } from './candidate-intake-service.js';
|
|
63
63
|
export type { CandidateIntakeServiceOptions } from './candidate-intake-service.js';
|
|
64
|
+
export { createReuseRecommendationHook } from './pain-signal-runtime-factory.js';
|
|
65
|
+
export type { ReuseRecommendationOutcome } from './candidate-intake-service.js';
|
|
64
66
|
export { extractIntakeRecommendation } from './candidate-intake-service.js';
|
|
65
67
|
export type { CandidateRecommendationExtraction, CandidateIntakeResult } from './candidate-intake-service.js';
|
|
66
68
|
export { buildReuseProposal, proposalNeedsDecision } from './principle-reuse/reuse-proposal.js';
|