| Metadata | Value |
|---|---|
| Status | Active |
| Version | 1.3.0 |
| Last Updated | 2026-09-10 |
| Author | Sangeetha Grantha Team |
| Document Type | Evidence record |
[!NOTE] Historical evidence: results, counts, commands, and observations below belong to the original work described here. The editorial update date is not a new test or corpus verification. For present behavior, use current feature map.
Import 1,245 krithis for the three Carnatic Trinity composers (Muthuswami Dikshitar: 482, Syama Sastri: 71, Tyagaraja: 692) via the bulk import UI, with supporting raga seed migrations and scraping pipeline fixes.
39__seed_malavasri_raga.sql — Mālāvashree raga40__seed_missing_trinity_ragas.sql — 9 base ragas (Kalyāni, Todi, Jujāvanti, Gaula, Nāta, Bauli, Pūrvi, Gauri, Brindāvana Sāranga)Kotlin-side HTML scraping produced corrupted lyrics (Devanagari pronunciation guides, Word Division duplication, multiple language versions). Fixed by delegating entirely to Python extraction worker:
ScrapeWorker now passes only CSV metadata, leaving rawLyrics/rawPayload nullImportService.shouldEnqueueHtmlExtraction() → extraction_queue → Python workerStructureParser enhanced with Devanagari pronunciation guide boilerplate detection| File | Change |
|---|---|
database/for_import/*.csv |
Cleaned CSV source files |
database/migrations/39__seed_malavasri_raga.sql |
Mālāvashree raga seed |
database/migrations/40__seed_missing_trinity_ragas.sql |
9 base raga seeds |
database/migrations/41__unique_import_source_name.sql |
Fixed concurrent import source creation bug causing duplicate krithis |
modules/backend/api/.../bulkimport/workers/ScrapeWorker.kt |
Delegate scraping to Python worker |
tools/krithi-extract-enrich-worker/src/structure_parser.py |
Boilerplate detection |
Section-count mismatches left by the Trinity import are closed in TRACK-133 (108 → 0 rows; durable pallavi-echo parser 2026-09-05).
Ref: application_documentation/10-implementations/track-093-trinity-krithi-bulk-import.md