Files
fn_registry/.claude/rules/artefactos.md
T
egutierrez 8742cb25be feat(browser): auto-commit con 60 cambios
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-07 11:42:31 +02:00

2.8 KiB

Artefactos: termino colectivo

"Artefacto" es el termino paraguas para todo lo que vive en el registry pero NO es codigo reutilizable de functions/ o types/. Sirve para no repetir "apps, analysis, vaults, projects, playgrounds, reports" cada vez.

Tipos de artefacto:

Tipo Donde vive Indexado en registry.db Repo Gitea propio
app apps/, cpp/apps/, projects/<p>/apps/<a>/ tabla apps si (dataforge/<a>)
analysis analysis/<t>/, projects/<p>/analysis/<t>/ tabla analysis si (dataforge/<t>)
vault projects/<p>/vaults/<v> (symlink) tabla vaults no (datos fuera del repo)
project projects/<p>/ tabla projects no (vive dentro de fn_registry)
playground <artefacto_padre>/playground/ NO se indexa no (vive dentro del padre)
report reports/, projects/<p>/reports/ NO se indexa no (local, gitignored, no sube a Gitea — como vaults)

Caracteristicas comunes de los artefactos:

  • NO son codigo reutilizable. La reutilizacion vive en functions/.
  • Tienen ciclo de vida propio (crear, modificar, archivar, borrar).
  • pc_locations los unifica via entity_type (app, analysis, project, vault).
  • Pueden importar funciones del registry; el registry NUNCA importa de un artefacto.

Reports son el caso mas ligero: artefacto local (gitignored salvo reports/.gitkeep), NO sube a Gitea ni se versiona en el padre (como los vaults), NO se indexa (como los playgrounds). Convencion en reports. Pueden vivir sueltos en reports/ o dentro de un proyecto en projects/<p>/reports/.

Cuando usar el termino

Usa "artefacto" cuando hablas de varios tipos a la vez o cuando la afirmacion aplica a todos:

  • "Cada artefacto declara sus funciones del registry en su .md" (vale para apps y analyses).
  • "Los artefactos no se importan desde functions/."
  • "Esta regla aplica a cualquier artefacto desplegable" (apps + services).

Cuando hables de UN tipo concreto, usa el nombre concreto: "esta app...", "este analysis...". No abuses del termino paraguas — es para evitar listas, no para difuminar.

Que NO es un artefacto

  • functions/, python/functions/, bash/functions/, frontend/functions/ — codigo reutilizable.
  • types/, python/types/, frontend/types/ — tipos del registry.
  • sources/ — repos externos clonados para extraer funciones (gitignored).
  • temp/ — workspace efimero, ni siquiera versionado.
  • subrepos/ — espejos de repos externos para referencia.

Relacion con pc_locations

Los artefactos con presencia en disco (app, analysis, project, vault) ya estan unificados en pc_locations via la columna entity_type. Los playgrounds NO entran en pc_locations porque son hijos de otro artefacto y se mueven con el (no tienen identidad propia entre PCs).