WIP previo al lanzamiento de fn-orquestador piloto.
Commit como baseline para que /autonomous-task 0120 arranque con master limpio.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- apps_tbd.md: tabla de decision para WIP en working tree (incluir/flag/stash/issue separado)
- feature_flags.md (nuevo): doctrina TBD oficial, patrones Go/TS/Bash/Py, branch-by-abstraction, anti-patrones
- INDEX: entrada 24
Refs: trunkbaseddevelopment.com/feature-flags y branch-by-abstraction.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds `fn doctor` read-only diagnostic command with subcommands artefacts,
services, sync, uses-functions, unused, and --json flag for agents.
Each subcommand wraps a registry function in functions/infra/.
New functions:
- artefact_doctor, services_status, pc_locations_drift,
audit_uses_functions, find_unused_functions (Go diagnostics)
- backup_sqlite_db, rotate_backups, wait_for_http, wait_for_port,
port_kill, tail_journal, pre_commit_hook_install (bash utilities)
- notify_telegram (Go HTTP)
- backup_all pipeline (tag launcher)
Plus prior session leftovers (scan_secrets_in_dirty, append_diary_entry,
git utilities, http_session_cookie_middleware, compile/full-git pipelines).
Fixes pc_locations_drift filepath.Join bug with absolute dir_path.
Documents fn doctor in CLAUDE.md, .claude/rules/fn_doctor.md (rule 23),
docs/architecture.md, CHANGELOG.md (2026-05-07), and diary entry.
First fn doctor uses-functions run found drift in 7/12 apps (deuda
para sincronizar app.md con imports reales).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Nueva regla registry_first.md: antes de escribir codigo en un artefacto,
buscar en registry.db (FTS5); si falta una primitiva reutilizable,
delegar a fn-constructor en vez de escribir inline.
- INDEX.md: entrada 22 para la nueva regla.
- CLAUDE.md: nota sobre escapado de tokens FTS5 con caracteres
especiales (column:"valor-con-guion") para evitar errores
"no such column" / "syntax error near .".
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Nueva regla 20: artefactos.md (paraguas para apps/analysis/vaults/projects/playgrounds)
- Nueva regla 21: playgrounds.md (prototipos rapidos dentro de un padre)
- INDEX.md y CLAUDE.md actualizados con referencias
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Aggregates the planning artifacts for the 0049 series (umbrella + 0049a..0049k):
- New rule cpp_apps.md (registered in INDEX) — standardize structure, CMake
patterns, app.md frontmatter and sub-repo for C++ apps; points to the
authoritative cpp/PATTERNS.md and cpp/DESIGN_SYSTEM.md.
- Feature flag osint_graph_v1 (disabled until 0049k closes).
- Issue 0049 (umbrella) and sub-issues 0049b..0049k describing the GPU
rendering system, force-layout, types, sources, labels and the final
graph_explorer app integration.
- README updated with the new rows (all pending; 0049a will flip to
completed in the next commit).
Aclara la politica:
- Registry (functions/, types/, .claude/, docs/, dev/issues/): push directo
a master. Cambios atomicos por naturaleza, no hay deployment.
- Apps generadas (apps/, projects/*/apps/, services con tag service): TBD
obligatorio — issue/<NNNN>-<slug> o quick/<slug>, merge --no-ff a master.
Tabla en apps_tbd.md de cuando aplica TBD por tipo de cambio. Indice de
reglas actualizado a 17 entradas.
Formaliza la filosofía de mantener projects/ y apps/ simples:
- preferir herramientas del sistema o del registry antes que paquetes
externos,
- cuestionar cada nueva dependencia (coste/beneficio, riesgo upstream),
- evitar abstracciones especulativas,
- ser consciente del flujo de trabajo actual.
Incluye el aprendizaje del experimento con GitButler (retirado en commit
correspondiente de repo_Claude) como caso concreto de una herramienta
externa que añadió complejidad sin beneficio en nuestro contexto.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Nueva regla projects.md que documenta como agrupar apps, analyses y vaults bajo
un tema comun en projects/{nombre}/. Actualiza INDEX.md con la entrada #15.
Crea directorios projects/ y vaults/ con .gitkeep (contenido real gitignored).
registry.db regenerado con los cambios del indice.
Añade regla deploy.md con arquitectura SSH+systemd+rsync, workflow
completo para agentes, y referencia a todas las funciones involucradas.
Actualiza INDEX.md con la nueva regla. Añade template project.md para
fn add -k project. Gitignore projects/*/ y vaults/*/ (contenido local,
solo manifests se versionan).
Renombra la regla y documenta el tag service para apps de larga duracion
(APIs, daemons, watchers). Un service es una app con tag service, no una
tipologia separada.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Nueva regla para usar componentes @fn_library y sistema de temas CSS variables en todos los frontends. Añade directorio de comandos claude.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Nueva regla para colaboración en notebooks Jupyter via funciones del registry.
Documenta el flujo discover → read → write → exec y las reglas de uso.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Agrega documentación de schema rápido en CLAUDE.md, regla sources en INDEX.
CLI fn index sincroniza registry.db a directorio Metabase si existe.
fn show muestra campos source_*. Fix import en metabase_registry/main.py.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Script Python que crea un dashboard en Metabase con 15 cards: KPIs
escalares, distribucion por lenguaje/dominio/kind/pureza, ranking de
funciones mas usadas y complejas, cobertura de tests y tabla cruzada.
Agrega regla apps_vs_functions que establece que codigo reutilizable va
en functions/ y codigo especifico/hardcodeado va en apps/.
Simplifica CLAUDE.md eliminando contenido redundante y extrae las reglas operativas a archivos independientes en .claude/rules/ con un INDEX.md. Cada regla es atómica y referenciable.