mirror of
https://github.com/garrytan/gstack.git
synced 2026-10-04 18:36:54 +02:00
feat(evals): stamp trial series identities and fit panels to the live registry
- scripts/eval-trial-series.ts stamps series_identity (eval-flake-rank's caseSeriesIdentities) on a report's trial-outcomes JSONL as its own step, keeping the history tool out of the paid runner's closure; TrialOutcomeRecord gains the optional series_identity field. - Slice-count plans let a registered trial spill into an ordinary lane when its siblings hold every long lane, so panels never share a runner. - Re-audited test-selection.ts (Stream B added the E2E_KINDS/BEHAVIOR_WHY map-diff; no new module loading) and repinned its hash. - Detach and release floors now count trial shards (66 periodic trials in 22 panels): periodic floor 33,821s, still under eval:bg:periodic's 67,380s. - Coordination fixtures supply the executor's trial records.
This commit is contained in:
1 parent
d5876efa5d
commit
62fb9a255d
8 files changed
+76
-31
No files matched your search
@@ -11,6 +11,7 @@ import * as os from 'node:os';
|
||||
import * as path from 'node:path';
|
||||
import { spawnSync } from 'node:child_process';
|
||||
import { parseRunManifest, type PaidRunManifest, type SliceResult } from '../scripts/test-paid-shards';
|
||||
import { stampTrialSeries } from '../scripts/eval-trial-series';
|
||||
|
||||
const ROOT = path.resolve(import.meta.dir, '..');
|
||||
const RULE_A = 'test/skill-e2e-fail-open-alpha.test.ts';
|
||||
@@ -148,8 +149,12 @@ describe('behavior and quarantined panels through --report', () => {
|
||||
const summary = JSON.parse(fs.readFileSync(path.join(r.dir, 'collector-outcomes.json'), 'utf8'));
|
||||
expect(summary.version).toBe(2);
|
||||
expect(summary.panels[0]).toMatchObject({ case: ID, status: 'PASS', split: true, failsLane: false });
|
||||
const history = fs.readFileSync(path.join(r.dir, 'trial-outcomes.jsonl'), 'utf8').trim().split('\n').map(line => JSON.parse(line));
|
||||
expect(history.map(h => [h.trial, h.outcome])).toEqual([[1, 'passed'], [2, 'failed'], [3, 'passed']]);
|
||||
const outcomesFile = path.join(r.dir, 'trial-outcomes.jsonl');
|
||||
const history = () => fs.readFileSync(outcomesFile, 'utf8').trim().split('\n').map(line => JSON.parse(line));
|
||||
expect(history().map(h => [h.trial, h.outcome])).toEqual([[1, 'passed'], [2, 'failed'], [3, 'passed']]);
|
||||
expect(stampTrialSeries(outcomesFile)).toBe(3);
|
||||
expect(new Set(history().map(h => h.series_identity)).size).toBe(1);
|
||||
expect(history()[0].series_identity).toMatch(/^[0-9a-f]{16}$/);
|
||||
});
|
||||
|
||||
test('behavior 1/3: red', () => {
|
||||
|
||||
Reference in new issue
Block a user