# Odpowiedź na krytykę — iteracja 2 | Uwaga z przeglądu | Zmiana | Dowód regresji | | --- | --- | --- | | Wybór cylindra niepotrzebnie obciążał przegląd silnika | wybór jest dostępny wyłącznie w widoku szczegółów; przegląd pokazuje tylko stan i priorytety | `test_cylinder_selector_exists_only_in_detail_view` | | Selektor i karta mogły po pierwszym wejściu wskazywać różne cylindry | trwały stan wyboru i stan widżetu mają osobne klucze; test porównuje wartość selektora z nagłówkiem karty | `test_cylinder_selector_exists_only_in_detail_view` | | Wielokrotny wybór pokazywał angielskie i sprzeczne komunikaty | zastąpiono go trzema opcjonalnymi, polskimi polami porównawczymi bez możliwości duplikatów | `test_cylinder_selector_exists_only_in_detail_view` | | Automatyczna skala mapy wyolbrzymiała różnice w zdrowych silnikach | mapa ma stałą skalę ±20 mV i opis diagnozy przy każdym cylindrze | `test_all_chart_factories_return_populated_figures` | | Status `WYMAGA WERYFIKACJI` był nieosiągalny | status zależy bezpośrednio od label/severity; `unknown` bez nazwanej usterki ma dedykowany status | `test_unknown_only_engine_requires_verification` | | Engine Health 0–100 był arbitralny | liczba została usunięta; UI pokazuje najwyższe rzeczywiste severity i porządkowy triage | testy explainability + smoke UI | | OOD otrzymywał sztuczny confidence 50–99% | score OOD jest `NaN`; UI nazywa pozostałe wartości score modelu i wyjaśnia brak kalibracji | `test_diagnostics_are_complete_for_the_application` | | Globalny próg OOD mógł reagować na ogólny szum jednostki | override wymaga 7.25 mV **i** 2.5× mediany anomalii własnego silnika | `test_globally_noisy_engine_is_not_treated_as_isolated_ood` | | Stare CSV wyglądały jak finalne metryki | artefakty przeniesiono do `archive/legacy_experiments/`; skrypty mają nagłówki statusu | kontrola struktury repo + README archiwum | | Docstring finalnego modelu nie opisywał faktycznych cech | opis wskazuje signed/absolute deviation, ratio delta i statystyki | `final_pipeline.py` | Po zmianie OOD ponownie wykonano pięć seedów grouped CV dla clean i masked 5%. Wyniki pozostały bez zmian: - clean: Macro F1 `0.9811`, severity `0.9298`, Raw Score `0.9683`, - masked 5%: Macro F1 `0.9829`, severity `0.9333`, Raw Score `0.9705`. Pełny pakiet po iteracji: `38/38` testów oraz poprawny test stanu Streamlit `ok`.