feat(converter): implement deterministic JSON to Markdown article converter (spec 005)

This commit is contained in:
2026-08-21 10:30:14 -03:00
parent 64dfd842de
commit 926a6b8cfc
58 changed files with 20138 additions and 2301 deletions
+34 -4
View File
@@ -47,7 +47,7 @@
"45": "ClassificationResult",
"46": "InherenceClassifier",
"47": "classifier.py",
"48": "main",
"48": "test_convert_article_to_markdown.py",
"49": "content_northvolt_de.md",
"50": "content_presal_pt.md",
"51": "content_tangential_es.md",
@@ -104,7 +104,7 @@
"102": "Feature Specification: Multilingual NLP Entity Inherence Classifier (POC)",
"103": "4. Requisitos Funcionais (FR)",
"104": "Tasks: Article Content Multi-Engine Extractor",
"105": "LocalEmbeddingsAdapter",
"105": "Tasks: Convert Article JSON to Markdown",
"106": "Implementation Plan: Article Content Multi-Engine Extractor",
"107": "2. Cenários de Validação",
"108": "1. Technical Decisions & Tradeoffs",
@@ -116,10 +116,11 @@
"114": "JSON Schema Contract: Article Content Multi-Engine Extractor",
"115": "PRD — Seleção determinística da biblioteca de extração de conteúdo",
"116": "select_article_extractor.py",
"117": "1. Text Normalization Pipeline",
"117": "Research & Architectural Decisions: Deterministic Content Selection",
"118": "Tasks: Deterministic Article Content Selection",
"119": "select_article_extractor",
"120": "process_batch",
"121": "detect_language",
"122": "test_select_article_extractor.py",
"123": "Feature Specification: Deterministic Content Selection",
"124": "2. Entity Descriptions & Fields",
@@ -129,5 +130,34 @@
"128": "Specification Quality Checklist: Deterministic Content Selection",
"129": "CLI Interface Contract: Deterministic Article Content Selection",
"130": "004-deterministic-content-selection/spec.md",
"131": "JSON Schema Contract: Deterministic Article Content Selection"
"131": "convert_article_to_markdown.py",
"132": "8. Regras funcionais",
"133": "12. Critérios de aceite",
"134": "PRD — Conversão de artigo JSON para Markdown",
"135": "resolve_article_body",
"136": "Implementation Plan: Convert Article JSON to Markdown",
"137": "2. Technical Decisions & Research Findings",
"138": "Feature Specification: Convert Article JSON to Markdown",
"139": "Markdown Conversion Checklist: End-to-End Requirements Quality",
"140": "convert_article",
"141": "005-convert-json-markdown/plan.md",
"142": "Quickstart: Convert Article JSON to Markdown",
"143": "1. Domain Entities & Schemas",
"144": "11. Requisitos não funcionais",
"145": "parse_arguments",
"146": "Specification Quality Checklist: Convert Article JSON to Markdown",
"147": "CLI Contract: `convert_article_to_markdown.py`",
"148": "9. Interface CLI",
"149": "1. Text Normalization Pipeline",
"150": "13. Estratégia de testes",
"151": "6. Contrato de entrada",
"152": "assemble_markdown_document",
"153": "convert_html_to_markdown",
"154": "remove_duplicate_initial_h1",
"155": "5. Escopo",
"156": "Los puntajes de River vs. Independiente Santa Fe, por la Copa Sudamericana - TyC Sports",
"157": "valid_newspaper4k.md",
"158": "valid_readability.md",
"159": "test_normalize_list_strings_and_deduplication",
"160": "test_validate_url_schemes"
}