Initial commit with translated description
This commit is contained in:
36
test/evolvePolicy.test.js
Normal file
36
test/evolvePolicy.test.js
Normal file
@@ -0,0 +1,36 @@
|
||||
const { describe, it } = require('node:test');
|
||||
const assert = require('node:assert/strict');
|
||||
const { computeAdaptiveStrategyPolicy } = require('../src/evolve');
|
||||
|
||||
describe('computeAdaptiveStrategyPolicy', () => {
|
||||
it('forces innovation after repeated repair/failure streaks', () => {
|
||||
const policy = computeAdaptiveStrategyPolicy({
|
||||
signals: ['stable_success_plateau'],
|
||||
selectedGene: { type: 'Gene', id: 'gene_x', constraints: { max_files: 20 } },
|
||||
recentEvents: [
|
||||
{ intent: 'repair', outcome: { status: 'failed' } },
|
||||
{ intent: 'repair', outcome: { status: 'failed' } },
|
||||
{ intent: 'repair', outcome: { status: 'failed' } },
|
||||
],
|
||||
});
|
||||
assert.equal(policy.forceInnovate, true);
|
||||
assert.ok(policy.blastRadiusMaxFiles <= 10);
|
||||
});
|
||||
|
||||
it('shrinks blast radius for high-risk genes with overlapping anti-patterns', () => {
|
||||
const policy = computeAdaptiveStrategyPolicy({
|
||||
signals: ['perf_bottleneck'],
|
||||
selectedGene: {
|
||||
type: 'Gene',
|
||||
id: 'gene_perf',
|
||||
constraints: { max_files: 18 },
|
||||
anti_patterns: [{ mode: 'hard', learning_signals: ['problem:performance'] }],
|
||||
learning_history: [],
|
||||
},
|
||||
recentEvents: [],
|
||||
});
|
||||
assert.equal(policy.highRiskGene, true);
|
||||
assert.ok(policy.blastRadiusMaxFiles <= 6);
|
||||
assert.equal(policy.cautiousExecution, true);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user