| Metadata | Value |
|---|---|
| Status | Active |
| Version | 1.4.0 |
| Last Updated | 2026-09-10 |
| Author | Sangeetha Grantha Team |
| Document Type | Current guide |
Read these flows alongside the API contract. They describe the current architecture, while per-route validation and failure behavior remain in the implementation.
sequenceDiagram
participant User
participant Rasika
participant API as Catalogue V2
participant DB as PostgreSQL
User->>Rasika: Submit query / choose result
Rasika->>API: GET /v2/catalogue/krithis
API->>DB: Published query with exact filters
DB-->>Rasika: Paged public summaries via API
User->>Rasika: Open composition
Rasika->>API: GET /krithis/{id}
API-->>Rasika: Reader metadata and variant references
Rasika->>API: GET /krithis/{id}/lyrics/{variantId}
API-->>Rasika: Stored text, sections, source reference
User->>Rasika: Choose another variant
Note over Rasika: Preserve labeled old text until new text succeeds
sequenceDiagram
participant Console
participant API
participant DB
Console->>API: POST /v1/auth/token (admin token + identity)
API->>DB: Load user and stored role assignments
API-->>Console: JWT and expiry
Console->>API: Editorial request + Bearer JWT
API->>API: Verify identity and required role
API->>DB: Controlled mutation and audit
Account/password provisioning is separate from the current token-login flow. Refresh reloads roles. See authentication.
flowchart LR
S[Source request / manifest] --> K[Kotlin orchestration]
K --> Q[Extraction queue]
Q --> P[Python HTML / PDF extraction]
P --> C[Canonical result payload]
C --> R[Kotlin result processing and identity resolution]
R --> V[Review / variants / source evidence]
V --> A[Accepted canon and revisions]
A --> D[Published catalogue when workflow permits]
Retries and curation must preserve identity, source variants, and ordered ragas. See ingestion.
Flyway changes schema and reference seeds through the committed migration directory. Parser fixes and targeted reingestion correct composition content through the canon/provenance path. Migrations and versioned canon explain the separate responsibilities.