Skip to content

Architecture Decision Records (ADRs) — AWaC

Cada decisión arquitectónica importante de AWaC queda documentada acá con su contexto, las opciones consideradas, y por qué se eligió esa. En 6 meses cuando alguien se pregunta “¿por qué hicimos esto así?”, la respuesta está versionada y es buscable.

Cada ADR sigue el formato Michael Nygard:

## Título
## Status
Accepted | Superseded | Deprecated
## Context
La situación que motivó la decisión.
## Decision
Lo que decidimos hacer.
## Consequences
Los efectos esperados (positivos y negativos).
#TítuloStatusFecha
001La unidad de composición es el workspace, no el agenteAccepted2026-04-15
002El registry vive en agent-stack-coreAccepted2026-04-20
003Stacks de productos se llaman simplemente “agent-stack”Accepted2026-05-01
004CLAUDE.md canónico + AGENTS.md mirror; AGENT.md y CONVENTIONS.md descartadosAccepted2026-05-01
005Some product stacks remain lazy until first useAccepted2026-05-01
006docs-agentic como nombre del repo de documentaciónAccepted2026-05-02
007CLI agent-first: optimizado para consumo por agentes IAAccepted2026-05-01
008wsp governance check vive en el CLI, no en GitHub ActionsAccepted2026-05-03
009deploy.yml separado de awac.yml; CLI plan-only, ejecución workflow-drivenAccepted2026-05-03
010DevVault two-layer model: catálogo per-producto + vault_path per-machineAccepted2026-05-03
011wsp scaffold-repo --update audita README existente y abre PRAccepted2026-05-03
012Distribución del CLI vía GitHub Releases (wheel attached), no PyPIAccepted2026-05-03
013wsp scaffold-stack auto-registra el producto en el core registryAccepted2026-05-03
014AWaC se abre como open-source, no se monetiza como SaaSAccepted2026-05-03
  1. Identificá el siguiente número.
  2. Copiá el template en un archivo <NNN>-<slug-corto>.md.
  3. Llenalo con: contexto, decisión, opciones consideradas, consecuencias.
  4. Agregá la entry al índice de arriba.
  5. PR a getGanemo/awac-docs.
  • Cualquier decisión que afecta a la arquitectura o al diseño del sistema (no a la implementación puntual).
  • Cualquier decisión donde se consideraron múltiples opciones y elegir mal hubiera tenido consecuencias.
  • Cualquier decisión que futuros engineers se preguntarían por qué.

NO escribir ADR para:

  • Decisiones de implementación (cómo se llama una variable, qué library usar).
  • Bugfixes triviales.
  • Decisiones del día-a-día (qué task hacer primero).