@principles/core 1.150.0 → 1.152.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/dist/prompt-builder/__tests__/prompt-builder-core.test.js.map +1 -1
- package/dist/quality-scorecard/__tests__/quality-scorecard.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/adversarial-loop.test.d.ts +2 -0
- package/dist/runtime-v2/__tests__/adversarial-loop.test.d.ts.map +1 -0
- package/dist/runtime-v2/__tests__/adversarial-loop.test.js +435 -0
- package/dist/runtime-v2/__tests__/adversarial-loop.test.js.map +1 -0
- package/dist/runtime-v2/__tests__/architecture-regression.test.js +5 -0
- package/dist/runtime-v2/__tests__/architecture-regression.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/artificer-runner-vslice.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/build-golden-trace-from-artificer.test.d.ts +2 -0
- package/dist/runtime-v2/__tests__/build-golden-trace-from-artificer.test.d.ts.map +1 -0
- package/dist/runtime-v2/__tests__/build-golden-trace-from-artificer.test.js +169 -0
- package/dist/runtime-v2/__tests__/build-golden-trace-from-artificer.test.js.map +1 -0
- package/dist/runtime-v2/__tests__/dreamer-output-validator.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/dreamer-runner-vslice.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.d.ts +2 -0
- package/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.d.ts.map +1 -0
- package/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.js +815 -0
- package/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.js.map +1 -0
- package/dist/runtime-v2/__tests__/evaluator-runner-vslice.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/evidence-sanitizer.test.js +4 -3
- package/dist/runtime-v2/__tests__/evidence-sanitizer.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/feedback/privacy-preview.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/feedback/render-github-url.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/feedback/render-markdown.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/internalization-consumer-product-path.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/internalization-orchestrator.test.js +1 -3
- package/dist/runtime-v2/__tests__/internalization-orchestrator.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/internalization-peer-runner-contracts.test.js +6 -0
- package/dist/runtime-v2/__tests__/internalization-peer-runner-contracts.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/internalization-queue-read-model.test.js +0 -1
- package/dist/runtime-v2/__tests__/internalization-queue-read-model.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/internalization-state-machine.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/mainline-product-path.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/pain-chain-read-model.test.js +0 -1
- package/dist/runtime-v2/__tests__/pain-chain-read-model.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/pain-evidence-contract.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/pain-signal-observability.test.js +1 -1
- package/dist/runtime-v2/__tests__/pain-signal-observability.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/philosopher-runner-vslice.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/pitask-metadata.test.js +5 -1
- package/dist/runtime-v2/__tests__/pitask-metadata.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/proven-channel-baseline.test.js +1 -1
- package/dist/runtime-v2/__tests__/proven-channel-baseline.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/pruning-read-model.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/rulehost-oob-defense-simulation.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/scribe-runner-vslice.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/task-three-strikes.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/trace-refiner-agent.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/trainer-output-validator.test.js.map +1 -1
- package/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js.map +1 -1
- package/dist/runtime-v2/activation/__tests__/approval-store-extended.test.js +0 -1
- package/dist/runtime-v2/activation/__tests__/approval-store-extended.test.js.map +1 -1
- package/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.js +33 -0
- package/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.js.map +1 -1
- package/dist/runtime-v2/activation/activation-types.d.ts +1 -0
- package/dist/runtime-v2/activation/activation-types.d.ts.map +1 -1
- package/dist/runtime-v2/activation/activation-types.js.map +1 -1
- package/dist/runtime-v2/activation/memory-activation-state-store.d.ts +1 -0
- package/dist/runtime-v2/activation/memory-activation-state-store.d.ts.map +1 -1
- package/dist/runtime-v2/activation/memory-activation-state-store.js +9 -0
- package/dist/runtime-v2/activation/memory-activation-state-store.js.map +1 -1
- package/dist/runtime-v2/activation/sqlite-activation-state-store.d.ts +1 -0
- package/dist/runtime-v2/activation/sqlite-activation-state-store.d.ts.map +1 -1
- package/dist/runtime-v2/activation/sqlite-activation-state-store.js +18 -0
- package/dist/runtime-v2/activation/sqlite-activation-state-store.js.map +1 -1
- package/dist/runtime-v2/adapter/__tests__/artificer-l2-adapter.test.d.ts +2 -0
- package/dist/runtime-v2/adapter/__tests__/artificer-l2-adapter.test.d.ts.map +1 -0
- package/dist/runtime-v2/adapter/__tests__/artificer-l2-adapter.test.js +510 -0
- package/dist/runtime-v2/adapter/__tests__/artificer-l2-adapter.test.js.map +1 -0
- package/dist/runtime-v2/adapter/__tests__/schema-prompt-adapter.test.js +4 -4
- package/dist/runtime-v2/adapter/__tests__/schema-prompt-adapter.test.js.map +1 -1
- package/dist/runtime-v2/adapter/__tests__/structured-output-repair.test.js.map +1 -1
- package/dist/runtime-v2/adapter/artificer-l2-adapter.d.ts +47 -0
- package/dist/runtime-v2/adapter/artificer-l2-adapter.d.ts.map +1 -0
- package/dist/runtime-v2/adapter/artificer-l2-adapter.js +307 -0
- package/dist/runtime-v2/adapter/artificer-l2-adapter.js.map +1 -0
- package/dist/runtime-v2/adversarial-loop.d.ts +65 -0
- package/dist/runtime-v2/adversarial-loop.d.ts.map +1 -0
- package/dist/runtime-v2/adversarial-loop.js +203 -0
- package/dist/runtime-v2/adversarial-loop.js.map +1 -0
- package/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.js +2 -2
- package/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.js.map +1 -1
- package/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.js +1 -1
- package/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.js.map +1 -1
- package/dist/runtime-v2/golden-trace.d.ts +30 -0
- package/dist/runtime-v2/golden-trace.d.ts.map +1 -1
- package/dist/runtime-v2/golden-trace.js +57 -0
- package/dist/runtime-v2/golden-trace.js.map +1 -1
- package/dist/runtime-v2/index.d.ts +10 -6
- package/dist/runtime-v2/index.d.ts.map +1 -1
- package/dist/runtime-v2/index.js +7 -3
- package/dist/runtime-v2/index.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/adversarial-case.test.d.ts +2 -0
- package/dist/runtime-v2/internalization/__tests__/adversarial-case.test.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/adversarial-case.test.js +139 -0
- package/dist/runtime-v2/internalization/__tests__/adversarial-case.test.js.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/adversarial-feedback.test.d.ts +2 -0
- package/dist/runtime-v2/internalization/__tests__/adversarial-feedback.test.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/adversarial-feedback.test.js +62 -0
- package/dist/runtime-v2/internalization/__tests__/adversarial-feedback.test.js.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/artificer-output-v2.test.d.ts +2 -0
- package/dist/runtime-v2/internalization/__tests__/artificer-output-v2.test.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/artificer-output-v2.test.js +249 -0
- package/dist/runtime-v2/internalization/__tests__/artificer-output-v2.test.js.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.d.ts +2 -0
- package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.js +24 -0
- package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.js.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js +2 -2
- package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/diag-distiller-runner.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/diag-rootcause-runner.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/diag-router-runner.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/evaluator-output-v2.test.d.ts +2 -0
- package/dist/runtime-v2/internalization/__tests__/evaluator-output-v2.test.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/evaluator-output-v2.test.js +209 -0
- package/dist/runtime-v2/internalization/__tests__/evaluator-output-v2.test.js.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder-v2.test.d.ts +2 -0
- package/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder-v2.test.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder-v2.test.js +125 -0
- package/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder-v2.test.js.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/refiner-sandbox-wrapper.test.js.map +1 -1
- package/dist/runtime-v2/internalization/adversarial-case.d.ts +32 -0
- package/dist/runtime-v2/internalization/adversarial-case.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/adversarial-case.js +68 -0
- package/dist/runtime-v2/internalization/adversarial-case.js.map +1 -0
- package/dist/runtime-v2/internalization/adversarial-feedback.d.ts +23 -0
- package/dist/runtime-v2/internalization/adversarial-feedback.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/adversarial-feedback.js +20 -0
- package/dist/runtime-v2/internalization/adversarial-feedback.js.map +1 -0
- package/dist/runtime-v2/internalization/artificer-output.d.ts +42 -0
- package/dist/runtime-v2/internalization/artificer-output.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/artificer-output.js +147 -0
- package/dist/runtime-v2/internalization/artificer-output.js.map +1 -1
- package/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts +10 -2
- package/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/artificer-prompt-builder.js +26 -3
- package/dist/runtime-v2/internalization/artificer-prompt-builder.js.map +1 -1
- package/dist/runtime-v2/internalization/artificer-runner.d.ts +7 -0
- package/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/artificer-runner.js +11 -2
- package/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-output.d.ts +63 -0
- package/dist/runtime-v2/internalization/evaluator-output.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-output.js +158 -0
- package/dist/runtime-v2/internalization/evaluator-output.js.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-prompt-builder.d.ts +8 -1
- package/dist/runtime-v2/internalization/evaluator-prompt-builder.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-prompt-builder.js +16 -3
- package/dist/runtime-v2/internalization/evaluator-prompt-builder.js.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-runner.d.ts +82 -2
- package/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-runner.js +496 -4
- package/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/index.d.ts +9 -4
- package/dist/runtime-v2/internalization/index.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/index.js +6 -2
- package/dist/runtime-v2/internalization/index.js.map +1 -1
- package/dist/runtime-v2/internalization/peer-runner-contracts.d.ts +2 -0
- package/dist/runtime-v2/internalization/peer-runner-contracts.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/peer-runner-contracts.js +19 -9
- package/dist/runtime-v2/internalization/peer-runner-contracts.js.map +1 -1
- package/dist/runtime-v2/internalization/pitask-metadata.d.ts +7 -0
- package/dist/runtime-v2/internalization/pitask-metadata.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/pitask-metadata.js +15 -5
- package/dist/runtime-v2/internalization/pitask-metadata.js.map +1 -1
- package/dist/runtime-v2/internalization/prompt-serializer.d.ts +3 -0
- package/dist/runtime-v2/internalization/prompt-serializer.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/prompt-serializer.js +22 -0
- package/dist/runtime-v2/internalization/prompt-serializer.js.map +1 -0
- package/dist/runtime-v2/proven-channel-baseline.d.ts.map +1 -1
- package/dist/runtime-v2/proven-channel-baseline.js +1 -0
- package/dist/runtime-v2/proven-channel-baseline.js.map +1 -1
- package/dist/runtime-v2/runner/__tests__/base-peer-runner-trust-boundary.test.js.map +1 -1
- package/dist/runtime-v2/runner/__tests__/pain-signal-bridge-admission.test.js.map +1 -1
- package/dist/runtime-v2/runner/__tests__/pain-signal-bridge.test.js.map +1 -1
- package/dist/runtime-v2/store/history/sqlite-history-query.test.js +1 -1
- package/dist/runtime-v2/store/history/sqlite-history-query.test.js.map +1 -1
- package/dist/runtime-v2/store/idempotent-transitions.test.js +0 -5
- package/dist/runtime-v2/store/idempotent-transitions.test.js.map +1 -1
- package/dist/runtime-v2/store/lifecycle/lease-manager.test.js +0 -2
- package/dist/runtime-v2/store/lifecycle/lease-manager.test.js.map +1 -1
- package/dist/runtime-v2/store/lifecycle/recovery-sweep.test.js +0 -2
- package/dist/runtime-v2/store/lifecycle/recovery-sweep.test.js.map +1 -1
- package/dist/runtime-v2/store/schema-conformance.test.js +0 -10
- package/dist/runtime-v2/store/schema-conformance.test.js.map +1 -1
- package/dist/runtime-v2/store/sqlite-connection-pragma.test.js +2 -2
- package/dist/runtime-v2/store/sqlite-connection-pragma.test.js.map +1 -1
- package/dist/runtime-v2/store/sqlite-run-store.test.js.map +1 -1
- package/dist/runtime-v2/store/sqlite-task-store.test.js +0 -2
- package/dist/runtime-v2/store/sqlite-task-store.test.js.map +1 -1
- package/dist/runtime-v2/store/trajectory/source-trace-locator.test.js +0 -1
- package/dist/runtime-v2/store/trajectory/source-trace-locator.test.js.map +1 -1
- package/dist/runtime-v2/store/trajectory/sqlite-trajectory-locator.test.js +1 -1
- package/dist/runtime-v2/store/trajectory/sqlite-trajectory-locator.test.js.map +1 -1
- package/dist/runtime-v2/store/workspace-isolation.test.js +0 -2
- package/dist/runtime-v2/store/workspace-isolation.test.js.map +1 -1
- package/dist/telemetry-event.d.ts +2 -2
- package/dist/telemetry-event.d.ts.map +1 -1
- package/dist/telemetry-event.js +21 -0
- package/dist/telemetry-event.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,49 @@
|
|
|
1
|
+
import { isEvaluatorOutputV2 } from './evaluator-output.js';
|
|
1
2
|
import { PDRuntimeError, isPDErrorCategory } from '../error-categories.js';
|
|
2
3
|
import { hydratePITaskRecord } from './pitask-metadata.js';
|
|
3
4
|
import { EvaluatorPromptBuilder } from './evaluator-prompt-builder.js';
|
|
4
5
|
import { injectRunnerLineageIfAbsent } from './peer-runner-contracts.js';
|
|
5
6
|
import { BasePeerRunner } from '../runner/base-peer-runner.js';
|
|
7
|
+
// PRI-426: single-round adversarial sandbox replay in succeedTask.
|
|
8
|
+
import { evaluateRefinerRuleHostGate } from './refiner-rulehost-gate.js';
|
|
9
|
+
import { adversarialCasesToGoldenTrace } from './adversarial-case.js';
|
|
10
|
+
import { buildGoldenTraceFromArtificer } from '../golden-trace.js';
|
|
11
|
+
function isRecordValue(value) {
|
|
12
|
+
return value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Extract scribeArtifactId from an artificer artifact's contentJson (PRD Decision 12).
|
|
16
|
+
* The contentJson is untrusted — parsed defensively with type guards, never as-cast
|
|
17
|
+
* (Runtime Contract Rule 1/2/5). Returns null when the field is absent or malformed;
|
|
18
|
+
* callers treat null as "code review degraded (no principle text)".
|
|
19
|
+
*
|
|
20
|
+
* Looks in two locations:
|
|
21
|
+
* 1. top-level sourceTrace.scribeArtifactId (ArtificerOutputV1/V2 contract)
|
|
22
|
+
* 2. top-level sourceScribeArtifactId (ArtificerOutputV1/V2 contract)
|
|
23
|
+
*/
|
|
24
|
+
function extractScribeArtifactId(artificerContentJson) {
|
|
25
|
+
let parsed;
|
|
26
|
+
try {
|
|
27
|
+
parsed = JSON.parse(artificerContentJson);
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
if (!isRecordValue(parsed))
|
|
33
|
+
return null;
|
|
34
|
+
// sourceTrace.scribeArtifactId
|
|
35
|
+
const trace = Object.hasOwn(parsed, 'sourceTrace') ? parsed.sourceTrace : undefined;
|
|
36
|
+
if (isRecordValue(trace)) {
|
|
37
|
+
const fromTrace = Object.hasOwn(trace, 'scribeArtifactId') ? trace.scribeArtifactId : undefined;
|
|
38
|
+
if (typeof fromTrace === 'string' && fromTrace.trim() !== '')
|
|
39
|
+
return fromTrace;
|
|
40
|
+
}
|
|
41
|
+
// top-level sourceScribeArtifactId
|
|
42
|
+
const direct = Object.hasOwn(parsed, 'sourceScribeArtifactId') ? parsed.sourceScribeArtifactId : undefined;
|
|
43
|
+
if (typeof direct === 'string' && direct.trim() !== '')
|
|
44
|
+
return direct;
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
6
47
|
export const DEFAULT_EVALUATOR_RUNNER_OPTIONS = {
|
|
7
48
|
pollIntervalMs: 5_000,
|
|
8
49
|
timeoutMs: 300_000,
|
|
@@ -22,6 +63,12 @@ export function resolveEvaluatorRunnerOptions(options) {
|
|
|
22
63
|
// ── EvaluatorRunner ───────────────────────────────────────────────────────────
|
|
23
64
|
export class EvaluatorRunner extends BasePeerRunner {
|
|
24
65
|
validator;
|
|
66
|
+
/**
|
|
67
|
+
* Optional RuleHost sandbox gate deps (PRI-426). When present and the output
|
|
68
|
+
* is V2, succeedTask runs a single adversarial sandbox replay. Absent = no
|
|
69
|
+
* replay (backward compatible).
|
|
70
|
+
*/
|
|
71
|
+
gateDeps;
|
|
25
72
|
constructor(deps, options) {
|
|
26
73
|
super(deps, options, {
|
|
27
74
|
runnerName: 'evaluator',
|
|
@@ -30,6 +77,7 @@ export class EvaluatorRunner extends BasePeerRunner {
|
|
|
30
77
|
resultRefPrefix: 'evaluator',
|
|
31
78
|
});
|
|
32
79
|
this.validator = deps.validator;
|
|
80
|
+
this.gateDeps = options.gateDeps ?? null;
|
|
33
81
|
}
|
|
34
82
|
// ── Abstract implementations ────────────────────────────────────────────────
|
|
35
83
|
// eslint-disable-next-line @typescript-eslint/class-methods-use-this
|
|
@@ -70,10 +118,34 @@ export class EvaluatorRunner extends BasePeerRunner {
|
|
|
70
118
|
depTaskId: depId,
|
|
71
119
|
artifactId: firstArtifact.artifactId,
|
|
72
120
|
});
|
|
121
|
+
// PRD Decision 12: resolve the scribe artifact so the evaluator LLM can
|
|
122
|
+
// judge code intentConsistency/scopePrecision against the principle text.
|
|
123
|
+
// Extract scribeArtifactId from the artificer's sourceTrace (untrusted
|
|
124
|
+
// contentJson — validated via type guards, never as-cast; Runtime Rule 1/2).
|
|
125
|
+
const scribeRef = extractScribeArtifactId(firstArtifact.contentJson);
|
|
126
|
+
let scribeContent = null;
|
|
127
|
+
if (scribeRef) {
|
|
128
|
+
const scribeArtifact = await this.artifactStore.getArtifactById(scribeRef);
|
|
129
|
+
if (scribeArtifact && scribeArtifact.artifactKind === 'principle') {
|
|
130
|
+
scribeContent = scribeArtifact.contentJson;
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
this.emitEvent('scribe_artifact_unresolvable', taskId, {
|
|
134
|
+
scribeArtifactId: scribeRef,
|
|
135
|
+
reason: scribeArtifact ? `wrong kind: ${scribeArtifact.artifactKind}` : 'not found',
|
|
136
|
+
nextAction: 'code_review_degraded_without_principle_text',
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
const contextRefs = scribeContent && scribeRef
|
|
141
|
+
? [artifactRef, scribeRef]
|
|
142
|
+
: [artifactRef];
|
|
73
143
|
return {
|
|
74
|
-
contextHash: BasePeerRunner.hashContextRefs(
|
|
144
|
+
contextHash: BasePeerRunner.hashContextRefs(contextRefs),
|
|
75
145
|
artificerArtifact: firstArtifact.contentJson,
|
|
76
146
|
sourceArtificerArtifactId: firstArtifact.artifactId,
|
|
147
|
+
scribeArtifact: scribeContent,
|
|
148
|
+
sourceScribeArtifactId: scribeRef,
|
|
77
149
|
};
|
|
78
150
|
}
|
|
79
151
|
}
|
|
@@ -90,11 +162,24 @@ export class EvaluatorRunner extends BasePeerRunner {
|
|
|
90
162
|
parsedArtificerArtifact = context.artificerArtifact;
|
|
91
163
|
}
|
|
92
164
|
}
|
|
165
|
+
// PRD Decision 12: pass the scribe principle text so the LLM can judge
|
|
166
|
+
// code intentConsistency/scopePrecision. Null when unresolvable (V1 artificer
|
|
167
|
+
// output, or scribe artifact missing) — the prompt builder accepts undefined.
|
|
168
|
+
let parsedScribeArtifact = undefined;
|
|
169
|
+
if (context.scribeArtifact) {
|
|
170
|
+
try {
|
|
171
|
+
parsedScribeArtifact = JSON.parse(context.scribeArtifact);
|
|
172
|
+
}
|
|
173
|
+
catch {
|
|
174
|
+
parsedScribeArtifact = context.scribeArtifact;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
93
177
|
const builder = new EvaluatorPromptBuilder();
|
|
94
178
|
const { message } = builder.buildPrompt({
|
|
95
179
|
taskId,
|
|
96
180
|
contextHash: context.contextHash,
|
|
97
181
|
artificerArtifact: parsedArtificerArtifact,
|
|
182
|
+
scribeArtifact: parsedScribeArtifact,
|
|
98
183
|
sourceArtificerArtifactId: context.sourceArtificerArtifactId ?? '',
|
|
99
184
|
});
|
|
100
185
|
return this.runtimeAdapter.startRun({
|
|
@@ -197,6 +282,68 @@ export class EvaluatorRunner extends BasePeerRunner {
|
|
|
197
282
|
failureReason: `PIArtifact write failed: ${artifactErr instanceof Error ? artifactErr.message : String(artifactErr)}`,
|
|
198
283
|
});
|
|
199
284
|
}
|
|
285
|
+
// ── PRI-426: single-round adversarial sandbox replay ──
|
|
286
|
+
// Runs only when (a) the output is V2 (code-bearing), (b) gateDeps is
|
|
287
|
+
// injected, and (c) passive review passed (LLM short-circuits to
|
|
288
|
+
// needs_revision when any of the 3 dimensions fail, so by the time we get
|
|
289
|
+
// here with decision='approved' the passive review already passed).
|
|
290
|
+
//
|
|
291
|
+
// PRI-423 contract: adversarialCasesToGoldenTrace yields an all-negative
|
|
292
|
+
// trace. We MUST merge ≥1 positive case from the Artificer golden trace
|
|
293
|
+
// before replaying, otherwise the merged trace fails validateGoldenTrace.
|
|
294
|
+
//
|
|
295
|
+
// This block never throws into the caller — a sandbox/gate failure degrades
|
|
296
|
+
// to adversarialResult.passed=false with a structured reason (ERR-018).
|
|
297
|
+
// The principle artifact is already persisted, so prompt-channel fallback
|
|
298
|
+
// remains available regardless of replay outcome (PRD Decision 11d §h).
|
|
299
|
+
let finalOutput = output;
|
|
300
|
+
if (isEvaluatorOutputV2(output) && this.gateDeps) {
|
|
301
|
+
const replayOutcome = await this.runAdversarialReplay(output, taskId, runId, context);
|
|
302
|
+
if (replayOutcome.updatedOutput) {
|
|
303
|
+
finalOutput = replayOutcome.updatedOutput;
|
|
304
|
+
await this.stateManager.updateRunOutput(runId, JSON.stringify(finalOutput));
|
|
305
|
+
// Re-persist the artifact with the populated adversarialResult so
|
|
306
|
+
// downstream readers (Phase 6 assembly, orchestrator retry) see it.
|
|
307
|
+
try {
|
|
308
|
+
await this.artifactStore.upsertArtifact({
|
|
309
|
+
artifactId,
|
|
310
|
+
artifactKind: 'principle',
|
|
311
|
+
sourceTaskId: taskId,
|
|
312
|
+
lineageArtifactIds,
|
|
313
|
+
validationStatus: 'pending',
|
|
314
|
+
contentJson: JSON.stringify(finalOutput),
|
|
315
|
+
createdAt: now,
|
|
316
|
+
updatedAt: new Date().toISOString(),
|
|
317
|
+
});
|
|
318
|
+
}
|
|
319
|
+
catch (replayPersistErr) {
|
|
320
|
+
// Non-fatal: the principle artifact is already written. Log and
|
|
321
|
+
// continue — adversarialResult is still on finalOutput in memory.
|
|
322
|
+
this.emitEvent('adversarial_result_persist_failed', taskId, {
|
|
323
|
+
runId,
|
|
324
|
+
errorMessage: replayPersistErr instanceof Error ? replayPersistErr.message : String(replayPersistErr),
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
// ── PRI-427: rule artifact assembly ──
|
|
330
|
+
// When the evaluator output is V2 AND the adversarial replay passed, write
|
|
331
|
+
// a second artifact with artifactKind='rule' carrying the executable code
|
|
332
|
+
// + golden trace + gate decision, then mark it 'validated' so the downstream
|
|
333
|
+
// RuleHostWriter.canActivate path accepts it.
|
|
334
|
+
//
|
|
335
|
+
// PRD Decision 5 contract:
|
|
336
|
+
// - rule artifact goldenTrace = Artificer's FULL trace (buildGoldenTraceFromArtificer),
|
|
337
|
+
// NOT the adversarial replay trace. The adversarial trace was only used
|
|
338
|
+
// to TEST the code in PRI-426; enforcement uses the production trace.
|
|
339
|
+
// - ruleHostGateDecision must be 'accepted_shadow' for RuleHostWriter to
|
|
340
|
+
// accept (rule-host-writer.ts extractRuleHostGateDecision).
|
|
341
|
+
// - Assembly failure is non-fatal: principle artifact is already written,
|
|
342
|
+
// prompt-channel fallback remains available (PRD Decision 5 degradation).
|
|
343
|
+
let ruleArtifactId = null;
|
|
344
|
+
if (isEvaluatorOutputV2(finalOutput) && finalOutput.adversarialResult?.passed === true) {
|
|
345
|
+
ruleArtifactId = await this.assembleRuleArtifact(finalOutput, taskId, runId, context, lineageArtifactIds);
|
|
346
|
+
}
|
|
200
347
|
// ── Evaluator-specific: validate principle-bearing Scribe artifact ──
|
|
201
348
|
// This is the critical business logic: approved evaluator must validate
|
|
202
349
|
// the Scribe principle artifact, NOT the Artificer plan artifact.
|
|
@@ -240,8 +387,9 @@ export class EvaluatorRunner extends BasePeerRunner {
|
|
|
240
387
|
this.emitEvent('task_succeeded', taskId, {
|
|
241
388
|
attemptCount: task.attemptCount,
|
|
242
389
|
resultRef,
|
|
243
|
-
evaluationDecision:
|
|
244
|
-
evaluationScore:
|
|
390
|
+
evaluationDecision: finalOutput.evaluation.decision,
|
|
391
|
+
evaluationScore: finalOutput.evaluation.score,
|
|
392
|
+
ruleArtifactId,
|
|
245
393
|
});
|
|
246
394
|
return {
|
|
247
395
|
status: 'succeeded',
|
|
@@ -250,7 +398,7 @@ export class EvaluatorRunner extends BasePeerRunner {
|
|
|
250
398
|
artifactId,
|
|
251
399
|
resultRef,
|
|
252
400
|
contextHash,
|
|
253
|
-
output,
|
|
401
|
+
output: finalOutput,
|
|
254
402
|
attemptCount: task.attemptCount,
|
|
255
403
|
};
|
|
256
404
|
}
|
|
@@ -292,6 +440,350 @@ export class EvaluatorRunner extends BasePeerRunner {
|
|
|
292
440
|
});
|
|
293
441
|
}
|
|
294
442
|
}
|
|
443
|
+
// ── PRI-426: adversarial sandbox replay ─────────────────────────────────────
|
|
444
|
+
/**
|
|
445
|
+
* Run a single-round adversarial sandbox replay on the evaluator's V2 output
|
|
446
|
+
* (PRD Decision 11d). Pure orchestration of pure functions:
|
|
447
|
+
* 1. Skip if passive review failed (decision !== 'approved' is the LLM's
|
|
448
|
+
* short-circuit signal — no code to defend).
|
|
449
|
+
* 2. Skip if no adversarialCases present (V2 with codeReview only).
|
|
450
|
+
* 3. Convert adversarialCases → GoldenTrace (all negative, PRI-423).
|
|
451
|
+
* 4. Merge ≥1 positive case from the Artificer golden trace. If the
|
|
452
|
+
* artificer artifact has no goldenTraceCases (V1 mismatch), degrade:
|
|
453
|
+
* skip replay with telemetry — do NOT crash.
|
|
454
|
+
* 5. Invoke evaluateRefinerRuleHostGate via injected gateDeps.
|
|
455
|
+
* 6. Populate adversarialResult from the gate result.
|
|
456
|
+
*
|
|
457
|
+
* Never throws — all failure modes degrade to a returned result with a
|
|
458
|
+
* structured reason (ERR-018). The caller persists the updated output.
|
|
459
|
+
*/
|
|
460
|
+
// eslint-disable-next-line @typescript-eslint/max-params
|
|
461
|
+
async runAdversarialReplay(output, taskId, runId, context) {
|
|
462
|
+
// gateDeps is non-null here — the caller only invokes this method when
|
|
463
|
+
// this.gateDeps is set. Bind to a local to avoid re-asserting.
|
|
464
|
+
// eslint-disable-next-line @typescript-eslint/prefer-destructuring
|
|
465
|
+
const gateDeps = this.gateDeps;
|
|
466
|
+
if (!gateDeps) {
|
|
467
|
+
return { updatedOutput: null };
|
|
468
|
+
}
|
|
469
|
+
// (1) Passive review short-circuit: the LLM emits decision='needs_revision'
|
|
470
|
+
// when any of intentConsistency/scopePrecision/traceCoverage fails. Only
|
|
471
|
+
// replay when the LLM judged the code worth defending. This check is
|
|
472
|
+
// defensive — by PRD contract the prompt instructs the LLM to short-circuit,
|
|
473
|
+
// but we don't trust the LLM to be the sole gate (Runtime Contract Rule 3).
|
|
474
|
+
if (output.evaluation.decision !== 'approved') {
|
|
475
|
+
return { updatedOutput: null };
|
|
476
|
+
}
|
|
477
|
+
// (2) No adversarial cases → nothing to replay. codeReview may still be
|
|
478
|
+
// present (passive review only). Not an error condition.
|
|
479
|
+
if (!output.adversarialCases || output.adversarialCases.length === 0) {
|
|
480
|
+
return { updatedOutput: null };
|
|
481
|
+
}
|
|
482
|
+
// (3) Convert adversarial cases to an all-negative GoldenTrace.
|
|
483
|
+
const conversion = adversarialCasesToGoldenTrace(output.adversarialCases);
|
|
484
|
+
if (!conversion.ok) {
|
|
485
|
+
// Validator already accepted adversarialCases, so a conversion failure
|
|
486
|
+
// here is a contract drift between validator and converter. Degrade loud.
|
|
487
|
+
this.emitEvent('adversarial_replay_skipped', taskId, {
|
|
488
|
+
runId,
|
|
489
|
+
reason: `adversarial_conversion_failed: ${conversion.reason}`,
|
|
490
|
+
nextAction: 'verify_adversarial_case_validator_alignment',
|
|
491
|
+
});
|
|
492
|
+
return { updatedOutput: null };
|
|
493
|
+
}
|
|
494
|
+
// (4) Resolve the Artificer artifact and extract code + positive cases.
|
|
495
|
+
// PRI-423: the converted adversarial trace has no positive case; we merge
|
|
496
|
+
// positive cases from the Artificer's goldenTraceCases before replaying.
|
|
497
|
+
if (!context.artificerArtifact) {
|
|
498
|
+
this.emitEvent('adversarial_replay_skipped', taskId, {
|
|
499
|
+
runId,
|
|
500
|
+
reason: 'no_artificer_artifact_in_context',
|
|
501
|
+
nextAction: 'verify_buildContext_resolves_artificer_artifact',
|
|
502
|
+
});
|
|
503
|
+
return { updatedOutput: null };
|
|
504
|
+
}
|
|
505
|
+
const artificerParsed = this.parseArtificerArtifact(context.artificerArtifact);
|
|
506
|
+
if (!artificerParsed) {
|
|
507
|
+
this.emitEvent('adversarial_replay_skipped', taskId, {
|
|
508
|
+
runId,
|
|
509
|
+
reason: 'artificer_artifact_unparseable',
|
|
510
|
+
nextAction: 'verify_artificer_artifact_contentJson',
|
|
511
|
+
});
|
|
512
|
+
return { updatedOutput: null };
|
|
513
|
+
}
|
|
514
|
+
const { implementationCode, goldenTraceCases } = artificerParsed;
|
|
515
|
+
if (typeof implementationCode !== 'string' || implementationCode.trim() === '') {
|
|
516
|
+
// Artificer output is V1 (no code) but the evaluator emitted V2. This is
|
|
517
|
+
// a mismatch — degrade rather than replay against missing code.
|
|
518
|
+
this.emitEvent('adversarial_replay_skipped', taskId, {
|
|
519
|
+
runId,
|
|
520
|
+
reason: 'artificer_artifact_has_no_implementation_code',
|
|
521
|
+
nextAction: 'verify_artificer_l2_adapter_emitted_v2',
|
|
522
|
+
});
|
|
523
|
+
return { updatedOutput: null };
|
|
524
|
+
}
|
|
525
|
+
// Merge positive cases from the Artificer golden trace into the adversarial
|
|
526
|
+
// trace. buildGoldenTraceFromArtificer validates each case structurally
|
|
527
|
+
// (Runtime Contract Rule 4) and returns ok=false on any malformed entry.
|
|
528
|
+
const positiveCases = this.extractPositiveCases(goldenTraceCases);
|
|
529
|
+
if (positiveCases.length === 0) {
|
|
530
|
+
this.emitEvent('adversarial_replay_skipped', taskId, {
|
|
531
|
+
runId,
|
|
532
|
+
reason: 'no_positive_case_in_artificer_golden_trace',
|
|
533
|
+
nextAction: 'verify_artificer_emitted_at_least_one_positive_case',
|
|
534
|
+
});
|
|
535
|
+
return { updatedOutput: null };
|
|
536
|
+
}
|
|
537
|
+
const mergedTrace = {
|
|
538
|
+
traceId: `golden-trace-evaluator-replay-${taskId}-${Date.now().toString(36)}`,
|
|
539
|
+
sourceArtifactId: context.sourceArtificerArtifactId ?? undefined,
|
|
540
|
+
version: 1,
|
|
541
|
+
createdAt: new Date().toISOString(),
|
|
542
|
+
cases: [...positiveCases, ...conversion.trace.cases],
|
|
543
|
+
};
|
|
544
|
+
// (5) Invoke the gate. evaluateRefinerRuleHostGate is a pure function that
|
|
545
|
+
// catches its own sandbox throws internally (rejected_runtime_error), so
|
|
546
|
+
// this await cannot throw on sandbox failure — but we guard anyway for
|
|
547
|
+
// defense-in-depth (ERR-018: trust boundary at injected deps).
|
|
548
|
+
let gateResult;
|
|
549
|
+
try {
|
|
550
|
+
gateResult = evaluateRefinerRuleHostGate({ code: implementationCode, goldenTrace: mergedTrace }, gateDeps);
|
|
551
|
+
}
|
|
552
|
+
catch (gateErr) {
|
|
553
|
+
this.emitEvent('adversarial_replay_skipped', taskId, {
|
|
554
|
+
runId,
|
|
555
|
+
reason: `gate_invocation_threw: ${gateErr instanceof Error ? gateErr.message : String(gateErr)}`,
|
|
556
|
+
nextAction: 'verify_gate_deps_implementation',
|
|
557
|
+
});
|
|
558
|
+
const failedResult = {
|
|
559
|
+
passed: false,
|
|
560
|
+
failedCases: [],
|
|
561
|
+
};
|
|
562
|
+
return {
|
|
563
|
+
updatedOutput: { ...output, adversarialResult: failedResult },
|
|
564
|
+
};
|
|
565
|
+
}
|
|
566
|
+
this.emitEvent('adversarial_replay', taskId, {
|
|
567
|
+
runId,
|
|
568
|
+
gateDecision: gateResult.decision,
|
|
569
|
+
caseCount: mergedTrace.cases.length,
|
|
570
|
+
failedCaseCount: gateResult.sandboxResult.failedCases.length,
|
|
571
|
+
});
|
|
572
|
+
// (6) Populate adversarialResult from the gate result.
|
|
573
|
+
const accepted = gateResult.decision === 'accepted_shadow';
|
|
574
|
+
const failedCases = accepted
|
|
575
|
+
? []
|
|
576
|
+
: this.mapFailedCases(gateResult, output.adversarialCases);
|
|
577
|
+
const adversarialResult = {
|
|
578
|
+
passed: accepted,
|
|
579
|
+
failedCases,
|
|
580
|
+
};
|
|
581
|
+
return {
|
|
582
|
+
updatedOutput: { ...output, adversarialResult },
|
|
583
|
+
};
|
|
584
|
+
}
|
|
585
|
+
/**
|
|
586
|
+
* Parse the Artificer artifact contentJson defensively (Runtime Contract
|
|
587
|
+
* Rule 1/2/5). Returns null on any structural issue — the caller degrades.
|
|
588
|
+
*/
|
|
589
|
+
// eslint-disable-next-line @typescript-eslint/class-methods-use-this
|
|
590
|
+
parseArtificerArtifact(contentJson) {
|
|
591
|
+
let parsed;
|
|
592
|
+
try {
|
|
593
|
+
parsed = JSON.parse(contentJson);
|
|
594
|
+
}
|
|
595
|
+
catch {
|
|
596
|
+
return null;
|
|
597
|
+
}
|
|
598
|
+
if (!EvaluatorRunner.isRecord(parsed))
|
|
599
|
+
return null;
|
|
600
|
+
return {
|
|
601
|
+
implementationCode: parsed.implementationCode,
|
|
602
|
+
goldenTraceCases: parsed.goldenTraceCases,
|
|
603
|
+
affectedTools: parsed.affectedTools,
|
|
604
|
+
};
|
|
605
|
+
}
|
|
606
|
+
/**
|
|
607
|
+
* Extract structurally-valid positive GoldenTraceCases from the Artificer
|
|
608
|
+
* goldenTraceCases array. Uses buildGoldenTraceFromArtificer (which re-
|
|
609
|
+
* validates each case) and filters for kind='positive'. Returns [] when
|
|
610
|
+
* the input is missing/malformed — the caller degrades to a skip (ERR-069:
|
|
611
|
+
* never trust unvalidated candidates).
|
|
612
|
+
*/
|
|
613
|
+
// eslint-disable-next-line @typescript-eslint/class-methods-use-this
|
|
614
|
+
extractPositiveCases(rawCases) {
|
|
615
|
+
if (!Array.isArray(rawCases))
|
|
616
|
+
return [];
|
|
617
|
+
const buildResult = buildGoldenTraceFromArtificer({ cases: rawCases });
|
|
618
|
+
if (!buildResult.ok)
|
|
619
|
+
return [];
|
|
620
|
+
return buildResult.trace.cases.filter((c) => c.kind === 'positive');
|
|
621
|
+
}
|
|
622
|
+
/**
|
|
623
|
+
* Map sandbox failed cases to EvaluatorAdversarialResult.failedCases.
|
|
624
|
+
*
|
|
625
|
+
* The sandbox reports failedCases by caseId; we enrich each with the
|
|
626
|
+
* adversarial case's attackType and expectedDecision. Cases not found in
|
|
627
|
+
* the adversarial set (e.g. the merged positive case failed — which would
|
|
628
|
+
* indicate a code bug, not an adversarial failure) are reported with
|
|
629
|
+
* attackType='boundary' as a safe default and a note in the rationale
|
|
630
|
+
* (Runtime Contract Rule 9: graceful degradation includes a reason).
|
|
631
|
+
*/
|
|
632
|
+
// eslint-disable-next-line @typescript-eslint/class-methods-use-this
|
|
633
|
+
mapFailedCases(gateResult, adversarialCases) {
|
|
634
|
+
const advById = new Map(adversarialCases.map((c) => [c.caseId, c]));
|
|
635
|
+
return gateResult.sandboxResult.failedCases.map((fc) => {
|
|
636
|
+
const adv = advById.get(fc.caseId);
|
|
637
|
+
return {
|
|
638
|
+
caseId: fc.caseId,
|
|
639
|
+
attackType: adv?.attackType ?? 'boundary',
|
|
640
|
+
actualDecision: fc.errorType,
|
|
641
|
+
expectedDecision: adv?.expectedDecision ?? 'block',
|
|
642
|
+
rationale: adv
|
|
643
|
+
? `${fc.errorType}: ${fc.message}`
|
|
644
|
+
: `non-adversarial case ${fc.caseId} failed (${fc.errorType}: ${fc.message}) — likely a code defect, not an adversarial gap`,
|
|
645
|
+
};
|
|
646
|
+
});
|
|
647
|
+
}
|
|
648
|
+
// ── PRI-427: rule artifact assembly ────────────────────────────────────────
|
|
649
|
+
/**
|
|
650
|
+
* Assemble and persist the rule artifact when adversarial replay passed
|
|
651
|
+
* (PRD Decision 5). The rule artifact carries implementationCode + the
|
|
652
|
+
* Artificer full golden trace + ruleHostGateDecision, with artifactKind='rule'.
|
|
653
|
+
* After a successful write, marks the artifact 'validated' so RuleHostWriter
|
|
654
|
+
* can activate it.
|
|
655
|
+
*
|
|
656
|
+
* Returns the rule artifactId on success, null on any degradation (missing
|
|
657
|
+
* code/trace, write failure, validation-update failure). Every null path
|
|
658
|
+
* emits structured telemetry with a reason (Runtime Rule 9, ERR-018).
|
|
659
|
+
*/
|
|
660
|
+
// eslint-disable-next-line @typescript-eslint/max-params
|
|
661
|
+
async assembleRuleArtifact(output, taskId, runId, context, lineageArtifactIds) {
|
|
662
|
+
if (!context.artificerArtifact) {
|
|
663
|
+
this.emitEvent('rule_assembly_failed', taskId, {
|
|
664
|
+
runId,
|
|
665
|
+
reason: 'no_artificer_artifact_in_context',
|
|
666
|
+
nextAction: 'verify_buildContext_resolves_artificer_artifact',
|
|
667
|
+
});
|
|
668
|
+
return null;
|
|
669
|
+
}
|
|
670
|
+
const artificerParsed = this.parseArtificerArtifact(context.artificerArtifact);
|
|
671
|
+
if (!artificerParsed) {
|
|
672
|
+
this.emitEvent('rule_assembly_failed', taskId, {
|
|
673
|
+
runId,
|
|
674
|
+
reason: 'artificer_artifact_unparseable',
|
|
675
|
+
nextAction: 'verify_artificer_artifact_contentJson',
|
|
676
|
+
});
|
|
677
|
+
return null;
|
|
678
|
+
}
|
|
679
|
+
const { implementationCode, goldenTraceCases, affectedTools } = artificerParsed;
|
|
680
|
+
if (typeof implementationCode !== 'string' || implementationCode.trim() === '') {
|
|
681
|
+
this.emitEvent('rule_assembly_failed', taskId, {
|
|
682
|
+
runId,
|
|
683
|
+
reason: 'artificer_artifact_has_no_implementation_code',
|
|
684
|
+
nextAction: 'verify_artificer_l2_adapter_emitted_v2',
|
|
685
|
+
});
|
|
686
|
+
return null;
|
|
687
|
+
}
|
|
688
|
+
// Runtime Rule 4: validate the array shape before passing to the builder.
|
|
689
|
+
// buildGoldenTraceFromArtificer re-validates each element structurally, but
|
|
690
|
+
// the type signature requires an array — narrow with Array.isArray first.
|
|
691
|
+
if (!Array.isArray(goldenTraceCases)) {
|
|
692
|
+
this.emitEvent('rule_assembly_failed', taskId, {
|
|
693
|
+
runId,
|
|
694
|
+
reason: 'artificer_golden_trace_cases_not_array',
|
|
695
|
+
nextAction: 'verify_artificer_emitted_goldenTraceCases_array',
|
|
696
|
+
});
|
|
697
|
+
return null;
|
|
698
|
+
}
|
|
699
|
+
// Build the production golden trace from the Artificer cases. This is the
|
|
700
|
+
// trace that gets ENFORCED at runtime — distinct from the adversarial
|
|
701
|
+
// replay trace used to TEST the code in PRI-426. buildGoldenTraceFromArtificer
|
|
702
|
+
// validates each case structurally (Runtime Rule 4) and requires ≥1 positive
|
|
703
|
+
// + ≥1 negative case.
|
|
704
|
+
const traceBuild = buildGoldenTraceFromArtificer({
|
|
705
|
+
cases: goldenTraceCases,
|
|
706
|
+
sourceArtifactId: context.sourceArtificerArtifactId ?? undefined,
|
|
707
|
+
});
|
|
708
|
+
if (!traceBuild.ok) {
|
|
709
|
+
this.emitEvent('rule_assembly_failed', taskId, {
|
|
710
|
+
runId,
|
|
711
|
+
reason: `golden_trace_build_failed: ${traceBuild.reason}`,
|
|
712
|
+
nextAction: 'verify_artificer_emitted_valid_positive_plus_negative_cases',
|
|
713
|
+
});
|
|
714
|
+
return null;
|
|
715
|
+
}
|
|
716
|
+
// affectedTools: optional array. Validate element types (Runtime Rule 4) —
|
|
717
|
+
// do not trust the upstream shape. Default to [] when absent/malformed.
|
|
718
|
+
const validatedAffectedTools = Array.isArray(affectedTools)
|
|
719
|
+
? affectedTools.filter((t) => typeof t === 'string')
|
|
720
|
+
: [];
|
|
721
|
+
const ruleContent = {
|
|
722
|
+
implementationCode,
|
|
723
|
+
goldenTrace: traceBuild.trace,
|
|
724
|
+
goldenTraceCases,
|
|
725
|
+
affectedTools: validatedAffectedTools,
|
|
726
|
+
// adversarialResult.passed === true is the precondition for this method;
|
|
727
|
+
// the gate decision is therefore accepted_shadow.
|
|
728
|
+
ruleHostGateDecision: 'accepted_shadow',
|
|
729
|
+
sourceArtificerArtifactId: context.sourceArtificerArtifactId ?? output.sourceArtificerArtifactId,
|
|
730
|
+
adversarialResult: output.adversarialResult,
|
|
731
|
+
};
|
|
732
|
+
const ruleArtifactId = `pi-rule-${taskId}-${runId}`;
|
|
733
|
+
const nowIso = new Date().toISOString();
|
|
734
|
+
try {
|
|
735
|
+
await this.artifactStore.upsertArtifact({
|
|
736
|
+
artifactId: ruleArtifactId,
|
|
737
|
+
artifactKind: 'rule',
|
|
738
|
+
sourceTaskId: taskId,
|
|
739
|
+
lineageArtifactIds: [...lineageArtifactIds],
|
|
740
|
+
validationStatus: 'pending',
|
|
741
|
+
contentJson: JSON.stringify(ruleContent),
|
|
742
|
+
createdAt: nowIso,
|
|
743
|
+
updatedAt: nowIso,
|
|
744
|
+
});
|
|
745
|
+
}
|
|
746
|
+
catch (writeErr) {
|
|
747
|
+
// PRD Decision 5 degradation: assembly write failure → principle artifact
|
|
748
|
+
// already written, prompt channel usable. Do NOT crash the runner.
|
|
749
|
+
this.emitEvent('rule_assembly_failed', taskId, {
|
|
750
|
+
runId,
|
|
751
|
+
reason: `artifact_write_failed: ${writeErr instanceof Error ? writeErr.message : String(writeErr)}`,
|
|
752
|
+
nextAction: 'prompt_channel_fallback_available',
|
|
753
|
+
});
|
|
754
|
+
return null;
|
|
755
|
+
}
|
|
756
|
+
// Mark the rule artifact validated so RuleHostWriter.canActivate accepts it
|
|
757
|
+
// (canActivate checks validationStatus !== 'validated' at rule-host-writer.ts:82).
|
|
758
|
+
try {
|
|
759
|
+
const updated = await this.artifactStore.updateValidationStatus(ruleArtifactId, 'validated');
|
|
760
|
+
if (!updated) {
|
|
761
|
+
this.emitEvent('rule_assembly_failed', taskId, {
|
|
762
|
+
runId,
|
|
763
|
+
reason: 'updateValidationStatus_returned_false',
|
|
764
|
+
ruleArtifactId,
|
|
765
|
+
nextAction: 'verify_artifact_store_consistency',
|
|
766
|
+
});
|
|
767
|
+
return null;
|
|
768
|
+
}
|
|
769
|
+
}
|
|
770
|
+
catch (updateErr) {
|
|
771
|
+
this.emitEvent('rule_assembly_failed', taskId, {
|
|
772
|
+
runId,
|
|
773
|
+
reason: `updateValidationStatus_threw: ${updateErr instanceof Error ? updateErr.message : String(updateErr)}`,
|
|
774
|
+
ruleArtifactId,
|
|
775
|
+
nextAction: 'verify_artifact_store_consistency',
|
|
776
|
+
});
|
|
777
|
+
return null;
|
|
778
|
+
}
|
|
779
|
+
this.emitEvent('rule_assembled', taskId, {
|
|
780
|
+
runId,
|
|
781
|
+
artifactId: ruleArtifactId,
|
|
782
|
+
affectedTools: validatedAffectedTools,
|
|
783
|
+
traceCaseCount: traceBuild.trace.cases.length,
|
|
784
|
+
});
|
|
785
|
+
return ruleArtifactId;
|
|
786
|
+
}
|
|
295
787
|
// ── Evaluator-specific: principle bearer resolution ─────────────────────────
|
|
296
788
|
/**
|
|
297
789
|
* Resolve the principle-bearing artifact that the evaluator should validate.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluator-runner.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/evaluator-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"evaluator-runner.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/evaluator-runner.ts"],"names":[],"mappings":"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"}
|