Files
TextNLPClassifierApp/graphify-out/cache/ast/v0.9.47-s2/44c5ec336c210bdd9671a5e852ee750e91f426b87c954b2c52499513cb85168d.json
T
andreferraro 6a45368cb0 feat(extractor): implement multi-engine article content extractor
- Added scripts/extract_article_contents.py for batch scraping with stealth Foxcape and triple extraction (Trafilatura, Newspaper4k, Readability)
- Created unit, integration, and E2E test suite in tests/test_extract_article_contents.py (90/90 passing)
- Updated specs/003-article-content-extractor and README.md with usage documentation and CLI contracts
- Passed ruff linting/formatting and mypy type checking cleanly
2026-08-20 19:22:20 -03:00

1 line
4.0 KiB
JSON

{"nodes": [{"id": "$graphify-root$_specs_003_article_content_extractor_contracts_cli_contract_md", "label": "cli-contract.md", "file_type": "document", "node_kind": "page", "source_file": "specs/003-article-content-extractor/contracts/cli-contract.md", "source_location": "L1"}, {"id": "$graphify-root$_specs_003_article_content_extractor_contracts_cli_contract_cli_contract_article_content_multi_engine_extractor", "label": "CLI Contract: Article Content Multi-Engine Extractor", "file_type": "document", "node_kind": "heading", "source_file": "specs/003-article-content-extractor/contracts/cli-contract.md", "source_location": "L1"}, {"id": "$graphify-root$_specs_003_article_content_extractor_contracts_cli_contract_1_comando_de_execu\u00e7\u00e3o", "label": "1. Comando de Execu\u00e7\u00e3o", "file_type": "document", "node_kind": "heading", "source_file": "specs/003-article-content-extractor/contracts/cli-contract.md", "source_location": "L3"}, {"id": "$graphify-root$_specs_003_article_content_extractor_contracts_cli_contract_2_argumentos_e_flags", "label": "2. Argumentos e Flags", "file_type": "document", "node_kind": "heading", "source_file": "specs/003-article-content-extractor/contracts/cli-contract.md", "source_location": "L11"}, {"id": "$graphify-root$_specs_003_article_content_extractor_contracts_cli_contract_3_c\u00f3digos_de_sa\u00edda_exit_codes", "label": "3. C\u00f3digos de Sa\u00edda (Exit Codes)", "file_type": "document", "node_kind": "heading", "source_file": "specs/003-article-content-extractor/contracts/cli-contract.md", "source_location": "L25"}, {"id": "$graphify-root$_specs_003_article_content_extractor_contracts_cli_contract_4_comportamento_de_streams_i_o", "label": "4. Comportamento de Streams (I/O)", "file_type": "document", "node_kind": "heading", "source_file": "specs/003-article-content-extractor/contracts/cli-contract.md", "source_location": "L35"}], "edges": [{"source": "$graphify-root$_specs_003_article_content_extractor_contracts_cli_contract_md", "target": "$graphify-root$_specs_003_article_content_extractor_contracts_cli_contract_cli_contract_article_content_multi_engine_extractor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "specs/003-article-content-extractor/contracts/cli-contract.md", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_specs_003_article_content_extractor_contracts_cli_contract_cli_contract_article_content_multi_engine_extractor", "target": "$graphify-root$_specs_003_article_content_extractor_contracts_cli_contract_1_comando_de_execu\u00e7\u00e3o", "relation": "contains", "confidence": "EXTRACTED", "source_file": "specs/003-article-content-extractor/contracts/cli-contract.md", "source_location": "L3", "weight": 1.0}, {"source": "$graphify-root$_specs_003_article_content_extractor_contracts_cli_contract_cli_contract_article_content_multi_engine_extractor", "target": "$graphify-root$_specs_003_article_content_extractor_contracts_cli_contract_2_argumentos_e_flags", "relation": "contains", "confidence": "EXTRACTED", "source_file": "specs/003-article-content-extractor/contracts/cli-contract.md", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_specs_003_article_content_extractor_contracts_cli_contract_cli_contract_article_content_multi_engine_extractor", "target": "$graphify-root$_specs_003_article_content_extractor_contracts_cli_contract_3_c\u00f3digos_de_sa\u00edda_exit_codes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "specs/003-article-content-extractor/contracts/cli-contract.md", "source_location": "L25", "weight": 1.0}, {"source": "$graphify-root$_specs_003_article_content_extractor_contracts_cli_contract_cli_contract_article_content_multi_engine_extractor", "target": "$graphify-root$_specs_003_article_content_extractor_contracts_cli_contract_4_comportamento_de_streams_i_o", "relation": "contains", "confidence": "EXTRACTED", "source_file": "specs/003-article-content-extractor/contracts/cli-contract.md", "source_location": "L35", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0}