# Upgrade to Baltique OS Core 2.1.0

1. Create a complete MySQL dump.
2. Back up application files and the entire `storage` directory outside the hosting account.
3. Verify that the current backup can be restored in a test environment.
4. Extract the release ZIP into the Baltique OS root and overwrite matching files.
5. Confirm that `app/config.php` and environment secrets were not replaced. They are not included in the release.
6. Sign in as an administrator.
7. Open `/upgrade_2_1_0.php` and run the upgrade once.
8. Open `/system_codebase_normalization.php` and run one controlled codebase scan.
9. Open `/system_runtime_preflight.php` and run Runtime Preflight once.
10. Perform a hard browser refresh (`Ctrl+F5` / `Cmd+Shift+R`).
11. Test at least: administrator, surgeon, anaesthesiologist, nurse, reception, coordinator, operating theatre and inventory workspaces.
12. Check `/system_observability_error_console.php` and the `storage/logs` directory for new errors.

## Rollback

The release does not perform automatic rollback. If rollback is required:

1. stop further user activity;
2. restore the pre-upgrade application files;
3. restore the pre-upgrade database dump if schema rollback is required;
4. restore `storage` only when its consistency has been verified;
5. record the incident and request ID in the release/rollback cockpit.

## Live database note

The package was statically validated and syntax-checked in the build environment. The migration was not executed against the clinic's live MySQL instance; run it only after a verified backup.
