ADR-0006: Cloudflare R2 for R-Plan v1 photo storage. AWS SDK v3 (S3-co…

Decision

ADR-0006: Cloudflare R2 for R-Plan v1 photo storage. AWS SDK v3 (S3-compatible) client, presigned-URL upload, bucket key progress/{activityId}/{clientId}.{ext}, inert-wired (env-var-driven, feature-flag fallback to URL text input).

Rationale

Tag-canonical re-record. ST decision_matrix (session 83dcbaa5): R2 4.68 / B2 3.91 / MinIO 3.68 / S3 3.41. Egress is dominant cost — R2 wins structurally. See decision c142c50c for full text.

Alternatives Rejected

Outcome

Pending