Skip to content

Architecture Decision Record Log

Purpose

This file tracks architecture decisions that affect implementation across modules.

Use ADR entries to avoid implicit decisions and reduce design drift.

Status Values

  • Proposed
  • Accepted
  • Superseded
  • Deprecated

ADR Format

Each entry should include:

  • ID: ADR-XXXX
  • Title
  • Status
  • Date
  • Context
  • Decision
  • Consequences
  • Alternatives Considered
  • References to PRD, SRS, SDD, and requirement IDs

Template

md
## ADR-XXXX: <Title>

- Status: Proposed | Accepted | Superseded | Deprecated
- Date: YYYY-MM-DD

### Context — ADR-XXXX

<problem statement and constraints>

### Decision — ADR-XXXX

<what was chosen>

### Consequences — ADR-XXXX

<tradeoffs and expected impact>

### Alternatives Considered — ADR-XXXX

<option 1, option 2, option 3>

### References — ADR-XXXX

- ../../product/prd.md
- ../srs.md
- ../sdd.md
- Requirement IDs: FR-..., NFR-..., SR-..., SCR-...

Working Rules

  • A new architecture-impacting PR should include an ADR update when needed.
  • Mark old ADRs as superseded instead of deleting history.
  • Keep ADR decisions implementation-ready and testable.
  • Link ADR decisions to RTM.csv when requirements or coverage are affected.

Accepted ADRs

IDTitleStatusDate
ADR-0001Local Data Engine and Migration StrategyAccepted2026-04-10
ADR-0002Sync Transport, Ordering, and IdempotencyAccepted2026-04-10
ADR-0003Auth Adapter and Session Token ModelAccepted2026-04-10
ADR-0004Client-side encryption approach for sensitive local dataAccepted2026-04-11
ADR-0005Deterministic conflict ordering detailsAccepted2026-04-11
ADR-0006Service-worker cache invalidation strategyAccepted2026-04-11
ADR-0007Keycloak token validation boundaryAccepted2026-04-11
ADR-0008Backend schema and idempotency ledger baselineAccepted2026-04-11
ADR-0009Debian + Docker Compose deployment baselineAccepted2026-04-11
ADR-0010Backup and restore policyAccepted2026-04-11
ADR-0011Phase 2 user-management backend alignmentAccepted2026-04-11
ADR-0012Photo/media policyAccepted2026-04-11
ADR-0013Pagination strategyAccepted2026-04-11
ADR-0014Open Core architecture — plugin-based modulesAccepted2026-07-03
ADR-0015Code Quality Tooling — ESLint + PrettierSuperseded2026-06-20
ADR-0016RBAC Scope System — Entity-Scoped PermissionsAccepted2026-06-26
ADR-0017Migration Strategy (Dexie → SQLite WASM)Accepted2026-06-29
ADR-0018Design System Architecture — Tokens, Themes, ToolingAccepted2026-06-27
ADR-0019Runtime Theme Switching — data-theme, Hook, Custom ThemesAccepted2026-06-27
ADR-0020SSE Feed: D1 Polling over In-Memory PoolAccepted2026-06-28
ADR-0021EntityRepository — Persistence Abstraction for WorkersAccepted2026-07-04
ADR-0022Multi-Role User Support — roles[], user_roles, AuthPrincipalAccepted2026-07-05

Only ADRs with an English translation are linked here. The remaining ADRs are available in Portuguese at the root of the portal.

Distributed under MIT License.