# Arquitectura oficial JIREHGO

## Alcance vigente

El entorno de desarrollo autorizado es `jirehgo_compatibilidades_prueba`. La base `jirehgo_compatibilidades` es el entorno principal y no debe recibir migraciones, limpiezas ni importaciones de desarrollo.

La fuente maestra es `Compatibilidades_madre_JIREHGO.xlsx`: 1.809 filas de datos y aproximadamente 1.752 teléfonos únicos. `JIREHGO_Inventario_micas_importadas.xlsx` y `JIREHGO_Precios_micas.xlsx` quedan reservados para fases posteriores.

## Modelo de catálogo

- `marcas` y `modelos_telefonos`: identidad comercial; `gama` forma parte del modelo.
- `modelos_tecnicos`: cero o varios códigos técnicos por teléfono.
- `fichas_tecnicas_modelos`: únicamente cámara frontal/muesca, superficie/bordes y huella bajo pantalla, además de metadatos de verificación.
- `referencias_lkg` y `modelos_referencias_lkg`: referencia externa y relación revisable con teléfonos.
- `familias_referencias` y `referencias_compatibilidad`: familia/cajón JIREHGO y su variante por tipo de mica.
- `asignaciones_modelos_mica`: tres asignaciones obligatorias por teléfono, una para cada tipo.
- `compatibilidades_oficiales`: compatibilidades confirmadas/publicables; nunca se crean automáticamente desde el Excel.
- `importaciones_catalogo` e `importaciones_catalogo_filas`: lotes temporales, validación y trazabilidad.

`alias_modelos` está fuera de alcance. No se incorpora al esquema ni a la búsqueda oficial.

## Reglas invariables

Los tipos oficiales son 9H transparente, 21D filo negro y Antiespía. Cada teléfono importado inicia por revisar y recibe tres asignaciones `por_confirmar`, sin referencia ni nivel automático. Los niveles permitidos son `perfecta`, `muy_alta` y `alta`; una asignación pendiente puede mantener el nivel nulo.

Referencia LKG y Referencia JIREHGO son conceptos diferentes. Los códigos son texto, no números, para preservar ceros, sufijos y separadores.

## Capas

- Aplicación pública: `public/index.html`, `assets/`, `api/` y `config/database.php`.
- Administración/importación: `public/admin/`, `admin/api/` y `admin/includes/`.
- Dependencias: Composer y PhpSpreadsheet en `vendor/`.
- Persistencia de prueba: conexión exclusiva en `admin/includes/database_prueba.php`.

