| Metadata | Value |
|---|---|
| Status | Completed |
| Version | 1.0.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.
Fix the guru-guha.blogspot.com extraction pipeline end-to-end so that all 26+ krithis imported from this source have correct structural sections (PALLAVI, ANUPALLAVI, CHARANAM) and clean lyrics — no metadata pollution, no navigation cruft, no URLs in lyric text.
<table> elements extracted as lyric contentretry() reset status to PENDING but left attempts at max<table> elements with language-switch linksLyricVariantPersistenceService: Upgrade stale all-OTHER sections on re-extraction; backfill includes MAPPED and IN_REVIEW statusesImportRoutes: POST /re-extract endpoint with typed ReExtractResponseKrithiLyricRepository: deleteAllVariants() for clearing before re-extractionExtractionQueueRepository: Reset attempts = 0 in retry() and retryAllFailed()| File | Change |
|---|---|
tools/krithi-extract-enrich-worker/src/html_extractor.py |
Navigation table stripping, link filtering |
tools/krithi-extract-enrich-worker/src/structure_parser.py |
Metadata boundary hardening, minimum-content guard |
tools/krithi-extract-enrich-worker/src/worker.py |
URL-based composer inference fallback |
tools/krithi-extract-enrich-worker/tests/test_html_extractor.py |
Guru-guha blog tests |
modules/backend/api/.../services/LyricVariantPersistenceService.kt |
Section upgrade, multi-status backfill |
modules/backend/api/.../routes/ImportRoutes.kt |
Re-extract endpoint, typed response DTOs |
modules/backend/dal/.../repositories/KrithiLyricRepository.kt |
deleteAllVariants() |
modules/backend/dal/.../repositories/ExtractionQueueRepository.kt |
Reset attempts in retry() |
database/migrations/42__reset_guru_guha_extraction_attempts.sql |
Reset extraction attempts for guru-guha entries |
database/migrations/43__reset_guru_guha_to_pending.sql |
Reset guru-guha queue entries to PENDING |
Ref: application_documentation/10-implementations/track-097-guru-guha-blog-source-adapter.md