create-principles-disciple 1.141.0 → 1.142.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.
Files changed (62) hide show
  1. package/codex-adapter/dist/pd-hook.d.ts +1 -0
  2. package/codex-adapter/dist/pd-hook.js +24 -1
  3. package/codex-adapter/package.json +1 -1
  4. package/console/dist/server/config/pd-config-store.d.ts +5 -0
  5. package/console/dist/server/config/pd-config-store.js +25 -1
  6. package/core/dist/runtime-v2/__tests__/adversarial-loop.test.js +27 -3
  7. package/core/dist/runtime-v2/__tests__/adversarial-loop.test.js.map +1 -1
  8. package/core/dist/runtime-v2/__tests__/artificer-runner-vslice.test.js +73 -12
  9. package/core/dist/runtime-v2/__tests__/artificer-runner-vslice.test.js.map +1 -1
  10. package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js +5 -0
  11. package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js.map +1 -1
  12. package/core/dist/runtime-v2/feature-flags/__tests__/rulecode-context-v2-flag.test.js +11 -11
  13. package/core/dist/runtime-v2/feature-flags/__tests__/rulecode-context-v2-flag.test.js.map +1 -1
  14. package/core/dist/runtime-v2/feature-flags/feature-flag-contract.js +5 -5
  15. package/core/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
  16. package/core/dist/runtime-v2/feature-flags/feature-flag-lifecycle.js +6 -6
  17. package/core/dist/runtime-v2/feature-flags/feature-flag-lifecycle.js.map +1 -1
  18. package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.js +18 -27
  19. package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.js.map +1 -1
  20. package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js +40 -33
  21. package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js.map +1 -1
  22. package/core/dist/runtime-v2/internalization/__tests__/evaluator-artificer-repair-replay.test.js +22 -4
  23. package/core/dist/runtime-v2/internalization/__tests__/evaluator-artificer-repair-replay.test.js.map +1 -1
  24. package/core/dist/runtime-v2/internalization/__tests__/evaluator-chinese-feedback-contract.test.js +20 -4
  25. package/core/dist/runtime-v2/internalization/__tests__/evaluator-chinese-feedback-contract.test.js.map +1 -1
  26. package/core/dist/runtime-v2/internalization/__tests__/evaluator-out-of-scope-governance.test.js +20 -14
  27. package/core/dist/runtime-v2/internalization/__tests__/evaluator-out-of-scope-governance.test.js.map +1 -1
  28. package/core/dist/runtime-v2/internalization/__tests__/evolution-alignment-contract.test.js +17 -4
  29. package/core/dist/runtime-v2/internalization/__tests__/evolution-alignment-contract.test.js.map +1 -1
  30. package/core/dist/runtime-v2/internalization/__tests__/external-review-p0-regressions.test.js +24 -0
  31. package/core/dist/runtime-v2/internalization/__tests__/external-review-p0-regressions.test.js.map +1 -1
  32. package/core/dist/runtime-v2/internalization/__tests__/peer-prompt-language.test.js +18 -21
  33. package/core/dist/runtime-v2/internalization/__tests__/peer-prompt-language.test.js.map +1 -1
  34. package/core/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.js +19 -4
  35. package/core/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.js.map +1 -1
  36. package/core/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts +17 -6
  37. package/core/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts.map +1 -1
  38. package/core/dist/runtime-v2/internalization/artificer-prompt-builder.js +23 -22
  39. package/core/dist/runtime-v2/internalization/artificer-prompt-builder.js.map +1 -1
  40. package/core/dist/runtime-v2/internalization/artificer-runner.d.ts +6 -2
  41. package/core/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
  42. package/core/dist/runtime-v2/internalization/artificer-runner.js +19 -14
  43. package/core/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
  44. package/core/package.json +1 -1
  45. package/package.json +2 -2
  46. package/pd-cli/dist/commands/runtime-internalization-run-rulehost.d.ts.map +1 -1
  47. package/pd-cli/dist/commands/runtime-internalization-run-rulehost.js +42 -21
  48. package/pd-cli/dist/commands/runtime-internalization-run-rulehost.js.map +1 -1
  49. package/pd-cli/dist/services/pd-config-loader.d.ts +5 -0
  50. package/pd-cli/dist/services/pd-config-loader.d.ts.map +1 -1
  51. package/pd-cli/dist/services/pd-config-loader.js +25 -1
  52. package/pd-cli/dist/services/pd-config-loader.js.map +1 -1
  53. package/pd-cli/dist/services/rulehost-pipeline-runner.d.ts +5 -3
  54. package/pd-cli/dist/services/rulehost-pipeline-runner.d.ts.map +1 -1
  55. package/pd-cli/dist/services/rulehost-pipeline-runner.js +10 -1
  56. package/pd-cli/dist/services/rulehost-pipeline-runner.js.map +1 -1
  57. package/plugin/dist/bundle.js +140 -144
  58. package/plugin/dist/governance-audit.js +1 -1
  59. package/plugin/dist/rulehost-evidence.js +143 -143
  60. package/plugin/openclaw.plugin.json +1 -1
  61. package/plugin/package.json +1 -1
  62. package/release-manager/package.json +2 -2
@@ -5,5 +5,6 @@ export interface PdHookResult {
5
5
  exitCode: number;
6
6
  stderr: string[];
7
7
  }
8
+ export declare function annotateContextWarnings(warnings: readonly string[]): string[];
8
9
  export declare function processHookInvocation(rawStdin: string, _env?: EnvMap, cwd?: string): Promise<PdHookResult>;
9
10
  export {};
@@ -54,6 +54,26 @@ function diagnostic(reason, nextAction) {
54
54
  function errorMessage(error) {
55
55
  return error instanceof Error ? error.message.slice(0, MAX_DIAGNOSTIC) : 'unknown_error';
56
56
  }
57
+ /**
58
+ * PRI-780 Codex capability declaration (structured UNSUPPORTED — suspension
59
+ * semantics, revised after Codex review round 2 P1): the Codex host has no
60
+ * runtime context provider, and the "unavailable → allow" contract is
61
+ * generation-time prompt discipline, NOT a runtime-enforced invariant. Handing
62
+ * v2 rules a truthy unavailable-posture context would let a persisted rule
63
+ * evaluate context-blind and DENY tool calls that were previously suspended —
64
+ * a silent governance behavior change. Codex therefore passes NO context
65
+ * provider: the shared gate skips v2 rules with its structured
66
+ * `rule_context_v2_unavailable` warning, and this hook annotates that warning
67
+ * with the explicit host-unsupported reason before it reaches Codex stderr
68
+ * (see annotateContextWarnings — ticket option B: 明确 unsupported + 结构化
69
+ * warning, never a silent skip).
70
+ */
71
+ const CODEX_CONTEXT_UNSUPPORTED_NOTE = 'codex_runtime_context_unsupported: the Codex host provides no runtime context provider; v2 rules stay suspended on this host';
72
+ export function annotateContextWarnings(warnings) {
73
+ return warnings.map((warning) => warning.startsWith('rule_context_v2_unavailable')
74
+ ? `${warning}; ${CODEX_CONTEXT_UNSUPPORTED_NOTE}`
75
+ : warning);
76
+ }
57
77
  // Bounded governance-observation ingestion (Codex Governance Closure Slice
58
78
  // A) followed by the Slice B signal-admission pass (SPEC §12/§13): detection
59
79
  // → canonical pain → evidence promotion → one pending Diagnostician task.
@@ -163,8 +183,11 @@ export async function processHookInvocation(rawStdin, _env = process.env, cwd =
163
183
  hostKind: 'codex',
164
184
  toolSemantics: CODEX_TOOL_SEMANTICS,
165
185
  events: codexEventEmitter(path.join(resolution.workspaceDir, '.state')),
186
+ // PRI-780 (revised after Codex review round 2 P1): NO context provider —
187
+ // v2 rules stay SUSPENDED on Codex (never loaded context-blind). See
188
+ // annotateContextWarnings for the structured unsupported declaration.
166
189
  }).dispatch(event);
167
- const stderr = [...(result.warnings ?? []).slice(0, 16).map((warning) => diagnostic(warning, 'Inspect PD Workspace state and retry; the hook failed open.')), ...ingestionDiagnostics];
190
+ const stderr = [...annotateContextWarnings(result.warnings ?? []).slice(0, 16).map((warning) => diagnostic(warning, 'Inspect PD Workspace state and retry; the hook failed open.')), ...ingestionDiagnostics];
168
191
  return { stdout: adapter.encodeOutput(result, event.kind), exitCode: 0, stderr };
169
192
  }
170
193
  catch (error) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@principles/codex-adapter",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Codex CLI host adapter for Principles Disciple — implements HostAdapter interface for OpenAI Codex CLI's stdin/stdout JSON hook model (ADR-0020).",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -86,6 +86,11 @@ export declare function loadPdConfig(workspaceDir: string): ConfigLoadResult;
86
86
  * Compute feature flags from the loaded PD config (PRI-460).
87
87
  * Works with both ok and error results (uses defaults for errors).
88
88
  * Replaces the legacy `loadWorkspaceFeatureFlags` + `buildFeedbackChannelFlags` path.
89
+ *
90
+ * On a failed load, flags whose gate fail-closes on config errors are forced
91
+ * disabled with an observable warning — the registry default (ON for a
92
+ * graduated flag) must never be displayed as enforcing when the workspace
93
+ * config is unreadable.
89
94
  */
90
95
  export declare function computeFlagsFromLoadResult(result: ConfigLoadResult): FeatureFlagsResult;
91
96
  export declare function getConfigSummary(workspaceDir: string): {
@@ -212,14 +212,38 @@ export function loadPdConfig(workspaceDir) {
212
212
  };
213
213
  }
214
214
  // ── Feature Flags from Config ────────────────────────────────────────────────
215
+ /**
216
+ * Flags whose production gate FAILS CLOSED when the workspace config cannot
217
+ * be loaded: the gate cannot know the flag state, so the gated capability is
218
+ * suspended (OpenClaw `buildRuleContextIfEnabled` returns undefined context on
219
+ * config failure → v2 rules skip). Status derivation must mirror that posture
220
+ * or the Console would display "active" for rules that are actually not
221
+ * enforcing (PRI-780 review B3).
222
+ */
223
+ const CONFIG_FAILURE_FAIL_CLOSED_FLAGS = new Set(['rulecode_context_v2']);
215
224
  /**
216
225
  * Compute feature flags from the loaded PD config (PRI-460).
217
226
  * Works with both ok and error results (uses defaults for errors).
218
227
  * Replaces the legacy `loadWorkspaceFeatureFlags` + `buildFeedbackChannelFlags` path.
228
+ *
229
+ * On a failed load, flags whose gate fail-closes on config errors are forced
230
+ * disabled with an observable warning — the registry default (ON for a
231
+ * graduated flag) must never be displayed as enforcing when the workspace
232
+ * config is unreadable.
219
233
  */
220
234
  export function computeFlagsFromLoadResult(result) {
221
235
  const effective = result.ok ? result.effective : result.defaults;
222
- return computeFeatureFlagsFromConfig(effective);
236
+ const flags = computeFeatureFlagsFromConfig(effective);
237
+ if (!result.ok) {
238
+ for (const flagId of CONFIG_FAILURE_FAIL_CLOSED_FLAGS) {
239
+ const flag = flags.flags[flagId];
240
+ if (flag?.enabled) {
241
+ flags.flags[flagId] = { ...flag, enabled: false };
242
+ flags.warnings.push(`${flagId}: config load failed — flag displayed as disabled (fail-closed, matches the gate's config-failure suspension)`);
243
+ }
244
+ }
245
+ }
246
+ return flags;
223
247
  }
224
248
  // ── Get Redacted Summary ─────────────────────────────────────────────────────
225
249
  export function getConfigSummary(workspaceDir) {
@@ -109,14 +109,38 @@ function makeScribeArtifact() {
109
109
  updatedAt: new Date().toISOString(),
110
110
  };
111
111
  }
112
+ // PRI-780: v2-only generation — the loop harness carries a valid pack and
113
+ // v2-aligned outputs (case parity incl. ruleContext is machine-checked).
114
+ const LOOP_RULE_CONTEXT = {
115
+ version: 2,
116
+ history: { status: 'available', truncated: false, calls: [] },
117
+ facts: { priorReadOfTarget: 'unknown', readCount: 0, writeCount: 0, uniqueWritePathCount: 0, sameActionBlockCount: null },
118
+ };
119
+ const LOOP_TEST_PACK = {
120
+ sourceNegativeCase: {
121
+ caseId: 'neg-1', kind: 'negative', toolName: 'write_file',
122
+ params: { path: '/etc/passwd' }, expectedDecision: 'block',
123
+ ruleContext: LOOP_RULE_CONTEXT,
124
+ },
125
+ ownerDesiredOutcome: 'block system-path writes',
126
+ positiveCounterexamples: [{
127
+ caseId: 'pos-1', kind: 'positive', toolName: 'write_file',
128
+ params: { path: '/project/file.txt' }, expectedDecision: 'allow',
129
+ ruleContext: LOOP_RULE_CONTEXT,
130
+ }],
131
+ evidenceRefs: ['pain://loop-1'],
132
+ redactionNotes: [],
133
+ };
112
134
  function makeArtificerOutput(taskId) {
113
135
  return {
114
136
  taskId,
115
137
  sourceScribeArtifactId: 'pi-art-scribe-loop-001',
138
+ requiresContextVersion: 2,
139
+ evidenceRefs: ['pain://loop-1'],
116
140
  implementationCode: 'function evaluate(input, helpers) { return { decision: "block", matched: true, reason: "system path" }; }',
117
141
  goldenTraceCases: [
118
- { caseId: 'pos-1', kind: 'positive', toolName: 'write_file', params: { path: '/project/file.txt' }, expectedDecision: 'allow' },
119
- { caseId: 'neg-1', kind: 'negative', toolName: 'write_file', params: { path: '/etc/passwd' }, expectedDecision: 'block' },
142
+ { caseId: 'pos-1', kind: 'positive', toolName: 'write_file', params: { path: '/project/file.txt' }, expectedDecision: 'allow', ruleContext: LOOP_RULE_CONTEXT },
143
+ { caseId: 'neg-1', kind: 'negative', toolName: 'write_file', params: { path: '/etc/passwd' }, expectedDecision: 'block', ruleContext: LOOP_RULE_CONTEXT },
120
144
  ],
121
145
  affectedTools: ['write_file'],
122
146
  implementationSummary: 'Block system path writes',
@@ -192,7 +216,7 @@ async function makeHarness(opts = {}) {
192
216
  const eventEmitter = new StoreEventEmitter();
193
217
  const adapter = new FactoryAdapter();
194
218
  adapter.artifactStore = artifactStore;
195
- const artificerRunner = new ArtificerRunner({ stateManager, runtimeAdapter: adapter, eventEmitter, validator: new DefaultArtificerValidator(), artifactStore }, { owner: 'loop-test', runtimeKind: 'test-double', pollIntervalMs: 5, timeoutMs: 1000 });
219
+ const artificerRunner = new ArtificerRunner({ stateManager, runtimeAdapter: adapter, eventEmitter, validator: new DefaultArtificerValidator(), artifactStore, behaviorExamplePack: LOOP_TEST_PACK }, { owner: 'loop-test', runtimeKind: 'test-double', pollIntervalMs: 5, timeoutMs: 1000 });
196
220
  const evaluatorRunner = new EvaluatorRunner({ stateManager, runtimeAdapter: adapter, eventEmitter, validator: new DefaultEvaluatorValidator(), artifactStore }, { owner: 'loop-test', runtimeKind: 'test-double', pollIntervalMs: 5, timeoutMs: 1000, gateDeps: opts.gateDeps });
197
221
  await stateManager.createTask({
198
222
  taskId: SCRIBE_TASK_ID,
@@ -1 +1 @@
1
- {"version":3,"file":"adversarial-loop.test.js","sourceRoot":"","sources":["../../../src/runtime-v2/__tests__/adversarial-loop.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adversarial-loop.test.js","sourceRoot":"","sources":["../../../src/runtime-v2/__tests__/adversarial-loop.test.ts"],"names":[],"mappings":"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"}
@@ -46,14 +46,44 @@ function makeArtificerTask(overrides = {}) {
46
46
  ...overrides,
47
47
  };
48
48
  }
49
+ // PRI-780: v2 is the only generation contract — the runner-level fixtures
50
+ // carry a valid Owner-labelled pack and v2-aligned outputs.
51
+ const V2_RULE_CONTEXT = {
52
+ version: 2,
53
+ history: { status: 'available', truncated: false, calls: [] },
54
+ facts: { priorReadOfTarget: 'unknown', readCount: 0, writeCount: 0, uniqueWritePathCount: 0, sameActionBlockCount: null },
55
+ };
56
+ const V2_TEST_PACK = {
57
+ sourceNegativeCase: {
58
+ caseId: 'negative-1',
59
+ kind: 'negative',
60
+ toolName: 'write_file',
61
+ params: { path: '/etc/passwd' },
62
+ expectedDecision: 'block',
63
+ ruleContext: V2_RULE_CONTEXT,
64
+ },
65
+ ownerDesiredOutcome: 'block writes outside the workspace',
66
+ positiveCounterexamples: [{
67
+ caseId: 'positive-1',
68
+ kind: 'positive',
69
+ toolName: 'write_file',
70
+ params: { path: '/project/file.txt' },
71
+ expectedDecision: 'allow',
72
+ ruleContext: V2_RULE_CONTEXT,
73
+ }],
74
+ evidenceRefs: ['pain://1'],
75
+ redactionNotes: [],
76
+ };
49
77
  function makeArtificerOutput() {
50
78
  return {
51
79
  taskId: ARTIFICER_TASK_ID,
52
80
  sourceScribeArtifactId: 'pi-art-scribe-001-run-001',
81
+ requiresContextVersion: 2,
82
+ evidenceRefs: ['pain://1'],
53
83
  implementationCode: 'function evaluate(input, helpers) { return { decision: "allow", matched: false, reason: "ok" }; }',
54
84
  goldenTraceCases: [
55
- { caseId: 'positive-1', kind: 'positive', toolName: 'write_file', params: { path: '/project/file.txt' }, expectedDecision: 'allow' },
56
- { caseId: 'negative-1', kind: 'negative', toolName: 'write_file', params: { path: '/etc/passwd' }, expectedDecision: 'block' },
85
+ { caseId: 'positive-1', kind: 'positive', toolName: 'write_file', params: { path: '/project/file.txt' }, expectedDecision: 'allow', ruleContext: V2_RULE_CONTEXT },
86
+ { caseId: 'negative-1', kind: 'negative', toolName: 'write_file', params: { path: '/etc/passwd' }, expectedDecision: 'block', ruleContext: V2_RULE_CONTEXT },
57
87
  ],
58
88
  affectedTools: ['write_file'],
59
89
  implementationSummary: 'Add input validation to all async operations',
@@ -145,6 +175,7 @@ describe('ArtificerRunner (PRI-111)', () => {
145
175
  eventEmitter,
146
176
  validator,
147
177
  artifactStore,
178
+ behaviorExamplePack: V2_TEST_PACK,
148
179
  ...overrides,
149
180
  };
150
181
  }
@@ -253,6 +284,25 @@ describe('ArtificerRunner (PRI-111)', () => {
253
284
  expect(artifacts).toHaveLength(1);
254
285
  expect(artifacts[0]?.artifactKind).toBe('principle');
255
286
  });
287
+ it('PRI-780 B2: missing BehaviorExamplePack fails the attempt LOUD before any LLM call', async () => {
288
+ const store = new MemoryPIArtifactStore();
289
+ await store.upsertArtifact(makeScribeArtifact());
290
+ // Task-driven constructors (consumer cycle, run-once) have no pack channel:
291
+ // the runner must refuse at invokeRuntime (pre-LLM), never degrade to v1.
292
+ const deps = createMockDeps({ artifactStore: store, behaviorExamplePack: undefined });
293
+ const runner = new ArtificerRunner(deps, {
294
+ owner: 'test',
295
+ runtimeKind: 'artificer',
296
+ pollIntervalMs: 10,
297
+ timeoutMs: 1000,
298
+ });
299
+ const result = await runner.run(ARTIFICER_TASK_ID);
300
+ expect(result.status).toBe('failed');
301
+ expect(JSON.stringify(result)).toContain('behavior_example_pack_missing');
302
+ // Pre-LLM proof: the runtime adapter was never invoked — no token spend.
303
+ const { startRun } = deps.runtimeAdapter;
304
+ expect(startRun).not.toHaveBeenCalled();
305
+ });
256
306
  it('valid runtime output marks task succeeded', async () => {
257
307
  const store = new MemoryPIArtifactStore();
258
308
  await store.upsertArtifact(makeScribeArtifact());
@@ -367,7 +417,6 @@ describe('ArtificerRunner.validateOutput — v2 mode-error errorCategory (CodeRa
367
417
  eventEmitter: {},
368
418
  artifactStore: new MemoryPIArtifactStore(),
369
419
  validator: new DefaultArtificerValidator(),
370
- contextMode: 'v2',
371
420
  behaviorExamplePack: pack,
372
421
  };
373
422
  const runner = new ArtificerRunner(deps, {
@@ -376,9 +425,9 @@ describe('ArtificerRunner.validateOutput — v2 mode-error errorCategory (CodeRa
376
425
  pollIntervalMs: 10,
377
426
  timeoutMs: 1000,
378
427
  });
379
- // makeArtificerOutput() passes the base validator but lacks
380
- // requiresContextVersion: 2, so v2 mode validation fails.
381
- const output = makeArtificerOutput();
428
+ // PRI-780: the base validator passes, but an output that omits
429
+ // requiresContextVersion: 2 violates the v2-only contract.
430
+ const output = { ...makeArtificerOutput(), requiresContextVersion: undefined };
382
431
  const context = {
383
432
  contextHash: 'test-hash',
384
433
  scribeArtifact: null,
@@ -598,10 +647,12 @@ describe('ArtificerRunner integration: test-double captures sourceScribeArtifact
598
647
  payload: {
599
648
  taskId: ARTIFICER_TASK_ID,
600
649
  sourceScribeArtifactId: capturedSourceScribeArtifactId,
650
+ requiresContextVersion: 2,
651
+ evidenceRefs: ['pain://1'],
601
652
  implementationCode: 'function evaluate(input, helpers) { return { decision: "allow", matched: false, reason: "ok" }; }',
602
653
  goldenTraceCases: [
603
- { caseId: 'positive-1', kind: 'positive', toolName: 'write_file', params: { path: '/project/file.txt' }, expectedDecision: 'allow' },
604
- { caseId: 'negative-1', kind: 'negative', toolName: 'write_file', params: { path: '/etc/passwd' }, expectedDecision: 'block' },
654
+ { caseId: 'positive-1', kind: 'positive', toolName: 'write_file', params: { path: '/project/file.txt' }, expectedDecision: 'allow', ruleContext: V2_RULE_CONTEXT },
655
+ { caseId: 'negative-1', kind: 'negative', toolName: 'write_file', params: { path: '/etc/passwd' }, expectedDecision: 'block', ruleContext: V2_RULE_CONTEXT },
605
656
  ],
606
657
  affectedTools: ['write_file'],
607
658
  implementationSummary: 'Add input validation to all async operations',
@@ -647,6 +698,7 @@ describe('ArtificerRunner integration: test-double captures sourceScribeArtifact
647
698
  eventEmitter,
648
699
  validator: new DefaultArtificerValidator(),
649
700
  artifactStore,
701
+ behaviorExamplePack: V2_TEST_PACK,
650
702
  };
651
703
  const runner = new ArtificerRunner(deps, {
652
704
  owner: 'test-integration',
@@ -775,10 +827,12 @@ describe('PRI-508: ArtificerRunner.buildContext reads dreamer artifact via scrib
775
827
  return {
776
828
  taskId: ARTIFICER_TASK_ID_PRI508,
777
829
  sourceScribeArtifactId: SCRIBE_ART_ID,
830
+ requiresContextVersion: 2,
831
+ evidenceRefs: ['pain://1'],
778
832
  implementationCode: 'function evaluate(input, helpers) { return { decision: "allow", matched: false, reason: "ok" }; }',
779
833
  goldenTraceCases: [
780
- { caseId: 'positive-1', kind: 'positive', toolName: 'write_file', params: { path: '/workspace/file' }, expectedDecision: 'allow' },
781
- { caseId: 'negative-1', kind: 'negative', toolName: 'write_file', params: { path: '/etc/passwd' }, expectedDecision: 'block' },
834
+ { caseId: 'positive-1', kind: 'positive', toolName: 'write_file', params: { path: '/project/file.txt' }, expectedDecision: 'allow', ruleContext: V2_RULE_CONTEXT },
835
+ { caseId: 'negative-1', kind: 'negative', toolName: 'write_file', params: { path: '/etc/passwd' }, expectedDecision: 'block', ruleContext: V2_RULE_CONTEXT },
782
836
  ],
783
837
  affectedTools: ['write_file'],
784
838
  implementationSummary: 'Validate parent path before write',
@@ -838,6 +892,7 @@ describe('PRI-508: ArtificerRunner.buildContext reads dreamer artifact via scrib
838
892
  eventEmitter,
839
893
  artifactStore,
840
894
  validator,
895
+ behaviorExamplePack: V2_TEST_PACK,
841
896
  };
842
897
  const runner = new ArtificerRunner(deps, {
843
898
  owner: 'test',
@@ -925,6 +980,7 @@ describe('PRI-508: ArtificerRunner.buildContext reads dreamer artifact via scrib
925
980
  eventEmitter,
926
981
  artifactStore,
927
982
  validator,
983
+ behaviorExamplePack: V2_TEST_PACK,
928
984
  };
929
985
  const runner = new ArtificerRunner(deps, {
930
986
  owner: 'test',
@@ -981,6 +1037,7 @@ describe('PRI-508: ArtificerRunner.buildContext reads dreamer artifact via scrib
981
1037
  eventEmitter,
982
1038
  artifactStore,
983
1039
  validator,
1040
+ behaviorExamplePack: V2_TEST_PACK,
984
1041
  };
985
1042
  const runner = new ArtificerRunner(deps, {
986
1043
  owner: 'test',
@@ -1054,6 +1111,7 @@ describe('PRI-508: ArtificerRunner.buildContext reads dreamer artifact via scrib
1054
1111
  eventEmitter,
1055
1112
  artifactStore,
1056
1113
  validator,
1114
+ behaviorExamplePack: V2_TEST_PACK,
1057
1115
  };
1058
1116
  const runner = new ArtificerRunner(deps, {
1059
1117
  owner: 'test',
@@ -1336,10 +1394,12 @@ describe('PRI-509: ArtificerRunner.buildContext reads repairPayload → repairFe
1336
1394
  return {
1337
1395
  taskId: ARTIFICER_TASK_ID_PRI509,
1338
1396
  sourceScribeArtifactId: SCRIBE_ART_ID_PRI509,
1397
+ requiresContextVersion: 2,
1398
+ evidenceRefs: ['pain://1'],
1339
1399
  implementationCode: 'function evaluate(input, helpers) { return { decision: "allow", matched: false, reason: "ok" }; }',
1340
1400
  goldenTraceCases: [
1341
- { caseId: 'positive-1', kind: 'positive', toolName: 'write_file', params: { path: '/workspace/file' }, expectedDecision: 'allow' },
1342
- { caseId: 'negative-1', kind: 'negative', toolName: 'write_file', params: { path: '/etc/passwd' }, expectedDecision: 'block' },
1401
+ { caseId: 'positive-1', kind: 'positive', toolName: 'write_file', params: { path: '/project/file.txt' }, expectedDecision: 'allow', ruleContext: V2_RULE_CONTEXT },
1402
+ { caseId: 'negative-1', kind: 'negative', toolName: 'write_file', params: { path: '/etc/passwd' }, expectedDecision: 'block', ruleContext: V2_RULE_CONTEXT },
1343
1403
  ],
1344
1404
  affectedTools: ['write_file'],
1345
1405
  implementationSummary: 'Validate parent path before write',
@@ -1406,6 +1466,7 @@ describe('PRI-509: ArtificerRunner.buildContext reads repairPayload → repairFe
1406
1466
  eventEmitter,
1407
1467
  artifactStore: store,
1408
1468
  validator,
1469
+ behaviorExamplePack: V2_TEST_PACK,
1409
1470
  };
1410
1471
  const runner = new ArtificerRunner(deps, {
1411
1472
  owner: 'test',