# 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 `