Architecture Decision Records
Every significant technical decision in this project is recorded here using the ADR format: the context that forced a decision, the options considered, the decision itself, and the trade-offs accepted.
Index
- ADR-0001 — NestJS monorepo over polyrepo
- ADR-0002 — RabbitMQ first, Kafka later
- ADR-0003 — TypeORM over Prisma
- ADR-0004 — @golevelup/nestjs-rabbitmq over Nest's built-in RMQ transport
- ADR-0005 — Observability stack: pino, ALS request context, prom-client
- ADR-0006 — LLM triage as an event consumer inside the Work Orders service
- ADR-0007 — Transactional outbox with a polling relay
- ADR-0008 — Authentication at the edge, identity in the events
- ADR-0009 — Platform-native service discovery over a dedicated registry
- ADR-0010 — Direct Anthropic SDK over LLM frameworks (LangChain/LangGraph/Langfuse)