CH
CARLO HENNSATechnical Document Style / Architecture decision
EXAMPLE · 1.0← Showcase
03
Architecture decision / Example 03
Illustrative content · Not an actual client report

Architecture Decision Record

A compact, evidence-based decision note: context, options, selected approach, trade-offs, review triggers and accountable approval.

Prepared byCarlo Hennsa
Document referenceEX-ADR-007
Version / date1.0 · 14 October 2026
ContextAster Sync (fictional service) · Illustrative example
01
DOCUMENT SECTION

Decision and status

An ADR begins with one specific choice

ADR-007 / Architecture
Local-first durable event outbox
Proposed · Example

Decision: Each device will persist outbound events in a local durable outbox before attempting synchronization. The central API will deduplicate by event ID and reconcile events using explicit domain rules.

Decision boundary
This design ensures retryable delivery. It does not guarantee that two conflicting offline decisions can both be applied, nor does it provide global event ordering.
02
DOCUMENT SECTION

Context and drivers

What problem are we solving?

Field applications must record operator actions while disconnected. A transport-only retry scheme cannot guarantee that an action survives an application restart, and network acknowledgement may be lost after the server has already accepted an event.

  • Network interruptions are expected and cannot be treated as exceptional.
  • Duplicate delivery is preferable to silent data loss if consumers are idempotent.
  • Users must see whether a recorded action is pending, accepted or rejected.
  • Conflict resolution is a domain responsibility, not a transport timestamp rule.
03
DOCUMENT SECTION

Options considered

Show why the decision was made

OptionAdvantageCost / risk
A · Direct API requestSimple online-only path.Fails to capture reliably during outages; weak restart recovery.
B · Local durable outboxSurvives restarts; explicit delivery state; repeatable tests.Requires storage lifecycle, idempotency and reconciliation logic.
C · Peer-to-peer replicationCan share data without central access.Additional discovery, security and conflict complexity.
04
DOCUMENT SECTION

Consequences and trade-offs

State the downside as clearly as the upside

Benefits

What improves

  • Durability during disconnection.
  • Visible queue health and delivery status.
  • Deterministic replay and incident review.
Costs

What must be built

  • Local storage migration and pruning.
  • Server-side idempotency store.
  • Operator conflict and rejection handling.
Rejected shortcut
Do not use last-write-wins for safety or access decisions without approved domain rules and an explicit causal model. Timestamps alone are insufficient evidence of authority.
05
DOCUMENT SECTION

Verification and review triggers

The decision is only complete when testable

Client restart does not lose a queued event.
Repeated sends do not repeat the business action.
Conflict outcomes carry stable identifiers and reasons.
Queue growth and permanent failures raise alerts.

Review this ADR if the requirements change to demand near-instant cross-device consensus, strongly ordered offline writes, or independently authoritative peer nodes.

06
DOCUMENT SECTION

Decision ownership and history

Keep the final authorization distinct from the author

AttributeValue
Decision ownerPlatform Architect (example role)
Prepared byCarlo Hennsa
ReferenceEX-ADR-007
StatusProposed / illustrative
ReviewedNot reviewed
Issued14 October 2026
SupersedesNone