Testing #130
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
thomas_knaus/RaceEngineer#130
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Phase 1: Regressions- & Validierungstest (F1 25)
• Ziel: Prüfen, ob die Prompt-Fixes für den UnifiedTrackLimitsAgent und den F1VSCDeltaAgent im Pro-Modus (Level 2) einwandfrei funktionieren.
• Durchführung:
1. Starte die App im BASIC-Modus (Level 0), erzeuge 1 Strike und prüfe, ob Bernd die statische deutsche Ansage spricht.
2. Schalte auf Level 2 um (Hot-Reload abwarten), erzeuge Strike 2 und die Strafe.
3. Erwartetes Ergebnis: Die TTS gibt nun einen sauberen, natürlichen Funkspruch aus (z. B. "Erste Verwarnung wegen Track Limits, fahr sauberer"), ohne jegliche LLM-Metadaten oder
Steuerbefehle im Sprachausfluss.
──────
Phase 2: Multi-Simulationstest (ACC & iRacing)
• Ziel: Verifizieren der simulationsübergreifenden Logik des UnifiedTrackLimitsAgent .
• Durchführung:
• Assetto Corsa Competizione (ACC): Simuliere oder fahre einen Offtrack, der die aktuelle Runde ungültig macht ( is_lap_invalidated wechselt auf true ).
• Erwartetes Ergebnis: Der Agent fängt die Rundenungültigkeit ab und triggert: "ACC Track Limits: Die aktuelle Runde wurde ungültig gemacht."
• iRacing: Simuliere ein Ansteigen der Vorfallspunkte (Incidents), z. B. von 0 auf 4, dann auf 12 und schließlich auf 15 von 17 maximal erlaubten Vorfallspunkten.
• Erwartetes Ergebnis: Bei Annäherung an das Limit (DQ-Gefahr) muss der NearPenalty -Trigger anschlagen: "iRacing incident threshold: Wir stehen kurz vor der Disqualifikation..."
──────
Phase 3: Edge-Case- & Härtetests (Grenzfälle)
• 1. Direkte Strafe ohne Verwarnungen (F1):
• Simuliere das direkte Erhalten einer Durchfahrtsstrafe (Drive-Through) oder einer schweren Strafe, ohne dass vorher der Warnings-Counter hochzählt.
• Erwartetes Ergebnis: Der Agent muss den Sprung im Penalties-Counter sofort als PenaltyReceived werten und den Strike-Counter zurücksetzen.
• 2. Session-Reset (Qualifying → Rennen):
• Simuliere einen Session-Wechsel (z. B. Zurücksetzen der Rundenanzahl auf 1, Zurücksetzen der Warnings auf 0).
• Erwartetes Ergebnis: Der interne Strike-Counter des track_limits_agent muss sich ohne Fehltrigger wieder auf 0 kalibrieren.
──────
Phase 4: Stresstest für das Audio- & TTS-Subsystem
• Ziel: Das Verhalten der Audio-Engine bei einer "Flut" gleichzeitiger Meldungen testen.
• Durchführung: Provoziere innerhalb von 2 Sekunden mehrere unterschiedliche Ereignisse:
• z. B. Runden-Coaching (Prio 1) + Reifenüberhitzung (Prio 2) + Track-Limit-Warnung (Prio 4) + VSC-Aktivierung (Prio 4).
• Erwartetes Ergebnis:
• Höhere Prioritäten (VSC/Track Limits) müssen die Wiedergabe von Coaching-Ansagen sofort unterbrechen (Preemption).
• Es dürfen keine Knackgeräusche, unvollständige Audio-Fetzen oder Abstürze in der rodio -Audioausgabe auftreten.
──────
Mein Vorschlag zum Vorgehen:
Wenn du das Setup bereit hast, lass uns mit Phase 1 starten (gleiches F1-Szenario noch einmal durchspielen). Poste einfach das Log dazu, und ich analysiere sofort, ob die LLM-Filterung nun
sauber gegriffen hat!