Files
gkachele-saas/codex/VERSIONADO_IA.md

109 lines
4.8 KiB
Markdown

# 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 <archivos>`
- `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/<site_id>/preview-final`
- `GET /ub24/<site_id>/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.