Testing #130

Open
opened 2026-07-17 21:43:33 +02:00 by thomasknaus · 0 comments
thomasknaus commented 2026-07-17 21:43:33 +02:00 (Migrated from github.com)

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!

### 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!
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
thomas_knaus/RaceEngineer#130
No description provided.