From a7d81d034d2b25157ae815f61373e42d4f2e0c76 Mon Sep 17 00:00:00 2001 From: Ricardo Monla Date: Sat, 7 Mar 2026 08:07:38 -0300 Subject: [PATCH] =?UTF-8?q?Investigaci=C3=B3n:=20Documentaci=C3=B3n=20de?= =?UTF-8?q?=20la=20arquitectura=20y=20sincron=C3=ADa=20del=20ADN=20(/adn?= =?UTF-8?q?=20vs=20tools/adn)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/investigacion/adn_arquitectura.md | 51 ++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 docs/investigacion/adn_arquitectura.md diff --git a/docs/investigacion/adn_arquitectura.md b/docs/investigacion/adn_arquitectura.md new file mode 100644 index 00000000..d9c67d2b --- /dev/null +++ b/docs/investigacion/adn_arquitectura.md @@ -0,0 +1,51 @@ +# 🧬 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*