Architecture Decision Records
Architecture Decision Records (ADRs) document significant design decisions made in Safire — what was decided, why, and what trade-offs were accepted.
| ADR | Title | Status |
|---|---|---|
| ADR-001 | ActiveSupport as a runtime dependency | Accepted |
| ADR-002 | Facade pattern — Client delegates to protocol implementations via Forwardable | Accepted |
| ADR-003 | protocol: and client_type: as orthogonal dimensions | Accepted |
| ADR-004 | ClientConfig immutability and Entity sensitive attribute masking | Accepted |
| ADR-005 | Per-client HTTPClient ownership — no shared connection pool | Accepted |
| ADR-006 | Lazy SMART discovery — no HTTP in constructors | Accepted |
| ADR-007 | HTTPS-only redirect enforcement and localhost exception | Accepted |
| ADR-008 | Warn and return false for compliance validation — raise only for configuration errors | Accepted |
Table of contents
- ADR-001: ActiveSupport as a runtime dependency
- ADR-002: Facade pattern — Client delegates to protocol implementations via Forwardable
- ADR-003: protocol: and client_type: as orthogonal dimensions
- ADR-004: ClientConfig immutability and Entity sensitive attribute masking
- ADR-005: Per-client HTTPClient ownership — no shared connection pool
- ADR-006: Lazy SMART discovery — no HTTP in constructors
- ADR-007: HTTPS-only redirect enforcement and localhost exception
- ADR-008: Warn and return false for compliance validation — raise only for configuration errors