5bee3d813f
- 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>
42 lines
2.4 KiB
Markdown
42 lines
2.4 KiB
Markdown
## 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" 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) |
|
|
|
|
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.
|
|
|
|
### 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).
|