100 Commits
Author SHA1 Message Date
Ricardo MonlaandClaude Sonnet 5 ec4864c0cc feat(nginx): módulo docs.conf — proxy a gemma-docs-web para /docs
Tests ADN / test (push) Has been cancelled
location /docs/ en ns8.conf pasa por proxy_pass a gemma-docs-web.service
(WEBrick, 127.0.0.1:4567) — renderiza on-demand la documentación de
referencia de GEMMA (Protocolos, Guías, etc.) desde su .md, sin archivos
intermedios. Parte de P164 (dtic-GEMMA).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-22 23:32:18 -03:00
Ricardo MonlaandClaude Opus 4.7 6bb1c89742 docs: actualizaciones de ámbitos DASUTEN, IDIS y W-ZOMBI
Cambios:
- A04.P007: Bugs Operativos (actualización)
- A04.P008: VM Local de Test (actualización)
- A04.P009: SQL Linux Test (nuevo archivo)
- A10.P001: Office365 (actualización)
- w-zombi/data/cmd.json: actualización de comandos

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-24 08:46:43 -03:00
Ricardo MonlaandClaude Opus 4.7 1989ec5753 feat(A11): creación del ámbito dtic-GEMMA — agente IA de gestión diaria
Manifiesto fundacional del ámbito A11 dtic-GEMMA:
- A11_dtic-GEMMA.md: Espíritu, misión y principios de operación
- A11.P001_Operativa-GEMMA.md: Protocolo de operativa diaria

Contexto:
- GEMMA opera como "número 2" del operador humano
- Ejecuta tareas desde simples (registro en bitácora) hasta complejas (orquestar backups)
- Todas las operaciones usan herramientas del ecosistema ADN
- Trazabilidad total vía bitácora

Actualizaciones:
- docs/contexto/IA.md: Agregada referencia al ámbito A11

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-24 08:35:29 -03:00
Ricardo Monla 17b69d080a docs(A04.P006): v1.4 — agregar Procedimiento de Ejecución y actualizar resultados
- Agrega sección 🚀 Procedimiento de Ejecución al inicio del doc
- 3 pasos claros: crear evento bitácora → cerrar → lanzar pipeline
- Comandos exactos con placeholders HH:MM e <ID>
- Tabla de frecuencias (FULL semanal, diferencial diario)
- Nodo/ámbito correctos: dtic-DIIAA / dtic-BKPs
- Agrega run 2026-04-21 a Resultados Históricos (10m 50s)
- Agrega 4 lecciones aprendidas de bugs corregidos hoy
2026-04-21 08:37:29 -03:00
Ricardo Monla d4ea8c0bcd fix(dron): corregir ámbito/nodo de registro en bitácora para pipeline DASUTEN
Bug 2 — proc_dasuten.rb:
- Separa nodo operacional (srvv-fenix, srv-ns8, etc.) del nodo de bitácora
- Registro siempre bajo nodo=dtic-BKPs / ámbito=dtic-DIIAA
- Agrega constantes NODO_BITACORA y AMBITO_BITACORA

Bug 3 — ejecutor.rb (detectar_nodo_id):
- Ignoraba el parámetro 'nodo' y siempre usaba Socket.gethostname
- Fix: usa el nombre pasado para lookup en DB
- Fallback a hostname local solo si nodo es nil/empty o no existe en DB
- Segundo fallback a hostname si el nodo pasado tampoco existe en DB

DB: creado nodo 'dtic-BKPs' (ID:49, tipo:servicio, ámbito:dtic-DIIAA)

Refs: A04.P006 — Pipeline DASUTEN / A03 BKPs
2026-04-21 08:30:32 -03:00
Ricardo Monla a6ed2ca771 fix(dron): agregar ambito_id a create_entrada en bitacora_db
- La firma del método no aceptaba :ambito_id causando 'unknown keyword'
- Los drones (ejecutor.rb) pasaban ambito_id al crear eventos en bitácora web
- El error silenciaba el registro → eventos de drones no aparecían en bitácora
- Solución: agregar ambito_id: nil a firma, columna INSERT y params

Refs: A04.P006 — Pipeline DASUTEN Full backup 2026-04-21
2026-04-21 07:35:04 -03:00
Ricardo Monla f9b9d55edb feat(A02/A10): Nuevos ámbitos dtic-DIGIs y dtic-IDIS + gestión Zoom Moodle + incidencia M365
## Ámbito A02 — dtic-DIGIs (Digitalización y Canales Institucionales)
- Creado manifiesto A02_dtic-DIGIs.md (estándar ADN)
- Creado A02.P002_Gestion-Aulas-Zoom.md — índice general de aulas Zoom institucionales
- AULA #001: 'Explorando Moodle' — configurada (ID: 831 9475 0581, Host: UTNLaRioja [ur14])
- Credenciales entregadas a Esp. Ing. Marina FICCARDI y Lic. María Eugenia ALANIZ
- Eliminados archivos legacy (Test1.docx, wget-log)

## Ámbito A10 — dtic-IDIS (Identidades Digitales Institucionales y Servicios)
- Creado manifiesto A10_dtic-IDIS.md
- Creado A10.P001_Office365.md (v3.0) — registro general de incidencias M365
- Inc.#001: aviso 'Su licencia educativa se desactivará pronto'
  - Causa: desactivación global A1 Plus por UTN central
  - Hallazgos grupo TIC UTN: INSPT resuelto (script), FRSN automático, FRA pendiente
  - Evidencias cargadas en info/ (A10.P001_01/02/03.jpeg)

## Contexto
- IA.md: A10 registrado + descripción A02 corregida en tabla de referencia
- Bitácora: eventos 1634 (A02/Zoom) y 1635 (A10/M365) registrados y cerrados
2026-04-20 20:33:49 -03:00
Ricardo Monla 24bc996ff4 docs(dasuten): armonizar P007↔P008 — Bug #001 vinculado a plan VM Local de Testeo 2026-04-20 16:50:41 -03:00
Ricardo Monla 89dcdbb37e docs(dasuten): agregar plan A04.P008 para entorno local de testeo y actualizar referencias en A04 2026-04-20 16:41:04 -03:00
Ricardo Monla 65dd92b769 docs & tools: Actualización de informes y scripts de migración DASUTEN 2026-04-20 16:25:51 -03:00
Ricardo MonlaandClaude Opus 4.6 faf46be84b [Bugfix] dasuten_restaurar_diferencial_dasu-sql4.rb — Escape rutas Windows
PROBLEMA:
- Script fallaba con "Invalid escape character syntax" en línea 71
- Ruby interpretaba \P, \M, \S como escapes inválidos
- Pipeline bkps fallaba en paso 5/6 (Restaurar diferencial)
- Orquestador continuaba al paso 6 aunque paso 5 fallaba

SOLUCIÓN:
- Escapar correctamente ruta de sqlcmd.exe: "C:\\Program Files\\..."
- Heredoc mantiene interpolación #{backup_name} para PowerShell

RESULTADO:
- Restore diferencial:  0.14s
- DBCC CHECKDB:  241.68s — Estado: OK
- Pipeline diferencial completo: 39.49 MB restaurados

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 08:32:50 -03:00
Ricardo MonlaandClaude Opus 4.6 70aabed4e3 [Dashboard] Fix: Default proyecto cambiado de P2601 a A04
- frontend/src/App.tsx: selectedProyecto default 'A04' (dtic-DASUTEN)
- Dashboard ahora carga ámbito A04 por defecto
- Compatible con endpoint /ambitos/A04/proyecto

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 21:00:13 -03:00
Ricardo MonlaandClaude Opus 4.6 5b384a1b37 [Dashboard] Backend/Frontend actualizados — Endpoint Ámbitos con Planes
BACKEND (ambitos.js):
- Nuevo endpoint GET /api/ambitos/:codigo/proyecto
- Devuelve estructura compatible con frontend existente
- Planes con hitos, métricas y nodos (igual que proyectos)

FRONTEND (ProyectoDashboard.tsx):
- Cambiado default de 'P2601' a 'A04'
- Fetch desde /ambitos/${codigo}/proyecto en lugar de /proyectos
- Mantiene compatibilidad con interfaz existente

DATOS ACTUALIZADOS:
- 29 hitos totales
- 21 completados 
- 8 pendientes/legacy 🛑
- 6 planes: A04.P001 a A04.P006
- 60 horas totales (14.5h presencial + 45.5h remoto)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 20:58:00 -03:00
Ricardo MonlaandClaude Opus 4.6 cafa07303b [Dashboard] P2601 actualizado — Estructura de Ámbitos y Planes (ADN)
- adn/tools/db/migrations/004_create_planes.sql (NUEVO)
  Migración para tabla 'planes' dentro de ámbitos
  Reemplaza concepto anterior de 'fases' por 'planes'
  Incluye vista resumen_planes para métricas

- servicios/nginx/dtic-bitacoras/tools/sync_dashboard_to_db.js
  Actualizado para usar Ámbito A04 (dtic-DASUTEN) en vez de 'P2601'
  Planes A04.P001 a A04.P006 en vez de 'fases 1-13'
  Migración automática de DB si tablas no existen
  27 hitos organizados por plan (Legacy + Workgroup + Backups)

- docs/ambito/dtic-DASUTEN/_hist/260415_dashboard_P2601_actualizacion.md
  Documentación completa de la actualización
  Incluye estructura de datos, métricas y referencias

**Estructura ADN aplicada:**
- Ámbito: A04 (dtic-DASUTEN)
- Planes: A04.P001 (Red) a A04.P006 (Backups)
- Hitos: 21 completados , 3 pausados ⏸️, 6 legacy 🛑

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 20:10:35 -03:00
Ricardo MonlaandClaude Opus 4.6 faa5d7ad9a [Documentación] Caso de estudio DC descartado — Lecciones aprendidas integradas
- docs/ambito/dtic-DASUTEN/_hist/P2601.legacy_lecciones_aprendidas.md (NUEVO)
  Documento completo sobre el enfoque con Domain Controller (23/02-27/03/26)
  Incluye: arquitectura descartada, causas del fracaso, timeline, lecciones

- docs/ambito/dtic-DASUTEN/A04.P005_DASUTEN-sin-DC.md
  Agregada sección "Contexto Histórico" con referencia al caso de estudio

- docs/ambito/dtic-DASUTEN/A04_dtic-DASUTEN.md
  Agregada sección completa sobre el enfoque DC descartado

- docs/contexto/IA.md
  Agregada sección "Caso de Estudio: Enfoque con Domain Controller"
  Incluye tabla de recursos, señales de alerta y lecciones para futuros proyectos

**Principio aplicado:** "La arquitectura más simple que funciona es mejor que
la arquitectura 'correcta' que apenas se sostiene."

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 19:56:02 -03:00
Ricardo MonlaandClaude Opus 4.6 94eeb8d470 [FIX] Heartbeat web: Filtrar PostgreSQL antes de mostrar
Se corrigió actualizar_heartbeat_web() para que filtre el output
antes de actualizar la Bitácora Web.

Antes: Mostraba ~400 líneas con logs de PostgreSQL
Ahora: Muestra solo ~15 líneas de progreso relevante del dron

El filtrado se aplica en dos lugares:
1. Al acumular líneas (filtrar_lineas_relevantes)
2. Al actualizar heartbeat web (filtrar_output_relevante)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 11:31:50 -03:00
Ricardo MonlaandClaude Opus 4.6 b7ff2e7183 [FIX] Bitácora Web: Filtrar logs de PostgreSQL en heartbeats
Se implementó filtrado de output para que la Bitácora Web muestre
solo las líneas relevantes del progreso del dron, no los ~40 logs
repetitivos de conexión a PostgreSQL.

Cambios:
- filtrar_lineas_relevantes(): Filtra líneas de PostgreSQL en tiempo real
- filtrar_output_relevante(): Filtra y mantiene últimas 20 líneas para heartbeat
- Heartbeat web: Ahora muestra solo progreso del dron, no conexiones DB

Beneficio: La Bitácora Web ahora muestra información útil y legible
en lugar de cientos de líneas de logs técnicos repetitivos.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 11:26:13 -03:00
Ricardo MonlaandClaude Opus 4.6 db86f86e59 [MEJORA] Salida visual mejorada para pipelines DASUTEN
Se implementó mejora en la salida de comandos para hacerla más intuitiva:

Cambios realizados:
- bkps.rb: Encabezado y cierre visual con box drawing para tareas DASUTEN
- ejecutor.rb: Barra de progreso con timer en tiempo real durante ejecución
- A04.P006: Actualizado con resultados del test completo 2026-04-15

Nueva salida visual:
- Encabezado con contexto del pipeline (nombre, hora de inicio)
- Timer en vivo durante la ejecución ([1m 23s] ejecutando...)
- Cierre con estado (/) y duración total

Resultados del test completo (Pipeline FULL):
- 6 pasos completados exitosamente en 13m 15s
- DBCC CHECKDB: Integridad OK
- Todos los drones atómicos funcionaron correctamente

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 11:18:48 -03:00
Ricardo MonlaandClaude Opus 4.6 4a0cdd883e [DRON] Heartbeat con output acumulado en Bitácora Web
Mejora en el sistema de latidos de los drones para mostrar el progreso
acumulado en lugar de solo la última línea.

Cambios realizados:
- ejecutor.rb: Acumulación de output en array accumulated_out[]
- actualizar_heartbeat_web(): Muestra últimas 15 líneas en bloque ```text
- A01.P009: Documentada Fase F1.5b con ejemplo técnico
- A04.P006: Actualizado plan DASUTEN con mejora y lección aprendida

Beneficio: Visibilidad completa del progreso de drones multi-paso
(ej: [1/3], [2/3], [3/3] en pipelines de backup/restore)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 10:45:11 -03:00
Ricardo Monla 1bc6c94f78 [bkps] Fix path calculation for @dron_runner 2026-04-14 22:28:03 -03:00
Ricardo Monla d81bc2920a [bkps] Corregido path de @dron_runner (tools/run) 2026-04-14 22:27:20 -03:00
Ricardo Monla 8608938a5a [bkps] Corregida ruta DRONES_DIR y dron_runner en procesador Dasuten 2026-04-14 22:26:48 -03:00
Ricardo Monla aad78e52f0 [bkps] Corregido namespace del procesador Dasuten (ADN::BKPs::Procesador) 2026-04-14 22:22:47 -03:00
Ricardo Monla 294208b81a [Versiones] Actualizadas copias de respaldo con nombre D.A.S.U.Te.N
Se actualizan las copias de versiones en _versiones/:
- 01_v0.4.md — Con nombre correcto D.A.S.U.Te.N
- 02_v0.3.md — Con nombre correcto D.A.S.U.Te.N
2026-04-14 20:53:05 -03:00
Ricardo Monla 9dc93ede2a [Informes] Actualizado nombre a D.A.S.U.Te.N (Dirección de Acción Social)
Se actualiza el nombre completo de la oficina:
- Antes: DASUTEN (Departamento de Acción Social Universitaria Tecnológica Nacional)
- Ahora: D.A.S.U.Te.N (Dirección de Acción Social de la Universidad Tecnológica Nacional)

Cambio aplicado en:
- 02_informe_tecnico_DASUTEN.md (sección Resumen Ejecutivo)
- 01_informe_ejecutivo_DASUTEN.md (ya tenía el nombre correcto)
2026-04-14 20:52:59 -03:00
Ricardo Monla 74649d49ad [Informes DASUTEN] Resguardadas versiones v0.4 y v0.3 en _versiones/
Se copian los informes actualizados al directorio de versiones:
- 01_v0.4.md — Informe ejecutivo con pipeline de backups implementado
- 02_v0.3.md — Informe técnico con anexo G de drones atómicos

Cambios desde versiones anteriores:
- Estado 100% completado (vs 95%)
- Impresión resuelta mediante symlink
- Pipeline de backups documentado (6 drones atómicos)
- Módulo DasuExecutor incorporado
- Integración con bkps.rb detallada
2026-04-14 20:38:02 -03:00
Ricardo Monla ebe8cba9d0 [Informes DASUTEN] Actualizados con novedades del pipeline de backups
Actualización de informes ejecutivo y técnico con:

1. Estado 100% completado (vs 95% anterior)
2. Impresión resuelta mediante symlink C:\Sistema
3. Pipeline de backups implementado:
   - 6 drones atómicos secuenciales
   - Comunicación vía JSON (/tmp/dron_*_output.json)
   - Google Drive como intermediario
   - DBCC CHECKDB para verificación

4. Dos modos de backup:
   - Completo: Semanal (~1.3 GB, 35-40 min)
   - Diferencial: Diario (~0.4-10 MB, 5-10 min)

5. Módulo común DasuExecutor:
   - Centraliza ejecución PowerShell remota
   - Elimina código repetido (-52% líneas)
   - 6 drones refactorizados

6. Integración con bkps.rb:
   - dasuten_full (semanal)
   - dasuten_diferencial (diario)

7. Nuevo anexo técnico en informe técnico:
   - Arquitectura de drones
   - Flujos completo y diferencial
   - Comandos de ejecución
   - Lecciones aprendidas

Versiones:
- 01_informe_ejecutivo: v0.3 → v0.4
- 02_informe_tecnico: v0.2 → v0.3
2026-04-14 20:28:38 -03:00
Ricardo Monla 892019fa22 [A04.P005] DASUTEN: Pipeline refactorizado + Documentación + Informes
Refactorización del pipeline de backups DASUTEN:

1. Flujo simplificado (un solo destino):
   - Backup directo a X:\ (share srv-ns8)
   - Eliminado paso intermedio E:\BK_SQL\sysdasuten\
   - Reducido de 3 ubicaciones a 2 (X: → /var/tmp/)

2. Módulo común DasuExecutor (lib/dasu_executor.rb):
   - Centraliza ejecución PowerShell en dasu-sql4
   - Centraliza verificación de archivos en fenix
   - Elimina código repetido en 6 drones (-52% líneas)

3. Drones refactorizados:
   - dasuten_exportar_srvv-fenix.rb (FULL → X:)
   - dasuten_exportar_diferencial_srvv-fenix.rb (DIF → X:)
   - dasuten_transferir_srvv-fenix-srv-ns8.rb (simplificado)
   - dasuten_restaurar_dasu-sql4.rb (usa DasuExecutor)
   - dasuten_restaurar_diferencial_dasu-sql4.rb (usa DasuExecutor)
   - dasuten_download_drive-dasu-sql4.rb (usa DasuExecutor)
   - dasuten_verificar-integridad_dasu-sql4.rb (usa DasuExecutor)

4. Integración BKPs mantenida:
   - T8-T15: Tareas individuales
   - C7: dasuten_full (pipeline semanal)
   - C8: dasuten_diferencial (pipeline diario)

5. Documentación actualizada:
   - A04.P006_Backups-DASUTEN.md: flujo simplificado + módulo común
   - Lecciones aprendidas agregadas

6. Nuevos archivos:
   - Informes técnicos DASUTEN (docs/informes/2026-04_DASUTEN-migracion/)
   - A01.P011/P012: Documentación de drones y pipeline
   - proc_linux.rb, ops.rb: Utilitarios del ecosistema

7. Scripts legacy (para referencia):
   - orquestador_pipeline.rb, orquestador_pipeline_diferencial.rb
   - dasuten_upload_srv-ns8-drive.rb
2026-04-14 20:06:06 -03:00
Ricardo Monla bc1f42db1f [A04.P006] Documentado módulo común DasuExecutor
Agregada sección sobre el módulo dasu_executor.rb:
- Funciones disponibles y su propósito
- Ejemplo de uso
- Beneficios de mantenibilidad

Agregada lección aprendida sobre refactorización.
2026-04-14 19:59:51 -03:00
Ricardo Monla 3b73e0b053 [A04.P005] Extraído módulo común DasuExecutor para eliminar código repetido
Problema: 6 drones repetían el mismo patrón de ejecución remota:
- Base64 encoding de scripts PowerShell
- SSH vía srv-dasu con sshpass
- Lectura de JSON output desde dasu-sql4
- Verificación de archivos en fenix vía xp_cmdshell

Solución: adn/tools/cli/drones/lib/dasu_executor.rb

Funciones del módulo:
- execute_ps_on_dasu(ps_script) → ejecuta PowerShell en dasu-sql4
- read_json_from_dasu(path) → lee JSON output
- execute_ps_with_json_output(ps_script) → combina ambas
- execute_ps_on_fenix(client, ps_script) → PowerShell en fenix
- file_exists_on_fenix?(client, path) → verifica existencia
- get_file_info_on_fenix(client, path) → info completa de archivo

Drones refactorizados (líneas ahorradas):
- dasuten_restaurar_dasu-sql4.rb: 200 → 95 líneas (-52%)
- dasuten_restaurar_diferencial_dasu-sql4.rb: 207 → 100 líneas (-52%)
- dasuten_download_drive-dasu-sql4.rb: 269 → 130 líneas (-52%)
- dasuten_verificar-integridad_dasu-sql4.rb: 182 → 85 líneas (-53%)
- dasuten_exportar_srvv-fenix.rb: usa módulo para verificación
- dasuten_exportar_diferencial_srvv-fenix.rb: usa módulo para verificación

Beneficio: Si se modifica el patrón SSH/PowerShell, se cambia en 1 solo lugar.
2026-04-14 19:59:20 -03:00
Ricardo Monla 5739ecf689 [A04.P006] Documentado flujo simplificado (un solo destino X:)
- Arquitectura actualizada: backup directo a X: sin paso intermedio
- Tabla de drones actualizada con nuevos outputs
- Agregada lección aprendida sobre simplificación
2026-04-14 19:54:05 -03:00
Ricardo Monla 2bc5eae08c [A04.P005] Simplificado flujo de backup a único destino (X:)
- dasuten_exportar_srvv-fenix.rb: Backup directo a X: sin copia local
- dasuten_exportar_diferencial_srvv-fenix.rb: Mismo patrón simplificado
- dasuten_transferir_srvv-fenix-srv-ns8.rb: Solo copia share → /var/tmp
- dasuten_restaurar_dasu-sql4.rb: Ajustado para leer output correcto

Flujo simplificado:
  FULL: srvv-fenix → X:\ → /var/tmp/ → Drive
  DIF: srvv-fenix → X:\ → /var/tmp/ → Drive

Eliminados pasos intermedios innecesarios (E:\BK_SQL\sysdasuten\)
2026-04-14 19:53:07 -03:00
Ricardo MonlaandClaude Opus 4.6 900457a778 [A04.P006] Exportar backup en doble ubicación (fenix + share ns8)
Cambios realizados:

1. dasuten_exportar_srvv-fenix.rb:
   - Genera backup en disco local: E:\BK_SQL\sysdasuten\
   - Copia automáticamente a unidad de red X: (share srv-ns8)
   - Usa PowerShell para copiar al share mapeado
   - Verifica ambos destinos

2. dasuten_transferir_srvv-fenix-srv-ns8.rb:
   - Simplificado: ya no descarga desde fenix vía SMB
   - El backup ya está en /mnt/ns8Disco2/bkps-dasuten/
   - Copia local: share → /var/tmp/ (para rclone upload)

Flujo actualizado:
  1. SQL Server → E:\BK_SQL\sysdasuten\archivo.bak (local fenix)
  2. PowerShell → X:\archivo.bak (share srv-ns8)
  3. Transfer dron → /var/tmp/archivo.bak (para rclone)
  4. Upload dron → Google Drive

Requisito en srvv-fenix:
  net use X: \\10.0.10.8\bkps-dasuten /user:rmonla <password>

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-14 19:44:13 -03:00
Ricardo MonlaandClaude Opus 4.6 c6970f7d7a [A04.P006] Share SMB configurado en srv-ns8 - copia manual desde fenix
Cambios realizados:

1. srv-ns8 - Share SMB configurado:
   - Path: /mnt/ns8Disco2/bkps-dasuten
   - Share name: bkps-dasuten
   - Usuario: rmonla
   - Acceso: \\10.0.10.8\bkps-dasuten

2. dasuten_transferir_srvv-fenix-srv-ns8.rb:
   - Elimina copia automática al share
   - Agrega nota sobre cómo copiar manualmente desde fenix
   - Mantiene backup en /var/tmp/ para upload a Drive

Uso desde srvv-fenix (Windows):
  net use X: \\10.0.10.8\bkps-dasuten /user:rmonla <password>
  copy E:\BK_SQL\sysdasuten\archivo.bak X:\

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-14 19:14:26 -03:00
Ricardo MonlaandClaude Opus 4.6 cdc4c5378e [A04.P006] Backups en doble ubicación (fenix + srv-ns8 share)
Cambios realizados:

1. dasuten_transferir_srvv-fenix-srv-ns8.rb:
   - Agrega paso [3/3] para copiar al directorio compartido
   - Directorio: /mnt/ns8Disco2/bkps-dasuten/
   - Mantiene copia temporal en /var/tmp/ para upload a Drive
   - Output incluye backup_ns8 con ruta completa

Flujo actualizado:
  srvv-fenix (E:\BK_SQL\sysdasuten\)
      ↓ SMB
  srv-ns8 (/var/tmp/) ← temporal para upload
      ↓ copia local
  srv-ns8 (/mnt/ns8Disco2/bkps-dasuten/) ← share permanente

Resultado:
  - Backup original se preserva en fenix
  - Copia en share ns8 para resguardo local
  - Copia temporal para upload a Google Drive

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-14 18:13:36 -03:00
Ricardo MonlaandClaude Opus 4.6 0f9ebe9ef5 [A04.P006] Drones de exportación actualizados con formato estandarizado
Cambios realizados:

1. dasuten_exportar_srvv-fenix.rb (FULL):
   - Nuevo formato: E:\BK_SQL\sysdasuten\sysdasuten_FULL_YYYYMMDD_HHMMSS.bak
   - Crea directorio con xp_create_subdir si no existe
   - Usa compresión nativa de SQL Server (WITH COMPRESSION)
   - Output: backup_tipo='full'

2. dasuten_exportar_diferencial_srvv-fenix.rb (DIF):
   - Nuevo formato: E:\BK_SQL\sysdasuten\sysdasuten_DIF_YYYYMMDD_HHMMSS.bak
   - Crea directorio si no existe
   - Usa compresión nativa (WITH DIFFERENTIAL, COMPRESSION)
   - Output: backup_tipo='differential'

3. dasuten_download_drive-dasu-sql4.rb:
   - Lee nombre de archivo desde upload_output JSON
   - Guarda como F:\BACKUP\{nombre_real_del_archivo}.bak
   - Soporta formatos FULL y DIF

4. dasuten_restaurar_dasu-sql4.rb:
   - Lee backup_local desde download_output JSON
   - Busca patrón sysdasuten_FULL_*.bak si no hay output
   - Encuentra el más reciente por LastWriteTime

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-14 17:48:05 -03:00
Ricardo MonlaandClaude Opus 4.6 358cee8e9a [A04.P006] Integración de Backups DASUTEN en bkps.rb
Implementada integración del pipeline de backups DASUTEN dentro del
sistema unificado de bkps.rb siguiendo el principio "Menos es Más".

Cambios realizados:
- Nuevo procesador: adn/tools/bkps/lib/proc_dasuten.rb
  - Mapea tareas a drones atómicos existentes
  - Ejecuta vía dron lanzar con bitácora automática

- bkps.yml: T8-T15 (tareas) + C7-C8 (comandos)
  - dasuten_export_full/dif (exportar)
  - dasuten_transferir/upload/download (transitar)
  - dasuten_restaurar_full/dif (restaurar)
  - dasuten_verificar (integridad)

- Documentación actualizada:
  - A04.P006_Backups-DASUTEN.md (nuevo plan)
  - A04_dtic-DASUTEN.md (plan agregado)
  - A03_dtic-BKPs.md (comandos DASUTEN)
  - IA.md (lección aprendida)

Comandos disponibles:
  ./adn/tools/run bkps run dasuten_full        # Semanal (~35-40 min)
  ./adn/tools/run bkps run dasuten_diferencial # Diario (~5-10 min)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-14 17:34:17 -03:00
Ricardo Monla fe3dcec7e9 [A04.P005] Actualizados hitos terminados de la Fase 8, y scripts del orquestador 2026-04-11 14:16:54 -03:00
Ricardo Monla fcd8754e90 [A04.P005] Actualizados hitos de Fase 8 sobre extraccion y Drones 2026-04-11 14:02:54 -03:00
Ricardo Monla 04f60d1021 [A04.P005] Agregada Fase 8 para refrezco orquestado de la base de datos de produccion previo a salir a la maquina fisica 2026-04-11 13:37:17 -03:00
Ricardo Monla 047bc273b6 [A04.P005] F7: Documentado resiliencia probada usando DNS/NetBIOS Name en lugar de IP 2026-04-11 13:31:23 -03:00
Ricardo Monla 0bc0340888 [A04.P005] F7: Grupo de trabajo actualizado a DASUTEN en el servidor SQL 2026-04-11 13:26:35 -03:00
Ricardo Monla 7b3a6fea97 [A04.P005] F7: Requisito añadido de homogeneizar el Grupo de Trabajo a DASUTEN 2026-04-11 13:23:24 -03:00
Ricardo Monla f84013a244 [A04.P005] Refactorizacion documental añadiendo Contexto/Conclusion por fase 2026-04-11 13:18:04 -03:00
Ricardo Monla 6099cb3bfb [A04.P005] Nuevo milestone: Inicia F7 para migracion a PC Física tras exito en VM 2026-04-11 13:12:35 -03:00
Ricardo Monla aab602fdcf [A04.P005] F6: Exito total. DASUTEN configurado en Workgroup conectando a SQL 2026-04-11 13:07:05 -03:00
Ricardo Monla 8e8e3e7a6b [A04.P005] F6: Plan de proyecto optimizado con W-Zombi y RustDesk 2026-04-11 12:18:42 -03:00
Ricardo Monla 81c28a388e [A04.P005] F6: Validado restore y desvinculación de dasu-pcv del dominio 2026-04-11 11:42:29 -03:00
Ricardo Monla 4f8b507e35 [A04.P005] F6: Restore VM107 dasu-pcv en curso (dron monitoreando) 2026-04-11 11:12:27 -03:00
Ricardo Monla 3eda4063cc [A04.P005] F6 iniciada: Restore vzdump VM102 (pcv-dasu0) como VM107 en curso. 2026-04-11 10:37:04 -03:00
Ricardo Monla 4410df5700 [A04.P005] F5b completada: Hardening OK — sshd y SQL sobreviven reboot, QEMU-GA incompatible. 2026-04-11 10:23:05 -03:00
Ricardo Monla f85169b24e [A04.P005] F5 completada: BD sysdasuten restaurada en dasu-sql4 (RESTORE 26s, CHECKDB OK). OpenSSH y credenciales configurados. 2026-04-11 10:09:03 -03:00
Ricardo Monla 15bcf81183 [A06] Resolución BUG SSH Legacy en info.rb, conclusión F1 de Compresión XVA, y actualizaciones de métricas y planes. 2026-04-10 19:12:37 -03:00
Ricardo Monla 941da87ed2 chore(dasuten): Actualizaciones migración SQL, W-Zombi y scripts 2026-04-10 11:52:23 -03:00
Ricardo Monla 12aede9d5e 🔧 Core & Ámbitos: Commit general de mejoras y nodos pendientes
- Docs: A03 BKP updates y nuevo manifiesto nodo dasu-sql4
- W-Zombi: Nuevas rutas explícitas (exec.rb, ps1.rb) y estado stateful (cmd.json)
- Bóveda: candados/.boveda.json modificados al agregar nuevos servidores (sql2, sql3)
- Cleanup: Remover token .session de candados
- Core API: Fixes en Bitacora_db
2026-04-09 22:23:00 -03:00
Ricardo Monla 5023d7491e 📋 Ámbito: A01_dtic-ADN.md - Actualizar estado P009 (80%) y declarar nuevo plan activo P010 2026-04-09 22:20:43 -03:00
Ricardo Monla e549a292bf 📝 Docs: IA.md - Formalizar definición estricta de Armonía Integral (Plan, Ámbito, Contexto, y Git push) 2026-04-09 22:18:26 -03:00
Ricardo Monla c0f0b55e5c 📋 Plan v1.1: F2.T1c atomización rclone y W-ZOMBI Relay 2026-04-09 22:10:50 -03:00
Ricardo Monla 16cb7975ce 🧟 W-ZOMBI: Implementar Relay Switch (A01.P010)
- Soporte para comando `relay` en el CLI (start/stop/status/ps1)
- Redirige tráfico HTTPS a través de puerto `socat` en host relay (ej: srv-dasu)
- Permite a las PCs de LAN interna que no corren VPN conectar con NS8 W-ZOMBI en Tailscale.
- Se integra de forma robusta con la tool de `wzombi`
2026-04-09 22:10:30 -03:00
Ricardo Monla 6ebf1c3010 🐝 F2.T1c: Atomización rclone — 1 dron por directorio de nodo
- sync_rclone.rb: listar() + ejecutar_uno() implementados
- Soporta origen local (Dir.children) y remoto (rclone lsf)
- Orquestador: nota dinámica (Sync vs Comprimir según tipo)
- Validado dry-run: T4 (2 dirs), T5 (17 dirs), T6 (2 dirs)
- Legacy ejecutar() preservado para compatibilidad
2026-04-09 21:13:50 -03:00
Ricardo Monla 02404556cd 📋 Plan v3.4: F2.T1c atomización rclone (1 dron por nodo)
- F2.T2 marcado como completado (--on-error + --retries)
- F2.T1c planificado: sync_rclone.rb listar() + ejecutar_uno()
- Inventario: 17 nodos, ~260GB total
- Progreso Fase 2: 80%
2026-04-09 21:10:45 -03:00
Ricardo Monla dd9d9b47ce 🛸 Fix: Cambiado modo por defecto de eventos de dron de R (Registro) a P (Producción) 2026-04-09 13:00:12 -03:00
Ricardo Monla 360314e14f 📋 Nuevo plan A01.P010: W-Zombi Relay Switch (redes internas vía srv-dasu) 2026-04-09 12:51:54 -03:00
Ricardo Monla c7b9c01de4 🧟 W-Zombi v2.1: Fix ruta /cmd + JSON parsing robusto
Bugs corregidos:
- /cmd no existía en server (solo /cmd.json) — agregada ruta explícita
- PS1 client pedía /cmd sin Content-Type JSON — cambiado a /cmd.json
- JSON fallback: ConvertFrom-Json si Invoke-RestMethod no parsea
- Send-Log con UTF-8 encoding explícito
- Validación extra: chequea $cmdData.id y $cmdData.cmd antes de ejecutar
- Log bilateral: registra comando enviado Y resultado recibido
- ZOMBI CONECTADO log al iniciar
2026-04-09 12:44:36 -03:00
Ricardo Monla a0440b89d9 🐝 F2.T2: Condicionales --on-error abort|continue|retry
- abort: detiene al primer fallo (default)
- continue: salta el fallo y sigue con el siguiente
- retry: reintenta N veces antes de abortar (--retries N)
- Resumen final con conteo de éxitos/fallos/saltados
2026-04-09 12:25:45 -03:00
Ricardo Monla b7c2e316c0 📋 Plan P009 v3.3: Fase 2 al 70%% — orquestador implementado 2026-04-09 12:22:58 -03:00
Ricardo Monla 1053f4de98 🐝 Fase 2: Orquestación Proxmox 1-dron-por-VM
- proc_proxmox.rb: listar() + ejecutar_uno() atómico
- Misma interfaz que proc_xen.rb para orquestador genérico
2026-04-09 12:19:30 -03:00
Ricardo Monla 7d0842c25d 🐝 Fase 2: Orquestador 1-dron-por-archivo (bkps orquestar)
- proc_xen.rb: listar() scanner + ejecutar_uno() atómico
- bkps.rb: --archivo flag + subcomando orquestar
- Patrón: scan → lanza drones secuenciales → 1 VM por dron
- Filosofía: Menos es Más
2026-04-09 12:13:17 -03:00
Ricardo Monla 6d7394b22e 🛸 Fase 1.5 completa: AtomicDrones con visibilidad en Bitácora Web
Bugs corregidos (12): B1-B12 — crashes, tipos, métodos, logger
Ejecutor reescrito: evento web → heartbeat 30s → cierre automático
copiloto.rb y novato.rb deprecados → redirigen a dron lanzar
Plan P009 v3.2 — Fase 1.5 100%% completa
2026-04-09 10:12:04 -03:00
Ricardo Monla fb8c8eefe5 docs: Actualización de contexto IA, Drones, Candados y nuevos nodos 2026-04-08 18:09:04 -03:00
Ricardo MonlaandClaude Opus 4.6 cad987ce7f feat(A08.P001): nginx configurado para acceso web a /notas/ en srv-ns8
Configuración de nginx para servir el Generador de Notas:

Cambios realizados:
- servicios/nginx/conf.d/ns8.conf: Agregados locations /notas/ y /notas/plantillas/
- servicios/nginx/conf.d/notas.conf: Configuración modular creada

Acceso web:
- https://ns8.frlr.utn.edu.ar/notas/ - Generador de Notas
- https://ns8.frlr.utn.edu.ar/notas/plantillas/ - Plantillas markdown

Documentación actualizada:
- A08.P001_Sistema-Web-Notas.md: Fase 4 completada
- A08_dtic-NOTAS.md: Tabla de nodos y acceso web

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 19:25:37 -03:00
Ricardo MonlaandClaude Opus 4.6 85645ce0b8 feat(A08): Ámbito dtic-NOTAS creado - Sistema web de notas/informes
Nuevo ámbito A08 para gestión de notas e informes formales:

Arquitectura:
- Separación contenido (archivos .md) de presentación (web HTML)
- Plantillas configurables para diferentes tipos de notas
- Vista previa con membrete institucional UTN-FRLR
- Impresión/PDF via window.print() con CSS @media print

Archivos creados:
- docs/ambito/dtic-NOTAS/A08_dtic-NOTAS.md (manifiesto)
- docs/ambito/dtic-NOTAS/A08.P001_Sistema-Web-Notas.md (plan)
- docs/ambito/dtic-NOTAS/app/index.html (interfaz)
- docs/ambito/dtic-NOTAS/app/styles.css (estilos institucionales)
- docs/ambito/dtic-NOTAS/app/app.js (lógica + marked.js CDN)
- docs/ambito/dtic-NOTAS/plantillas/nota-simple.md
- docs/ambito/dtic-NOTAS/contenido/2026/ejemplo-nota.md

Migración:
- dtic-NOTAs/ movido a docs/ambito/dtic-NOTAS/dtic-NOTAs/
- Histórico 2019-2025 preservado en .Hist/
- Convención de nombres documentada: Nota-<AÑO><NUMERO>_<Asunto>.<ext>

Uso:
1. Abrir docs/ambito/dtic-NOTAS/app/index.html en navegador
2. Seleccionar plantilla o cargar archivo .md
3. Completar datos de nota
4. Generar vista previa e imprimir

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 19:18:56 -03:00
Ricardo MonlaandClaude Opus 4.6 2ab51af7f1 feat(A07.P002): DMARC agregado - Triada de autenticación completa
Implementación 22:10:
- Registro DMARC agregado con p=none (monitoreo)
- Reportes de agregado y forense a dtic@frlr.utn.edu.ar
- Alineación estricta (adkim=s, aspf=s)

Estado:
- SPF:  v=spf1 mx ip4:190.114.205.2 include:spf.protection.outlook.com -all
- DKIM:  Selectores 1 y 2 respondiendo
- DMARC:  p=none con reportes

Gmail: Período de calentamiento 24-72 horas para mejora de reputación.

Documentación actualizada:
- Plan A07.P002: Triada completa
- A07_dtic-DNS: Estado actualizado
- IA.md: Actualización

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 19:06:07 -03:00
Ricardo MonlaandClaude Opus 4.6 f60932aade docs(A07.P002): Estado actual - Gmail marca spam (DKIM OK, DMARC faltante)
Actualización post-verificación 22:00:

Documentación actualizada:
- A07.P002: Fase 4 actualizada con observaciones de spam
- A07_dtic-DNS: Estado cambiado a 'En Monitoreo'
- IA.md: Lección agregada sobre Gmail spam y causas

Próximo paso: Agregar registro DMARC p=none

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 19:03:39 -03:00
Ricardo Monla ebfc071724 fix(A07.P002): DKIM habilitado - correos @frlr.utn.edu.ar autenticados 2026-04-07 18:57:10 -03:00
Ricardo MonlaandClaude Opus 4.6 34acfefe61 feat(A07.P002): Plan para resolver rechazo de correos por DKIM en Gmail
- Crear plan A07.P002_Resolver-DKIM-Gmail.md
- Diagnóstico inicial: registros selector1/2._domainkey NO existen
- SPF configurado correctamente (include:spf.protection.outlook.com)
- DMARC no configurado (opcional, no bloqueante)

Acciones requeridas:
1. Agregar 2 registros CNAME en DNS de la UTN
2. Esperar propagación (15-30 min)
3. Habilitar DKIM en Microsoft 365 Admin Center

Dron enviado: dron_172429_2784151_e8aa34 (evento AUTO registrado)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 17:24:38 -03:00
Ricardo MonlaandClaude Opus 4.6 db26516a91 docs: Bitácora eventos A07_dtic-DNS con plantillas ADN
Evento #1417 actualizado:
- Hora inicio: 16:00 (investigación inicial)
- Hora fin: 17:10
- Plantillas usadas: investigación + implementación + resolución + documentación
- Detalle completo de hallazgos sobre srvv-dns (CoreDNS en Docker)
- Comandos CLI implementados y archivos creados

Evento #1418 creado:
- Armonía Integral post-creación del ámbito
- docs/contexto/IA.md actualizado
- Ámbito 'dtic-DNS' registrado en DB (ID: 8)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 17:12:23 -03:00
Ricardo MonlaandClaude Opus 4.6 4d419544b6 docs: Actualizar contexto IA con ámbito A07_dtic-DNS
Armonía Integral post-creación del ámbito dtic-DNS:
- Agregar referencia a docs/ambito/dtic-DNS/ en docs/contexto/IA.md
- Registrar evento #1417 en bitácora web (ámbito dtic-DNS operativo)
- Crear ámbito 'dtic-DNS' en base de datos (ID: 8)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 17:07:01 -03:00
Ricardo MonlaandClaude Opus 4.6 a013811aa2 feat(A07_dtic-DNS): Ámbito DNS operativo + CLI para gestión de CoreDNS
- Crear ámbito A07_dtic-DNS con manifiesto y plan A07.P001
- Implementar CLI dns.rb con 7 subcomandos (status, zona, registros, buscar, backup, reload, corefile)
- Detectar servidor srvv-dns: CoreDNS en Docker (10.0.10.2, VM 112 en srv-pmox1)
- Documentar zona frlr.utn.edu.ar con 20+ registros (A, CNAME, MX, TXT, SRV)
- Actualizar ficha nodos/srvv-dns.md con información técnica completa
- Agregar script reparar.sh para ns8-apps (pendiente de ejecución)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 16:57:58 -03:00
Ricardo MonlaandClaude Opus 4.6 be3a78c50a fix(dron): Ejecutor funcional + tabla events
Cambios:
- ejecutor.rb: Corregir lectura de output con Open3
- bitacora_db.rb: Agregar métodos crear_evento/actualizar_evento (public)
- dron_db.rb: Corregir conversión de PG::Result a Hash (.first.to_h)
- vigilante.rb: Corregir formato de fecha en dashboard
- migrations/004: Crear tabla bitacoras.events para Bitácora Web

Pruebas:
- dron lanzar --evento AUTO --nota "Test" -- echo "hola" 
- dron flota 
- dron salud 

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 12:34:20 -03:00
Ricardo MonlaandClaude Opus 4.6 3d2a988951 docs(A01.P009): Actualizar plan - Fase 0 y Fase 1 completas
Cambios:
- Estado: En Planificación → En Implementación (Fase 1 completa)
- Documentar atomisidad como principio de codificación
- Actualizar tabla de herramientas existentes
- Marcar Fase 0 y Fase 1 como  completas
- Actualizar diagrama de flujo con Dron::Base
- Actualizar componentes implementados
- Agregar sección de entregables Fase 1

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 11:56:24 -03:00
Ricardo MonlaandClaude Opus 4.6 6e0e04d1e1 refactor(dron): Atomisidad - Módulo base compartido para drones
Principio "Menos es Más": código común centralizado en un solo lugar.

Cambios:
- Nuevo módulo Dron::Base con funcionalidad compartida:
  - logger: Logger compartido (evita crear múltiples instancias)
  - db_query: Ejecución de SQL con resultados
  - db_exec: Ejecución de SQL sin resultados
  - formato_duracion: Utilitario para formatear segundos
  - slice_safe: Slice seguro de strings
  - blank?: Verificación de strings vacíos/nulos

- Todos los módulos atómicos (ejecutor, vigilante, sanador, bitacora)
  ahora usan Base.logger, Base.db_query, Base.db_exec

Beneficios:
- Un solo lugar para corregir errores comunes
- Menos duplicación de código (~40% menos líneas)
- Consistencia en manejo de logs y DB
- Fácil extensión: nuevos drones heredan funcionalidad automática

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 11:48:55 -03:00
Ricardo MonlaandClaude Opus 4.6 3543e62263 feat(dron): Migración a AtomicDrones con arquitectura DB-First
Implementación del sistema AtomicDrones basado en "Menos es Más":
- Refactorización de dron.rb a dispatcher + módulos atómicos
- Nuevos módulos: ejecutor, vigilante, sanador, bitacora
- DronDB para acceso a datos en PostgreSQL
- Tablas: dron_logs, dron_avances, dron_metricas
- Views: vw_dron_estado, vw_dron_zombies, vw_dron_metricas_semanal
- Health check con detección de zombies (heartbeat > 5min)
- Dashboard compacto de la flota
- Saneamiento con reintentos (backoff exponencial) y limpieza

Comandos soportados:
- dron lanzar: Ejecutar comando como dron
- dron flota: Dashboard de la flota
- dron salud: Health check activo
- dron estado <ID>: Estado detallado
- dron sanear: Saneamiento completo
- dron limpiar: Limpieza de antiguos
- dron reintentar: Re-intentar fallidos

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 11:35:13 -03:00
Ricardo MonlaandClaude Opus 4.6 b5e89144e3 feat(A01.P009): Bitácora Web como medio de comunicación para drones
Actualización del plan A01.P009 para definir la arquitectura de
registros y comunicación de drones mediante la Bitácora Web.

Arquitectura de registros:
- CAPA 1 (Interna): Tablas dron_logs, dron_avances, dron_metricas
  - NO visibles directamente en la web
  - Almacenan detalle paso-a-paso de cada dron
  - Usadas por dron_vigilante para monitoreo

- CAPA 2 (Visible): Bitácora Web (events consolidados)
  - Resumen legible de flujos/orquestaciones
  - Estado:  En ejecución |  Completado |  Fallido
  - URL: http://localhost:5174/bitacoras/

Dron Vigilante:
- Escanea flota y detecta zombies (heartbeat > 5min)
- Registra avances en bitacoras.dron_avances
- Consolida resumen en bitacoras.events (visible en web)
- Alerta anomalías (>5 fallos en 1h)

Nueva Fase 0 (Prioritaria):
- F0.T1-T3: Migraciones de tablas internas
- F0.T4: dron_db.rb para acceso a datos
- F0.T5: Hooks DB-First para auto-registro

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 10:52:56 -03:00
Ricardo MonlaandClaude Opus 4.6 61f225496f feat(A01.P009): Plan de evolución a AtomicDrones con inteligencia de colmena
Nuevo plan A01.P009 que define la arquitectura de drones como engranajes
especializados que forman una maquinaria integral mediante composición.

Filosofía de diseño:
- AtomicDrones: Cada dron hace UNA cosa y la hace bien
- Inteligencia de Colmena: Soluciones complejas emergen de drones simples
- No FrankenDrones: Rechazar monolitos que intentan hacer todo mal

Tipos de drones definidos:
- 🛠️ Ejecutor: Ejecuta comando y reporta resultado
- 👁️ Vigilante: Monitorea estado de otros drones
- 🩹 Sanador: Repara drones zombies/fallidos
- 📅 Planificador: Lanza drones según cron
- 📨 Mensajero: Notifica resultados
- 🎼 Orquestador: Compone múltiples drones en flujo

Fases de implementación:
- Fase 1: Atomicidad (separación de responsabilidades)
- Fase 2: Composición (orquestación de flujos)
- Fase 3: Planificación (drones programados)
- Fase 4: Inteligencia de Colmena (comunicación por eventos)
- Fase 5: Observabilidad (dashboard y métricas)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 10:50:48 -03:00
Ricardo MonlaandClaude Opus 4.6 1802c25194 refactor(ambitos): Migración completa dtic-DASUTEN (A04) y dtic-BKPs (A03) + herramientas ADN
Migración dtic-DASUTEN a estándar A04:
- A04_dtic-DASUTEN.md: Manifiesto creado
- A04.P001 a A04.P005: Planes renombrados de P2601.*
- _hist/_hist_P2601_dasuten.md: Legacy archivado

Migración dtic-BKPs a estándar A03:
- A03_dtic-BKPs.md: Manifiesto creado
- A03.P001, A03.P002: Planes migrados
- docs/ambito/dtic-BKPs/: Nueva estructura

Herramientas ADN nuevas:
- adn/tools/bkps/: BKPs migrado a tools ADN
- adn/tools/cli/dron.rb: Vigía de tareas largas
- adn/tools/cli/copiloto.rb: Asistente CLI
- adn/tools/cli/novato.rb: CLI de aprendizaje

Limpieza:
- dtic-BKPs/ → _hist/dtic-BKPs/ (legacy archivado)
- adn/tools/cli/backup.rb → _hist/ (migrado a bkps.rb)

Otros:
- nodos/pcv-dasu1.md, srvv-data.md, srvv-nginx-rm.md: Actualizados
- adn/tools/core/conciliador.rb: Mejoras
- adn/tools/w-zombi/data/cmd.json: Actualizado

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 10:23:53 -03:00
Ricardo MonlaandClaude Opus 4.6 018e45e046 feat(ambito): Migración de dtic-ADN a estándar de ámbito A01
- Creado manifiesto A01_dtic-ADN.md siguiendo estándar A03/A04
- Renombrados planes P2604.* → A01.P00X (8 planes migrados)
- Archivado manifiesto legacy P2604_Mejoras-ADN.md en _hist/
- Actualizada ontología y contexto IA con referencias a A01

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 09:59:52 -03:00
Ricardo Monla 138a3c9ec6 feat(digis): Esqueleto CLI para automatización Zoom a YouTube 2026-03-31 19:22:27 -03:00
Ricardo Monla 1fd213173e docs: Plan P2603.01 Automatización Zoom y actualizaciones P2601.09 2026-03-31 18:03:21 -03:00
Ricardo Monla 160da47f96 [P2606] WebServer NGINX: plan actualizado, ficha nodo, HTTPS operativo
- P2606: Plan v1.1 EN EJECUCIÓN. Fases 1-3 completadas.
- Ficha nodo srvv-nginx-rm.md. P2606 en adn/07_proyectos.md.
- Incluye cambios acumulados de sesiones anteriores.
2026-03-28 12:18:42 -03:00
Ricardo Monla 97d9b777b4 Avances en P2604.05.01 y P2604.06.01: DB Hooks, herramienta network, sensor de mejora continua y actualización de 05_ia.md 2026-03-19 17:40:36 -03:00
Ricardo Monla 1670bd48cd [P2604] Agregando esqueleto del subcomando 'network' en CLI principal 2026-03-19 09:53:12 -03:00
Ricardo Monla 5aa37e7221 [P2604] Fase 15: Optimización IA e integración de herramienta candados. Sincronización de bitácoras y actualización de planes de proyecto. 2026-03-19 09:52:29 -03:00
Ricardo Monla 183dbf6fb6 P2601.06.02-1.0.3: pcv-dasu0 → dasu-pcv-0
- Despliegue de clave RSA al servidor SSH en nodo pcv-dasu0.
- Ejecución de Rename-Computer con DomainCredential via PowerShell Remoto.
- Actualización de nombre en Proxmox VE (VM 102).
- Comprobación de propagación DNS exitosa.
- Actualización de fichas de nodo y planes.
2026-03-16 16:50:02 -03:00
Ricardo Monla d2971336f4 P2601.06.02-1.0.2: dc-dasuten → dasu-srvv-dc
- Renombramiento resuelto ví­a WinRM/Invoke-Command desde dasu-srvv-sql.
- SSHD de dc-dasuten estaba instalado pero fallaba al iniciar; solucionado interactuando desde sql.
- qm set 100 --name ejecutado.
- Ficha de nodo y referencias en documentacion actualizadas.
2026-03-16 16:40:02 -03:00
Ricardo Monla 6dd2c520fe P2601.06.02: Detallar sub-tareas para renombramientos pendientes
- 1.0.2 dc-dasuten: Documentar bloqueador SSH y 3 opciones (GA/Tailscale/consola)
- 1.0.3 pcv-dasu0: Sub-tareas detalladas
- 1.0.4 pc-dasu0: Sub-tareas con nota de acceso físico
- Procedimiento validado documentado (aprendido de 1.0.1)
2026-03-16 16:18:13 -03:00
Ricardo Monla a181263987 P2601.06.02-1.0.1: sql-dasuten → dasu-srvv-sql
Completado:
- Clave RSA generada en srv-dasu (rmonla@srv-dasu) y desplegada en VMs
- sshpass instalado en srv-dasu para deploy inicial de claves
- Rename-Computer con credenciales de dominio (DomainCredential)
- Proxmox display name actualizado (qm set 101 --name)
- Ficha nodos/sql-dasuten.md → nodos/dasu-srvv-sql.md
- Referencias actualizadas en P2601 manifiesto y plan AD-Join
2026-03-16 16:12:19 -03:00
Ricardo Monla 69149c9e29 [RFC-ADN-01] Armonía Integral — estandarizar manifiestos de proyectos
- P2604: Agregar Identificación, Stakeholders, Nodos, Herramientas, Hitos Clave
- P2605: Agregar Identificación, Stakeholders, Nodos, Herramientas, Hitos Clave
- P2602: Eliminar sección de nodos duplicada + agregar Hitos Clave
- Todos: Rutas relativas corregidas, referencias DB-First
2026-03-16 15:24:26 -03:00
Ricardo Monla 0c0c20de87 [RFC-ADN-01] Corregir referencias internas en manifiestos
- P2601: P2601-6.1.A → P2601.06.01 en hitos
- P2602: Rutas relativas corregidas (../adn → ../../../adn), refs a nodos arregladas
- P2603: Rutas relativas corregidas, bitácoras apuntan a DB-First
2026-03-16 15:19:22 -03:00
Ricardo Monla ba5c65e2a4 [RFC-ADN-01] Normalizar nomenclatura de proyectos
- Directorios: PascalCase (p2601_dasuten → P2601_Dasuten)
- Planes: numeración pura (P2601_6.1.A → P2601.06.01)
- Sin caracteres especiales en nombres de archivo
- 07_proyectos.md: convención RFC-ADN-01 integrada, P2604/P2605 agregados
- evento:listar: nueva opción --detalle para descripciones completas
2026-03-16 15:15:53 -03:00