# Architecture Decision Records (ADR)

Esta carpeta guarda las **decisiones de diseño importantes** que afectan a `fn_registry` y sus apps — qué se decidió, por qué, y qué aprendimos.

No son reglas operativas (esas viven en `.claude/rules/`). Son **historia de decisiones**: útil para saber cómo llegamos al estado actual, qué experimentos descartamos y por qué no volver a tomar el mismo camino.

## Formato

Un archivo por decisión. Convención de nombre:

```
NNNN-slug-corto.md
```

Donde:
- `NNNN` es un número incremental (0001, 0002, ...)
- `slug-corto` en kebab-case, descriptivo pero breve

## Plantilla

```markdown
# ADR NNNN — Título corto

- **Fecha:** YYYY-MM-DD
- **Estado:** proposed | accepted | rejected | superseded | deprecated
- **Supersede a:** (opcional, link a otro ADR)

## Contexto

Qué problema/pregunta/situación motiva esta decisión. Qué restricciones hay.

## Decisión

Qué se decidió hacer. Concreto y accionable.

## Alternativas consideradas

Lista breve de otras opciones y por qué se descartaron.

## Consecuencias

Cambios concretos derivados: archivos, reglas, herramientas, flujos.

## Aprendizaje (si aplica, cuando se revisita)

Qué se aprendió después. Útil cuando un ADR se supersede.
```

## Estados

- **proposed** — en discusión, aún sin decidir
- **accepted** — decisión vigente
- **rejected** — se propuso y se descartó (se deja el ADR para entender por qué)
- **superseded** — sustituido por un ADR posterior (indicar cuál)
- **deprecated** — la decisión ya no aplica (contexto cambió)

## Índice

| # | Título | Estado |
|---|--------|--------|
| [0001](0001-gitbutler-experiment.md) | Experimento con GitButler para trabajo paralelo | rejected |
| [0002](0002-apps-analyses-as-dataforge-master.md) | Apps y analyses como sub-repos `dataforge/<name>` con branch master | accepted |
| [0003](0003-orphan-tu-as-separate-function-entry.md) | TU adicional de un parent function como entrada propia | accepted |
| [0004](0004-telemetry-driven-capability-growth.md) | Telemetria de ejecuciones de Claude como motor de crecimiento del registry | accepted |
| [0005](0005-keep-parent-git-lean.md) | Mantener el `.git` del padre ligero: no trackear artefactos hijos, purgar historial, submódulos shallow | accepted |
| [0006](0006-reports-folder.md) | Carpeta `reports/` para reportes de trabajo (entregable de tarea con evidencia) | accepted |
