Appearance
Service Catalog
Status: navigation and dispatch guide. The authoritative ownership definition is the Service Responsibility Matrix. This catalog does not promote a default gateway route or claim that a service slice is complete.
Entry And Identity
| Canonical service | Implementation | Authority | Guide |
|---|---|---|---|
api-gateway | services/api-gateway | Single frontend entrypoint, routing, JWT verification, and edge concerns; no business data | API |
bff-service | services/bff-service | Frontend-specific aggregation only; owner services remain authoritative | API |
iam-service | services/iam-service | Accounts, credentials, sessions, JWT/JWKS, roles, permissions, and authoritative organization membership writes | API |
profile-service | services/profile-service | Education profile and display metadata; never credentials or access-control policy | API |
School And Learning
| Canonical service | Implementation | Authority | Guide |
|---|---|---|---|
organization-service | services/school-service alias | Organization and unit metadata plus IAM-synchronized member read models; IAM remains the membership writer | API |
classroom-service | services/classroom-service | Classes, class members, teacher assignments, and classroom projections | API |
course-service | services/course-service | Courses, modules, lessons, materials metadata, enrollments, and progress | API |
Assessment And Content
| Canonical service | Implementation | Authority | Guide |
|---|---|---|---|
question-service | services/question-bank-service alias | Questions, answers, solutions, types, tags, and taxonomy | API |
exam-service | services/exam-service | Exams, published snapshots, assignments, and access links | API |
attempt-service | services/attempt-service | Attempt sessions, answer state, grading, results, and attempt-owned snapshots | API |
file-service | services/document-service alias | Object metadata, signed URLs, uploads, and media assets | API |
import-service | services/docx-import-service alias | Import jobs, parsing orchestration, preview/draft state, and approval saga | API |
formula-docx-service | source-controlled runtimes/go-formula-docx runtime | DOCX/formula conversion behind import adapters; it is not a services/ directory | Task pack |
ai-service | services/ai-classifier-service alias | AI provider adapters, prompts, jobs, and model output; no quota or credit ownership | API |
Monetization
| Canonical service | Implementation | Authority | Guide |
|---|---|---|---|
billing-service | services/billing-service | Plans, prices, subscriptions, invoices, and entitlements | API |
wallet-service | services/wallet-service | AZ Credits, balances, immutable ledger, grants, debits, and refunds | API |
usage-service | services/usage-service | Feature gates, usage counters, quota periods, and entitlement materialization | API |
payment-service | services/payment-service | Payment orders, provider transactions, webhook ingestion, and reconciliation | API |
Operations And Projections
| Canonical service | Implementation | Authority | Guide |
|---|---|---|---|
notification-service | services/notification-service | Notification state, delivery attempts, preferences, and event fanout; recipient resolution stays with owners | API |
search-service | services/search-service | Rebuildable search indexes and sync checkpoints; never canonical business data | API |
audit-service | services/audit-service | Append-only compliance and security event history, idempotency, retention, and legal-hold metadata | API |
analytics-service | services/analytics-service | Rebuildable dashboard, result, progress, and mastery projections | API |
admin-service | services/admin-service | Admin read models, moderation, feature maintenance, and compatibility read APIs; owner data stays authoritative | API |
Compatibility Scaffold
services/user-service is a deprecated compatibility scaffold. It is not a canonical service, must not receive new identity or profile work, and is tracked only through the retirement task pack.
Dispatch And Proof
Before assigning an agent, read the service's task pack and the current next-slice queue. An accepted handoff is bounded evidence, not service completion. Default route promotion always requires the named route, live/browser, and rollback proof for that slice.