Der Log verriet die wahre Ursache: 'WaveRecommender' object has no
attribute 'timeframe_name'. rec["tf"] ist leer, also lief der Aufruf
immer in diesen Fallback - AttributeError, im except auf DEBUG
verschluckt.
Der pb_feats-Fix vom 11.08. war damit RICHTIG: er kam an der ersten
Sperre vorbei und legte diese zweite frei. Vorher wurde log_rec_outcome
nie aufgerufen (atr immer 0), deshalb konnte der zweite Bug gar nicht
auftreten.
Richtig ist self._wave_tf_label (die Engine haelt das Label).
Lehre: nach einem Fix nicht nur pruefen, ob die Tabelle jetzt schreibt,
sondern das LOG lesen. Die Zeilen standen seit Stunden da - ich hatte
nur auf INFO gefiltert und daraus geschlossen, es gaebe keine.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>