Files
krolewskie-miody.pl/.paul/codebase/quality_risks.md

63 lines
3.4 KiB
Markdown

# Quality Risks
**Data analizy:** 2026-05-19
## Status Radaru
- `codebase-memory-mcp`: częściowo ok. Indeks został utworzony, a architektura grafu zwróciła podsumowanie, ale szerokie `search_graph` i `index_status` timeoutowały na dużym repozytorium.
- `jscpd`: disabled by policy (`quality_radar.tools.jscpd: false`).
- `ast-grep`: disabled by policy (`quality_radar.tools.ast_grep: false`).
- Fallback: użyto zawężonych skanów `rg` i odczytu konkretnych plików.
## Najważniejsze Ryzyka
**Brak child theme:**
- W `wp-content/themes/` widać `betheme` oraz motywy domyślne WordPress, ale nie widać child theme.
- Ryzyko: zmiany w `wp-content/themes/betheme/` mogą zostać nadpisane przy aktualizacji motywu.
**Custom plugin checkout jest mały, ale krytyczny:**
- `wp-content/plugins/ws-inpost-map/App/WsInpostActions.php` dotyka checkoutu, shipping methods i order meta.
- `wp-content/plugins/ws-inpost-map/App/WSInpostSettings.php` jest duży i łączy kilka odpowiedzialności.
- `wp-content/plugins/ws-inpost-map/App/Assets.php` ładuje assety frontendowe globalnie przez `wp_enqueue_scripts`.
**Wiele pluginów dotyka checkoutu:**
- `wp-content/plugins/flexible-checkout-fields/`
- `wp-content/plugins/woo-checkout-field-editor-pro/`
- `wp-content/plugins/woocommerce-checkout-manager/`
- `wp-content/plugins/ws-inpost-map/`
**Wiele pluginów dotyka tracking/konwersji:**
- `wp-content/plugins/duracelltomi-google-tag-manager/`
- `wp-content/plugins/pixelyoursite/`
- `wp-content/plugins/official-facebook-pixel/`
- `wp-content/plugins/facebook-for-woocommerce/`
- `wp-content/plugins/google-site-kit/`
**Debug w konfiguracji:**
- `wp-config.php` zawiera `WP_DEBUG` ustawione na `true`; trzeba potwierdzić, czy tak ma być na środowisku docelowym.
**Vendor-heavy repo:**
- Repo zawiera dziesiątki tysięcy plików PHP i pełne pluginy vendorowe.
- Szerokie skany generują dużo szumu; planowanie powinno zaczynać od zawężenia do custom pluginu, aktywnego motywu i integracji dotkniętych zmianą.
## Dług Techniczny / Kandydaci Do Porządkowania
- Wydzielić child theme, jeśli projekt wymaga zmian w warstwie motywu.
- Ograniczyć ładowanie assetów `ws-inpost-map` tylko do checkoutu, jeśli nie są potrzebne globalnie.
- Rozważyć rozbicie `WSInpostSettings.php` na definicje pól, rendering i zapis/validację.
- Dodać projektowy test/manual checklist dla checkoutu i InPost.
## Znane False Positives / Akceptowane Ryzyka
- Duplikaty i duże pliki w vendorowych pluginach są oczekiwane i nie powinny automatycznie prowadzić do refaktoryzacji.
- Motywy `twentytwenty*` mogą być nieaktywne; pozostają w repo jako standardowe motywy WordPress.
- Brak pełnej informacji z bazy oznacza, że "zainstalowany" nie znaczy "aktywny".
## Plan Scan: InPost Pay `wp_body_open` Na Podstronach WooCommerce
**Data analizy:** 2026-05-21
- Istnieja dwa frontendowe naglowki Betheme dla normalnych stron i sklepu: `header.php` oraz `header-shop.php`.
- Ryzyko duplikacji poprawki: naprawa tylko w `header.php` nie obejmuje WooCommerce, bo `woocommerce.php` i szablony produktowe moga ladowac `header-shop.php`.
- Ryzyko aktualizacji motywu pozostaje: brak child theme oznacza, ze zmiana w `wp-content/themes/betheme/header-shop.php` moze zostac nadpisana przy aktualizacji Betheme.
- Deferred: nie tworzymy child theme w tym hotfixie, bo celem jest szybkie przywrocenie kompatybilnosci `wp_body_open` dla podstron sklepu.