@principles/core 1.186.0 → 1.188.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 (83) hide show
  1. package/dist/runtime-v2/__tests__/architecture-regression.test.js +9 -1
  2. package/dist/runtime-v2/__tests__/architecture-regression.test.js.map +1 -1
  3. package/dist/runtime-v2/__tests__/evidence-chain-intent-tension.test.d.ts +2 -0
  4. package/dist/runtime-v2/__tests__/evidence-chain-intent-tension.test.d.ts.map +1 -0
  5. package/dist/runtime-v2/__tests__/evidence-chain-intent-tension.test.js +284 -0
  6. package/dist/runtime-v2/__tests__/evidence-chain-intent-tension.test.js.map +1 -0
  7. package/dist/runtime-v2/diagnostician/__tests__/diag-rootcause-output.test.js +134 -15
  8. package/dist/runtime-v2/diagnostician/__tests__/diag-rootcause-output.test.js.map +1 -1
  9. package/dist/runtime-v2/diagnostician/__tests__/intent-tension-schema.test.d.ts +18 -0
  10. package/dist/runtime-v2/diagnostician/__tests__/intent-tension-schema.test.d.ts.map +1 -0
  11. package/dist/runtime-v2/diagnostician/__tests__/intent-tension-schema.test.js +251 -0
  12. package/dist/runtime-v2/diagnostician/__tests__/intent-tension-schema.test.js.map +1 -0
  13. package/dist/runtime-v2/diagnostician/__tests__/rootcause-prompt-builder.test.js +73 -0
  14. package/dist/runtime-v2/diagnostician/__tests__/rootcause-prompt-builder.test.js.map +1 -1
  15. package/dist/runtime-v2/diagnostician/diag-rootcause-output.d.ts +90 -0
  16. package/dist/runtime-v2/diagnostician/diag-rootcause-output.d.ts.map +1 -1
  17. package/dist/runtime-v2/diagnostician/diag-rootcause-output.js +108 -0
  18. package/dist/runtime-v2/diagnostician/diag-rootcause-output.js.map +1 -1
  19. package/dist/runtime-v2/diagnostician/rootcause-prompt-builder.d.ts +8 -0
  20. package/dist/runtime-v2/diagnostician/rootcause-prompt-builder.d.ts.map +1 -1
  21. package/dist/runtime-v2/diagnostician/rootcause-prompt-builder.js +66 -3
  22. package/dist/runtime-v2/diagnostician/rootcause-prompt-builder.js.map +1 -1
  23. package/dist/runtime-v2/diagnostician-output.d.ts +23 -0
  24. package/dist/runtime-v2/diagnostician-output.d.ts.map +1 -1
  25. package/dist/runtime-v2/diagnostician-output.js +16 -0
  26. package/dist/runtime-v2/diagnostician-output.js.map +1 -1
  27. package/dist/runtime-v2/diagnostician-prompt-builder.d.ts +32 -0
  28. package/dist/runtime-v2/diagnostician-prompt-builder.d.ts.map +1 -1
  29. package/dist/runtime-v2/diagnostician-prompt-builder.js.map +1 -1
  30. package/dist/runtime-v2/evidence-triage/source-descriptors.d.ts +1 -1
  31. package/dist/runtime-v2/evidence-triage/source-descriptors.js +1 -1
  32. package/dist/runtime-v2/index.d.ts +5 -3
  33. package/dist/runtime-v2/index.d.ts.map +1 -1
  34. package/dist/runtime-v2/index.js +8 -4
  35. package/dist/runtime-v2/index.js.map +1 -1
  36. package/dist/runtime-v2/intent/index.d.ts +1 -0
  37. package/dist/runtime-v2/intent/index.d.ts.map +1 -1
  38. package/dist/runtime-v2/intent/index.js +1 -0
  39. package/dist/runtime-v2/intent/index.js.map +1 -1
  40. package/dist/runtime-v2/intent/intent-doc-reader-port.d.ts +95 -0
  41. package/dist/runtime-v2/intent/intent-doc-reader-port.d.ts.map +1 -0
  42. package/dist/runtime-v2/intent/intent-doc-reader-port.js +43 -0
  43. package/dist/runtime-v2/intent/intent-doc-reader-port.js.map +1 -0
  44. package/dist/runtime-v2/internalization/__tests__/__fixtures__/intent-tension-cases.d.ts +54 -0
  45. package/dist/runtime-v2/internalization/__tests__/__fixtures__/intent-tension-cases.d.ts.map +1 -0
  46. package/dist/runtime-v2/internalization/__tests__/__fixtures__/intent-tension-cases.js +219 -0
  47. package/dist/runtime-v2/internalization/__tests__/__fixtures__/intent-tension-cases.js.map +1 -0
  48. package/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.d.ts +2 -0
  49. package/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.d.ts.map +1 -0
  50. package/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.js +360 -0
  51. package/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.js.map +1 -0
  52. package/dist/runtime-v2/internalization/__tests__/diag-router-intent-tension.test.d.ts +2 -0
  53. package/dist/runtime-v2/internalization/__tests__/diag-router-intent-tension.test.d.ts.map +1 -0
  54. package/dist/runtime-v2/internalization/__tests__/diag-router-intent-tension.test.js +333 -0
  55. package/dist/runtime-v2/internalization/__tests__/diag-router-intent-tension.test.js.map +1 -0
  56. package/dist/runtime-v2/internalization/__tests__/intent-tension-cases.test.d.ts +2 -0
  57. package/dist/runtime-v2/internalization/__tests__/intent-tension-cases.test.d.ts.map +1 -0
  58. package/dist/runtime-v2/internalization/__tests__/intent-tension-cases.test.js +113 -0
  59. package/dist/runtime-v2/internalization/__tests__/intent-tension-cases.test.js.map +1 -0
  60. package/dist/runtime-v2/internalization/diag-rootcause-runner.d.ts +13 -0
  61. package/dist/runtime-v2/internalization/diag-rootcause-runner.d.ts.map +1 -1
  62. package/dist/runtime-v2/internalization/diag-rootcause-runner.js +42 -0
  63. package/dist/runtime-v2/internalization/diag-rootcause-runner.js.map +1 -1
  64. package/dist/runtime-v2/internalization/diag-router-runner.d.ts.map +1 -1
  65. package/dist/runtime-v2/internalization/diag-router-runner.js +27 -0
  66. package/dist/runtime-v2/internalization/diag-router-runner.js.map +1 -1
  67. package/dist/runtime-v2/pain-signal-runtime-factory.d.ts +12 -0
  68. package/dist/runtime-v2/pain-signal-runtime-factory.d.ts.map +1 -1
  69. package/dist/runtime-v2/pain-signal-runtime-factory.js +1 -1
  70. package/dist/runtime-v2/pain-signal-runtime-factory.js.map +1 -1
  71. package/dist/runtime-v2/pain-to-principle-service.d.ts +6 -0
  72. package/dist/runtime-v2/pain-to-principle-service.d.ts.map +1 -1
  73. package/dist/runtime-v2/pain-to-principle-service.js +2 -0
  74. package/dist/runtime-v2/pain-to-principle-service.js.map +1 -1
  75. package/dist/runtime-v2/types/evidence-chain-contract.d.ts +63 -0
  76. package/dist/runtime-v2/types/evidence-chain-contract.d.ts.map +1 -1
  77. package/dist/runtime-v2/types/evidence-chain-contract.js +234 -9
  78. package/dist/runtime-v2/types/evidence-chain-contract.js.map +1 -1
  79. package/dist/runtime-v2/types/index.d.ts +2 -2
  80. package/dist/runtime-v2/types/index.d.ts.map +1 -1
  81. package/dist/runtime-v2/types/index.js +3 -1
  82. package/dist/runtime-v2/types/index.js.map +1 -1
  83. package/package.json +1 -1
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=evidence-chain-intent-tension.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence-chain-intent-tension.test.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/__tests__/evidence-chain-intent-tension.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,284 @@
1
+ /* eslint-disable @typescript-eslint/no-non-null-assertion -- test fixtures use validated objects with known keys */
2
+ import { describe, it, expect } from 'vitest';
3
+ import { assembleEvidenceChain } from '../types/evidence-chain-contract.js';
4
+ /**
5
+ * PRI-469: surface intentTension through EvidenceChain.
6
+ *
7
+ * Production architecture: DiagnosticianCommitter writes the full
8
+ * DiagnosticianOutputV1 (rootCause + intentTension) to the `artifacts` table
9
+ * (artifact_kind = 'diagnostician_output', column content_json), NOT to
10
+ * tasks.diagnostic_json. These tests verify assembleEvidenceChain extracts
11
+ * intentTension from the diagnosticArtifacts parameter with runtime validation,
12
+ * degrading visibly on invalid data.
13
+ *
14
+ * The IntentTension type is defined in diag-rootcause-output.ts (PRI-468) and
15
+ * re-exported via evidence-chain-contract.ts. SPEC §16.3 forbids a `confidence`
16
+ * field on intentTension; the compile-time guarantee test below verifies the
17
+ * type does not carry it.
18
+ */
19
+ // ── Fixture builders ──────────────────────────────────────────────────────────
20
+ function makeBaseParams(overrides = {}) {
21
+ return {
22
+ workspaceDir: '/workspace/test',
23
+ painEvents: [
24
+ {
25
+ id: 1,
26
+ source: 'manual',
27
+ reason: 'Agent built heavy dashboard before validating smallest loop',
28
+ text: 'Manual record: directional drift',
29
+ created_at: '2026-06-26T10:00:00.000Z',
30
+ score: 90,
31
+ },
32
+ ],
33
+ tasks: [
34
+ {
35
+ task_id: 'diagnosis_manual_1',
36
+ task_kind: 'diagnostician',
37
+ status: 'succeeded',
38
+ created_at: '2026-06-26T10:01:00.000Z',
39
+ input_ref: 'pain_1',
40
+ },
41
+ ],
42
+ candidates: [],
43
+ dreamerTasks: [],
44
+ ledgerPrinciples: [],
45
+ trajectoryDbAvailable: true,
46
+ stateDbAvailable: true,
47
+ ...overrides,
48
+ };
49
+ }
50
+ function makeValidIntentTension() {
51
+ return {
52
+ source: 'action_drift',
53
+ evidenceStrength: 'strong',
54
+ relatedIntentFields: ['current_strategic_focus', 'non_negotiables'],
55
+ evidence: [
56
+ 'INTENT says current focus is validating the smallest loop.',
57
+ 'Agent designed a heavy dashboard.',
58
+ 'Owner correction says the result increased review burden.',
59
+ ],
60
+ explanation: 'The work optimized presentation completeness before validating the learning loop.',
61
+ suggestedOwnerAction: 'confirm_drift',
62
+ intentDocHash: 'sha256:abc123',
63
+ };
64
+ }
65
+ function makeArtifact(taskId, output) {
66
+ return {
67
+ task_id: taskId,
68
+ content_json: JSON.stringify(output),
69
+ };
70
+ }
71
+ // ── Tests ─────────────────────────────────────────────────────────────────────
72
+ describe('PRI-469: assembleEvidenceChain intentTension extraction', () => {
73
+ it('extracts valid intentTension from diagnosticArtifacts', () => {
74
+ const params = makeBaseParams({
75
+ diagnosticArtifacts: [
76
+ makeArtifact('diagnosis_manual_1', {
77
+ rootCause: 'Verifier missed runtime load.',
78
+ intentTension: makeValidIntentTension(),
79
+ }),
80
+ ],
81
+ });
82
+ const res = assembleEvidenceChain(params);
83
+ expect(res.records.length).toBe(1);
84
+ const record = res.records[0];
85
+ expect(record.intentTension).toBeDefined();
86
+ expect(record.intentTension.source).toBe('action_drift');
87
+ expect(record.intentTension.evidenceStrength).toBe('strong');
88
+ expect(record.intentTension.relatedIntentFields).toEqual(['current_strategic_focus', 'non_negotiables']);
89
+ expect(record.intentTension.evidence).toHaveLength(3);
90
+ expect(record.intentTension.explanation).toContain('presentation completeness');
91
+ expect(record.intentTension.suggestedOwnerAction).toBe('confirm_drift');
92
+ expect(record.intentTension.intentDocHash).toBe('sha256:abc123');
93
+ });
94
+ it('also extracts rootCause from artifact content_json (fixes production GAP)', () => {
95
+ const params = makeBaseParams({
96
+ diagnosticArtifacts: [
97
+ makeArtifact('diagnosis_manual_1', {
98
+ rootCause: 'Verifier missed runtime load path.',
99
+ intentTension: makeValidIntentTension(),
100
+ }),
101
+ ],
102
+ });
103
+ const res = assembleEvidenceChain(params);
104
+ expect(res.records[0].rootCauseSummary).toBe('Verifier missed runtime load path.');
105
+ });
106
+ it('rejects intentTension.confidence (SPEC §16.3)', () => {
107
+ const malicious = makeValidIntentTension();
108
+ malicious.confidence = 0.92; // forbidden field
109
+ const params = makeBaseParams({
110
+ diagnosticArtifacts: [
111
+ makeArtifact('diagnosis_manual_1', {
112
+ rootCause: 'some root cause',
113
+ intentTension: malicious,
114
+ }),
115
+ ],
116
+ });
117
+ const res = assembleEvidenceChain(params);
118
+ expect(res.records[0].intentTension).toBeUndefined();
119
+ });
120
+ it('degrades visibly when intentTension is malformed (missing required field)', () => {
121
+ const malformed = makeValidIntentTension();
122
+ delete malformed.source; // required field missing
123
+ const params = makeBaseParams({
124
+ diagnosticArtifacts: [
125
+ makeArtifact('diagnosis_manual_1', {
126
+ rootCause: 'some root cause',
127
+ intentTension: malformed,
128
+ }),
129
+ ],
130
+ });
131
+ const res = assembleEvidenceChain(params);
132
+ const record = res.records[0];
133
+ expect(record.intentTension).toBeUndefined();
134
+ // rootCause should still be extracted (independent of intentTension validity)
135
+ expect(record.rootCauseSummary).toBe('some root cause');
136
+ // degradation should be observable
137
+ expect(record.degradedReason).toBeDefined();
138
+ });
139
+ it('degrades visibly when artifact content_json is not valid JSON', () => {
140
+ const params = makeBaseParams({
141
+ diagnosticArtifacts: [
142
+ { task_id: 'diagnosis_manual_1', content_json: '{not valid json' },
143
+ ],
144
+ });
145
+ const res = assembleEvidenceChain(params);
146
+ const record = res.records[0];
147
+ expect(record.intentTension).toBeUndefined();
148
+ expect(record.rootCauseSummary).toBeUndefined();
149
+ expect(record.degradedReason).toBeDefined();
150
+ });
151
+ it('rejects intentTension with invalid source enum', () => {
152
+ const invalid = makeValidIntentTension();
153
+ invalid.source = 'definitely_drift'; // not a valid enum
154
+ const params = makeBaseParams({
155
+ diagnosticArtifacts: [
156
+ makeArtifact('diagnosis_manual_1', {
157
+ rootCause: 'some root cause',
158
+ intentTension: invalid,
159
+ }),
160
+ ],
161
+ });
162
+ const res = assembleEvidenceChain(params);
163
+ expect(res.records[0].intentTension).toBeUndefined();
164
+ });
165
+ it('rejects intentTension with invalid suggestedOwnerAction enum', () => {
166
+ const invalid = makeValidIntentTension();
167
+ invalid.suggestedOwnerAction = 'auto_apply'; // not a valid enum
168
+ const params = makeBaseParams({
169
+ diagnosticArtifacts: [
170
+ makeArtifact('diagnosis_manual_1', {
171
+ rootCause: 'some root cause',
172
+ intentTension: invalid,
173
+ }),
174
+ ],
175
+ });
176
+ const res = assembleEvidenceChain(params);
177
+ expect(res.records[0].intentTension).toBeUndefined();
178
+ });
179
+ it('truncates evidence array to max 3 items', () => {
180
+ const oversized = makeValidIntentTension();
181
+ oversized.evidence = ['e1', 'e2', 'e3', 'e4', 'e5'];
182
+ const params = makeBaseParams({
183
+ diagnosticArtifacts: [
184
+ makeArtifact('diagnosis_manual_1', {
185
+ rootCause: 'some root cause',
186
+ intentTension: oversized,
187
+ }),
188
+ ],
189
+ });
190
+ const res = assembleEvidenceChain(params);
191
+ expect(res.records[0].intentTension.evidence).toHaveLength(3);
192
+ });
193
+ it('rejects intentTension.evidence when not an array', () => {
194
+ const invalid = makeValidIntentTension();
195
+ invalid.evidence = 'not an array';
196
+ const params = makeBaseParams({
197
+ diagnosticArtifacts: [
198
+ makeArtifact('diagnosis_manual_1', {
199
+ rootCause: 'some root cause',
200
+ intentTension: invalid,
201
+ }),
202
+ ],
203
+ });
204
+ const res = assembleEvidenceChain(params);
205
+ expect(res.records[0].intentTension).toBeUndefined();
206
+ });
207
+ it('rejects intentTension.relatedIntentFields with invalid enum element', () => {
208
+ const invalid = makeValidIntentTension();
209
+ invalid.relatedIntentFields = ['why', 'invalid_field'];
210
+ const params = makeBaseParams({
211
+ diagnosticArtifacts: [
212
+ makeArtifact('diagnosis_manual_1', {
213
+ rootCause: 'some root cause',
214
+ intentTension: invalid,
215
+ }),
216
+ ],
217
+ });
218
+ const res = assembleEvidenceChain(params);
219
+ expect(res.records[0].intentTension).toBeUndefined();
220
+ });
221
+ it('falls back to tasks.diagnostic_json rootCause when no diagnosticArtifacts (test-fixture compat)', () => {
222
+ const params = makeBaseParams({
223
+ tasks: [
224
+ {
225
+ task_id: 'diagnosis_manual_1',
226
+ task_kind: 'diagnostician',
227
+ status: 'succeeded',
228
+ created_at: '2026-06-26T10:01:00.000Z',
229
+ input_ref: 'pain_1',
230
+ diagnostic_json: JSON.stringify({ rootCause: 'Fixture root cause.' }),
231
+ },
232
+ ],
233
+ });
234
+ const res = assembleEvidenceChain(params);
235
+ expect(res.records[0].rootCauseSummary).toBe('Fixture root cause.');
236
+ expect(res.records[0].intentTension).toBeUndefined();
237
+ });
238
+ it('artifact takes precedence over tasks.diagnostic_json for rootCause', () => {
239
+ const params = makeBaseParams({
240
+ tasks: [
241
+ {
242
+ task_id: 'diagnosis_manual_1',
243
+ task_kind: 'diagnostician',
244
+ status: 'succeeded',
245
+ created_at: '2026-06-26T10:01:00.000Z',
246
+ input_ref: 'pain_1',
247
+ diagnostic_json: JSON.stringify({ rootCause: 'Stale fixture root cause.' }),
248
+ },
249
+ ],
250
+ diagnosticArtifacts: [
251
+ makeArtifact('diagnosis_manual_1', {
252
+ rootCause: 'Authoritative artifact root cause.',
253
+ intentTension: makeValidIntentTension(),
254
+ }),
255
+ ],
256
+ });
257
+ const res = assembleEvidenceChain(params);
258
+ expect(res.records[0].rootCauseSummary).toBe('Authoritative artifact root cause.');
259
+ expect(res.records[0].intentTension).toBeDefined();
260
+ });
261
+ it('handles missing diagnosticArtifacts param (backward compat, no breakage)', () => {
262
+ const params = makeBaseParams();
263
+ // diagnosticArtifacts not provided
264
+ const res = assembleEvidenceChain(params);
265
+ expect(res.records.length).toBe(1);
266
+ expect(res.records[0].intentTension).toBeUndefined();
267
+ });
268
+ it('IntentTension type has no confidence field (compile-time guarantee)', () => {
269
+ // This is a type-level test — if IntentTension accidentally includes
270
+ // `confidence`, this assignment would compile, breaking the SPEC §16.3 guard.
271
+ const record = {
272
+ source: 'none',
273
+ evidenceStrength: 'weak',
274
+ relatedIntentFields: [],
275
+ evidence: [],
276
+ explanation: 'no tension',
277
+ suggestedOwnerAction: 'dismiss',
278
+ };
279
+ // @ts-expect-error — confidence must NOT exist on IntentTension
280
+ record.confidence = 0.5;
281
+ expect(record.source).toBe('none');
282
+ });
283
+ });
284
+ //# sourceMappingURL=evidence-chain-intent-tension.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence-chain-intent-tension.test.js","sourceRoot":"","sources":["../../../src/runtime-v2/__tests__/evidence-chain-intent-tension.test.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,23 @@
1
1
  import { describe, it, expect } from 'vitest';
2
2
  import { Value } from '@sinclair/typebox/value';
3
3
  import { DiagRootCauseOutputV1Schema, DefaultDiagRootCauseValidator } from '../diag-rootcause-output.js';
4
+ // Module-scope fixture so all describe blocks can share it.
5
+ const validOutput = {
6
+ valid: true,
7
+ diagnosisId: 'diag-001',
8
+ taskId: 'task-001',
9
+ summary: 'Test summary',
10
+ causalChain: [
11
+ { why: 1, statement: 'First why', evidenceRefs: ['ref1'] },
12
+ { why: 2, statement: 'Second why', evidenceRefs: ['ref1'] },
13
+ ],
14
+ rootCause: 'Design: Poor error handling',
15
+ rootCauseCategory: 'Design',
16
+ evidence: [{ sourceRef: 'src1', note: 'note1' }],
17
+ confidence: 0.8,
18
+ ambiguityNotes: ['note1'],
19
+ };
4
20
  describe('DiagRootCauseOutputV1Schema', () => {
5
- const validOutput = {
6
- valid: true,
7
- diagnosisId: 'diag-001',
8
- taskId: 'task-001',
9
- summary: 'Test summary',
10
- causalChain: [
11
- { why: 1, statement: 'First why', evidenceRefs: ['ref1'] },
12
- { why: 2, statement: 'Second why', evidenceRefs: ['ref1'] },
13
- ],
14
- rootCause: 'Design: Poor error handling',
15
- rootCauseCategory: 'Design',
16
- evidence: [{ sourceRef: 'src1', note: 'note1' }],
17
- confidence: 0.8,
18
- ambiguityNotes: ['note1'],
19
- };
20
21
  it('valid root cause output passes Value.Check', () => {
21
22
  expect(Value.Check(DiagRootCauseOutputV1Schema, validOutput)).toBe(true);
22
23
  });
@@ -244,4 +245,122 @@ describe('DiagRootCauseOutputV1Schema', () => {
244
245
  expect(result.errors.some((e) => e.includes('People|Design|Assumption|Tooling'))).toBe(true);
245
246
  });
246
247
  });
248
+ // ── PRI-468: intentTension on DiagRootCauseOutputV1Schema ────────────────────
249
+ describe('DiagRootCauseOutputV1Schema — intentTension (PRI-468)', () => {
250
+ const validIntentTension = {
251
+ source: 'action_drift',
252
+ evidenceStrength: 'moderate',
253
+ relatedIntentFields: ['current_strategic_focus', 'non_negotiables'],
254
+ evidence: [
255
+ 'INTENT says current focus is validating the smallest Pain → Principle loop.',
256
+ 'Agent designed a heavy dashboard.',
257
+ 'Owner correction says the result increased review burden.',
258
+ ],
259
+ explanation: 'The work may be useful later, but it optimized presentation completeness before validating the current learning loop.',
260
+ suggestedOwnerAction: 'confirm_drift',
261
+ intentDocHash: 'sha256:abc123',
262
+ };
263
+ it('accepts output without intentTension (optional)', () => {
264
+ expect(Value.Check(DiagRootCauseOutputV1Schema, validOutput)).toBe(true);
265
+ });
266
+ it('accepts output with valid intentTension', () => {
267
+ const output = { ...validOutput, intentTension: validIntentTension };
268
+ expect(Value.Check(DiagRootCauseOutputV1Schema, output)).toBe(true);
269
+ });
270
+ it('Value.Clean strips intentTension.confidence from nested object', () => {
271
+ const output = {
272
+ ...validOutput,
273
+ intentTension: { ...validIntentTension, confidence: 0.8 },
274
+ };
275
+ const cleaned = Value.Clean(DiagRootCauseOutputV1Schema, output);
276
+ const cleanedTension = cleaned.intentTension;
277
+ expect(cleanedTension).toBeDefined();
278
+ expect(Object.hasOwn(cleanedTension, 'confidence')).toBe(false);
279
+ });
280
+ it('rejects output with intentTension.confidence (additionalProperties: false)', () => {
281
+ const output = {
282
+ ...validOutput,
283
+ intentTension: { ...validIntentTension, confidence: 0.8 },
284
+ };
285
+ expect(Value.Check(DiagRootCauseOutputV1Schema, output)).toBe(false);
286
+ });
287
+ it('rejects output with intentTension.source = invalid', () => {
288
+ const output = {
289
+ ...validOutput,
290
+ intentTension: { ...validIntentTension, source: 'definitely_drift' },
291
+ };
292
+ expect(Value.Check(DiagRootCauseOutputV1Schema, output)).toBe(false);
293
+ });
294
+ it('rejects output with intentTension.evidence > 3 items', () => {
295
+ const output = {
296
+ ...validOutput,
297
+ intentTension: {
298
+ ...validIntentTension,
299
+ evidence: ['one', 'two', 'three', 'four'],
300
+ },
301
+ };
302
+ expect(Value.Check(DiagRootCauseOutputV1Schema, output)).toBe(false);
303
+ });
304
+ });
305
+ // ── PRI-468: DefaultDiagRootCauseValidator with intentTension ───────────────
306
+ describe('DefaultDiagRootCauseValidator — intentTension (PRI-468)', () => {
307
+ const validIntentTension = {
308
+ source: 'action_drift',
309
+ evidenceStrength: 'moderate',
310
+ relatedIntentFields: ['current_strategic_focus'],
311
+ evidence: ['Agent added a dashboard.', 'Owner said focus was the loop.'],
312
+ explanation: 'Action optimized presentation over the current learning loop.',
313
+ suggestedOwnerAction: 'confirm_drift',
314
+ intentDocHash: 'sha256:abc123',
315
+ };
316
+ it('accepts valid output with intentTension', async () => {
317
+ const validator = new DefaultDiagRootCauseValidator();
318
+ const output = { ...validOutput, intentTension: validIntentTension };
319
+ const result = await validator.validate(output, 'task-001');
320
+ expect(result.valid).toBe(true);
321
+ });
322
+ it('rejects intentTension with confidence field', async () => {
323
+ const validator = new DefaultDiagRootCauseValidator();
324
+ const output = {
325
+ ...validOutput,
326
+ intentTension: { ...validIntentTension, confidence: 0.8 },
327
+ };
328
+ const result = await validator.validate(output, 'task-001');
329
+ expect(result.valid).toBe(false);
330
+ expect(result.errors.some((e) => e.includes('intentTension') || e.includes('confidence') || e.includes('Additional'))).toBe(true);
331
+ });
332
+ it('rejects intentTension with invalid source', async () => {
333
+ const validator = new DefaultDiagRootCauseValidator();
334
+ const output = {
335
+ ...validOutput,
336
+ intentTension: { ...validIntentTension, source: 'definitely_drift' },
337
+ };
338
+ const result = await validator.validate(output, 'task-001');
339
+ expect(result.valid).toBe(false);
340
+ });
341
+ it('rejects intentTension with evidence > 3 items', async () => {
342
+ const validator = new DefaultDiagRootCauseValidator();
343
+ const output = {
344
+ ...validOutput,
345
+ intentTension: {
346
+ ...validIntentTension,
347
+ evidence: ['one', 'two', 'three', 'four'],
348
+ },
349
+ };
350
+ const result = await validator.validate(output, 'task-001');
351
+ expect(result.valid).toBe(false);
352
+ });
353
+ it('rejects intentTension that is not an object', async () => {
354
+ const validator = new DefaultDiagRootCauseValidator();
355
+ const output = { ...validOutput, intentTension: 'not an object' };
356
+ const result = await validator.validate(output, 'task-001');
357
+ expect(result.valid).toBe(false);
358
+ expect(result.errors.some((e) => e.includes('intentTension'))).toBe(true);
359
+ });
360
+ it('still accepts output without intentTension (backward compat)', async () => {
361
+ const validator = new DefaultDiagRootCauseValidator();
362
+ const result = await validator.validate(validOutput, 'task-001');
363
+ expect(result.valid).toBe(true);
364
+ });
365
+ });
247
366
  //# sourceMappingURL=diag-rootcause-output.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"diag-rootcause-output.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/diagnostician/__tests__/diag-rootcause-output.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diag-rootcause-output.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/diagnostician/__tests__/diag-rootcause-output.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAGzG,4DAA4D;AAC5D,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,UAAU;IACvB,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,cAAc;IACvB,WAAW,EAAE;QACX,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;QAC1D,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;KAC5D;IACD,SAAS,EAAE,6BAA6B;IACxC,iBAAiB,EAAE,QAAQ;IAC3B,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAChD,UAAU,EAAE,GAAG;IACf,cAAc,EAAE,CAAC,OAAO,CAAC;CAC1B,CAAC;AAEF,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,2BAA2B,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,GAAG,WAAW,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,SAAS,GAAG,EAAE,GAAG,WAAW,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC;QACtE,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,2BAA2B,EAAE,SAAS,CAA4B,CAAC;QAC/F,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACjE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,EAAE,GAAG,WAAW,EAAE,SAAS,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC;QACjG,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,EAAE,GAAG,WAAW,EAAE,SAAS,EAAE,qCAAqC,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC;QACjH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,+EAA+E;IAE/E,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;QAClE,MAAM,cAAc,GAAG,qCAAqC,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAChE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACtD,2DAA2D;QAC3D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;QAC7F,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;QAClE,MAAM,cAAc,GAAG,qCAAqC,CAAC;QAC7D,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QACjD,4DAA4D;QAC5D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC;QACvE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,qCAAqC,CAAC,CAAC;QACvF,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;QAC5F,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,4DAA4D;IAC5D,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;QAClE,MAAM,cAAc,GAAG,qCAAqC,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAChE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wFAAwF,EAAE,KAAK,IAAI,EAAE;QACtG,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC;QACvE,MAAM,cAAc,GAAG,qCAAqC,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAChE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpF,gCAAgC;QAChC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,uCAAuC,CAAC,CAAC;QACzF,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,sCAAsC,CAAC,CAAC;QACxF,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,wCAAwC;QACxC,MAAM,MAAM,GAAG,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,2CAA2C,CAAC,CAAC;QAC7F,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG;YACb,GAAG,WAAW;YACd,WAAW,EAAE;gBACX,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU;gBACxE,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU;aACzE;SACF,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG;YACb,GAAG,WAAW;YACd,WAAW,EAAE;gBACX,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,qBAAqB;aAC5E;SACF,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG;YACb,GAAG,WAAW;YACd,WAAW,EAAE;gBACX,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,kBAAkB;aACtE;SACF,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG;YACb,GAAG,WAAW;YACd,QAAQ,EAAE;gBACR,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,kBAAkB;aAC1D;SACF,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG;YACb,GAAG,WAAW;YACd,QAAQ,EAAE;gBACR,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,aAAa;aACpD;SACF,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,EAAE,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,eAAe;QACnE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,8CAA8C;QAC9C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,EAAE,GAAG,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,6CAA6C;QAC7C,MAAM,MAAM,GAAG,EAAE,GAAG,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,gEAAgE;QAChE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,0CAA0C;QAC1C,MAAM,MAAM,GAAG,EAAE,GAAG,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,gEAAgE;QAChE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,MAAM,UAAU,GAAuD,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAErH,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG;gBACb,GAAG,WAAW;gBACd,SAAS,EAAE,GAAG,QAAQ,mBAAmB;gBACzC,iBAAiB,EAAE,QAAQ;aAC5B,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC5D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,EAAE,GAAG,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;QACxE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvG,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAEhF,QAAQ,CAAC,uDAAuD,EAAE,GAAG,EAAE;IACrE,MAAM,kBAAkB,GAAkB;QACxC,MAAM,EAAE,cAAc;QACtB,gBAAgB,EAAE,UAAU;QAC5B,mBAAmB,EAAE,CAAC,yBAAyB,EAAE,iBAAiB,CAAC;QACnE,QAAQ,EAAE;YACR,6EAA6E;YAC7E,mCAAmC;YACnC,2DAA2D;SAC5D;QACD,WAAW,EACT,uHAAuH;QACzH,oBAAoB,EAAE,eAAe;QACrC,aAAa,EAAE,eAAe;KAC/B,CAAC;IAEF,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,2BAA2B,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,MAAM,GAAG,EAAE,GAAG,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC;QACrE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,MAAM,GAAG;YACb,GAAG,WAAW;YACd,aAAa,EAAE,EAAE,GAAG,kBAAkB,EAAE,UAAU,EAAE,GAAG,EAAE;SAC1D,CAAC;QACF,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,2BAA2B,EAAE,MAAM,CAA4B,CAAC;QAC5F,MAAM,cAAc,GAAG,OAAO,CAAC,aAAoD,CAAC;QACpF,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAyC,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACpF,MAAM,MAAM,GAAG;YACb,GAAG,WAAW;YACd,aAAa,EAAE,EAAE,GAAG,kBAAkB,EAAE,UAAU,EAAE,GAAG,EAAE;SAC1D,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,MAAM,GAAG;YACb,GAAG,WAAW;YACd,aAAa,EAAE,EAAE,GAAG,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,EAAE;SACrE,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,MAAM,GAAG;YACb,GAAG,WAAW;YACd,aAAa,EAAE;gBACb,GAAG,kBAAkB;gBACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC;aAC1C;SACF,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,+EAA+E;AAE/E,QAAQ,CAAC,yDAAyD,EAAE,GAAG,EAAE;IACvE,MAAM,kBAAkB,GAAkB;QACxC,MAAM,EAAE,cAAc;QACtB,gBAAgB,EAAE,UAAU;QAC5B,mBAAmB,EAAE,CAAC,yBAAyB,CAAC;QAChD,QAAQ,EAAE,CAAC,0BAA0B,EAAE,gCAAgC,CAAC;QACxE,WAAW,EAAE,+DAA+D;QAC5E,oBAAoB,EAAE,eAAe;QACrC,aAAa,EAAE,eAAe;KAC/B,CAAC;IAEF,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,EAAE,GAAG,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC;QACrE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG;YACb,GAAG,WAAW;YACd,aAAa,EAAE,EAAE,GAAG,kBAAkB,EAAE,UAAU,EAAE,GAAG,EAAE;SAC1D,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,CACJ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CACvH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG;YACb,GAAG,WAAW;YACd,aAAa,EAAE,EAAE,GAAG,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,EAAE;SACrE,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG;YACb,GAAG,WAAW;YACd,aAAa,EAAE;gBACb,GAAG,kBAAkB;gBACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC;aAC1C;SACF,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,EAAE,GAAG,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;QAClE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,SAAS,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACjE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * PRI-468 — IntentTensionSchema unit tests (SPEC §23.3).
3
+ *
4
+ * Validates the TypeBox schema for the optional `intentTension` field added
5
+ * to DiagRootCauseOutputV1Schema. The schema must:
6
+ * - accept all four `source` enum values (SPEC §16.5)
7
+ * - accept all three `evidenceStrength` values
8
+ * - accept all five `relatedIntentFields` values
9
+ * - accept all six `suggestedOwnerAction` values (SPEC §21)
10
+ * - cap `evidence` at 3 items (SPEC §16.4)
11
+ * - reject `confidence` (SPEC §16.3 — intentTension.confidence is forbidden;
12
+ * existing rootCause-level confidence is untouched)
13
+ * - treat `intentDocHash` as optional (SPEC §16.2)
14
+ *
15
+ * TDD: this test is written BEFORE the schema exists. Run to confirm RED.
16
+ */
17
+ export {};
18
+ //# sourceMappingURL=intent-tension-schema.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent-tension-schema.test.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/diagnostician/__tests__/intent-tension-schema.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG"}