Gauntlet #340: fix first-run baseline self-compare; pathfinder ramp start

First full run exposed two issues: (1) write_run promotes baseline.json before
the results scene loads it, so a first run compared against itself and showed
'= same' instead of FIRST RUN -- detect via the _promoted_baseline flag;
(2) pathfinder_rush started at 5 queries/tick, but queries burst on one 100 ms
tick frame, so the very first hold window failed (p95 38.9 ms) and scored 0 --
start the ramp at 1 query/tick so the sustainable level is actually found.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
John McCardle 2026-07-02 20:31:47 -04:00
commit d651a86776
2 changed files with 9 additions and 2 deletions

View file

@ -47,7 +47,12 @@ def trial_meta():
# ------------------------------------------------------------------ results
def build_results_scene(record):
baseline = baseline_io.load_baseline()
# If this run was just promoted to baseline.json, it IS the baseline --
# show FIRST RUN rather than comparing the run against itself.
if record.get("_promoted_baseline"):
baseline = None
else:
baseline = baseline_io.load_baseline()
cmp = baseline_io.compare(record, baseline)
meta = trial_meta()

View file

@ -20,7 +20,9 @@ class PathfinderRush(Trial):
unit = "queries/tick"
accent = (76, 194, 110)
description = "A* find_path queries across a static maze"
base_load = 5
# Queries are issued in a burst on the 100 ms sim tick, so even a handful
# spike a single frame; start the ramp at 1 so the sustainable level is found.
base_load = 1
growth = 1.6
def setup(self, scene, ui):