openclaw/scripts/lib/code-mode-matrix-performance-fixtures.ts
Peter Steinberger dfb2cee6d8
chore: compare Code Mode against disabled on complex workloads (#155613)
* test: add paired Code Mode workload evaluation

* test: preserve initial evidence assertion during build rechecks

* test: align Code Mode evidence checks with paired admission

* ci: refresh merge proof after upstream pairing repair

Refresh the merge ref after main fixed the observed SSH-pairing fixture race in f87f23c483. No source changes.
2026-09-22 04:24:26 -07:00

49 lines
1.5 KiB
TypeScript

import { DATA_TASKS, createDataFixture, isDataTask } from "./code-mode-matrix-data-tasks.ts";
import {
FANOUT_MATRIX_TASKS,
createFanoutMatrixFixture,
isFanoutMatrixTask,
} from "./code-mode-matrix-fanout-tasks.ts";
import type { MatrixPerformanceFixture } from "./code-mode-matrix-performance-types.ts";
import {
RECOVERY_MATRIX_TASKS,
createRecoveryMatrixFixture,
isRecoveryMatrixTask,
} from "./code-mode-matrix-recovery-tasks.ts";
import {
REPOSITORY_MATRIX_TASKS,
createRepositoryMatrixFixture,
isRepositoryMatrixTask,
} from "./code-mode-matrix-repository-tasks.ts";
export const MATRIX_PERFORMANCE_TASKS = [
...DATA_TASKS,
...REPOSITORY_MATRIX_TASKS,
...FANOUT_MATRIX_TASKS,
...RECOVERY_MATRIX_TASKS,
] as const;
export type MatrixPerformanceTask = (typeof MATRIX_PERFORMANCE_TASKS)[number];
export function isMatrixPerformanceTask(task: string): task is MatrixPerformanceTask {
return MATRIX_PERFORMANCE_TASKS.some((candidate) => candidate === task);
}
export function createMatrixPerformanceFixture(
task: MatrixPerformanceTask,
repetition: number,
): MatrixPerformanceFixture {
if (isDataTask(task)) {
return createDataFixture(task, repetition);
}
if (isRepositoryMatrixTask(task)) {
return createRepositoryMatrixFixture(task, repetition);
}
if (isFanoutMatrixTask(task)) {
return createFanoutMatrixFixture(task, repetition);
}
if (isRecoveryMatrixTask(task)) {
return createRecoveryMatrixFixture(task, repetition);
}
throw new Error(`Unknown performance task: ${String(task)}`);
}