Skip to content

[Bug]: The browser-test fixture seeds peaks and beats where the API cannot find them #379

Description

@thcp

What happens

tests/e2e/seed.py writes both peaks.json and beats.json into the job
root. The pipeline writes them under stems/, and that is the only place the
endpoints look:

Artifact Fixture wrote API reads (_beats_paths, stems.py)
beats.json <job>/beats.json <job>/stems/beats.json
peaks.json <job>/peaks.json <job>/stems/peaks.json

Both 404 for the whole life of the browser suite.

Why it matters

Neither failure is loud — each degrades to a working-but-different path, so the
suite stays green while covering less than it appears to:

  • Beats: the studio reports "No beat grid for this track" and every
    click-track control stays disabled. The click track, the count-in and the
    grid editor cannot be covered in a browser at all — while seed.py, at a
    glance, looks like it covers them.
  • Peaks: the studio falls back to decoding every stem for its waveforms.
    The precomputed-peaks path that every real track takes is never exercised;
    the fixture silently tests the fallback instead.

Expected

The fixture writes each artifact where the pipeline does, and a test asserts
the beat grid actually reaches the studio — so this class of silent
degradation fails loudly next time.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingciCI/CD pipeline and automation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions