@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
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adversarial feedback formatter (RuleHost MVP, PRI-428).
|
|
3
|
+
*
|
|
4
|
+
* Converts EvaluatorAdversarialResult.failedCases into a deterministic,
|
|
5
|
+
* human-readable text block that is injected into a Round-2 Artificer prompt
|
|
6
|
+
* so the LLM can make targeted code corrections instead of blind regeneration.
|
|
7
|
+
*
|
|
8
|
+
* Design:
|
|
9
|
+
* - Pure function, no I/O, no timestamps/random (deterministic).
|
|
10
|
+
* - Each failed case becomes one line: caseId | attackType | expected vs
|
|
11
|
+
* actual | rationale.
|
|
12
|
+
* - Empty input still yields a usable, non-empty string (the gate may
|
|
13
|
+
* reject on a runtime error with no per-case detail).
|
|
14
|
+
*/
|
|
15
|
+
import type { AdversarialFailedCase } from './evaluator-output.js';
|
|
16
|
+
/**
|
|
17
|
+
* Format a list of adversarial failed cases into a prompt-injectable text block.
|
|
18
|
+
*
|
|
19
|
+
* @param failedCases - from EvaluatorAdversarialResult.failedCases (may be empty)
|
|
20
|
+
* @returns a deterministic multi-line string; never empty
|
|
21
|
+
*/
|
|
22
|
+
export declare function formatAdversarialFeedback(failedCases: readonly AdversarialFailedCase[]): string;
|
|
23
|
+
//# sourceMappingURL=adversarial-feedback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adversarial-feedback.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/adversarial-feedback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAInE;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,SAAS,qBAAqB,EAAE,GAAG,MAAM,CAa/F"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const HEADER = '--- Prior adversarial replay failures (address these in your revised code) ---';
|
|
2
|
+
/**
|
|
3
|
+
* Format a list of adversarial failed cases into a prompt-injectable text block.
|
|
4
|
+
*
|
|
5
|
+
* @param failedCases - from EvaluatorAdversarialResult.failedCases (may be empty)
|
|
6
|
+
* @returns a deterministic multi-line string; never empty
|
|
7
|
+
*/
|
|
8
|
+
export function formatAdversarialFeedback(failedCases) {
|
|
9
|
+
if (failedCases.length === 0) {
|
|
10
|
+
return `${HEADER}\n(0 structured failures recorded — the prior code failed the adversarial sandbox replay on a runtime/structural error. Re-examine the matcher logic.)`;
|
|
11
|
+
}
|
|
12
|
+
const lines = failedCases.map((fc) => {
|
|
13
|
+
const rationale = typeof fc.rationale === 'string' && fc.rationale.trim() !== ''
|
|
14
|
+
? fc.rationale
|
|
15
|
+
: '(no rationale provided)';
|
|
16
|
+
return `- ${fc.caseId} [${fc.attackType}]: expected ${fc.expectedDecision}, got ${fc.actualDecision} — ${rationale}`;
|
|
17
|
+
});
|
|
18
|
+
return `${HEADER}\n${lines.join('\n')}`;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=adversarial-feedback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adversarial-feedback.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/adversarial-feedback.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,GAAG,gFAAgF,CAAC;AAEhG;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,WAA6C;IACrF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,GAAG,MAAM,wJAAwJ,CAAC;IAC3K,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACnC,MAAM,SAAS,GAAG,OAAO,EAAE,CAAC,SAAS,KAAK,QAAQ,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE;YAC9E,CAAC,CAAC,EAAE,CAAC,SAAS;YACd,CAAC,CAAC,yBAAyB,CAAC;QAC9B,OAAO,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,UAAU,eAAe,EAAE,CAAC,gBAAgB,SAAS,EAAE,CAAC,cAAc,MAAM,SAAS,EAAE,CAAC;IACvH,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC1C,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type Static } from '@sinclair/typebox';
|
|
2
|
+
import type { GoldenTraceDecision } from '../golden-trace.js';
|
|
2
3
|
export interface ArtificerImplementationPlan {
|
|
3
4
|
readonly summary: string;
|
|
4
5
|
readonly targetSurface: string;
|
|
@@ -20,6 +21,37 @@ export interface ArtificerOutputV1 {
|
|
|
20
21
|
readonly risks: readonly string[];
|
|
21
22
|
readonly generatedAt: string;
|
|
22
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Artificer-generated golden trace case input (RuleHost MVP Activation, ADR-0014
|
|
26
|
+
* Amendment 2026-06-17 Decision 1).
|
|
27
|
+
*
|
|
28
|
+
* `expectedDecision` uses `GoldenTraceDecision` ('allow'|'block'|'propose_correction'),
|
|
29
|
+
* NOT `RuleHostDecision`. The sandbox replay layer maps the two enums (see PRD
|
|
30
|
+
* Decision 1 mapping table). `kind='positive'` requires `expectedDecision='allow'`
|
|
31
|
+
* (mirrors `validateGoldenTraceCase` invariant in golden-trace.ts:116).
|
|
32
|
+
*/
|
|
33
|
+
export interface GoldenTraceCaseInput {
|
|
34
|
+
readonly caseId: string;
|
|
35
|
+
readonly kind: 'positive' | 'negative';
|
|
36
|
+
readonly toolName: string;
|
|
37
|
+
readonly params: Record<string, unknown>;
|
|
38
|
+
readonly expectedDecision: GoldenTraceDecision;
|
|
39
|
+
readonly expectedProposedParams?: Record<string, unknown>;
|
|
40
|
+
readonly expectedApplicationMode?: 'shadow' | 'live';
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* ArtificerOutputV2 — V1 plus executable rule code fields (Decision 1).
|
|
44
|
+
*
|
|
45
|
+
* A V2 output is produced only by `ArtificerL2Adapter` (write-test-fix loop).
|
|
46
|
+
* V1 outputs (no code fields) flow through the existing principle-artifact
|
|
47
|
+
* path unchanged. `isArtificerOutputV2()` distinguishes the two at runtime;
|
|
48
|
+
* never `as`-cast (Runtime Contract Rule 2, ERR-001).
|
|
49
|
+
*/
|
|
50
|
+
export interface ArtificerOutputV2 extends ArtificerOutputV1 {
|
|
51
|
+
readonly implementationCode: string;
|
|
52
|
+
readonly goldenTraceCases: readonly GoldenTraceCaseInput[];
|
|
53
|
+
readonly affectedTools: readonly string[];
|
|
54
|
+
}
|
|
23
55
|
export declare const ArtificerImplementationPlanSchema: import("@sinclair/typebox").TObject<{
|
|
24
56
|
summary: import("@sinclair/typebox").TString;
|
|
25
57
|
targetSurface: import("@sinclair/typebox").TString;
|
|
@@ -62,6 +94,16 @@ export interface ArtificerValidator {
|
|
|
62
94
|
/** Validate untrusted output. Accepts `unknown` — must perform runtime checks (ERR-001). */
|
|
63
95
|
validate(output: unknown, taskId: string, expectedSourceScribeArtifactId?: string): Promise<ArtificerValidationResult>;
|
|
64
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* Runtime type guard distinguishing V2 (code-bearing) artificer output from V1.
|
|
99
|
+
* Use this — not `as ArtificerOutputV2` — after `validate()` succeeds to decide
|
|
100
|
+
* whether the rule-artifact assembly path applies (Runtime Contract Rule 2).
|
|
101
|
+
*
|
|
102
|
+
* Detection: V2 requires ALL three code fields present and well-formed. A
|
|
103
|
+
* partially-populated object is NOT V2 (it is malformed and will have been
|
|
104
|
+
* rejected by validate()).
|
|
105
|
+
*/
|
|
106
|
+
export declare function isArtificerOutputV2(output: unknown): output is ArtificerOutputV2;
|
|
65
107
|
export declare class DefaultArtificerValidator implements ArtificerValidator {
|
|
66
108
|
validate(output: unknown, taskId: string, expectedSourceScribeArtifactId?: string): Promise<ArtificerValidationResult>;
|
|
67
109
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artificer-output.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"artificer-output.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-output.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,123 @@ export const ArtificerOutputV1Schema = Type.Object({
|
|
|
23
23
|
function isRecord(v) {
|
|
24
24
|
return v !== null && typeof v === 'object' && !Array.isArray(v);
|
|
25
25
|
}
|
|
26
|
+
const GOLDEN_TRACE_DECISIONS = new Set(['allow', 'block', 'propose_correction']);
|
|
27
|
+
const MAX_GOLDEN_TRACE_CASES = 10;
|
|
28
|
+
const MIN_GOLDEN_TRACE_CASES = 2;
|
|
29
|
+
/**
|
|
30
|
+
* Validate Artificer's goldenTraceCases input. Mirrors the structural invariants
|
|
31
|
+
* of `validateGoldenTraceCase` / `validateGoldenTrace` in golden-trace.ts but
|
|
32
|
+
* operates on the artificer-input shape (GoldenTraceCaseInput, no sourceRefs).
|
|
33
|
+
* - At least 1 positive + 1 negative case (PRD Decision 1).
|
|
34
|
+
* - 2..10 cases inclusive.
|
|
35
|
+
* - positive case must expect 'allow' (golden-trace.ts:116).
|
|
36
|
+
* - expectedDecision ∈ {allow, block, propose_correction}.
|
|
37
|
+
*/
|
|
38
|
+
function validateGoldenTraceCasesInput(raw) {
|
|
39
|
+
const errors = [];
|
|
40
|
+
if (!Array.isArray(raw)) {
|
|
41
|
+
errors.push('goldenTraceCases must be an array');
|
|
42
|
+
return errors;
|
|
43
|
+
}
|
|
44
|
+
if (raw.length < MIN_GOLDEN_TRACE_CASES) {
|
|
45
|
+
errors.push(`goldenTraceCases must contain at least ${MIN_GOLDEN_TRACE_CASES} cases (1 positive + 1 negative), got ${raw.length}`);
|
|
46
|
+
}
|
|
47
|
+
if (raw.length > MAX_GOLDEN_TRACE_CASES) {
|
|
48
|
+
errors.push(`goldenTraceCases must contain at most ${MAX_GOLDEN_TRACE_CASES} cases, got ${raw.length}`);
|
|
49
|
+
}
|
|
50
|
+
let hasPositive = false;
|
|
51
|
+
let hasNegative = false;
|
|
52
|
+
raw.forEach((entry, index) => {
|
|
53
|
+
const prefix = `goldenTraceCases[${index}]`;
|
|
54
|
+
if (!isRecord(entry)) {
|
|
55
|
+
errors.push(`${prefix} must be an object`);
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
if (!Object.hasOwn(entry, 'caseId') || typeof entry.caseId !== 'string' || entry.caseId.trim() === '') {
|
|
59
|
+
errors.push(`${prefix}.caseId must be a non-empty string`);
|
|
60
|
+
}
|
|
61
|
+
if (!Object.hasOwn(entry, 'kind') || (entry.kind !== 'positive' && entry.kind !== 'negative')) {
|
|
62
|
+
errors.push(`${prefix}.kind must be 'positive' or 'negative'`);
|
|
63
|
+
}
|
|
64
|
+
else if (entry.kind === 'positive') {
|
|
65
|
+
hasPositive = true;
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
hasNegative = true;
|
|
69
|
+
}
|
|
70
|
+
if (!Object.hasOwn(entry, 'toolName') || typeof entry.toolName !== 'string' || entry.toolName.trim() === '') {
|
|
71
|
+
errors.push(`${prefix}.toolName must be a non-empty string`);
|
|
72
|
+
}
|
|
73
|
+
if (!Object.hasOwn(entry, 'params') || !isRecord(entry.params)) {
|
|
74
|
+
errors.push(`${prefix}.params must be an object`);
|
|
75
|
+
}
|
|
76
|
+
if (!Object.hasOwn(entry, 'expectedDecision')
|
|
77
|
+
|| typeof entry.expectedDecision !== 'string'
|
|
78
|
+
|| !GOLDEN_TRACE_DECISIONS.has(entry.expectedDecision)) {
|
|
79
|
+
errors.push(`${prefix}.expectedDecision must be one of allow|block|propose_correction, got ${String(entry.expectedDecision)}`);
|
|
80
|
+
}
|
|
81
|
+
else if (entry.kind === 'positive' && entry.expectedDecision !== 'allow') {
|
|
82
|
+
errors.push(`${prefix}: positive cases must expect allow (got ${entry.expectedDecision})`);
|
|
83
|
+
}
|
|
84
|
+
// propose_correction requires expectedProposedParams + expectedApplicationMode
|
|
85
|
+
// (mirrors golden-trace.ts:110-114). Enforced here so malformed V2 output
|
|
86
|
+
// fails at validation, not later in the sandbox.
|
|
87
|
+
if (entry.expectedDecision === 'propose_correction') {
|
|
88
|
+
if (!Object.hasOwn(entry, 'expectedProposedParams') || !isRecord(entry.expectedProposedParams)) {
|
|
89
|
+
errors.push(`${prefix}.expectedProposedParams is required when expectedDecision is propose_correction`);
|
|
90
|
+
}
|
|
91
|
+
if (!Object.hasOwn(entry, 'expectedApplicationMode')
|
|
92
|
+
|| (entry.expectedApplicationMode !== 'shadow' && entry.expectedApplicationMode !== 'live')) {
|
|
93
|
+
errors.push(`${prefix}.expectedApplicationMode must be shadow or live when expectedDecision is propose_correction`);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
// Only check positive/negative presence when array shape is valid (avoid
|
|
98
|
+
// double-reporting on the same malformed array).
|
|
99
|
+
if (Array.isArray(raw) && raw.length > 0) {
|
|
100
|
+
if (!hasPositive)
|
|
101
|
+
errors.push('goldenTraceCases must include at least one positive case');
|
|
102
|
+
if (!hasNegative)
|
|
103
|
+
errors.push('goldenTraceCases must include at least one negative case');
|
|
104
|
+
}
|
|
105
|
+
return errors;
|
|
106
|
+
}
|
|
107
|
+
function validateAffectedTools(raw) {
|
|
108
|
+
const errors = [];
|
|
109
|
+
if (!Array.isArray(raw)) {
|
|
110
|
+
errors.push('affectedTools must be an array');
|
|
111
|
+
return errors;
|
|
112
|
+
}
|
|
113
|
+
if (raw.length === 0) {
|
|
114
|
+
errors.push('affectedTools must be a non-empty array');
|
|
115
|
+
}
|
|
116
|
+
raw.forEach((entry, index) => {
|
|
117
|
+
if (typeof entry !== 'string' || entry.trim() === '') {
|
|
118
|
+
errors.push(`affectedTools[${index}] must be a non-empty string`);
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
return errors;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Runtime type guard distinguishing V2 (code-bearing) artificer output from V1.
|
|
125
|
+
* Use this — not `as ArtificerOutputV2` — after `validate()` succeeds to decide
|
|
126
|
+
* whether the rule-artifact assembly path applies (Runtime Contract Rule 2).
|
|
127
|
+
*
|
|
128
|
+
* Detection: V2 requires ALL three code fields present and well-formed. A
|
|
129
|
+
* partially-populated object is NOT V2 (it is malformed and will have been
|
|
130
|
+
* rejected by validate()).
|
|
131
|
+
*/
|
|
132
|
+
export function isArtificerOutputV2(output) {
|
|
133
|
+
if (!isRecord(output))
|
|
134
|
+
return false;
|
|
135
|
+
if (typeof output.implementationCode !== 'string' || output.implementationCode.trim() === '')
|
|
136
|
+
return false;
|
|
137
|
+
if (!Array.isArray(output.goldenTraceCases) || output.goldenTraceCases.length === 0)
|
|
138
|
+
return false;
|
|
139
|
+
if (!Array.isArray(output.affectedTools) || output.affectedTools.length === 0)
|
|
140
|
+
return false;
|
|
141
|
+
return true;
|
|
142
|
+
}
|
|
26
143
|
export class DefaultArtificerValidator {
|
|
27
144
|
// eslint-disable-next-line @typescript-eslint/class-methods-use-this
|
|
28
145
|
async validate(output, taskId, expectedSourceScribeArtifactId) {
|
|
@@ -104,6 +221,36 @@ export class DefaultArtificerValidator {
|
|
|
104
221
|
if (!Object.hasOwn(rec, 'generatedAt') || typeof rec.generatedAt !== 'string' || rec.generatedAt.trim() === '') {
|
|
105
222
|
errors.push('generatedAt must be non-empty string');
|
|
106
223
|
}
|
|
224
|
+
// ── V2 fields (optional; present when ArtificerL2Adapter produces code) ──
|
|
225
|
+
// V1 backward compatibility: absence of code fields is valid (existing path).
|
|
226
|
+
// When ANY V2 field is present, ALL must be present and well-formed (fail loud,
|
|
227
|
+
// ERR-009/010). Detection via Object.hasOwn (ERR-013), never `in`.
|
|
228
|
+
const hasCode = Object.hasOwn(rec, 'implementationCode');
|
|
229
|
+
const hasCases = Object.hasOwn(rec, 'goldenTraceCases');
|
|
230
|
+
const hasTools = Object.hasOwn(rec, 'affectedTools');
|
|
231
|
+
if (hasCode || hasCases || hasTools) {
|
|
232
|
+
// All three must be present together — partial V2 is malformed.
|
|
233
|
+
if (!hasCode)
|
|
234
|
+
errors.push('implementationCode is required when goldenTraceCases or affectedTools are present (V2 output)');
|
|
235
|
+
if (!hasCases)
|
|
236
|
+
errors.push('goldenTraceCases is required when implementationCode or affectedTools are present (V2 output)');
|
|
237
|
+
if (!hasTools)
|
|
238
|
+
errors.push('affectedTools is required when implementationCode or goldenTraceCases are present (V2 output)');
|
|
239
|
+
if (hasCode) {
|
|
240
|
+
const code = rec.implementationCode;
|
|
241
|
+
if (typeof code !== 'string' || code.trim() === '') {
|
|
242
|
+
errors.push('implementationCode must be a non-empty string');
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
if (hasCases) {
|
|
246
|
+
const casesErr = validateGoldenTraceCasesInput(rec.goldenTraceCases);
|
|
247
|
+
errors.push(...casesErr);
|
|
248
|
+
}
|
|
249
|
+
if (hasTools) {
|
|
250
|
+
const toolsErr = validateAffectedTools(rec.affectedTools);
|
|
251
|
+
errors.push(...toolsErr);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
107
254
|
return errors.length > 0
|
|
108
255
|
? { valid: false, errors, errorCategory: 'output_invalid' }
|
|
109
256
|
: { valid: true, errors: [] };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artificer-output.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-output.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"artificer-output.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-output.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,12 @@ export interface ArtificerPromptBuilderInput {
|
|
|
3
3
|
contextHash: string;
|
|
4
4
|
sourceScribeArtifactId: string;
|
|
5
5
|
scribeArtifact: unknown;
|
|
6
|
+
/**
|
|
7
|
+
* Prior adversarial replay failures to address (RuleHost MVP, PRI-428).
|
|
8
|
+
* Present only on Round-2+ retries inside runAdversarialLoop. When absent,
|
|
9
|
+
* the prompt is the initial generation prompt (backward compatible).
|
|
10
|
+
*/
|
|
11
|
+
adversarialFeedback?: string;
|
|
6
12
|
}
|
|
7
13
|
export interface ArtificerPromptInput {
|
|
8
14
|
taskId: string;
|
|
@@ -11,13 +17,15 @@ export interface ArtificerPromptInput {
|
|
|
11
17
|
scribeArtifact: unknown;
|
|
12
18
|
artificerInstruction: string;
|
|
13
19
|
promptContractVersion: string;
|
|
20
|
+
/** Present only when this is a retry with prior adversarial failures. */
|
|
21
|
+
adversarialFeedback?: string;
|
|
14
22
|
}
|
|
15
23
|
export interface ArtificerPromptBuildResult {
|
|
16
24
|
readonly message: string;
|
|
17
25
|
readonly promptInput: ArtificerPromptInput;
|
|
18
26
|
}
|
|
19
|
-
export declare const ARTIFICER_PROTOCOL_INSTRUCTION = "You are an Artificer agent in a principle internalization pipeline. Your role is to transform the Scribe's formal principle draft into an implementation-oriented plan with concrete changes, tests, and rollout notes.\n\nPROTOCOL:\n1. Review the scribeArtifact to understand the formal principle draft\n2. Transform the principle draft into an implementation plan
|
|
20
|
-
export declare const ARTIFICER_PROMPT_CONTRACT_VERSION = "artificer-output-
|
|
27
|
+
export declare const ARTIFICER_PROTOCOL_INSTRUCTION = "You are an Artificer agent in a principle internalization pipeline. Your role is to transform the Scribe's formal principle draft into an implementation-oriented plan with concrete changes, tests, and rollout notes.\n\nPROTOCOL:\n1. Review the scribeArtifact to understand the formal principle draft\n2. Transform the principle draft into an implementation plan and executable RuleHost code\n3. Preserve the lineage trace from scribe, philosopher, and dreamer artifacts\n4. Identify risks associated with implementing this principle\n5. The implementation plan should be concrete enough to guide code changes, not just philosophical\n\nOUTPUT FORMAT (pure JSON, no markdown):\n{\n \"taskId\": \"<from input>\",\n \"sourceScribeArtifactId\": \"<copy exactly from input.sourceScribeArtifactId>\",\n \"implementationPlan\": {\n \"summary\": \"<concise summary of the implementation approach>\",\n \"targetSurface\": \"<specific code/module/surface area to modify>\",\n \"changes\": [\"<specific change 1>\", \"<specific change 2>\"],\n \"tests\": [\"<test requirement 1>\", \"<test requirement 2>\"],\n \"rolloutNotes\": [\"<rollout consideration 1>\", \"<rollout consideration 2>\"],\n \"confidence\": 0.8\n },\n \"sourceTrace\": {\n \"scribeArtifactId\": \"<copy exactly from input.sourceScribeArtifactId>\",\n \"philosopherArtifactId\": \"<from scribe artifact if available, or omit>\",\n \"dreamerArtifactId\": \"<from scribe artifact if available, or omit>\"\n },\n \"risks\": [\"<risk 1>\", \"<risk 2>\"],\n \"implementationCode\": \"function evaluate(input, helpers) { ... }\",\n \"goldenTraceCases\": [\n {\"caseId\":\"negative-1\",\"kind\":\"negative\",\"toolName\":\"write_file\",\"params\":{\"path\":\"/system/file\"},\"expectedDecision\":\"block\"},\n {\"caseId\":\"positive-1\",\"kind\":\"positive\",\"toolName\":\"write_file\",\"params\":{\"path\":\"/workspace/file\"},\"expectedDecision\":\"allow\"}\n ],\n \"affectedTools\": [\"write_file\"],\n \"generatedAt\": \"<ISO-8601 timestamp>\"\n}\n\nCONSTRAINTS:\n- Output ONLY valid JSON (no markdown, no explanatory text, no code fences)\n- implementationPlan.summary MUST be a non-empty string\n- implementationPlan.targetSurface MUST be a non-empty string\n- implementationPlan.changes MUST be an array of strings\n- implementationPlan.tests MUST be an array of strings\n- implementationPlan.rolloutNotes MUST be an array of strings\n- implementationPlan.confidence MUST be a number between 0.0 and 1.0 (NOT a string, NOT a percentage)\n- sourceScribeArtifactId MUST be copied exactly from input.sourceScribeArtifactId (non-empty string)\n- sourceTrace.scribeArtifactId MUST be copied exactly from input.sourceScribeArtifactId\n- sourceTrace.philosopherArtifactId is optional \u2014 include only if available from scribe artifact\n- sourceTrace.dreamerArtifactId is optional \u2014 include only if available from scribe artifact\n- risks MUST be an array of strings (can be empty if no risks identified)\n- generatedAt MUST be the current ISO-8601 timestamp (use the actual current time, NOT a placeholder)\n- implementationCode MUST define exactly function evaluate(input, helpers) and return { decision, matched, reason }\n- input.action contains toolName, normalizedPath, and paramsSummary; inspect only these RuleHost inputs\n- implementationCode MUST be deterministic and self-contained: no imports, require, eval, Function, I/O, network, timers, Date.now, or randomness\n- goldenTraceCases MUST contain 2-10 cases with at least one positive allow case and one negative block/propose_correction case\n- propose_correction cases MUST include expectedProposedParams and expectedApplicationMode (shadow or live)\n- affectedTools MUST contain the non-empty tool names the rule can match\n\nPRIOR ADVERSARIAL FAILURES (when `adversarialFeedback` is present):\n- This is a RETRY. A prior version of your generated code was reviewed and failed adversarial sandbox replay.\n- The `adversarialFeedback` field lists the specific cases that failed, each with the attack type, the expected vs actual decision, and a rationale.\n- You MUST address each listed failure specifically \u2014 do not regenerate blind. Adjust the matcher/logic so the failed cases produce the expected decision while preserving the cases that previously passed.\n";
|
|
28
|
+
export declare const ARTIFICER_PROMPT_CONTRACT_VERSION = "artificer-output-v2.prompt.v1";
|
|
21
29
|
export declare class ArtificerPromptBuilder {
|
|
22
30
|
buildPrompt(input: ArtificerPromptBuilderInput): ArtificerPromptBuildResult;
|
|
23
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artificer-prompt-builder.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-prompt-builder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"artificer-prompt-builder.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-prompt-builder.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,OAAO,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,yEAAyE;IACzE,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;CAC5C;AAED,eAAO,MAAM,8BAA8B,svIA6D1C,CAAC;AAEF,eAAO,MAAM,iCAAiC,kCAAkC,CAAC;AAEjF,qBAAa,sBAAsB;IAEjC,WAAW,CAAC,KAAK,EAAE,2BAA2B,GAAG,0BAA0B;CAmB5E"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { serializePromptInput } from './prompt-serializer.js';
|
|
1
2
|
export const ARTIFICER_PROTOCOL_INSTRUCTION = `You are an Artificer agent in a principle internalization pipeline. Your role is to transform the Scribe's formal principle draft into an implementation-oriented plan with concrete changes, tests, and rollout notes.
|
|
2
3
|
|
|
3
4
|
PROTOCOL:
|
|
4
5
|
1. Review the scribeArtifact to understand the formal principle draft
|
|
5
|
-
2. Transform the principle draft into an implementation plan
|
|
6
|
+
2. Transform the principle draft into an implementation plan and executable RuleHost code
|
|
6
7
|
3. Preserve the lineage trace from scribe, philosopher, and dreamer artifacts
|
|
7
8
|
4. Identify risks associated with implementing this principle
|
|
8
9
|
5. The implementation plan should be concrete enough to guide code changes, not just philosophical
|
|
@@ -25,6 +26,12 @@ OUTPUT FORMAT (pure JSON, no markdown):
|
|
|
25
26
|
"dreamerArtifactId": "<from scribe artifact if available, or omit>"
|
|
26
27
|
},
|
|
27
28
|
"risks": ["<risk 1>", "<risk 2>"],
|
|
29
|
+
"implementationCode": "function evaluate(input, helpers) { ... }",
|
|
30
|
+
"goldenTraceCases": [
|
|
31
|
+
{"caseId":"negative-1","kind":"negative","toolName":"write_file","params":{"path":"/system/file"},"expectedDecision":"block"},
|
|
32
|
+
{"caseId":"positive-1","kind":"positive","toolName":"write_file","params":{"path":"/workspace/file"},"expectedDecision":"allow"}
|
|
33
|
+
],
|
|
34
|
+
"affectedTools": ["write_file"],
|
|
28
35
|
"generatedAt": "<ISO-8601 timestamp>"
|
|
29
36
|
}
|
|
30
37
|
|
|
@@ -42,8 +49,19 @@ CONSTRAINTS:
|
|
|
42
49
|
- sourceTrace.dreamerArtifactId is optional — include only if available from scribe artifact
|
|
43
50
|
- risks MUST be an array of strings (can be empty if no risks identified)
|
|
44
51
|
- generatedAt MUST be the current ISO-8601 timestamp (use the actual current time, NOT a placeholder)
|
|
52
|
+
- implementationCode MUST define exactly function evaluate(input, helpers) and return { decision, matched, reason }
|
|
53
|
+
- input.action contains toolName, normalizedPath, and paramsSummary; inspect only these RuleHost inputs
|
|
54
|
+
- implementationCode MUST be deterministic and self-contained: no imports, require, eval, Function, I/O, network, timers, Date.now, or randomness
|
|
55
|
+
- goldenTraceCases MUST contain 2-10 cases with at least one positive allow case and one negative block/propose_correction case
|
|
56
|
+
- propose_correction cases MUST include expectedProposedParams and expectedApplicationMode (shadow or live)
|
|
57
|
+
- affectedTools MUST contain the non-empty tool names the rule can match
|
|
58
|
+
|
|
59
|
+
PRIOR ADVERSARIAL FAILURES (when \`adversarialFeedback\` is present):
|
|
60
|
+
- This is a RETRY. A prior version of your generated code was reviewed and failed adversarial sandbox replay.
|
|
61
|
+
- The \`adversarialFeedback\` field lists the specific cases that failed, each with the attack type, the expected vs actual decision, and a rationale.
|
|
62
|
+
- You MUST address each listed failure specifically — do not regenerate blind. Adjust the matcher/logic so the failed cases produce the expected decision while preserving the cases that previously passed.
|
|
45
63
|
`;
|
|
46
|
-
export const ARTIFICER_PROMPT_CONTRACT_VERSION = 'artificer-output-
|
|
64
|
+
export const ARTIFICER_PROMPT_CONTRACT_VERSION = 'artificer-output-v2.prompt.v1';
|
|
47
65
|
export class ArtificerPromptBuilder {
|
|
48
66
|
// eslint-disable-next-line @typescript-eslint/class-methods-use-this
|
|
49
67
|
buildPrompt(input) {
|
|
@@ -54,8 +72,13 @@ export class ArtificerPromptBuilder {
|
|
|
54
72
|
scribeArtifact: input.scribeArtifact,
|
|
55
73
|
artificerInstruction: ARTIFICER_PROTOCOL_INSTRUCTION,
|
|
56
74
|
promptContractVersion: ARTIFICER_PROMPT_CONTRACT_VERSION,
|
|
75
|
+
// Only include adversarialFeedback when present + non-empty, so
|
|
76
|
+
// Round-1 prompts stay backward-compatible (test asserts absence).
|
|
77
|
+
...(typeof input.adversarialFeedback === 'string' && input.adversarialFeedback.trim() !== ''
|
|
78
|
+
? { adversarialFeedback: input.adversarialFeedback }
|
|
79
|
+
: {}),
|
|
57
80
|
};
|
|
58
|
-
const message =
|
|
81
|
+
const message = serializePromptInput(promptInput);
|
|
59
82
|
return { message, promptInput };
|
|
60
83
|
}
|
|
61
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artificer-prompt-builder.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-prompt-builder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"artificer-prompt-builder.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-prompt-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AA+B9D,MAAM,CAAC,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6D7C,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAG,+BAA+B,CAAC;AAEjF,MAAM,OAAO,sBAAsB;IACjC,qEAAqE;IACrE,WAAW,CAAC,KAAkC;QAC5C,MAAM,WAAW,GAAyB;YACxC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;YACpD,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,oBAAoB,EAAE,8BAA8B;YACpD,qBAAqB,EAAE,iCAAiC;YACxD,gEAAgE;YAChE,mEAAmE;YACnE,GAAG,CAAC,OAAO,KAAK,CAAC,mBAAmB,KAAK,QAAQ,IAAI,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE;gBAC1F,CAAC,CAAC,EAAE,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAAE;gBACpD,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;QAEF,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAElD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAClC,CAAC;CACF"}
|
|
@@ -43,6 +43,13 @@ interface ArtificerContext {
|
|
|
43
43
|
readonly contextHash: string;
|
|
44
44
|
readonly scribeArtifact: string | null;
|
|
45
45
|
readonly sourceScribeArtifactId: string | null;
|
|
46
|
+
/**
|
|
47
|
+
* Prior adversarial replay failures (PRI-428). Non-null only on Round-2+
|
|
48
|
+
* retries inside runAdversarialLoop, read from the task's
|
|
49
|
+
* PITaskMetadata.adversarialFeedback. Forwarded to the prompt builder so the
|
|
50
|
+
* LLM can make targeted corrections.
|
|
51
|
+
*/
|
|
52
|
+
readonly adversarialFeedback: string | null;
|
|
46
53
|
}
|
|
47
54
|
export type ArtificerRunnerResultStatus = 'succeeded' | 'failed' | 'retried';
|
|
48
55
|
export interface ArtificerRunnerResult {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artificer-runner.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAkB,KAAK,eAAe,EAAqB,MAAM,wBAAwB,CAAC;AAIjG,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,0BAA0B,EAC3B,MAAM,gCAAgC,CAAC;AAIxC,uFAAuF;AACvF,UAAU,gBAAgB;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"artificer-runner.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,9 +43,16 @@ export class ArtificerRunner extends BasePeerRunner {
|
|
|
43
43
|
}
|
|
44
44
|
const piTask = hydratePITaskRecord(task);
|
|
45
45
|
const deps = piTask?.dependencyTaskIds ?? [];
|
|
46
|
+
// PRI-428: carry prior adversarial replay failures into the prompt when
|
|
47
|
+
// this is a Round-2+ retry. Validated as non-empty string by the metadata
|
|
48
|
+
// parser; null when absent (Round 1 / non-loop invocations).
|
|
49
|
+
const adversarialFeedback = typeof piTask?.adversarialFeedback === 'string'
|
|
50
|
+
&& piTask.adversarialFeedback.trim() !== ''
|
|
51
|
+
? piTask.adversarialFeedback
|
|
52
|
+
: null;
|
|
46
53
|
if (deps.length === 0) {
|
|
47
54
|
this.emitEvent('no_dependencies', taskId, {});
|
|
48
|
-
return { contextHash: 'empty', scribeArtifact: null, sourceScribeArtifactId: null };
|
|
55
|
+
return { contextHash: 'empty', scribeArtifact: null, sourceScribeArtifactId: null, adversarialFeedback };
|
|
49
56
|
}
|
|
50
57
|
for (const depId of deps) {
|
|
51
58
|
const depTask = await this.stateManager.getTask(depId);
|
|
@@ -74,11 +81,12 @@ export class ArtificerRunner extends BasePeerRunner {
|
|
|
74
81
|
contextHash: BasePeerRunner.hashContextRefs([artifactRef]),
|
|
75
82
|
scribeArtifact: firstArtifact.contentJson,
|
|
76
83
|
sourceScribeArtifactId: firstArtifact.artifactId,
|
|
84
|
+
adversarialFeedback,
|
|
77
85
|
};
|
|
78
86
|
}
|
|
79
87
|
}
|
|
80
88
|
this.emitEvent('no_scribe_artifact', taskId, {});
|
|
81
|
-
return { contextHash: 'empty', scribeArtifact: null, sourceScribeArtifactId: null };
|
|
89
|
+
return { contextHash: 'empty', scribeArtifact: null, sourceScribeArtifactId: null, adversarialFeedback };
|
|
82
90
|
}
|
|
83
91
|
async invokeRuntime(taskId, context) {
|
|
84
92
|
if (!context.scribeArtifact || !context.sourceScribeArtifactId) {
|
|
@@ -97,6 +105,7 @@ export class ArtificerRunner extends BasePeerRunner {
|
|
|
97
105
|
contextHash: context.contextHash,
|
|
98
106
|
scribeArtifact: scribeArtifactInput,
|
|
99
107
|
sourceScribeArtifactId: context.sourceScribeArtifactId,
|
|
108
|
+
adversarialFeedback: context.adversarialFeedback ?? undefined,
|
|
100
109
|
});
|
|
101
110
|
return this.runtimeAdapter.startRun({
|
|
102
111
|
agentSpec: { agentId: this.resolvedOptions.agentId, schemaVersion: 'v1' },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artificer-runner.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-runner.ts"],"names":[],"mappings":"AAqCA,OAAO,EAAE,cAAc,EAAwB,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"artificer-runner.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-runner.ts"],"names":[],"mappings":"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"}
|