test: add scenario eval runner, recorded fixtures, and baseline comparison

This commit is contained in:
Justin Visser 2026-08-10 22:21:04 +02:00
parent 3dc1af5f0c
commit 0664cc2d27
38 changed files with 6986 additions and 5 deletions

View file

@ -370,3 +370,29 @@ Wat ik heb laten vallen of uitgesteld:
- Een repair loop die gefaalde kandidaten opnieuw aan het model
voorlegt; blijft staan als potentiele vervolgstap.
### Evaluatie en fixtures
Wat ik deed:
- Een eval-script dat de app de 8 standaardvragen stelt en de antwoorden
controleert: komen de events in de juiste volgorde, zijn alle tracks
uniek, heeft elke track een reden, kwam de eerste kaart binnen het
tijdsbudget, en gaat het antwoord echt over wat er gevraagd werd.
- Dezelfde 8 vragen ook aan de kale Spotify search gesteld; de
vergelijking tussen die twee wordt de tabel in de README.
- Elk scenario 1 keer opgenomen tegen de echte API's en opgeslagen als
cassettes; demo mode speelt die af, dus de app werkt straks ook zonder
keys. Persoonlijke data gaat er bij het opnemen uit (nepprofiel, geen
tokens); de ruwe opnames blijven buiten git.
- Dit draait ook in CI, zonder keys.
Waarom:
- De claim dat de LLM-laag iets toevoegt moet meetbaar zijn, niet
beweerd. En de reviewer moet de app kunnen starten zonder eigen keys.
Wat ik heb laten vallen of uitgesteld:
- Byte-snapshots per pipeline-stap; de checks hierboven en de cassettes
zijn nu het bewijs.