Docs·a619bf7·Updated Jun 7, 2026·69 ADRs

Services

10 microservices compose the Karmyq platform.

Auth Service

:3001
criticalproduction

Foundation service - no dependencies on other services

13 APIs0 deps2 infra

Community Service

:3002
criticalproduction

Sprint 47: Group Communities — community_type field, activities + activity_participants tables, activities API endpoints, activity_joined event

43 APIs1 deps3 infra

Request Service

:3003
criticalproduction

Server-driven UI: Schema API provides dynamic form definitions. Admin API enables zero-code request type creation. Sprint 43: feed_events table logs impressions/outcomes for weight tuning (ADR-048).

46 APIs2 deps3 infra

Reputation Service

:3004
criticalproduction
22 APIs1 deps3 infra

Notification Service

:3005
importantproduction

Subscribes to all events, creates notifications

5 APIs1 deps3 infra

Messaging Service

:3006
criticalproduction
2 APIs2 deps2 infra

Cleanup Service

:3008
importantproduction

CANDIDATE FOR REPLACEMENT: Could be replaced with pg_cron scheduled jobs. Scheduled jobs: dibs expiry (5m), match reminders (15m), mark-expired (hourly), hard-delete (2am), reputation decay (3am), memoryRetentionJob (3:30am, Sprint 90/ADR-069 — anonymizes completed-exchange free-text to '[forgotten]' sentinels + cascade-forgets messages, hard-deletes expired/unmatched requests; karma_records left untouched; per-community retention windows via request_communities → retention_config), trust edge sweep (4:30am), activity log cleanup (weekly), decay report (weekly). Sprint 90 RETIRED requestTtlSweepJob (it hard-deleted completed+rated exchanges at 30d, destroying aggregates before the anonymize window — superseded by memoryRetentionJob). Governed by requests.retention_config.

1 APIs0 deps2 infra

Geocoding Service

:3009
optionalproduction

CANDIDATE FOR REMOVAL: Could use browser Geolocation API instead

2 APIs0 deps1 infra

Social Graph Service

:3010
criticalproduction

Trust-first design foundation. Sprint 27: match_completed → social_graph.connections. Sprint 65: match_completed → social_graph.trust_edges. Sprint 67: ego-network rewrite — GET /trust/graph (aggregate) + GET /trust/graph/:communityId (community ego-network). Sprint 68: intrinsic Ebbinghaus decay via trust_edges_live view + decay config endpoints. Sprint 90: visible decay (ADR-070) — graph edges carry decayTier; new /trust/me/memory + /trust/relationships/fading endpoints; classifyDecayTier lives in @karmyq/shared. Governance endpoints are in community-service.

18 APIs2 deps2 infra

Simulation Service

:
optionaldevelopment

Development/testing tool only - not deployed to production

0 APIs1 deps0 infra