# GL-PLBC1000 v30 — build local propre pour candidat MCL

Cette v30 reprend la base exacte et l'ABI figée des v28/v29, puis ajoute la
couche qui manquait pour rendre le port local `mcl` vraiment praticable :

- **CMakePresets**
- **Dockerfile de build**
- **scripts de release**
- **manifeste de build/release**
- **pipeline local build → admission → packaging**

## Idée directrice

Le provider natif de référence reste exact, non ad hoc, et définit la vérité.
Le candidat `mcl` n'est pas “accepté parce qu'il compile”, mais parce qu'il
reproduit la même sémantique et passe l'admission.

## Contenu principal

- `gl_engine/ibbe_reference.py` : référence exacte
- `gl_engine/provider_abi.py` : wrapper ABI stable
- `gl_engine/provider_vectors.py` : vecteurs canoniques
- `gl_engine/provider_admission.py` : admission sémantique
- `gl_engine/provider_promotion_local.py` : pipeline local
- `gl_engine/build_manifest.py` : manifeste de release
- `native_reference_provider/` : référence exacte compilée
- `native_mcl_candidate/` : pack de build local/docker/release pour un vrai candidat `mcl`

## Commandes utiles

```bash
python -m gl_engine.cli probe-mcl
python -m gl_engine.cli mcl-build-plan
python -m gl_engine.cli vectors-generate --output IBBE_REFERENCE_VECTORS_V30.json
python -m gl_engine.cli provider-admission-run --candidate-lib /path/to/libcandidate.so --output ADMISSION_SAMPLE_V30.json
python -m gl_engine.cli release-manifest-create --provider-lib native_reference_provider/libgl_engine_ibbe_exact_reference.so --output RELEASE_MANIFEST_SAMPLE_V30.json
```

## Position honnête

- **rigoureux** : oui
- **sans ad hoc** : oui
- **pack local complet pour un port mcl** : oui
- **provider pairing mcl compilé ici** : non, faute d'installation locale de `mcl`
