Skip to content

02. Restricciones No Funcionales

Fase: 02 — Project Kickoff
Entregable: 02
Proyecto: NoteVault (PC, Mac, Android, iPhone)


1. Restricciones No Negociables por Capa

  1. Almacenamiento Local Obligatorio: Queda prohibido el uso de bases de datos relacionales cliente-servidor (PostgreSQL, MySQL) o bases de datos propietarias en la nube. Todo dato debe residir en texto plano en disco (Markdown y JSON).
  2. Preservación Estricta de Datos: Si un cliente lee un frontmatter o JSON con campos desconocidos, debe escribirlos de vuelta sin alterarlos (Zero Data Loss).
  3. Seguridad de Hilo Principal (Electron): Obligatorio contextIsolation: true y nodeIntegration: false en la ventana principal.
  4. Restricción de Red Móvil: La aplicación móvil no debe requerir conexión a internet para iniciar, navegar ni guardar datos en la bóveda.
  5. Idioma: Todo texto visible para el usuario en la interfaz gráfica debe estar en Español.

2. Marco Conceptual: Restricción No Negociable

1. **Entidad principal e independiente.** 2. **Es la entidad líder del conjunto de datos:** posee un identificador global único que fija una regla de ingeniería inviolable (`non_negotiable_constraint_id`: `CONSTRAINT-LOCAL-TEXT-STORAGE`) consultado en las revisiones de código de Pull Requests. 3. **Existe por sí misma en el marco de gobierno del proyecto sin depender de la comodidad de implementación**, y es la única responsable de vetar cualquier solución que comprometa la soberanía de los datos. 4. **Punto de entrada y límite de consistencia:** Un Pull Request que viole una restricción no negociable es rechazado automáticamente.