Decisiones técnicas (ADR)

📋 Decisiones técnicas (ADR)

Decisiones técnicas inmortales. Cada ADR explica el contexto, la decisión y sus consecuencias.

¿Qué es un ADR?

Un Architecture Decision Record documenta una decisión arquitectónica importante, junto con su contexto y consecuencias. Sigue el formato MADR.

Plantilla MADR

# ADR-NNNN: <Título corto e imperativo>

- **Status:** Proposed | Accepted | Deprecated | Superseded
- **Fecha:** YYYY-MM-DD
- **Decisores:** @persona1, @persona2
- **Tags:** módulo, área

## Contexto y problema

## Drivers de la decisión

## Opciones consideradas

## Decisión

## Consecuencias

## Referencias

Índice de decisiones

# Status Título Tags
0001 ✅ Accepted Fórmula de margen compuesta (no simple) venta · formula · chesserp
0002 ✅ Accepted Usar AJAX lote × lote en vez de SSE venta · sync · hosting
0003 ✅ Accepted Migrar de React a Tabulator + Chart.js frontend · performance
0004 ✅ Accepted Una sola base de datos para todos los módulos bd · arquitectura
0005 ✅ Accepted Schema v2 caja: todas las raw son históricas caja · bd · v2
0006 ✅ Accepted Bootstrap cross-module del schema de artículos arquitectura · venta · articulos
0007 ✅ Accepted Clave za-theme unificada en localStorage ui · theming
0008 ✅ Accepted Formato unificado de números y dinero ui · i18n
0009 ✅ Accepted COALESCE en GROUP BY para coherencia de totales venta · sql · ndcons
0010 ⚠️ Under review Pipeline 3-tier de clasificación corre en JS cliente caja · sync · debate

Cómo agregar un ADR nuevo

  1. Crear carpeta NNNN.titulo-kebab-case/ con default.md adentro.
  2. Usar la plantilla MADR de arriba.
  3. Status arranca como Proposed.
  4. Discutir con el equipo.
  5. Cuando se acepta, cambiar status a Accepted + fecha.
  6. Si una decisión queda obsoleta, status Superseded by ADR-XXXX.

Reglas de oro

  • Cada decisión técnica grande = un ADR.
  • Los ADRs son inmortales. No se borran. Si quedan obsoletos, se marcan como Superseded.
  • Un ADR documenta el por qué, no el qué. El código documenta el qué.
  • ADRs son cortos. Idealmente < 1 página. Si necesita más, link a un /explanation/.