# Versionado IA - UB24 / Elementor ## 1) Objetivo Definir un proceso de versionado auditable, reproducible y estable para el desarrollo del builder UB24. ## 2) Estado actual verificado - Fecha de verificacion: `2026-02-19` - Rama activa: `ai/ub24-builder-v1` - Upstream: `origin/ai/ub24-builder-v1` - Divergencia local/remoto: `0 0` - Comando usado: - `git rev-list --left-right --count ai/ub24-builder-v1...origin/ai/ub24-builder-v1` ## 3) Politica de versionado 1. Commits atomicos por cambio funcional. 2. Mensajes bajo convencion semantica. 3. Reversion siempre definida por commit. 4. Cada bloque validado se empuja a remoto. 5. No mezclar cambios de infraestructura con cambios de UX en el mismo commit. ## 4) Convencion de commits - `feat(builder): ...` - `fix(builder): ...` - `refactor(builder): ...` - `chore(versioning): ...` - `docs(builder): ...` ## 5) Flujo obligatorio por sesion 1. Verificar rama activa: - `git branch --show-current` 2. Actualizar referencias remotas: - `git fetch origin --prune` 3. Verificar divergencia: - `git rev-list --left-right --count ai/ub24-builder-v1...origin/ai/ub24-builder-v1` 4. Si no es `0 0`, sincronizar antes de editar. 5. Al cerrar lote validado: - `git add ` - `git commit -m "tipo(scope): mensaje"` - `git push origin ai/ub24-builder-v1` ## 6) Protocolo de arranque local - Comando canonico: - `python -m demo.app` - URL canonica: - `http://127.0.0.1:5001` - Builder: - `http://127.0.0.1:5001/elementor/1` - Verificacion rapida: - `Invoke-WebRequest http://127.0.0.1:5001/elementor/1 -UseBasicParsing` ## 7) Criterios de estabilidad (no negociables) 1. No tocar funcionalidades estables sin requerimiento explicito. 2. Mantener una sola estrategia de layout y DnD por flujo. 3. Mantener una sola ruta de guardado activa: - `/api/elementor/save` 4. Validar guardado/publicacion antes de cerrar lote. 5. Evitar cambios amplios si un fix local resuelve el problema. ## 8) Registro de commits relevantes | Fecha | Commit | Tipo | Objetivo | Revert recomendado | |---|---|---|---|---| | 2026-02-14 | `cb99f26` | chore | Crear rama y politica inicial de versionado IA | `git revert cb99f26` | | 2026-02-14 | `fe8657e` | fix | Revertir commit no deseado y limpiar historial | `git revert fe8657e` | | 2026-02-14 | `22e564e` | fix | Robustecer arranque local/theme load en Windows | `git revert 22e564e` | | 2026-02-14 | `1c04f04` | feat | Mejora visual base (hero/features/cards/contact) | `git revert 1c04f04` | | 2026-02-14 | `7c5f671` | fix | Limpieza preview/menu y ajustes de ancho | `git revert 7c5f671` | | 2026-02-14 | `dd98e9d` | fix | Preview limpio y menu por modos | `git revert dd98e9d` | | 2026-02-15 | `1a5778b` | refactor | Runtime unificado `python -m demo.app` + blueprint Elementor | `git revert 1a5778b` | | 2026-02-15 | `8ac360b` | feat | Educacion V2 + correccion de anclas | `git revert 8ac360b` | | 2026-02-15 | `f6d8ab1` | fix | Corregir wrapper SQLite para evitar fallo de arranque | `git revert f6d8ab1` | | 2026-02-15 | `b6fb4da` | feat | API dedicada `/api/elementor/save` con opcion publicar | `git revert b6fb4da` | | 2026-02-15 | `c2ee81d` | fix | Persistencia de bloques + feedback de publish | `git revert c2ee81d` | | 2026-02-15 | `e20f086` | fix | Preview full-page y layout estable por secciones | `git revert e20f086` | | 2026-02-15 | `e5df6de` | feat | Full width + soporte real de 2 columnas | `git revert e5df6de` | | 2026-02-15 | `a6089ee` | feat | Drag inteligente por drop + preview en nueva pestana | `git revert a6089ee` | | 2026-02-15 | `f9f7d23` | fix | Quitar layout global y forzar preview completo | `git revert f9f7d23` | | 2026-02-15 | `f363eef` | fix | Correccion de texto/UI + modo libre + `?full=1` | `git revert f363eef` | | 2026-02-16 | `6f14308` | fix | Unificar layout y estabilizar redimension en canvas | `git revert 6f14308` | ## 9) Decisiones funcionales vigentes - Rubros oficiales permitidos: - `restaurante` - `danza` - `cosmeticos` - `despachos` - `gimnasios` - `educacion` - `base_otro` - Preview final separada habilitada: - `GET /elementor//preview-final` - `GET /ub24//preview-final` - Motor de reordenamiento seleccionado para DnD: - `SortableJS` (estrategia unica) ## 10) Pendientes priorizados 1. Footer global obligatorio con autoria del proyecto. 2. Watermark de autoria en codigo bajo convencion unica. 3. Flujo dual estable de preview (editor/pagina real). 4. Correccion de menu superior en modo acordeon. 5. Mejora de interaccion touch/capacitiva del builder. ## 11) Referencias cruzadas - Historial funcional detallado: `codex/HISTORIAL_CAMBIOS.md` - Arranque rapido local: `codex/ARRANQUE_RAPIDO_UB24.md` - Flujo general del proyecto: `codex/FLUJO_PROYECTO.md` ## 12) Nota operativa Este archivo define el estandar de trabajo. Cualquier cambio de proceso debe registrarse en un commit `chore(versioning)` y quedar reflejado aqui.