Versión: 4.0 (Unificada y Completa)
Estado: NORMA TÉCNICA OBLIGATORIA.
Alcance: Backend, Frontend, Librerías, Infraestructura.
Para garantizar la estabilidad del ecosistema Simappe/Centrica, se establecen roles de control estricto sobre las librerías base.
CentricaModel, CentricaShared):
mvn deploy local bloqueado.Nebula):
main o develop de las Librerías Core.El estándar visual y procedimental para el ciclo de vida del código.
main (Producción): Código desplegable. Intocable sin PR de Release/Hotfix.develop (Integración): Fuente de verdad para desarrollo.feature/{TICKET}-{desc}: Efímeras. Commit messages descriptivos. Se integran vía Squash.release/{VERSION}: Congelamiento ("Code Freeze"). Solo correcciones de bugs menores.hotfix/{TICKET}: Solo para errores Sev-1 en Producción.Mover un dato de A a B requiere un ritual estricto para mantener la consistencia.
Escenario: Agregar campo retentionTax a InvoiceDto.
feature/tax-field en repo CentricaModel.pom.xml (ej. 1.2.3-SNAPSHOT).develop. Ejecuta mvn deploy a Nexus.centrica-model:1.2.3-SNAPSHOT disponible para todos.Escenario: Contabilidad necesita consumir Inventario.
CentricaShared, crea interfaz InventoryWebClient.CentricaModel (ya actualizados).centrica-shared.Contabilidad, actualiza pom.xml e inyecta el cliente.REGLA DE ORO: Prohibido definir clases Request/Response o RestTemplate dentro del microservicio.
PascalCase (ej. InvoiceController).camelCase (ej. calculateTotal).UPPER_SNAKE_CASE (ej. MAX_RETRY_ATTEMPTS).log.info(), log.error(). (Slf4j).System.out.println, e.printStackTrace().BusinessException, ResourceNotFoundException). Nunca devolver null para indicar error.@RequiredArgsConstructor). Prohibido @Autowired en atributos.any.ChangeDetectionStrategy.OnPush mandatorio.{{ }}). Use Pipes o Computed Signals.Ninguna línea llega a develop sin pasar por esto.
Al revisar un PR, el Tech Lead debe verificar:
CentricaModel? (Si están en el MS, rechazo inmediato).@Valid, Sanitización)? ¿Hay credenciales hardcodeadas?console.log?Una tarea JIRA solo se mueve a "Done" cuando:
develop.Un microservicio se considera "Entregado para Producción" cuando incluye:
bootstrap.yml o Config Server repo actualizado.FIN DEL DOCUMENTO MAESTRO
Cualquier desviación de esta norma requiere autorización escrita del Arquitecto de Soluciones.
| Version | Fecha | Autor | Descripcion |
|---|---|---|---|
| 1.1.0 | 2026-03-04 | Carlos Torres | Revision, sanitizacion y publicacion en Wiki Arquitectura Centrica. |
| 1.0.0 | 2025-12-27 | Carlos Torres | Creacion del documento. |