@principles/core 1.274.3 → 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 (64) 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/__tests__/pain-signal-runtime-factory-edge-cases.test.js +4 -1
  16. package/dist/runtime-v2/__tests__/pain-signal-runtime-factory-edge-cases.test.js.map +1 -1
  17. package/dist/runtime-v2/__tests__/pri638-diagnostician-capability-characterization.test.d.ts +27 -0
  18. package/dist/runtime-v2/__tests__/pri638-diagnostician-capability-characterization.test.d.ts.map +1 -0
  19. package/dist/runtime-v2/__tests__/pri638-diagnostician-capability-characterization.test.js +449 -0
  20. package/dist/runtime-v2/__tests__/pri638-diagnostician-capability-characterization.test.js.map +1 -0
  21. package/dist/runtime-v2/__tests__/pri638-p1d-error-classification.test.d.ts +2 -0
  22. package/dist/runtime-v2/__tests__/pri638-p1d-error-classification.test.d.ts.map +1 -0
  23. package/dist/runtime-v2/__tests__/pri638-p1d-error-classification.test.js +116 -0
  24. package/dist/runtime-v2/__tests__/pri638-p1d-error-classification.test.js.map +1 -0
  25. package/dist/runtime-v2/config/__tests__/pd-config-pri638-cutover.test.d.ts +2 -0
  26. package/dist/runtime-v2/config/__tests__/pd-config-pri638-cutover.test.d.ts.map +1 -0
  27. package/dist/runtime-v2/config/__tests__/pd-config-pri638-cutover.test.js +99 -0
  28. package/dist/runtime-v2/config/__tests__/pd-config-pri638-cutover.test.js.map +1 -0
  29. package/dist/runtime-v2/config/pd-config-effective.d.ts.map +1 -1
  30. package/dist/runtime-v2/config/pd-config-effective.js +34 -0
  31. package/dist/runtime-v2/config/pd-config-effective.js.map +1 -1
  32. package/dist/runtime-v2/diagnostician-capability.d.ts +47 -0
  33. package/dist/runtime-v2/diagnostician-capability.d.ts.map +1 -0
  34. package/dist/runtime-v2/diagnostician-capability.js +53 -0
  35. package/dist/runtime-v2/diagnostician-capability.js.map +1 -0
  36. package/dist/runtime-v2/index.d.ts +10 -1
  37. package/dist/runtime-v2/index.d.ts.map +1 -1
  38. package/dist/runtime-v2/index.js +8 -0
  39. package/dist/runtime-v2/index.js.map +1 -1
  40. package/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js +18 -5
  41. package/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js.map +1 -1
  42. package/dist/runtime-v2/pain-ingress-payload.d.ts +207 -0
  43. package/dist/runtime-v2/pain-ingress-payload.d.ts.map +1 -0
  44. package/dist/runtime-v2/pain-ingress-payload.js +340 -0
  45. package/dist/runtime-v2/pain-ingress-payload.js.map +1 -0
  46. package/dist/runtime-v2/pain-ingress.d.ts +61 -0
  47. package/dist/runtime-v2/pain-ingress.d.ts.map +1 -0
  48. package/dist/runtime-v2/pain-ingress.js +163 -0
  49. package/dist/runtime-v2/pain-ingress.js.map +1 -0
  50. package/dist/runtime-v2/pain-signal-bridge.d.ts +64 -1
  51. package/dist/runtime-v2/pain-signal-bridge.d.ts.map +1 -1
  52. package/dist/runtime-v2/pain-signal-bridge.js +230 -8
  53. package/dist/runtime-v2/pain-signal-bridge.js.map +1 -1
  54. package/dist/runtime-v2/pain-signal-runtime-factory.d.ts +32 -12
  55. package/dist/runtime-v2/pain-signal-runtime-factory.d.ts.map +1 -1
  56. package/dist/runtime-v2/pain-signal-runtime-factory.js +113 -46
  57. package/dist/runtime-v2/pain-signal-runtime-factory.js.map +1 -1
  58. package/dist/runtime-v2/pain-to-principle-service.d.ts +15 -2
  59. package/dist/runtime-v2/pain-to-principle-service.d.ts.map +1 -1
  60. package/dist/runtime-v2/pain-to-principle-service.js +28 -0
  61. package/dist/runtime-v2/pain-to-principle-service.js.map +1 -1
  62. package/dist/runtime-v2/runner/runner-result.d.ts +6 -0
  63. package/dist/runtime-v2/runner/runner-result.d.ts.map +1 -1
  64. package/package.json +1 -1
@@ -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,8 +95,18 @@ 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;
104
+ /**
105
+ * PRI-638: recovery action surfaced by the runner. Only set when the failure
106
+ * is an Owner capability decision (Diagnostician disabled), never for runtime
107
+ * or provider faults — the two must remain distinguishable.
108
+ */
109
+ nextAction?: string;
70
110
  }
71
111
  export interface PainSignalBridgeOptions {
72
112
  stateManager: RuntimeStateManager;
@@ -101,6 +141,18 @@ export interface PainSignalBridgeOptions {
101
141
  ownedResources?: readonly {
102
142
  close: () => void | Promise<void>;
103
143
  }[];
144
+ /**
145
+ * PRI-638 P1-A: set ONLY by the factory's capability-disabled bridge.
146
+ * While the Owner has switched the Diagnostician off, `onPainDetected` /
147
+ * `executePendingDiagnosis` must ENSURE a durable task exists for new Pain
148
+ * but must NEVER reset/re-trigger an existing task (that would erase
149
+ * retry_wait/failed history and the retry budget). The runner is not
150
+ * invoked, so provider calls stay 0.
151
+ */
152
+ capabilityDisabled?: {
153
+ readonly reason: string;
154
+ readonly nextAction: string;
155
+ };
104
156
  }
105
157
  export declare function createDiagnosticianTaskId(painId: string): string;
106
158
  export declare class PainSignalBridge {
@@ -114,7 +166,14 @@ export declare class PainSignalBridge {
114
166
  private readonly workspaceDir;
115
167
  private readonly eventEmitter?;
116
168
  private readonly ownedResources;
169
+ private readonly capabilityDisabled;
117
170
  constructor(opts: PainSignalBridgeOptions);
171
+ /**
172
+ * PRI-638 P1-A: the unified disabled outcome. `status: 'failed'` is kept
173
+ * (existing RunnerResult vocabulary) but carries `capability_missing` +
174
+ * `nextAction`, so no caller can mistake it for a provider/runtime fault.
175
+ */
176
+ private disabledResult;
118
177
  /**
119
178
  * PRI-624: release every handle this bridge holds (state manager + the
120
179
  * factory-owned connection). Callers that keep the cached bridge (plugin
@@ -154,7 +213,11 @@ export declare class PainSignalBridge {
154
213
  */
155
214
  executePendingDiagnosis(input: {
156
215
  taskId: string;
157
- /** 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
+ */
158
221
  provenance?: PainProvenance;
159
222
  }): Promise<PainSignalBridgeResult>;
160
223
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"pain-signal-bridge.d.ts","sourceRoot":"","sources":["../../src/runtime-v2/pain-signal-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAmB,MAAM,kCAAkC,CAAC;AAC7F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,wBAAwB,EAAqB,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACvG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAQvE,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAC5C;AAED,+EAA+E;AAC/E,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,OAAO,CAAC;AAEtD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,cAAc,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;IACjE,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,yFAAyF;IACzF,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAChC;AAED,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;AAEjG;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,sBAAsB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,gBAAgB,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC9C,2FAA2F;IAC3F,iBAAiB,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACjD,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,mBAAmB,CAAC;IAClC,MAAM,EAAE,uBAAuB,CAAC;IAChC,aAAa,EAAE,sBAAsB,CAAC;IACtC,aAAa,EAAE,aAAa,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,+FAA+F;IAC/F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,YAAY,CAAC,EAAE;QACb,aAAa,EAAE,CAAC,KAAK,EAAE;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,KAAK,IAAI,CAAC;KAC7H,CAAC;IACF;;;;OAIG;IACH,cAAc,CAAC,EAAE,SAAS;QAAE,KAAK,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,EAAE,CAAC;CACnE;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEhE;AA4DD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyB;IACvD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAU;IAC5C,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAU;IACtD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAA0C;IACxE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmD;IAElF,YAAY,IAAI,EAAE,uBAAuB,EAWxC;IAED;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAK7B;IAED,OAAO,CAAC,kBAAkB;IAa1B;;;;;OAKG;IACG,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAe1E;IAEK,cAAc,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAqF5E;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACG,uBAAuB,CAAC,KAAK,EAAE;QACnC,MAAM,EAAE,MAAM,CAAC;QACf,sGAAsG;QACtG,UAAU,CAAC,EAAE,cAAc,CAAC;KAC7B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA2ClC;IAED;;;;;;;;OAQG;YACW,oBAAoB;IA8ClC;;;;OAIG;IACG,mBAAmB,CAAC,IAAI,EAAE;QAC9B,MAAM,EAAE,MAAM,CAAC;QACf,mBAAmB,EAAE,qBAAqB,GAAG,SAAS,CAAC;QACvD,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,cAAc,CAAC;QAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA4HlC;YAEa,mBAAmB;CA6BlC"}
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 {
@@ -80,6 +167,7 @@ export class PainSignalBridge {
80
167
  workspaceDir;
81
168
  eventEmitter;
82
169
  ownedResources;
170
+ capabilityDisabled;
83
171
  constructor(opts) {
84
172
  this.stateManager = opts.stateManager;
85
173
  this.runner = opts.runner;
@@ -91,6 +179,24 @@ export class PainSignalBridge {
91
179
  this.workspaceDir = opts.workspaceDir;
92
180
  this.eventEmitter = opts.eventEmitter;
93
181
  this.ownedResources = opts.ownedResources ?? [];
182
+ this.capabilityDisabled = opts.capabilityDisabled;
183
+ }
184
+ /**
185
+ * PRI-638 P1-A: the unified disabled outcome. `status: 'failed'` is kept
186
+ * (existing RunnerResult vocabulary) but carries `capability_missing` +
187
+ * `nextAction`, so no caller can mistake it for a provider/runtime fault.
188
+ */
189
+ disabledResult(input) {
190
+ return {
191
+ status: 'failed',
192
+ painId: input.painId,
193
+ taskId: input.taskId,
194
+ candidateIds: [],
195
+ ledgerEntryIds: [],
196
+ errorCategory: 'capability_missing',
197
+ message: this.capabilityDisabled?.reason ?? 'Diagnostician capability is disabled by Owner configuration',
198
+ nextAction: this.capabilityDisabled?.nextAction,
199
+ };
94
200
  }
95
201
  /**
96
202
  * PRI-624: release every handle this bridge holds (state manager + the
@@ -141,6 +247,30 @@ export class PainSignalBridge {
141
247
  const { painId } = data;
142
248
  const taskId = data.taskId ?? createDiagnosticianTaskId(painId);
143
249
  const provenance = data.provenance ?? inferProvenance(data);
250
+ // PRI-638 P1-A: while the Owner has disabled the Diagnostician, this call
251
+ // only ENSURES a durable diagnosis task exists for new Pain. It must NOT
252
+ // reuse the re-trigger semantics below — an existing retry_wait / failed /
253
+ // needs_human_review task keeps its status, attemptCount, lastError and
254
+ // lease untouched (durable history preserved, retry budget preserved), and
255
+ // the disabled runner is never invoked (provider calls stay 0).
256
+ if (this.capabilityDisabled !== undefined) {
257
+ const existing = await this.stateManager.getTask(taskId);
258
+ if (existing === null) {
259
+ await this.stateManager.createTask({
260
+ taskId,
261
+ taskKind: 'diagnostician',
262
+ inputRef: painId,
263
+ status: 'pending',
264
+ attemptCount: 0,
265
+ maxAttempts: 3,
266
+ diagnosticJson: buildDiagnosticJson(data, this.workspaceDir),
267
+ });
268
+ }
269
+ else if (existing.status === 'succeeded') {
270
+ return this.buildExistingResult({ painId, taskId });
271
+ }
272
+ return this.disabledResult({ painId, taskId });
273
+ }
144
274
  // Check for existing task FIRST — idempotency takes priority over short-circuit
145
275
  const existingTask = await this.stateManager.getTask(taskId);
146
276
  // PRI-345: short-circuit before any I/O when input evidence is empty
@@ -200,6 +330,9 @@ export class PainSignalBridge {
200
330
  }
201
331
  const result = await this.runner.run(taskId);
202
332
  if (result.status !== 'succeeded') {
333
+ // PRI-638: the task is deliberately left in its prior state (pending /
334
+ // retry_wait) with its attemptCount untouched. A capability-disabled run
335
+ // is not a failed attempt, so it must never consume LLM retry budget.
203
336
  return {
204
337
  status: result.status === 'retried' ? 'retried' : 'failed',
205
338
  painId,
@@ -209,6 +342,7 @@ export class PainSignalBridge {
209
342
  ledgerEntryIds: [],
210
343
  errorCategory: result.errorCategory,
211
344
  message: result.failureReason,
345
+ ...(result.nextAction !== undefined ? { nextAction: result.nextAction } : {}),
212
346
  };
213
347
  }
214
348
  return this.onDiagnosisComplete({
@@ -240,6 +374,22 @@ export class PainSignalBridge {
240
374
  */
241
375
  async executePendingDiagnosis(input) {
242
376
  const { taskId } = input;
377
+ // PRI-638 P1-A: on a capability-disabled bridge execution is paused, never
378
+ // failed. The task keeps its exact durable state (including retry budget);
379
+ // no runner invocation, so provider calls stay 0. Callers should normally
380
+ // gate on the canonical capability before reaching here (Codex worker
381
+ // does), this is the defensive seam.
382
+ if (this.capabilityDisabled !== undefined) {
383
+ const task = await this.stateManager.getTask(taskId);
384
+ if (task === null) {
385
+ return { status: 'failed', painId: '', taskId, candidateIds: [], ledgerEntryIds: [], errorCategory: 'input_invalid', message: 'task_not_found' };
386
+ }
387
+ const painId = typeof task.inputRef === 'string' && task.inputRef.length > 0 ? task.inputRef : taskId;
388
+ if (task.status === 'succeeded') {
389
+ return this.buildExistingResult({ painId, taskId });
390
+ }
391
+ return this.disabledResult({ painId, taskId });
392
+ }
243
393
  const task = await this.stateManager.getTask(taskId);
244
394
  if (task === null) {
245
395
  return { status: 'failed', painId: '', taskId, candidateIds: [], ledgerEntryIds: [], errorCategory: 'input_invalid', message: 'task_not_found' };
@@ -257,8 +407,27 @@ export class PainSignalBridge {
257
407
  if (!isRetryWaitBackoffElapsed(task.status, task.leaseExpiresAt)) {
258
408
  return { status: 'skipped', painId, taskId, candidateIds: [], ledgerEntryIds: [], message: 'retry_wait_pending' };
259
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
+ }
260
426
  const result = await this.runner.run(taskId);
261
427
  if (result.status !== 'succeeded') {
428
+ // PRI-638: the task is deliberately left in its prior state (pending /
429
+ // retry_wait) with its attemptCount untouched. A capability-disabled run
430
+ // is not a failed attempt, so it must never consume LLM retry budget.
262
431
  return {
263
432
  status: result.status === 'retried' ? 'retried' : 'failed',
264
433
  painId,
@@ -268,17 +437,15 @@ export class PainSignalBridge {
268
437
  ledgerEntryIds: [],
269
438
  errorCategory: result.errorCategory,
270
439
  message: result.failureReason,
440
+ ...(result.nextAction !== undefined ? { nextAction: result.nextAction } : {}),
271
441
  };
272
442
  }
273
443
  return this.onDiagnosisComplete({
274
444
  taskId,
275
445
  diagnosticianOutput: result.output,
276
446
  painId,
277
- provenance: input.provenance ?? 'host_context_bound',
278
- // The submitted pain's evidence count lives in the task payload
279
- // (buildDiagnosticJson). Admission gates on it (needs_evidence), so
280
- // parse it back — validated, bounded, best-effort with explicit 0.
281
- inputEvidenceCount: countSubmittedEvidence(task.diagnosticJson),
447
+ provenance: reentry.provenance,
448
+ inputEvidenceCount: reentry.evidenceCount,
282
449
  });
283
450
  }
284
451
  /**
@@ -362,6 +529,9 @@ export class PainSignalBridge {
362
529
  }));
363
530
  const seedFailureCandidateIds = [];
364
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();
365
535
  if (this.autoIntakeEnabled) {
366
536
  for (let i = 0; i < candidates.length; i++) {
367
537
  const candidate = candidates[i];
@@ -374,6 +544,7 @@ export class PainSignalBridge {
374
544
  }
375
545
  const intakeResult = await this.intakeService.intake(candidate.candidateId);
376
546
  ledgerEntryIds.push(intakeResult.id);
547
+ ledgerEntryByCandidate.set(candidate.candidateId, intakeResult.id);
377
548
  try {
378
549
  const route = CANDIDATE_KIND_TO_ROUTE[candidate.recommendationKind ?? ''];
379
550
  if (route) {
@@ -397,6 +568,7 @@ export class PainSignalBridge {
397
568
  maxAttempts: seed.maxAttempts,
398
569
  diagnosticJson: seed.diagnosticJson,
399
570
  });
571
+ seededTaskByCandidate.set(candidate.candidateId, seed.taskId);
400
572
  this.eventEmitter?.emitTelemetry({
401
573
  eventType: 'candidate_dreamer_task_seeded',
402
574
  traceId: candidate.candidateId,
@@ -439,7 +611,48 @@ export class PainSignalBridge {
439
611
  const latestRun = runs.at(-1);
440
612
  const firstCandidate = candidates.at(0);
441
613
  const candidateIds = candidates.map((candidate) => candidate.candidateId);
442
- 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({
443
656
  path: 'fresh',
444
657
  painId,
445
658
  taskId,
@@ -452,6 +665,15 @@ export class PainSignalBridge {
452
665
  seedFailureNote,
453
666
  notInternalizable: notInternalizable.length > 0 ? notInternalizable : undefined,
454
667
  });
668
+ shaped.progress = {
669
+ furthestStage,
670
+ generatedCandidateIds: candidateIds,
671
+ admittedCandidateIds,
672
+ ledgerEntryIds,
673
+ seededTaskIds,
674
+ };
675
+ shaped.candidateOutcomes = candidateOutcomes;
676
+ return shaped;
455
677
  }
456
678
  async buildExistingResult(input) {
457
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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"}
@@ -112,11 +112,35 @@ export declare function validateRuntimeConfig(config: RuntimeConfig): void;
112
112
  * When effectiveConfig is provided, this path takes precedence.
113
113
  */
114
114
  export declare function resolveRuntimeConfigFromPdConfig(effectiveConfig: EffectivePdConfig, getEnvVar: (name: string) => string | undefined): RuntimeConfigResult;
115
+ export interface DisabledDiagnosticianRunnerOptions {
116
+ /** Human-readable reason. Defaults to the canonical Owner-disable message. */
117
+ readonly failureReason?: string;
118
+ /** Recovery action surfaced to the Owner / CLI operator. */
119
+ readonly nextAction?: string;
120
+ }
121
+ export declare const DIAGNOSTICIAN_DISABLED_FAILURE_REASON = "Diagnostician capability is disabled by Owner configuration (internalAgents.agents.diagnostician.enabled=false)";
122
+ export declare const DIAGNOSTICIAN_DISABLED_NEXT_ACTION = "Enable internalAgents.agents.diagnostician.enabled in .pd/config.yaml (or Console \u2192 Control Center), then retry.";
115
123
  /**
116
- * DisabledDiagnosticianRunner — used when the split pipeline feature flag is disabled (PRI-373).
117
- * Fails loud with capability_missing, preventing silent monlith fallback.
124
+ * DisabledDiagnosticianRunner — the single representation of "Diagnostician is
125
+ * not available" (PRI-638).
126
+ *
127
+ * Before PRI-638 this class was selected by the `diagnostician_split_pipeline`
128
+ * feature flag, which made a rollout flag act as a second kill switch. The
129
+ * Owner capability authority (`internalAgents.agents.diagnostician.enabled`) is
130
+ * now the only thing that produces this runner.
131
+ *
132
+ * Contract (identical for every entrypoint):
133
+ * - status: 'failed'
134
+ * - errorCategory: 'capability_missing' (existing PDErrorCategory — reuse, do
135
+ * not invent a new enum)
136
+ * - zero provider/LLM calls: the runner never touches an adapter
137
+ * - attemptCount stays informational; the task is not marked failed by this
138
+ * runner, so no LLM retry budget is consumed (see PainSignalBridge)
118
139
  */
119
140
  export declare class DisabledDiagnosticianRunner implements DiagnosticianRunnerLike {
141
+ private readonly failureReason;
142
+ private readonly nextAction;
143
+ constructor(opts?: DisabledDiagnosticianRunnerOptions);
120
144
  run(taskId: string): Promise<RunnerResult>;
121
145
  }
122
146
  /**
@@ -136,18 +160,14 @@ export declare function mapBridgeTelemetryToStoreEvent(event: {
136
160
  * this after execution; long-lived hosts that reuse the cached bridge do not.
137
161
  */
138
162
  export declare function disposePainSignalBridgesForWorkspace(workspaceDir: string): Promise<void>;
163
+ export declare function createPainSignalBridge(opts: PainSignalRuntimeFactoryOptions): Promise<PainSignalBridge>;
139
164
  /**
140
- * Invalidate the cached bridge for a workspace (for testing).
141
- * Covers both split and disabled pipeline variants.
142
- */
143
- /**
144
- * Create (or return cached) PainSignalBridge for a workspace.
165
+ * PRI-638: bridge for the "Owner disabled the Diagnostician" state.
145
166
  *
146
- * Initialization is performed on first call for a workspace (async).
147
- * Subsequent calls for the same workspace return the cached bridge synchronously.
148
- *
149
- * Cache key is workspaceDir one bridge per workspace per process.
167
+ * Deliberately built WITHOUT a runtime adapter there is nothing to call, and
168
+ * constructing one is what previously forced a hard throw. Everything the
169
+ * durable Pain path needs (state manager + intake) is still wired, so pains
170
+ * keep landing and can be diagnosed after the Owner re-enables the agent.
150
171
  */
151
- export declare function createPainSignalBridge(opts: PainSignalRuntimeFactoryOptions): Promise<PainSignalBridge>;
152
172
  export declare function invalidatePainSignalBridge(workspaceDir: string, runtimeKind?: string): void;
153
173
  //# sourceMappingURL=pain-signal-runtime-factory.d.ts.map