# Validation Report — Baltique OS Core 2.7.0

## Build status

```text
BUILD STATUS: PASS
PACKAGE TARGET: STAGING FIRST
VERSION: 2.7.0
```

## Source baseline

```text
Source package: 2026.07.11 BaltiqueOS v.2.6.1.zip
Source SHA256: 67259de033b4f72e26f485b25d789430360d409ea107ce7f050e3c194709411c
Files in extracted source: 2552
PHP: 1036
JavaScript: 38
CSS: 152
SQL: 263
Markdown: 657
Public PHP entry files: 627
Historical upgrade pages: 260
System pages: 202
```

The file name reports 2.6.1, while the supplied source bootstrap declared 2.6.2. The 2.7.0 overlay uses the actual source tree as the technical baseline.

## Functional inventory

```text
Active PHP application/public files inventoried: 859
Canonical functions: 13
Mapped prior navigation modules: 145
Previous static navigation entries fully mapped: 122/122
Known legacy/duplicate navigation entries: 27
```

## Automated validation

| Check | Result |
|---|---:|
| Static validator | 54/54 PASS |
| Site consolidation deterministic/idempotency test | PASS |
| Clinical function catalog test | PASS |
| PHP/SQL schema contract test | PASS |
| Combined PHP tree | 1048/1048 PASS |
| Combined JavaScript tree | 39/39 PASS |
| Combined CSS parse | 153/153 PASS |
| Combined JSON parse | 88/88 PASS |
| Missing `balt270_*` definitions | 0 |
| Missing catalog routes | 0 |
| Release contains `app/config.php` | NO |
| Release contains `.env` | NO |
| Release contains patient data / DB dump | NO |

## Site idempotency result

```text
PASS site consolidation 2.7.0:
canonical=1
planned_sites_preserved=2
repeated_sync_identical=1
```

The production implementation additionally runs the source synchronizer twice and aborts when it cannot prove:

```text
canonical_count = 1
duplicate_count = 0
```

## Query-load safeguards

- the 859-row module inventory is imported in batches of 100 rather than one row per query;
- canonical module entries are created before previous menu entries are hidden;
- the upgrade imports a precomputed inventory instead of scanning the codebase on each request;
- the canonical site operation is protected by a MySQL lock;
- unresolved foreign references cause archival rather than unsafe deletion.

## Not performed in the build environment

The following require the target staging environment and real staff:

- execution of migration 245 on the live OVH database;
- browser rendering matrix;
- role-by-role clinical UAT;
- restore proof;
- performance/load test against the production database;
- formal clinical/operations/security sign-off.

The package is ready for controlled staging deployment, not automatic production go-live.
