# 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](../../.claude/projects/memory)). ## 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 ` 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](../adr/0001-gitbutler-experiment.md). ## 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`](../../.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.