perf(planning): validate each optimization configuration once

Every objective evaluation revalidated its optimization configuration.
Rule normalization already validates each configuration once per
calculation and keeps its own copy, the presets are constant, and the
summed variant of a valid configuration stays valid, so the core now
scores them without revalidating. evaluateOptimization still validates
for other callers.

Part of #302.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
nessarandClaude Opus 5.5 committed 2026-10-18 20:03:22 +02:00
1 parent b7ec411c92
commit 9d9404c3db
4 files changed
+43 -14

No files matched your search

+8
View File
@@ -212,6 +212,14 @@ export function evaluateOptimization(
): number {
const validation = validateOptimizationConfiguration(configuration);
if (!validation.valid) throw new Error(`${validation.code}: ${validation.message}`);
return evaluateValidatedOptimization(configuration, observations);
}
/** Scores a configuration that {@link validateOptimizationConfiguration} already accepted. */
export function evaluateValidatedOptimization(
configuration: OptimizationConfiguration,
observations: OptimizationObservations,
): number {
const selected = (condition: OptimizationCondition) =>
configuration.conditions.includes(condition);
let values: number[];