Skip to content

Architecture Decision Records

Architecture Decision Records (ADRs) capture important design decisions with their context, rationale, and consequences. Each ADR follows a standard format: Status, Context, Decision, Consequences, Alternatives.

Accepted ADRs

#TitleDateSummary
001Native TypeScript2026-02-16Native TypeScript development + compile-before-publish with tsup
003Package Decomposition2025-12-22Modular packages in dependency layers
005Input Validation2025-12-24Protovalidate as primary validation mechanism
006Resilience Patterns2025-12-24Resilience interceptors with cockatiel library
007Testing Strategy2025-12-24node:test runner, 90%+ coverage target
008Performance Benchmarking2025-12-24k6 load testing, p95 < 100ms SLA
009Buf CLI Migration2026-02-06Buf CLI v2 for proto generation + lint
014Method Filter Interceptor2026-02-07Per-method interceptor routing with wildcards
020Reflection Proto Sync2026-02-074-phase reflection-based proto synchronization
022Protocol Extraction2026-02-11Healthcheck/Reflection as separate packages
023Uniform Registration API2026-02-11createDefaultInterceptors(), explicit interceptor control
024Auth/Authz Strategy2026-02-15@connectum/auth package with JWT, RBAC, context propagation
025Package Versioning Strategy2026-02-20Two-phase versioning: Fixed for rc, Hybrid after 1.0.0 stable

Creating a New ADR

  1. Create XXX-title.md using the template below
  2. Status starts as Proposed
  3. After review and approval, change to Accepted
  4. Update this index
markdown
# ADR-XXX: Title

## Status
Proposed -- YYYY-MM-DD

## Context
Why is this decision needed?

## Decision
What did we decide?

## Consequences
### Positive
### Negative

## Alternatives Considered