From abae8132a48b8672e79c9522f6f8a66f606b2124 Mon Sep 17 00:00:00 2001 From: SITO Date: Mon, 19 Oct 2026 13:16:27 +0200 Subject: [PATCH] docs: guia de desarrollo con lo que se toca y lo que no GUIA_DE_DESARROLLO.md en la raiz: la regla de oro, el semaforo (rojo: backend, middleware, modelos, server, CSP, traducciones y hojas del dev; ambar: una linea de enganche en las vistas del dev; verde: hojas, vistas, router, workflows y textos propios), como hacer cada tipo de cambio, lo que hay que comprobar antes de cada commit, como integrar una version nueva del dev, como probar y la deuda que queda. Enlazada al principio del README. --- GUIA_DE_DESARROLLO.md | 218 ++++++++++++++++++++++++++++++++++++++ README.md | 15 +++ docs/FRONTERA_UPSTREAM.md | 3 + 3 files changed, 236 insertions(+) create mode 100644 GUIA_DE_DESARROLLO.md diff --git a/GUIA_DE_DESARROLLO.md b/GUIA_DE_DESARROLLO.md new file mode 100644 index 0000000..c1fb8b1 --- /dev/null +++ b/GUIA_DE_DESARROLLO.md @@ -0,0 +1,218 @@ +# Guía de desarrollo de OASIS_MOBILE + +**Léela antes de tocar nada.** Esta rama vive encima de Oasis, que desarrolla +epsylon (el dev) y que saca una versión casi cada día. Todo lo que añadimos tiene +que sobrevivir a la siguiente versión sin reescribirlo. Esta guía dice qué se puede +tocar, qué no y cómo hacer cada tipo de cambio. + +Las cifras y el razonamiento están en +[docs/FRONTERA_UPSTREAM.md](docs/FRONTERA_UPSTREAM.md). Aquí solo van las reglas. + +--- + +## 1. La regla de oro + +> **Oasis lo cambia el dev. Nosotros cambiamos cómo se ve en el móvil.** +> +> Lo que la rama añade va en **ficheros nuestros**. En un fichero del dev, como mucho, +> **una línea que llama a un fichero nuestro**, y solo en el móvil. + +¿Por qué? Entre la 1.0.1 y la 1.3.3 (siete semanas) el dev publicó 39 versiones, cada +una en un único commit. `backend.js` cambió en 34 de ellas, `main_views.js` en 31, +las traducciones en 31. Cada línea nuestra en esos ficheros es un conflicto casi +seguro en la próxima integración. Y si tocamos cómo se publica o se cuenta algo en la +red, nuestro móvil deja de entenderse con los demás nodos. + +--- + +## 2. El semáforo + +### ROJO: no se toca + +| Qué | Dónde | Por qué | +|---|---|---| +| El backend del dev | `src/backend/backend.js` | Cambia en 34/39 versiones. Rutas, middleware, todo. | +| La cadena de middleware | el array `middleware` al final de `backend.js` | Crece en cada versión (contexto por petición, idioma, CSP...). | +| Los modelos del dev | `src/models/*` salvo los nuestros (ver verde) | Definen qué se publica en el log SSB y cómo se cuenta. Cambiarlos rompe la red. | +| El arranque de SSB | `src/server/*` (`SSB_server.js`, `ssb_config.js`, `package.json`) | Dependencias y conexión con la red. | +| La política de seguridad | `src/backend/request_guards.js` | La CSP: sin `style=""` ni `