create-principles-disciple 1.142.16 → 1.142.18
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/core/dist/evolution-store.d.ts +2 -2
- package/core/dist/evolution-store.d.ts.map +1 -1
- package/core/dist/evolution-store.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/artificer-runner-vslice.test.js +10 -10
- package/core/dist/runtime-v2/__tests__/artificer-runner-vslice.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/pain-signal-runtime-factory-effectiveconfig-wiring.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/pain-signal-runtime-factory-effectiveconfig-wiring.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/pain-signal-runtime-factory-effectiveconfig-wiring.test.js +109 -0
- package/core/dist/runtime-v2/__tests__/pain-signal-runtime-factory-effectiveconfig-wiring.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/story-a-demo.test.js +7 -5
- package/core/dist/runtime-v2/__tests__/story-a-demo.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/trajectory-schema.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/trajectory-schema.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/trajectory-schema.test.js +85 -0
- package/core/dist/runtime-v2/__tests__/trajectory-schema.test.js.map +1 -0
- package/core/dist/runtime-v2/activation/__tests__/production-gate-deps.test.js +164 -2
- package/core/dist/runtime-v2/activation/__tests__/production-gate-deps.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/index.d.ts +1 -1
- package/core/dist/runtime-v2/activation/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/index.js +1 -1
- package/core/dist/runtime-v2/activation/index.js.map +1 -1
- package/core/dist/runtime-v2/activation/production-gate-deps.d.ts +32 -0
- package/core/dist/runtime-v2/activation/production-gate-deps.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/production-gate-deps.js +61 -8
- package/core/dist/runtime-v2/activation/production-gate-deps.js.map +1 -1
- package/core/dist/runtime-v2/activation/writers/rule-host-writer.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/writers/rule-host-writer.js +8 -4
- package/core/dist/runtime-v2/activation/writers/rule-host-writer.js.map +1 -1
- package/core/dist/runtime-v2/adapter/__tests__/schema-prompt-adapter-semantic.test.d.ts +2 -0
- package/core/dist/runtime-v2/adapter/__tests__/schema-prompt-adapter-semantic.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/adapter/__tests__/schema-prompt-adapter-semantic.test.js +80 -0
- package/core/dist/runtime-v2/adapter/__tests__/schema-prompt-adapter-semantic.test.js.map +1 -0
- package/core/dist/runtime-v2/adapter/schema-prompt-adapter.d.ts.map +1 -1
- package/core/dist/runtime-v2/adapter/schema-prompt-adapter.js +27 -3
- package/core/dist/runtime-v2/adapter/schema-prompt-adapter.js.map +1 -1
- package/core/dist/runtime-v2/index.d.ts +3 -1
- package/core/dist/runtime-v2/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/index.js +3 -1
- package/core/dist/runtime-v2/index.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/scribe-prompt-builder.test.js +22 -0
- package/core/dist/runtime-v2/internalization/__tests__/scribe-prompt-builder.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/split-diagnostician-runner-retry.test.js +179 -1
- package/core/dist/runtime-v2/internalization/__tests__/split-diagnostician-runner-retry.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts +1 -1
- package/core/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-prompt-builder.js +6 -3
- package/core/dist/runtime-v2/internalization/artificer-prompt-builder.js.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-runner.js +11 -3
- package/core/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/scribe-prompt-builder.d.ts +8 -0
- package/core/dist/runtime-v2/internalization/scribe-prompt-builder.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/scribe-prompt-builder.js +5 -2
- package/core/dist/runtime-v2/internalization/scribe-prompt-builder.js.map +1 -1
- package/core/dist/runtime-v2/internalization/scribe-runner.d.ts +7 -0
- package/core/dist/runtime-v2/internalization/scribe-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/scribe-runner.js +47 -3
- package/core/dist/runtime-v2/internalization/scribe-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/split-diagnostician-runner.d.ts +6 -0
- package/core/dist/runtime-v2/internalization/split-diagnostician-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/split-diagnostician-runner.js +40 -1
- package/core/dist/runtime-v2/internalization/split-diagnostician-runner.js.map +1 -1
- package/core/dist/runtime-v2/pain-signal-observability.d.ts.map +1 -1
- package/core/dist/runtime-v2/pain-signal-observability.js +10 -303
- package/core/dist/runtime-v2/pain-signal-observability.js.map +1 -1
- package/core/dist/runtime-v2/pain-signal-runtime-factory.d.ts.map +1 -1
- package/core/dist/runtime-v2/pain-signal-runtime-factory.js +5 -1
- package/core/dist/runtime-v2/pain-signal-runtime-factory.js.map +1 -1
- package/core/dist/runtime-v2/story-a-demo.d.ts.map +1 -1
- package/core/dist/runtime-v2/story-a-demo.js +9 -9
- package/core/dist/runtime-v2/story-a-demo.js.map +1 -1
- package/core/dist/runtime-v2/trajectory-schema.d.ts +45 -0
- package/core/dist/runtime-v2/trajectory-schema.d.ts.map +1 -0
- package/core/dist/runtime-v2/trajectory-schema.js +173 -0
- package/core/dist/runtime-v2/trajectory-schema.js.map +1 -0
- package/core/dist/trajectory-store.d.ts +7 -17
- package/core/dist/trajectory-store.d.ts.map +1 -1
- package/core/dist/trajectory-store.js +5 -1
- package/core/dist/trajectory-store.js.map +1 -1
- package/core/dist/trajectory-types.d.ts +283 -0
- package/core/dist/trajectory-types.d.ts.map +1 -0
- package/core/dist/trajectory-types.js +13 -0
- package/core/dist/trajectory-types.js.map +1 -0
- package/core/package.json +5 -1
- package/dist/update/release-metadata-publisher.d.ts +15 -6
- package/dist/update/release-metadata-publisher.d.ts.map +1 -1
- package/dist/update/release-metadata-publisher.js +71 -28
- package/dist/update/release-metadata-publisher.js.map +1 -1
- package/package.json +2 -2
- package/pd-cli/dist/commands/runtime-init.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-init.js +4 -6
- package/pd-cli/dist/commands/runtime-init.js.map +1 -1
- package/pd-cli/dist/services/demo-rule-compiler.d.ts +9 -11
- package/pd-cli/dist/services/demo-rule-compiler.d.ts.map +1 -1
- package/pd-cli/dist/services/demo-rule-compiler.js +11 -37
- package/pd-cli/dist/services/demo-rule-compiler.js.map +1 -1
- package/pd-cli/dist/services/rulehost-pipeline-runner.d.ts +6 -9
- package/pd-cli/dist/services/rulehost-pipeline-runner.d.ts.map +1 -1
- package/pd-cli/dist/services/rulehost-pipeline-runner.js +6 -9
- package/pd-cli/dist/services/rulehost-pipeline-runner.js.map +1 -1
- package/pd-cli/package.json +1 -1
- package/plugin/dist/bundle.js +460 -793
- package/plugin/dist/core/trajectory-types.d.ts +6 -275
- package/plugin/dist/core/trajectory.d.ts +2 -1
- package/plugin/dist/governance-audit.js +150 -150
- package/plugin/dist/rulehost-evidence.js +187 -368
- package/plugin/openclaw.plugin.json +1 -1
- package/plugin/package.json +1 -1
- package/release-manager/dist/update/release-metadata-publisher.d.ts +15 -6
- package/release-manager/dist/update/release-metadata-publisher.d.ts.map +1 -1
- package/release-manager/dist/update/release-metadata-publisher.js +71 -28
- package/release-manager/dist/update/release-metadata-publisher.js.map +1 -1
- package/release-manager/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trajectory-schema.test.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/__tests__/trajectory-schema.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import Database from 'better-sqlite3';
|
|
3
|
+
import { applyTrajectorySchemaBase, TRAJECTORY_SCHEMA_VERSION, TRAJECTORY_TABLES, } from '../trajectory-schema.js';
|
|
4
|
+
/**
|
|
5
|
+
* PRI-774 guard: the canonical schema module (Profile A/B/C) is the single
|
|
6
|
+
* DDL authority for trajectory.db. SPEC:
|
|
7
|
+
* docs/specs/trajectory-data-plane-single-truth.md
|
|
8
|
+
*/
|
|
9
|
+
describe('PRI-774: canonical trajectory schema module', () => {
|
|
10
|
+
it('exports TRAJECTORY_TABLES matching a freshly applied Profile A database', () => {
|
|
11
|
+
const db = new Database(':memory:');
|
|
12
|
+
applyTrajectorySchemaBase(db);
|
|
13
|
+
const actual = db.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%' ORDER BY name").all().map((r) => r.name);
|
|
14
|
+
expect(actual).toEqual([...TRAJECTORY_TABLES].sort());
|
|
15
|
+
db.close();
|
|
16
|
+
});
|
|
17
|
+
it('Profile A (views: false) creates no views; Profile B (views: true) creates exactly the three runtime-init views', () => {
|
|
18
|
+
const a = new Database(':memory:');
|
|
19
|
+
applyTrajectorySchemaBase(a);
|
|
20
|
+
const aViews = a.prepare("SELECT name FROM sqlite_master WHERE type = 'view' ORDER BY name").all().map((r) => r.name);
|
|
21
|
+
a.close();
|
|
22
|
+
const b = new Database(':memory:');
|
|
23
|
+
applyTrajectorySchemaBase(b, { views: true });
|
|
24
|
+
const bViews = b.prepare("SELECT name FROM sqlite_master WHERE type = 'view' ORDER BY name").all().map((r) => r.name);
|
|
25
|
+
b.close();
|
|
26
|
+
expect(aViews).toEqual([]);
|
|
27
|
+
expect(bViews).toEqual([
|
|
28
|
+
'v_error_clusters',
|
|
29
|
+
'v_principle_effectiveness',
|
|
30
|
+
'v_sample_queue',
|
|
31
|
+
]);
|
|
32
|
+
});
|
|
33
|
+
it('views: true also creates every index the base profile creates (no index drift)', () => {
|
|
34
|
+
const noViews = new Database(':memory:');
|
|
35
|
+
const withViews = new Database(':memory:');
|
|
36
|
+
applyTrajectorySchemaBase(noViews);
|
|
37
|
+
applyTrajectorySchemaBase(withViews, { views: true });
|
|
38
|
+
const idxNames = (handle) => handle
|
|
39
|
+
.prepare("SELECT name FROM sqlite_master WHERE type = 'index' AND name NOT LIKE 'sqlite_%' ORDER BY name")
|
|
40
|
+
.all().map((r) => r.name);
|
|
41
|
+
expect(idxNames(withViews)).toEqual(idxNames(noViews));
|
|
42
|
+
noViews.close();
|
|
43
|
+
withViews.close();
|
|
44
|
+
});
|
|
45
|
+
it('TRAJECTORY_SCHEMA_VERSION matches the shipped schema_version value', () => {
|
|
46
|
+
const db = new Database(':memory:');
|
|
47
|
+
applyTrajectorySchemaBase(db);
|
|
48
|
+
const tableExists = db
|
|
49
|
+
.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'schema_version'")
|
|
50
|
+
.get();
|
|
51
|
+
expect(tableExists).toBeDefined();
|
|
52
|
+
expect(TRAJECTORY_SCHEMA_VERSION).toBe(1);
|
|
53
|
+
db.close();
|
|
54
|
+
});
|
|
55
|
+
it('Fixture B: legacy evolution_tasks gets the six nullable columns backfilled, rows preserved', () => {
|
|
56
|
+
const db = new Database(':memory:');
|
|
57
|
+
// legacy pre-V2 evolution_tasks (missing the six nullable V2 columns)
|
|
58
|
+
db.exec('CREATE TABLE evolution_tasks (id INTEGER PRIMARY KEY AUTOINCREMENT, task_id TEXT UNIQUE NOT NULL, trace_id TEXT NOT NULL, source TEXT NOT NULL, reason TEXT, score INTEGER DEFAULT 0, status TEXT DEFAULT \'pending\', enqueued_at TEXT, started_at TEXT, completed_at TEXT, resolution TEXT, created_at TEXT NOT NULL, updated_at TEXT NOT NULL)');
|
|
59
|
+
db.prepare('INSERT INTO evolution_tasks (task_id, trace_id, source, reason, score, status, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?)').run('task-legacy-001', 'trace-legacy-001', 'pain_signal', 'legacy pain', 42, 'completed', '2026-06-01T00:00:00.000Z', '2026-06-01T00:00:00.000Z');
|
|
60
|
+
const before = db.prepare('SELECT COUNT(*) AS c FROM evolution_tasks').get();
|
|
61
|
+
expect(before.c).toBe(1);
|
|
62
|
+
applyTrajectorySchemaBase(db);
|
|
63
|
+
const cols = db.prepare('PRAGMA table_info(evolution_tasks)').all().map((c) => c.name);
|
|
64
|
+
for (const col of ['task_kind', 'priority', 'retry_count', 'max_retries', 'last_error', 'result_ref']) {
|
|
65
|
+
expect(cols).toContain(col);
|
|
66
|
+
}
|
|
67
|
+
const row = db.prepare('SELECT * FROM evolution_tasks WHERE task_id = ?').get('task-legacy-001');
|
|
68
|
+
expect(row.score).toBe(42);
|
|
69
|
+
expect(row.status).toBe('completed');
|
|
70
|
+
expect(row.task_kind).toBeNull();
|
|
71
|
+
db.close();
|
|
72
|
+
});
|
|
73
|
+
it('populated DB: applying the canonical schema never changes existing rows', () => {
|
|
74
|
+
const db = new Database(':memory:');
|
|
75
|
+
applyTrajectorySchemaBase(db);
|
|
76
|
+
db.prepare('INSERT INTO pain_events (session_id, source, score, reason, created_at) VALUES (?, ?, ?, ?, ?)').run('session-x', 'manual', 88, 'kept', '2026-06-02T00:00:00.000Z');
|
|
77
|
+
const before = db.prepare('SELECT COUNT(*) AS c FROM pain_events').get();
|
|
78
|
+
applyTrajectorySchemaBase(db);
|
|
79
|
+
const after = db.prepare('SELECT COUNT(*) AS c FROM pain_events').get();
|
|
80
|
+
expect(after.c).toBe(before.c);
|
|
81
|
+
expect(after.c).toBe(1);
|
|
82
|
+
db.close();
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
//# sourceMappingURL=trajectory-schema.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trajectory-schema.test.js","sourceRoot":"","sources":["../../../src/runtime-v2/__tests__/trajectory-schema.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
* - ERR-025: Production-path test, not just helper
|
|
13
13
|
*/
|
|
14
14
|
import { describe, it, expect } from 'vitest';
|
|
15
|
-
import { createProductionGateDeps } from '../production-gate-deps.js';
|
|
16
|
-
import { createGoldenTraceFixture } from '../../golden-trace.js';
|
|
15
|
+
import { compileHardenedRuleEvaluator, createProductionGateDeps } from '../production-gate-deps.js';
|
|
16
|
+
import { createGoldenTraceFixture, createSyntheticRuleHostInput } from '../../golden-trace.js';
|
|
17
17
|
describe('createProductionGateDeps', () => {
|
|
18
18
|
it('returns a valid RefinerRuleHostGateDeps with evaluateInSandbox function', () => {
|
|
19
19
|
const deps = createProductionGateDeps();
|
|
@@ -338,4 +338,166 @@ function evaluate(input, helpers) {
|
|
|
338
338
|
});
|
|
339
339
|
});
|
|
340
340
|
});
|
|
341
|
+
// ── PRI-809: pre-activation sandbox trust boundary ──────────────────────────
|
|
342
|
+
// Unapproved RuleCode must never reach host capabilities during replay.
|
|
343
|
+
// These probes call the hardened primitive DIRECTLY (no forbidden-pattern
|
|
344
|
+
// scanner in front) to prove runtime isolation is the trust boundary — the
|
|
345
|
+
// static scanner is only defense-in-depth (PRI-679 stays an upgrade option).
|
|
346
|
+
describe('PRI-809 sandbox trust boundary (hardened replay evaluator)', () => {
|
|
347
|
+
const HOST_PROCESS_PREFIX = 'ESCAPED_PROCESS_';
|
|
348
|
+
function evaluateRaw(ruleBody, input) {
|
|
349
|
+
const evaluate = compileHardenedRuleEvaluator(`function evaluate(input, helpers) {\n${ruleBody}\n}`, 'pri-809-probe');
|
|
350
|
+
return evaluate(input, {});
|
|
351
|
+
}
|
|
352
|
+
function probeInput() {
|
|
353
|
+
return createSyntheticRuleHostInput({ toolName: 'edit', params: { filePath: '/src/index.ts' } }, {}, {});
|
|
354
|
+
}
|
|
355
|
+
it('blocks the top-level input.constructor.constructor escape (Case 1)', () => {
|
|
356
|
+
const result = evaluateRaw(`
|
|
357
|
+
try {
|
|
358
|
+
var hostFunction = input.constructor.constructor;
|
|
359
|
+
var proc = hostFunction('return process')();
|
|
360
|
+
return { decision: 'allow', matched: false, reason: '${HOST_PROCESS_PREFIX}' + String(proc && proc.version) };
|
|
361
|
+
} catch (error) {
|
|
362
|
+
return { decision: 'allow', matched: false, reason: 'escape_blocked:' + String(error && error.message).slice(0, 80) };
|
|
363
|
+
}
|
|
364
|
+
`, probeInput());
|
|
365
|
+
expect(result.decision).toBe('allow');
|
|
366
|
+
expect(result.reason).not.toContain(HOST_PROCESS_PREFIX);
|
|
367
|
+
expect(result.reason).toContain('escape_blocked');
|
|
368
|
+
});
|
|
369
|
+
it('blocks nested-object constructor chains (input.action.paramsSummary.constructor.constructor) (Case 2)', () => {
|
|
370
|
+
const result = evaluateRaw(`
|
|
371
|
+
try {
|
|
372
|
+
var hostFunction = input.action.paramsSummary.constructor.constructor;
|
|
373
|
+
var proc = hostFunction('return process')();
|
|
374
|
+
return { decision: 'allow', matched: false, reason: '${HOST_PROCESS_PREFIX}' + String(proc && proc.version) };
|
|
375
|
+
} catch (error) {
|
|
376
|
+
return { decision: 'allow', matched: false, reason: 'escape_blocked_nested:' + String(error && error.message).slice(0, 80) };
|
|
377
|
+
}
|
|
378
|
+
`, probeInput());
|
|
379
|
+
expect(result.reason).not.toContain(HOST_PROCESS_PREFIX);
|
|
380
|
+
});
|
|
381
|
+
it('blocks helper escapes (helpers.constructor.constructor and helpers.getToolName.constructor.constructor) (Case 3)', () => {
|
|
382
|
+
const result = evaluateRaw(`
|
|
383
|
+
var vectors = [helpers, helpers.getToolName];
|
|
384
|
+
for (var i = 0; i < vectors.length; i++) {
|
|
385
|
+
try {
|
|
386
|
+
var hostFunction = vectors[i].constructor.constructor;
|
|
387
|
+
var proc = hostFunction('return process')();
|
|
388
|
+
return { decision: 'allow', matched: false, reason: '${HOST_PROCESS_PREFIX}' + String(proc && proc.version) };
|
|
389
|
+
} catch (error) { /* try next vector */ }
|
|
390
|
+
}
|
|
391
|
+
return { decision: 'allow', matched: false, reason: 'helper_escape_blocked_all_vectors' };
|
|
392
|
+
`, probeInput());
|
|
393
|
+
expect(result.reason).toBe('helper_escape_blocked_all_vectors');
|
|
394
|
+
});
|
|
395
|
+
it('string-concatenation bypasses the scanner but still cannot escape (Case 4)', () => {
|
|
396
|
+
// The forbidden-pattern scanner matches literal patterns; dynamic
|
|
397
|
+
// property access built from concatenated strings evades it. Runtime
|
|
398
|
+
// isolation must hold anyway — the scanner is NOT the trust boundary.
|
|
399
|
+
const result = evaluateRaw(`
|
|
400
|
+
try {
|
|
401
|
+
var ctor = input['con' + 'structor'];
|
|
402
|
+
var hostFunction = ctor['con' + 'structor'];
|
|
403
|
+
var proc = hostFunction('return process')();
|
|
404
|
+
return { decision: 'allow', matched: false, reason: '${HOST_PROCESS_PREFIX}' + String(proc && proc.version) };
|
|
405
|
+
} catch (error) {
|
|
406
|
+
return { decision: 'allow', matched: false, reason: 'concat_bypass_still_sandboxed:' + String(error && error.message).slice(0, 80) };
|
|
407
|
+
}
|
|
408
|
+
`, probeInput());
|
|
409
|
+
expect(result.reason).not.toContain(HOST_PROCESS_PREFIX);
|
|
410
|
+
});
|
|
411
|
+
it('the concat-bypass rule sails through the forbidden-pattern scanner (proving isolation, not the scanner, is the boundary)', () => {
|
|
412
|
+
const deps = createProductionGateDeps();
|
|
413
|
+
const concatRule = `
|
|
414
|
+
function evaluate(input, helpers) {
|
|
415
|
+
try {
|
|
416
|
+
var hostFunction = input['con' + 'structor']['con' + 'structor'];
|
|
417
|
+
hostFunction('return process')();
|
|
418
|
+
} catch (error) { /* unreachable either way */ }
|
|
419
|
+
return { decision: 'allow', matched: false, reason: 'safe path' };
|
|
420
|
+
}
|
|
421
|
+
`;
|
|
422
|
+
const goldenTrace = createGoldenTraceFixture({
|
|
423
|
+
toolName: 'edit',
|
|
424
|
+
negativeParams: { filePath: '/etc/passwd' },
|
|
425
|
+
positiveParams: { filePath: '/src/index.ts' },
|
|
426
|
+
expectedDecision: 'allow',
|
|
427
|
+
});
|
|
428
|
+
const result = deps.evaluateInSandbox(concatRule, goldenTrace);
|
|
429
|
+
// The scanner misses the dynamic access entirely, and the replay is
|
|
430
|
+
// judged on behavior — no host escape happened (it could not).
|
|
431
|
+
expect(result.forbiddenPatternViolations).toHaveLength(0);
|
|
432
|
+
expect(result.success).toBe(true);
|
|
433
|
+
});
|
|
434
|
+
it('legal allow rule with helpers still works (Case 5a)', () => {
|
|
435
|
+
const result = evaluateRaw(`
|
|
436
|
+
if (helpers.getToolName() === 'edit' && helpers.isRiskPath() === false) {
|
|
437
|
+
return { decision: 'allow', matched: false, reason: 'helpers:' + helpers.getToolName() + ':' + String(helpers.getEstimatedLineChanges()) + ':' + helpers.getBashRisk() + ':' + String(helpers.getEpTier()) };
|
|
438
|
+
}
|
|
439
|
+
return { decision: 'allow', matched: false, reason: 'helpers unexpected' };
|
|
440
|
+
`, probeInput());
|
|
441
|
+
expect(result.reason).toBe('helpers:edit:0:unknown:0');
|
|
442
|
+
});
|
|
443
|
+
it('legal block rule reading input context still works (Case 5b)', () => {
|
|
444
|
+
const result = evaluateRaw(`
|
|
445
|
+
var p = input.action.paramsSummary;
|
|
446
|
+
if (p && p.filePath === '/src/index.ts') {
|
|
447
|
+
return { decision: 'block', matched: true, reason: 'index guarded' };
|
|
448
|
+
}
|
|
449
|
+
return { decision: 'allow', matched: false, reason: 'safe path' };
|
|
450
|
+
`, probeInput());
|
|
451
|
+
expect(result.decision).toBe('block');
|
|
452
|
+
expect(result.matched).toBe(true);
|
|
453
|
+
expect(result.reason).toBe('index guarded');
|
|
454
|
+
});
|
|
455
|
+
it('replay is deterministic: same rule + same input produce identical verdicts', () => {
|
|
456
|
+
const rule = `
|
|
457
|
+
function evaluate(input, helpers) {
|
|
458
|
+
return { decision: 'allow', matched: false, reason: 'det:' + input.action.toolName + ':' + String(input.workspace.isRiskPath) };
|
|
459
|
+
}
|
|
460
|
+
`;
|
|
461
|
+
const evaluate = compileHardenedRuleEvaluator(rule, 'pri-809-determinism');
|
|
462
|
+
const a = evaluate(probeInput(), {});
|
|
463
|
+
const b = evaluate(probeInput(), {});
|
|
464
|
+
expect(JSON.stringify(a)).toBe(JSON.stringify(b));
|
|
465
|
+
});
|
|
466
|
+
it('blocks Function.caller / arguments.callee walks toward host frames (Case 6)', () => {
|
|
467
|
+
// The constructor chain is not the only classic vm-escape family: walking
|
|
468
|
+
// .caller across realm frames is the other. The rule CAN reach the
|
|
469
|
+
// realm-side bridge function via arguments.callee.caller (the bridge is
|
|
470
|
+
// realm code — that is fine), but walking past it must hit the strict
|
|
471
|
+
// host frame (throw/null), and NO reachable frame may yield host process
|
|
472
|
+
// through its constructor chain.
|
|
473
|
+
const result = evaluateRaw(`
|
|
474
|
+
var seen = [];
|
|
475
|
+
var fn = arguments.callee;
|
|
476
|
+
for (var depth = 0; depth < 5; depth++) {
|
|
477
|
+
try {
|
|
478
|
+
fn = fn.caller;
|
|
479
|
+
if (!fn) { seen.push('null@' + depth); break; }
|
|
480
|
+
seen.push(typeof fn + '@' + depth);
|
|
481
|
+
try {
|
|
482
|
+
var proc = fn.constructor.constructor('return process')();
|
|
483
|
+
if (proc && proc.version) {
|
|
484
|
+
return { decision: 'allow', matched: false, reason: 'ESCAPED_VIA_CALLER_' + String(proc.version) };
|
|
485
|
+
}
|
|
486
|
+
seen.push('proc-unreachable@' + depth);
|
|
487
|
+
} catch (ctorError) { seen.push('ctor-throw@' + depth); }
|
|
488
|
+
} catch (walkError) { seen.push('walk-throw@' + depth); break; }
|
|
489
|
+
}
|
|
490
|
+
return { decision: 'allow', matched: false, reason: 'caller-walk:' + seen.join(',') };
|
|
491
|
+
`, probeInput());
|
|
492
|
+
expect(result.reason).not.toContain('ESCAPED_VIA_CALLER');
|
|
493
|
+
expect(result.reason.startsWith('caller-walk:')).toBe(true);
|
|
494
|
+
});
|
|
495
|
+
it('non-JSON-serializable input fails loud instead of crossing the boundary (rc-3)', () => {
|
|
496
|
+
const evaluate = compileHardenedRuleEvaluator('function evaluate(input, helpers) { return { decision: "allow", matched: false, reason: "ok" }; }', 'pri-809-rc3');
|
|
497
|
+
const circular = { toolName: 'edit' };
|
|
498
|
+
circular.self = circular;
|
|
499
|
+
const poison = { derived: circular };
|
|
500
|
+
expect(() => evaluate(poison, {})).toThrow(/not JSON-serializable/);
|
|
501
|
+
});
|
|
502
|
+
});
|
|
341
503
|
//# sourceMappingURL=production-gate-deps.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"production-gate-deps.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/activation/__tests__/production-gate-deps.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"production-gate-deps.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/activation/__tests__/production-gate-deps.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ export { MemoryApprovalQueueStore } from './memory-approval-store.js';
|
|
|
26
26
|
export { SqliteApprovalQueueStore } from './sqlite-approval-store.js';
|
|
27
27
|
export { RuleHostWriter, extractEvidenceRefs } from './writers/rule-host-writer.js';
|
|
28
28
|
export type { RuleHostWriterConfig } from './writers/rule-host-writer.js';
|
|
29
|
-
export { createProductionGateDeps } from './production-gate-deps.js';
|
|
29
|
+
export { createProductionGateDeps, compileHardenedRuleEvaluator } from './production-gate-deps.js';
|
|
30
30
|
export { ApprovalCompletionService } from './approval-completion-service.js';
|
|
31
31
|
export type { ApprovalCompletionInput, ApprovalCompletionResult } from './approval-completion-service.js';
|
|
32
32
|
export { RUNTIME_V2_PRINCIPLE_BUDGET, isRecord as isArtifactRecord, filterPromptActivations, resolvePrincipleFromArtifact, trimToBudget, renderPrinciplesToDirectives, } from './prompt-activation-reader-contract.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/activation/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/activation/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ export { RuleHostWriter, extractEvidenceRefs } from './writers/rule-host-writer.
|
|
|
18
18
|
// Story A (PRI-408): Production gate deps factory — canonical vm-based rule
|
|
19
19
|
// compilation for RuleHostWriter gateDeps. Available to all packages that
|
|
20
20
|
// depend on @principles/core (pd-cli, pd-console, plugin).
|
|
21
|
-
export { createProductionGateDeps } from './production-gate-deps.js';
|
|
21
|
+
export { createProductionGateDeps, compileHardenedRuleEvaluator } from './production-gate-deps.js';
|
|
22
22
|
// Story A (PRI-408): Formal approval-completion production service.
|
|
23
23
|
// Replaces demo "approve → direct writer" with structured, idempotent path.
|
|
24
24
|
export { ApprovalCompletionService } from './approval-completion-service.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime-v2/activation/index.ts"],"names":[],"mappings":"AA+BA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,mCAAmC,EACnC,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAElF,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAMpF,OAAO,EAAE,4BAA4B,EAAE,kCAAkC,EAAE,MAAM,oCAAoC,CAAC;AAEtH,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,OAAO,EAAE,6BAA6B,EAAE,iCAAiC,EAAE,MAAM,sCAAsC,CAAC;AAExH,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAEhF,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAE7E,OAAO,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAGjI,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAEzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAGpF,4EAA4E;AAC5E,0EAA0E;AAC1E,2DAA2D;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime-v2/activation/index.ts"],"names":[],"mappings":"AA+BA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,mCAAmC,EACnC,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAElF,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAMpF,OAAO,EAAE,4BAA4B,EAAE,kCAAkC,EAAE,MAAM,oCAAoC,CAAC;AAEtH,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,OAAO,EAAE,6BAA6B,EAAE,iCAAiC,EAAE,MAAM,sCAAsC,CAAC;AAExH,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAEhF,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAE7E,OAAO,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAGjI,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAEzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAGpF,4EAA4E;AAC5E,0EAA0E;AAC1E,2DAA2D;AAC3D,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAEnG,oEAAoE;AACpE,4EAA4E;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAG7E,OAAO,EACL,2BAA2B,EAC3B,QAAQ,IAAI,gBAAgB,EAC5B,uBAAuB,EACvB,4BAA4B,EAC5B,YAAY,EACZ,4BAA4B,GAC7B,MAAM,wCAAwC,CAAC"}
|
|
@@ -19,8 +19,40 @@
|
|
|
19
19
|
* - ERR-002: Compilation failures produce structured error results
|
|
20
20
|
* - ERR-005: Module exports validated with typeof checks, not `as`
|
|
21
21
|
*/
|
|
22
|
+
import type { ReplayEvaluateFn } from '../golden-trace-replay-validator.js';
|
|
22
23
|
import type { RefinerRuleHostGateDeps } from '../internalization/refiner-rulehost-gate.js';
|
|
23
24
|
import type { ToolSemanticRegistry } from '../internalization/tool-semantic-registry.js';
|
|
25
|
+
/**
|
|
26
|
+
* PRI-809: compile rule implementation code in a node:vm sandbox and return
|
|
27
|
+
* a hardened evaluate function for pre-activation replay. This is the shared
|
|
28
|
+
* primitive for every in-process RuleCode execution path (production gate
|
|
29
|
+
* deps, pd-cli demo compile, story-a demo): the host side hands the realm
|
|
30
|
+
* ONLY a JSON string primitive and the vm-realm bridge (see normalizeSource)
|
|
31
|
+
* rebuilds the call input + helpers inside the realm — the same crossing the
|
|
32
|
+
* live host-runtime executor makes inside its child process.
|
|
33
|
+
*
|
|
34
|
+
* Precise boundary contract (what this does and does NOT claim):
|
|
35
|
+
* - INBOUND: host-realm objects never cross. A rule walking
|
|
36
|
+
* `.constructor.constructor` (top-level, nested, or on helpers) lands on
|
|
37
|
+
* the REALM's Function, where `process`/`require` do not exist.
|
|
38
|
+
* - OUTBOUND: the result crosses back as a vm-realm object and is consumed
|
|
39
|
+
* only through the canonical validateRuleHostResult (field reads + JSON
|
|
40
|
+
* preview) — the host never invokes functions on it.
|
|
41
|
+
* - TIMEOUT: only compilation is hard-bounded (runInContext timeout). The
|
|
42
|
+
* evaluate call is a host-frame invocation with no hard timeout — same as
|
|
43
|
+
* before this change and as documented in refiner-sandbox-wrapper.ts,
|
|
44
|
+
* whose soft-timeout classification remains the core-side contract; hard
|
|
45
|
+
* cancellation stays a plugin/child-process responsibility.
|
|
46
|
+
* - LOCKSTEP: the helper contract here (five getters over the JSON input)
|
|
47
|
+
* mirrors the live plugin executor's EVALUATION_PROCESS_SOURCE in
|
|
48
|
+
* openclaw-plugin/src/core/rule-implementation-runtime.ts. The two copies
|
|
49
|
+
* are intentionally kept (live path owns process isolation; this file owns
|
|
50
|
+
* in-process replay) but MUST stay semantically identical — change both or
|
|
51
|
+
* neither.
|
|
52
|
+
*
|
|
53
|
+
* @throws if the code fails to compile or does not define a function evaluate
|
|
54
|
+
*/
|
|
55
|
+
export declare function compileHardenedRuleEvaluator(code: string, sourceLabel: string): ReplayEvaluateFn;
|
|
24
56
|
export interface ProductionGateDepsOptions {
|
|
25
57
|
/**
|
|
26
58
|
* PRI-634-F Phase 2: the ToolSemanticRegistry the constructing host resolves
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"production-gate-deps.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/activation/production-gate-deps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;
|
|
1
|
+
{"version":3,"file":"production-gate-deps.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/activation/production-gate-deps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,OAAO,KAAK,EACV,uBAAuB,EACxB,MAAM,6CAA6C,CAAC;AAErD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AAkEzF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,gBAAgB,CAmDhG;AAED,MAAM,WAAW,yBAAyB;IACxC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,GAAE,yBAA8B,GAAG,uBAAuB,CAwFzG"}
|
|
@@ -38,6 +38,15 @@ function isValidRuleHostResult(value) {
|
|
|
38
38
|
/**
|
|
39
39
|
* Normalize rule source code: strip ES module export keywords so the code
|
|
40
40
|
* can be evaluated in a vm context (which doesn't support ESM exports).
|
|
41
|
+
*
|
|
42
|
+
* PRI-809 trust boundary: the module's `evaluate` export is bridged through
|
|
43
|
+
* a JSON-string wrapper, so the host-side call site can only ever hand the
|
|
44
|
+
* realm a primitive JSON string. The call input and the helpers are rebuilt
|
|
45
|
+
* INSIDE the vm realm from the context's own intrinsics — mirroring the live
|
|
46
|
+
* host-runtime executor. Handing host-realm objects to the vm-realm evaluate
|
|
47
|
+
* function would let unapproved rule code walk `input.constructor.constructor`
|
|
48
|
+
* back to the host Function constructor and reach host process/require.
|
|
49
|
+
* Untrusted input crosses as DATA (a string), never as code or objects.
|
|
41
50
|
*/
|
|
42
51
|
function normalizeSource(sourceCode) {
|
|
43
52
|
const withoutExports = sourceCode
|
|
@@ -46,7 +55,17 @@ function normalizeSource(sourceCode) {
|
|
|
46
55
|
return `${withoutExports}
|
|
47
56
|
globalThis.__pdRuleModule = {
|
|
48
57
|
meta: typeof meta === 'undefined' ? undefined : meta,
|
|
49
|
-
evaluate: typeof evaluate === 'undefined' ? undefined :
|
|
58
|
+
evaluate: typeof evaluate === 'undefined' ? undefined : function (__pdJsonBridge) {
|
|
59
|
+
var __pdCallInput = JSON.parse(__pdJsonBridge);
|
|
60
|
+
var __pdCallHelpers = Object.freeze({
|
|
61
|
+
isRiskPath: function () { return __pdCallInput.workspace.isRiskPath; },
|
|
62
|
+
getToolName: function () { return __pdCallInput.action.toolName; },
|
|
63
|
+
getEstimatedLineChanges: function () { return __pdCallInput.derived.estimatedLineChanges; },
|
|
64
|
+
getBashRisk: function () { return __pdCallInput.derived.bashRisk; },
|
|
65
|
+
getEpTier: function () { return __pdCallInput.evolution.epTier; }
|
|
66
|
+
});
|
|
67
|
+
return evaluate(__pdCallInput, __pdCallHelpers);
|
|
68
|
+
},
|
|
50
69
|
};`;
|
|
51
70
|
}
|
|
52
71
|
/**
|
|
@@ -57,13 +76,36 @@ function isCompiledModuleExports(value) {
|
|
|
57
76
|
return typeof value === 'object' && value !== null;
|
|
58
77
|
}
|
|
59
78
|
/**
|
|
60
|
-
*
|
|
61
|
-
* evaluate function
|
|
62
|
-
*
|
|
79
|
+
* PRI-809: compile rule implementation code in a node:vm sandbox and return
|
|
80
|
+
* a hardened evaluate function for pre-activation replay. This is the shared
|
|
81
|
+
* primitive for every in-process RuleCode execution path (production gate
|
|
82
|
+
* deps, pd-cli demo compile, story-a demo): the host side hands the realm
|
|
83
|
+
* ONLY a JSON string primitive and the vm-realm bridge (see normalizeSource)
|
|
84
|
+
* rebuilds the call input + helpers inside the realm — the same crossing the
|
|
85
|
+
* live host-runtime executor makes inside its child process.
|
|
86
|
+
*
|
|
87
|
+
* Precise boundary contract (what this does and does NOT claim):
|
|
88
|
+
* - INBOUND: host-realm objects never cross. A rule walking
|
|
89
|
+
* `.constructor.constructor` (top-level, nested, or on helpers) lands on
|
|
90
|
+
* the REALM's Function, where `process`/`require` do not exist.
|
|
91
|
+
* - OUTBOUND: the result crosses back as a vm-realm object and is consumed
|
|
92
|
+
* only through the canonical validateRuleHostResult (field reads + JSON
|
|
93
|
+
* preview) — the host never invokes functions on it.
|
|
94
|
+
* - TIMEOUT: only compilation is hard-bounded (runInContext timeout). The
|
|
95
|
+
* evaluate call is a host-frame invocation with no hard timeout — same as
|
|
96
|
+
* before this change and as documented in refiner-sandbox-wrapper.ts,
|
|
97
|
+
* whose soft-timeout classification remains the core-side contract; hard
|
|
98
|
+
* cancellation stays a plugin/child-process responsibility.
|
|
99
|
+
* - LOCKSTEP: the helper contract here (five getters over the JSON input)
|
|
100
|
+
* mirrors the live plugin executor's EVALUATION_PROCESS_SOURCE in
|
|
101
|
+
* openclaw-plugin/src/core/rule-implementation-runtime.ts. The two copies
|
|
102
|
+
* are intentionally kept (live path owns process isolation; this file owns
|
|
103
|
+
* in-process replay) but MUST stay semantically identical — change both or
|
|
104
|
+
* neither.
|
|
63
105
|
*
|
|
64
106
|
* @throws if the code fails to compile or does not define a function evaluate
|
|
65
107
|
*/
|
|
66
|
-
function
|
|
108
|
+
export function compileHardenedRuleEvaluator(code, sourceLabel) {
|
|
67
109
|
if (typeof code !== 'string' || code.trim().length === 0) {
|
|
68
110
|
throw new Error(`[${sourceLabel}] rule code is empty or not a string`);
|
|
69
111
|
}
|
|
@@ -80,8 +122,19 @@ function compileRuleCode(code, sourceLabel) {
|
|
|
80
122
|
if (typeof evaluateFn !== 'function') {
|
|
81
123
|
throw new Error(`[${sourceLabel}] compiled module has no evaluate function`);
|
|
82
124
|
}
|
|
83
|
-
return (input,
|
|
84
|
-
|
|
125
|
+
return (input, _helpers) => {
|
|
126
|
+
// Trust-boundary crossing: serialize host-built input to a JSON string
|
|
127
|
+
// primitive. The vm-realm bridge parses it with the realm's own
|
|
128
|
+
// intrinsics — a rule walking `.constructor.constructor` lands on the
|
|
129
|
+
// realm's Function (where `process` does not exist), never on the host.
|
|
130
|
+
let inputJson;
|
|
131
|
+
try {
|
|
132
|
+
inputJson = JSON.stringify(input);
|
|
133
|
+
}
|
|
134
|
+
catch (err) {
|
|
135
|
+
throw new Error(`[${sourceLabel}] replay input is not JSON-serializable (trust-boundary crossing requires plain data): ${err instanceof Error ? err.message : String(err)}`, { cause: err });
|
|
136
|
+
}
|
|
137
|
+
const result = evaluateFn(inputJson);
|
|
85
138
|
// PRI-634 PR-A (Slice A): canonical RuleHostResult authority. The failure
|
|
86
139
|
// message carries the canonical validator's specific errors so the
|
|
87
140
|
// write-test-fix loop receives actionable evidence (P-03).
|
|
@@ -155,7 +208,7 @@ export function createProductionGateDeps(options = {}) {
|
|
|
155
208
|
}
|
|
156
209
|
let evaluateCode;
|
|
157
210
|
try {
|
|
158
|
-
evaluateCode =
|
|
211
|
+
evaluateCode = compileHardenedRuleEvaluator(code, 'production-gate-deps');
|
|
159
212
|
}
|
|
160
213
|
catch (err) {
|
|
161
214
|
const message = err instanceof Error ? err.message : String(err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"production-gate-deps.js","sourceRoot":"","sources":["../../../src/runtime-v2/activation/production-gate-deps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAU9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,kCAAkC,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AACnJ,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE;;;;;;;GAOG;AACH,SAAS,qBAAqB,CAAC,KAAc;IAC3C,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;AAC7C,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"production-gate-deps.js","sourceRoot":"","sources":["../../../src/runtime-v2/activation/production-gate-deps.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-host-writer.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/activation/writers/rule-host-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAuB,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzK,OAAO,KAAK,EAAE,uBAAuB,EAA6B,MAAM,gDAAgD,CAAC;AAEzH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AAO5F,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,uBAAuB,CAAC;IAClC;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAuFD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,IAAI,CAUpF;AA0CD,qBAAa,cAAe,YAAW,aAAa;IAClD,QAAQ,CAAC,OAAO,EAAG,gBAAgB,CAAU;IAE7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAA8B;IAChE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAuB;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;IAErC,YAAY,MAAM,EAAE,oBAAoB,EAKvC;IAEK,WAAW,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAsI1E;IAGK,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"rule-host-writer.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/activation/writers/rule-host-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAuB,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzK,OAAO,KAAK,EAAE,uBAAuB,EAA6B,MAAM,gDAAgD,CAAC;AAEzH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AAO5F,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,uBAAuB,CAAC;IAClC;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAuFD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,IAAI,CAUpF;AA0CD,qBAAa,cAAe,YAAW,aAAa;IAClD,QAAQ,CAAC,OAAO,EAAG,gBAAgB,CAAU;IAE7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAA8B;IAChE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAuB;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;IAErC,YAAY,MAAM,EAAE,oBAAoB,EAKvC;IAEK,WAAW,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAsI1E;IAGK,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,CA4BtF;IAGD,oBAAoB,CAClB,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,kBAAkB,EAC5B,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI,CAAC,oBAAoB,EAAE,SAAS,GAAG,eAAe,GAAG,uBAAuB,GAAG,mBAAmB,GAAG,iBAAiB,CAAC,CA0C7H;CACF"}
|
|
@@ -279,10 +279,14 @@ export class RuleHostWriter {
|
|
|
279
279
|
// activation first. Shadow activations are observation-only — the
|
|
280
280
|
// runtime RuleHost (rule-host.ts) records would-block/would-allow into
|
|
281
281
|
// `shadowDecisions` but never blocks or modifies the tool call. The
|
|
282
|
-
//
|
|
283
|
-
//
|
|
284
|
-
//
|
|
285
|
-
//
|
|
282
|
+
// production shadow -> live transition is the sanctioned promotion path
|
|
283
|
+
// (SqliteActivationSafetyStore.commitPromotion, driven by `pd activation
|
|
284
|
+
// promote --activation-id ... --confirm` or the Console equivalent),
|
|
285
|
+
// which swaps the persisted action to live under the safety store's
|
|
286
|
+
// guarded transaction. Note: SqliteActivationStateStore.promoteActivation
|
|
287
|
+
// also rewrites the action in a BEGIN IMMEDIATE transaction, but it has
|
|
288
|
+
// no production callers (tests only) — do not wire new code to it
|
|
289
|
+
// (PRI-818 comment correction; audited 2026-09-15).
|
|
286
290
|
//
|
|
287
291
|
// Returning `code_tool_hook_live_activate` here was the seed-MVP
|
|
288
292
|
// release blocker: a newly approved rule would immediately block
|