#217. e2e/specs/queue-selection.spec.ts filters the tracks it queues
with t.Album !== '' and carries a comment explaining why: a track with
no album renders a name explore-link cannot route, and one of the
tests clicks that name. The comment named the two tracks it had in mind
as 01 Tone A and 02 Tone B — which stopped being true at #104,
when the scan learned to read a WAV's id3 chunk.
What changed
The two names, and one clause saying which change made the old ones
wrong so the next reader does not restore them. Nothing else: the
filter, its reason, and all five assertions are untouched.
The replacement names were asked of a seeded app rather than read
off the fixture generator — /__test/sql over audio_files joined to albums, against make dev-headless SEED=default on main:
19 album='Test Tones' title='Tone B' Field Recordings/Test Tones/02 Tone B.wav
20 album='Test Tones' title='Tone A' Field Recordings/Test Tones/01 Tone A.wav
28 album='-' title='no-tags-at-all' unsorted/no-tags-at-all.mp3
29 album='-' title='Title Only' unsorted/title-only.mp3
Exactly two of 31 tracks have no album, and they are not the WAVs.
Verification
make e2e — 244 passed against make dev-headless SEED=default
with YJ_CORE_INDEX_URL at a dead address (the configuration ci.yml runs). Port 34115 was free; no other worktree was running
the app.
The five queue-selection specs additionally run on their own —
5 passed.
npx tsc --noEmit clean in e2e/. make skill-check and make css-check clean.
No Go, no .sql, no .templ, no bound signature, nothing under frontend/src: make lint, make test, make generate, make bindings, make ui-test and make ui-visual were not run,
and nothing renders differently, so no screenshot tier applies.
Deliberately not done
The same staleness elsewhere is #225, not a bigger diff here. .pi/skills/yellowjacket-dev/references/fixtures.md still tells an
agent the WAVs scan in untitled and names TestWAVTagsAreNotReadableYet,
a test #104 deleted; .planning/NOTES.md carries it twice more, in
dated entries where correcting history is a judgement about what that
file is for.
#168 was this run's intended pick and is refuted rather than fixed.
It reports that a job staged with /__test/emit outlives the spec file
that staged it. Measured under its own conditions — a probe making
exactly the draft assertion it describes, run alone, run after both job
specs, and run last inside a full make e2e — contentTop is 0 in all
three, which is the value the issue says fails in a suite run, and jobs.Service.GetJobs on a fresh page shows no staged job at all. It
is structural: /__test/emit is events.Deliver and touches no
registry, Playwright gives each test a fresh context, and job-store
rebuilds from GetJobs() on load. The measurements are on the issue;
whether it becomes a docs-only issue for the rule it also states or is
closed Reviewed/Invalid is left to a human.
## What the issue was
#217. `e2e/specs/queue-selection.spec.ts` filters the tracks it queues
with `t.Album !== ''` and carries a comment explaining why: a track with
no album renders a name `explore-link` cannot route, and one of the
tests clicks that name. The comment named the two tracks it had in mind
as `01 Tone A` and `02 Tone B` — which stopped being true at #104,
when the scan learned to read a WAV's `id3 ` chunk.
## What changed
The two names, and one clause saying which change made the old ones
wrong so the next reader does not restore them. Nothing else: the
filter, its reason, and all five assertions are untouched.
The replacement names were **asked of a seeded app** rather than read
off the fixture generator — `/__test/sql` over `audio_files` joined to
`albums`, against `make dev-headless SEED=default` on `main`:
```
19 album='Test Tones' title='Tone B' Field Recordings/Test Tones/02 Tone B.wav
20 album='Test Tones' title='Tone A' Field Recordings/Test Tones/01 Tone A.wav
28 album='-' title='no-tags-at-all' unsorted/no-tags-at-all.mp3
29 album='-' title='Title Only' unsorted/title-only.mp3
```
Exactly two of 31 tracks have no album, and they are not the WAVs.
## Verification
- `make e2e` — **244 passed** against `make dev-headless SEED=default`
with `YJ_CORE_INDEX_URL` at a dead address (the configuration
`ci.yml` runs). Port 34115 was free; no other worktree was running
the app.
- The five `queue-selection` specs additionally run on their own —
5 passed.
- `npx tsc --noEmit` clean in `e2e/`. `make skill-check` and
`make css-check` clean.
- No Go, no `.sql`, no `.templ`, no bound signature, nothing under
`frontend/src`: `make lint`, `make test`, `make generate`,
`make bindings`, `make ui-test` and `make ui-visual` were not run,
and nothing renders differently, so no screenshot tier applies.
## Deliberately not done
**The same staleness elsewhere is #225, not a bigger diff here.**
`.pi/skills/yellowjacket-dev/references/fixtures.md` still tells an
agent the WAVs scan in untitled and names `TestWAVTagsAreNotReadableYet`,
a test #104 deleted; `.planning/NOTES.md` carries it twice more, in
dated entries where correcting history is a judgement about what that
file is for.
**#168 was this run's intended pick and is refuted rather than fixed.**
It reports that a job staged with `/__test/emit` outlives the spec file
that staged it. Measured under its own conditions — a probe making
exactly the draft assertion it describes, run alone, run after both job
specs, and run last inside a full `make e2e` — `contentTop` is 0 in all
three, which is the value the issue says fails in a suite run, and
`jobs.Service.GetJobs` on a fresh page shows no staged job at all. It
is structural: `/__test/emit` is `events.Deliver` and touches no
registry, Playwright gives each test a fresh context, and `job-store`
rebuilds from `GetJobs()` on load. The measurements are on the issue;
whether it becomes a docs-only issue for the rule it also states or is
closed `Reviewed/Invalid` is left to a human.
Closes #217
`queueSixAndOpen` filters the queue down to tracks that have an album,
because `explore-link` renders a name it cannot route as plain text and
one test clicks that name. The filter is right and unchanged; the
comment explaining it named the wrong two files.
Since #104 read a WAV's `id3 ` chunk, the two tracks under `Field
Recordings/Test Tones` are tagged, scanned and ordinary. Asked of a
seeded app rather than of the comment, exactly two tracks in the
fixture library have no album: `unsorted/no-tags-at-all.mp3` and
`unsorted/title-only.mp3`.
The clause saying which change made the old names wrong is there so the
next reader does not restore them.
Closes#217
CI green on run 18014 — both jobs, and the WebKit step ran rather than being skipped, which is worth saying since a chromium failure silently takes it with it.
CI green on run 18014 — both jobs, and the WebKit step ran rather than being skipped, which is worth saying since a chromium failure silently takes it with it.
```
check success commit-check, lint, test (3 configs), tsc, ui-test, bindings-check, skill-check
e2e success E2E — chromium ✓ E2E — webkit ✓
```
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
What the issue was
#217.
e2e/specs/queue-selection.spec.tsfilters the tracks it queueswith
t.Album !== ''and carries a comment explaining why: a track withno album renders a name
explore-linkcannot route, and one of thetests clicks that name. The comment named the two tracks it had in mind
as
01 Tone Aand02 Tone B— which stopped being true at #104,when the scan learned to read a WAV's
id3chunk.What changed
The two names, and one clause saying which change made the old ones
wrong so the next reader does not restore them. Nothing else: the
filter, its reason, and all five assertions are untouched.
The replacement names were asked of a seeded app rather than read
off the fixture generator —
/__test/sqloveraudio_filesjoined toalbums, againstmake dev-headless SEED=defaultonmain:Exactly two of 31 tracks have no album, and they are not the WAVs.
Verification
make e2e— 244 passed againstmake dev-headless SEED=defaultwith
YJ_CORE_INDEX_URLat a dead address (the configurationci.ymlruns). Port 34115 was free; no other worktree was runningthe app.
queue-selectionspecs additionally run on their own —5 passed.
npx tsc --noEmitclean ine2e/.make skill-checkandmake css-checkclean..sql, no.templ, no bound signature, nothing underfrontend/src:make lint,make test,make generate,make bindings,make ui-testandmake ui-visualwere not run,and nothing renders differently, so no screenshot tier applies.
Deliberately not done
The same staleness elsewhere is #225, not a bigger diff here.
.pi/skills/yellowjacket-dev/references/fixtures.mdstill tells anagent the WAVs scan in untitled and names
TestWAVTagsAreNotReadableYet,a test #104 deleted;
.planning/NOTES.mdcarries it twice more, indated entries where correcting history is a judgement about what that
file is for.
#168 was this run's intended pick and is refuted rather than fixed.
It reports that a job staged with
/__test/emitoutlives the spec filethat staged it. Measured under its own conditions — a probe making
exactly the draft assertion it describes, run alone, run after both job
specs, and run last inside a full
make e2e—contentTopis 0 in allthree, which is the value the issue says fails in a suite run, and
jobs.Service.GetJobson a fresh page shows no staged job at all. Itis structural:
/__test/emitisevents.Deliverand touches noregistry, Playwright gives each test a fresh context, and
job-storerebuilds from
GetJobs()on load. The measurements are on the issue;whether it becomes a docs-only issue for the rule it also states or is
closed
Reviewed/Invalidis left to a human.Closes #217
CI green on run 18014 — both jobs, and the WebKit step ran rather than being skipped, which is worth saying since a chromium failure silently takes it with it.