@principles/core 1.293.4 → 1.294.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/runtime-v2/activation/activation-types.d.ts +2 -0
- package/dist/runtime-v2/activation/activation-types.d.ts.map +1 -1
- package/dist/runtime-v2/activation/activation-types.js.map +1 -1
- package/dist/runtime-v2/activation/sqlite-approval-store.d.ts.map +1 -1
- package/dist/runtime-v2/activation/sqlite-approval-store.js +64 -10
- package/dist/runtime-v2/activation/sqlite-approval-store.js.map +1 -1
- package/dist/runtime-v2/adapter/artificer-l2-adapter.d.ts.map +1 -1
- package/dist/runtime-v2/adapter/artificer-l2-adapter.js +23 -1
- package/dist/runtime-v2/adapter/artificer-l2-adapter.js.map +1 -1
- package/dist/runtime-v2/adapter/l2-agent-loop-adapter.d.ts +9 -0
- package/dist/runtime-v2/adapter/l2-agent-loop-adapter.d.ts.map +1 -1
- package/dist/runtime-v2/adapter/l2-agent-loop-adapter.js +39 -5
- package/dist/runtime-v2/adapter/l2-agent-loop-adapter.js.map +1 -1
- package/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.d.ts +4 -0
- package/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.d.ts.map +1 -1
- package/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.js +18 -4
- package/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.js.map +1 -1
- package/dist/runtime-v2/adapter/output-schema-registry.d.ts.map +1 -1
- package/dist/runtime-v2/adapter/output-schema-registry.js +5 -0
- package/dist/runtime-v2/adapter/output-schema-registry.js.map +1 -1
- package/dist/runtime-v2/adapter/pi-ai-runtime-adapter.d.ts +26 -0
- package/dist/runtime-v2/adapter/pi-ai-runtime-adapter.d.ts.map +1 -1
- package/dist/runtime-v2/adapter/pi-ai-runtime-adapter.js +88 -13
- package/dist/runtime-v2/adapter/pi-ai-runtime-adapter.js.map +1 -1
- package/dist/runtime-v2/feature-flags/feature-flag-contract.d.ts.map +1 -1
- package/dist/runtime-v2/feature-flags/feature-flag-contract.js +1 -0
- package/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
- package/dist/runtime-v2/feature-flags/feature-flag-lifecycle.d.ts.map +1 -1
- package/dist/runtime-v2/feature-flags/feature-flag-lifecycle.js +8 -0
- package/dist/runtime-v2/feature-flags/feature-flag-lifecycle.js.map +1 -1
- package/dist/runtime-v2/index.d.ts +3 -0
- package/dist/runtime-v2/index.d.ts.map +1 -1
- package/dist/runtime-v2/index.js +7 -0
- package/dist/runtime-v2/index.js.map +1 -1
- package/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts +2 -2
- package/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/artificer-prompt-builder.js +7 -7
- package/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/artificer-runner.js +5 -2
- package/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-runner.d.ts +3 -0
- package/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-runner.js +231 -37
- package/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/internalization-transition-decision.d.ts +3 -0
- package/dist/runtime-v2/internalization/internalization-transition-decision.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/internalization-transition-decision.js +7 -1
- package/dist/runtime-v2/internalization/internalization-transition-decision.js.map +1 -1
- package/dist/runtime-v2/internalization/pitask-metadata.d.ts +5 -0
- package/dist/runtime-v2/internalization/pitask-metadata.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/pitask-metadata.js +8 -0
- package/dist/runtime-v2/internalization/pitask-metadata.js.map +1 -1
- package/dist/runtime-v2/internalization/refiner-sandbox-wrapper.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/refiner-sandbox-wrapper.js +11 -26
- package/dist/runtime-v2/internalization/refiner-sandbox-wrapper.js.map +1 -1
- package/dist/runtime-v2/internalization/rule-host-input-builder.d.ts +9 -2
- package/dist/runtime-v2/internalization/rule-host-input-builder.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/rule-host-input-builder.js +163 -111
- package/dist/runtime-v2/internalization/rule-host-input-builder.js.map +1 -1
- package/dist/runtime-v2/internalization/rule-reliability-validation.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/rule-reliability-validation.js +12 -7
- package/dist/runtime-v2/internalization/rule-reliability-validation.js.map +1 -1
- package/dist/runtime-v2/internalization/scribe-output.d.ts +19 -2
- package/dist/runtime-v2/internalization/scribe-output.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/scribe-output.js +34 -11
- package/dist/runtime-v2/internalization/scribe-output.js.map +1 -1
- package/dist/runtime-v2/internalization/v2-adversarial-cases.d.ts +6 -44
- package/dist/runtime-v2/internalization/v2-adversarial-cases.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/v2-adversarial-cases.js +25 -146
- package/dist/runtime-v2/internalization/v2-adversarial-cases.js.map +1 -1
- package/dist/runtime-v2/learning-lab/actor-action-output.d.ts +42 -0
- package/dist/runtime-v2/learning-lab/actor-action-output.d.ts.map +1 -0
- package/dist/runtime-v2/learning-lab/actor-action-output.js +63 -0
- package/dist/runtime-v2/learning-lab/actor-action-output.js.map +1 -0
- package/dist/runtime-v2/runtime-protocol.d.ts +17 -0
- package/dist/runtime-v2/runtime-protocol.d.ts.map +1 -1
- package/dist/runtime-v2/runtime-protocol.js +17 -0
- package/dist/runtime-v2/runtime-protocol.js.map +1 -1
- package/dist/runtime-v2/store/sqlite-connection.d.ts.map +1 -1
- package/dist/runtime-v2/store/sqlite-connection.js +4 -0
- package/dist/runtime-v2/store/sqlite-connection.js.map +1 -1
- package/dist/runtime-v2/tools/artificer-l2-tool-contract.js +9 -9
- package/dist/runtime-v2/tools/artificer-l2-tool-contract.js.map +1 -1
- package/dist/runtime-v2/trajectory-schema.d.ts.map +1 -1
- package/dist/runtime-v2/trajectory-schema.js +10 -1
- package/dist/runtime-v2/trajectory-schema.js.map +1 -1
- package/dist/telemetry-event.d.ts +2 -2
- package/dist/telemetry-event.d.ts.map +1 -1
- package/dist/telemetry-event.js +6 -0
- package/dist/telemetry-event.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-host-input-builder.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/rule-host-input-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;
|
|
1
|
+
{"version":3,"file":"rule-host-input-builder.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/rule-host-input-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-reliability-validation.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/rule-reliability-validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,2BAA2B,EAAG,MAAM,4BAA4B,CAAC;AAC/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,GAAG,SAAS,CAAC;AAE5G,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,0FAA0F;IAC1F,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,MAAM,kBAAkB,GAC1B,kBAAkB,GAClB,aAAa,GACb,mBAAmB,GACnB,aAAa,GACb,eAAe,GACf,eAAe,GACf,SAAS,CAAC;AAEd,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,kBAAkB,CAS5E;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"rule-reliability-validation.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/rule-reliability-validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,9 +47,17 @@ export function attributionFromLayer(layer) {
|
|
|
47
47
|
export const V2_TEMPLATE_CASE_IDS = new Set([
|
|
48
48
|
'v2-unavailable',
|
|
49
49
|
'v2-truncated',
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
]);
|
|
51
|
+
/**
|
|
52
|
+
* Historical template IDs are still recognized when reading old evaluator
|
|
53
|
+
* artifacts, but the current generator no longer emits these policy guesses.
|
|
54
|
+
* Keeping their old oracle preserves repair/out-of-scope routing for durable
|
|
55
|
+
* legacy traces without making them current generic templates again.
|
|
56
|
+
*/
|
|
57
|
+
const DEPRECATED_V2_TEMPLATE_EXPECTATIONS = new Map([
|
|
58
|
+
['v2-alias', 'allow'],
|
|
59
|
+
['v2-path-boundary', 'block'],
|
|
60
|
+
['v2-combination', 'block'],
|
|
53
61
|
]);
|
|
54
62
|
/**
|
|
55
63
|
* Round-2 R1(Owner 口径 b,2026-09-08):出界判据不按模板名单断言,按
|
|
@@ -69,15 +77,12 @@ export const V2_TEMPLATE_CASE_IDS = new Set([
|
|
|
69
77
|
export const V2_CONTEXT_ONLY_TEMPLATE_EXPECTED_ALLOW = new Map([
|
|
70
78
|
['v2-unavailable', 'allow'],
|
|
71
79
|
['v2-truncated', 'allow'],
|
|
72
|
-
['v2-alias', 'allow'],
|
|
73
80
|
]);
|
|
74
81
|
/** The oracle expected decision for a known v2 template caseId (compile-time fact), or null for unknown ids. */
|
|
75
82
|
export function v2TemplateOracleExpectedDecision(caseId) {
|
|
76
83
|
if (V2_CONTEXT_ONLY_TEMPLATE_EXPECTED_ALLOW.has(caseId))
|
|
77
84
|
return 'allow';
|
|
78
|
-
|
|
79
|
-
return 'block';
|
|
80
|
-
return null;
|
|
85
|
+
return DEPRECATED_V2_TEMPLATE_EXPECTATIONS.get(caseId) ?? null;
|
|
81
86
|
}
|
|
82
87
|
/**
|
|
83
88
|
* PRI-703 Phase 2 — deterministic v2-case scope classification (Episode 001
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-reliability-validation.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/rule-reliability-validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAoDH,0EAA0E;AAC1E,MAAM,UAAU,oBAAoB,CAAC,KAAmB;IACtD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,WAAW,EAAE,OAAO,kBAAkB,CAAC;QAC5C,KAAK,MAAM,EAAE,OAAO,aAAa,CAAC;QAClC,KAAK,YAAY,EAAE,OAAO,mBAAmB,CAAC;QAC9C,KAAK,MAAM,EAAE,OAAO,aAAa,CAAC;QAClC,KAAK,SAAS,EAAE,OAAO,eAAe,CAAC;QACvC,SAAS,OAAO,SAAS,CAAC;IAC5B,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC;IAC/D,gBAAgB;IAChB,cAAc;
|
|
1
|
+
{"version":3,"file":"rule-reliability-validation.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/rule-reliability-validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -90,8 +90,21 @@ export declare const ScribeOutputV1Schema: import("@sinclair/typebox").TObject<{
|
|
|
90
90
|
}>;
|
|
91
91
|
risks: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
|
|
92
92
|
generatedAt: import("@sinclair/typebox").TString;
|
|
93
|
-
intentContract: import("@sinclair/typebox").
|
|
94
|
-
|
|
93
|
+
intentContract: import("@sinclair/typebox").TObject<{
|
|
94
|
+
ownerIntent: import("@sinclair/typebox").TString;
|
|
95
|
+
targetBehavior: import("@sinclair/typebox").TString;
|
|
96
|
+
forbiddenBehavior: import("@sinclair/typebox").TString;
|
|
97
|
+
evidenceSource: import("@sinclair/typebox").TString;
|
|
98
|
+
validationExpectation: import("@sinclair/typebox").TString;
|
|
99
|
+
}>;
|
|
100
|
+
executionConditions: import("@sinclair/typebox").TObject<{
|
|
101
|
+
version: import("@sinclair/typebox").TLiteral<1>;
|
|
102
|
+
requiredFacts: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
103
|
+
factKind: import("@sinclair/typebox").TString;
|
|
104
|
+
required: import("@sinclair/typebox").TBoolean;
|
|
105
|
+
textualBasis: import("@sinclair/typebox").TString;
|
|
106
|
+
}>>;
|
|
107
|
+
}>;
|
|
95
108
|
ownerRequirementGaps: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
|
|
96
109
|
}>;
|
|
97
110
|
export type ScribeOutputV1TB = Static<typeof ScribeOutputV1Schema>;
|
|
@@ -110,6 +123,10 @@ export interface ScribeValidator {
|
|
|
110
123
|
validate(output: unknown, taskId: string, expectedSourcePhilosopherArtifactId?: string): Promise<ScribeValidationResult>;
|
|
111
124
|
}
|
|
112
125
|
export declare class DefaultScribeValidator implements ScribeValidator {
|
|
126
|
+
private readonly requireRuleCodeContracts;
|
|
127
|
+
constructor(options?: {
|
|
128
|
+
readonly requireRuleCodeContracts?: boolean;
|
|
129
|
+
});
|
|
113
130
|
validate(output: unknown, taskId: string, expectedSourcePhilosopherArtifactId?: string): Promise<ScribeValidationResult>;
|
|
114
131
|
}
|
|
115
132
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scribe-output.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/scribe-output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAG1F,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;IAC9C,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;;;;OAOG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAC3C;;;;;;;;;OASG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,2BAA2B,CAAC;IAC3D;;;;;;;;;OASG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnD;AAED,eAAO,MAAM,0BAA0B;;;;;;;EAOrC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;EAGlC,CAAC;
|
|
1
|
+
{"version":3,"file":"scribe-output.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/scribe-output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAG1F,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;IAC9C,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;;;;OAOG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAC3C;;;;;;;;;OASG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,2BAA2B,CAAC;IAC3D;;;;;;;;;OASG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnD;AAED,eAAO,MAAM,0BAA0B;;;;;;;EAOrC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;EAGlC,CAAC;AAmBH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoB/B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEnE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,QAAQ,CACN,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,MAAM,EACd,mCAAmC,CAAC,EAAE,MAAM,GAC3C,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACpC;AAOD,qBAAa,sBAAuB,YAAW,eAAe;IAC5D,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAU;IAEnD,YAAY,OAAO,GAAE;QAAE,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;KAAO,EAExE;IAEK,QAAQ,CACZ,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,MAAM,EACd,mCAAmC,CAAC,EAAE,MAAM,GAC3C,OAAO,CAAC,sBAAsB,CAAC,CA0GjC;CACF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oCAAoC,CAAC,eAAe,EAAE,OAAO,GAAG,OAAO,CActF"}
|
|
@@ -22,6 +22,21 @@ export const ScribeSourceTraceSchema = Type.Object({
|
|
|
22
22
|
dreamerArtifactId: Type.Optional(Type.String()),
|
|
23
23
|
philosopherArtifactId: Type.String({ minLength: 1 }),
|
|
24
24
|
});
|
|
25
|
+
const ScribeIntentContractSchema = Type.Object({
|
|
26
|
+
ownerIntent: Type.String({ minLength: 1 }),
|
|
27
|
+
targetBehavior: Type.String({ minLength: 1 }),
|
|
28
|
+
forbiddenBehavior: Type.String({ minLength: 1 }),
|
|
29
|
+
evidenceSource: Type.String({ minLength: 1 }),
|
|
30
|
+
validationExpectation: Type.String({ minLength: 1 }),
|
|
31
|
+
});
|
|
32
|
+
const ScribeExecutionConditionsSchema = Type.Object({
|
|
33
|
+
version: Type.Literal(1),
|
|
34
|
+
requiredFacts: Type.Array(Type.Object({
|
|
35
|
+
factKind: Type.String({ minLength: 1 }),
|
|
36
|
+
required: Type.Boolean(),
|
|
37
|
+
textualBasis: Type.String({ minLength: 1 }),
|
|
38
|
+
})),
|
|
39
|
+
});
|
|
25
40
|
export const ScribeOutputV1Schema = Type.Object({
|
|
26
41
|
taskId: Type.String({ minLength: 1 }),
|
|
27
42
|
sourcePhilosopherArtifactId: Type.String({ minLength: 1 }),
|
|
@@ -29,14 +44,11 @@ export const ScribeOutputV1Schema = Type.Object({
|
|
|
29
44
|
sourceTrace: ScribeSourceTraceSchema,
|
|
30
45
|
risks: Type.Array(Type.String()),
|
|
31
46
|
generatedAt: Type.String({ minLength: 1 }),
|
|
32
|
-
//
|
|
33
|
-
//
|
|
34
|
-
//
|
|
35
|
-
intentContract:
|
|
36
|
-
|
|
37
|
-
// (same Optional-Unknown wire discipline as intentContract — element-level
|
|
38
|
-
// validation stays with the hand-rolled DefaultScribeValidator).
|
|
39
|
-
executionConditions: Type.Optional(Type.Unknown()),
|
|
47
|
+
// New Scribe generation requires both RuleCode anchors. Legacy artifact
|
|
48
|
+
// readers remain compatible through the optional fields on ScribeOutputV1
|
|
49
|
+
// and the extraction helpers; this schema only describes new model output.
|
|
50
|
+
intentContract: ScribeIntentContractSchema,
|
|
51
|
+
executionConditions: ScribeExecutionConditionsSchema,
|
|
40
52
|
// r6 review fix (P1-2): optional structured coverage-gap channel. This
|
|
41
53
|
// schema is a LIVE runtime contract (output-schema-registry → pi-ai
|
|
42
54
|
// adapter → response_format json_schema with additionalProperties:false on
|
|
@@ -51,7 +63,10 @@ function isRecord(v) {
|
|
|
51
63
|
return v !== null && typeof v === 'object' && !Array.isArray(v);
|
|
52
64
|
}
|
|
53
65
|
export class DefaultScribeValidator {
|
|
54
|
-
|
|
66
|
+
requireRuleCodeContracts;
|
|
67
|
+
constructor(options = {}) {
|
|
68
|
+
this.requireRuleCodeContracts = options.requireRuleCodeContracts ?? false;
|
|
69
|
+
}
|
|
55
70
|
async validate(output, taskId, expectedSourcePhilosopherArtifactId) {
|
|
56
71
|
const errors = [];
|
|
57
72
|
if (!isRecord(output)) {
|
|
@@ -134,7 +149,11 @@ export class DefaultScribeValidator {
|
|
|
134
149
|
// intentContract — PRI-703 Phase 1: optional, but present-but-malformed
|
|
135
150
|
// is a hard rejection (the contract is the alignment anchor for rule
|
|
136
151
|
// generation / evaluation / repair; a corrupted anchor is worse than none).
|
|
137
|
-
|
|
152
|
+
const hasIntentContract = Object.hasOwn(output, 'intentContract') && output.intentContract !== undefined;
|
|
153
|
+
if (this.requireRuleCodeContracts && !hasIntentContract) {
|
|
154
|
+
errors.push('intentContract is required for new RuleCode generation');
|
|
155
|
+
}
|
|
156
|
+
if (hasIntentContract) {
|
|
138
157
|
if (!isValidIntentContractV1(output.intentContract)) {
|
|
139
158
|
errors.push('intentContract must contain non-empty string fields: ownerIntent, targetBehavior, forbiddenBehavior, evidenceSource, validationExpectation');
|
|
140
159
|
}
|
|
@@ -142,7 +161,11 @@ export class DefaultScribeValidator {
|
|
|
142
161
|
// executionConditions — SPEC-RULECODE-QUALITY-001 A1: optional, but
|
|
143
162
|
// present-but-malformed is a hard rejection (a corrupted condition
|
|
144
163
|
// declaration must surface at the trust boundary, not downstream).
|
|
145
|
-
|
|
164
|
+
const hasExecutionConditions = Object.hasOwn(output, 'executionConditions') && output.executionConditions !== undefined;
|
|
165
|
+
if (this.requireRuleCodeContracts && !hasExecutionConditions) {
|
|
166
|
+
errors.push('executionConditions is required for new RuleCode generation');
|
|
167
|
+
}
|
|
168
|
+
if (hasExecutionConditions) {
|
|
146
169
|
if (!isValidScribeExecutionConditionsV1(output.executionConditions)) {
|
|
147
170
|
errors.push('executionConditions must be { version: 1, requiredFacts: [{ factKind: non-empty string, required: boolean, textualBasis: non-empty string }] }');
|
|
148
171
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scribe-output.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/scribe-output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,IAAI,EAAe,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,uBAAuB,EAAE,kCAAkC,EAAE,MAAM,sBAAsB,CAAC;AAwDnG,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC,MAAM,CAAC;IACpD,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACpC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACxC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACxC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IACxC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IACvC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;CACpD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC,MAAM,CAAC;IACjD,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC/C,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;CACrD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"scribe-output.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/scribe-output.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,55 +1,17 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PRI-485 Phase 6 — v2 adversarial case generator (pure logic).
|
|
3
|
-
*
|
|
4
|
-
* Auto-generates 5 deterministic adversarial cases that defend against the
|
|
5
|
-
* most common false-positive patterns when a RuleCode consumes a v2
|
|
6
|
-
* RuleContext. Each case carries a fabricated `ruleContext` that exercises
|
|
7
|
-
* one spec-defined edge (spec §7.4, §10.1):
|
|
8
|
-
*
|
|
9
|
-
* 1. v2-unavailable — host provided no history; rule must allow.
|
|
10
|
-
* 2. v2-truncated — history was truncated; rule must define a
|
|
11
|
-
* conservative (fail-open) strategy.
|
|
12
|
-
* 3. v2-alias — write_file after read_file on the same path must
|
|
13
|
-
* be allowed (canonicalKind match, not toolName).
|
|
14
|
-
* 4. v2-path-boundary — targetPath.bak must NOT be treated as a prior
|
|
15
|
-
* read of targetPath (no substring matching).
|
|
16
|
-
* 5. v2-combination — v2 priorRead=yes must NOT override a v1
|
|
17
|
-
* action-only risk-path block.
|
|
18
|
-
*
|
|
19
|
-
* Pure logic: zero I/O. The generated cases flow through the existing
|
|
20
|
-
* adversarialCasesToGoldenTrace → evaluateRefinerRuleHostGate path.
|
|
21
|
-
*
|
|
22
|
-
* Err-prevention:
|
|
23
|
-
* - ERR-069: generated cases share the AdversarialCase schema; the caller
|
|
24
|
-
* (Evaluator runner) validates them via DefaultEvaluatorValidator.
|
|
25
|
-
* - ERR-001 / rc-1 / rc-2: every ruleContext is a real RuleContextV2 value
|
|
26
|
-
* (UNAVAILABLE_RULE_CONTEXT sentinel or a freshly-built object that
|
|
27
|
-
* satisfies validateRuleContextV2). No `as` casts.
|
|
28
|
-
* - rc-9: every case carries a non-empty rationale explaining the edge.
|
|
29
|
-
*
|
|
30
|
-
* Spec: docs/superpowers/specs/2026-06-27-rulecode-context-vision-design.md
|
|
31
|
-
* §7.4 Evaluator responsibilities, §10.1 acceptance scenarios.
|
|
32
|
-
*/
|
|
1
|
+
/** Pure v2 RuleContext boundary cases. */
|
|
33
2
|
import type { CanonicalKind } from './rule-context-v2.js';
|
|
34
3
|
import type { AdversarialCase } from './evaluator-output.js';
|
|
35
|
-
/**
|
|
36
|
-
* Inputs the generator needs to fabricate path-realistic cases.
|
|
37
|
-
* - `toolName` is the action tool the rule governs (e.g. 'write_file').
|
|
38
|
-
* - `targetPath` is the workspace path used in positive cases.
|
|
39
|
-
* - `canonicalKind` is the canonical kind of `toolName` (caller pre-computes
|
|
40
|
-
* via canonicalizeToolKind so this module stays pure and doesn't re-import
|
|
41
|
-
* the alias table).
|
|
42
|
-
*/
|
|
43
4
|
export interface V2AdversarialCaseSpec {
|
|
44
5
|
readonly toolName: string;
|
|
45
6
|
readonly targetPath: string;
|
|
46
7
|
readonly canonicalKind: CanonicalKind;
|
|
47
8
|
}
|
|
48
9
|
/**
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
10
|
+
* These two cases exercise only host-context availability. Principle-specific
|
|
11
|
+
* action policies (path boundaries, aliases and risk combinations) must be
|
|
12
|
+
* supported by the current Owner-labelled examples before they are replayed;
|
|
13
|
+
* the generator must not invent those decisions from path names or generic
|
|
14
|
+
* read-before-write assumptions.
|
|
53
15
|
*/
|
|
54
16
|
export declare function generateV2ContextAdversarialCases(spec: V2AdversarialCaseSpec): readonly AdversarialCase[];
|
|
55
17
|
//# sourceMappingURL=v2-adversarial-cases.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v2-adversarial-cases.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/v2-adversarial-cases.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"v2-adversarial-cases.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/v2-adversarial-cases.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;CACvC;AAWD;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,qBAAqB,GAAG,SAAS,eAAe,EAAE,CAezG"}
|
|
@@ -1,154 +1,33 @@
|
|
|
1
|
-
import { UNAVAILABLE_RULE_CONTEXT
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
canonicalKind: spec.canonicalKind,
|
|
8
|
-
normalizedPath: spec.normalizedPath,
|
|
9
|
-
paramsSummary: spec.normalizedPath !== null ? { path: spec.normalizedPath } : {},
|
|
10
|
-
outcome: 'success',
|
|
1
|
+
import { UNAVAILABLE_RULE_CONTEXT } from './rule-context-v2.js';
|
|
2
|
+
function makeContext(truncated) {
|
|
3
|
+
const history = { status: 'available', truncated, calls: [] };
|
|
4
|
+
const facts = {
|
|
5
|
+
priorReadOfTarget: 'unknown', readCount: null, writeCount: null,
|
|
6
|
+
uniqueWritePathCount: null, sameActionBlockCount: null,
|
|
11
7
|
};
|
|
12
|
-
}
|
|
13
|
-
function makeHistory(spec) {
|
|
14
|
-
return {
|
|
15
|
-
status: spec.status,
|
|
16
|
-
truncated: spec.truncated,
|
|
17
|
-
calls: spec.calls,
|
|
18
|
-
...(spec.unavailableReason !== undefined ? { unavailableReason: spec.unavailableReason } : {}),
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
function makeFacts(spec) {
|
|
22
|
-
// sameActionBlockCount is informational only; null is the canonical
|
|
23
|
-
// "host did not provide" value per the unavailable invariant.
|
|
24
|
-
return {
|
|
25
|
-
priorReadOfTarget: spec.priorReadOfTarget,
|
|
26
|
-
readCount: spec.readCount,
|
|
27
|
-
writeCount: spec.writeCount,
|
|
28
|
-
uniqueWritePathCount: spec.uniqueWritePathCount,
|
|
29
|
-
sameActionBlockCount: null,
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
function makeContext(history, facts) {
|
|
33
8
|
return { version: 2, history, facts };
|
|
34
9
|
}
|
|
35
10
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
|
|
41
|
-
function isHelperPath(path) {
|
|
42
|
-
const segments = path.toLowerCase().split(/[\\/]/).filter((s) => s.length > 0 && s !== '.');
|
|
43
|
-
return segments.some((s) => s === 'tmp' || s === 'temp' || s === 'draft');
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Generate the 5 canonical v2 adversarial cases for the given spec.
|
|
47
|
-
*
|
|
48
|
-
* The output is deterministic and stable in caseId order:
|
|
49
|
-
* v2-unavailable, v2-truncated, v2-alias, v2-path-boundary, v2-combination.
|
|
11
|
+
* These two cases exercise only host-context availability. Principle-specific
|
|
12
|
+
* action policies (path boundaries, aliases and risk combinations) must be
|
|
13
|
+
* supported by the current Owner-labelled examples before they are replayed;
|
|
14
|
+
* the generator must not invent those decisions from path names or generic
|
|
15
|
+
* read-before-write assumptions.
|
|
50
16
|
*/
|
|
51
17
|
export function generateV2ContextAdversarialCases(spec) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
// conservative strategy: when no calls survived truncation, it fails
|
|
67
|
-
// open (allow) rather than fabricate a "no-read" verdict (spec §10.1
|
|
68
|
-
// row 7). facts are all null/unknown because computeBehaviorFacts would
|
|
69
|
-
// produce them from an empty calls array — but we set them explicitly
|
|
70
|
-
// to the conservative posture so the rule sees the same shape.
|
|
71
|
-
const truncatedHistory = makeHistory({ status: 'available', truncated: true, calls: [] });
|
|
72
|
-
const truncatedFacts = makeFacts({ priorReadOfTarget: 'unknown', readCount: null, writeCount: null, uniqueWritePathCount: null });
|
|
73
|
-
const truncated = {
|
|
74
|
-
caseId: 'v2-truncated',
|
|
75
|
-
attackType: 'omission',
|
|
76
|
-
toolName: spec.toolName,
|
|
77
|
-
params: { path: spec.targetPath },
|
|
78
|
-
expectedDecision: 'allow',
|
|
79
|
-
rationale: 'history truncated — rule must define a conservative (fail-open) strategy when no calls survived (spec §10.1 row 7)',
|
|
80
|
-
ruleContext: makeContext(truncatedHistory, truncatedFacts),
|
|
81
|
-
};
|
|
82
|
-
// ── case 3: alias ────────────────────────────────────────────────────
|
|
83
|
-
// The host recorded a prior read_file on targetPath. The action is now
|
|
84
|
-
// write_file (alias of write). The rule MUST use canonicalKind for
|
|
85
|
-
// behavior matching: read_file → read, write_file → write, so
|
|
86
|
-
// write-after-read is allowed (spec §4.4, §10.1 row 8).
|
|
87
|
-
const aliasCalls = [makeCall({ sequenceId: 1, toolName: 'read_file', canonicalKind: 'read', normalizedPath: spec.targetPath })];
|
|
88
|
-
const aliasHistory = makeHistory({ status: 'available', truncated: false, calls: aliasCalls });
|
|
89
|
-
// facts mirror what computeBehaviorFacts would produce — priorRead=yes,
|
|
90
|
-
// 1 read, 0 writes. We set them explicitly so the rule sees a valid
|
|
91
|
-
// context even if it doesn't recompute from history.
|
|
92
|
-
const aliasFacts = makeFacts({ priorReadOfTarget: 'yes', readCount: 1, writeCount: 0, uniqueWritePathCount: 0 });
|
|
93
|
-
const alias = {
|
|
94
|
-
caseId: 'v2-alias',
|
|
95
|
-
attackType: 'boundary',
|
|
96
|
-
toolName: spec.toolName,
|
|
97
|
-
params: { path: spec.targetPath },
|
|
98
|
-
expectedDecision: 'allow',
|
|
99
|
-
rationale: 'write_file after read_file on same path — rule must match by canonicalKind (read→write), not by toolName equality (spec §4.4)',
|
|
100
|
-
ruleContext: makeContext(aliasHistory, aliasFacts),
|
|
101
|
-
};
|
|
102
|
-
// ── case 4: path-boundary ────────────────────────────────────────────
|
|
103
|
-
// The host recorded a prior read on targetPath, but the action targets
|
|
104
|
-
// targetPath + '.bak'. The rule MUST NOT substring-match — these are
|
|
105
|
-
// different files (spec §10.1 row 9). priorReadOfTarget is 'no' because
|
|
106
|
-
// the action's path is targetPath.bak, not targetPath.
|
|
107
|
-
//
|
|
108
|
-
// EP002-R4 (live chain evidence): the template hard-coded block, but when
|
|
109
|
-
// the artificer's OWN positive case picked a helper path (tmp\... —
|
|
110
|
-
// legitimate for measurement scripts), the derived `.bak` case demanded
|
|
111
|
-
// block for a write INTO a helper directory. Rules that correctly allow
|
|
112
|
-
// helper-path writes then fail the case forever (both repair rounds died
|
|
113
|
-
// on exactly this conflict). The expected decision therefore follows the
|
|
114
|
-
// target's own class: a helper-path target keeps the substring-match
|
|
115
|
-
// signal (different file) but must expect allow — a rule may not block
|
|
116
|
-
// helper writes just because a sibling production file was read.
|
|
117
|
-
const boundaryCalls = [makeCall({ sequenceId: 1, toolName: 'read_file', canonicalKind: 'read', normalizedPath: spec.targetPath })];
|
|
118
|
-
const boundaryHistory = makeHistory({ status: 'available', truncated: false, calls: boundaryCalls });
|
|
119
|
-
// computeBehaviorFacts would compute priorReadOfTarget='no' here because
|
|
120
|
-
// the action's normalizedPath (targetPath.bak) ≠ targetPath. We set it
|
|
121
|
-
// explicitly to mirror that computation.
|
|
122
|
-
const boundaryFacts = makeFacts({ priorReadOfTarget: 'no', readCount: 1, writeCount: 0, uniqueWritePathCount: 0 });
|
|
123
|
-
const targetIsHelperPath = isHelperPath(spec.targetPath);
|
|
124
|
-
const pathBoundary = {
|
|
125
|
-
caseId: 'v2-path-boundary',
|
|
126
|
-
attackType: 'boundary',
|
|
127
|
-
toolName: spec.toolName,
|
|
128
|
-
params: { path: `${spec.targetPath}.bak` },
|
|
129
|
-
expectedDecision: targetIsHelperPath ? 'allow' : 'block',
|
|
130
|
-
rationale: targetIsHelperPath
|
|
131
|
-
? 'targetPath.bak is a different file from targetPath AND the target is a helper path (tmp/temp/draft) — no substring matching (spec §10.1 row 9) and helper writes stay allowed'
|
|
132
|
-
: 'targetPath.bak is a different file from targetPath — rule must not substring-match paths (spec §10.1 row 9)',
|
|
133
|
-
ruleContext: makeContext(boundaryHistory, boundaryFacts),
|
|
134
|
-
};
|
|
135
|
-
// ── case 5: combination ──────────────────────────────────────────────
|
|
136
|
-
// The v2 context fabricates priorRead=yes on a known risk path
|
|
137
|
-
// (/etc/passwd). The rule MUST still block because the v1 action-only
|
|
138
|
-
// risk-path check dominates — v2 context augments but does not override
|
|
139
|
-
// action-level safety (spec §7.4, §10.1 row 10).
|
|
140
|
-
const combinationCalls = [makeCall({ sequenceId: 1, toolName: 'read_file', canonicalKind: 'read', normalizedPath: RISK_PATH })];
|
|
141
|
-
const combinationHistory = makeHistory({ status: 'available', truncated: false, calls: combinationCalls });
|
|
142
|
-
const combinationFacts = makeFacts({ priorReadOfTarget: 'yes', readCount: 1, writeCount: 0, uniqueWritePathCount: 0 });
|
|
143
|
-
const combination = {
|
|
144
|
-
caseId: 'v2-combination',
|
|
145
|
-
attackType: 'inversion',
|
|
146
|
-
toolName: spec.toolName,
|
|
147
|
-
params: { path: RISK_PATH },
|
|
148
|
-
expectedDecision: 'block',
|
|
149
|
-
rationale: 'v2 context says priorRead=yes on a risk path, but v1 action-only risk-path check must still dominate (block over allow, spec §7.4)',
|
|
150
|
-
ruleContext: makeContext(combinationHistory, combinationFacts),
|
|
151
|
-
};
|
|
152
|
-
return [unavailable, truncated, alias, pathBoundary, combination];
|
|
18
|
+
return [
|
|
19
|
+
{
|
|
20
|
+
caseId: 'v2-unavailable', attackType: 'boundary', toolName: spec.toolName,
|
|
21
|
+
params: { path: spec.targetPath }, expectedDecision: 'allow',
|
|
22
|
+
rationale: 'history is unavailable, so absent context is not evidence that the Owner-defined action condition failed',
|
|
23
|
+
ruleContext: UNAVAILABLE_RULE_CONTEXT,
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
caseId: 'v2-truncated', attackType: 'omission', toolName: spec.toolName,
|
|
27
|
+
params: { path: spec.targetPath }, expectedDecision: 'allow',
|
|
28
|
+
rationale: 'history was truncated; missing calls cannot establish a negative fact outside the Owner-defined action condition',
|
|
29
|
+
ruleContext: makeContext(true),
|
|
30
|
+
},
|
|
31
|
+
];
|
|
153
32
|
}
|
|
154
33
|
//# sourceMappingURL=v2-adversarial-cases.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v2-adversarial-cases.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/v2-adversarial-cases.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"v2-adversarial-cases.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/v2-adversarial-cases.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAsE,MAAM,sBAAsB,CAAC;AASpI,SAAS,WAAW,CAAC,SAAkB;IACrC,MAAM,OAAO,GAAsB,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACjF,MAAM,KAAK,GAAsB;QAC/B,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;QAC/D,oBAAoB,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI;KACvD,CAAC;IACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACxC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iCAAiC,CAAC,IAA2B;IAC3E,OAAO;QACL;YACE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACzE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,gBAAgB,EAAE,OAAO;YAC5D,SAAS,EAAE,0GAA0G;YACrH,WAAW,EAAE,wBAAwB;SACtC;QACD;YACE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,gBAAgB,EAAE,OAAO;YAC5D,SAAS,EAAE,kHAAkH;YAC7H,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC;SAC/B;KACF,CAAC;AACJ,CAAC"}
|