| Metadata | Value |
|---|---|
| Status | Active |
| Version | 1.1.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 quality checks.
Successfully resolved critical parsing failures in the bulk import pipeline that resulted in duplicate sections and missing krithi_lyric_sections for complex, multi-language compositions. The fix involved hardening the TextBlocker regex, preventing duplicate section collection across language variants, and remediating the backend service test suite to ensure stability.
TextBlocker.kt HardeningdetectSectionHeader to handle optional suffixes (e.g., sahityam) and surrounding punctuation. Added support for single-letter abbreviations (P, A, C) and Indic script single-letter headers (Devanagari, Tamil, Telugu, Kannada, Malayalam).WebScrapingService.kt EnhancementsderiveSectionsFromBlocks to stop collecting sections after the first script block is processed. This prevents duplicate sections (Pallavi, Charanam, etc.) from being appended for every language variant present on a blog post.languageLabels set with TextBlocker to include all new markers.EntityResolutionServiceTest, ImportServiceTest, KrithiServiceTest, QualityScoringServiceTest, TempleScrapingServiceTest, and WebScrapingServiceTest by updating them to use SangitaDalImpl and providing required constructor parameters.TestDatabaseFactory to create necessary custom ENUM types as DOMAIN AS VARCHAR for H2 compatibility, resolving JdbcSQLDataException failures during testing.TextBlockerTest.kt with specific test cases for:
TextBlockerTest passed all scenarios, confirming correct section segmentation and language boundary detection.KrithiServiceTest, etc.) are now compiling and passing in the local environment.modules/backend/api/src/main/kotlin/com/sangita/grantha/backend/api/services/scraping/TextBlocker.kt (Modified)modules/backend/api/src/main/kotlin/com/sangita/grantha/backend/api/services/WebScrapingService.kt (Modified)modules/backend/api/src/main/kotlin/com/sangita/grantha/backend/api/services/ImportService.kt (Modified)modules/backend/api/src/test/kotlin/com/sangita/grantha/backend/api/services/*Test.kt (Modified - 6 files)modules/backend/api/src/test/kotlin/com/sangita/grantha/backend/api/support/TestDatabaseFactory.kt (Modified)modules/backend/api/src/test/kotlin/com/sangita/grantha/backend/api/services/scraping/TextBlockerTest.kt (Created)application_documentation/07-quality/broken-tests-remediation.md (Created)application_documentation/04-database/schema.mdconductor/tracks/TRACK-034-fix-text-blocker-parsing.md