CAJIO V10.1.0 - INFORME DE REFACTORIZACION
=========================================

Base utilizada
--------------
Cajio V9.5.2 Hotfix Estable.

Objetivo
--------
Reorganizar el código antes del próximo rediseño visual, conservando la lógica y las
interfaces públicas existentes siempre que fuera posible.

Cambios estructurales
---------------------
- business_ui.py: de monolito de ~3.276 líneas a fachada de compatibilidad.
- business_data.py: de monolito de ~1.455 líneas a fachada de compatibilidad.
- cash_core.py: de monolito de ~4.120 líneas a fachada de compatibilidad.
- Implementación movida al paquete cajio/, dividida por responsabilidad.
- Rutas, formato monetario, paletas y conexión SQLite base centralizados.
- BusinessRepository separado en schema, autenticación, finanzas, recurrencias y analytics.
- Database de Caja separado en schema, ventas, egresos, turnos y mapping.
- CashWindow separado en ventana base, historial, ajustes, operaciones y exportación.
- UI administrativa separada en helpers, charts, páginas, auth, administración, startup,
  shell y bootstrap.
- Eliminados changelogs/hotfixes históricos del paquete de trabajo y caches Python.
- Agregados README de arquitectura y tests de regresión sin Qt.

Compatibilidad
--------------
Se mantienen las fachadas históricas:
- business_ui.py
- business_data.py
- cash_core.py
- caja_ferreteria.py

La carpeta Datos y el esquema SQLite continúan siendo compatibles con la base anterior.

Validaciones realizadas
------------------------
- 398 cuerpos de métodos/funciones trasladados se compararon por AST contra V9.5.2:
  0 diferencias en su lógica interna.
- 6 pruebas unittest: OK.
- Integración BusinessRepository + Database sobre una misma SQLite: OK.
- Continuidad de efectivo 250.000 -> siguiente turno: OK.
- Esperado 320.000 / contado 310.000 -> diferencia -10.000: OK.
- Migración de esquema operativo antiguo al esquema administrativo: OK.
- Persistencia de config.json: OK.
- Compilación sintáctica completa: OK.
- Análisis de referencias globales: 0 nombres faltantes.
- Smoke test del grafo de imports con stub Qt: OK.

Limitación de validación
------------------------
El entorno de desarrollo de esta sesión no tiene PySide6 instalado. Por eso no se
afirma que se haya renderizado la interfaz real de Windows. El siguiente paso recomendado
es ejecutar V10.1 en Windows y, una vez confirmada la estabilidad, realizar el rediseño
visual profesional sobre esta base modular.
