create-principles-disciple 1.127.1 → 1.128.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/console/dist/server/config/pd-config-store.js +7 -2
- package/console/dist/server/models/HealthCheckModel.d.ts +4 -1
- package/console/dist/server/models/HealthCheckModel.js +6 -5
- package/console/dist/server/routes/update.js +8 -83
- package/console/dist/server/utils/installed-layout.d.ts +21 -0
- package/console/dist/server/utils/installed-layout.js +92 -0
- package/console/dist/server/utils/pd-backups.d.ts +9 -0
- package/console/dist/server/utils/pd-backups.js +5 -1
- package/console/dist/ui/pages/settings/UpdatePage.js +2 -1
- package/console/dist/web/assets/app.js +975 -824
- package/console/dist/web/index.html +4 -0
- package/core/dist/runtime-v2/activation/__tests__/production-gate-deps.test.js +69 -0
- package/core/dist/runtime-v2/activation/__tests__/production-gate-deps.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/production-gate-deps.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/production-gate-deps.js +13 -46
- package/core/dist/runtime-v2/activation/production-gate-deps.js.map +1 -1
- package/core/dist/runtime-v2/config/__tests__/pd-config-sparse-bootstrap.test.d.ts +2 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-sparse-bootstrap.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-sparse-bootstrap.test.js +143 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-sparse-bootstrap.test.js.map +1 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/installer-config-parity.test.js +44 -27
- package/core/dist/runtime-v2/feature-flags/__tests__/installer-config-parity.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/adversarial-feedback.test.js +9 -0
- package/core/dist/runtime-v2/internalization/__tests__/adversarial-feedback.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js +15 -5
- package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/context-resolution.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/context-resolution.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/context-resolution.test.js +377 -0
- package/core/dist/runtime-v2/internalization/__tests__/context-resolution.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-artificer-repair-replay.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-artificer-repair-replay.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-artificer-repair-replay.test.js +413 -0
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-artificer-repair-replay.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-gate-authority.test.js +136 -0
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-gate-authority.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike.test.js +8 -8
- package/core/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/repair-replay-resolver.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/repair-replay-resolver.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/repair-replay-resolver.test.js +340 -0
- package/core/dist/runtime-v2/internalization/__tests__/repair-replay-resolver.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.js +628 -0
- package/core/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/adversarial-feedback.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/adversarial-feedback.js +7 -1
- package/core/dist/runtime-v2/internalization/adversarial-feedback.js.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts +9 -2
- package/core/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-prompt-builder.js +19 -1
- package/core/dist/runtime-v2/internalization/artificer-prompt-builder.js.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-runner.d.ts +23 -0
- package/core/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-runner.js +184 -16
- package/core/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/context-manifests.d.ts +90 -17
- package/core/dist/runtime-v2/internalization/context-manifests.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/context-manifests.js +124 -27
- package/core/dist/runtime-v2/internalization/context-manifests.js.map +1 -1
- package/core/dist/runtime-v2/internalization/context-resolution.d.ts +189 -0
- package/core/dist/runtime-v2/internalization/context-resolution.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/context-resolution.js +317 -0
- package/core/dist/runtime-v2/internalization/context-resolution.js.map +1 -0
- package/core/dist/runtime-v2/internalization/evaluator-output.d.ts +18 -1
- package/core/dist/runtime-v2/internalization/evaluator-output.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/evaluator-output.js +12 -2
- package/core/dist/runtime-v2/internalization/evaluator-output.js.map +1 -1
- package/core/dist/runtime-v2/internalization/evaluator-runner.d.ts +32 -0
- package/core/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/evaluator-runner.js +171 -12
- package/core/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/refiner-sandbox-wrapper.d.ts +18 -1
- package/core/dist/runtime-v2/internalization/refiner-sandbox-wrapper.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/refiner-sandbox-wrapper.js +20 -0
- package/core/dist/runtime-v2/internalization/refiner-sandbox-wrapper.js.map +1 -1
- package/core/dist/runtime-v2/internalization/repair-replay-resolver.d.ts +112 -0
- package/core/dist/runtime-v2/internalization/repair-replay-resolver.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/repair-replay-resolver.js +332 -0
- package/core/dist/runtime-v2/internalization/repair-replay-resolver.js.map +1 -0
- package/core/dist/runtime-v2/runner/base-peer-runner.d.ts +62 -17
- package/core/dist/runtime-v2/runner/base-peer-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/runner/base-peer-runner.js +116 -10
- package/core/dist/runtime-v2/runner/base-peer-runner.js.map +1 -1
- package/core/dist/telemetry-event.d.ts +2 -2
- package/core/dist/telemetry-event.d.ts.map +1 -1
- package/core/dist/telemetry-event.js +61 -0
- package/core/dist/telemetry-event.js.map +1 -1
- package/core/package.json +1 -1
- package/dist/installer.d.ts.map +1 -1
- package/dist/installer.js +16 -12
- package/dist/installer.js.map +1 -1
- package/dist/mvp-config.d.ts +22 -15
- package/dist/mvp-config.d.ts.map +1 -1
- package/dist/mvp-config.js +48 -106
- package/dist/mvp-config.js.map +1 -1
- package/host-runtime/package.json +1 -1
- package/install-layout/package.json +7 -3
- package/package.json +1 -1
- package/pd-cli/dist/commands/console.d.ts +13 -0
- package/pd-cli/dist/commands/console.d.ts.map +1 -1
- package/pd-cli/dist/commands/console.js +104 -0
- package/pd-cli/dist/commands/console.js.map +1 -1
- package/pd-cli/dist/commands/runtime-init.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-init.js +8 -12
- package/pd-cli/dist/commands/runtime-init.js.map +1 -1
- package/pd-cli/dist/commands/runtime-internalization-run-once.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-internalization-run-once.js +7 -1
- package/pd-cli/dist/commands/runtime-internalization-run-once.js.map +1 -1
- package/pd-cli/package.json +1 -1
- package/plugin/dist/bundle.js +449 -437
- package/plugin/dist/governance-audit.js +141 -141
- package/plugin/dist/rulehost-evidence.js +153 -153
package/core/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-information-plane-runner.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +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,
|
|
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,CAmB/F"}
|
|
@@ -13,7 +13,13 @@ export function formatAdversarialFeedback(failedCases) {
|
|
|
13
13
|
const rationale = typeof fc.rationale === 'string' && fc.rationale.trim() !== ''
|
|
14
14
|
? fc.rationale
|
|
15
15
|
: '(no rationale provided)';
|
|
16
|
-
|
|
16
|
+
// PRI-634 PR-A (SPEC §14): actualDecision is present only when the rule
|
|
17
|
+
// really returned a decision. Absent → the failure is the errorType
|
|
18
|
+
// (throw/timeout), never a fabricated "undefined" decision.
|
|
19
|
+
const actual = fc.actualDecision !== undefined
|
|
20
|
+
? `got ${fc.actualDecision}`
|
|
21
|
+
: `error ${fc.errorType ?? 'unknown'}`;
|
|
22
|
+
return `- ${fc.caseId} [${fc.attackType}]: expected ${fc.expectedDecision}, ${actual} — ${rationale}`;
|
|
17
23
|
});
|
|
18
24
|
return `${HEADER}\n${lines.join('\n')}`;
|
|
19
25
|
}
|
|
@@ -1 +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,
|
|
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,wEAAwE;QACxE,oEAAoE;QACpE,4DAA4D;QAC5D,MAAM,MAAM,GAAG,EAAE,CAAC,cAAc,KAAK,SAAS;YAC5C,CAAC,CAAC,OAAO,EAAE,CAAC,cAAc,EAAE;YAC5B,CAAC,CAAC,SAAS,EAAE,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC;QACzC,OAAO,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,UAAU,eAAe,EAAE,CAAC,gBAAgB,KAAK,MAAM,MAAM,SAAS,EAAE,CAAC;IACxG,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC1C,CAAC"}
|
|
@@ -70,8 +70,15 @@ export interface ArtificerPromptBuildResult {
|
|
|
70
70
|
readonly message: string;
|
|
71
71
|
readonly promptInput: ArtificerPromptInput;
|
|
72
72
|
}
|
|
73
|
-
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 executable RuleHost code with a concise implementation summary, tests, and rollout notes.\n\nPROTOCOL:\n1. Review the scribeArtifact to understand the formal principle draft\n2. Transform the principle draft into executable RuleHost code and a brief implementation summary\n3. Preserve the lineage trace from scribe, philosopher, and dreamer artifacts\n4. Identify risks associated with implementing this principle\n5. The implementation summary should clearly describe what the code does and why\n\nOUTPUT FORMAT (pure JSON, no markdown):\n{\n \"taskId\": \"<from input>\",\n \"sourceScribeArtifactId\": \"<copy exactly from input.sourceScribeArtifactId>\",\n \"implementationSummary\": \"<concise summary of what the code does and the implementation approach>\",\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- implementationSummary MUST be a non-empty string describing what the code does and the implementation approach\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- EVERY return statement inside evaluate() MUST include ALL three fields: decision, matched, reason\n- Do NOT return partial objects \u2014 missing fields will fail sandbox validation and block activation\n- GOOD: return { decision: 'allow', matched: false, reason: 'path is within workspace, no risk' }\n- GOOD: return { decision: 'block', matched: true, reason: 'write to system path outside workspace' }\n- BAD: return { matched: false } \u2014 missing decision and reason, will be rejected\n- BAD: return { decision: 'allow', matched: true } \u2014 missing reason, will be rejected\n- input.action contains toolName, normalizedPath, and paramsSummary\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 case\n- goldenTraceCases expectedDecision MUST be only \"allow\" or \"block\" \u2014 do NOT emit \"propose_correction\", \"requireApproval\", or \"auto_correct\" (seed-user MVP only supports allow/block; all other action types are rejected by the schema validator)\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\nRULEHOST CAPABILITY BOUNDARY (PRI-508):\n- RuleHost evaluate(input) is a STATELESS single-call gate. It CANNOT track multi-step workflows (e.g., audit\u2192verify\u2192incremental) across invocations.\n- Translate the principle into a STATEFUL-CHECKABLE constraint that evaluate() CAN enforce per tool call: check whether the current tool call carries evidence of prior analysis (context markers, params encoding prior reads, explicit preconditions in the params).\n- Do NOT implement a path whitelist or a \"first call must be X\" ordering rule if the principle is about procedural discipline \u2014 the runtime cannot observe ordering across calls.\n- If the principle cannot be enforced per-call, encode the closest per-call proxy and document the gap in implementationSummary.\n\nREPAIR FEEDBACK (PRI-509, when `repairFeedback` is present):\n- This is a REPAIR RETRY. A prior attempt of your generated code was reviewed by the evaluator and returned needs_revision.\n- The `repairFeedback` field lists the evaluator's concerns and required changes from the prior attempt.\n- You MUST address each required change specifically \u2014 do not regenerate blind. Adjust the matcher/logic so the concerns are resolved while preserving the principle intent.\n- If a required change contradicts the principle intent (from scribeArtifact/dreamerContext), prefer the principle intent and document the conflict in implementationSummary.\n";
|
|
74
|
-
|
|
73
|
+
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 executable RuleHost code with a concise implementation summary, tests, and rollout notes.\n\nPROTOCOL:\n1. Review the scribeArtifact to understand the formal principle draft\n2. Transform the principle draft into executable RuleHost code and a brief implementation summary\n3. Preserve the lineage trace from scribe, philosopher, and dreamer artifacts\n4. Identify risks associated with implementing this principle\n5. The implementation summary should clearly describe what the code does and why\n\nOUTPUT FORMAT (pure JSON, no markdown):\n{\n \"taskId\": \"<from input>\",\n \"sourceScribeArtifactId\": \"<copy exactly from input.sourceScribeArtifactId>\",\n \"implementationSummary\": \"<concise summary of what the code does and the implementation approach>\",\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- implementationSummary MUST be a non-empty string describing what the code does and the implementation approach\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- EVERY return statement inside evaluate() MUST include ALL three fields: decision, matched, reason\n- Do NOT return partial objects \u2014 missing fields will fail sandbox validation and block activation\n- GOOD: return { decision: 'allow', matched: false, reason: 'path is within workspace, no risk' }\n- GOOD: return { decision: 'block', matched: true, reason: 'write to system path outside workspace' }\n- BAD: return { matched: false } \u2014 missing decision and reason, will be rejected\n- BAD: return { decision: 'allow', matched: true } \u2014 missing reason, will be rejected\n- input.action contains toolName, normalizedPath, and paramsSummary\n- input.action.paramsSummary is an OBJECT (a map of parameter names to values), NOT a string\n- NEVER call string methods on paramsSummary itself \u2014 paramsSummary.includes(...), paramsSummary.startsWith(...), paramsSummary.match(...) are always bugs and will crash with \"is not a function\"\n- To inspect a parameter, access its specific key (e.g. paramsSummary.path) and guard its type at runtime (typeof paramsSummary.path === 'string') before using it as a string\n- For path logic prefer input.action.normalizedPath (a normalized string) over reading raw params strings\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 case\n- goldenTraceCases expectedDecision MUST be only \"allow\" or \"block\" \u2014 do NOT emit \"propose_correction\", \"requireApproval\", or \"auto_correct\" (seed-user MVP only supports allow/block; all other action types are rejected by the schema validator)\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\nRULEHOST CAPABILITY BOUNDARY (PRI-508):\n- RuleHost evaluate(input) is a STATELESS single-call gate. It CANNOT track multi-step workflows (e.g., audit\u2192verify\u2192incremental) across invocations.\n- Translate the principle into a STATEFUL-CHECKABLE constraint that evaluate() CAN enforce per tool call: check whether the current tool call carries evidence of prior analysis (context markers, params encoding prior reads, explicit preconditions in the params).\n- Do NOT implement a path whitelist or a \"first call must be X\" ordering rule if the principle is about procedural discipline \u2014 the runtime cannot observe ordering across calls.\n- If the principle cannot be enforced per-call, encode the closest per-call proxy and document the gap in implementationSummary.\n\nREPAIR FEEDBACK (PRI-509, when `repairFeedback` is present):\n- This is a REPAIR RETRY. A prior attempt of your generated code was reviewed by the evaluator and returned needs_revision.\n- The `repairFeedback` field lists the evaluator's concerns and required changes from the prior attempt.\n- You MUST address each required change specifically \u2014 do not regenerate blind. Adjust the matcher/logic so the concerns are resolved while preserving the principle intent.\n- If a required change contradicts the principle intent (from scribeArtifact/dreamerContext), prefer the principle intent and document the conflict in implementationSummary.\n- When the repair feedback contains a \"Deterministic Replay Evidence\" block (resolved from the source evaluator artifact):\n - Each entry is a machine-verified failure: Case (id), Expected (decision), Actual (decision, only when your code really returned one), Error (sandbox error type), Message (bounded safe failure detail).\n - Fix EVERY listed deterministic failure so the case produces its Expected decision.\n - Preserve the behavior of cases that already passed \u2014 do not trade passing cases for failing ones.\n - Do NOT weaken safety constraints (e.g. drop risk-path blocks) just to make replay pass.\n - Respect the canonical RuleHostInput contract, including that paramsSummary is an object (see CONSTRAINTS).\n - Do NOT invent, guess, or fabricate evidence that is not listed \u2014 the list is the complete deterministic fact set (possibly truncated, as noted).\n";
|
|
74
|
+
/**
|
|
75
|
+
* PRI-634 PR-A: bumped v2 → v3. The prompt contract changed materially:
|
|
76
|
+
* (1) explicit paramsSummary-is-an-object contract with whole-object string
|
|
77
|
+
* method prohibition; (2) deterministic replay evidence block semantics in
|
|
78
|
+
* repair rounds (Case/Expected/Actual/Error/Message entries + fix/preserve/
|
|
79
|
+
* no-weakening/no-fabrication instructions).
|
|
80
|
+
*/
|
|
81
|
+
export declare const ARTIFICER_PROMPT_CONTRACT_VERSION = "artificer-output-v2.prompt.v3";
|
|
75
82
|
export declare class ArtificerPromptBuilder {
|
|
76
83
|
buildPrompt(input: ArtificerPromptBuilderInput): ArtificerPromptBuildResult;
|
|
77
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artificer-prompt-builder.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-prompt-builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;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;IAC7B;;;;OAIG;IACH,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,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;IAC7B,0EAA0E;IAC1E,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,iEAAiE;IACjE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;CAC5C;AAED,eAAO,MAAM,8BAA8B,
|
|
1
|
+
{"version":3,"file":"artificer-prompt-builder.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-prompt-builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;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;IAC7B;;;;OAIG;IACH,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,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;IAC7B,0EAA0E;IAC1E,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,iEAAiE;IACjE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;CAC5C;AAED,eAAO,MAAM,8BAA8B,kpOA8E1C,CAAC;AAoBF;;;;;;GAMG;AACH,eAAO,MAAM,iCAAiC,kCAAkC,CAAC;AAEjF,qBAAa,sBAAsB;IAEjC,WAAW,CAAC,KAAK,EAAE,2BAA2B,GAAG,0BAA0B,CAwC1E;CACF"}
|
|
@@ -46,6 +46,10 @@ CONSTRAINTS:
|
|
|
46
46
|
- BAD: return { matched: false } — missing decision and reason, will be rejected
|
|
47
47
|
- BAD: return { decision: 'allow', matched: true } — missing reason, will be rejected
|
|
48
48
|
- input.action contains toolName, normalizedPath, and paramsSummary
|
|
49
|
+
- input.action.paramsSummary is an OBJECT (a map of parameter names to values), NOT a string
|
|
50
|
+
- NEVER call string methods on paramsSummary itself — paramsSummary.includes(...), paramsSummary.startsWith(...), paramsSummary.match(...) are always bugs and will crash with "is not a function"
|
|
51
|
+
- To inspect a parameter, access its specific key (e.g. paramsSummary.path) and guard its type at runtime (typeof paramsSummary.path === 'string') before using it as a string
|
|
52
|
+
- For path logic prefer input.action.normalizedPath (a normalized string) over reading raw params strings
|
|
49
53
|
- implementationCode MUST be deterministic and self-contained: no imports, require, eval, Function, I/O, network, timers, Date.now, or randomness
|
|
50
54
|
- goldenTraceCases MUST contain 2-10 cases with at least one positive allow case and one negative block case
|
|
51
55
|
- goldenTraceCases expectedDecision MUST be only "allow" or "block" — do NOT emit "propose_correction", "requireApproval", or "auto_correct" (seed-user MVP only supports allow/block; all other action types are rejected by the schema validator)
|
|
@@ -67,6 +71,13 @@ REPAIR FEEDBACK (PRI-509, when \`repairFeedback\` is present):
|
|
|
67
71
|
- The \`repairFeedback\` field lists the evaluator's concerns and required changes from the prior attempt.
|
|
68
72
|
- You MUST address each required change specifically — do not regenerate blind. Adjust the matcher/logic so the concerns are resolved while preserving the principle intent.
|
|
69
73
|
- If a required change contradicts the principle intent (from scribeArtifact/dreamerContext), prefer the principle intent and document the conflict in implementationSummary.
|
|
74
|
+
- When the repair feedback contains a "Deterministic Replay Evidence" block (resolved from the source evaluator artifact):
|
|
75
|
+
- Each entry is a machine-verified failure: Case (id), Expected (decision), Actual (decision, only when your code really returned one), Error (sandbox error type), Message (bounded safe failure detail).
|
|
76
|
+
- Fix EVERY listed deterministic failure so the case produces its Expected decision.
|
|
77
|
+
- Preserve the behavior of cases that already passed — do not trade passing cases for failing ones.
|
|
78
|
+
- Do NOT weaken safety constraints (e.g. drop risk-path blocks) just to make replay pass.
|
|
79
|
+
- Respect the canonical RuleHostInput contract, including that paramsSummary is an object (see CONSTRAINTS).
|
|
80
|
+
- Do NOT invent, guess, or fabricate evidence that is not listed — the list is the complete deterministic fact set (possibly truncated, as noted).
|
|
70
81
|
`;
|
|
71
82
|
const V1_CONTEXT_INSTRUCTION = `
|
|
72
83
|
CONTEXT MODE: v1
|
|
@@ -84,7 +95,14 @@ CONTEXT MODE: v2 (Owner-labelled evidence is present)
|
|
|
84
95
|
- An empty or truncated history is insufficient evidence; do not infer "not done" from it.
|
|
85
96
|
- You MUST copy evidenceRefs exactly from the behaviorExamplePack into your output. Do not omit, reorder, or rewrite any evidenceRef string.
|
|
86
97
|
`;
|
|
87
|
-
|
|
98
|
+
/**
|
|
99
|
+
* PRI-634 PR-A: bumped v2 → v3. The prompt contract changed materially:
|
|
100
|
+
* (1) explicit paramsSummary-is-an-object contract with whole-object string
|
|
101
|
+
* method prohibition; (2) deterministic replay evidence block semantics in
|
|
102
|
+
* repair rounds (Case/Expected/Actual/Error/Message entries + fix/preserve/
|
|
103
|
+
* no-weakening/no-fabrication instructions).
|
|
104
|
+
*/
|
|
105
|
+
export const ARTIFICER_PROMPT_CONTRACT_VERSION = 'artificer-output-v2.prompt.v3';
|
|
88
106
|
export class ArtificerPromptBuilder {
|
|
89
107
|
// eslint-disable-next-line @typescript-eslint/class-methods-use-this
|
|
90
108
|
buildPrompt(input) {
|
|
@@ -1 +1 @@
|
|
|
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;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AA8EzE,MAAM,CAAC,MAAM,8BAA8B,GAAG
|
|
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;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AA8EzE,MAAM,CAAC,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8E7C,CAAC;AAEF,MAAM,sBAAsB,GAAG;;;;;CAK9B,CAAC;AAEF,MAAM,sBAAsB,GAAG;;;;;;;;;CAS9B,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,+BAA+B,CAAC;AAEjF,MAAM,OAAO,sBAAsB;IACjC,qEAAqE;IACrE,WAAW,CAAC,KAAkC;QAC5C,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,2BAA2B,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAC1E,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,iEAAiE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnH,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,oBAAoB,GAAG,8BAA8B;cACvD,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;QACnF,MAAM,WAAW,GAAyB;YACxC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,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;YACpB,qBAAqB,EAAE,iCAAiC;YACxD,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI,IAAI,KAAK,CAAC,mBAAmB,KAAK,SAAS;gBACvE,CAAC,CAAC,EAAE,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAAE;gBACpD,CAAC,CAAC,EAAE,CAAC;YACP,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;YACP,oEAAoE;YACpE,0EAA0E;YAC1E,GAAG,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvF,oEAAoE;YACpE,mEAAmE;YACnE,GAAG,CAAC,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE;gBAChF,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE;gBAC1C,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"}
|
|
@@ -37,7 +37,9 @@ import type { ArtificerRuleOutput, ArtificerValidator } from './artificer-output
|
|
|
37
37
|
import type { BehaviorExamplePack } from './behavior-example-pack.js';
|
|
38
38
|
import type { TaskRecord } from '../task-status.js';
|
|
39
39
|
import { type PDErrorCategory } from '../error-categories.js';
|
|
40
|
+
import { type RepairPayload } from './pitask-metadata.js';
|
|
40
41
|
import { type ArtificerDreamerContext } from './artificer-prompt-builder.js';
|
|
42
|
+
import { type RepairReplayContext } from './repair-replay-resolver.js';
|
|
41
43
|
import { BasePeerRunner } from '../runner/base-peer-runner.js';
|
|
42
44
|
import type { PeerRunnerOptions, PeerRunnerDeps, PeerRunnerResult, PeerRunnerValidationResult } from '../runner/peer-runner-types.js';
|
|
43
45
|
import type { EffectivePdConfig } from '../config/pd-config-types.js';
|
|
@@ -79,8 +81,29 @@ interface ArtificerContext {
|
|
|
79
81
|
* Loop state freshness (rc-7, EP-05): repairPayload.repairIteration is
|
|
80
82
|
* written at task creation time, never inferred at read. Each repair round
|
|
81
83
|
* reads the current evaluator's feedback — never a cached value.
|
|
84
|
+
*
|
|
85
|
+
* PR B: this is the NO-REPLAY base string (concerns + required changes).
|
|
86
|
+
* The deterministic replay evidence is carried separately by `replayContext`
|
|
87
|
+
* so the Shared Information Plane can choose its channel (design §26/§35):
|
|
88
|
+
* - manifest focused → `replay.*` fields carry it, base string is used;
|
|
89
|
+
* - flag off/fallback → the PR-A evidence block is appended here, because
|
|
90
|
+
* the replay evidence MUST survive the flag-off production path.
|
|
82
91
|
*/
|
|
83
92
|
readonly repairFeedback: string | null;
|
|
93
|
+
/**
|
|
94
|
+
* The current task's validated RepairPayload (PR B). Ephemeral — it is the
|
|
95
|
+
* already-durable task metadata, re-read here only so invokeRuntime can
|
|
96
|
+
* re-render the feedback string with the channel-appropriate replay block.
|
|
97
|
+
* It is never re-persisted and never gains `failedCases` (design §21).
|
|
98
|
+
*/
|
|
99
|
+
readonly repairPayload?: RepairPayload;
|
|
100
|
+
/**
|
|
101
|
+
* PR-A resolved deterministic replay evidence (PR B). Present only when this
|
|
102
|
+
* repair round's source replay ran and FAILED. Ephemeral: exists for this
|
|
103
|
+
* buildContext/invokeRuntime pair, never persisted, never a second fact store
|
|
104
|
+
* — the durable authority remains the source Evaluator artifact.
|
|
105
|
+
*/
|
|
106
|
+
readonly replayContext?: RepairReplayContext;
|
|
84
107
|
}
|
|
85
108
|
export type ArtificerRunnerResultStatus = 'succeeded' | 'failed' | 'retried';
|
|
86
109
|
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,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAkB,KAAK,eAAe,EAAqB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"artificer-runner.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,9 @@ import { PDRuntimeError, isPDErrorCategory } from '../error-categories.js';
|
|
|
2
2
|
import { computeFeatureFlagsFromConfig, isFeatureEnabled } from '../config/pd-config-feature-flags.js';
|
|
3
3
|
import { hydratePITaskRecord } from './pitask-metadata.js';
|
|
4
4
|
import { ArtificerPromptBuilder } from './artificer-prompt-builder.js';
|
|
5
|
-
import { ARTIFICER_MANIFEST } from './context-manifests.js';
|
|
5
|
+
import { ARTIFICER_MANIFEST, ARTIFICER_REPAIR_MANIFEST } from './context-manifests.js';
|
|
6
6
|
import { reconcileLineageEcho } from './peer-runner-contracts.js';
|
|
7
|
+
import { resolveRepairReplayContext, } from './repair-replay-resolver.js';
|
|
7
8
|
import { BasePeerRunner } from '../runner/base-peer-runner.js';
|
|
8
9
|
/**
|
|
9
10
|
* Layer 0 (design §6.1): artificer's edge predecessor is `scribe`, whose
|
|
@@ -166,6 +167,87 @@ async function resolveDreamerContext(params) {
|
|
|
166
167
|
return dreamerContext;
|
|
167
168
|
}
|
|
168
169
|
// ── PRI-509: Evaluator repair feedback formatting ───────────────────────────
|
|
170
|
+
/**
|
|
171
|
+
* PRI-634 PR-A: render the resolved deterministic replay evidence for the
|
|
172
|
+
* repair prompt. Each entry names the concrete caseId, the expected decision,
|
|
173
|
+
* the actual decision (only when the rule really produced one), the sandbox
|
|
174
|
+
* errorType, and a bounded safe message — never a bare "N failed" label.
|
|
175
|
+
*/
|
|
176
|
+
function formatReplayEvidenceBlock(context) {
|
|
177
|
+
const lines = [
|
|
178
|
+
`Deterministic Replay Evidence (resolved by reference from evaluator artifact ${context.sourceEvaluatorArtifactId}; total failed cases: ${context.failedCaseCount}):`,
|
|
179
|
+
];
|
|
180
|
+
for (const violation of context.globalViolations) {
|
|
181
|
+
lines.push(`- Global violation | ${violation}`);
|
|
182
|
+
}
|
|
183
|
+
if (context.globalViolationCount > context.globalViolations.length) {
|
|
184
|
+
lines.push(`- (global violations truncated: ${context.globalViolationCount} durable, showing ${context.globalViolations.length})`);
|
|
185
|
+
}
|
|
186
|
+
for (const failure of [...context.systemFailures, ...context.traceFailures]) {
|
|
187
|
+
const parts = [`Case: ${failure.caseId}`];
|
|
188
|
+
if (failure.expectedDecision !== undefined)
|
|
189
|
+
parts.push(`Expected: ${failure.expectedDecision}`);
|
|
190
|
+
if (failure.actualDecision !== undefined)
|
|
191
|
+
parts.push(`Actual: ${failure.actualDecision}`);
|
|
192
|
+
parts.push(`Error: ${failure.errorType}`);
|
|
193
|
+
if (failure.message !== undefined)
|
|
194
|
+
parts.push(`Message: ${failure.message}`);
|
|
195
|
+
lines.push(`- ${parts.join(' | ')}`);
|
|
196
|
+
}
|
|
197
|
+
if (context.truncated) {
|
|
198
|
+
const shown = context.systemFailures.length + context.traceFailures.length + context.globalViolations.length;
|
|
199
|
+
// `failedCaseCount` is the pre-selection durable total and ALREADY includes
|
|
200
|
+
// the forbidden-pattern entries that were partitioned into
|
|
201
|
+
// `globalViolations` — adding `globalViolationCount` would double-count
|
|
202
|
+
// them (P2 review finding, carried into PR B).
|
|
203
|
+
lines.push(`- (evidence truncated: ${context.failedCaseCount} durable entries, showing ${shown} stratified representatives)`);
|
|
204
|
+
}
|
|
205
|
+
return lines.join('\n');
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* PR B: expose the RepairPayload and the PR-A replay evidence as RELATED
|
|
209
|
+
* context sources (design §33). They are causal references — NOT ancestry — so
|
|
210
|
+
* nothing here reaches into `lineageArtifactIds`.
|
|
211
|
+
*
|
|
212
|
+
* The replay values come straight from the already-bounded
|
|
213
|
+
* `RepairReplayContext`: the information plane therefore inherits PR A's ≤16
|
|
214
|
+
* selection (`MAX_REPLAY_FAILURES_IN_REPAIR`) and never re-expands the durable
|
|
215
|
+
* `failedCases` array (design §43).
|
|
216
|
+
*/
|
|
217
|
+
function buildRepairRelatedSources(context) {
|
|
218
|
+
const sources = [];
|
|
219
|
+
const { replayContext, repairPayload } = context;
|
|
220
|
+
if (repairPayload !== undefined) {
|
|
221
|
+
sources.push({
|
|
222
|
+
namespace: 'repair',
|
|
223
|
+
summary: {
|
|
224
|
+
requiredChanges: repairPayload.requiredChanges,
|
|
225
|
+
concerns: repairPayload.concerns,
|
|
226
|
+
},
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
if (replayContext !== undefined) {
|
|
230
|
+
const failureTypes = new Set();
|
|
231
|
+
for (const failure of [...replayContext.systemFailures, ...replayContext.traceFailures]) {
|
|
232
|
+
failureTypes.add(failure.errorType);
|
|
233
|
+
}
|
|
234
|
+
sources.push({
|
|
235
|
+
namespace: 'replay',
|
|
236
|
+
summary: {
|
|
237
|
+
passed: replayContext.passed,
|
|
238
|
+
failedCaseCount: replayContext.failedCaseCount,
|
|
239
|
+
// Deterministic: sorted, so the same context always renders identically.
|
|
240
|
+
failureTypes: [...failureTypes].sort(),
|
|
241
|
+
},
|
|
242
|
+
raw: {
|
|
243
|
+
traceFailures: replayContext.traceFailures,
|
|
244
|
+
systemFailures: replayContext.systemFailures,
|
|
245
|
+
globalViolations: replayContext.globalViolations,
|
|
246
|
+
},
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
return sources;
|
|
250
|
+
}
|
|
169
251
|
/**
|
|
170
252
|
* Format a validated RepairPayload into a repairFeedback string for the
|
|
171
253
|
* artificer prompt. The format is PoC-validated (Campaign 1 R2):
|
|
@@ -189,8 +271,12 @@ async function resolveDreamerContext(params) {
|
|
|
189
271
|
* Loop state freshness (rc-7, EP-05): the caller passes the CURRENT task's
|
|
190
272
|
* repairPayload — never a cached or stale value. repairIteration tells the
|
|
191
273
|
* artificer which round it's in (1 = first repair, 2 = second repair).
|
|
274
|
+
*
|
|
275
|
+
* PRI-634 PR-A: when the caller resolved concrete replay evidence (read-only
|
|
276
|
+
* from the source Evaluator artifact), the evidence block REPLACES the old
|
|
277
|
+
* "(failed cases: N)" summary line — failure must increase information.
|
|
192
278
|
*/
|
|
193
|
-
function formatRepairFeedback(payload) {
|
|
279
|
+
function formatRepairFeedback(payload, replayEvidence) {
|
|
194
280
|
const concernsLines = payload.concerns.length > 0
|
|
195
281
|
? payload.concerns.map((c, i) => `${i + 1}. ${c}`).join('\n')
|
|
196
282
|
: '(none)';
|
|
@@ -200,9 +286,11 @@ function formatRepairFeedback(payload) {
|
|
|
200
286
|
// verdict stays needs_revision), but tells the Artificer what the
|
|
201
287
|
// deterministic gate did observe — failed cases are actionable signals.
|
|
202
288
|
const replayLines = payload.diagnosticReplay
|
|
203
|
-
?
|
|
204
|
-
|
|
205
|
-
|
|
289
|
+
? replayEvidence !== undefined
|
|
290
|
+
? [replayEvidence]
|
|
291
|
+
: [
|
|
292
|
+
`Deterministic adversarial replay: ${payload.diagnosticReplay.ran ? (payload.diagnosticReplay.passed ? 'PASSED' : 'FAILED') : 'not run'} (failed cases: ${payload.diagnosticReplay.failedCaseCount}). This is diagnostic evidence only — the evaluator verdict remains needs_revision.`,
|
|
293
|
+
]
|
|
206
294
|
: [];
|
|
207
295
|
return [
|
|
208
296
|
`Previous attempt scored ${payload.previousScore} (needs_revision).`,
|
|
@@ -354,9 +442,59 @@ export class ArtificerRunner extends BasePeerRunner {
|
|
|
354
442
|
// rc-7 (loop state freshness): repairPayload comes from the CURRENT task's
|
|
355
443
|
// diagnosticJson — never a cached or inferred value. repairIteration tells
|
|
356
444
|
// the artificer which round it's in.
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
445
|
+
//
|
|
446
|
+
// PRI-634 PR-A: when the diagnostic replay ran and FAILED, the concrete
|
|
447
|
+
// evidence is resolved BY REFERENCE from the source Evaluator artifact
|
|
448
|
+
// (read-only; no facts are copied into RepairPayload). If the durable
|
|
449
|
+
// evidence cannot be resolved, the repair round fails loud
|
|
450
|
+
// (repair_replay_evidence_unavailable) instead of consuming a blind LLM
|
|
451
|
+
// retry — failure must increase information (SPEC §27).
|
|
452
|
+
let repairFeedback = null;
|
|
453
|
+
let repairPayload;
|
|
454
|
+
let replayContext;
|
|
455
|
+
if (piTask?.repairPayload) {
|
|
456
|
+
const payload = piTask.repairPayload;
|
|
457
|
+
repairPayload = payload;
|
|
458
|
+
if (payload.diagnosticReplay?.ran === true && payload.diagnosticReplay.passed === false) {
|
|
459
|
+
const resolution = await resolveRepairReplayContext({
|
|
460
|
+
sourceEvaluatorTaskId: payload.sourceEvaluatorTaskId,
|
|
461
|
+
deps: {
|
|
462
|
+
artifactStore: this.artifactStore,
|
|
463
|
+
getTask: (tid) => this.stateManager.getTask(tid),
|
|
464
|
+
},
|
|
465
|
+
});
|
|
466
|
+
if (resolution.ok) {
|
|
467
|
+
// PR B: keep the resolved evidence object ephemeral on the context.
|
|
468
|
+
// The prompt channel is chosen in invokeRuntime (design §26).
|
|
469
|
+
replayContext = resolution.context;
|
|
470
|
+
this.emitEvent('repair_replay_evidence_resolved', taskId, {
|
|
471
|
+
sourceEvaluatorTaskId: payload.sourceEvaluatorTaskId,
|
|
472
|
+
sourceEvaluatorArtifactId: resolution.context.sourceEvaluatorArtifactId,
|
|
473
|
+
failedCaseCount: resolution.context.failedCaseCount,
|
|
474
|
+
truncated: resolution.context.truncated,
|
|
475
|
+
});
|
|
476
|
+
}
|
|
477
|
+
else {
|
|
478
|
+
this.emitEvent('repair_replay_evidence_unavailable', taskId, {
|
|
479
|
+
sourceEvaluatorTaskId: payload.sourceEvaluatorTaskId,
|
|
480
|
+
reason: resolution.reason,
|
|
481
|
+
detail: resolution.detail,
|
|
482
|
+
nextAction: 'verify_source_evaluator_artifact_durability_before_repair_retry',
|
|
483
|
+
});
|
|
484
|
+
throw new PDRuntimeError('input_invalid', `repair_replay_evidence_unavailable: diagnosticReplay reported FAILED (failed cases: ${payload.diagnosticReplay.failedCaseCount}) but the replay evidence could not be resolved from evaluator task ${payload.sourceEvaluatorTaskId} (${resolution.reason}: ${resolution.detail}). Refusing to consume a blind repair LLM round.`);
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
// Base string carries concerns + required changes only; the replay
|
|
488
|
+
// evidence is appended in invokeRuntime according to the chosen channel.
|
|
489
|
+
repairFeedback = formatRepairFeedback(payload);
|
|
490
|
+
}
|
|
491
|
+
// PR B: ephemeral repair/replay evidence for the Shared Information Plane.
|
|
492
|
+
// Both are read-only views of already-durable facts; neither is persisted
|
|
493
|
+
// here and neither widens RepairPayload (design §21/§28).
|
|
494
|
+
const repairEvidenceExtras = {
|
|
495
|
+
...(repairPayload !== undefined ? { repairPayload } : {}),
|
|
496
|
+
...(replayContext !== undefined ? { replayContext } : {}),
|
|
497
|
+
};
|
|
360
498
|
// P1-1 (外部复核): rollout needs_revision 路由到 artificer (code 渠道) 时,
|
|
361
499
|
// revisionFeedback 携带 reviewer requiredChanges — 与 repairPayload 同等
|
|
362
500
|
// 注入 prompt,避免"路由到 artificer 但反馈丢失"。rc-7: 从当前任务元数据读取。
|
|
@@ -365,7 +503,7 @@ export class ArtificerRunner extends BasePeerRunner {
|
|
|
365
503
|
: null;
|
|
366
504
|
if (deps.length === 0) {
|
|
367
505
|
this.emitEvent('no_dependencies', taskId, {});
|
|
368
|
-
return { contextHash: 'empty', scribeArtifact: null, sourceScribeArtifactId: null, adversarialFeedback, repairFeedback, revisionFeedback };
|
|
506
|
+
return { contextHash: 'empty', scribeArtifact: null, sourceScribeArtifactId: null, adversarialFeedback, repairFeedback, revisionFeedback, ...repairEvidenceExtras };
|
|
369
507
|
}
|
|
370
508
|
for (const depId of deps) {
|
|
371
509
|
const depTask = await this.stateManager.getTask(depId);
|
|
@@ -407,12 +545,13 @@ export class ArtificerRunner extends BasePeerRunner {
|
|
|
407
545
|
adversarialFeedback,
|
|
408
546
|
repairFeedback,
|
|
409
547
|
revisionFeedback,
|
|
548
|
+
...repairEvidenceExtras,
|
|
410
549
|
...(dreamerContext !== undefined ? { dreamerContext } : {}),
|
|
411
550
|
};
|
|
412
551
|
}
|
|
413
552
|
}
|
|
414
553
|
this.emitEvent('no_scribe_artifact', taskId, {});
|
|
415
|
-
return { contextHash: 'empty', scribeArtifact: null, sourceScribeArtifactId: null, adversarialFeedback, repairFeedback };
|
|
554
|
+
return { contextHash: 'empty', scribeArtifact: null, sourceScribeArtifactId: null, adversarialFeedback, repairFeedback, ...repairEvidenceExtras };
|
|
416
555
|
}
|
|
417
556
|
async invokeRuntime(taskId, context) {
|
|
418
557
|
if (!context.scribeArtifact || !context.sourceScribeArtifactId) {
|
|
@@ -425,17 +564,45 @@ export class ArtificerRunner extends BasePeerRunner {
|
|
|
425
564
|
catch {
|
|
426
565
|
scribeArtifactInput = context.scribeArtifact;
|
|
427
566
|
}
|
|
428
|
-
// Layer 1 (design §6.2/§6.3, task 5.9)
|
|
429
|
-
// against the
|
|
430
|
-
//
|
|
431
|
-
//
|
|
567
|
+
// Layer 1 (design §6.2/§6.3, task 5.9) + PR B Shared Information Plane:
|
|
568
|
+
// resolve the manifest against the scribe predecessor's summary envelope,
|
|
569
|
+
// the durable CandidateLineage ancestry (tier2 raw), and — for repair
|
|
570
|
+
// rounds — the related replay evidence. Focused → inject only the
|
|
571
|
+
// allocated fields; fallback/disabled → legacy full scribeArtifact (F13).
|
|
432
572
|
const scribePred = toScribePredecessor(context);
|
|
573
|
+
let replayViaManifest = false;
|
|
433
574
|
if (scribePred !== null) {
|
|
434
|
-
const
|
|
575
|
+
const isRepair = context.replayContext !== undefined;
|
|
576
|
+
const manifest = isRepair ? ARTIFICER_REPAIR_MANIFEST : ARTIFICER_MANIFEST;
|
|
577
|
+
const relatedSources = isRepair ? buildRepairRelatedSources(context) : undefined;
|
|
578
|
+
// Required-evidence gate (design §35/§43): on a repair round the replay
|
|
579
|
+
// evidence MUST reach the prompt. If the manifest budget cannot carry it,
|
|
580
|
+
// resolution falls back and the bounded PR-A string channel is used
|
|
581
|
+
// instead of injecting a thinner prompt. Normal artificer tier2 stays
|
|
582
|
+
// optional — `dreamerContext` (PRI-508, F2) is its safety net.
|
|
583
|
+
const resolved = await this.resolveContextInjectionAsync({
|
|
584
|
+
taskId,
|
|
585
|
+
manifest,
|
|
586
|
+
predecessorContentJson: scribePred.contentJson,
|
|
587
|
+
startArtifactId: context.sourceScribeArtifactId ?? undefined,
|
|
588
|
+
...(relatedSources !== undefined ? { relatedSources } : {}),
|
|
589
|
+
requiredPaths: isRepair ? [...ARTIFICER_REPAIR_MANIFEST.tier2] : [],
|
|
590
|
+
});
|
|
435
591
|
if (resolved.mode === 'focused') {
|
|
436
592
|
scribeArtifactInput = resolved.fields;
|
|
593
|
+
replayViaManifest = isRepair;
|
|
437
594
|
}
|
|
438
595
|
}
|
|
596
|
+
// PR B (design §26): pick the replay-evidence channel. When the manifest
|
|
597
|
+
// carried it, the base string keeps concerns + required changes only; when
|
|
598
|
+
// the flag is off (or the budget could not carry the evidence) the PR-A
|
|
599
|
+
// bounded evidence block is appended — exactly the pre-PR-B behavior, so
|
|
600
|
+
// the replay evidence never depends on a quiet flag being on.
|
|
601
|
+
let { repairFeedback } = context;
|
|
602
|
+
const { replayContext, repairPayload } = context;
|
|
603
|
+
if (replayContext !== undefined && repairPayload !== undefined && !replayViaManifest) {
|
|
604
|
+
repairFeedback = formatRepairFeedback(repairPayload, formatReplayEvidenceBlock(replayContext));
|
|
605
|
+
}
|
|
439
606
|
const builder = new ArtificerPromptBuilder();
|
|
440
607
|
const { message } = builder.buildPrompt({
|
|
441
608
|
contextMode: this.contextMode,
|
|
@@ -451,7 +618,8 @@ export class ArtificerRunner extends BasePeerRunner {
|
|
|
451
618
|
// PRI-509: forward evaluator repair feedback so artificer addresses each
|
|
452
619
|
// requiredChange instead of regenerating blind. Undefined when absent
|
|
453
620
|
// (prompt builder treats undefined as backward-compatible no-op).
|
|
454
|
-
|
|
621
|
+
// PR B: channel-resolved — see the block above.
|
|
622
|
+
repairFeedback: repairFeedback ?? undefined,
|
|
455
623
|
});
|
|
456
624
|
// P1-1: rollout revision feedback 注入 (与 scribe 同模式; repairFeedback
|
|
457
625
|
// 走 prompt builder 字段,revisionFeedback 是路由文本,直接附加)
|