Docs·2ac88ac·Updated Apr 9, 2026·48 ADRs
Back
ADR-050implemented
ADR-050: Group Communities as a Distinct Community Type
ADR-050: Group Communities as a Distinct Community Type
Status: Implemented Date: 2026-04-07 Sprint: 47
Context
Karmyq communities have historically been uniform: all are mutual aid networks coordinating help requests. As the platform grows, users want to coordinate recurring shared activities — sports, fitness, social events — where the coordination unit is a scheduled event, not a help request.
Decision
Introduce community_type as an explicit enum on the communities table ('mutual_aid' | 'group'). Group communities expose activity scheduling endpoints and an Activities tab in the UI. Mutual aid communities are unchanged.
Consequences
- Positive: Clear model for different coordination types; extensible to future types (e.g.,
'provider_collective'). - Positive: Mutual aid behavior is entirely unchanged — no risk to existing communities.
- Negative: UI must branch on
community_type— adds a conditional rendering path. - Neutral: Karma/trust for group activities deferred to Sprint 49.
Alternatives Considered
- Single community type with flags: e.g.,
has_activities: boolean. Rejected — flags accumulate and obscure the community's identity. - Separate service: Activities as a new microservice. Rejected — activities are community-scoped and owned by community-service; a separate service adds cross-service queries for no benefit at current scale.