create-principles-disciple 1.145.6 → 1.145.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/_release/product-identity.json +2 -2
  2. package/console/dist/server/models/CodexGovernanceHealthModel.d.ts +39 -2
  3. package/console/dist/server/models/CodexGovernanceHealthModel.js +228 -29
  4. package/core/dist/runtime-v2/adapter/artificer-l2-adapter.d.ts.map +1 -1
  5. package/core/dist/runtime-v2/adapter/artificer-l2-adapter.js +28 -9
  6. package/core/dist/runtime-v2/adapter/artificer-l2-adapter.js.map +1 -1
  7. package/core/dist/runtime-v2/adapter/l2-agent-loop-adapter.d.ts.map +1 -1
  8. package/core/dist/runtime-v2/adapter/l2-agent-loop-adapter.js +29 -9
  9. package/core/dist/runtime-v2/adapter/l2-agent-loop-adapter.js.map +1 -1
  10. package/core/dist/runtime-v2/adapter/pi-ai-runtime-adapter.d.ts +6 -0
  11. package/core/dist/runtime-v2/adapter/pi-ai-runtime-adapter.d.ts.map +1 -1
  12. package/core/dist/runtime-v2/adapter/pi-ai-runtime-adapter.js +105 -1
  13. package/core/dist/runtime-v2/adapter/pi-ai-runtime-adapter.js.map +1 -1
  14. package/core/dist/runtime-v2/index.d.ts +6 -2
  15. package/core/dist/runtime-v2/index.d.ts.map +1 -1
  16. package/core/dist/runtime-v2/index.js +3 -1
  17. package/core/dist/runtime-v2/index.js.map +1 -1
  18. package/core/dist/runtime-v2/internalization/artificer-intent-preflight.d.ts +154 -0
  19. package/core/dist/runtime-v2/internalization/artificer-intent-preflight.d.ts.map +1 -0
  20. package/core/dist/runtime-v2/internalization/artificer-intent-preflight.js +686 -0
  21. package/core/dist/runtime-v2/internalization/artificer-intent-preflight.js.map +1 -0
  22. package/core/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts +21 -3
  23. package/core/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts.map +1 -1
  24. package/core/dist/runtime-v2/internalization/artificer-prompt-builder.js +48 -5
  25. package/core/dist/runtime-v2/internalization/artificer-prompt-builder.js.map +1 -1
  26. package/core/dist/runtime-v2/internalization/artificer-runner.d.ts +17 -0
  27. package/core/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
  28. package/core/dist/runtime-v2/internalization/artificer-runner.js +45 -2
  29. package/core/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
  30. package/core/dist/runtime-v2/internalization/behavior-example-pack.d.ts +0 -19
  31. package/core/dist/runtime-v2/internalization/behavior-example-pack.d.ts.map +1 -1
  32. package/core/dist/runtime-v2/internalization/behavior-example-pack.js +31 -0
  33. package/core/dist/runtime-v2/internalization/behavior-example-pack.js.map +1 -1
  34. package/core/dist/runtime-v2/internalization/intent-contract.d.ts +31 -0
  35. package/core/dist/runtime-v2/internalization/intent-contract.d.ts.map +1 -1
  36. package/core/dist/runtime-v2/internalization/intent-contract.js +42 -0
  37. package/core/dist/runtime-v2/internalization/intent-contract.js.map +1 -1
  38. package/core/dist/runtime-v2/internalization/peer-runner-contracts.d.ts +14 -1
  39. package/core/dist/runtime-v2/internalization/peer-runner-contracts.d.ts.map +1 -1
  40. package/core/dist/runtime-v2/internalization/peer-runner-contracts.js.map +1 -1
  41. package/core/dist/runtime-v2/internalization/pitask-metadata.d.ts +64 -0
  42. package/core/dist/runtime-v2/internalization/pitask-metadata.d.ts.map +1 -1
  43. package/core/dist/runtime-v2/internalization/pitask-metadata.js +84 -0
  44. package/core/dist/runtime-v2/internalization/pitask-metadata.js.map +1 -1
  45. package/core/dist/runtime-v2/internalization/scribe-output.d.ts +13 -1
  46. package/core/dist/runtime-v2/internalization/scribe-output.d.ts.map +1 -1
  47. package/core/dist/runtime-v2/internalization/scribe-output.js +13 -1
  48. package/core/dist/runtime-v2/internalization/scribe-output.js.map +1 -1
  49. package/core/dist/runtime-v2/internalization/scribe-prompt-builder.d.ts +15 -1
  50. package/core/dist/runtime-v2/internalization/scribe-prompt-builder.d.ts.map +1 -1
  51. package/core/dist/runtime-v2/internalization/scribe-prompt-builder.js +29 -1
  52. package/core/dist/runtime-v2/internalization/scribe-prompt-builder.js.map +1 -1
  53. package/core/dist/runtime-v2/tools/agent-tool-contract.d.ts +2 -1
  54. package/core/dist/runtime-v2/tools/agent-tool-contract.d.ts.map +1 -1
  55. package/core/dist/runtime-v2/tools/agent-tool-contract.js +1 -1
  56. package/core/dist/runtime-v2/tools/agent-tool-contract.js.map +1 -1
  57. package/core/dist/runtime-v2/tools/artificer-l2-tool-contract.d.ts +1 -1
  58. package/core/dist/telemetry-event.d.ts +4 -2
  59. package/core/dist/telemetry-event.d.ts.map +1 -1
  60. package/core/dist/telemetry-event.js +12 -0
  61. package/core/dist/telemetry-event.js.map +1 -1
  62. package/core/package.json +3 -3
  63. package/host-runtime/dist/internalization-consumer-cycle.d.ts +10 -1
  64. package/host-runtime/dist/internalization-consumer-cycle.js +85 -4
  65. package/host-runtime/dist/production-rulehost-gate.js +40 -3
  66. package/host-runtime/package.json +1 -1
  67. package/package.json +1 -1
  68. package/plugin/dist/bundle.js +655 -781
  69. package/plugin/dist/openclaw.plugin.json +1 -1
  70. package/plugin/dist/rulehost-evidence.js +27 -27
  71. package/release-manager/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artificer-intent-preflight.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-intent-preflight.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { BehaviorExamplePack } from './behavior-example-pack.js';
2
2
  import type { LastValidatorErrors } from './pitask-metadata.js';
3
- import type { IntentContractV1 } from './intent-contract.js';
3
+ import type { IntentContractV1, ScribeExecutionConditionsV1 } from './intent-contract.js';
4
4
  import type { FormationCandidateProjection } from './formation-context.js';
5
5
  import type { ToolSemanticMappingV1, ToolSemanticRegistry } from './tool-semantic-registry.js';
6
6
  import type { OutputLanguage } from '../language-directive.js';
@@ -114,6 +114,14 @@ export interface ArtificerPromptBuilderInput {
114
114
  * (backward compatible).
115
115
  */
116
116
  intentContract?: IntentContractV1;
117
+ /**
118
+ * SPEC-RULECODE-QUALITY-001 A2: the scribe artifact's machine-readable
119
+ * execution conditions (validated at extraction). When present, the system
120
+ * prompt carries an INTENT EXECUTION CONDITIONS block naming each required
121
+ * trusted fact — the rule code must never encode a self-filled proxy for
122
+ * them. Undefined for scribe artifacts that predate the declaration.
123
+ */
124
+ executionConditions?: ScribeExecutionConditionsV1;
117
125
  /**
118
126
  * Owner's preferred language for implementation artifacts (PRI-714). When
119
127
  * provided, the artificer instruction carries a language directive so
@@ -161,6 +169,8 @@ export interface ArtificerPromptInput {
161
169
  * (backward compatible).
162
170
  */
163
171
  intentContract?: IntentContractV1;
172
+ /** SPEC-RULECODE-QUALITY-001 A2: scribe-declared trusted-fact obligations (validated; forwarded to the model). */
173
+ executionConditions?: ScribeExecutionConditionsV1;
164
174
  /** PRI-741: present only when a host semantic projection was resolved. */
165
175
  hostSemanticContext?: ArtificerHostSemanticContext;
166
176
  }
@@ -174,7 +184,7 @@ export interface ArtificerPromptBuildResult {
174
184
  */
175
185
  readonly systemPrompt: string;
176
186
  }
177
- 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\nOWNER INTENT CONTRACT (when `intentContract` is present \u2014 PRI-703):\n- `intentContract` is the Owner-intent anchor distilled from the real failure. Your rule exists to serve it.\n- implementationCode MUST operationalize `targetBehavior` and MUST NOT implement `forbiddenBehavior`.\n- If a repair/revision instruction (repairFeedback, revisionFeedback) contradicts the intentContract, the intentContract wins: implement the contract-faithful behavior and document the conflict in implementationSummary \u2014 do NOT silently satisfy the contradicting instruction.\n- Use `validationExpectation` as your self-check before emitting: would an evaluator observing that expectation accept this rule as faithful?\n\nOUTPUT FORMAT (pure JSON, no markdown):\n{\n \"taskId\": \"<from input>\",\n \"requiresContextVersion\": 2,\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 \"evidenceRefs\": [\"<copy exactly from the behaviorExamplePack evidenceRefs; every ref, in order>\"],\n \"risks\": [\"<risk 1>\", \"<risk 2>\"],\n \"implementationCode\": \"function evaluate(input, helpers) { if (input.action.canonicalKind === 'write' && typeof input.action.normalizedPath === 'string' && input.action.normalizedPath.startsWith('/system/')) { return { decision: 'block', matched: true, reason: 'write to system path' }; } return { decision: 'allow', matched: false, reason: 'no risk pattern' }; }\",\n \"goldenTraceCases\": [\n {\"caseId\":\"negative-1\",\"kind\":\"negative\",\"toolName\":\"write\",\"params\":{\"path\":\"/system/file\"},\"expectedDecision\":\"block\",\"ruleContext\":{\"version\":2,\"history\":{\"status\":\"available\",\"truncated\":false,\"calls\":[]},\"facts\":{\"priorReadOfTarget\":\"unknown\",\"readCount\":0,\"writeCount\":0,\"uniqueWritePathCount\":0,\"sameActionBlockCount\":null}}},\n {\"caseId\":\"positive-1\",\"kind\":\"positive\",\"toolName\":\"write\",\"params\":{\"path\":\"/workspace/file\"},\"expectedDecision\":\"allow\",\"ruleContext\":{\"version\":2,\"history\":{\"status\":\"available\",\"truncated\":false,\"calls\":[]},\"facts\":{\"priorReadOfTarget\":\"unknown\",\"readCount\":0,\"writeCount\":0,\"uniqueWritePathCount\":0,\"sameActionBlockCount\":null}}}\n ],\n \"affectedTools\": [\"write\"],\n \"generatedAt\": \"<ISO-8601 timestamp>\"\n}\nNOTE: the example above IS the full v2 contract \u2014 requiresContextVersion, evidenceRefs, and case-level ruleContext are REQUIRED fields (see the CONTEXT MODE block below), not optional extras. The caseIds and paths inside the example are PLACEHOLDERS: the real Owner-labelled caseIds are the ones carried by input.behaviorExamplePack and MUST be used verbatim (see CONTEXT MODE below).\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, paramsSummary, and canonicalKind\n- input.action.canonicalKind is the closed semantic kind of the current action: \"read\" | \"search\" | \"write\" | \"execute\" | \"agent\" | \"other\"\n- CANONICALKIND-FIRST MATCHING (PRI-741): match behavior PRIMARILY by input.action.canonicalKind (e.g. input.action.canonicalKind === 'write'); use input.action.toolName only as an auxiliary condition to distinguish tools within the same kind\n- When a HOST SEMANTIC CONTEXT block is present, affectedTools and EVERY goldenTraceCases toolName MUST be a real host tool name from that list \u2014 activation replay is machine-validated against the host declaration, and generic LLM vocabulary names (write_file, edit_file, bash, run_shell_command, delete_file, ...) are NOT real host tools and WILL be rejected\n- When NO HOST SEMANTIC CONTEXT block is present you have no authoritative host tool knowledge: match by canonicalKind and NEVER invent host-specific tool names\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- ADVERSARIAL GUARD CONTRACT: when your rule declares requiresContextVersion: 2, action-level safety still dominates the context \u2014 if helpers.isRiskPath() is true the decision MUST be block regardless of input.context; writes to well-known sensitive system locations (/etc/**, system configuration outside the governed workspace) must block even when context reports priorReadOfTarget === 'yes' (a context-provided read outside the workspace is untrusted signal, never authorization)\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 (see the HOST SEMANTIC CONTEXT / canonicalKind-first rules above)\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), and \u2014 when present \u2014 Input (the failed case's defining input: tool, params, context facts, authored case rationale).\n - Fix EVERY listed deterministic failure so the case produces its Expected decision.\n - When an entry carries an Input summary, reason from THAT input (which action, which context shape) \u2014 the caseId alone names neither the tool call nor the history facts that produced the mismatch, and hard-coding the literal path from one entry will fail every other shape of the same pattern.\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\nADVERSARIAL CASE VOCABULARY NOTE (apply whenever replay evidence or repair feedback mentions case ids):\n- Case ids such as \"v2-unavailable\", \"v2-truncated\", \"v2-alias\" (and any \"v2-*\" prefixed id) are INTERNAL EVALUATOR CASE NUMBERING \u2014 they describe which adversarial fixture was run, NOT a request to use context-version-2 features.\n- NEVER respond to a case id by declaring `requiresContextVersion`, adding case-level `ruleContext`, or changing `expectedDecision` to satisfy the case NAME. Case names are labels, not instructions.\n- Your output must ALWAYS satisfy the CONTEXT MODE block below (the v2 contract, appended after these constraints) regardless of which case ids appear in the feedback text.\n- The ONLY legal decisions are \"allow\" and \"block\"; the ONLY legal field set is the one in OUTPUT FORMAT above plus the v2 CONTEXT MODE obligations (requiresContextVersion: 2, case-level ruleContext, evidenceRefs). Any other field is a contract violation and WILL be rejected.\n\nPRIOR OUTPUT-CONTRACT REJECTIONS (when `priorValidatorErrors` is present):\n- Your previous attempt was rejected by the OUTPUT CONTRACT GATE (schema validation) \u2014 it never reached evaluation. The `priorValidatorErrors.errors` list contains the exact, verbatim rejection reasons.\n- The highest-priority fix is to make your JSON satisfy EVERY listed rejection reason. Re-read each error, map it to the OUTPUT FORMAT and CONTEXT MODE rules, and correct the exact fields it names.\n- These errors describe YOUR output's shape, not the principle and not the test cases \u2014 do not change the behavioral intent while fixing them.\n- After addressing every listed error, re-check the full OUTPUT FORMAT and CONTEXT MODE blocks once more before emitting.\n";
187
+ 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\nOWNER INTENT CONTRACT (when `intentContract` is present \u2014 PRI-703):\n- `intentContract` is the Owner-intent anchor distilled from the real failure. Your rule exists to serve it.\n- implementationCode MUST operationalize `targetBehavior` and MUST NOT implement `forbiddenBehavior`.\n- If a repair/revision instruction (repairFeedback, revisionFeedback) contradicts the intentContract, the intentContract wins: implement the contract-faithful behavior and document the conflict in implementationSummary \u2014 do NOT silently satisfy the contradicting instruction.\n- Use `validationExpectation` as your self-check before emitting: would an evaluator observing that expectation accept this rule as faithful?\n\nOUTPUT FORMAT (pure JSON, no markdown):\n{\n \"taskId\": \"<from input>\",\n \"requiresContextVersion\": 2,\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 \"evidenceRefs\": [\"<copy exactly from the behaviorExamplePack evidenceRefs; every ref, in order>\"],\n \"risks\": [\"<risk 1>\", \"<risk 2>\"],\n \"implementationCode\": \"function evaluate(input, helpers) { if (input.action.canonicalKind === 'write' && typeof input.action.normalizedPath === 'string' && input.action.normalizedPath.startsWith('/system/')) { return { decision: 'block', matched: true, reason: 'write to system path' }; } return { decision: 'allow', matched: false, reason: 'no risk pattern' }; }\",\n \"goldenTraceCases\": [\n {\"caseId\":\"negative-1\",\"kind\":\"negative\",\"toolName\":\"write\",\"params\":{\"path\":\"/system/file\"},\"expectedDecision\":\"block\",\"ruleContext\":{\"version\":2,\"history\":{\"status\":\"available\",\"truncated\":false,\"calls\":[]},\"facts\":{\"priorReadOfTarget\":\"unknown\",\"readCount\":0,\"writeCount\":0,\"uniqueWritePathCount\":0,\"sameActionBlockCount\":null}}},\n {\"caseId\":\"positive-1\",\"kind\":\"positive\",\"toolName\":\"write\",\"params\":{\"path\":\"/workspace/file\"},\"expectedDecision\":\"allow\",\"ruleContext\":{\"version\":2,\"history\":{\"status\":\"available\",\"truncated\":false,\"calls\":[]},\"facts\":{\"priorReadOfTarget\":\"unknown\",\"readCount\":0,\"writeCount\":0,\"uniqueWritePathCount\":0,\"sameActionBlockCount\":null}}}\n ],\n \"affectedTools\": [\"write\"],\n \"generatedAt\": \"<ISO-8601 timestamp>\"\n}\nNOTE: the example above IS the full v2 contract \u2014 requiresContextVersion, evidenceRefs, and case-level ruleContext are REQUIRED fields (see the CONTEXT MODE block below), not optional extras. The caseIds and paths inside the example are PLACEHOLDERS: the real Owner-labelled caseIds are the ones carried by input.behaviorExamplePack and MUST be used verbatim (see CONTEXT MODE below).\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, paramsSummary, and canonicalKind\n- input.action.canonicalKind is the closed semantic kind of the current action: \"read\" | \"search\" | \"write\" | \"execute\" | \"agent\" | \"other\"\n- CANONICALKIND-FIRST MATCHING (PRI-741): match behavior PRIMARILY by input.action.canonicalKind (e.g. input.action.canonicalKind === 'write'); use input.action.toolName only as an auxiliary condition to distinguish tools within the same kind\n- When a HOST SEMANTIC CONTEXT block is present, affectedTools and EVERY goldenTraceCases toolName MUST be a real host tool name from that list \u2014 activation replay is machine-validated against the host declaration, and generic LLM vocabulary names (write_file, edit_file, bash, run_shell_command, delete_file, ...) are NOT real host tools and WILL be rejected\n- When NO HOST SEMANTIC CONTEXT block is present you have no authoritative host tool knowledge: match by canonicalKind and NEVER invent host-specific tool names\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- ADVERSARIAL GUARD CONTRACT: when your rule declares requiresContextVersion: 2, action-level safety still dominates the context \u2014 if helpers.isRiskPath() is true the decision MUST be block regardless of input.context; writes to well-known sensitive system locations (/etc/**, system configuration outside the governed workspace) must block even when context reports priorReadOfTarget === 'yes' (a context-provided read outside the workspace is untrusted signal, never authorization)\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 (see the HOST SEMANTIC CONTEXT / canonicalKind-first rules above)\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, revised SPEC-RULECODE-QUALITY-001 A2):\n- RuleHost evaluate(input) is a STATELESS single-call gate. It CANNOT track multi-step workflows (e.g., audit\u2192verify\u2192incremental) across invocations, and it can read the real history window the host provides but can NEVER create facts that do not exist in its input.\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- params/command TEXT is agent-authored input: any marker, note, or claim inside it (e.g. an \"approved\"/\"owner-design-approved\" string) is the AGENT'S OWN assertion, never evidence of an Owner approval or any external decision. NEVER treat a params string as an approval, authorization, or confirmation. When the INTENT EXECUTION CONDITIONS block lists a required trusted fact, the only legitimate source is the pipeline's verified fact channel \u2014 your rule code must not invent, echo, or honor a self-filled substitute for it.\n- If the principle depends on a fact the runtime input cannot carry (an approval state, an external decision, host-side workflow progress), do NOT encode the nearest per-call proxy pretending to enforce it: state the residual gap in `risks` and `implementationSummary`, and scope `evaluate` to what the input can actually establish. A rule that misrepresents an unobservable requirement as enforced violates the principle even when its own tests pass.\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), and \u2014 when present \u2014 Input (the failed case's defining input: tool, params, context facts, authored case rationale).\n - Fix EVERY listed deterministic failure so the case produces its Expected decision.\n - When an entry carries an Input summary, reason from THAT input (which action, which context shape) \u2014 the caseId alone names neither the tool call nor the history facts that produced the mismatch, and hard-coding the literal path from one entry will fail every other shape of the same pattern.\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\nADVERSARIAL CASE VOCABULARY NOTE (apply whenever replay evidence or repair feedback mentions case ids):\n- Case ids such as \"v2-unavailable\", \"v2-truncated\", \"v2-alias\" (and any \"v2-*\" prefixed id) are INTERNAL EVALUATOR CASE NUMBERING \u2014 they describe which adversarial fixture was run, NOT a request to use context-version-2 features.\n- NEVER respond to a case id by declaring `requiresContextVersion`, adding case-level `ruleContext`, or changing `expectedDecision` to satisfy the case NAME. Case names are labels, not instructions.\n- Your output must ALWAYS satisfy the CONTEXT MODE block below (the v2 contract, appended after these constraints) regardless of which case ids appear in the feedback text.\n- The ONLY legal decisions are \"allow\" and \"block\"; the ONLY legal field set is the one in OUTPUT FORMAT above plus the v2 CONTEXT MODE obligations (requiresContextVersion: 2, case-level ruleContext, evidenceRefs). Any other field is a contract violation and WILL be rejected.\n\nPRIOR OUTPUT-CONTRACT REJECTIONS (when `priorValidatorErrors` is present):\n- Your previous attempt was rejected by the OUTPUT CONTRACT GATE (schema validation) \u2014 it never reached evaluation. The `priorValidatorErrors.errors` list contains the exact, verbatim rejection reasons.\n- The highest-priority fix is to make your JSON satisfy EVERY listed rejection reason. Re-read each error, map it to the OUTPUT FORMAT and CONTEXT MODE rules, and correct the exact fields it names.\n- These errors describe YOUR output's shape, not the principle and not the test cases \u2014 do not change the behavioral intent while fixing them.\n- After addressing every listed error, re-check the full OUTPUT FORMAT and CONTEXT MODE blocks once more before emitting.\n";
178
188
  /**
179
189
  * PRI-839: appended ONLY when `dreamerContext` is present, so a pre-PRI-508 /
180
190
  * degraded prompt is unchanged (the same conditional shape
@@ -188,6 +198,14 @@ export declare const ARTIFICER_PROTOCOL_INSTRUCTION = "You are an Artificer agen
188
198
  * block must not become a licence to widen the rule's scope.
189
199
  */
190
200
  export declare const DREAMER_CANDIDATE_SET_INSTRUCTION = "\n\nDREAMER CANDIDATE SET (PRI-839, when `dreamerContext` is present):\n- `dreamerContext.candidates` is a BOUNDED, priority-ranked set of the Dreamer's proposals for this formation \u2014 not only the first one.\n- `priorityRank` 1 is the Dreamer's highest-confidence, lowest-risk proposal by its own authored signals (`candidateIndex` is the order the Dreamer wrote them in). This ranking is a READING AID, not an authority: the scribe principle draft and the philosopher critique decide the intent.\n- `dreamerContext.differenceSummary` states factually how the proposals differ.\n- Use the alternatives to bound the rule correctly: a proposal's concrete failure mode and concrete better-decision are EVIDENCE for which concrete patterns your evaluate() must cover.\n- Do NOT widen the rule beyond the intent the scribeArtifact formalised, and do NOT merge mutually exclusive proposals into one matcher.\n- `dreamerContext.omittedCandidateCount` > 0 means further proposals existed but were dropped to stay within budget \u2014 note that in `risks` instead of guessing at them.";
201
+ /**
202
+ * SPEC-RULECODE-QUALITY-001 A2: renders the scribe-declared trusted-fact
203
+ * obligations into the system prompt. The facts' AVAILABILITY is governed by
204
+ * the pipeline (verified before this prompt was ever built — the intent
205
+ * preflight); the rule code's obligation is to never fabricate or honor a
206
+ * self-filled substitute for them. An empty requiredFacts renders no block.
207
+ */
208
+ export declare function buildIntentExecutionConditionsBlock(conditions: ScribeExecutionConditionsV1): string;
191
209
  /**
192
210
  * PRI-634 PR-A: bumped v2 → v3. The prompt contract changed materially:
193
211
  * (1) explicit paramsSummary-is-an-object contract with whole-object string
@@ -292,7 +310,7 @@ export declare const DREAMER_CANDIDATE_SET_INSTRUCTION = "\n\nDREAMER CANDIDATE
292
310
  * letting read counts stand in for them. Validator, templates, and oracle
293
311
  * UNCHANGED.
294
312
  */
295
- export declare const ARTIFICER_PROMPT_CONTRACT_VERSION = "artificer-output-v2.prompt.v12";
313
+ export declare const ARTIFICER_PROMPT_CONTRACT_VERSION = "artificer-output-v2.prompt.v13";
296
314
  /**
297
315
  * EP002-R4: the SINGLE bounded projection shared by the prompt AND the v2
298
316
  * echo-contract validation. The model can only copy what it saw, so the
@@ -1 +1 @@
1
- {"version":3,"file":"artificer-prompt-builder.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-prompt-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artificer-prompt-builder.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-prompt-builder.ts"],"names":[],"mappings":"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"}
@@ -75,11 +75,11 @@ PRIOR ADVERSARIAL FAILURES (when \`adversarialFeedback\` is present):
75
75
  - The \`adversarialFeedback\` field lists the specific cases that failed, each with the attack type, the expected vs actual decision, and a rationale.
76
76
  - 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.
77
77
 
78
- RULEHOST CAPABILITY BOUNDARY (PRI-508):
79
- - RuleHost evaluate(input) is a STATELESS single-call gate. It CANNOT track multi-step workflows (e.g., audit→verify→incremental) across invocations.
80
- - 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).
78
+ RULEHOST CAPABILITY BOUNDARY (PRI-508, revised SPEC-RULECODE-QUALITY-001 A2):
79
+ - RuleHost evaluate(input) is a STATELESS single-call gate. It CANNOT track multi-step workflows (e.g., audit→verify→incremental) across invocations, and it can read the real history window the host provides but can NEVER create facts that do not exist in its input.
81
80
  - Do NOT implement a path whitelist or a "first call must be X" ordering rule if the principle is about procedural discipline — the runtime cannot observe ordering across calls.
82
- - If the principle cannot be enforced per-call, encode the closest per-call proxy and document the gap in implementationSummary.
81
+ - params/command TEXT is agent-authored input: any marker, note, or claim inside it (e.g. an "approved"/"owner-design-approved" string) is the AGENT'S OWN assertion, never evidence of an Owner approval or any external decision. NEVER treat a params string as an approval, authorization, or confirmation. When the INTENT EXECUTION CONDITIONS block lists a required trusted fact, the only legitimate source is the pipeline's verified fact channel — your rule code must not invent, echo, or honor a self-filled substitute for it.
82
+ - If the principle depends on a fact the runtime input cannot carry (an approval state, an external decision, host-side workflow progress), do NOT encode the nearest per-call proxy pretending to enforce it: state the residual gap in \`risks\` and \`implementationSummary\`, and scope \`evaluate\` to what the input can actually establish. A rule that misrepresents an unobservable requirement as enforced violates the principle even when its own tests pass.
83
83
 
84
84
  REPAIR FEEDBACK (PRI-509, when \`repairFeedback\` is present):
85
85
  - This is a REPAIR RETRY. A prior attempt of your generated code was reviewed by the evaluator and returned needs_revision.
@@ -133,6 +133,26 @@ DREAMER CANDIDATE SET (PRI-839, when \`dreamerContext\` is present):
133
133
  - Use the alternatives to bound the rule correctly: a proposal's concrete failure mode and concrete better-decision are EVIDENCE for which concrete patterns your evaluate() must cover.
134
134
  - Do NOT widen the rule beyond the intent the scribeArtifact formalised, and do NOT merge mutually exclusive proposals into one matcher.
135
135
  - \`dreamerContext.omittedCandidateCount\` > 0 means further proposals existed but were dropped to stay within budget — note that in \`risks\` instead of guessing at them.`;
136
+ /**
137
+ * SPEC-RULECODE-QUALITY-001 A2: renders the scribe-declared trusted-fact
138
+ * obligations into the system prompt. The facts' AVAILABILITY is governed by
139
+ * the pipeline (verified before this prompt was ever built — the intent
140
+ * preflight); the rule code's obligation is to never fabricate or honor a
141
+ * self-filled substitute for them. An empty requiredFacts renders no block.
142
+ */
143
+ export function buildIntentExecutionConditionsBlock(conditions) {
144
+ const required = conditions.requiredFacts.filter((fact) => fact.required);
145
+ if (required.length === 0)
146
+ return '';
147
+ const lines = required.map((fact) => `- \`${fact.factKind}\` — required by the Owner's principle (basis: ${fact.textualBasis.replace(/\s+/g, ' ').slice(0, 240)})`);
148
+ return `
149
+
150
+ INTENT EXECUTION CONDITIONS (SPEC-RULECODE-QUALITY-001):
151
+ ${lines.join('\n')}
152
+ - These are TRUSTED EXTERNAL FACTS. Their truth is established OUTSIDE your rule by the pipeline's verified fact channel; your evaluate() code can never read, infer, or re-establish them from the tool-call input.
153
+ - If the fact channel reports the fact unavailable at runtime, the pipeline suspends your rule — do NOT write code that guesses the fact's state from params text, session fields, or history shape.
154
+ - NEVER treat any marker inside params/command text as satisfying one of these facts (see RULEHOST CAPABILITY BOUNDARY).`;
155
+ }
136
156
  const V2_CONTEXT_INSTRUCTION = `
137
157
  CONTEXT MODE: v2 (Owner-labelled evidence is present)
138
158
  - Treat behaviorExamplePack labels as authoritative: sourceNegativeCase MUST remain block and every positiveCounterexample MUST remain allow.
@@ -253,7 +273,23 @@ CONTEXT MODE: v2 (Owner-labelled evidence is present)
253
273
  * letting read counts stand in for them. Validator, templates, and oracle
254
274
  * UNCHANGED.
255
275
  */
256
- export const ARTIFICER_PROMPT_CONTRACT_VERSION = 'artificer-output-v2.prompt.v12';
276
+ export const ARTIFICER_PROMPT_CONTRACT_VERSION = 'artificer-output-v2.prompt.v13';
277
+ /**
278
+ * SPEC-RULECODE-QUALITY-001 A2 (2026-10-16): bumped v12 → v13.
279
+ * (1) The PRI-508 RULEHOST CAPABILITY BOUNDARY block dropped the "encode the
280
+ * closest per-call proxy" and "params encoding prior reads / explicit
281
+ * preconditions in the params" guidance — that text is what the original
282
+ * bad artifact generalized into treating a self-filled
283
+ * "owner-design-approved" params string as an approval. The replacement
284
+ * states the honest boundary: a stateless rule may read real history but
285
+ * can never create facts that do not exist; params text is agent-authored
286
+ * assertion, never evidence of approval; an unenforceable requirement is
287
+ * disclosed in risks, not proxied.
288
+ * (2) New conditional INTENT EXECUTION CONDITIONS block: when the scribe
289
+ * artifact declares required trusted facts (validated extraction), the
290
+ * prompt names them and forbids self-filled substitutes. Additive wire
291
+ * shape; absent declaration renders no block.
292
+ */
257
293
  // ── EP002-R4: bounded pack projection at the prompt boundary ─────────────────
258
294
  //
259
295
  // The persisted BehaviorExamplePack keeps full-fidelity raw tool-call payloads
@@ -390,6 +426,10 @@ export class ArtificerPromptBuilder {
390
426
  // PRI-839: candidate-set guidance (absent = no block, prompt unchanged
391
427
  // for formations without resolvable dreamer proposals).
392
428
  + (input.dreamerContext !== undefined ? DREAMER_CANDIDATE_SET_INSTRUCTION : '')
429
+ // SPEC-RULECODE-QUALITY-001 A2: trusted-fact obligations distilled by
430
+ // the scribe (absent = no block — legacy scribe artifacts never reach
431
+ // generation on the code channel; the intent preflight stops them).
432
+ + (input.executionConditions !== undefined ? buildIntentExecutionConditionsBlock(input.executionConditions) : '')
393
433
  // PRI-741: host semantic projection (absent = no block, prompt
394
434
  // unchanged for workspaces without a host declaration).
395
435
  + (input.hostSemanticContext !== undefined ? buildHostSemanticContextBlock(input.hostSemanticContext) : '')
@@ -426,6 +466,9 @@ export class ArtificerPromptBuilder {
426
466
  // PRI-703 Phase 1: only include intentContract when present (pre-contract
427
467
  // scribe artifacts), so prompts stay backward-compatible.
428
468
  ...(input.intentContract !== undefined ? { intentContract: input.intentContract } : {}),
469
+ // SPEC-RULECODE-QUALITY-001 A2: only include executionConditions when
470
+ // the scribe artifact declared them (validated at extraction).
471
+ ...(input.executionConditions !== undefined ? { executionConditions: input.executionConditions } : {}),
429
472
  // PRI-741: only include hostSemanticContext when present, so prompts
430
473
  // stay backward-compatible for host-neutral workspaces.
431
474
  ...(input.hostSemanticContext !== undefined ? { hostSemanticContext: input.hostSemanticContext } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"artificer-prompt-builder.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-prompt-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artificer-prompt-builder.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-prompt-builder.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,7 @@ 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
40
  import { type RepairPayload, type LastValidatorErrors } from './pitask-metadata.js';
41
+ import { type ArtificerTrustedFactsPort } from './artificer-intent-preflight.js';
41
42
  import { type ArtificerDreamerContext, type ArtificerHostSemanticContext } from './artificer-prompt-builder.js';
42
43
  export type { ArtificerHostSemanticContext };
43
44
  import { type RepairReplayContext } from './repair-replay-resolver.js';
@@ -49,6 +50,12 @@ interface ArtificerContext {
49
50
  readonly contextHash: string;
50
51
  readonly scribeArtifact: string | null;
51
52
  readonly sourceScribeArtifactId: string | null;
53
+ /**
54
+ * SPEC-RULECODE-QUALITY-001 A1 (R3): the scribe task's OWN dependency task
55
+ * ids — the walk list for the upstream (philosopher) intent material the
56
+ * defensive mirror must bind to. Empty when no scribe dependency resolved.
57
+ */
58
+ readonly scribeDependencyTaskIds: readonly string[];
52
59
  /**
53
60
  * Prior adversarial replay failures (PRI-428). Non-null only on Round-2+
54
61
  * retries inside runAdversarialLoop, read from the task's
@@ -169,6 +176,14 @@ export interface ArtificerRunnerDeps extends PeerRunnerDeps {
169
176
  * every channel.
170
177
  */
171
178
  readonly behaviorExamplePack?: BehaviorExamplePack;
179
+ /**
180
+ * SPEC-RULECODE-QUALITY-001 A1 (PRI-995): host trusted-facts port for the
181
+ * DEFENSIVE intent-basis guard (mirror of the consumer-cycle preflight, so
182
+ * direct run-once/CLI invocation cannot bypass the entry gate — Q20).
183
+ * Optional: absent + a scribe-declared required fact refuses generation
184
+ * loudly before any LLM call.
185
+ */
186
+ readonly trustedFacts?: ArtificerTrustedFactsPort;
172
187
  }
173
188
  /** Options for the ArtificerRunner. Adds effectiveConfig for feature flag
174
189
  * resolution (Issue 2: `artificer_output_retry`), mirroring the diagnostician
@@ -187,6 +202,8 @@ export interface ArtificerRunnerOptions extends PeerRunnerOptions {
187
202
  export declare class ArtificerRunner extends BasePeerRunner<ArtificerContext, ArtificerRuleOutput> {
188
203
  private readonly validator;
189
204
  private readonly behaviorExamplePack;
205
+ /** SPEC-RULECODE-QUALITY-001 A1: defensive intent-basis guard's trusted-facts port. */
206
+ private readonly trustedFacts;
190
207
  private readonly hostSemanticContext;
191
208
  constructor(deps: ArtificerRunnerDeps, options: ArtificerRunnerOptions);
192
209
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"artificer-runner.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artificer-runner.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-runner.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ import { PDRuntimeError, isPDErrorCategory } from '../error-categories.js';
3
3
  import { computeFeatureFlagsFromConfig, isFeatureEnabled } from '../config/pd-config-feature-flags.js';
4
4
  import { hydratePITaskRecord, parseLastValidatorErrors, isFreshForNextAttempt } from './pitask-metadata.js';
5
5
  import { extractIntentContract } from './intent-contract.js';
6
+ import { extractExecutionConditions } from './intent-contract.js';
7
+ import { assessIntentBasis, collectUpstreamNormalisedText } from './artificer-intent-preflight.js';
6
8
  import { ArtificerPromptBuilder, boundPackForPrompt } from './artificer-prompt-builder.js';
7
9
  import { projectDreamerProposals, summarizeCandidateDifferences } from './formation-context.js';
8
10
  import { reconcileLineageEcho } from './peer-runner-contracts.js';
@@ -299,6 +301,8 @@ function validateV2OutputContract(output, pack) {
299
301
  export class ArtificerRunner extends BasePeerRunner {
300
302
  validator;
301
303
  behaviorExamplePack;
304
+ /** SPEC-RULECODE-QUALITY-001 A1: defensive intent-basis guard's trusted-facts port. */
305
+ trustedFacts;
302
306
  hostSemanticContext;
303
307
  constructor(deps, options) {
304
308
  super(deps, options, {
@@ -312,6 +316,7 @@ export class ArtificerRunner extends BasePeerRunner {
312
316
  });
313
317
  this.validator = deps.validator;
314
318
  this.behaviorExamplePack = deps.behaviorExamplePack;
319
+ this.trustedFacts = deps.trustedFacts;
315
320
  this.hostSemanticContext = options.hostSemanticContext;
316
321
  }
317
322
  /**
@@ -471,7 +476,7 @@ export class ArtificerRunner extends BasePeerRunner {
471
476
  : null;
472
477
  if (deps.length === 0) {
473
478
  this.emitEvent('no_dependencies', taskId, {});
474
- return { contextHash: 'empty', scribeArtifact: null, sourceScribeArtifactId: null, adversarialFeedback, repairFeedback, revisionFeedback, channel, ...repairEvidenceExtras };
479
+ return { contextHash: 'empty', scribeArtifact: null, sourceScribeArtifactId: null, scribeDependencyTaskIds: [], adversarialFeedback, repairFeedback, revisionFeedback, channel, ...repairEvidenceExtras };
475
480
  }
476
481
  for (const depId of deps) {
477
482
  const depTask = await this.stateManager.getTask(depId);
@@ -521,6 +526,7 @@ export class ArtificerRunner extends BasePeerRunner {
521
526
  contextHash: BasePeerRunner.hashContextRefs(contextRefs),
522
527
  scribeArtifact: firstArtifact.contentJson,
523
528
  sourceScribeArtifactId: firstArtifact.artifactId,
529
+ scribeDependencyTaskIds: hydratePITaskRecord(depTask)?.dependencyTaskIds ?? [],
524
530
  adversarialFeedback,
525
531
  repairFeedback,
526
532
  revisionFeedback,
@@ -531,7 +537,7 @@ export class ArtificerRunner extends BasePeerRunner {
531
537
  }
532
538
  }
533
539
  this.emitEvent('no_scribe_artifact', taskId, {});
534
- return { contextHash: 'empty', scribeArtifact: null, sourceScribeArtifactId: null, adversarialFeedback, repairFeedback, channel, ...repairEvidenceExtras };
540
+ return { contextHash: 'empty', scribeArtifact: null, sourceScribeArtifactId: null, scribeDependencyTaskIds: [], adversarialFeedback, repairFeedback, channel, ...repairEvidenceExtras };
535
541
  }
536
542
  async invokeRuntime(taskId, context) {
537
543
  if (!context.scribeArtifact || !context.sourceScribeArtifactId) {
@@ -559,6 +565,12 @@ export class ArtificerRunner extends BasePeerRunner {
559
565
  // PRI-703 Phase 1: extract from the FULL scribe artifact (captured before
560
566
  // the focused-manifest narrowing — see the comment at the capture site).
561
567
  const intentContract = extractIntentContract(fullScribeArtifact);
568
+ // SPEC-RULECODE-QUALITY-001 A1: extracted here, consumed by the defensive
569
+ // intent guard AFTER the PRI-780/981 pack guards below — the older
570
+ // evidence contracts keep their diagnostic priority, so a task missing
571
+ // its pack still reports behavior_example_pack_missing, not the intent
572
+ // verdict (CI round 1: guard order flipped the stable marker).
573
+ const executionConditions = extractExecutionConditions(fullScribeArtifact);
562
574
  // PRI-780: v2-only generation for the RuleCode sub-chain. Task-driven
563
575
  // callers (consumer cycle, run-once) have no Owner-labelled pack channel;
564
576
  // a missing pack fails this attempt LOUD before any LLM call — never a
@@ -619,6 +631,33 @@ export class ArtificerRunner extends BasePeerRunner {
619
631
  });
620
632
  }
621
633
  }
634
+ // SPEC-RULECODE-QUALITY-001 A1 (Q20) — DEFENSIVE intent-basis guard:
635
+ // mirrors the consumer-cycle preflight so direct run-once/CLI invocation
636
+ // cannot bypass the entry gate. Re-derives from the CURRENT scribe
637
+ // artifact every attempt (a stored verification record is never a pass
638
+ // token, Q13); any stop verdict refuses generation LOUD, permanently
639
+ // (input_invalid), BEFORE any LLM call. The generator alone can never
640
+ // decide its own principle is exempt from its declared trusted facts.
641
+ // Runs AFTER the PRI-780/981 pack guards so those older contracts keep
642
+ // their stable diagnostic markers (CI round 1).
643
+ if (context.channel !== 'prompt') {
644
+ // R3: the defensive mirror binds the upstream material through the SAME
645
+ // shared resolver the entry gate uses — the mirror must agree with the
646
+ // gate, never be weaker.
647
+ const upstreamMaterial = await collectUpstreamNormalisedText((depId) => this.stateManager.getTask(depId), (sourceTaskId) => this.artifactStore.listBySourceTaskId(sourceTaskId), context.scribeDependencyTaskIds);
648
+ const assessment = assessIntentBasis({
649
+ scribeArtifact: { artifactId: context.sourceScribeArtifactId, contentJson: context.scribeArtifact },
650
+ upstreamMaterial,
651
+ ...(this.trustedFacts !== undefined ? { trustedFacts: this.trustedFacts } : {}),
652
+ taskId,
653
+ });
654
+ if (assessment.status !== 'executable') {
655
+ throw new PDRuntimeError('input_invalid', `intent_basis_unverified: ${assessment.reasonCode} — ${assessment.detail}`, {
656
+ reasonCode: assessment.reasonCode,
657
+ nextAction: `${assessment.nextAction} The task is terminal-failed; recover it via pd runtime recovery failed-tasks --confirm once the intent basis is repaired, then the consumer intent preflight re-verifies it.`,
658
+ });
659
+ }
660
+ }
622
661
  const builder = new ArtificerPromptBuilder();
623
662
  const { message, systemPrompt } = builder.buildPrompt({
624
663
  // PRI-982: the pack rides the prompt only when actually injected; a
@@ -648,6 +687,10 @@ export class ArtificerRunner extends BasePeerRunner {
648
687
  // generation anchors to the explicit intent. extract returns null for
649
688
  // pre-contract artifacts → undefined keeps the prompt unchanged.
650
689
  intentContract: intentContract ?? undefined,
690
+ // SPEC-RULECODE-QUALITY-001 A2: forward the machine-readable execution
691
+ // conditions so generation knows which trusted external facts the
692
+ // principle depends on (and never encodes a self-filled proxy for them).
693
+ ...(executionConditions.conditions !== null ? { executionConditions: executionConditions.conditions } : {}),
651
694
  // PRI-741: forward the host semantic projection so generation matches by
652
695
  // canonicalKind and host-dispatchable tool names (undefined = prompt
653
696
  // unchanged when no host declaration is available).