Skip to content

Latest commit

 

History

History
40 lines (32 loc) · 3.88 KB

File metadata and controls

40 lines (32 loc) · 3.88 KB
title Registro de Decisiones Arquitectónicas Locales
type hub
classification Product ADR
owner Evolith Tracker Team

DECISIONS.md — Evolith Tracker (ADR Hub)

Bilingual Navigation: English (this document) · Versión en Español

Propósito

Este documento sirve como el Hub de Decisiones Arquitectónicas Locales para Evolith Tracker. Documenta las decisiones y desviaciones específicas de este producto satélite frente al Core.

Nota: Las decisiones universales se heredan del Upstream Base (evolith_arch32).

  • Upstream base: https://github.com/beyondnetcode/evolith_arch32
  • Última clasificación: 2026-06-11

Índice de Decisiones Locales

ID Título Operación Ref Upstream ADR Local Notas
T-001 Orquestación de Monorepo con Nx Adoptar ADR-0001 Inicializado en src/ utilizando npm workspaces con Nx.
T-002 Adopción de Microfrontends en Fase 1 Sobrescribir N/A T-002 Desviación de topología para escalabilidad de UI.
T-003 Arquitectura Hexagonal (Ports & Adapters) Adoptar ADR-0002 Capa de dominio pura sin dependencias externas.
T-004 TypeScript estricto como lenguaje primario Adoptar ADR-0003 strict: true habilitado.
T-005 TypeORM como ORM (Data Mapper pattern) Adoptar ADR-0043 Data Mapper elegido sobre Active Record.
T-006 React con Vite como base del frontend Adoptar ADR-0044 Topología microfrontends.
T-007 Zustand + TanStack Query (State Management) Adoptar ADR-0045 Zustand (cliente) + TanStack Query (servidor).
T-008 Convención de nombres de schema PostgreSQL Definir N/A T-008 Canónico: tracker_discovery, tracker_design...
T-009 REST + OpenAPI 3.0 como única API en Fase 1 Definir N/A T-009 GraphQL fuera de alcance en Fase 1.
T-010 Framework de agentes configurable por tenant Extender N/A T-010 Core usa BMAD internamente; el Tracker es framework-agnóstico. El tenant configura su harness agéntico por fase (bmad, spec-kit, custom).
T-011 Estándar de numeración para épicas e historias Extender N/A T-011 Extiende upstream US-\d{3} a US-{MOD}-{NNN} con códigos de módulo de 3 letras. Épicas: EPIC-{NNN}.
T-012 Contratos de eventos de dominio en libs/shared/ Definir N/A Eventos compartidos (DriftDetectedEvent, ExternalCheckpointRegisteredEvent) se definen como contratos TypeScript en libs/shared/src/domain/events/. Pact tests pendientes (Phase 0).
T-013 Value Object canónico ExternalReference en Shared Kernel Definir N/A Unifica shapes dispares en 6 contextos. ExternalReference con system, externalId, url, type, linkedAt, label, metadata. Ubicado en libs/shared/src/domain/external-reference.vo.ts.
T-014 UC-005 dividido en UC-005a y UC-005b Definir N/A Plan Release y Authorize Deployment son operaciones distintas con distintos actores y precondiciones. UC-005a (Planning), UC-005b (Execution).
T-015 Core BFF Gateway como único canal de comunicación Adoptar ADR-0008/0030/0075 El Tracker se comunica exclusivamente con Evolith Core a través del BFF Gateway (Tier 1 Kong → Tier 2 NestJS BFF). Se prohíben llamadas directas a servicios internos de Core. El Tracker usa el patrón B2B API Gateway (API key).

Plantilla para nuevos ADRs: Al crear un nuevo documento para "ADR Local", utilice el esquema de Frontmatter definido en los estándares de Evolith Core y ubíquelo en la carpeta de gobernanza correspondiente.