45 KiB
Graph Report - TextNLPClassifierApp (2026-08-21)
Corpus Check
- 199 files · ~108,365 words
- Verdict: corpus is large enough that graph structure adds value.
Summary
- 1527 nodes · 1899 edges · 165 communities (118 shown, 47 thin omitted)
- Extraction: 97% EXTRACTED · 3% INFERRED · 0% AMBIGUOUS · INFERRED: 51 edges (avg confidence: 0.95)
- Token cost: 0 input · 0 output
Graph Freshness
- Built from commit:
64dfd842 - Run
git rev-parse HEADand compare to check if the graph is stale. - Run
graphify update .after code changes (no API cost).
Community Hubs (Navigation)
- Task Planning
- Convergence Workflow
- SpecKit Utilities
- Graphify Commands
- speckit-analyze/SKILL.md
- Tasks: Multilingual NLP Entity Inherence Classifier (POC)
- Feature Specification Template
- Graphify Rules
- Implementation Planning
- Feature Specification
- Task Generation
- Project Constitution
- Constitution Template
- Graphify Exports
- Ponytail Configuration
- Implementation Planning Template
- Ponytail Help
- Checklist Generation
- Clarification Workflow
- Implementation Workflow
- Graph Query
- Constitution Workflow
- Feature Branch Creation
- Ponytail Audit
- Ponytail Metrics
- Ponytail Review
- Task Issue Conversion
- Checklist Template
- Graphify Watch Mode
- Graphify Hooks
- Graphify Updates
- Ponytail Debt
- Repository Merge
- Media Transcription
- Extraction Specification
- Graphify Workflows
- main
-
- Technical Decisions & Tradeoffs
-
- Input Schemas
-
- Basic CLI Usage Examples
-
- Standard Streams & Exit Codes
- ClassificationResult
- InherenceClassifier
- classifier.py
- test_convert_article_to_markdown.py
- content_northvolt_de.md
- content_presal_pt.md
- content_tangential_es.md
- adapters/__init__.py
- src/__init__.py
- de/contextual.md
- de/direct.md
- de/not_related.md
- de/tangential.md
- en/contextual.md
- en/direct.md
- en/not_related.md
- en/tangential.md
- es/contextual.md
- es/direct.md
- es/not_related.md
- es/tangential.md
- fr/contextual.md
- fr/direct.md
- fr/not_related.md
- fr/tangential.md
- it/contextual.md
- it/direct.md
- it/not_related.md
- it/tangential.md
- pt/contextual.md
- pt/direct.md
- pt/not_related.md
- pt/tangential.md
- tests/__init__.py
- text-nlp-classifier
- test_extract_article_contents.py
- Extrator de Notícias do Google News — Guia Completo de Funcionamento
- extract_google_news.py
- ExtractionResult
- test_extract_google_news.py
- Implementation Tasks: Google News Headlines Extractor
- Feature Specification: Google News Headlines Extractor
-
- Cenários Práticos de Uso
- Implementation Plan: Google News Headlines Extractor
- scripts/__init__.py
- SearchQuery
-
- Technical Decisions & Tradeoffs
- General Readiness Checklist: Google News Headlines Extractor
-
- Entidades de Domínio & DTOs
- Specification Quality Checklist: Google News Headlines Extractor
- CLI Contract: Google News Headlines Extractor
- 🧠 TextNLPClassifierApp
- Extraction Pipeline Checklist: Article Content Multi-Engine Extractor
- parametrize
- models.py
- ECPSnapshot
- Feature Specification: Multilingual NLP Entity Inherence Classifier (POC)
-
- Requisitos Funcionais (FR)
- Tasks: Article Content Multi-Engine Extractor
- Tasks: Convert Article JSON to Markdown
- Implementation Plan: Article Content Multi-Engine Extractor
-
- Cenários de Validação
-
- Technical Decisions & Tradeoffs
- Implementation Plan: Multilingual NLP Entity Inherence Classifier (POC)
- POC Readiness & Requirements Quality Checklist: Multilingual NLP Entity Inherence Classifier
- Specification Quality Checklist: Multilingual NLP Entity Inherence Classifier
- CLI Contract: Article Content Multi-Engine Extractor
- JSON Schema Contract: Article Content Multi-Engine Extractor
- PRD — Seleção determinística da biblioteca de extração de conteúdo
- select_article_extractor.py
-
- Text Normalization Pipeline
- Tasks: Deterministic Article Content Selection
- select_article_extractor
- process_batch
- detect_language
- test_select_article_extractor.py
- Feature Specification: Deterministic Content Selection
-
- Entity Descriptions & Fields
- Implementation Plan: Deterministic Article Content Selection
- Deterministic Content Selection Checklist: End-to-End Requirements Quality
- Quickstart: Deterministic Article Content Selection
- Specification Quality Checklist: Deterministic Content Selection
- CLI Interface Contract: Deterministic Article Content Selection
- convert_article_to_markdown.py
-
- Regras funcionais
-
- Critérios de aceite
- PRD — Conversão de artigo JSON para Markdown
- resolve_article_body
- Implementation Plan: Convert Article JSON to Markdown
-
- Technical Decisions & Research Findings
- Feature Specification: Convert Article JSON to Markdown
- Markdown Conversion Checklist: End-to-End Requirements Quality
- convert_article
- 005-convert-json-markdown/plan.md
- Quickstart: Convert Article JSON to Markdown
-
- Domain Entities & Schemas
-
- Requisitos não funcionais
- parse_arguments
- Specification Quality Checklist: Convert Article JSON to Markdown
- CLI Contract:
convert_article_to_markdown.py -
- Interface CLI
- get_hl_gl_ceid
-
- Estratégia de testes
-
- Contrato de entrada
- assemble_markdown_document
- convert_html_to_markdown
- JSON Schema Contract: Deterministic Article Content Selection
-
- Escopo
- Los puntajes de River vs. Independiente Santa Fe, por la Copa Sudamericana - TyC Sports
- valid_newspaper4k.md
- valid_readability.md
- test_normalize_date_rfc_2822_variants
- test_normalize_date_invalid_and_placeholders
- test_metadata_priority_title_all_fallbacks
- test_metadata_priority_subtitle_omitted_when_equal_to_title
- test_metadata_priority_first_valid_source_no_cross_merging
- test_normalize_scalar_non_string_types
God Nodes (most connected - your core abstractions)
ECPSnapshot- 31 edgesInherenceClassifier- 25 edgesselect_article_extractor()- 23 edgesExtractorName- 21 edgesDecisionCategory- 17 edgesClassificationResult- 17 edgesPRD — Conversão de artigo JSON para Markdown- 16 edgesprocess_batch()- 15 edges8. Regras funcionais- 15 edgesresolve_article_metadata()- 14 edges
Surprising Connections (you probably didn't know these)
main()--uses-->ECPSnapshot[INFERRED] classify.py → src/models.pytest_e2e_extract_google_news_live_pipeline()--uses-->ExtractionResult[INFERRED] tests/test_extract_google_news.py → scripts/extract_google_news.pyclassifier()--uses-->InherenceClassifier[INFERRED] tests/test_benchmark_24.py → src/classifier.pytest_classification_result_serialization()--uses-->DecisionCategory[INFERRED] tests/test_models.py → src/models.pypetrobras_ecp()--uses-->ECPSnapshot[INFERRED] tests/test_classifier.py → src/models.py
Import Cycles
- None detected.
Communities (165 total, 47 thin omitted)
Community 0 - "Task Planning"
Cohesion: 0.07
Nodes (26): Dependencies & Execution Order, Format: [ID] [P?] [Story] Description, Implementation for User Story 1, Implementation for User Story 2, Implementation for User Story 3, Implementation Strategy, Incremental Delivery, MVP First (User Story 1 Only) (+18 more)
Community 1 - "Convergence Workflow"
Cohesion: 0.12 Nodes (15): 1. Initialize Convergence Context, 2. Load Artifacts (Progressive Disclosure), 3. Build the Intent Inventory, 4. Assess the Codebase and Classify Findings, 5. Assign Severity, 6. Present the In-Session Findings Summary, 7. Append Convergence Tasks (or report converged), 8. Provide Next Actions (Handoff) (+7 more)
Community 2 - "SpecKit Utilities"
Cohesion: 0.23 Nodes (13): Find-SpecifyRoot(), Format-SpecKitCommand(), Get-CurrentBranch(), Get-FeaturePathsEnv(), Get-InvokeSeparator(), Get-NormalizedPriority(), Get-Python3Command(), Get-RepoRoot() (+5 more)
Community 3 - "Graphify Commands"
Cohesion: 0.08 Nodes (24): For /graphify add and --watch, For /graphify query, For the commit hook and native CLAUDE.md integration, For --update and --cluster-only, /graphify, Honesty Rules, Interpreter guard for subcommands, Part A - Structural extraction for code files (+16 more)
Community 4 - "speckit-analyze/SKILL.md"
Cohesion: 0.08 Nodes (25): 1. Initialize Analysis Context, 2. Load Artifacts (Progressive Disclosure), 3. Build Semantic Models, 4. Detection Passes (Token-Efficient Analysis), 5. Severity Assignment, 6. Produce Compact Analysis Report, 7. Provide Next Actions, 8. Offer Remediation (+17 more)
Community 5 - "Tasks: Multilingual NLP Entity Inherence Classifier (POC)"
Cohesion: 0.15 Nodes (13): Dependencies & Execution Order, Implementation for User Story 1, Implementation for User Story 2, Implementation for User Story 3, Implementation Strategy, Phase 1: Setup (Shared Infrastructure), Phase 2: Foundational (Blocking Prerequisites), Phase 3: User Story 1 - Core Tier 1 Deterministic Classification & CLI (Priority: P1) [MVP] (+5 more)
Community 6 - "Feature Specification Template"
Cohesion: 0.15 Nodes (12): Assumptions, Edge Cases, Feature Specification: [FEATURE NAME], Functional Requirements, Key Entities (include if feature involves data), Measurable Outcomes, Requirements (mandatory), Success Criteria (mandatory) (+4 more)
Community 8 - "Implementation Planning"
Cohesion: 0.18 Nodes (10): Completion Report, Done When, Key rules, Mandatory Post-Execution Hooks, Outline, Phase 0: Outline & Research, Phase 1: Design & Contracts, Phases (+2 more)
Community 9 - "Feature Specification"
Cohesion: 0.18 Nodes (10): Completion Report, Done When, For AI Generation, Mandatory Post-Execution Hooks, Outline, Pre-Execution Checks, Quick Guidelines, Section Requirements (+2 more)
Community 10 - "Task Generation"
Cohesion: 0.18 Nodes (10): Checklist Format (REQUIRED), Completion Report, Done When, Mandatory Post-Execution Hooks, Outline, Phase Structure, Pre-Execution Checks, Task Generation Rules (+2 more)
Community 11 - "Project Constitution"
Cohesion: 0.18 Nodes (10): Core Principles, Governance, [PRINCIPLE_1_NAME], [PRINCIPLE_2_NAME], [PRINCIPLE_3_NAME], [PRINCIPLE_4_NAME], [PRINCIPLE_5_NAME], [PROJECT_NAME] Constitution (+2 more)
Community 12 - "Constitution Template"
Cohesion: 0.18 Nodes (10): Core Principles, Governance, [PRINCIPLE_1_NAME], [PRINCIPLE_2_NAME], [PRINCIPLE_3_NAME], [PRINCIPLE_4_NAME], [PRINCIPLE_5_NAME], [PROJECT_NAME] Constitution (+2 more)
Community 13 - "Graphify Exports"
Cohesion: 0.22 Nodes (8): graphify reference: extra exports and benchmark, Step 6b - Wiki (only if --wiki flag), Step 7 - Neo4j export (only if --neo4j or --neo4j-push flag), Step 7a - FalkorDB export (only if --falkordb or --falkordb-push flag), Step 7b - SVG export (only if --svg flag), Step 7c - GraphML export (only if --graphml flag), Step 7d - MCP server (only if --mcp flag), Step 8 - Token reduction benchmark (only if total_words > 5000)
Community 14 - "Ponytail Configuration"
Cohesion: 0.22 Nodes (8): Boundaries, Intensity, Output, Persistence, Ponytail, Rules, The ladder, When NOT to be lazy
Community 15 - "Implementation Planning Template"
Cohesion: 0.22 Nodes (8): Complexity Tracking, Constitution Check, Documentation (this feature), Implementation Plan: [FEATURE], Project Structure, Source Code (repository root), Summary, Technical Context
Community 16 - "Ponytail Help"
Cohesion: 0.25 Nodes (7): Configure Default Mode, Deactivate, Levels, More, Ponytail Help, Skills, Update
Community 17 - "Checklist Generation"
Cohesion: 0.25 Nodes (7): Anti-Examples: What NOT To Do, Checklist Purpose: "Unit Tests for English", Example Checklist Types & Sample Items, Execution Steps, Post-Execution Checks, Pre-Execution Checks, User Input
Community 18 - "Clarification Workflow"
Cohesion: 0.29 Nodes (6): Completion Report, Done When, Mandatory Post-Execution Hooks, Outline, Pre-Execution Checks, User Input
Community 19 - "Implementation Workflow"
Cohesion: 0.29 Nodes (6): Completion Report, Done When, Mandatory Post-Execution Hooks, Outline, Pre-Execution Checks, User Input
Community 20 - "Graph Query"
Cohesion: 0.33 Nodes (5): For /graphify explain, For /graphify path, graphify reference: query, path, explain, Step 0 — Constrained query expansion (REQUIRED before traversal), Step 1 — Traversal
Community 21 - "Constitution Workflow"
Cohesion: 0.33 Nodes (5): Outline, Post-Execution Checks, Pre-Execution Checks, Scope Guard, User Input
Community 23 - "Ponytail Audit"
Cohesion: 0.40 Nodes (4): Boundaries, Hunt, Output, Tags
Community 24 - "Ponytail Metrics"
Cohesion: 0.40 Nodes (4): Boundaries, Honesty boundary, Ponytail Gain, Scoreboard
Community 25 - "Ponytail Review"
Cohesion: 0.40 Nodes (4): Boundaries, Examples, Format, Scoring
Community 26 - "Task Issue Conversion"
Cohesion: 0.40 Nodes (4): Outline, Post-Execution Checks, Pre-Execution Checks, User Input
Community 27 - "Checklist Template"
Cohesion: 0.40 Nodes (4): [Category 1], [Category 2], [CHECKLIST TYPE] Checklist: [FEATURE NAME], Notes
Community 28 - "Graphify Watch Mode"
Cohesion: 0.50 Nodes (3): For /graphify add, For --watch, graphify reference: add a URL and watch a folder
Community 29 - "Graphify Hooks"
Cohesion: 0.50 Nodes (3): For git commit hook, For native CLAUDE.md integration, graphify reference: commit hook and native CLAUDE.md integration
Community 30 - "Graphify Updates"
Cohesion: 0.50 Nodes (3): For --cluster-only, For --update (incremental re-extraction), graphify reference: incremental update and cluster-only
Community 31 - "Ponytail Debt"
Cohesion: 0.50 Nodes (3): Boundaries, Output, Scan
Community 40 - "main"
Cohesion: 0.14 Nodes (17): ArgumentParser, CaptureFixture, build_parser(), main(), Cria e configura o parser de argumentos CLI., Ponto de entrada do script CLI., Path, Valida execução padrão do CLI com saída JSON no stdout. (+9 more)
Community 41 - "1. Technical Decisions & Tradeoffs"
Cohesion: 0.22 Nodes (8): 1. Technical Decisions & Tradeoffs, 2. Standardized Error Handling Strategy, Decision 1: Execution Engine & CLI Architecture, Decision 2: Multilingual Language Detection & Normalization (Tier 1 Core), Decision 3: Materialized ECP Snapshot Contract & Matching Logic, Decision 4: Tier 2 (Embeddings) & Tier 3 (LLM) Optional Adapters, Decision 5: Controlled 24-Case POC Benchmark Suite, Technical Research & Architecture Decisions (POC)
Community 42 - "1. Input Schemas"
Cohesion: 0.25
Nodes (7): 1.1 ECP Snapshot Schema (snapshot.json), 1.2 Content Item Schema (content.md), 1. Input Schemas, 2.1 Classification Success Result Schema (result.json), 2.2 Error Result Schema, 2. Output Schemas, Data Models & Schemas (POC)
Community 43 - "2. Basic CLI Usage Examples"
Cohesion: 0.25 Nodes (7): 1. Prerequisites & Installation, 2.1 Direct Inherence (Portuguese), 2.2 Contextual Inherence via Graph Snapshot (German), 2.3 Tangential Mention (Spanish), 2. Basic CLI Usage Examples, 3. Running the Controlled 24-Case Benchmark, Quickstart & Validation Guide (POC)
Community 44 - "2. Standard Streams & Exit Codes"
Cohesion: 0.29
Nodes (6): 1.1 Arguments & Options, 1. Command Line Interface, 2.1 Exit Codes, 2.2 Standard Output (stdout) / Standard Error (stderr), 2. Standard Streams & Exit Codes, CLI Contract & Interface Specification (POC)
Community 45 - "ClassificationResult"
Cohesion: 0.09 Nodes (19): ABC, BaseNLPAdapter, Base abstract adapter interface for optional Tier 2 / Tier 3 NLP enhancers., Abstract interface for pluggable NLP classification adapters., Return True if the underlying provider or model is installed and configured., Compute semantic similarity score between text and a set of candidate terms., Optionally refine an ambiguous classification result., LocalEmbeddingsAdapter (+11 more)
Community 46 - "InherenceClassifier"
Cohesion: 0.12 Nodes (27): InherenceClassifier, Tier 1 Deterministic NLP Entity Inherence Classifier., DecisionCategory, RelatedEntity, Adversarial and robustness test suite for Multilingual NLP Entity Inherence…, Run CLI via subprocess without --output and verify stdout is pure parseable…, Run CLI via subprocess with empty content and verify error code and exit code., Content about city/state governance of São Paulo against ECP for São Paulo FC. (+19 more)
Community 47 - "classifier.py"
Cohesion: 0.16 Nodes (16): count_phrase_occurrences(), match_phrase_in_text(), Core deterministic classification engine (Tier 1 core)., Check if a normalized phrase appears in normalized text with word boundary…, Count occurrences of a phrase in text., Classify inherence of content against an ECP snapshot., extract_evidence_snippets(), extract_sentences() (+8 more)
Community 48 - "test_convert_article_to_markdown.py"
Cohesion: 0.07 Nodes (27): Suíte de Testes Automatizados para Conversão de Artigo JSON para Markdown.…, Testa deduplicação case-insensitive preservando a grafia e ordem da primeira…, Valida parsing de datas ISO 8601 em múltiplos formatos e fusos., Valida a cadeia de fallback completa para a URL ORIGINAL (5 níveis)., Valida decodificação de entidades HTML nomeadas e numéricas., Valida colapso de tabs, quebras de linha e espaços múltiplos em um único espaço., Garante correspondência exata byte a byte para Trafilatura, Newspaper4k e…, Garante que múltiplas execuções no mesmo arquivo produzam hashes SHA-256… (+19 more)
Community 80 - "test_extract_article_contents.py"
Cohesion: 0.06 Nodes (56): ArticleCrawler, extract_all_engines(), ExtractedArticle, ExtractionBatchReport, InputArticle, load_search_json(), log_info(), main() (+48 more)
Community 81 - "Extrator de Notícias do Google News — Guia Completo de Funcionamento"
Cohesion: 0.08
Nodes (24): 1. Visão geral (arquitetura), 2.1 DTO de entrada (googlenews_etl/application/dtos/extract_news_dto.py), 2.2 Value Object de validação (googlenews_etl/domain/entities/search_query.py), 2. Entrada, 3.1 O caso de uso (googlenews_etl/application/use_cases/extract_news_use_case.py), 3.2 A porta (googlenews_etl/domain/ports/news_extractor_port.py), 3.3.1 Inicialização: sessão HTTP com impersonação de browser, 3.3.2 Mapeamento idioma → parâmetros hl/gl (_get_hl_gl) (+16 more)
Community 82 - "extract_google_news.py"
Cohesion: 0.20 Nodes (14): extract_google_news(), _fetch_rss_content(), NewsArticle, _normalize_text_for_comparison(), parse_google_news_rss(), Remove pontuação e espaços extras para comparação de redundância., Parseia o XML do RSS do Google News e extrai os itens estruturados., Resolve em paralelo as URLs intermediárias do Google News para os links finais… (+6 more)
Community 83 - "ExtractionResult"
Cohesion: 0.29 Nodes (5): ExtractionResult, Any, Resultado consolidado da extração., Valida a consolidação do ExtractionResult a partir da busca mockada com URLs…, test_extract_google_news_orchestration_mocked()
Community 84 - "test_extract_google_news.py"
Cohesion: 0.16 Nodes (14): Resolve a URL intermediária do Google News para a URL real do veículo., resolve_article_url(), fixture, Testes unitários e de integração para o Extrator de Manchetes do Google News.…, Valida o parsing do feed RSS, higienização de tags HTML e deduplicação., Valida fallback gracioso de URL quando não é link do Google News ou em erro., Valida resolução bem-sucedida de URL do Google News para o portal destino., Valida E2E que o decodificador resolve uma URL real do Google News para o… (+6 more)
Community 85 - "Implementation Tasks: Google News Headlines Extractor"
Cohesion: 0.14 Nodes (14): Implementation for User Story 1, Implementation for User Story 2, Implementation for User Story 3, Implementation Tasks: Google News Headlines Extractor, Phase 1: Setup (Shared Infrastructure), Phase 2: Foundational (Blocking Prerequisites), Phase 3: User Story 1 - Extração Básica de Notícias por Assunto e Idioma (Priority: P1) 🌟 MVP, Phase 4: User Story 2 - Filtragem Regional e Edição Geográfica (Priority: P2) (+6 more)
Community 86 - "Feature Specification: Google News Headlines Extractor"
Cohesion: 0.18 Nodes (11): Clarifications, Edge Cases, Feature Specification: Google News Headlines Extractor, Functional Requirements, Requirements (mandatory), Session 2026-08-20, Success Criteria (mandatory), User Scenarios & Testing (mandatory) (+3 more)
Community 87 - "2. Cenários Práticos de Uso"
Cohesion: 0.20
Nodes (9): 1. Pré-requisitos e Instalação, 2. Cenários Práticos de Uso, 3. Validação dos Testes Automatizados e Linter, Cenário 1: River Plate — Argentina (Espanhol / 2 Páginas / Salvar em Arquivo), Cenário 2: Cruzeiro — Brasil (Português / Formatado no Terminal), Cenário 3: Fórmula 1 — Reino Unido (Inglês), Cenário 4: Integração em Pipeline com jq (Modo Silencioso), Cenário 5: Extração Rápida com Links Brutos (Sem Resolução de URLs) (+1 more)
Community 88 - "Implementation Plan: Google News Headlines Extractor"
Cohesion: 0.29 Nodes (7): Architecture & Pipeline, Documentation (this feature), Implementation Plan: Google News Headlines Extractor, Project Structure, Source Code, Summary, Technical Context
Community 90 - "SearchQuery"
Cohesion: 0.20 Nodes (6): Value Object com parâmetros de busca validados., SearchQuery, Valida E2E o fluxo completo de busca, parsing e resolução de URLs reais ao vivo., Valida as regras de negócio e limites de SearchQuery., test_e2e_extract_google_news_live_pipeline(), test_search_query_validation()
Community 91 - "1. Technical Decisions & Tradeoffs"
Cohesion: 0.25
Nodes (7): 1. Technical Decisions & Tradeoffs, Decision 1: Motor de Requisição e Scraping com foxcape em Modo Headless, Decision 2: Endpoint RSS do Google News vs. Scraping de DOM, Decision 3: Mapeamento de Idioma e Locale (hl, gl, ceid), Decision 4: Resolução de URLs do Google News via googlenewsdecoder, Decision 5: Logging em Tempo Real no stderr e Segregação de Streams, Research: Google News Headlines Extractor
Community 92 - "General Readiness Checklist: Google News Headlines Extractor"
Cohesion: 0.29 Nodes (7): CLI Interface & Parameter Contracts, Data Sanitization & Article Extraction, Error Handling & Edge Cases, General Readiness Checklist: Google News Headlines Extractor, Non-Functional & Operational Readiness, Notes, Scraping Engine & Feed Mapping
Community 93 - "1. Entidades de Domínio & DTOs"
Cohesion: 0.29 Nodes (6): 1.1 SearchQuery (Parâmetros da Busca), 1.2 NewsArticle (Item de Notícia), 1.3 ExtractionResult (Saída Estruturada Consolidada), 1. Entidades de Domínio & DTOs, 2. Esquema JSON de Saída, Data Model: Google News Headlines Extractor
Community 94 - "Specification Quality Checklist: Google News Headlines Extractor"
Cohesion: 0.33 Nodes (5): Content Quality, Feature Readiness, Notes, Requirement Completeness, Specification Quality Checklist: Google News Headlines Extractor
Community 95 - "CLI Contract: Google News Headlines Extractor"
Cohesion: 0.33 Nodes (6): 1. Comando e Argumentos, 2. Códigos de Saída (Exit Codes), 3. Protocolo de Streams (Stdout / Stderr), Argumentos de Linha de Comando, CLI Contract: Google News Headlines Extractor, Sintaxe
Community 97 - "🧠 TextNLPClassifierApp"
Cohesion: 0.04 Nodes (45): 1. 🧠 Classificador de Conteúdo e Inerência (NLP / LLM / ECP), 1. Clonar o Repositório e Criar Ambiente Virtual, 1. Conversão Padrão, 1. Execução Padrão Automática, 2. Conversão com Caminho de Destino Personalizado, 2. Execução com Modo Verboso, 2. 📰 Extrator de Manchetes do Google News, 2. Instalar Dependências (+37 more)
Community 98 - "Extraction Pipeline Checklist: Article Content Multi-Engine Extractor"
Cohesion: 0.05 Nodes (34): 1. Requirement Completeness, 2. Requirement Clarity & Non-Ambiguity, 3. Requirement Consistency & Data Contracts, 4. Scenario & Edge Case Coverage, 5. Non-Functional & Operational Readiness, Extraction Pipeline Checklist: Article Content Multi-Engine Extractor, Notes, Content Quality (+26 more)
Community 99 - "parametrize"
Cohesion: 0.22 Nodes (9): parametrize, Garante aceitação de URLs absolutas com esquema HTTP e HTTPS válidos., Garante rejeição de esquemas não permitidos, URLs relativas e strings vazias., Garante que a ausência de corpo no extrator selecionado NUNCA faça fallback…, Garante que todos os placeholders documentados no PRD sejam descartados…, test_normalize_scalar_placeholders_discarded(), test_resolve_article_body_strict_isolation_all_extractors(), test_validate_url_invalid_schemes() (+1 more)
Community 100 - "models.py"
Cohesion: 0.15 Nodes (17): emit_error(), main(), parse_args(), Namespace, ClassificationError, ErrorCode, MatchedGraphEntity, Enum (+9 more)
Community 101 - "ECPSnapshot"
Cohesion: 0.20 Nodes (10): ECPSnapshot, Any, classifier(), fixture, parametrize, Controlled 24-case benchmark suite for Multilingual NLP Entity Inherence…, test_benchmark_case(), test_ecp_snapshot_defaults() (+2 more)
Community 102 - "Feature Specification: Multilingual NLP Entity Inherence Classifier (POC)"
Cohesion: 0.14 Nodes (14): Assumptions, Assumptions & Scope, Clarifications, Explicit Out of Scope (POC), Feature Specification: Multilingual NLP Entity Inherence Classifier (POC), Functional Requirements, Key Entities (data models & domain entities), Measurable Outcomes (+6 more)
Community 103 - "4. Requisitos Funcionais (FR)"
Cohesion: 0.10
Nodes (20): 1.1 Objetivo do Produto, 1. Visão Geral e Contexto, 2. Personas e Casos de Uso, 3. Arquitetura e Fluxo do Sistema, 4. Requisitos Funcionais (FR), 5. Requisitos Não Funcionais (NFR), 6.1 Esquema do JSON de Entrada (Input), 6.2 Esquema do JSON Consolidado de Saída (Output) (+12 more)
Community 104 - "Tasks: Article Content Multi-Engine Extractor"
Cohesion: 0.11 Nodes (18): Dependencies & Execution Order, Entrega Incremental, Implementation Strategy, Implementação da User Story 1, Implementação da User Story 2, Implementação da User Story 3, MVP First (User Story 1 Only), Oportunidades de Execução Paralela (+10 more)
Community 105 - "Tasks: Convert Article JSON to Markdown"
Cohesion: 0.11 Nodes (19): Dependencies & Execution Order, Implementation for User Story 1, Implementation for User Story 2, Implementation for User Story 3, Implementation Strategy, Incremental Delivery, MVP First (User Story 1 Only), Parallel Opportunities (+11 more)
Community 106 - "Implementation Plan: Article Content Multi-Engine Extractor"
Cohesion: 0.17 Nodes (11): Constitution Check, Documentation (this feature), Implementation Phases, Implementation Plan: Article Content Multi-Engine Extractor, Phase 0: Outline & Research (Completed), Phase 1: Design & Contracts (Completed), Phase 2: Tasks & Execution (Completed), Project Structure (+3 more)
Community 107 - "2. Cenários de Validação"
Cohesion: 0.22
Nodes (8): 1. Pré-requisitos, 2. Cenários de Validação, 3. Validação Automatizada de Testes, Cenário 1: Extração com Amostragem Rápida (Limit 2), Cenário 2: Caminho Customizado de Saída, Cenário 3: Modo Silencioso (--silent), Cenário 4: Resiliência contra URLs Inválidas, Quickstart & Validation Guide: Article Content Multi-Engine Extractor
Community 108 - "1. Technical Decisions & Tradeoffs"
Cohesion: 0.22
Nodes (8): 1. Technical Decisions & Tradeoffs, Decision 1: Motor de Navegação e Renderização com foxcape em Sessão Única, Decision 2: Orquestração Tripla de Extração de Conteúdo (NLP & Web Scraping), Decision 3: Resiliência e Isolamento de Falhas por Camada, Decision 4: Herança Inteligente de Idioma para NLP, Decision 5: Gerenciamento de Memória e Descarte do Raw HTML, Decision 6: Segregação de Streams e Feedback Visual em stderr, Research: Article Content Multi-Engine Extractor
Community 109 - "Implementation Plan: Multilingual NLP Entity Inherence Classifier (POC)"
Cohesion: 0.25 Nodes (8): Complexity Tracking, Constitution Check, Documentation (this feature), Implementation Plan: Multilingual NLP Entity Inherence Classifier (POC), Project Structure, Source Code (repository root), Summary, Technical Context
Community 110 - "POC Readiness & Requirements Quality Checklist: Multilingual NLP Entity Inherence Classifier"
Cohesion: 0.29 Nodes (7): 1. Requirement Completeness & Scope Boundaries, 2. Requirement Clarity & Decision Semantics, 3. Requirement Consistency & Alignment, 4. Acceptance Criteria & Measurability, 5. Scenario & Edge Case Coverage, Notes, POC Readiness & Requirements Quality Checklist: Multilingual NLP Entity Inherence Classifier
Community 111 - "Specification Quality Checklist: Multilingual NLP Entity Inherence Classifier"
Cohesion: 0.33 Nodes (5): Content Quality, Feature Readiness, Notes, Requirement Completeness, Specification Quality Checklist: Multilingual NLP Entity Inherence Classifier
Community 112 - "CLI Contract: Article Content Multi-Engine Extractor"
Cohesion: 0.33 Nodes (5): 1. Comando de Execução, 2. Argumentos e Flags, 3. Códigos de Saída (Exit Codes), 4. Comportamento de Streams (I/O), CLI Contract: Article Content Multi-Engine Extractor
Community 114 - "JSON Schema Contract: Article Content Multi-Engine Extractor"
Cohesion: 0.50 Nodes (3): 1. Schema de Entrada (Input JSON), 2. Schema de Saída (Output JSON), JSON Schema Contract: Article Content Multi-Engine Extractor
Community 115 - "PRD — Seleção determinística da biblioteca de extração de conteúdo"
Cohesion: 0.07 Nodes (29): 10. Requisitos não funcionais, 11. Critérios de aceite, 12. Casos obrigatórios de teste, 13. Definition of Done, 1. Contexto, 2. Objetivo, 3.1 Incluído, 3.2 Fora do escopo (+21 more)
Community 116 - "select_article_extractor.py"
Cohesion: 0.14 Nodes (19): ArticleSelectionResult, BatchProcessingResult, break_priority_tie(), calculate_consensus_metrics(), ExtractorCandidate, form_active_set(), main(), parse_args() (+11 more)
Community 117 - "1. Text Normalization Pipeline"
Cohesion: 0.11 Nodes (18): 1. Text Normalization Pipeline, 2. 5-Token Shingles & Consensus Metrics, 3. Regras de Decisão, Empate Técnico e Desempate Hierárquico, 4. Estratégia de I/O Não Destrutiva e Escrita Atômica, Alternatives Considered, Context, Context, Context (+10 more)
Community 118 - "Tasks: Deterministic Article Content Selection"
Cohesion: 0.11 Nodes (18): Dependencies & Execution Order, Implementation for User Story 1, Implementation for User Story 2, Implementation for User Story 3, Implementation Strategy, Incremental Delivery (Phases 4, 5 & 6), MVP First (Phases 1, 2 & 3), Parallel Opportunities (+10 more)
Community 119 - "select_article_extractor"
Cohesion: 0.08 Nodes (35): CandidateStatus, extract_candidate_data(), ExtractorName, Any, Enum, str, Extrai campo de texto, erro e calcula tokens/shingles para um motor., Nomes canônicos e catálogo fechado dos motores de extração. (+27 more)
Community 120 - "process_batch"
Cohesion: 0.11 Nodes (24): atomic_save_json(), process_batch(), Path, Salva dados em JSON de forma atômica utilizando arquivo temporário e rename., Lê o JSON de entrada, valida a estrutura, processa todos os artigos e grava o…, Path, CT-012: A entrada já contém selected_extractor -> Recalcular e substituir…, CT-013: articles está vazio -> Gerar saída válida com articles vazio. (+16 more)
Community 121 - "detect_language"
Cohesion: 0.19 Nodes (16): detect_language(), extract_words(), normalize_text(), Lightweight multilingual language detection and text normalization., Normalize text by converting to lowercase and stripping combining diacritical…, Tokenize text into lowercase alphanumeric words., Detect the ISO-639-1 language code of text among supported languages (pt, en,…, Unit tests for language detection and text normalization. (+8 more)
Community 122 - "test_select_article_extractor.py"
Cohesion: 0.18
Nodes (16): generate_shingles(), normalize_text(), Executa a normalização determinística para comparação: 1. Decodificar entidades…, Gera conjunto de shingles ordenados de tamanho window_size (padrão 5). - Se…, Suíte de Testes Automatizados para o Seletor Determinístico de Extrator. Cobre…, Garante que marcação de imagem Markdown seja descartada e link…, E2E: Executa scripts/select_article_extractor.py como subprocesso real na linha…, test_e2e_cli_subprocess_real_execution() (+8 more)
Community 123 - "Feature Specification: Deterministic Content Selection"
Cohesion: 0.17 Nodes (12): Assumptions, Edge Cases, Feature Specification: Deterministic Content Selection, Functional Requirements, Key Entities (include if feature involves data), Measurable Outcomes, Requirements (mandatory), Success Criteria (mandatory) (+4 more)
Community 124 - "2. Entity Descriptions & Fields"
Cohesion: 0.18
Nodes (11): 1. Domain Entities & Value Types, 2. Entity Descriptions & Fields, 3. JSON Schema Mapping, ArticleSelectionResult (Dataclass), BatchProcessingResult (Dataclass), CandidateStatus (Enum), Data Model: Deterministic Content Selection, Entrada (+3 more)
Community 125 - "Implementation Plan: Deterministic Article Content Selection"
Cohesion: 0.18
Nodes (11): Constitution Check, Documentation (this feature), Implementation Phases, Implementation Plan: Deterministic Article Content Selection, Phase 0: Outline & Research (Completed), Phase 1: Design & Contracts (Completed), Phase 2: Tasks & Execution (Next Step via /speckit-tasks), Project Structure (+3 more)
Community 126 - "Deterministic Content Selection Checklist: End-to-End Requirements Quality"
Cohesion: 0.25 Nodes (7): Candidate State Transitions & Resilience, Decision & Tie-Breaking Hierarchy, Deterministic Content Selection Checklist: End-to-End Requirements Quality, JSON Schema Integrity & Atomic I/O, Notes, Shingles & Consensus Metric Formulation, Text Normalization & Tokenization Quality
Community 127 - "Quickstart: Deterministic Article Content Selection"
Cohesion: 0.29 Nodes (7): 1. Pré-requisitos, 2. Execução Rápida via CLI, 3. Execução dos Testes Automatizados, 4. Validação Programática / Uso como Módulo Python, Cenário 1: Selecionar o melhor extrator para uma extração existente, Cenário 2: Especificar caminho de saída customizado e modo verboso, Quickstart: Deterministic Article Content Selection
Community 128 - "Specification Quality Checklist: Deterministic Content Selection"
Cohesion: 0.33 Nodes (5): Content Quality, Feature Readiness, Notes, Requirement Completeness, Specification Quality Checklist: Deterministic Content Selection
Community 129 - "CLI Interface Contract: Deterministic Article Content Selection"
Cohesion: 0.33 Nodes (5): 1. Command Syntax, 2. Arguments and Flags, 3. Standard Streams (I/O), 4. Exit Codes, CLI Interface Contract: Deterministic Article Content Selection
Community 131 - "convert_article_to_markdown.py"
Cohesion: 0.19 Nodes (17): _get_dict(), normalize_date(), normalize_list(), normalize_scalar(), Any, Interpreta datas ISO 8601 e RFC 2822 preservando fuso horário ou YYYY-MM-DD…, Valida se a URL é absoluta com protocolo http ou https e hostname não vazio., Retorna o dicionário associado à chave ou um dicionário vazio caso não seja… (+9 more)
Community 132 - "8. Regras funcionais"
Cohesion: 0.13 Nodes (15): 8. Regras funcionais, RF-001 — Receber um único artigo, RF-002 — Respeitar o extrator selecionado, RF-003 — Resolver o corpo dentro do extrator selecionado, RF-004 — Selecionar metadados deterministicamente, RF-005 — Priorizar metadados por campo, RF-006 — Normalizar valores escalares, RF-007 — Normalizar listas (+7 more)
Community 133 - "12. Critérios de aceite"
Cohesion: 0.14 Nodes (14): 12. Critérios de aceite, CA-001 — Trafilatura selecionada, CA-002 — Newspaper4k selecionado, CA-003 — Readability selecionado, CA-004 — Fallback dentro do extrator, CA-005 — Proibição de fallback de corpo entre extratores, CA-006 — Metadado vindo de outro extrator, CA-007 — Obrigatórios presentes (+6 more)
Community 134 - "PRD — Conversão de artigo JSON para Markdown"
Cohesion: 0.17 Nodes (11): 10. Tratamento de erros, 14. Definition of Done, 15. Dependência técnica escolhida, 1. Visão geral, 2. Problema, 3. Objetivo, 4. História do usuário, 7.1 Arquivo (+3 more)
Community 135 - "resolve_article_body"
Cohesion: 0.20 Nodes (10): Obtém o corpo do artigo exclusivamente do selected_extractor com fallback…, resolve_article_body(), Testa prioridade trafilatura.markdown sobre trafilatura.text., Testa prioridade newspaper4k.article_html sobre newspaper4k.text., Testa prioridade readability.cleaned_html sobre readability.cleaned_text., Garante erro ao receber selected_extractor ausente ou não reconhecido., test_resolve_article_body_invalid_selected_extractor(), test_resolve_article_body_newspaper4k_primary_and_fallback() (+2 more)
Community 136 - "Implementation Plan: Convert Article JSON to Markdown"
Cohesion: 0.17
Nodes (12): Complexity Tracking, Constitution Check, Documentation (this feature), Implementation Phases, Implementation Plan: Convert Article JSON to Markdown, Phase 0: Outline & Research (Completed), Phase 1: Design & Contracts (Completed), Phase 2: Tasks & Implementation Breakdown (Next: /speckit-tasks) (+4 more)
Community 137 - "2. Technical Decisions & Research Findings"
Cohesion: 0.17 Nodes (11): 1. Executive Summary & Goals, 2. Technical Decisions & Research Findings, 3. Technology Stack & Dependencies, Decision 1: HTML-to-Markdown Engine Selection, Decision 2: Direct Markdown Handling for Trafilatura, Decision 3: Metadata Normalization & Priority Resolution Pipeline, Decision 4: Date Parsing Strategy (ISO 8601 & RFC 2822), Decision 5: URL Validation & Media Filtering (+3 more)
Community 138 - "Feature Specification: Convert Article JSON to Markdown"
Cohesion: 0.17 Nodes (12): Assumptions, Edge Cases, Feature Specification: Convert Article JSON to Markdown, Functional Requirements, Key Entities, Measurable Outcomes, Requirements (mandatory), Success Criteria (mandatory) (+4 more)
Community 139 - "Markdown Conversion Checklist: End-to-End Requirements Quality"
Cohesion: 0.18 Nodes (11): 1. Validação de Entrada, Tipagem & Isolamento de Lotes, 2. Isolamento Estrito de Extrator & Conversão de Conteúdo (HTML/MD), 3. Resolução Determinística de Metadados & Mapeamento de SELECIONADO, 4. Normalização de Escalares, Placeholders & Sanitização de Listas, 5. Normalização de Datas, Fusos & Validação Estrita de URLs, 6. Sanitização Editorial, Tratamento de Imagens & Título Duplicado, 7. Estrutura, Sintaxe do Markdown de Saída & Restrições, 8. Interface CLI, Tratamento de Erros & Atomicidade (+3 more)
Community 140 - "convert_article"
Cohesion: 0.15 Nodes (13): clean_body_images(), convert_article(), Path, Remove o primeiro título H1 do corpo somente quando ele for igual ao título…, Preserva imagens com URL absoluta http/https, remove relativas/data:/vazias e…, Executa a leitura do JSON, validação, conversão e escrita atômica do arquivo…, remove_duplicate_initial_h1(), Testa remoção de H1 inicial coincidente com título com variações de espaços e… (+5 more)
Community 141 - "005-convert-json-markdown/plan.md"
Cohesion: 0.33 Nodes (3): 1. Output Document Specification, 2. Formatting & Syntax Constraints, Markdown Schema Contract: Output Article Markdown
Community 142 - "Quickstart: Convert Article JSON to Markdown"
Cohesion: 0.22 Nodes (8): 1. Prerequisites & Setup, 2. Running the CLI Tool, 3. Verification & Testing, Basic Conversion (Default Output Path), Custom Destination Path, Quickstart: Convert Article JSON to Markdown, Run All Unit & Integration Tests, Run Linter & Type Checker
Community 143 - "1. Domain Entities & Schemas"
Cohesion: 0.25
Nodes (8): 1. Domain Entities & Schemas, 2. Priority Resolution Matrix, Data Model: Convert Article JSON to Markdown, Entity 1: ArticleInput (Source JSON), Entity 2: ExtractorBlock (Per-Extractor Data), Entity 3: ResolvedArticleMetadata, Entity 4: MarkdownDocument, Validation Rules:
Community 144 - "11. Requisitos não funcionais"
Cohesion: 0.29 Nodes (7): 11. Requisitos não funcionais, RNF-001 — Determinismo, RNF-002 — Compatibilidade, RNF-003 — Execução local, RNF-004 — Integridade, RNF-005 — Manutenibilidade, RNF-006 — Qualidade
Community 145 - "parse_arguments"
Cohesion: 0.29 Nodes (7): main(), parse_arguments(), Namespace, Configura o parser de argumentos do CLI., Ponto de entrada do CLI., Testa a chamada direta do parse_arguments., test_parse_arguments_api_direct()
Community 146 - "Specification Quality Checklist: Convert Article JSON to Markdown"
Cohesion: 0.33 Nodes (5): Content Quality, Feature Readiness, Notes, Requirement Completeness, Specification Quality Checklist: Convert Article JSON to Markdown
Community 147 - "CLI Contract: convert_article_to_markdown.py"
Cohesion: 0.33
Nodes (5): 1. Script Signature, 2. Command-Line Arguments, 3. Exit Codes, 4. Standard Stream Behavior, CLI Contract: convert_article_to_markdown.py
Community 148 - "9. Interface CLI"
Cohesion: 0.40 Nodes (5): 9.1 Script, 9.2 Argumentos, 9.3 Exemplos, 9.4 Saída do processo, 9. Interface CLI
Community 149 - "get_hl_gl_ceid"
Cohesion: 0.25 Nodes (8): get_hl_gl_ceid(), Mapeia idioma e locale para os parâmetros hl, gl e ceid do Google News., Valida o mapeamento padrão de idiomas para pares (hl, gl, ceid)., Valida a sobrescrita geográfica quando o argumento locale é especificado., Valida fallback dinâmico para idiomas regionais não listados explicitamente., test_get_hl_gl_ceid_default_mappings(), test_get_hl_gl_ceid_dynamic_fallback(), test_get_hl_gl_ceid_with_custom_locale()
Community 150 - "13. Estratégia de testes"
Cohesion: 0.50 Nodes (4): 13.1 Testes unitários, 13.2 Testes de integração do CLI, 13.3 Casos de resultado esperado, 13. Estratégia de testes
Community 151 - "6. Contrato de entrada"
Cohesion: 0.50
Nodes (4): 6.1 Formato, 6.2 Valores aceitos para selected_extractor, 6.3 Campos obrigatórios após a resolução, 6. Contrato de entrada
Community 152 - "assemble_markdown_document"
Cohesion: 0.50 Nodes (4): assemble_markdown_document(), Monta a estrutura final do documento Markdown respeitando a ordem estrita do…, Testa montagem com todos os campos e apenas com campos obrigatórios., test_assemble_markdown_document_full_and_minimal()
Community 153 - "convert_html_to_markdown"
Cohesion: 0.33 Nodes (6): convert_html_to_markdown(), Converte HTML para Markdown usando títulos ATX, removendo scripts e estilos., Valida conversão de elementos HTML estruturados para Markdown com títulos ATX., Testa conversão de HTML vazio retornando string vazia., test_convert_html_to_markdown_empty_or_whitespace(), test_convert_html_to_markdown_rich_formatting()
Community 154 - "JSON Schema Contract: Deterministic Article Content Selection"
Cohesion: 0.50 Nodes (3): 1. Input JSON Schema, 2. Output JSON Schema, JSON Schema Contract: Deterministic Article Content Selection
Community 155 - "5. Escopo"
Cohesion: 0.67 Nodes (3): 5.1 Incluído, 5.2 Fora do escopo, 5. Escopo
Knowledge Gaps
- 696 isolated node(s):
text-nlp-classifier,MatchedGraphEntity,graphify,Usage,What graphify is for(+691 more) These have ≤1 connection - possible missing edges or undocumented components. - 47 thin communities (<3 nodes) omitted from report — run
graphify queryto explore isolated nodes.
Suggested Questions
Questions this graph is uniquely positioned to answer:
- Why does
PRD — Conversão de artigo JSON para MarkdownconnectPRD — Conversão de artigo JSON para Markdownto8. Regras funcionais,12. Critérios de aceite,11. Requisitos não funcionais,9. Interface CLI,13. Estratégia de testes,6. Contrato de entrada,5. Escopo? High betweenness centrality (0.007) - this node is a cross-community bridge. - Are the 10 inferred relationships involving
ECPSnapshot(e.g. withmain()andBaseNLPAdapter) actually correct?ECPSnapshothas 10 INFERRED edges - model-reasoned connections that need verification. - Are the 6 inferred relationships involving
InherenceClassifier(e.g. withLocalEmbeddingsAdapterandLLMFallbackAdapter) actually correct?InherenceClassifierhas 6 INFERRED edges - model-reasoned connections that need verification. - Are the 12 inferred relationships involving
ExtractorName(e.g. withtest_article_1_regression_technical_tie_markdown_images()andtest_ct_001_three_candidates_clear_winner()) actually correct?ExtractorNamehas 12 INFERRED edges - model-reasoned connections that need verification. - Are the 10 inferred relationships involving
DecisionCategory(e.g. withInherenceClassifierandtest_adversarial_apple_fruit_recipe()) actually correct?DecisionCategoryhas 10 INFERRED edges - model-reasoned connections that need verification. - What connects
text-nlp-classifier,MatchedGraphEntity,graphifyto the rest of the system? 696 weakly-connected nodes found - possible documentation gaps or missing edges. - Should
Task Planningbe split into smaller, more focused modules? Cohesion score 0.07407407407407407 - nodes in this community are weakly interconnected.