# 02 - Protocolo del Proyecto: Normas y Directivas Este documento establece las reglas fundamentales para la interacción, documentación y desarrollo en el proyecto `srv-NS8`. ## 1. Idioma - **Directiva**: **Todo el contenido debe estar en español.** - **Alcance**: - Interacciones con el asistente (chat). - Documentación (archivos `.md`). - Mensajes de Commit (Git). - Comentarios en el código (scripts, configs). - Nombres de archivos y directorios (preferentemente, salvo estándares técnicos estrictos). ## 2. Formato de Documentación - **Estilo**: Markdown estándar. - **Ubicación**: Todo documento clave debe residir en el directorio `adn/`. ## 3. Armonía y Auto-optimización - **Principio**: La documentación (ADN) debe mantenerse como un todo coherente y libre de contradicciones. - **Directiva**: - **Consistencia**: No deben existir discrepancias entre diferentes hebras (archivos `.md`). Si se actualiza una definición en `01_ontologia.md`, debe reflejarse en los protocolos y bitácoras correspondientes. - **Auto-corrección**: Al detectar una inconsistencia, es prioritario resolverla para restaurar la armonía del sistema documental. ## 4. Estructura de Registro (Centralizada) - **Principio**: **Bitácora Única**. - `adn/00_bitacora.md` es la **Fuente de Verdad Histórica** del Grid completo. - Se prohíben bitácoras dispersas en archivos individuales. - **Formato**: Tabla Markdown con columnas: `| Hora | Nodo | Detalle |`. - **Hora**: `HH:MM` (Hora Local). - **Nodo**: Hostname del equipo afectado (e.g. `srv-pmox1`, `srvv-SITIO`). - **Detalle**: Descripción consisa. Uso de Emojis para estado visual (✅, ⚠️, ❌, 🔧). ## 5. Documentación de Nodos (Snapshots) - **Ubicación**: `adn/nodos/.md`. - **Contenido**: Representa el **Estado Actual** (Snapshot) del nodo. - **Actualización**: Solo se modifica cuando cambia la configuración o estado del nodo (no se usa como log histórico). ## 5. Protocolo de Seguridad de Red (Hombre Muerto) - **Problemática**: La administración remota del servidor implica el riesgo de desconexión total ante cambios erróneos en la configuración de red. - **Directiva**: **Toda modificación de red debe incluir un mecanismo de reversión automática.** - **Implementación**: - Usar scripts con temporizador ("Dead Man's Switch"). - **Flujo**: 1. Aplicar cambios temporalmente. 2. Esperar confirmación explícita del usuario (ej: presionar una tecla) durante un tiempo prudencial (5 minutos). 3. **Si no hay confirmación**: Revertir cambios inmediatamente y restaurar estado anterior. 4. **Si hay confirmación**: Hacer cambios persistentes. ## 6. Referencia de Estados (Bitácora) Para optimizar espacio horizontal, la columna `Estado` utiliza los siguientes iconos: | Icono | Significado | Descripción | | :---: | :--- | :--- | | ✅ | **Completado** | Tarea finalizada o problema solucionado exitosamente. | | ⏳ | **En Proceso** | Tarea iniciada pero pendiente de cierre. | | 🧪 | **Verificado** | Validación técnica o prueba superada. | | ⚠️ | **Alerta** | Problema detectado, riesgo o atención requerida. | | 📍 | **Definido** | Hito establecido o prioridad fijada sin ejecución inmediata. | ## 7. Resguardo del Repositorio (Safeguard) - **Objetivo**: Asegurar la integridad y el historial de cambios del proyecto. - **Directiva**: - **Frecuencia**: Al finalizar una tarea significativa o conjunto de tareas relacionadas (hito). - **Alcance**: Todo cambio en `adn/`, `servicios/config`, `scripts/` y documentación `docs/`. - **Formato Mensaje**: `[Categoría] Descripción breve del cambio`. - Categorías: `Feat` (Nueva funcionalidad), `Fix` (Corrección), `Docs` (Documentación), `Refactor` (Mejora de código/estructura), `Chore` (Mantenimiento).