create-principles-disciple 1.127.1 → 1.128.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.
- package/console/dist/server/config/pd-config-store.js +7 -2
- package/console/dist/server/models/HealthCheckModel.d.ts +4 -1
- package/console/dist/server/models/HealthCheckModel.js +6 -5
- package/console/dist/server/routes/update.js +8 -83
- package/console/dist/server/utils/installed-layout.d.ts +21 -0
- package/console/dist/server/utils/installed-layout.js +92 -0
- package/console/dist/server/utils/pd-backups.d.ts +9 -0
- package/console/dist/server/utils/pd-backups.js +5 -1
- package/console/dist/ui/pages/settings/UpdatePage.js +2 -1
- package/console/dist/web/assets/app.js +975 -824
- package/console/dist/web/index.html +4 -0
- package/core/dist/runtime-v2/activation/__tests__/production-gate-deps.test.js +69 -0
- package/core/dist/runtime-v2/activation/__tests__/production-gate-deps.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/production-gate-deps.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/production-gate-deps.js +13 -46
- package/core/dist/runtime-v2/activation/production-gate-deps.js.map +1 -1
- package/core/dist/runtime-v2/config/__tests__/pd-config-sparse-bootstrap.test.d.ts +2 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-sparse-bootstrap.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-sparse-bootstrap.test.js +143 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-sparse-bootstrap.test.js.map +1 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/installer-config-parity.test.js +44 -27
- package/core/dist/runtime-v2/feature-flags/__tests__/installer-config-parity.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/adversarial-feedback.test.js +9 -0
- package/core/dist/runtime-v2/internalization/__tests__/adversarial-feedback.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js +15 -5
- package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/context-resolution.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/context-resolution.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/context-resolution.test.js +377 -0
- package/core/dist/runtime-v2/internalization/__tests__/context-resolution.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-artificer-repair-replay.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-artificer-repair-replay.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-artificer-repair-replay.test.js +413 -0
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-artificer-repair-replay.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-gate-authority.test.js +136 -0
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-gate-authority.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike.test.js +8 -8
- package/core/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/repair-replay-resolver.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/repair-replay-resolver.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/repair-replay-resolver.test.js +340 -0
- package/core/dist/runtime-v2/internalization/__tests__/repair-replay-resolver.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.js +628 -0
- package/core/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/adversarial-feedback.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/adversarial-feedback.js +7 -1
- package/core/dist/runtime-v2/internalization/adversarial-feedback.js.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts +9 -2
- package/core/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-prompt-builder.js +19 -1
- package/core/dist/runtime-v2/internalization/artificer-prompt-builder.js.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-runner.d.ts +23 -0
- package/core/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-runner.js +184 -16
- package/core/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/context-manifests.d.ts +90 -17
- package/core/dist/runtime-v2/internalization/context-manifests.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/context-manifests.js +124 -27
- package/core/dist/runtime-v2/internalization/context-manifests.js.map +1 -1
- package/core/dist/runtime-v2/internalization/context-resolution.d.ts +189 -0
- package/core/dist/runtime-v2/internalization/context-resolution.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/context-resolution.js +317 -0
- package/core/dist/runtime-v2/internalization/context-resolution.js.map +1 -0
- package/core/dist/runtime-v2/internalization/evaluator-output.d.ts +18 -1
- package/core/dist/runtime-v2/internalization/evaluator-output.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/evaluator-output.js +12 -2
- package/core/dist/runtime-v2/internalization/evaluator-output.js.map +1 -1
- package/core/dist/runtime-v2/internalization/evaluator-runner.d.ts +32 -0
- package/core/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/evaluator-runner.js +171 -12
- package/core/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/refiner-sandbox-wrapper.d.ts +18 -1
- package/core/dist/runtime-v2/internalization/refiner-sandbox-wrapper.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/refiner-sandbox-wrapper.js +20 -0
- package/core/dist/runtime-v2/internalization/refiner-sandbox-wrapper.js.map +1 -1
- package/core/dist/runtime-v2/internalization/repair-replay-resolver.d.ts +112 -0
- package/core/dist/runtime-v2/internalization/repair-replay-resolver.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/repair-replay-resolver.js +332 -0
- package/core/dist/runtime-v2/internalization/repair-replay-resolver.js.map +1 -0
- package/core/dist/runtime-v2/runner/base-peer-runner.d.ts +62 -17
- package/core/dist/runtime-v2/runner/base-peer-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/runner/base-peer-runner.js +116 -10
- package/core/dist/runtime-v2/runner/base-peer-runner.js.map +1 -1
- package/core/dist/telemetry-event.d.ts +2 -2
- package/core/dist/telemetry-event.d.ts.map +1 -1
- package/core/dist/telemetry-event.js +61 -0
- package/core/dist/telemetry-event.js.map +1 -1
- package/core/package.json +1 -1
- package/dist/installer.d.ts.map +1 -1
- package/dist/installer.js +16 -12
- package/dist/installer.js.map +1 -1
- package/dist/mvp-config.d.ts +22 -15
- package/dist/mvp-config.d.ts.map +1 -1
- package/dist/mvp-config.js +48 -106
- package/dist/mvp-config.js.map +1 -1
- package/host-runtime/package.json +1 -1
- package/install-layout/package.json +7 -3
- package/package.json +1 -1
- package/pd-cli/dist/commands/console.d.ts +13 -0
- package/pd-cli/dist/commands/console.d.ts.map +1 -1
- package/pd-cli/dist/commands/console.js +104 -0
- package/pd-cli/dist/commands/console.js.map +1 -1
- package/pd-cli/dist/commands/runtime-init.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-init.js +8 -12
- package/pd-cli/dist/commands/runtime-init.js.map +1 -1
- package/pd-cli/dist/commands/runtime-internalization-run-once.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-internalization-run-once.js +7 -1
- package/pd-cli/dist/commands/runtime-internalization-run-once.js.map +1 -1
- package/pd-cli/package.json +1 -1
- package/plugin/dist/bundle.js +449 -437
- package/plugin/dist/governance-audit.js +141 -141
- package/plugin/dist/rulehost-evidence.js +153 -153
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PRI-634 PR-A — repair-replay-resolver unit regressions (SPEC §21/§26/§27/§30).
|
|
3
|
+
*
|
|
4
|
+
* Covers:
|
|
5
|
+
* - legacy actualDecision=<errorType> normalization (readers normalize, no migration)
|
|
6
|
+
* - current-shape entries keep real actualDecision only when a decision existed
|
|
7
|
+
* - deterministic artifact authority selection: completionIntent.sourceRunId
|
|
8
|
+
* → pi-art-<taskId>-<runId>; fallback exactly-one; zero/many fail loud
|
|
9
|
+
* - adversarialResult missing / corrupt → structured failure, never blind retry
|
|
10
|
+
* - bounded stratified selection: errorType × expectedDecision groups,
|
|
11
|
+
* mismatch preference, stable order, truncation flag
|
|
12
|
+
* - system sentinels partition separately from real trace failures;
|
|
13
|
+
* forbidden patterns surface as global violations
|
|
14
|
+
*/
|
|
15
|
+
import { describe, it, expect } from 'vitest';
|
|
16
|
+
import { resolveRepairReplayContext, selectBoundedReplayFailures, MAX_REPLAY_FAILURES_IN_REPAIR, } from '../repair-replay-resolver.js';
|
|
17
|
+
import { createPITaskDiagnosticJson } from '../pitask-metadata.js';
|
|
18
|
+
function mkTask(diagnosticJson) {
|
|
19
|
+
return {
|
|
20
|
+
taskId: 'eval-t1',
|
|
21
|
+
taskKind: 'evaluator',
|
|
22
|
+
status: 'succeeded',
|
|
23
|
+
attemptCount: 1,
|
|
24
|
+
maxAttempts: 3,
|
|
25
|
+
diagnosticJson,
|
|
26
|
+
createdAt: new Date().toISOString(),
|
|
27
|
+
updatedAt: new Date().toISOString(),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function intentTask(runId) {
|
|
31
|
+
const base = JSON.parse(createPITaskDiagnosticJson({
|
|
32
|
+
dependencyTaskIds: [], channel: 'prompt', timeoutMs: 300_000,
|
|
33
|
+
inputArtifactRefs: [], outputArtifactRefs: [],
|
|
34
|
+
}));
|
|
35
|
+
// diagnosticJson nests the metadata under the PI envelope key.
|
|
36
|
+
const envelopeKey = Object.keys(base).find((k) => k !== 'version');
|
|
37
|
+
if (envelopeKey === undefined)
|
|
38
|
+
throw new Error('unexpected diagnosticJson shape');
|
|
39
|
+
const meta = base[envelopeKey];
|
|
40
|
+
meta.completionIntent = {
|
|
41
|
+
decision: 'needs_revision',
|
|
42
|
+
sourceRunId: runId,
|
|
43
|
+
revisionEpoch: 0,
|
|
44
|
+
status: 'applied',
|
|
45
|
+
};
|
|
46
|
+
return mkTask(JSON.stringify(base));
|
|
47
|
+
}
|
|
48
|
+
function mkArtifact(overrides) {
|
|
49
|
+
return {
|
|
50
|
+
artifactId: 'pi-art-eval-t1-run-1',
|
|
51
|
+
artifactKind: 'principle',
|
|
52
|
+
sourceTaskId: 'eval-t1',
|
|
53
|
+
lineageArtifactIds: [],
|
|
54
|
+
validationStatus: 'pending',
|
|
55
|
+
contentJson: '{}',
|
|
56
|
+
createdAt: '2026-09-02T00:00:00.000Z',
|
|
57
|
+
updatedAt: '2026-09-02T00:00:00.000Z',
|
|
58
|
+
...overrides,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
function evaluatorArtifactWith(adversarialResult) {
|
|
62
|
+
return mkArtifact({
|
|
63
|
+
contentJson: JSON.stringify({
|
|
64
|
+
taskId: 'eval-t1',
|
|
65
|
+
evaluation: { decision: 'needs_revision', summary: 's', score: 0.5, strengths: [], concerns: [], requiredChanges: ['x'] },
|
|
66
|
+
adversarialResult,
|
|
67
|
+
}),
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
function depsWith(params) {
|
|
71
|
+
return {
|
|
72
|
+
artifactStore: {
|
|
73
|
+
getArtifactById: async (id) => params.byId?.[id] ?? params.artifacts?.find((a) => a.artifactId === id) ?? null,
|
|
74
|
+
listBySourceTaskId: async (taskId) => (params.artifacts ?? []).filter((a) => a.sourceTaskId === taskId),
|
|
75
|
+
},
|
|
76
|
+
getTask: async (taskId) => (params.task === undefined ? intentTask('run-1') : params.task?.taskId === taskId ? params.task : null),
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
describe('PRI-634 PR-A: resolveRepairReplayContext — artifact authority selection (SPEC §26)', () => {
|
|
80
|
+
it('resolves via completionIntent.sourceRunId → pi-art-<taskId>-<runId> even when other artifacts exist', async () => {
|
|
81
|
+
const authoritative = evaluatorArtifactWith({ passed: false, failedCases: [{ caseId: 'v2-unavailable', attackType: 'boundary', expectedDecision: 'allow', errorType: 'runtime_error', message: 'boom' }] });
|
|
82
|
+
const decoy = mkArtifact({ artifactId: 'pi-art-eval-t1-run-0', contentJson: JSON.stringify({ evaluation: { decision: 'needs_revision' } }) });
|
|
83
|
+
const resolution = await resolveRepairReplayContext({
|
|
84
|
+
sourceEvaluatorTaskId: 'eval-t1',
|
|
85
|
+
deps: depsWith({ task: intentTask('run-1'), artifacts: [decoy, authoritative], byId: { 'pi-art-eval-t1-run-1': authoritative } }),
|
|
86
|
+
});
|
|
87
|
+
expect(resolution.ok).toBe(true);
|
|
88
|
+
if (!resolution.ok)
|
|
89
|
+
return;
|
|
90
|
+
expect(resolution.context.sourceEvaluatorArtifactId).toBe('pi-art-eval-t1-run-1');
|
|
91
|
+
expect(resolution.context.failedCaseCount).toBe(1);
|
|
92
|
+
});
|
|
93
|
+
it('falls back to exactly-one principle artifact when the intent is absent', async () => {
|
|
94
|
+
const only = evaluatorArtifactWith({ passed: false, failedCases: [] });
|
|
95
|
+
const task = mkTask(createPITaskDiagnosticJson({
|
|
96
|
+
dependencyTaskIds: [], channel: 'prompt', timeoutMs: 300_000, inputArtifactRefs: [], outputArtifactRefs: [],
|
|
97
|
+
}));
|
|
98
|
+
const resolution = await resolveRepairReplayContext({
|
|
99
|
+
sourceEvaluatorTaskId: 'eval-t1',
|
|
100
|
+
deps: depsWith({ task, artifacts: [only] }),
|
|
101
|
+
});
|
|
102
|
+
expect(resolution.ok).toBe(true);
|
|
103
|
+
});
|
|
104
|
+
it('P1 review 2026-09-02: intent-named artifact missing + exactly one other-run artifact → FAIL LOUD, never cross-run fallback', async () => {
|
|
105
|
+
// The durable authority (completionIntent.sourceRunId) is KNOWN — a
|
|
106
|
+
// different run's artifact must not be silently promoted into its place.
|
|
107
|
+
const staleOtherRun = mkArtifact({ artifactId: 'pi-art-eval-t1-run-0', contentJson: evaluatorArtifactWith({ passed: true, failedCases: [] }).contentJson });
|
|
108
|
+
const resolution = await resolveRepairReplayContext({
|
|
109
|
+
sourceEvaluatorTaskId: 'eval-t1',
|
|
110
|
+
deps: depsWith({ task: intentTask('run-1'), artifacts: [staleOtherRun], byId: {} }),
|
|
111
|
+
});
|
|
112
|
+
expect(resolution.ok).toBe(false);
|
|
113
|
+
if (resolution.ok)
|
|
114
|
+
return;
|
|
115
|
+
expect(resolution.reason).toBe('artifact_missing');
|
|
116
|
+
expect(resolution.detail).toContain('refusing cross-run fallback');
|
|
117
|
+
expect(resolution.detail).toContain('pi-art-eval-t1-run-1');
|
|
118
|
+
});
|
|
119
|
+
it('fails loud (artifact_ambiguous) on multiple artifacts with no resolvable intent — never a positional pick', async () => {
|
|
120
|
+
const a = evaluatorArtifactWith({ passed: false, failedCases: [] });
|
|
121
|
+
const b = evaluatorArtifactWith({ passed: true, failedCases: [] });
|
|
122
|
+
const task = mkTask(createPITaskDiagnosticJson({
|
|
123
|
+
dependencyTaskIds: [], channel: 'prompt', timeoutMs: 300_000, inputArtifactRefs: [], outputArtifactRefs: [],
|
|
124
|
+
}));
|
|
125
|
+
const resolution = await resolveRepairReplayContext({
|
|
126
|
+
sourceEvaluatorTaskId: 'eval-t1',
|
|
127
|
+
deps: depsWith({ task, artifacts: [a, b] }),
|
|
128
|
+
});
|
|
129
|
+
expect(resolution.ok).toBe(false);
|
|
130
|
+
if (resolution.ok)
|
|
131
|
+
return;
|
|
132
|
+
expect(resolution.reason).toBe('artifact_ambiguous');
|
|
133
|
+
});
|
|
134
|
+
it('fails loud (artifact_missing) when zero principle artifacts exist', async () => {
|
|
135
|
+
const resolution = await resolveRepairReplayContext({
|
|
136
|
+
sourceEvaluatorTaskId: 'eval-t1',
|
|
137
|
+
deps: depsWith({ task: intentTask('run-1'), artifacts: [] }),
|
|
138
|
+
});
|
|
139
|
+
expect(resolution.ok).toBe(false);
|
|
140
|
+
if (resolution.ok)
|
|
141
|
+
return;
|
|
142
|
+
expect(resolution.reason).toBe('artifact_missing');
|
|
143
|
+
});
|
|
144
|
+
it('fails loud (task_missing) when the evaluator task does not exist', async () => {
|
|
145
|
+
const resolution = await resolveRepairReplayContext({
|
|
146
|
+
sourceEvaluatorTaskId: 'eval-t1',
|
|
147
|
+
deps: depsWith({ task: null, artifacts: [] }),
|
|
148
|
+
});
|
|
149
|
+
expect(resolution.ok).toBe(false);
|
|
150
|
+
if (resolution.ok)
|
|
151
|
+
return;
|
|
152
|
+
expect(resolution.reason).toBe('task_missing');
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
describe('PRI-634 PR-A: adversarialResult validation (SPEC §27 — no blind retry)', () => {
|
|
156
|
+
it('adversarial_result_missing when the artifact carries no adversarialResult', async () => {
|
|
157
|
+
const artifact = evaluatorArtifactWith(undefined);
|
|
158
|
+
// remove the key entirely
|
|
159
|
+
const parsed = JSON.parse(artifact.contentJson);
|
|
160
|
+
delete parsed.adversarialResult;
|
|
161
|
+
artifact.contentJson = JSON.stringify(parsed);
|
|
162
|
+
const resolution = await resolveRepairReplayContext({
|
|
163
|
+
sourceEvaluatorTaskId: 'eval-t1',
|
|
164
|
+
deps: depsWith({ artifacts: [artifact], byId: { [artifact.artifactId]: artifact } }),
|
|
165
|
+
});
|
|
166
|
+
expect(resolution.ok).toBe(false);
|
|
167
|
+
if (resolution.ok)
|
|
168
|
+
return;
|
|
169
|
+
expect(resolution.reason).toBe('adversarial_result_missing');
|
|
170
|
+
});
|
|
171
|
+
it('adversarial_result_invalid on malformed failedCases elements — never silently dropped', async () => {
|
|
172
|
+
const artifact = evaluatorArtifactWith({ passed: false, failedCases: [{ caseId: 42 }] });
|
|
173
|
+
const resolution = await resolveRepairReplayContext({
|
|
174
|
+
sourceEvaluatorTaskId: 'eval-t1',
|
|
175
|
+
deps: depsWith({ artifacts: [artifact], byId: { [artifact.artifactId]: artifact } }),
|
|
176
|
+
});
|
|
177
|
+
expect(resolution.ok).toBe(false);
|
|
178
|
+
if (resolution.ok)
|
|
179
|
+
return;
|
|
180
|
+
expect(resolution.reason).toBe('adversarial_result_invalid');
|
|
181
|
+
});
|
|
182
|
+
it('unparseable contentJson → adversarial_result_invalid', async () => {
|
|
183
|
+
const artifact = mkArtifact({ contentJson: '{not-json' });
|
|
184
|
+
const resolution = await resolveRepairReplayContext({
|
|
185
|
+
sourceEvaluatorTaskId: 'eval-t1',
|
|
186
|
+
deps: depsWith({ artifacts: [artifact], byId: { [artifact.artifactId]: artifact } }),
|
|
187
|
+
});
|
|
188
|
+
expect(resolution.ok).toBe(false);
|
|
189
|
+
if (resolution.ok)
|
|
190
|
+
return;
|
|
191
|
+
expect(resolution.reason).toBe('adversarial_result_invalid');
|
|
192
|
+
});
|
|
193
|
+
});
|
|
194
|
+
describe('PRI-634 PR-A: legacy normalization + partitioning (SPEC §17/§18/§21)', () => {
|
|
195
|
+
it('legacy actualDecision=<sandbox error enum> normalizes into errorType with actualDecision dropped', async () => {
|
|
196
|
+
const artifact = evaluatorArtifactWith({
|
|
197
|
+
passed: false,
|
|
198
|
+
failedCases: [
|
|
199
|
+
// pre-PR-A representation: actualDecision carried the errorType
|
|
200
|
+
{ caseId: 'v2-unavailable', attackType: 'boundary', actualDecision: 'runtime_error', expectedDecision: 'allow', rationale: 'runtime_error: paramsSummary.includes is not a function' },
|
|
201
|
+
{ caseId: 'v2-truncated', attackType: 'omission', actualDecision: 'timeout', expectedDecision: 'allow', rationale: 'timeout: Evaluation timed out' },
|
|
202
|
+
],
|
|
203
|
+
});
|
|
204
|
+
const resolution = await resolveRepairReplayContext({
|
|
205
|
+
sourceEvaluatorTaskId: 'eval-t1',
|
|
206
|
+
deps: depsWith({ artifacts: [artifact], byId: { [artifact.artifactId]: artifact } }),
|
|
207
|
+
});
|
|
208
|
+
expect(resolution.ok).toBe(true);
|
|
209
|
+
if (!resolution.ok)
|
|
210
|
+
return;
|
|
211
|
+
expect(resolution.context.traceFailures).toHaveLength(2);
|
|
212
|
+
const [first, second] = resolution.context.traceFailures;
|
|
213
|
+
expect(first?.errorType).toBe('runtime_error');
|
|
214
|
+
expect(first?.actualDecision).toBeUndefined();
|
|
215
|
+
expect(first?.message).toBe('runtime_error: paramsSummary.includes is not a function');
|
|
216
|
+
expect(second?.errorType).toBe('timeout');
|
|
217
|
+
expect(second?.actualDecision).toBeUndefined();
|
|
218
|
+
});
|
|
219
|
+
it('legacy actualDecision=<real decision> is kept as a real decision and errorType inferred as validation_failed', async () => {
|
|
220
|
+
const artifact = evaluatorArtifactWith({
|
|
221
|
+
passed: false,
|
|
222
|
+
failedCases: [
|
|
223
|
+
{ caseId: 'v2-path-boundary', attackType: 'boundary', actualDecision: 'allow', expectedDecision: 'block', rationale: 'validation_failed: Expected block but got allow' },
|
|
224
|
+
],
|
|
225
|
+
});
|
|
226
|
+
const resolution = await resolveRepairReplayContext({
|
|
227
|
+
sourceEvaluatorTaskId: 'eval-t1',
|
|
228
|
+
deps: depsWith({ artifacts: [artifact], byId: { [artifact.artifactId]: artifact } }),
|
|
229
|
+
});
|
|
230
|
+
expect(resolution.ok).toBe(true);
|
|
231
|
+
if (!resolution.ok)
|
|
232
|
+
return;
|
|
233
|
+
const [failure] = resolution.context.traceFailures;
|
|
234
|
+
expect(failure?.errorType).toBe('validation_failed');
|
|
235
|
+
expect(failure?.actualDecision).toBe('allow');
|
|
236
|
+
expect(failure?.expectedDecision).toBe('block');
|
|
237
|
+
});
|
|
238
|
+
it('current-shape entries: real decision mismatch keeps actualDecision; sentinels and forbidden patterns partition disjointly', async () => {
|
|
239
|
+
const artifact = evaluatorArtifactWith({
|
|
240
|
+
passed: false,
|
|
241
|
+
failedCases: [
|
|
242
|
+
{ caseId: 'v2-combination', attackType: 'inversion', expectedDecision: 'block', actualDecision: 'allow', errorType: 'validation_failed', message: 'Expected block but got allow', rationale: 'r' },
|
|
243
|
+
{ caseId: '__compile__', attackType: 'boundary', expectedDecision: 'unknown', errorType: 'syntax_error', message: 'Unexpected token', rationale: 'r' },
|
|
244
|
+
{ caseId: '__forbidden_pattern__', attackType: 'boundary', expectedDecision: 'block', errorType: 'forbidden_pattern', message: 'forbidden pattern detected in rule code: require', rationale: 'r' },
|
|
245
|
+
],
|
|
246
|
+
});
|
|
247
|
+
const resolution = await resolveRepairReplayContext({
|
|
248
|
+
sourceEvaluatorTaskId: 'eval-t1',
|
|
249
|
+
deps: depsWith({ artifacts: [artifact], byId: { [artifact.artifactId]: artifact } }),
|
|
250
|
+
});
|
|
251
|
+
expect(resolution.ok).toBe(true);
|
|
252
|
+
if (!resolution.ok)
|
|
253
|
+
return;
|
|
254
|
+
const { context } = resolution;
|
|
255
|
+
expect(context.ran).toBe(true);
|
|
256
|
+
expect(context.passed).toBe(false);
|
|
257
|
+
expect(context.failedCaseCount).toBe(3);
|
|
258
|
+
expect(context.traceFailures).toHaveLength(1);
|
|
259
|
+
expect(context.traceFailures[0]?.caseId).toBe('v2-combination');
|
|
260
|
+
expect(context.traceFailures[0]?.actualDecision).toBe('allow');
|
|
261
|
+
// P2 review 2026-09-02: forbidden patterns count ONLY as global
|
|
262
|
+
// violations — never double-rendered as system failures too.
|
|
263
|
+
expect(context.systemFailures).toHaveLength(1);
|
|
264
|
+
expect(context.systemFailures[0]?.caseId).toBe('__compile__');
|
|
265
|
+
expect(context.globalViolations).toEqual(['forbidden pattern detected in rule code: require']);
|
|
266
|
+
expect(context.globalViolationCount).toBe(1);
|
|
267
|
+
expect(context.truncated).toBe(false);
|
|
268
|
+
});
|
|
269
|
+
});
|
|
270
|
+
describe('PRI-634 PR-A: bounded stratified selection (SPEC §30 + review P1/P2 2026-09-02)', () => {
|
|
271
|
+
const mk = (spec) => ({
|
|
272
|
+
caseId: spec.caseId,
|
|
273
|
+
errorType: spec.errorType,
|
|
274
|
+
expectedDecision: spec.expected,
|
|
275
|
+
...(spec.actual !== undefined ? { actualDecision: spec.actual } : {}),
|
|
276
|
+
});
|
|
277
|
+
it('keeps one representative per errorType × expectedDecision group; mismatches get explicit priority', () => {
|
|
278
|
+
const traceFailures = [
|
|
279
|
+
mk({ caseId: 'a1', errorType: 'runtime_error', expected: 'allow' }),
|
|
280
|
+
mk({ caseId: 'a2', errorType: 'runtime_error', expected: 'allow' }),
|
|
281
|
+
mk({ caseId: 'b1', errorType: 'validation_failed', expected: 'allow' }),
|
|
282
|
+
mk({ caseId: 'b2', errorType: 'validation_failed', expected: 'allow', actual: 'block' }),
|
|
283
|
+
mk({ caseId: 'c1', errorType: 'validation_failed', expected: 'block', actual: 'allow' }),
|
|
284
|
+
];
|
|
285
|
+
const { selectedTrace, truncated } = selectBoundedReplayFailures({ traceFailures, systemFailures: [], globalViolations: [], capacity: 16 });
|
|
286
|
+
// Mismatch representatives first (allow-axis b2, block-axis c1), then the
|
|
287
|
+
// remaining group rep (runtime_error×allow → a1), then stable fill (a2, b1).
|
|
288
|
+
expect(selectedTrace.map((f) => f.caseId)).toEqual(['b2', 'c1', 'a1', 'a2', 'b1']);
|
|
289
|
+
expect(truncated).toBe(false);
|
|
290
|
+
});
|
|
291
|
+
it('P1 review: capacity 2 keeps BOTH the expected-allow and expected-block mismatch — runtime errors cannot evict them', () => {
|
|
292
|
+
const traceFailures = [
|
|
293
|
+
mk({ caseId: 'r1', errorType: 'runtime_error', expected: 'allow' }),
|
|
294
|
+
mk({ caseId: 'r2', errorType: 'runtime_error', expected: 'allow' }),
|
|
295
|
+
mk({ caseId: 'r3', errorType: 'runtime_error', expected: 'allow' }),
|
|
296
|
+
mk({ caseId: 'm1', errorType: 'validation_failed', expected: 'allow', actual: 'block' }),
|
|
297
|
+
mk({ caseId: 'm2', errorType: 'validation_failed', expected: 'block', actual: 'allow' }),
|
|
298
|
+
];
|
|
299
|
+
const { selectedTrace, truncated } = selectBoundedReplayFailures({ traceFailures, systemFailures: [], globalViolations: [], capacity: 2 });
|
|
300
|
+
// The exact reviewer counter-example: r1 must NOT claim a slot that
|
|
301
|
+
// starves m2. Both behavioral mismatches survive; raw errors fill later.
|
|
302
|
+
expect(selectedTrace.map((f) => f.caseId)).toEqual(['m1', 'm2']);
|
|
303
|
+
expect(truncated).toBe(true);
|
|
304
|
+
});
|
|
305
|
+
it('P1 review: at capacity 3 the runtime-error group representative is added after both mismatches', () => {
|
|
306
|
+
const traceFailures = [
|
|
307
|
+
mk({ caseId: 'r1', errorType: 'runtime_error', expected: 'allow' }),
|
|
308
|
+
mk({ caseId: 'm1', errorType: 'validation_failed', expected: 'allow', actual: 'block' }),
|
|
309
|
+
mk({ caseId: 'm2', errorType: 'validation_failed', expected: 'block', actual: 'allow' }),
|
|
310
|
+
];
|
|
311
|
+
const { selectedTrace, truncated } = selectBoundedReplayFailures({ traceFailures, systemFailures: [], globalViolations: [], capacity: 3 });
|
|
312
|
+
expect(selectedTrace.map((f) => f.caseId)).toEqual(['m1', 'm2', 'r1']);
|
|
313
|
+
expect(truncated).toBe(false);
|
|
314
|
+
});
|
|
315
|
+
it('system failures first, then the global-violation representative — one shared budget', () => {
|
|
316
|
+
const systemFailures = [mk({ caseId: '__compile__', errorType: 'syntax_error', expected: 'unknown' })];
|
|
317
|
+
const traceFailures = Array.from({ length: 20 }, (_, i) => mk({ caseId: `t${i}`, errorType: 'runtime_error', expected: 'allow' }));
|
|
318
|
+
const globalViolations = ['forbidden pattern: require', 'forbidden pattern: eval'];
|
|
319
|
+
const { selectedTrace, selectedSystem, selectedGlobalViolations, truncated } = selectBoundedReplayFailures({ traceFailures, systemFailures, globalViolations, capacity: 5 });
|
|
320
|
+
expect(selectedSystem.map((f) => f.caseId)).toEqual(['__compile__']);
|
|
321
|
+
// One representative for the whole violation group (P2: bounded, no duplicates).
|
|
322
|
+
expect(selectedGlobalViolations).toEqual(['forbidden pattern: require']);
|
|
323
|
+
expect(selectedTrace).toHaveLength(3); // 5 capacity − 1 system − 1 violation
|
|
324
|
+
expect(truncated).toBe(true);
|
|
325
|
+
});
|
|
326
|
+
it('P2 review: global violations can never bypass the capacity bound (28 violations, tiny capacity)', () => {
|
|
327
|
+
const globalViolations = Array.from({ length: 28 }, (_, i) => `forbidden pattern: p${i}`);
|
|
328
|
+
const { selectedGlobalViolations, truncated } = selectBoundedReplayFailures({ traceFailures: [], systemFailures: [], globalViolations, capacity: 4 });
|
|
329
|
+
expect(selectedGlobalViolations).toHaveLength(4);
|
|
330
|
+
expect(truncated).toBe(true);
|
|
331
|
+
});
|
|
332
|
+
it('truncated=true when capacity omits durable failures; default cap is 16', () => {
|
|
333
|
+
expect(MAX_REPLAY_FAILURES_IN_REPAIR).toBe(16);
|
|
334
|
+
const traceFailures = Array.from({ length: 30 }, (_, i) => mk({ caseId: `t${i}`, errorType: i % 2 === 0 ? 'runtime_error' : 'validation_failed', expected: 'allow' }));
|
|
335
|
+
const { selectedTrace, truncated } = selectBoundedReplayFailures({ traceFailures, systemFailures: [], globalViolations: [], capacity: MAX_REPLAY_FAILURES_IN_REPAIR });
|
|
336
|
+
expect(selectedTrace).toHaveLength(16);
|
|
337
|
+
expect(truncated).toBe(true);
|
|
338
|
+
});
|
|
339
|
+
});
|
|
340
|
+
//# sourceMappingURL=repair-replay-resolver.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repair-replay-resolver.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/internalization/__tests__/repair-replay-resolver.test.ts"],"names":[],"mappings":"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"}
|
package/core/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-information-plane-runner.test.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.ts"],"names":[],"mappings":""}
|