# 🧬 Investigación: Arquitectura y Sincronía del ADN Este documento detalla la relación técnica y conceptual entre el directorio de definiciones (`/adn`) y el motor de ejecución (`/tools/adn`) del ecosistema `srv-ns8`. --- ## 1. El Directorio `/adn`: La Especificación (Declarativa) El directorio `/adn` funciona como el **repositorio de la verdad** o la "Constitución" del sistema. No contiene lógica ejecutable, sino las reglas que rigen todo el proyecto. - **Hebras (`00_*.md` a `07_*.md`)**: Documentos que definen la ontología (nodos), el formato de bitácoras, los estándares de seguridad y las reglas de gobernanza. - **`triggers.yml`**: Es el plano de automatización. Define qué eventos en el sistema (ej: "se creó una bitácora") deben disparar qué acciones (ej: "validar formato"). - **Principio Rector**: **Armonía Integral**. Ningún dato debe estar huérfano; todo cambio en un nodo debe reflejarse en su ficha y en la bitácora diaria. --- ## 2. El Directorio `/tools/adn`: El Motor (Ejecutable) Es el brazo ejecutable que procesa las definiciones del `/adn`. Está escrito íntegramente en **Ruby**, siguiendo la directiva de la hebra `06_gobernanza.md`. ### Componentes Clave: 1. **`validador.rb`**: El "guardián" del formato. Verifica que las bitácoras cumplan con la iconografía, las métricas híbridas (`[Físico/Remoto:]`) y el formato de tiempo. 2. **`triggers.rb` y `subcomando_triggers.rb`**: Leen el `triggers.yml` y registran suscriptores en el bus de eventos. Son los responsables de la "propagación" de cambios. 3. **`eventos.rb`**: Un bus de eventos interno que permite que diferentes partes del sistema se comuniquen de forma desacoplada. 4. **`subcomando_db.rb` / `sync.rb`**: Gestionan la persistencia y sincronización de datos entre los archivos Markdown y posibles estados en base de datos. --- ## 3. Interrelación Simbiótica La relación entre ambos directorios es de **Especificación ↔ Ejecución**: | Aspecto | `/adn` (La Inteligencia) | `/tools/adn` (La Fuerza) | | :--- | :--- | :--- | | **Rol** | Define el "qué" y el "cómo". | Ejecuta el "cómo" y valida el "qué". | | **Cambios** | Si se agrega un nuevo ícono en `04_iconografia.md`. | Se debe actualizar el `validador.rb` para reconocerlo. | | **Automatización** | `triggers.yml` declara la regla de negocio. | `triggers.rb` implementa el código que realiza la acción. | | **Gobernanza** | Establece que Ruby es el lenguaje estándar. | Demuestra el estándar al estar escrito en Ruby. | --- ## 4. Flujo de Trabajo Típico 1. **Evento**: Un usuario o IA edita una bitácora en `/bitacoras`. 2. **Detección**: `tools/adn` detecta el cambio (vía hooks o ejecución manual). 3. **Validación**: `validador.rb` lee las reglas de `/adn/02_bitacora.md` y verifica el archivo. 4. **Propagación**: Si el `triggers.yml` indica que un cambio de estado en la bitácora debe actualizar la ficha de un nodo en `/nodos`, `tools/adn/triggers.rb` realiza la escritura automáticamente. --- ## 5. Conclusión de la Investigación La arquitectura es **declarativa-operativa**. El sistema no depende de la "buena voluntad" del operador para mantener la coherencia (Armonía Integral), sino que utiliza `tools/adn` como una capa de software que garantiza que la realidad del repositorio coincida con la teoría definida en el `/adn`. --- *Investigación realizada por el Asistente Antigravity - 2026-03-07*