@principles/core 1.73.0 → 1.75.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 (101) hide show
  1. package/dist/runtime-v2/__tests__/architecture-regression.test.js +3 -3
  2. package/dist/runtime-v2/__tests__/architecture-regression.test.js.map +1 -1
  3. package/dist/runtime-v2/activation/index.d.ts +0 -2
  4. package/dist/runtime-v2/activation/index.d.ts.map +1 -1
  5. package/dist/runtime-v2/activation/index.js +0 -1
  6. package/dist/runtime-v2/activation/index.js.map +1 -1
  7. package/dist/runtime-v2/adapter/__tests__/schema-prompt-adapter.test.d.ts +2 -0
  8. package/dist/runtime-v2/adapter/__tests__/schema-prompt-adapter.test.d.ts.map +1 -0
  9. package/dist/runtime-v2/adapter/__tests__/schema-prompt-adapter.test.js +270 -0
  10. package/dist/runtime-v2/adapter/__tests__/schema-prompt-adapter.test.js.map +1 -0
  11. package/dist/runtime-v2/adapter/pi-ai-runtime-adapter.d.ts +1 -1
  12. package/dist/runtime-v2/adapter/pi-ai-runtime-adapter.d.ts.map +1 -1
  13. package/dist/runtime-v2/adapter/pi-ai-runtime-adapter.js +4 -3
  14. package/dist/runtime-v2/adapter/pi-ai-runtime-adapter.js.map +1 -1
  15. package/dist/runtime-v2/adapter/schema-prompt-adapter.d.ts +13 -0
  16. package/dist/runtime-v2/adapter/schema-prompt-adapter.d.ts.map +1 -0
  17. package/dist/runtime-v2/adapter/schema-prompt-adapter.js +266 -0
  18. package/dist/runtime-v2/adapter/schema-prompt-adapter.js.map +1 -0
  19. package/dist/runtime-v2/adapter/tools/diagnostician-tool.d.ts +3 -7
  20. package/dist/runtime-v2/adapter/tools/diagnostician-tool.d.ts.map +1 -1
  21. package/dist/runtime-v2/adapter/tools/diagnostician-tool.js +7 -19
  22. package/dist/runtime-v2/adapter/tools/diagnostician-tool.js.map +1 -1
  23. package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.test.js +97 -15
  24. package/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.test.js.map +1 -1
  25. package/dist/runtime-v2/diagnostician-output.d.ts +0 -10
  26. package/dist/runtime-v2/diagnostician-output.d.ts.map +1 -1
  27. package/dist/runtime-v2/diagnostician-output.js +5 -10
  28. package/dist/runtime-v2/diagnostician-output.js.map +1 -1
  29. package/dist/runtime-v2/diagnostician-prompt-builder.d.ts +6 -1
  30. package/dist/runtime-v2/diagnostician-prompt-builder.d.ts.map +1 -1
  31. package/dist/runtime-v2/diagnostician-prompt-builder.js +23 -15
  32. package/dist/runtime-v2/diagnostician-prompt-builder.js.map +1 -1
  33. package/dist/runtime-v2/index.d.ts +4 -4
  34. package/dist/runtime-v2/index.d.ts.map +1 -1
  35. package/dist/runtime-v2/index.js +2 -2
  36. package/dist/runtime-v2/index.js.map +1 -1
  37. package/dist/runtime-v2/types/event-types.d.ts +3 -24
  38. package/dist/runtime-v2/types/event-types.d.ts.map +1 -1
  39. package/dist/runtime-v2/types/event-types.js +0 -10
  40. package/dist/runtime-v2/types/event-types.js.map +1 -1
  41. package/package.json +1 -1
  42. package/dist/runtime-v2/__tests__/nocturnal-compliance-trust-boundary.test.d.ts +0 -2
  43. package/dist/runtime-v2/__tests__/nocturnal-compliance-trust-boundary.test.d.ts.map +0 -1
  44. package/dist/runtime-v2/__tests__/nocturnal-compliance-trust-boundary.test.js +0 -215
  45. package/dist/runtime-v2/__tests__/nocturnal-compliance-trust-boundary.test.js.map +0 -1
  46. package/dist/runtime-v2/__tests__/sqlite-confirm-first-state-store.test.d.ts +0 -2
  47. package/dist/runtime-v2/__tests__/sqlite-confirm-first-state-store.test.d.ts.map +0 -1
  48. package/dist/runtime-v2/__tests__/sqlite-confirm-first-state-store.test.js +0 -148
  49. package/dist/runtime-v2/__tests__/sqlite-confirm-first-state-store.test.js.map +0 -1
  50. package/dist/runtime-v2/activation/sqlite-confirm-first-state-store.d.ts +0 -22
  51. package/dist/runtime-v2/activation/sqlite-confirm-first-state-store.d.ts.map +0 -1
  52. package/dist/runtime-v2/activation/sqlite-confirm-first-state-store.js +0 -136
  53. package/dist/runtime-v2/activation/sqlite-confirm-first-state-store.js.map +0 -1
  54. package/dist/runtime-v2/idle-trigger/__tests__/idle-trigger-config-resolve.test.d.ts +0 -2
  55. package/dist/runtime-v2/idle-trigger/__tests__/idle-trigger-config-resolve.test.d.ts.map +0 -1
  56. package/dist/runtime-v2/idle-trigger/__tests__/idle-trigger-config-resolve.test.js +0 -92
  57. package/dist/runtime-v2/idle-trigger/__tests__/idle-trigger-config-resolve.test.js.map +0 -1
  58. package/dist/runtime-v2/idle-trigger/__tests__/idle-trigger-decision.test.d.ts +0 -2
  59. package/dist/runtime-v2/idle-trigger/__tests__/idle-trigger-decision.test.d.ts.map +0 -1
  60. package/dist/runtime-v2/idle-trigger/__tests__/idle-trigger-decision.test.js +0 -134
  61. package/dist/runtime-v2/idle-trigger/__tests__/idle-trigger-decision.test.js.map +0 -1
  62. package/dist/runtime-v2/idle-trigger/__tests__/idle-trigger-edge-cases.test.d.ts +0 -2
  63. package/dist/runtime-v2/idle-trigger/__tests__/idle-trigger-edge-cases.test.d.ts.map +0 -1
  64. package/dist/runtime-v2/idle-trigger/__tests__/idle-trigger-edge-cases.test.js +0 -226
  65. package/dist/runtime-v2/idle-trigger/__tests__/idle-trigger-edge-cases.test.js.map +0 -1
  66. package/dist/runtime-v2/idle-trigger/idle-trigger-decision.d.ts +0 -3
  67. package/dist/runtime-v2/idle-trigger/idle-trigger-decision.d.ts.map +0 -1
  68. package/dist/runtime-v2/idle-trigger/idle-trigger-decision.js +0 -5
  69. package/dist/runtime-v2/idle-trigger/idle-trigger-decision.js.map +0 -1
  70. package/dist/runtime-v2/idle-trigger/idle-trigger-policy.d.ts +0 -4
  71. package/dist/runtime-v2/idle-trigger/idle-trigger-policy.d.ts.map +0 -1
  72. package/dist/runtime-v2/idle-trigger/idle-trigger-policy.js +0 -81
  73. package/dist/runtime-v2/idle-trigger/idle-trigger-policy.js.map +0 -1
  74. package/dist/runtime-v2/idle-trigger/idle-trigger-types.d.ts +0 -29
  75. package/dist/runtime-v2/idle-trigger/idle-trigger-types.d.ts.map +0 -1
  76. package/dist/runtime-v2/idle-trigger/idle-trigger-types.js +0 -15
  77. package/dist/runtime-v2/idle-trigger/idle-trigger-types.js.map +0 -1
  78. package/dist/runtime-v2/idle-trigger/index.d.ts +0 -5
  79. package/dist/runtime-v2/idle-trigger/index.d.ts.map +0 -1
  80. package/dist/runtime-v2/idle-trigger/index.js +0 -4
  81. package/dist/runtime-v2/idle-trigger/index.js.map +0 -1
  82. package/dist/runtime-v2/nocturnal/candidate-scoring.d.ts +0 -486
  83. package/dist/runtime-v2/nocturnal/candidate-scoring.d.ts.map +0 -1
  84. package/dist/runtime-v2/nocturnal/candidate-scoring.js +0 -493
  85. package/dist/runtime-v2/nocturnal/candidate-scoring.js.map +0 -1
  86. package/dist/runtime-v2/nocturnal/index.d.ts +0 -9
  87. package/dist/runtime-v2/nocturnal/index.d.ts.map +0 -1
  88. package/dist/runtime-v2/nocturnal/index.js +0 -5
  89. package/dist/runtime-v2/nocturnal/index.js.map +0 -1
  90. package/dist/runtime-v2/nocturnal/nocturnal-compliance.d.ts +0 -185
  91. package/dist/runtime-v2/nocturnal/nocturnal-compliance.d.ts.map +0 -1
  92. package/dist/runtime-v2/nocturnal/nocturnal-compliance.js +0 -912
  93. package/dist/runtime-v2/nocturnal/nocturnal-compliance.js.map +0 -1
  94. package/dist/runtime-v2/nocturnal/snapshot-contract.d.ts +0 -192
  95. package/dist/runtime-v2/nocturnal/snapshot-contract.d.ts.map +0 -1
  96. package/dist/runtime-v2/nocturnal/snapshot-contract.js +0 -185
  97. package/dist/runtime-v2/nocturnal/snapshot-contract.js.map +0 -1
  98. package/dist/runtime-v2/nocturnal/trinity-types.d.ts +0 -421
  99. package/dist/runtime-v2/nocturnal/trinity-types.d.ts.map +0 -1
  100. package/dist/runtime-v2/nocturnal/trinity-types.js +0 -182
  101. package/dist/runtime-v2/nocturnal/trinity-types.js.map +0 -1
@@ -1,486 +0,0 @@
1
- /**
2
- * Nocturnal Candidate Scoring — Deterministic Tournament Selection
3
- * ============================================================
4
- *
5
- * PURPOSE: Score Trinity candidates and run deterministic tournament selection
6
- * to choose the best candidate for artifact generation.
7
- *
8
- * DESIGN CONSTRAINTS:
9
- * - Scoring is deterministic: same inputs → same winner
10
- * - Tie-break rules are stable and explicit
11
- * - No randomness in ranking or selection
12
- * - Winner is always the highest-scoring candidate
13
- * - Thresholds provide minimum quality gates
14
- * - Failed threshold candidates are excluded from tournament
15
- *
16
- * SCORING COMPONENTS:
17
- * - schema completeness: candidate has all required fields
18
- * - principle alignment: candidate aligns with target principle
19
- * - executability: candidate describes an actionable next step
20
- * - boundedness: candidate is specific and bounded
21
- * - confidence/consistency: candidate's internal consistency
22
- *
23
- * PHASE 6 ONLY — No real training, no automatic deployment
24
- */
25
- import { type Static } from '@sinclair/typebox';
26
- import type { TrinityDreamerCandidate, PhilosopherJudgment } from './trinity-types.js';
27
- /**
28
- * Current threshold values.
29
- */
30
- export declare const ThresholdValuesSchema: import("@sinclair/typebox").TObject<{
31
- schemaCompletenessMin: import("@sinclair/typebox").TNumber;
32
- principleAlignmentMin: import("@sinclair/typebox").TNumber;
33
- executabilityMin: import("@sinclair/typebox").TNumber;
34
- boundednessMin: import("@sinclair/typebox").TNumber;
35
- confidenceMin: import("@sinclair/typebox").TNumber;
36
- aggregateMin: import("@sinclair/typebox").TNumber;
37
- }>;
38
- export type ThresholdValues = Static<typeof ThresholdValuesSchema>;
39
- /**
40
- * Single entry in the tournament trace (for candidate scoring).
41
- */
42
- export declare const CandidateTournamentTraceEntrySchema: import("@sinclair/typebox").TObject<{
43
- /** Description of this step */
44
- step: import("@sinclair/typebox").TString;
45
- /** Details about the decision */
46
- details: import("@sinclair/typebox").TString;
47
- }>;
48
- export type CandidateTournamentTraceEntry = Static<typeof CandidateTournamentTraceEntrySchema>;
49
- /**
50
- * Individual scoring dimensions for a candidate.
51
- */
52
- export declare const CandidateScoresSchema: import("@sinclair/typebox").TObject<{
53
- /** Schema completeness (0-1) */
54
- schemaCompleteness: import("@sinclair/typebox").TNumber;
55
- /** Principle alignment (0-1) */
56
- principleAlignment: import("@sinclair/typebox").TNumber;
57
- /** Executability (0-1) */
58
- executability: import("@sinclair/typebox").TNumber;
59
- /** Boundedness — specificity and constraint (0-1) */
60
- boundedness: import("@sinclair/typebox").TNumber;
61
- /** Confidence/consistency (0-1) */
62
- confidence: import("@sinclair/typebox").TNumber;
63
- /** Aggregate score (weighted average) */
64
- aggregate: import("@sinclair/typebox").TNumber;
65
- }>;
66
- export type CandidateScores = Static<typeof CandidateScoresSchema>;
67
- /**
68
- * Scored candidate with ranking.
69
- */
70
- export declare const ScoredCandidateSchema: import("@sinclair/typebox").TObject<{
71
- /** Original candidate index from Dreamer */
72
- candidateIndex: import("@sinclair/typebox").TInteger;
73
- /** The Dreamer candidate */
74
- candidate: import("@sinclair/typebox").TObject<{
75
- candidateIndex: import("@sinclair/typebox").TInteger;
76
- badDecision: import("@sinclair/typebox").TString;
77
- betterDecision: import("@sinclair/typebox").TString;
78
- rationale: import("@sinclair/typebox").TString;
79
- confidence: import("@sinclair/typebox").TNumber;
80
- riskLevel: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"low">, import("@sinclair/typebox").TLiteral<"medium">, import("@sinclair/typebox").TLiteral<"high">]>>;
81
- strategicPerspective: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"conservative_fix">, import("@sinclair/typebox").TLiteral<"structural_improvement">, import("@sinclair/typebox").TLiteral<"paradigm_shift">]>>;
82
- }>;
83
- /** The Philosopher judgment */
84
- judgment: import("@sinclair/typebox").TObject<{
85
- candidateIndex: import("@sinclair/typebox").TInteger;
86
- critique: import("@sinclair/typebox").TString;
87
- principleAligned: import("@sinclair/typebox").TBoolean;
88
- score: import("@sinclair/typebox").TNumber;
89
- rank: import("@sinclair/typebox").TInteger;
90
- scores: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
91
- principleAlignment: import("@sinclair/typebox").TNumber;
92
- specificity: import("@sinclair/typebox").TNumber;
93
- actionability: import("@sinclair/typebox").TNumber;
94
- executability: import("@sinclair/typebox").TNumber;
95
- safetyImpact: import("@sinclair/typebox").TNumber;
96
- uxImpact: import("@sinclair/typebox").TNumber;
97
- }>>;
98
- risks: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
99
- falsePositiveEstimate: import("@sinclair/typebox").TNumber;
100
- implementationComplexity: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"low">, import("@sinclair/typebox").TLiteral<"medium">, import("@sinclair/typebox").TLiteral<"high">]>;
101
- breakingChangeRisk: import("@sinclair/typebox").TBoolean;
102
- }>>;
103
- }>;
104
- /** Individual dimension scores */
105
- scores: import("@sinclair/typebox").TObject<{
106
- /** Schema completeness (0-1) */
107
- schemaCompleteness: import("@sinclair/typebox").TNumber;
108
- /** Principle alignment (0-1) */
109
- principleAlignment: import("@sinclair/typebox").TNumber;
110
- /** Executability (0-1) */
111
- executability: import("@sinclair/typebox").TNumber;
112
- /** Boundedness — specificity and constraint (0-1) */
113
- boundedness: import("@sinclair/typebox").TNumber;
114
- /** Confidence/consistency (0-1) */
115
- confidence: import("@sinclair/typebox").TNumber;
116
- /** Aggregate score (weighted average) */
117
- aggregate: import("@sinclair/typebox").TNumber;
118
- }>;
119
- /** Final tournament rank (1 = winner) */
120
- rank: import("@sinclair/typebox").TInteger;
121
- /** Whether this candidate passed all thresholds */
122
- thresholdPassed: import("@sinclair/typebox").TBoolean;
123
- /** Which thresholds failed (if any) */
124
- failedThresholds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
125
- }>;
126
- export type ScoredCandidate = Static<typeof ScoredCandidateSchema>;
127
- /**
128
- * Result of a tournament selection (for candidate scoring).
129
- */
130
- export declare const CandidateTournamentResultSchema: import("@sinclair/typebox").TObject<{
131
- /** Whether tournament produced a winner */
132
- success: import("@sinclair/typebox").TBoolean;
133
- /** The winning candidate (if success === true) */
134
- winner: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
135
- /** Original candidate index from Dreamer */
136
- candidateIndex: import("@sinclair/typebox").TInteger;
137
- /** The Dreamer candidate */
138
- candidate: import("@sinclair/typebox").TObject<{
139
- candidateIndex: import("@sinclair/typebox").TInteger;
140
- badDecision: import("@sinclair/typebox").TString;
141
- betterDecision: import("@sinclair/typebox").TString;
142
- rationale: import("@sinclair/typebox").TString;
143
- confidence: import("@sinclair/typebox").TNumber;
144
- riskLevel: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"low">, import("@sinclair/typebox").TLiteral<"medium">, import("@sinclair/typebox").TLiteral<"high">]>>;
145
- strategicPerspective: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"conservative_fix">, import("@sinclair/typebox").TLiteral<"structural_improvement">, import("@sinclair/typebox").TLiteral<"paradigm_shift">]>>;
146
- }>;
147
- /** The Philosopher judgment */
148
- judgment: import("@sinclair/typebox").TObject<{
149
- candidateIndex: import("@sinclair/typebox").TInteger;
150
- critique: import("@sinclair/typebox").TString;
151
- principleAligned: import("@sinclair/typebox").TBoolean;
152
- score: import("@sinclair/typebox").TNumber;
153
- rank: import("@sinclair/typebox").TInteger;
154
- scores: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
155
- principleAlignment: import("@sinclair/typebox").TNumber;
156
- specificity: import("@sinclair/typebox").TNumber;
157
- actionability: import("@sinclair/typebox").TNumber;
158
- executability: import("@sinclair/typebox").TNumber;
159
- safetyImpact: import("@sinclair/typebox").TNumber;
160
- uxImpact: import("@sinclair/typebox").TNumber;
161
- }>>;
162
- risks: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
163
- falsePositiveEstimate: import("@sinclair/typebox").TNumber;
164
- implementationComplexity: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"low">, import("@sinclair/typebox").TLiteral<"medium">, import("@sinclair/typebox").TLiteral<"high">]>;
165
- breakingChangeRisk: import("@sinclair/typebox").TBoolean;
166
- }>>;
167
- }>;
168
- /** Individual dimension scores */
169
- scores: import("@sinclair/typebox").TObject<{
170
- /** Schema completeness (0-1) */
171
- schemaCompleteness: import("@sinclair/typebox").TNumber;
172
- /** Principle alignment (0-1) */
173
- principleAlignment: import("@sinclair/typebox").TNumber;
174
- /** Executability (0-1) */
175
- executability: import("@sinclair/typebox").TNumber;
176
- /** Boundedness — specificity and constraint (0-1) */
177
- boundedness: import("@sinclair/typebox").TNumber;
178
- /** Confidence/consistency (0-1) */
179
- confidence: import("@sinclair/typebox").TNumber;
180
- /** Aggregate score (weighted average) */
181
- aggregate: import("@sinclair/typebox").TNumber;
182
- }>;
183
- /** Final tournament rank (1 = winner) */
184
- rank: import("@sinclair/typebox").TInteger;
185
- /** Whether this candidate passed all thresholds */
186
- thresholdPassed: import("@sinclair/typebox").TBoolean;
187
- /** Which thresholds failed (if any) */
188
- failedThresholds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
189
- }>, import("@sinclair/typebox").TNull]>;
190
- /** All ranked candidates (sorted by rank) */
191
- rankedCandidates: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
192
- /** Original candidate index from Dreamer */
193
- candidateIndex: import("@sinclair/typebox").TInteger;
194
- /** The Dreamer candidate */
195
- candidate: import("@sinclair/typebox").TObject<{
196
- candidateIndex: import("@sinclair/typebox").TInteger;
197
- badDecision: import("@sinclair/typebox").TString;
198
- betterDecision: import("@sinclair/typebox").TString;
199
- rationale: import("@sinclair/typebox").TString;
200
- confidence: import("@sinclair/typebox").TNumber;
201
- riskLevel: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"low">, import("@sinclair/typebox").TLiteral<"medium">, import("@sinclair/typebox").TLiteral<"high">]>>;
202
- strategicPerspective: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"conservative_fix">, import("@sinclair/typebox").TLiteral<"structural_improvement">, import("@sinclair/typebox").TLiteral<"paradigm_shift">]>>;
203
- }>;
204
- /** The Philosopher judgment */
205
- judgment: import("@sinclair/typebox").TObject<{
206
- candidateIndex: import("@sinclair/typebox").TInteger;
207
- critique: import("@sinclair/typebox").TString;
208
- principleAligned: import("@sinclair/typebox").TBoolean;
209
- score: import("@sinclair/typebox").TNumber;
210
- rank: import("@sinclair/typebox").TInteger;
211
- scores: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
212
- principleAlignment: import("@sinclair/typebox").TNumber;
213
- specificity: import("@sinclair/typebox").TNumber;
214
- actionability: import("@sinclair/typebox").TNumber;
215
- executability: import("@sinclair/typebox").TNumber;
216
- safetyImpact: import("@sinclair/typebox").TNumber;
217
- uxImpact: import("@sinclair/typebox").TNumber;
218
- }>>;
219
- risks: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
220
- falsePositiveEstimate: import("@sinclair/typebox").TNumber;
221
- implementationComplexity: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"low">, import("@sinclair/typebox").TLiteral<"medium">, import("@sinclair/typebox").TLiteral<"high">]>;
222
- breakingChangeRisk: import("@sinclair/typebox").TBoolean;
223
- }>>;
224
- }>;
225
- /** Individual dimension scores */
226
- scores: import("@sinclair/typebox").TObject<{
227
- /** Schema completeness (0-1) */
228
- schemaCompleteness: import("@sinclair/typebox").TNumber;
229
- /** Principle alignment (0-1) */
230
- principleAlignment: import("@sinclair/typebox").TNumber;
231
- /** Executability (0-1) */
232
- executability: import("@sinclair/typebox").TNumber;
233
- /** Boundedness — specificity and constraint (0-1) */
234
- boundedness: import("@sinclair/typebox").TNumber;
235
- /** Confidence/consistency (0-1) */
236
- confidence: import("@sinclair/typebox").TNumber;
237
- /** Aggregate score (weighted average) */
238
- aggregate: import("@sinclair/typebox").TNumber;
239
- }>;
240
- /** Final tournament rank (1 = winner) */
241
- rank: import("@sinclair/typebox").TInteger;
242
- /** Whether this candidate passed all thresholds */
243
- thresholdPassed: import("@sinclair/typebox").TBoolean;
244
- /** Which thresholds failed (if any) */
245
- failedThresholds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
246
- }>>;
247
- /** Trace of decisions for debugging/explainability */
248
- trace: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
249
- /** Description of this step */
250
- step: import("@sinclair/typebox").TString;
251
- /** Details about the decision */
252
- details: import("@sinclair/typebox").TString;
253
- }>>;
254
- /** Why no winner was selected (if success === false) */
255
- failureReason: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
256
- }>;
257
- export type CandidateTournamentResult = Static<typeof CandidateTournamentResultSchema>;
258
- /** @deprecated Use CandidateTournamentResult instead. Alias for backward compatibility. */
259
- export type TournamentResult = CandidateTournamentResult;
260
- /** @deprecated Use CandidateTournamentResultSchema instead. Alias for backward compatibility. */
261
- export declare const TournamentResultSchema: import("@sinclair/typebox").TObject<{
262
- /** Whether tournament produced a winner */
263
- success: import("@sinclair/typebox").TBoolean;
264
- /** The winning candidate (if success === true) */
265
- winner: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
266
- /** Original candidate index from Dreamer */
267
- candidateIndex: import("@sinclair/typebox").TInteger;
268
- /** The Dreamer candidate */
269
- candidate: import("@sinclair/typebox").TObject<{
270
- candidateIndex: import("@sinclair/typebox").TInteger;
271
- badDecision: import("@sinclair/typebox").TString;
272
- betterDecision: import("@sinclair/typebox").TString;
273
- rationale: import("@sinclair/typebox").TString;
274
- confidence: import("@sinclair/typebox").TNumber;
275
- riskLevel: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"low">, import("@sinclair/typebox").TLiteral<"medium">, import("@sinclair/typebox").TLiteral<"high">]>>;
276
- strategicPerspective: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"conservative_fix">, import("@sinclair/typebox").TLiteral<"structural_improvement">, import("@sinclair/typebox").TLiteral<"paradigm_shift">]>>;
277
- }>;
278
- /** The Philosopher judgment */
279
- judgment: import("@sinclair/typebox").TObject<{
280
- candidateIndex: import("@sinclair/typebox").TInteger;
281
- critique: import("@sinclair/typebox").TString;
282
- principleAligned: import("@sinclair/typebox").TBoolean;
283
- score: import("@sinclair/typebox").TNumber;
284
- rank: import("@sinclair/typebox").TInteger;
285
- scores: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
286
- principleAlignment: import("@sinclair/typebox").TNumber;
287
- specificity: import("@sinclair/typebox").TNumber;
288
- actionability: import("@sinclair/typebox").TNumber;
289
- executability: import("@sinclair/typebox").TNumber;
290
- safetyImpact: import("@sinclair/typebox").TNumber;
291
- uxImpact: import("@sinclair/typebox").TNumber;
292
- }>>;
293
- risks: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
294
- falsePositiveEstimate: import("@sinclair/typebox").TNumber;
295
- implementationComplexity: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"low">, import("@sinclair/typebox").TLiteral<"medium">, import("@sinclair/typebox").TLiteral<"high">]>;
296
- breakingChangeRisk: import("@sinclair/typebox").TBoolean;
297
- }>>;
298
- }>;
299
- /** Individual dimension scores */
300
- scores: import("@sinclair/typebox").TObject<{
301
- /** Schema completeness (0-1) */
302
- schemaCompleteness: import("@sinclair/typebox").TNumber;
303
- /** Principle alignment (0-1) */
304
- principleAlignment: import("@sinclair/typebox").TNumber;
305
- /** Executability (0-1) */
306
- executability: import("@sinclair/typebox").TNumber;
307
- /** Boundedness — specificity and constraint (0-1) */
308
- boundedness: import("@sinclair/typebox").TNumber;
309
- /** Confidence/consistency (0-1) */
310
- confidence: import("@sinclair/typebox").TNumber;
311
- /** Aggregate score (weighted average) */
312
- aggregate: import("@sinclair/typebox").TNumber;
313
- }>;
314
- /** Final tournament rank (1 = winner) */
315
- rank: import("@sinclair/typebox").TInteger;
316
- /** Whether this candidate passed all thresholds */
317
- thresholdPassed: import("@sinclair/typebox").TBoolean;
318
- /** Which thresholds failed (if any) */
319
- failedThresholds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
320
- }>, import("@sinclair/typebox").TNull]>;
321
- /** All ranked candidates (sorted by rank) */
322
- rankedCandidates: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
323
- /** Original candidate index from Dreamer */
324
- candidateIndex: import("@sinclair/typebox").TInteger;
325
- /** The Dreamer candidate */
326
- candidate: import("@sinclair/typebox").TObject<{
327
- candidateIndex: import("@sinclair/typebox").TInteger;
328
- badDecision: import("@sinclair/typebox").TString;
329
- betterDecision: import("@sinclair/typebox").TString;
330
- rationale: import("@sinclair/typebox").TString;
331
- confidence: import("@sinclair/typebox").TNumber;
332
- riskLevel: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"low">, import("@sinclair/typebox").TLiteral<"medium">, import("@sinclair/typebox").TLiteral<"high">]>>;
333
- strategicPerspective: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"conservative_fix">, import("@sinclair/typebox").TLiteral<"structural_improvement">, import("@sinclair/typebox").TLiteral<"paradigm_shift">]>>;
334
- }>;
335
- /** The Philosopher judgment */
336
- judgment: import("@sinclair/typebox").TObject<{
337
- candidateIndex: import("@sinclair/typebox").TInteger;
338
- critique: import("@sinclair/typebox").TString;
339
- principleAligned: import("@sinclair/typebox").TBoolean;
340
- score: import("@sinclair/typebox").TNumber;
341
- rank: import("@sinclair/typebox").TInteger;
342
- scores: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
343
- principleAlignment: import("@sinclair/typebox").TNumber;
344
- specificity: import("@sinclair/typebox").TNumber;
345
- actionability: import("@sinclair/typebox").TNumber;
346
- executability: import("@sinclair/typebox").TNumber;
347
- safetyImpact: import("@sinclair/typebox").TNumber;
348
- uxImpact: import("@sinclair/typebox").TNumber;
349
- }>>;
350
- risks: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
351
- falsePositiveEstimate: import("@sinclair/typebox").TNumber;
352
- implementationComplexity: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"low">, import("@sinclair/typebox").TLiteral<"medium">, import("@sinclair/typebox").TLiteral<"high">]>;
353
- breakingChangeRisk: import("@sinclair/typebox").TBoolean;
354
- }>>;
355
- }>;
356
- /** Individual dimension scores */
357
- scores: import("@sinclair/typebox").TObject<{
358
- /** Schema completeness (0-1) */
359
- schemaCompleteness: import("@sinclair/typebox").TNumber;
360
- /** Principle alignment (0-1) */
361
- principleAlignment: import("@sinclair/typebox").TNumber;
362
- /** Executability (0-1) */
363
- executability: import("@sinclair/typebox").TNumber;
364
- /** Boundedness — specificity and constraint (0-1) */
365
- boundedness: import("@sinclair/typebox").TNumber;
366
- /** Confidence/consistency (0-1) */
367
- confidence: import("@sinclair/typebox").TNumber;
368
- /** Aggregate score (weighted average) */
369
- aggregate: import("@sinclair/typebox").TNumber;
370
- }>;
371
- /** Final tournament rank (1 = winner) */
372
- rank: import("@sinclair/typebox").TInteger;
373
- /** Whether this candidate passed all thresholds */
374
- thresholdPassed: import("@sinclair/typebox").TBoolean;
375
- /** Which thresholds failed (if any) */
376
- failedThresholds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
377
- }>>;
378
- /** Trace of decisions for debugging/explainability */
379
- trace: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
380
- /** Description of this step */
381
- step: import("@sinclair/typebox").TString;
382
- /** Details about the decision */
383
- details: import("@sinclair/typebox").TString;
384
- }>>;
385
- /** Why no winner was selected (if success === false) */
386
- failureReason: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
387
- }>;
388
- /** @deprecated Use CandidateTournamentTraceEntry instead. Alias for backward compatibility. */
389
- export type TournamentTraceEntry = CandidateTournamentTraceEntry;
390
- /** @deprecated Use CandidateTournamentTraceEntrySchema instead. Alias for backward compatibility. */
391
- export declare const TournamentTraceEntrySchema: import("@sinclair/typebox").TObject<{
392
- /** Description of this step */
393
- step: import("@sinclair/typebox").TString;
394
- /** Details about the decision */
395
- details: import("@sinclair/typebox").TString;
396
- }>;
397
- /**
398
- * Scoring weights for aggregate calculation.
399
- */
400
- export declare const ScoringWeightsSchema: import("@sinclair/typebox").TObject<{
401
- schemaCompleteness: import("@sinclair/typebox").TNumber;
402
- principleAlignment: import("@sinclair/typebox").TNumber;
403
- executability: import("@sinclair/typebox").TNumber;
404
- boundedness: import("@sinclair/typebox").TNumber;
405
- confidence: import("@sinclair/typebox").TNumber;
406
- }>;
407
- export type ScoringWeights = Static<typeof ScoringWeightsSchema>;
408
- /**
409
- * Default scoring weights (must sum to 1.0).
410
- */
411
- export declare const DEFAULT_SCORING_WEIGHTS: ScoringWeights;
412
- /**
413
- * Result of diversity validation on Dreamer candidates.
414
- * Soft enforcement: result is informational, never gates the pipeline.
415
- */
416
- export declare const DiversityValidationResultSchema: import("@sinclair/typebox").TObject<{
417
- /** Whether candidates passed diversity checks */
418
- diversityCheckPassed: import("@sinclair/typebox").TBoolean;
419
- /** Whether at least 2 distinct risk levels were present */
420
- riskLevelDiversity: import("@sinclair/typebox").TBoolean;
421
- /** Whether no candidate pair exceeded keyword overlap threshold */
422
- keywordOverlapPassed: import("@sinclair/typebox").TBoolean;
423
- /** Highest pairwise keyword overlap score (for telemetry) */
424
- maxOverlapScore: import("@sinclair/typebox").TNumber;
425
- /** Human-readable summary of check results */
426
- details: import("@sinclair/typebox").TString;
427
- }>;
428
- export type DiversityValidationResult = Static<typeof DiversityValidationResultSchema>;
429
- /**
430
- * Score a single Dreamer candidate + Philosopher judgment pair.
431
- *
432
- * @param candidate - Dreamer candidate
433
- * @param judgment - Philosopher judgment
434
- * @param weights - Scoring weights
435
- * @returns Individual scores
436
- */
437
- export declare function scoreCandidate(candidate: TrinityDreamerCandidate, judgment: PhilosopherJudgment, weights?: ScoringWeights): CandidateScores;
438
- /**
439
- * Check if candidate passes minimum thresholds.
440
- *
441
- * @param scores - Candidate scores
442
- * @param thresholds - Minimum threshold values
443
- * @returns Tuple of [passed, failedThresholdNames]
444
- */
445
- export declare function checkThresholds(scores: CandidateScores, thresholds: ThresholdValues): [boolean, string[]];
446
- /**
447
- * Validate that Dreamer candidates are strategically diverse.
448
- *
449
- * DIVER-03: Checks risk level diversity (Set.size >= 2 when candidates >= 2)
450
- * and keyword overlap similarity (reject if intersection / max(|A|, |B|) > 0.8
451
- * for words > 3 chars per D-05).
452
- *
453
- * This is SOFT enforcement: returns a result, never throws.
454
- * Pipeline continues regardless of diversityCheckPassed value.
455
- *
456
- * @param candidates - Dreamer candidates to validate
457
- * @returns DiversityValidationResult with pass/fail details
458
- */
459
- export declare function validateCandidateDiversity(candidates: TrinityDreamerCandidate[]): DiversityValidationResult;
460
- export interface RankCandidatesOptions {
461
- candidates: TrinityDreamerCandidate[];
462
- judgments: PhilosopherJudgment[];
463
- thresholds: ThresholdValues;
464
- weights?: ScoringWeights;
465
- }
466
- export interface RunTournamentOptions {
467
- candidates: TrinityDreamerCandidate[];
468
- judgments: PhilosopherJudgment[];
469
- thresholds: ThresholdValues;
470
- weights?: ScoringWeights;
471
- }
472
- /**
473
- * Score and rank all candidates deterministically.
474
- *
475
- * @param options - Ranking options
476
- * @returns All scored and ranked candidates
477
- */
478
- export declare function rankCandidates(options: RankCandidatesOptions): ScoredCandidate[];
479
- /**
480
- * Run tournament selection to choose the best candidate.
481
- *
482
- * @param options - Tournament options
483
- * @returns Tournament result with winner
484
- */
485
- export declare function runTournament(options: RunTournamentOptions): CandidateTournamentResult;
486
- //# sourceMappingURL=candidate-scoring.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"candidate-scoring.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/nocturnal/candidate-scoring.ts"],"names":[],"mappings":"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"}