festbench-web/database/migrations/2026_10_04_000001_split_band_totals.php
PeterChrz 7e57fb5e16
Split band total into Devlogic and Sysops; remove config badge
Replace the single Band total with two adjacent metric groups:
- Devlogic total: softbench, prosebench, psychbench, depthsweep
  (all non-infra, non-scenario suites)
- Sysops total: infrabench + scenariobench

Each group independently shows geo-mean tok/s, total tokens, and
pass/fail counts. Scenariobench contributes per-observation
gen_tokens/wall rates to the sysops geo-mean.

Remove the server-config badge (e.g. 'llama.cpp DFlash spec-decode,
131k ctx, fa on') from the front-page card header. Label, quant, and
engine badges remain.

Migration drops the old total_* columns and adds devlogic_* and
sysops_* columns to session_summaries.
2026-10-04 23:38:13 -04:00

46 lines
1.9 KiB
PHP

<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up(): void
{
Schema::table('session_summaries', function (Blueprint $table) {
$table->decimal('devlogic_tps', 10, 1)->nullable()
->comment('Geo-mean tok/s across devlogic suites (softbench, prosebench, psychbench, depthsweep, …)');
$table->unsignedInteger('devlogic_tokens')->default(0);
$table->unsignedInteger('devlogic_passed')->default(0);
$table->unsignedInteger('devlogic_failed')->default(0);
$table->decimal('sysops_tps', 10, 1)->nullable()
->comment('Geo-mean tok/s across sysops suites (infrabench, scenariobench)');
$table->unsignedInteger('sysops_tokens')->default(0);
$table->unsignedInteger('sysops_passed')->default(0);
$table->unsignedInteger('sysops_failed')->default(0);
});
Schema::table('session_summaries', function (Blueprint $table) {
$table->dropColumn(['total_tps', 'total_tokens', 'total_passed', 'total_failed']);
});
}
public function down(): void
{
Schema::table('session_summaries', function (Blueprint $table) {
$table->decimal('total_tps', 10, 1)->nullable()->after('ran_at');
$table->unsignedInteger('total_tokens')->default(0);
$table->unsignedInteger('total_passed')->default(0);
$table->unsignedInteger('total_failed')->default(0);
});
Schema::table('session_summaries', function (Blueprint $table) {
$table->dropColumn([
'devlogic_tps', 'devlogic_tokens', 'devlogic_passed', 'devlogic_failed',
'sysops_tps', 'sysops_tokens', 'sysops_passed', 'sysops_failed',
]);
});
}
};