# STATE — zurawik.pl **Ostatnia aktualizacja:** 2026-05-20 **Tryb pracy:** plan-first (`.paul/plans/`) ## Aktywna praca Brak aktywnego PLAN.md. Ostatnia petla zamknieta: `.paul/plans/20260520-1213-admin-too-many-redirects/` (PLAN ✓ APPLY ✓ UNIFY ✓). UAT przez uzytkownika potwierdzil dzialanie panelu po wdrozeniu naprawy `core/config/Admin/db.config.php`. ``` PLAN ──▶ APPLY ──▶ UNIFY ✓ ✓ ✓ [Loop complete - gotowe do kolejnego $paul-plan] ``` ## Decyzje | Data | Decyzja | Faza | Wplyw | |------|---------|------|-------| | 2026-05-20 | Wybor wariantu [B]: pojedyncza regula w root `.htaccess` przepisujaca `^Admin/?$` -> `Admin/index.php`, omijajaca `mod_dir` Apache. | APPLY (checkpoint po Task 1) | Najmniej inwazyjna zmiana; nie dotyka PHP ani konfiguracji bazy. | | 2026-05-20 | Test Playwright na produkcji potwierdzil, ze wariant [B] sam jest niewystarczajacy: PHP zwraca 302 na URL_MAIN (bez slasha) z kazdej trasy admina (np. `/Admin/Login/`). Rozszerzono napraw o: (i) force-HTTPS dla `/Admin/*` w root `.htaccess`, (ii) trailing slash + `error_log` w `core/ErrorHandler.php` (oba miejsca redirect). | APPLY | Plik `core/ErrorHandler.php` dopisany do `files_modified` jako odchylenie od planu - autoryzowane przez uzytkownika ("wprowadz konieczne poprawki"). | | 2026-05-20 | Task 3 (smoke test na produkcji) odlozony - lokalne zmiany w plikach `.htaccess` i `core/ErrorHandler.php` musza zostac wdrozone (FTP/SSH/Git pull) zanim Playwright/curl pokaza efekt. | APPLY | UAT po deploymencie. Po pojawieniu sie wpisow w `error_log` na serwerze - kolejna iteracja diagnozy przyczyny pierwotnej (czemu PHP rzuca wyjatek). | | 2026-05-20 | Druga iteracja diagnozy: body `/Admin/index.php` ujawnil `Smarty: Unable to load template 'file:partial/Index/Error404.tpl'`. Dodano `Admin/template/partial/Index/Error404.tpl` i domyslna trase `AdminRoot=''` -> `IndexController` w `Admin/index.php`. | APPLY | Naprawia jedna z warstw bledu, ale po wdrozeniu petla wciaz wystepowala. | | 2026-05-20 | **Trzecia iteracja - przyczyna pierwotna:** `core/config/Admin/db.config.php` zawieral konfiguracje bazy z innego projektu (`zurawikn_aem`/`localhost`), niezgodna ze strona publiczna (`01244953_zurawik`/`mysql8`). DB connection failed -> `Core::SetAppSafeMode()` -> `FrontController.php:605` zawsze emituje `Header('Location: FATAL_ERROR_URL')` = URL_MAIN bez slasha -> petla. | APPLY | Zsynchronizowano Admin db.config.php z Strona db.config.php (boundary "Nie ruszamy konfiguracji bazy" przekroczone za zgoda uzytkownika - "1. Popraw"). | ## Sugerowana nastepna akcja 1. `$paul-plan [opis pracy]` — zaplanowanie kolejnej zmiany. 2. Sugerowane tematy follow-up (z SUMMARY.md aktualnego planu): - **Rotacja `prodPass`** w `core/config/Strona/db.config.php` i `core/config/Admin/db.config.php` (haslo plaintekstem w repo — krytyczne ryzyko bezpieczenstwa). - **ADR**: udokumentowac w codebase-memory-mcp, ze Admin uzywa tej samej bazy co Strona — zapobiec powtorzeniu dzisiejszego bledu w przyszlosci. - **Refaktor**: wyciagnac trasy admina z `Admin/index.php` do `Admin/routes.php`; ujednolicic `Router::$controllerMethodSeek`. ## Kontekst legacy - `.paul/ROADMAP.md` i `.paul/milestones/` nie sa wymagane. - Tworzone wylacznie na zyczenie uzytkownika lub przez komendy backward-compat. ## Quality Radar - Wlaczony lekki tryb (`codebase_memory_mcp: true`). - `jscpd` i `ast_grep` wylaczone domyslnie — uruchamiane na zadanie. - Raporty: `.paul/codebase/impact_map.md`, `.paul/codebase/quality_risks.md`, `.paul/codebase/tooling_status.md`. ### Codebase Mapped Date: 2026-05-20 Documents: `.paul/codebase/` (stack, architecture, conventions, testing, integrations, db_schema, impact_map, quality_risks, tooling_status) Quality Radar: ok (codebase-memory-mcp), jscpd/ast-grep disabled by policy