# Wdrożenie Baltique OS Core 2.4.1

## 1. Backup

Przed wdrożeniem wykonaj:

1. pełny dump MySQL;
2. backup całego katalogu aplikacji;
3. backup `storage`;
4. kopię poza hostingiem OVH;
5. zapis aktualnego `core_version`, `schema_version` i SHA256 paczki 2.4.0.

## 2. Środowisko

Najpierw wdrażaj na staging. Minimalna wersja bazowa: **2.4.0**.

## 3. Instalacja plików

Wypakuj ZIP do głównego katalogu Baltique OS i nadpisz pliki. Paczka nie zawiera `app/config.php`, `.env`, danych pacjentów ani sekretów.

## 4. Upgrade

Zaloguj się jako `admin` albo `superadmin` i otwórz:

`/upgrade_2_4_1.php`

Kliknij jeden raz **Uruchom upgrade 2.4.1**.

## 5. Kontrola techniczna

Otwórz:

- `/system_runtime_preflight.php`
- `/system_clinical_sandbox_241.php`
- `/system_pro_uat_launch.php`
- `/system_pro_milestone.php?version=0.79.0`
- `/system_pro_milestone.php?version=0.79.1`

## 6. Pierwsza kampania

1. W Clinical Sandbox wybierz zakres `Krytyczne scenariusze`.
2. Wybierz środowisko `sandbox` albo `uat`.
3. Rozpocznij kampanię.
4. Każdy krok wykonuje właściwa rola. Administrator może wykonać krok technicznie, ale nie zastępuje to UAT roli.
5. Po zakończeniu wszystkich runów sfinalizuj kampanię.
6. Sprawdź utworzony run `clinical_sandbox_e2e` oraz milestone `0.79.0`.

## 7. UAT ról

1. W `/system_pro_uat_launch.php` przypisz każdą krytyczną rolę realnemu użytkownikowi.
2. Otwórz `/system_pro_uat.php?suite=role_uat`.
3. Utwórz run UAT.
4. Każdy przypisany użytkownik wykonuje własny przypadek i zapisuje wynik.
5. `FAIL` lub `BLOCKED` musi mieć opis wyniku i — gdy dotyczy — defect/ticket.
6. Wszystkie ustalenia P0–P3 rejestruj w UAT Launch i nadaj im właściciela.
7. Dopiero po dowodowym `PASS` można oznaczyć przypisanie jako zaliczone.

## 8. Zakazy

Nie wolno:

- zmieniać środowiska sandbox na production;
- używać danych realnego pacjenta w polach syntetycznych;
- traktować kampanii jako dokumentacji medycznej;
- ręcznie oznaczać UAT jako zaliczony bez wykonania przypadku;
- przechodzić do pilota 0.80.x z otwartym P0/P1 albo bez wymaganych sign-offów.

## 9. Rollback

Kod 2.4.1 można cofnąć przez przywrócenie backupu plików i bazy. Nie usuwaj ręcznie tabel 2.4.1, jeśli istnieją rekordy audytowe; rollback wykonuj według Release/Rollback Cockpit.
