normogen/docs/adr
goose 38bf0ae8b4
Some checks failed
Lint and Build / format (push) Successful in 33s
Lint and Build / clippy (push) Successful in 1m36s
Lint and Build / build (push) Successful in 3m37s
Lint and Build / test (push) Failing after 2m33s
docs: update ADR for ZK Phase 2 (wrapped-DEK recovery) completion
Records the implemented wrapped-DEK recovery model, new endpoints, and the
password-change re-wrapping. Strikes the 'future' Phase 2 items as done.
2026-06-29 08:51:03 -03:00
..
android-health-connect-data-types.md docs: reconcile documentation with reality (P3) 2026-06-27 16:02:16 -03:00
backend-deployment-constraints.md docs: reconcile documentation with reality (P3) 2026-06-27 16:02:16 -03:00
frontend-decision-summary.md docs: reconcile documentation with reality (P3) 2026-06-27 16:02:16 -03:00
jwt-authentication-decision.md docs: reconcile documentation with reality (P3) 2026-06-27 16:02:16 -03:00
mobile-health-frameworks-data.md docs: reconcile documentation with reality (P3) 2026-06-27 16:02:16 -03:00
mongodb-schema-decision.md docs: reconcile documentation with reality (P3) 2026-06-27 16:02:16 -03:00
monorepo-structure.md docs: reconcile documentation with reality (P3) 2026-06-27 16:02:16 -03:00
README.md docs: ADR for zero-knowledge encryption Phase 1 2026-06-28 21:51:47 -03:00
state-management-decision.md docs: reconcile documentation with reality (P3) 2026-06-27 16:02:16 -03:00
tech-stack-decision.md docs: reconcile documentation with reality (P3) 2026-06-27 16:02:16 -03:00
zero-knowledge-encryption.md docs: update ADR for ZK Phase 2 (wrapped-DEK recovery) completion 2026-06-29 08:51:03 -03:00

Architecture Decision Records

This directory holds the project's decision records — the "why" behind the major technical choices. These were originally written during Phase 1 research (dated JanFeb 2026) and moved here from the old thoughts/research/ tree during the documentation reconciliation. They are historical context, not current specs.

Decisions

Record Topic
tech-stack-decision.md Master stack choice: Rust/Axum backend, React frontend, MongoDB, JWT
mongodb-schema-decision.md Document model + at-rest encryption approach
jwt-authentication-decision.md JWT access/refresh tokens, recovery phrases
frontend-decision-summary.md React (web) + React Native (mobile, future) split
state-management-decision.md Client state — superseded: decision was Redux Toolkit, actual code uses Zustand
monorepo-structure.md Repository layout (backend/, web/, mobile/, docs/)
backend-deployment-constraints.md Deployment requirements (Solaria, Docker)
mobile-health-frameworks-data.md HealthKit / Health Connect data-type reference (for future mobile work)
android-health-connect-data-types.md Android Health Connect data types
zero-knowledge-encryption.md Client-side zero-knowledge encryption (AES-256-GCM, double-PBKDF2, Phase 1)

Note

: Where a decision diverges from the implemented code (e.g. state management), the code is the source of truth and the ADR is kept only as historical record of the reasoning at the time.