@principles/core 1.274.4 → 1.275.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.
Files changed (35) hide show
  1. package/dist/runtime-v2/__tests__/pain-ingress-persistence.test.d.ts +2 -0
  2. package/dist/runtime-v2/__tests__/pain-ingress-persistence.test.d.ts.map +1 -0
  3. package/dist/runtime-v2/__tests__/pain-ingress-persistence.test.js +276 -0
  4. package/dist/runtime-v2/__tests__/pain-ingress-persistence.test.js.map +1 -0
  5. package/dist/runtime-v2/__tests__/pain-ingress-shared-semantics.test.d.ts +2 -0
  6. package/dist/runtime-v2/__tests__/pain-ingress-shared-semantics.test.d.ts.map +1 -0
  7. package/dist/runtime-v2/__tests__/pain-ingress-shared-semantics.test.js +131 -0
  8. package/dist/runtime-v2/__tests__/pain-ingress-shared-semantics.test.js.map +1 -0
  9. package/dist/runtime-v2/__tests__/pain-outcome-convergence.test.d.ts +2 -0
  10. package/dist/runtime-v2/__tests__/pain-outcome-convergence.test.d.ts.map +1 -0
  11. package/dist/runtime-v2/__tests__/pain-outcome-convergence.test.js +126 -0
  12. package/dist/runtime-v2/__tests__/pain-outcome-convergence.test.js.map +1 -0
  13. package/dist/runtime-v2/__tests__/pain-signal-bridge-execute-pending.test.js +95 -0
  14. package/dist/runtime-v2/__tests__/pain-signal-bridge-execute-pending.test.js.map +1 -1
  15. package/dist/runtime-v2/index.d.ts +9 -1
  16. package/dist/runtime-v2/index.d.ts.map +1 -1
  17. package/dist/runtime-v2/index.js +6 -0
  18. package/dist/runtime-v2/index.js.map +1 -1
  19. package/dist/runtime-v2/pain-ingress-payload.d.ts +207 -0
  20. package/dist/runtime-v2/pain-ingress-payload.d.ts.map +1 -0
  21. package/dist/runtime-v2/pain-ingress-payload.js +340 -0
  22. package/dist/runtime-v2/pain-ingress-payload.js.map +1 -0
  23. package/dist/runtime-v2/pain-ingress.d.ts +61 -0
  24. package/dist/runtime-v2/pain-ingress.d.ts.map +1 -0
  25. package/dist/runtime-v2/pain-ingress.js +163 -0
  26. package/dist/runtime-v2/pain-ingress.js.map +1 -0
  27. package/dist/runtime-v2/pain-signal-bridge.d.ts +39 -1
  28. package/dist/runtime-v2/pain-signal-bridge.d.ts.map +1 -1
  29. package/dist/runtime-v2/pain-signal-bridge.js +163 -8
  30. package/dist/runtime-v2/pain-signal-bridge.js.map +1 -1
  31. package/dist/runtime-v2/pain-to-principle-service.d.ts +8 -1
  32. package/dist/runtime-v2/pain-to-principle-service.d.ts.map +1 -1
  33. package/dist/runtime-v2/pain-to-principle-service.js +3 -0
  34. package/dist/runtime-v2/pain-to-principle-service.js.map +1 -1
  35. package/package.json +1 -1
@@ -0,0 +1,163 @@
1
+ /**
2
+ * Pain Ingress semantic evaluator — PRI-642 SPEC §8. THE single authority
3
+ * for pain ingress semantics across every adapter (OpenClaw funnel, pd-cli,
4
+ * future hosts):
5
+ *
6
+ * origin classification · bound/unbound correlation semantics ·
7
+ * provenance derivation · sentinel handling ·
8
+ * submit / degrade / refuse / observation_only decisions ·
9
+ * painIngress.v1 construction rules
10
+ *
11
+ * Host adapters differ only in ACQUISITION (how they obtain the session,
12
+ * read the trajectory, and build raw evidence); they MUST NOT re-implement
13
+ * the interpretation. Adapters build a PainIngressReport from their
14
+ * host-specific facts and call evaluatePainIngress.
15
+ *
16
+ * The field parsers, the sentinel constant, the origin/correlation
17
+ * invariant and parsePainIngressReport live in pain-ingress-payload.ts and
18
+ * are shared with the persisted-payload validator (re-entry) — one
19
+ * implementation, no drift.
20
+ *
21
+ * Pure module — no I/O, no persistence, no identity minting (SPEC §6: the
22
+ * ingress mints no canonical identity and owns no task store).
23
+ */
24
+ import { deriveProvenanceFromIngressFacts } from './pain-ingress-payload.js';
25
+ import { PAIN_INGRESS_PAYLOAD_VERSION } from './pain-ingress-payload.js';
26
+ import { validateOriginCorrelationInvariant } from './pain-ingress-payload.js';
27
+ // Single public surface: re-export the shared parsers/invariants so
28
+ // adapters can import the whole ingress family from this module.
29
+ export { SENTINEL_SESSION_IDS, isSentinelSessionId, parsePainIngressReport, validateOriginCorrelationInvariant, } from './pain-ingress-payload.js';
30
+ // ── Evaluation (SPEC §8.2 valid-combination matrix) ────────────────────────
31
+ /**
32
+ * rc-6 lineage consistency: the Codex logical observation key embeds the
33
+ * rollout identity (`codex|<rolloutIdentity>|<turnId>|<kind>`) — identifiers
34
+ * from different events must be rejected, not averaged into one report.
35
+ */
36
+ function isCodexLineageConsistent(correlation) {
37
+ if (correlation.status !== 'bound' || correlation.hostKind !== 'codex')
38
+ return true;
39
+ const prefix = `codex|${correlation.rolloutIdentity}|`;
40
+ return correlation.logicalObservationKey.startsWith(prefix);
41
+ }
42
+ function buildV1Payload(report) {
43
+ const evidenceClass = report.evidence.status === 'available'
44
+ ? { status: 'available', entryCount: report.evidence.entries.length }
45
+ : { status: 'unavailable', reason: report.evidence.reason };
46
+ return {
47
+ version: PAIN_INGRESS_PAYLOAD_VERSION,
48
+ origin: report.origin,
49
+ correlation: report.correlation,
50
+ evidenceClass,
51
+ };
52
+ }
53
+ function buildLegacy(report, evidence) {
54
+ const provenance = deriveProvenanceFromIngressFacts(report.origin, report.correlation);
55
+ const legacy = {
56
+ painId: report.identity.kind === 'manual_pain_id' ? report.identity.painId : report.identity.observationId,
57
+ painType: report.painType,
58
+ source: report.source,
59
+ reason: report.reason,
60
+ score: report.score,
61
+ provenance,
62
+ evidence,
63
+ painIngress: buildV1Payload(report),
64
+ };
65
+ if (report.correlation.status === 'bound') {
66
+ legacy.hostKind = report.correlation.hostKind;
67
+ if (report.correlation.hostKind === 'openclaw') {
68
+ legacy.sessionId = report.correlation.sessionId;
69
+ }
70
+ else {
71
+ // Parity with the existing Codex admission path (it passes the root
72
+ // session as the legacy sessionId); the FULL unflattened lineage
73
+ // (rolloutIdentity / logicalObservationKey / hostTurnId) is retained
74
+ // in the versioned painIngress payload (frozen decision #8).
75
+ legacy.sessionId = report.correlation.rootSessionId;
76
+ }
77
+ if (report.correlation.traceId !== undefined)
78
+ legacy.traceId = report.correlation.traceId;
79
+ }
80
+ return legacy;
81
+ }
82
+ /**
83
+ * Decide the pre-LLM action for a validated report, per SPEC §8.2. Pure —
84
+ * no I/O, no persistence, no identity minting.
85
+ */
86
+ export function evaluatePainIngress(report) {
87
+ const { origin, correlation, evidence } = report;
88
+ // rc-6: lineage identifiers must come from one consistent event.
89
+ if (!isCodexLineageConsistent(correlation)) {
90
+ return {
91
+ action: 'refuse',
92
+ reasonCode: 'lineage_mismatch',
93
+ warning: 'Lineage identifiers disagree (logical observation key does not embed the rollout identity).',
94
+ nextAction: 'Re-emit the observation from the event that owns the full lineage tuple.',
95
+ };
96
+ }
97
+ // Row 7 / row 5: an unbound-channel report may never claim host binding,
98
+ // and an explicit-session channel may never be unbound (shared invariant
99
+ // also enforced by the persisted-payload validator on re-entry).
100
+ const invariantViolation = validateOriginCorrelationInvariant(origin, correlation);
101
+ if (invariantViolation !== null) {
102
+ return {
103
+ action: 'refuse',
104
+ reasonCode: invariantViolation,
105
+ warning: origin.kind === 'owner_manual' && origin.channel === 'external_cli_unbound'
106
+ ? 'An external unbound Owner report cannot claim a host-bound correlation.'
107
+ : 'An explicit-session report arrived without a bound session.',
108
+ nextAction: 'Record via /pd-pain or pd pain record --session for a bound report, or keep the report unbound.',
109
+ };
110
+ }
111
+ // Automatic hooks: no evidence or no binding → observation-only, no LLM.
112
+ if (origin.kind === 'automatic_hook') {
113
+ if (correlation.status === 'unbound') {
114
+ const legacy = buildLegacy(report, []);
115
+ return {
116
+ action: 'observation_only',
117
+ reasonCode: correlation.reason,
118
+ note: 'Automatic signal without host binding recorded as observation only; no diagnostic task, no LLM run.',
119
+ legacy,
120
+ painIngress: legacy.painIngress,
121
+ };
122
+ }
123
+ if (evidence.status === 'unavailable') {
124
+ const legacy = buildLegacy(report, []);
125
+ return {
126
+ action: 'observation_only',
127
+ reasonCode: evidence.reason,
128
+ note: 'Automatic signal without usable evidence recorded as observation only; no diagnostic task, no LLM run.',
129
+ legacy,
130
+ painIngress: legacy.painIngress,
131
+ };
132
+ }
133
+ const legacy = buildLegacy(report, [...evidence.entries]);
134
+ return { action: 'submit', legacy, painIngress: legacy.painIngress, warnings: [] };
135
+ }
136
+ // Owner manual, bound (openclaw_command / cli_explicit_session).
137
+ if (correlation.status === 'bound') {
138
+ if (evidence.status === 'available') {
139
+ const legacy = buildLegacy(report, [...evidence.entries]);
140
+ return { action: 'submit', legacy, painIngress: legacy.painIngress, warnings: [] };
141
+ }
142
+ const legacy = buildLegacy(report, []);
143
+ return {
144
+ action: 'degrade',
145
+ reasonCode: evidence.reason,
146
+ warning: `Session bound, but trajectory evidence is unavailable (${evidence.reason}); the report is submitted with honest empty evidence and candidates may be gated by the admission threshold.`,
147
+ nextAction: 'Verify the session has recorded turns/tool calls, or re-record when evidence exists.',
148
+ legacy,
149
+ painIngress: legacy.painIngress,
150
+ };
151
+ }
152
+ // Row 6: external unbound Owner report — manual exception with disclosure.
153
+ const legacy = buildLegacy(report, []);
154
+ return {
155
+ action: 'submit',
156
+ legacy,
157
+ painIngress: legacy.painIngress,
158
+ warnings: [
159
+ 'context_unbound: no session bound — no trajectory evidence attached; candidates will likely be blocked by the admission gate. Re-run with --session <id> for trace-backed diagnosis.',
160
+ ],
161
+ };
162
+ }
163
+ //# sourceMappingURL=pain-ingress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pain-ingress.js","sourceRoot":"","sources":["../../src/runtime-v2/pain-ingress.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import type { RunnerResult, RunnerResultStatus } from './runner/runner-result.js
5
5
  import type { PDErrorCategory } from './error-categories.js';
6
6
  import type { CandidateAdmissionResult, PainProvenance } from './admission-gate.js';
7
7
  import type { DiagnosticianOutputV1 } from './diagnostician-output.js';
8
+ import type { PainIngressV1Payload } from './pain-ingress-payload.js';
8
9
  export type { PainProvenance };
9
10
  /**
10
11
  * Minimal interface for a diagnostician runner.
@@ -41,6 +42,13 @@ export interface PainDetectedData {
41
42
  /** Codex Governance Closure SPEC §12: provenance `host_context_bound` names the host. */
42
43
  hostKind?: GovernanceHostKind;
43
44
  evidence?: PainEvidenceEntry[];
45
+ /**
46
+ * PRI-642 SPEC §9: validated rev-2 ingress facts. When present,
47
+ * buildDiagnosticJson writes them under the versioned `painIngress`
48
+ * namespace next to the legacy top-level fields (one builder), and
49
+ * re-entry validates the two against each other.
50
+ */
51
+ painIngress?: PainIngressV1Payload;
44
52
  }
45
53
  export type PainSignalBridgeStatus = 'succeeded' | 'skipped' | 'failed' | 'retried' | 'degraded';
46
54
  /**
@@ -53,6 +61,28 @@ export interface NotInternalizableCandidate {
53
61
  candidateId: string;
54
62
  reason: string;
55
63
  }
64
+ /**
65
+ * PRI-642 SPEC §10: aggregate progress. `furthestStage` means AT LEAST ONE
66
+ * item reached that stage — never that all candidates did; per-candidate
67
+ * dispositions live in `candidateOutcomes`.
68
+ */
69
+ export type PainFurthestStage = 'observed' | 'diagnosis_submitted' | 'diagnosis_completed' | 'candidate_processing' | 'internalization_seeded';
70
+ export interface PainProgressReport {
71
+ furthestStage: PainFurthestStage;
72
+ generatedCandidateIds: string[];
73
+ admittedCandidateIds: string[];
74
+ ledgerEntryIds: string[];
75
+ seededTaskIds: string[];
76
+ }
77
+ /** PRI-642 SPEC §10: where each candidate stopped and why. */
78
+ export interface PainCandidateOutcome {
79
+ candidateId: string;
80
+ decision: 'admitted' | 'needs_evidence' | 'deferred';
81
+ ledgerEntryId?: string;
82
+ seededTaskId?: string;
83
+ reason: string;
84
+ nextAction: string;
85
+ }
56
86
  export interface PainSignalBridgeResult {
57
87
  status: PainSignalBridgeStatus;
58
88
  painId: string;
@@ -65,6 +95,10 @@ export interface PainSignalBridgeResult {
65
95
  admissionResults?: CandidateAdmissionResult[];
66
96
  /** PRI-539: candidates admitted+ledgered but not internalizable (MVP-disabled channel). */
67
97
  notInternalizable?: NotInternalizableCandidate[];
98
+ /** PRI-642 §10: aggregate progress (at-least-one semantics). */
99
+ progress?: PainProgressReport;
100
+ /** PRI-642 §10: per-candidate disposition — the authority for mixed results. */
101
+ candidateOutcomes?: PainCandidateOutcome[];
68
102
  errorCategory?: PDErrorCategory;
69
103
  message?: string;
70
104
  /**
@@ -179,7 +213,11 @@ export declare class PainSignalBridge {
179
213
  */
180
214
  executePendingDiagnosis(input: {
181
215
  taskId: string;
182
- /** Provenance used for admission metadata; submitted pains are host-context-bound by construction. */
216
+ /**
217
+ * @deprecated PRI-642 SPEC §9: re-entry reads the provenance from the
218
+ * persisted task payload; a caller-supplied value no longer overrides
219
+ * it (no host-binding defaults, single authority).
220
+ */
183
221
  provenance?: PainProvenance;
184
222
  }): Promise<PainSignalBridgeResult>;
185
223
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"pain-signal-bridge.d.ts","sourceRoot":"","sources":["../../src/runtime-v2/pain-signal-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pain-signal-bridge.d.ts","sourceRoot":"","sources":["../../src/runtime-v2/pain-signal-bridge.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import { evaluateCandidateAdmissions } from './admission-gate.js';
1
+ import { evaluateCandidateAdmissions, normalizePainProvenance } from './admission-gate.js';
2
2
  import { shouldShortCircuitEmptyEvidence } from './evidence-guards.js';
3
3
  import { parseRootCauseCategory } from './store/pain-diagnosis/pain-diagnosis-store.js';
4
4
  import { buildDreamerSeedFromCandidate, ROUTE_CHANNEL_MAP, CANDIDATE_KIND_TO_ROUTE } from './internalization/intake-to-internalization-bridge.js';
5
5
  import { isRetryWaitBackoffElapsed } from './internalization/internalization-task-guards.js';
6
6
  import { shapeBridgeResult } from './bridge-result-shaper.js';
7
+ import { parsePainIngressV1Payload, checkIngressTopLevelConsistency, deriveProvenanceFromIngressFacts, isRecord, } from './pain-ingress-payload.js';
7
8
  /** PRI-359: Increased from 4 to 8 to accommodate failed tool_calls evidence */
8
9
  export const MAX_EVIDENCE_ENTRIES = 8;
9
10
  export const MAX_EVIDENCE_NOTE_CHARS = 200;
@@ -34,8 +35,10 @@ function countSubmittedEvidence(diagnosticJson) {
34
35
  return 0;
35
36
  }
36
37
  }
38
+ /** Owner-explicit sources — mirrors shouldShortCircuitEmptyEvidence and the plugin funnel's MANUAL_SOURCES (PRI-642). */
39
+ const OWNER_MANUAL_SOURCES = new Set(['manual', 'pain', 'skill:pain']);
37
40
  function inferProvenance(data) {
38
- if (data.source === 'manual' && (!data.sessionId || data.sessionId === 'cli' || data.sessionId === 'unknown')) {
41
+ if (OWNER_MANUAL_SOURCES.has(data.source) && (!data.sessionId || data.sessionId === 'cli' || data.sessionId === 'unknown')) {
39
42
  return 'owner_reported_no_host_trace';
40
43
  }
41
44
  if (data.sessionId && data.sessionId !== 'cli' && data.sessionId !== 'unknown') {
@@ -43,6 +46,87 @@ function inferProvenance(data) {
43
46
  }
44
47
  return 'automatic_hook';
45
48
  }
49
+ /**
50
+ * PRI-642 SPEC §9: re-entry validation of the persisted diagnostic payload.
51
+ *
52
+ * The payload is the single authority for admission provenance and the
53
+ * input-evidence count; when the versioned `painIngress` namespace is
54
+ * present it must agree with the legacy top-level fields produced by the
55
+ * same builder.
56
+ *
57
+ * A payload WITHOUT top-level provenance (pre-PRI-453-style raw rows) goes
58
+ * through the SPEC §9 legacy normalization branch: `inferProvenance`
59
+ * re-derives the classification from the payload's OWN persisted fields
60
+ * (`source`, `sessionIdHint`) exactly as the historical writer did. It
61
+ * never fabricates `host_context_bound` — binding is derived only when the
62
+ * payload itself carries a real (non-sentinel) session hint; a manual
63
+ * source without a session normalizes to `owner_reported_no_host_trace`.
64
+ */
65
+ function validatePersistedIngressFacts(diagnosticJson) {
66
+ if (typeof diagnosticJson !== 'string' || diagnosticJson.length === 0) {
67
+ return { provenance: null, evidenceCount: null, errorCode: 'diagnostic_payload_invalid:missing' };
68
+ }
69
+ let parsed;
70
+ try {
71
+ parsed = JSON.parse(diagnosticJson);
72
+ }
73
+ catch {
74
+ return { provenance: null, evidenceCount: null, errorCode: 'diagnostic_payload_invalid:unparseable' };
75
+ }
76
+ if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
77
+ return { provenance: null, evidenceCount: null, errorCode: 'diagnostic_payload_invalid:not_an_object' };
78
+ }
79
+ if (!isRecord(parsed)) {
80
+ return { provenance: null, evidenceCount: null, errorCode: 'diagnostic_payload_invalid:not_an_object' };
81
+ }
82
+ const record = parsed;
83
+ const evidenceCount = countSubmittedEvidence(diagnosticJson);
84
+ const hasProvenanceField = Object.hasOwn(record, 'provenance');
85
+ const provenance = hasProvenanceField ? normalizePainProvenance(record.provenance) : undefined;
86
+ if (Object.hasOwn(record, 'painIngress')) {
87
+ if (provenance === undefined) {
88
+ // A rev-2 payload must carry both namespaces consistently; a missing
89
+ // top-level provenance beside a painIngress block is a contradiction
90
+ // (rc-3), not a legacy row.
91
+ return { provenance: null, evidenceCount: null, errorCode: 'diagnostic_payload_invalid:provenance_missing' };
92
+ }
93
+ const ingress = parsePainIngressV1Payload(record.painIngress);
94
+ if (!ingress.ok) {
95
+ return { provenance: null, evidenceCount: null, errorCode: ingress.reasonCode };
96
+ }
97
+ const mismatch = checkIngressTopLevelConsistency({
98
+ payload: ingress.payload,
99
+ topLevelProvenance: record.provenance,
100
+ topLevelSessionIdHint: Object.hasOwn(record, 'sessionIdHint') ? record.sessionIdHint : null,
101
+ topLevelEvidenceCount: evidenceCount,
102
+ });
103
+ if (mismatch !== null) {
104
+ return { provenance: null, evidenceCount: null, errorCode: mismatch };
105
+ }
106
+ return {
107
+ provenance: deriveProvenanceFromIngressFacts(ingress.payload.origin, ingress.payload.correlation),
108
+ evidenceCount,
109
+ errorCode: null,
110
+ };
111
+ }
112
+ // Legacy payload without the v1 namespace: the persisted top-level
113
+ // provenance is the authority. This branch fabricates nothing — it only
114
+ // reads what the writer persisted.
115
+ if (provenance !== undefined) {
116
+ return { provenance, evidenceCount, errorCode: null };
117
+ }
118
+ // Legacy normalization branch (SPEC §9): no top-level provenance and no
119
+ // painIngress block — re-derive from the payload's own persisted fields
120
+ // exactly as the historical writer did (never a host-bound default).
121
+ const recordData = {
122
+ painId: typeof record.sourcePainId === 'string' ? record.sourcePainId : '',
123
+ painType: 'user_frustration',
124
+ source: typeof record.source === 'string' ? record.source : '',
125
+ reason: typeof record.reasonSummary === 'string' ? record.reasonSummary : '',
126
+ sessionId: typeof record.sessionIdHint === 'string' ? record.sessionIdHint : undefined,
127
+ };
128
+ return { provenance: inferProvenance(recordData), evidenceCount, errorCode: null };
129
+ }
46
130
  function provenanceReason(provenance) {
47
131
  switch (provenance) {
48
132
  case 'host_context_bound':
@@ -67,6 +151,9 @@ function buildDiagnosticJson(data, workspaceDir) {
67
151
  ...(data.hostKind ? { hostKind: data.hostKind } : {}),
68
152
  evidence: data.evidence ?? [],
69
153
  workspaceDir: workspaceDir ?? null,
154
+ // PRI-642 SPEC §9: one builder produces BOTH the legacy top-level fields
155
+ // and the versioned nested namespace; re-entry validates consistency.
156
+ ...(data.painIngress ? { painIngress: data.painIngress } : {}),
70
157
  });
71
158
  }
72
159
  export class PainSignalBridge {
@@ -320,6 +407,22 @@ export class PainSignalBridge {
320
407
  if (!isRetryWaitBackoffElapsed(task.status, task.leaseExpiresAt)) {
321
408
  return { status: 'skipped', painId, taskId, candidateIds: [], ledgerEntryIds: [], message: 'retry_wait_pending' };
322
409
  }
410
+ // PRI-642 SPEC §9: re-entry validates the persisted rev-2 facts BEFORE
411
+ // any LLM run — the payload is the authority for provenance/correlation
412
+ // (never a host_context_bound default), and a nested/top-level
413
+ // contradiction is rejected instead of silently resolved.
414
+ const reentry = validatePersistedIngressFacts(task.diagnosticJson);
415
+ if (reentry.errorCode !== null) {
416
+ return {
417
+ status: 'failed',
418
+ painId,
419
+ taskId,
420
+ candidateIds: [],
421
+ ledgerEntryIds: [],
422
+ errorCategory: 'input_invalid',
423
+ message: reentry.errorCode,
424
+ };
425
+ }
323
426
  const result = await this.runner.run(taskId);
324
427
  if (result.status !== 'succeeded') {
325
428
  // PRI-638: the task is deliberately left in its prior state (pending /
@@ -341,11 +444,8 @@ export class PainSignalBridge {
341
444
  taskId,
342
445
  diagnosticianOutput: result.output,
343
446
  painId,
344
- provenance: input.provenance ?? 'host_context_bound',
345
- // The submitted pain's evidence count lives in the task payload
346
- // (buildDiagnosticJson). Admission gates on it (needs_evidence), so
347
- // parse it back — validated, bounded, best-effort with explicit 0.
348
- inputEvidenceCount: countSubmittedEvidence(task.diagnosticJson),
447
+ provenance: reentry.provenance,
448
+ inputEvidenceCount: reentry.evidenceCount,
349
449
  });
350
450
  }
351
451
  /**
@@ -429,6 +529,9 @@ export class PainSignalBridge {
429
529
  }));
430
530
  const seedFailureCandidateIds = [];
431
531
  const notInternalizable = [];
532
+ // PRI-642 §10: per-candidate ledger/seed linkage for outcome reporting.
533
+ const ledgerEntryByCandidate = new Map();
534
+ const seededTaskByCandidate = new Map();
432
535
  if (this.autoIntakeEnabled) {
433
536
  for (let i = 0; i < candidates.length; i++) {
434
537
  const candidate = candidates[i];
@@ -441,6 +544,7 @@ export class PainSignalBridge {
441
544
  }
442
545
  const intakeResult = await this.intakeService.intake(candidate.candidateId);
443
546
  ledgerEntryIds.push(intakeResult.id);
547
+ ledgerEntryByCandidate.set(candidate.candidateId, intakeResult.id);
444
548
  try {
445
549
  const route = CANDIDATE_KIND_TO_ROUTE[candidate.recommendationKind ?? ''];
446
550
  if (route) {
@@ -464,6 +568,7 @@ export class PainSignalBridge {
464
568
  maxAttempts: seed.maxAttempts,
465
569
  diagnosticJson: seed.diagnosticJson,
466
570
  });
571
+ seededTaskByCandidate.set(candidate.candidateId, seed.taskId);
467
572
  this.eventEmitter?.emitTelemetry({
468
573
  eventType: 'candidate_dreamer_task_seeded',
469
574
  traceId: candidate.candidateId,
@@ -506,7 +611,48 @@ export class PainSignalBridge {
506
611
  const latestRun = runs.at(-1);
507
612
  const firstCandidate = candidates.at(0);
508
613
  const candidateIds = candidates.map((candidate) => candidate.candidateId);
509
- return shapeBridgeResult({
614
+ // PRI-642 SPEC §10: execution status, aggregate progress and per-candidate
615
+ // outcomes are independent dimensions — build the latter two here so mixed
616
+ // results can never be read as completed internalization.
617
+ const candidateOutcomes = candidates.map((candidate, i) => {
618
+ const admission = admissionResults[i]?.admission;
619
+ const decision = admission?.decision ?? 'needs_evidence';
620
+ const outcome = {
621
+ candidateId: candidate.candidateId,
622
+ decision,
623
+ reason: admission?.reason ?? 'diagnostician_output_unavailable',
624
+ nextAction: admission?.nextAction ?? 're_run_diagnosis_or_manual_review',
625
+ };
626
+ const ledgerEntryId = ledgerEntryByCandidate.get(candidate.candidateId);
627
+ if (ledgerEntryId !== undefined)
628
+ outcome.ledgerEntryId = ledgerEntryId;
629
+ const seededTaskId = seededTaskByCandidate.get(candidate.candidateId);
630
+ if (seededTaskId !== undefined)
631
+ outcome.seededTaskId = seededTaskId;
632
+ if (decision === 'admitted' && outcome.seededTaskId === undefined) {
633
+ const notInternalizableEntry = notInternalizable.find((n) => n.candidateId === candidate.candidateId);
634
+ const seedFailed = seedFailureCandidateIds.includes(candidate.candidateId);
635
+ if (notInternalizableEntry !== undefined) {
636
+ outcome.reason = notInternalizableEntry.reason;
637
+ outcome.nextAction = 'Enable the mapped channel or archive this candidate.';
638
+ }
639
+ else if (seedFailed) {
640
+ outcome.reason = 'dreamer_seed_failed';
641
+ outcome.nextAction = 'Inspect state.db and telemetry; re-run intake.';
642
+ }
643
+ }
644
+ return outcome;
645
+ });
646
+ const admittedCandidateIds = candidateOutcomes
647
+ .filter((o) => o.decision === 'admitted')
648
+ .map((o) => o.candidateId);
649
+ const seededTaskIds = [...seededTaskByCandidate.values()];
650
+ const furthestStage = seededTaskIds.length > 0
651
+ ? 'internalization_seeded'
652
+ : ledgerEntryIds.length > 0
653
+ ? 'candidate_processing'
654
+ : 'diagnosis_completed';
655
+ const shaped = shapeBridgeResult({
510
656
  path: 'fresh',
511
657
  painId,
512
658
  taskId,
@@ -519,6 +665,15 @@ export class PainSignalBridge {
519
665
  seedFailureNote,
520
666
  notInternalizable: notInternalizable.length > 0 ? notInternalizable : undefined,
521
667
  });
668
+ shaped.progress = {
669
+ furthestStage,
670
+ generatedCandidateIds: candidateIds,
671
+ admittedCandidateIds,
672
+ ledgerEntryIds,
673
+ seededTaskIds,
674
+ };
675
+ shaped.candidateOutcomes = candidateOutcomes;
676
+ return shaped;
522
677
  }
523
678
  async buildExistingResult(input) {
524
679
  const candidates = await this.stateManager.getCandidatesByTaskId(input.taskId);
@@ -1 +1 @@
1
- {"version":3,"file":"pain-signal-bridge.js","sourceRoot":"","sources":["../../src/runtime-v2/pain-signal-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pain-signal-bridge.js","sourceRoot":"","sources":["../../src/runtime-v2/pain-signal-bridge.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import type { PainDetectedData, PainProvenance, PainEvidenceEntry } from './pain-signal-bridge.js';
1
+ import type { PainDetectedData, PainProvenance, PainEvidenceEntry, PainProgressReport, PainCandidateOutcome } from './pain-signal-bridge.js';
2
+ import type { PainIngressV1Payload } from './pain-ingress-payload.js';
2
3
  import type { LedgerAdapter } from './candidate-intake.js';
3
4
  import type { EffectivePdConfig } from './config/pd-config-types.js';
4
5
  import type { IntentDocReader } from './intent/intent-doc-reader-port.js';
@@ -46,6 +47,8 @@ export interface PainToPrincipleInput {
46
47
  hostKind?: PainDetectedData['hostKind'];
47
48
  evidence?: PainEvidenceEntry[];
48
49
  recordObservability?: boolean;
50
+ /** PRI-642 SPEC §9: validated rev-2 ingress facts persisted under painIngress.v1. */
51
+ painIngress?: PainIngressV1Payload;
49
52
  }
50
53
  export interface PainToPrincipleOutput {
51
54
  status: 'succeeded' | 'skipped' | 'failed' | 'retried' | 'degraded' | 'submitted';
@@ -65,6 +68,10 @@ export interface PainToPrincipleOutput {
65
68
  evidenceStatus: string;
66
69
  };
67
70
  }[];
71
+ /** PRI-642 §10: aggregate progress (at-least-one semantics). */
72
+ progress?: PainProgressReport;
73
+ /** PRI-642 §10: per-candidate disposition — the authority for mixed results. */
74
+ candidateOutcomes?: PainCandidateOutcome[];
68
75
  message?: string;
69
76
  observabilityWarnings: string[];
70
77
  failureCategory?: FailureCategory;