Files
fn_registry/docs/diary/2026-04-24.md
T
egutierrez 7597549fcf docs: añadir ADR, diario, CHANGELOG y comando /entrada_diario
Infraestructura de documentación operativa y de decisiones:

- docs/adr/ — Architecture Decision Records. Incluye plantilla y
  ADR 0001 documentando el experimento y retirada de GitButler.
- docs/diary/ — diario de avances con un archivo por día.
  Primera entrada 2026-04-24.md retrocubriendo esta sesión
  (conectar aurgi-pc, dashboard fn_monitoring, funciones systemd
  locales, ADR GitButler, regla KISS).
- CHANGELOG.md — formato Keep a Changelog para cambios cara a
  usuario/agentes. Sección 2026-04-24 con Added/Changed/Fixed/Removed.
- .claude/commands/entrada_diario.md — slash command para añadir
  entradas al diario con formato consistente.

Separación:
  diary   = contexto operativo diario
  CHANGELOG = qué cambió en el código
  ADR     = por qué se decidió algo
  rules   = reglas operativas del agente

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 14:27:38 +02:00

3.7 KiB

2026-04-24

12:00 — Conectar aurgi-pc al registry server

Primera sesión en aurgi-pc (WSL). Vincular este PC al server centralizado y recuperar metadata de apps/projects/analysis/vaults existentes.

  • Hecho: recompilado fn con CGO_ENABLED=1 -tags fts5 desde /usr/local/go/bin/go (go1.25.0). Ahora tiene fn sync.
  • Hecho: ~/.fn_pc = aurgi-pc. Env vars FN_REGISTRY_API y REGISTRY_API_TOKEN desde pass.
  • Hecho: fn sync contra https://registry.organic-machine.com — 44 enviados, 62 recibidos, aurgi-pc registrado con 18 locations.
  • Hecho: registry.db gitignorada (regenerable con fn index + fn sync).
  • Aprendizaje: GPG sin TTY en WSL obliga a desbloquear pass en terminal real una vez; caché de gpg-agent (ver memoria feedback_gpg_pass_wsl).

13:00 — Instalar dashboard fn_monitoring

Configurar el proyecto fn_monitoring (API + dashboard ImGui) en aurgi-pc para visualizar las apps.

  • Hecho: clonado registry_dashboard + movido a projects/fn_monitoring/apps/registry_dashboard/.
  • Hecho: inicializados submódulos cpp/vendor/{imgui,implot}. Re-registrado glfw como submódulo (antes tenía path /home/lucas/... heredado que bloqueaba git submodule status).
  • Hecho: build Linux del dashboard (12.9 MB).
  • Hecho: projects/fn_monitoring/launcher.sh — arranca API si no está viva + lanza dashboard + cleanup al salir.
  • Fixed: http_client.cpp requería #include <cstdint> explícito (mingw más estricto que g++ Linux). Commit en subrepo del dashboard.
  • Hecho: cross-compile Windows (19 MB) + copiado a /mnt/c/Users/egutierrez/Desktop/registry_dashboard.exe.

13:30 — Funciones systemd locales + servicio sqlite_api

Hasta ahora solo había funciones systemd remotas (via SSH para VPS). Crear versiones locales y registrar sqlite_api como servicio del sistema.

  • Hecho: 6 funciones bash/infra — systemd_local_{install_unit, enable, start, restart, status, uninstall}.
  • Hecho: pipeline bash/pipelines — install_systemd_service que compone las anteriores; genera unit file con env vars deterministas.
  • Hecho: compilado sqlite_api como binario (antes go run) en projects/fn_monitoring/apps/sqlite_api/sqlite_api.
  • Hecho: servicio sqlite_api.service instalado + enabled + active. Queda vivo al arrancar WSL (systemd=true en /etc/wsl.conf).
  • Fixed: bugs en systemd_local_{enable,start,restart} que contaminaban stdout con mensajes de systemctl rompiendo el $(...) del pipeline. Redirigido a stderr.

14:00 — Experimento GitButler y retirada

Se probó GitButler para trabajo paralelo con virtual branches. Descartado.

  • Problema: bugs graves con submódulos + gitlinks — but creaba commits vacíos o con contenido cruzado cuando se tocaba .gitmodules.
  • Problema: auto-commits usaban el texto del turno del chat como commit message.
  • Hecho: but teardown + eliminación completa (binario, plugin, skill, hooks en settings.json, config git, ramas fantasma).
  • Hecho: commits consolidados en master de fn_registry (3 limpios) + push a origin.
  • Hecho: documentado en ADR 0001.

14:30 — Formalizar filosofía KISS + docs

Derivar una regla operativa del aprendizaje de GitButler y preparar la infraestructura de documentación.

  • Hecho: .claude/rules/kiss.md + entrada #16 en .claude/rules/INDEX.md.
  • Hecho: docs/adr/ con README y ADR 0001.
  • Hecho: docs/diary/ con README y esta primera entrada.
  • Hecho: CHANGELOG.md raíz retrocubriendo toda la sesión.
  • Hecho: /entrada_diario slash command para añadir entradas rápido.

Pendiente:

  • Lanzar el dashboard y verificar que muestra las 12 apps en la UI (tarea #9) — requiere terminal real con DISPLAY WSLg.