@principles/core 1.282.2 → 1.284.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 (65) hide show
  1. package/dist/host/host-adapter.d.ts +20 -0
  2. package/dist/host/host-adapter.d.ts.map +1 -1
  3. package/dist/host/host-adapter.js.map +1 -1
  4. package/dist/host/index.d.ts +1 -1
  5. package/dist/host/index.d.ts.map +1 -1
  6. package/dist/host/index.js.map +1 -1
  7. package/dist/runtime-v2/__tests__/adversarial-loop.test.js +27 -3
  8. package/dist/runtime-v2/__tests__/adversarial-loop.test.js.map +1 -1
  9. package/dist/runtime-v2/__tests__/append-event-log-line.test.d.ts +2 -0
  10. package/dist/runtime-v2/__tests__/append-event-log-line.test.d.ts.map +1 -0
  11. package/dist/runtime-v2/__tests__/append-event-log-line.test.js +47 -0
  12. package/dist/runtime-v2/__tests__/append-event-log-line.test.js.map +1 -0
  13. package/dist/runtime-v2/__tests__/artificer-runner-vslice.test.js +73 -12
  14. package/dist/runtime-v2/__tests__/artificer-runner-vslice.test.js.map +1 -1
  15. package/dist/runtime-v2/__tests__/event-types-runid.test.d.ts +2 -0
  16. package/dist/runtime-v2/__tests__/event-types-runid.test.d.ts.map +1 -0
  17. package/dist/runtime-v2/__tests__/event-types-runid.test.js +28 -0
  18. package/dist/runtime-v2/__tests__/event-types-runid.test.js.map +1 -0
  19. package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js +5 -0
  20. package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js.map +1 -1
  21. package/dist/runtime-v2/feature-flags/__tests__/rulecode-context-v2-flag.test.js +11 -11
  22. package/dist/runtime-v2/feature-flags/__tests__/rulecode-context-v2-flag.test.js.map +1 -1
  23. package/dist/runtime-v2/feature-flags/feature-flag-contract.js +5 -5
  24. package/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
  25. package/dist/runtime-v2/feature-flags/feature-flag-lifecycle.js +6 -6
  26. package/dist/runtime-v2/feature-flags/feature-flag-lifecycle.js.map +1 -1
  27. package/dist/runtime-v2/index.d.ts +1 -1
  28. package/dist/runtime-v2/index.d.ts.map +1 -1
  29. package/dist/runtime-v2/index.js +1 -1
  30. package/dist/runtime-v2/index.js.map +1 -1
  31. package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.js +18 -27
  32. package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.js.map +1 -1
  33. package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js +40 -33
  34. package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js.map +1 -1
  35. package/dist/runtime-v2/internalization/__tests__/evaluator-artificer-repair-replay.test.js +22 -4
  36. package/dist/runtime-v2/internalization/__tests__/evaluator-artificer-repair-replay.test.js.map +1 -1
  37. package/dist/runtime-v2/internalization/__tests__/evaluator-chinese-feedback-contract.test.js +20 -4
  38. package/dist/runtime-v2/internalization/__tests__/evaluator-chinese-feedback-contract.test.js.map +1 -1
  39. package/dist/runtime-v2/internalization/__tests__/evaluator-out-of-scope-governance.test.js +20 -14
  40. package/dist/runtime-v2/internalization/__tests__/evaluator-out-of-scope-governance.test.js.map +1 -1
  41. package/dist/runtime-v2/internalization/__tests__/evolution-alignment-contract.test.js +17 -4
  42. package/dist/runtime-v2/internalization/__tests__/evolution-alignment-contract.test.js.map +1 -1
  43. package/dist/runtime-v2/internalization/__tests__/external-review-p0-regressions.test.js +24 -0
  44. package/dist/runtime-v2/internalization/__tests__/external-review-p0-regressions.test.js.map +1 -1
  45. package/dist/runtime-v2/internalization/__tests__/peer-prompt-language.test.js +18 -21
  46. package/dist/runtime-v2/internalization/__tests__/peer-prompt-language.test.js.map +1 -1
  47. package/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.js +19 -4
  48. package/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.js.map +1 -1
  49. package/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts +17 -6
  50. package/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts.map +1 -1
  51. package/dist/runtime-v2/internalization/artificer-prompt-builder.js +23 -22
  52. package/dist/runtime-v2/internalization/artificer-prompt-builder.js.map +1 -1
  53. package/dist/runtime-v2/internalization/artificer-runner.d.ts +6 -2
  54. package/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
  55. package/dist/runtime-v2/internalization/artificer-runner.js +19 -14
  56. package/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
  57. package/dist/runtime-v2/pain-signal-observability.d.ts +13 -0
  58. package/dist/runtime-v2/pain-signal-observability.d.ts.map +1 -1
  59. package/dist/runtime-v2/pain-signal-observability.js +17 -0
  60. package/dist/runtime-v2/pain-signal-observability.js.map +1 -1
  61. package/dist/runtime-v2/types/event-types.d.ts +9 -0
  62. package/dist/runtime-v2/types/event-types.d.ts.map +1 -1
  63. package/dist/runtime-v2/types/event-types.js +3 -0
  64. package/dist/runtime-v2/types/event-types.js.map +1 -1
  65. package/package.json +1 -1
@@ -21,6 +21,7 @@
21
21
  * - rc-3-fail-loud-missing: decoders must fail loud on missing required fields.
22
22
  * - rc-6-lineage-consistency: source/sessionId/turnId must come from the same raw payload.
23
23
  */
24
+ import type { RuntimeV2PromptActivationsInjectedEventData, ToolCallEventData } from '../runtime-v2/types/event-types.js';
24
25
  /**
25
26
  * The normalized set of hook event kinds PD subscribes to across all hosts.
26
27
  *
@@ -52,6 +53,12 @@ export interface HostEventContext {
52
53
  readonly turnId?: string;
53
54
  /** Tool name for tool-call events (before_tool_call / after_tool_call). */
54
55
  readonly toolName?: string;
56
+ /**
57
+ * PRI-750: host tool-call id for tool events (Codex `tool_use_id`;
58
+ * OpenClaw shared path supplies `toolCallId`). Undefined when the host
59
+ * does not provide one. Lineage-consistent with `sessionId`/`turnId` (rc-6).
60
+ */
61
+ readonly toolCallId?: string;
55
62
  /** Raw tool input for before_tool_call (untrusted — rc-1). */
56
63
  readonly toolInput?: unknown;
57
64
  /** Raw tool output for after_tool_call (untrusted — rc-1). */
@@ -131,6 +138,19 @@ export interface HostEventResult {
131
138
  * The adapter does NOT own business logic (pain detection, principle injection,
132
139
  * gate enforcement). That logic consumes HostEvent and produces HostEventResult.
133
140
  */
141
+ /**
142
+ * Host-agnostic event emission port for the shared host-runtime path.
143
+ *
144
+ * PRI-750: the Codex host adapter wires this with the single EventLog writer
145
+ * so shared-path host events carry the natural turn/tool ids
146
+ * (`HostEventContext.turnId` / `toolCallId`) and join DIRECTly to
147
+ * `assistant_turns.run_id`. Optional: when absent the shared path stays
148
+ * silent (the OpenClaw plugin path owns its own EventLog emission).
149
+ */
150
+ export interface HostEventEmitter {
151
+ recordRuntimeV2ActivationsInjected(data: RuntimeV2PromptActivationsInjectedEventData): void;
152
+ recordToolCall(sessionId: string | undefined, data: ToolCallEventData): void;
153
+ }
134
154
  export interface HostAdapter {
135
155
  /** Stable host identifier, e.g. 'codex', 'openclaw'. */
136
156
  readonly hostId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"host-adapter.d.ts","sourceRoot":"","sources":["../../src/host/host-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host-adapter.d.ts","sourceRoot":"","sources":["../../src/host/host-adapter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"host-adapter.js","sourceRoot":"","sources":["../../src/host/host-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAkBH,MAAM,CAAC,MAAM,gBAAgB,GAA6B;IACxD,kBAAkB;IAClB,iBAAiB;IACjB,qBAAqB;IACrB,eAAe;IACf,eAAe;IACf,aAAa;CACL,CAAC;AAqJX,gFAAgF;AAChF;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAQ,gBAAsC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,CAAC;AAC5F,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,OAAO,CACL,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ;QACpC,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,CAClC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,OAAO,CACL,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;QACzB,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC;QAC/B,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;QAC9B,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,CACjC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;IAClH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QACjI,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CACL,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC5B,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAC/B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"host-adapter.js","sourceRoot":"","sources":["../../src/host/host-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAuBH,MAAM,CAAC,MAAM,gBAAgB,GAA6B;IACxD,kBAAkB;IAClB,iBAAiB;IACjB,qBAAqB;IACrB,eAAe;IACf,eAAe;IACf,aAAa;CACL,CAAC;AA0KX,gFAAgF;AAChF;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAQ,gBAAsC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,CAAC;AAC5F,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,OAAO,CACL,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ;QACpC,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,CAClC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,OAAO,CACL,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;QACzB,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC;QAC/B,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;QAC9B,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,CACjC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;IAClH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QACjI,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CACL,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC5B,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAC/B,CAAC;AACJ,CAAC"}
@@ -7,7 +7,7 @@
7
7
  * - HostAdapter: runtime hook event decode/encode (in-process vs subprocess).
8
8
  * - HostInstaller: install/uninstall/detect lifecycle for host-side wiring.
9
9
  */
10
- export type { HostEventKind, HostEventContext, HostEvent, HostDecision, HostEventResult, HostAdapter, } from './host-adapter.js';
10
+ export type { HostEventKind, HostEventContext, HostEvent, HostDecision, HostEventResult, HostAdapter, HostEventEmitter, } from './host-adapter.js';
11
11
  export { HOST_EVENT_KINDS, isHostEventKind, isHostDecision, isHostEventContext, isHostEvent, isHostEventResult, } from './host-adapter.js';
12
12
  export type { HostInstallContext, HostRuntimeProfileInput, HostUninstallContext, HostConfigAction, HostInstallResult, HostUninstallResult, HostDetectResult, HostDetectPath, HostInstaller, } from './host-installer.js';
13
13
  export { isHostConfigAction, isHostInstallResult, isHostUninstallResult, } from './host-installer.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,eAAe,EACf,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EACV,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,aAAa,GACd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EACL,iCAAiC,EACjC,eAAe,EACf,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,eAAe,EACf,WAAW,EACX,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EACV,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,aAAa,GACd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EACL,iCAAiC,EACjC,eAAe,EACf,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAe3B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,4EAA4E;AAC5E,6DAA6D;AAC7D,OAAO,EACL,iCAAiC,EACjC,eAAe,EACf,sBAAsB,GACvB,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"AAoBA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAe3B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,4EAA4E;AAC5E,6DAA6D;AAC7D,OAAO,EACL,iCAAiC,EACjC,eAAe,EACf,sBAAsB,GACvB,MAAM,0BAA0B,CAAC"}
@@ -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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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=append-event-log-line.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"append-event-log-line.test.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/__tests__/append-event-log-line.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,47 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import * as fs from 'fs';
3
+ import * as os from 'os';
4
+ import * as path from 'path';
5
+ import { appendEventLogLine } from '../pain-signal-observability.js';
6
+ describe('PRI-750 appendEventLogLine (shared events_*.jsonl writer)', () => {
7
+ it('writes one EventLog-format line to events_<date>.jsonl under stateDir/logs', () => {
8
+ const stateDir = fs.mkdtempSync(path.join(os.tmpdir(), 'pd-evline-'));
9
+ try {
10
+ appendEventLogLine(stateDir, {
11
+ ts: '2026-09-13T00:00:00.000Z',
12
+ type: 'tool_call',
13
+ category: 'failure',
14
+ sessionId: 'sess-1',
15
+ data: { toolName: 'edit', runId: 'run-abc', toolCallId: 'call-1' },
16
+ });
17
+ const file = path.join(stateDir, 'logs', 'events_2026-09-13.jsonl');
18
+ expect(fs.existsSync(file)).toBe(true);
19
+ const lines = fs.readFileSync(file, 'utf8').trim().split('\n');
20
+ expect(lines).toHaveLength(1);
21
+ expect(JSON.parse(lines[0])).toMatchObject({
22
+ ts: '2026-09-13T00:00:00.000Z',
23
+ date: '2026-09-13',
24
+ type: 'tool_call',
25
+ category: 'failure',
26
+ sessionId: 'sess-1',
27
+ data: { toolName: 'edit', runId: 'run-abc', toolCallId: 'call-1' },
28
+ });
29
+ }
30
+ finally {
31
+ fs.rmSync(stateDir, { recursive: true, force: true });
32
+ }
33
+ });
34
+ it('appends a second line to the same daily file', () => {
35
+ const stateDir = fs.mkdtempSync(path.join(os.tmpdir(), 'pd-evline-'));
36
+ try {
37
+ appendEventLogLine(stateDir, { ts: '2026-09-13T00:00:01.000Z', type: 'tool_call', category: 'success', sessionId: 'sess-1', data: { toolName: 'read' } });
38
+ appendEventLogLine(stateDir, { ts: '2026-09-13T00:00:02.000Z', type: 'tool_call', category: 'success', sessionId: 'sess-1', data: { toolName: 'search' } });
39
+ const file = path.join(stateDir, 'logs', 'events_2026-09-13.jsonl');
40
+ expect(fs.readFileSync(file, 'utf8').trim().split('\n')).toHaveLength(2);
41
+ }
42
+ finally {
43
+ fs.rmSync(stateDir, { recursive: true, force: true });
44
+ }
45
+ });
46
+ });
47
+ //# sourceMappingURL=append-event-log-line.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"append-event-log-line.test.js","sourceRoot":"","sources":["../../../src/runtime-v2/__tests__/append-event-log-line.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',