193 lines
9.3 KiB
Markdown
193 lines
9.3 KiB
Markdown
# Versionado IA - UB24 / Elementor
|
|
|
|
## 0) Protocolo Bloqueante (siempre)
|
|
1. Definir objetivo del lote en 1 linea.
|
|
2. Tocar un solo archivo por fix (salvo excepcion aprobada).
|
|
3. Hacer un solo cambio por intento.
|
|
4. Probar inmediatamente con flujo fijo acordado.
|
|
5. Si falla, revert inmediato por hash/commit (sin encadenar parches).
|
|
6. Si pasa, commit atomico con mensaje semantico.
|
|
7. Push solo con orden explicita del usuario.
|
|
8. Antes de declarar estado, verificar sync real (`fetch` + `rev-list`).
|
|
|
|
## 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-03-04`
|
|
- Rama activa: `ai/ub24-builder-v1`
|
|
- Upstream: `origin/ai/ub24-builder-v1`
|
|
- Divergencia local/remoto: `0 0`
|
|
- HEAD actual: `8f56e84`
|
|
- Ultimo commit: `8f56e84 feat(customizer): add pro visual presets, social styles, and responsive map controls`
|
|
- 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`
|
|
|
|
## 5.1) Metodo de ejecucion memorizado (obligatorio)
|
|
1. Misma rama activa (`ai/ub24-builder-v1`), sin ramas paralelas para fixes rapidos.
|
|
2. Control por hash/revert: si un intento falla, revert inmediato por commit.
|
|
3. Un archivo por fix cuando sea posible (evitar mezclar cambios laterales).
|
|
4. Validacion funcional inmediata despues de cada microcambio.
|
|
5. No commit/push sin orden explicita del usuario.
|
|
|
|
## 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-21 | `e83e915` | fix | Estabilizar Drawer Pro, reset real de builder y restaurar tema restaurante editable + ancho | `git revert e83e915` |
|
|
| 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`
|
|
- Customizer activo unificado:
|
|
- `GET /customizer/<site_id>`
|
|
- Rutas legacy retiradas:
|
|
- `GET /customizer2/<site_id>` -> `404`
|
|
- `GET /customizer3/<site_id>` -> `404`
|
|
- Motor de reordenamiento seleccionado para DnD:
|
|
- `SortableJS` (estrategia unica)
|
|
|
|
## 10) Pendientes priorizados
|
|
1. QA manual de cada icono/accion del menu superior en preview final (siguiente lote).
|
|
2. Cerrar y validar flujo unico del customizer en docs cruzadas (sin rutas legacy).
|
|
3. Footer global obligatorio con autoria del proyecto.
|
|
4. Watermark de autoria en codigo bajo convencion unica.
|
|
5. Flujo dual estable de preview (editor/pagina real) + mejora touch/capacitiva.
|
|
|
|
## 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.
|
|
|
|
Memorizado.
|
|
|
|
En la próxima sesión haré esto como primer paso:
|
|
1. Revisar en internet referencias de diseño (layouts, bloques, redes, animaciones, efectos pro).
|
|
2. Extraer patrones aplicables al builder.
|
|
3. Convertirlos en mejoras concretas y ordenadas en tu proyecto.
|
|
|
|
Entendido.
|
|
|
|
Queda memorizado el foco: mejorar sin retrocesos, calidad profesional y avance real por lotes verificables.
|
|
Cuando vuelvas, arranco leyendo memoria y ejecutando directo.
|
|
|
|
## 13) Continuidad de sesion (agregado 2026-03-04)
|
|
- Se adopta esquema de memoria en 3 capas:
|
|
1. `AGENTS.md` (reglas estables)
|
|
2. `codex/SESSION_STATE.md` (estado vivo de trabajo)
|
|
3. `codex/VERSIONADO_IA.md` (historial de decisiones/versionado)
|
|
- Hook de arranque oficial:
|
|
- `powershell -ExecutionPolicy Bypass -File .\codex\start-session.ps1`
|
|
- Hook de cierre oficial:
|
|
- `powershell -ExecutionPolicy Bypass -File .\codex\end-session.ps1`
|
|
|
|
## 14) Ajuste de operacion (2026-03-04)
|
|
- A partir de esta fecha, la lectura de contexto de inicio es automatica por politica del asistente.
|
|
- No se requiere ejecutar scripts manuales para que el asistente cargue memoria.
|
|
- `start-session.ps1` y `end-session.ps1` quedan como herramientas opcionales de soporte.
|
|
|
|
## 15) Regla de sincronizacion estricta (2026-03-04)
|
|
1. Toda respuesta sobre "version actual" debe salir de git en tiempo real, no de memoria previa.
|
|
2. Al detectar desfase entre memoria y `HEAD`, actualizar `codex/VERSIONADO_IA.md` y `codex/MEMORIA_CODEX.md` en la misma sesion.
|
|
3. Toda afirmacion de push/sync debe incluir evidencia de `rev-list`:
|
|
- `0 0` = sincronizado
|
|
- distinto de `0 0` = no sincronizado
|
|
|
|
## 16) Lote aplicado (2026-03-05)
|
|
- Rama de trabajo confirmada: `ai/ub24-builder-v1`
|
|
- Base de partida: `8f56e84`
|
|
- Archivo principal intervenido:
|
|
- `elementor/templates/elementor_builder.html`
|
|
- Cambios del lote:
|
|
1. `Reset` restaura plantilla base por rubro (ya no borra todo).
|
|
2. Flujo restaurante en `free_drag` preserva posicion manual (sin auto-restack agresivo por render).
|
|
3. Botones subir/bajar aplican reordenamiento visible.
|
|
4. Mapeo de menu a bloques por semantica + tipo (`contact`, `map`, `social`, `review`, `cards/gallery/hero`).
|
|
5. Autosave borrador en cambios de inspector/settings.
|
|
6. Preview final recibe `device` (`desktop/tablet/phone`) desde el editor.
|
|
|
|
## 17) Lote aplicado (2026-03-10)
|
|
- Rama de trabajo: `ai/ub24-builder-v1`
|
|
- Commits:
|
|
- `442acb1 fix(menu): add glass preset and save logging`
|
|
- `9ff6d2e chore: ignore local artifacts`
|
|
- `32ea784 chore(session): log glass preset changes`
|
|
- Cambios:
|
|
1. Menú ahora soporta presets `default/glass/dark` con blur/sombra/hover; selector en inspector y aplicación en render (`elementor/templates/elementor_builder.html`).
|
|
2. Log de guardados de `/api/elementor/save` para capturar presets recibidos en `logs/elementor_save.log` (`elementor/routes.py`).
|
|
3. `.gitignore` ampliado para excluir artefactos locales (db, logs, snapshots, __pycache__, gitea_data, free-llm resources).
|
|
4. `codex/SESSION_STATE.md` actualizado con el estado de estos cambios y bloqueos vigentes.
|