61 lines
2 KiB
PHP
61 lines
2 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
use App\Models\InfrabenchResult;
|
||
|
|
use App\Models\ProsebenchResult;
|
||
|
|
use App\Models\PsychbenchResult;
|
||
|
|
use App\Models\ScenarioRun;
|
||
|
|
use App\Models\SoftbenchResult;
|
||
|
|
|
||
|
|
// Suite registry: the single source of truth for which bench suites exist,
|
||
|
|
// which model stores their results, and whether they are active.
|
||
|
|
//
|
||
|
|
// - `active => false` removes the suite from the all_results view and the
|
||
|
|
// home page (decommissioning) — historical data stays queryable and run
|
||
|
|
// detail pages keep rendering.
|
||
|
|
// - The view is rebuilt by `festbench:suites:refresh` after editing this file.
|
||
|
|
// - Adding a future suite: create its migration + model, add it here, run
|
||
|
|
// the refresh command.
|
||
|
|
|
||
|
|
return [
|
||
|
|
'suites' => [
|
||
|
|
'softbench' => [
|
||
|
|
'model' => SoftbenchResult::class,
|
||
|
|
'active' => true,
|
||
|
|
'in_all_results' => true,
|
||
|
|
],
|
||
|
|
'infrabench' => [
|
||
|
|
'model' => InfrabenchResult::class,
|
||
|
|
'active' => true,
|
||
|
|
'in_all_results' => true,
|
||
|
|
],
|
||
|
|
'prosebench' => [
|
||
|
|
'model' => ProsebenchResult::class,
|
||
|
|
'active' => true,
|
||
|
|
'in_all_results' => true,
|
||
|
|
],
|
||
|
|
'psychbench' => [
|
||
|
|
'model' => PsychbenchResult::class,
|
||
|
|
'active' => true,
|
||
|
|
'in_all_results' => true,
|
||
|
|
],
|
||
|
|
'scenariobench' => [
|
||
|
|
'model' => ScenarioRun::class,
|
||
|
|
'active' => true,
|
||
|
|
// Agentic metrics (turns, submissions) — no tok/s semantics, so
|
||
|
|
// it is excluded from the combined metric view.
|
||
|
|
'in_all_results' => false,
|
||
|
|
],
|
||
|
|
],
|
||
|
|
|
||
|
|
// Source table in the festbench SQLite db for each suite ('results' is
|
||
|
|
// the generic metrics table; scenariobench has its own).
|
||
|
|
'source_tables' => [
|
||
|
|
'scenariobench' => 'scenario_runs',
|
||
|
|
],
|
||
|
|
|
||
|
|
// Caching: TTL staleness only — never event-flush. At high submission
|
||
|
|
// rates, event flushes would storm the cache; benchmark data being a
|
||
|
|
// couple of minutes old is correct behavior.
|
||
|
|
'home_cache_ttl' => env('FESTBENCH_HOME_CACHE_TTL', 300),
|
||
|
|
];
|