1 line
85 KiB
JSON
1 line
85 KiB
JSON
{"nodes": [{"id": "$graphify-root$_tests_test_convert_article_to_markdown_py", "label": "test_convert_article_to_markdown.py", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_scalar_complex_html_entities", "label": "test_normalize_scalar_complex_html_entities()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L44", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_scalar_whitespace_collapsing", "label": "test_normalize_scalar_whitespace_collapsing()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L53", "_callable": true}, {"id": "parametrize", "label": "parametrize", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_convert_article_to_markdown.py"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_scalar_placeholders_discarded", "label": "test_normalize_scalar_placeholders_discarded()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L84", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_scalar_non_string_types", "label": "test_normalize_scalar_non_string_types()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L90", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_list_semicolon_and_comma_split", "label": "test_normalize_list_semicolon_and_comma_split()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L103", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_list_author_url_filtering", "label": "test_normalize_list_author_url_filtering()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L114", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_list_deduplication_preserves_case_and_order", "label": "test_normalize_list_deduplication_preserves_case_and_order()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L127", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_list_empty_and_invalid", "label": "test_normalize_list_empty_and_invalid()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L133", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_date_iso_8601_variants", "label": "test_normalize_date_iso_8601_variants()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L145", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_date_rfc_2822_variants", "label": "test_normalize_date_rfc_2822_variants()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L153", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_date_invalid_and_placeholders", "label": "test_normalize_date_invalid_and_placeholders()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L162", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_validate_url_valid_schemes", "label": "test_validate_url_valid_schemes()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L185", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_validate_url_invalid_schemes", "label": "test_validate_url_invalid_schemes()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L205", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_convert_html_to_markdown_rich_formatting", "label": "test_convert_html_to_markdown_rich_formatting()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L215", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_convert_html_to_markdown_empty_or_whitespace", "label": "test_convert_html_to_markdown_empty_or_whitespace()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L245", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_trafilatura_primary_and_fallback", "label": "test_resolve_article_body_trafilatura_primary_and_fallback()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L257", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_newspaper4k_primary_and_fallback", "label": "test_resolve_article_body_newspaper4k_primary_and_fallback()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L274", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_readability_primary_and_fallback", "label": "test_resolve_article_body_readability_primary_and_fallback()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L294", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_strict_isolation_all_extractors", "label": "test_resolve_article_body_strict_isolation_all_extractors()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L316", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_invalid_selected_extractor", "label": "test_resolve_article_body_invalid_selected_extractor()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L339", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_metadata_priority_title_all_fallbacks", "label": "test_metadata_priority_title_all_fallbacks()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L353", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_metadata_priority_original_url_all_fallbacks", "label": "test_metadata_priority_original_url_all_fallbacks()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L395", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_metadata_priority_subtitle_omitted_when_equal_to_title", "label": "test_metadata_priority_subtitle_omitted_when_equal_to_title()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L435", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_metadata_priority_first_valid_source_no_cross_merging", "label": "test_metadata_priority_first_valid_source_no_cross_merging()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L450", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_remove_duplicate_initial_h1_exact_and_variations", "label": "test_remove_duplicate_initial_h1_exact_and_variations()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L468", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_clean_body_images_removes_invalid_and_deduplicates", "label": "test_clean_body_images_removes_invalid_and_deduplicates()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L485", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_assemble_markdown_document_full_and_minimal", "label": "test_assemble_markdown_document_full_and_minimal()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L507", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_golden_fixtures_byte_level_precision", "label": "test_golden_fixtures_byte_level_precision()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L540", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_conversion_determinism_sha256_repeatability", "label": "test_conversion_determinism_sha256_repeatability()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L557", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_exit_codes_and_error_handling", "label": "test_cli_exit_codes_and_error_handling()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L581", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_json_root_must_be_object", "label": "test_cli_json_root_must_be_object()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L615", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_no_stdout_pollution_and_atomic_preservation", "label": "test_cli_no_stdout_pollution_and_atomic_preservation()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L630", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_default_output_naming", "label": "test_cli_default_output_naming()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L674", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_e2e_pipeline_with_real_extracted_selected_json", "label": "test_e2e_pipeline_with_real_extracted_selected_json()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L703", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_convert_article_api_direct", "label": "test_convert_article_api_direct()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L734", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_test_parse_arguments_api_direct", "label": "test_parse_arguments_api_direct()", "file_type": "code", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L754", "_callable": true}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_1", "label": "Su\u00edte de Testes Automatizados para Convers\u00e3o de Artigo JSON para Markdown.\u2026", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_45", "label": "Valida decodifica\u00e7\u00e3o de entidades HTML nomeadas e num\u00e9ricas.", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L45"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_54", "label": "Valida colapso de tabs, quebras de linha e espa\u00e7os m\u00faltiplos em um \u00fanico espa\u00e7o.", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L54"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_85", "label": "Garante que todos os placeholders documentados no PRD sejam descartados\u2026", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L85"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_91", "label": "Valida que entradas n\u00e3o string retornem None de forma segura.", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L91"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_104", "label": "Testa divis\u00e3o por ponto e v\u00edrgula na string e v\u00edrgulas em elementos de lista\u2026", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L104"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_115", "label": "Garante que URLs em campos de autor sejam estritamente descartadas.", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L115"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_128", "label": "Testa deduplica\u00e7\u00e3o case-insensitive preservando a grafia e ordem da primeira\u2026", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L128"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_134", "label": "Testa comportamento com listas vazias, nulas ou contendo apenas placeholders.", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L134"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_146", "label": "Valida parsing de datas ISO 8601 em m\u00faltiplos formatos e fusos.", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L146"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_154", "label": "Valida parsing de datas no formato RFC 2822 (usado em feeds RSS e cabe\u00e7alhos\u2026", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L154"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_163", "label": "Garante que datas inv\u00e1lidas ou placeholders retornem None sem lan\u00e7ar exce\u00e7\u00e3o\u2026", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L163"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_186", "label": "Garante aceita\u00e7\u00e3o de URLs absolutas com esquema HTTP e HTTPS v\u00e1lidos.", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L186"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_206", "label": "Garante rejei\u00e7\u00e3o de esquemas n\u00e3o permitidos, URLs relativas e strings vazias.", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L206"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_216", "label": "Valida convers\u00e3o de elementos HTML estruturados para Markdown com t\u00edtulos ATX.", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L216"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_246", "label": "Testa convers\u00e3o de HTML vazio retornando string vazia.", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L246"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_258", "label": "Testa prioridade trafilatura.markdown sobre trafilatura.text.", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L258"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_275", "label": "Testa prioridade newspaper4k.article_html sobre newspaper4k.text.", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L275"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_295", "label": "Testa prioridade readability.cleaned_html sobre readability.cleaned_text.", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L295"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_317", "label": "Garante que a aus\u00eancia de corpo no extrator selecionado NUNCA fa\u00e7a fallback\u2026", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L317"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_340", "label": "Garante erro ao receber selected_extractor ausente ou n\u00e3o reconhecido.", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L340"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_354", "label": "Valida a cadeia de fallback completa para o campo T\u00cdTULO (6 n\u00edveis).", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L354"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_396", "label": "Valida a cadeia de fallback completa para a URL ORIGINAL (5 n\u00edveis).", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L396"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_436", "label": "Garante que subt\u00edtulo id\u00eantico ao t\u00edtulo seja automaticamente omitido (None).", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L436"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_451", "label": "Garante que listas de autores/tags usem apenas a primeira fonte v\u00e1lida, sem\u2026", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L451"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_469", "label": "Testa remo\u00e7\u00e3o de H1 inicial coincidente com t\u00edtulo com varia\u00e7\u00f5es de espa\u00e7os e\u2026", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L469"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_486", "label": "Valida descarte de data:, relativos e deduplica\u00e7\u00e3o mantendo a primeira\u2026", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L486"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_508", "label": "Testa montagem com todos os campos e apenas com campos obrigat\u00f3rios.", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L508"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_541", "label": "Garante correspond\u00eancia exata byte a byte para Trafilatura, Newspaper4k e\u2026", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L541"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_558", "label": "Garante que m\u00faltiplas execu\u00e7\u00f5es no mesmo arquivo produzam hashes SHA-256\u2026", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L558"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_582", "label": "Testa toda a matriz de c\u00f3digos de sa\u00edda da CLI (0, 1, 2).", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L582"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_616", "label": "Garante encerramento com c\u00f3digo 1 caso a raiz do JSON seja lista, n\u00famero ou\u2026", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L616"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_631", "label": "Garante que stdout permane\u00e7a limpo e grava\u00e7\u00e3o at\u00f4mica preserve arquivos\u2026", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L631"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_675", "label": "Garante gera\u00e7\u00e3o autom\u00e1tica de <input_stem>.md quando -o n\u00e3o \u00e9 informado.", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L675"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_704", "label": "Valida a convers\u00e3o E2E de um artigo real extra\u00eddo do arquivo\u2026", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L704"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_735", "label": "Testa a chamada direta da fun\u00e7\u00e3o convert_article em c\u00f3digo Python.", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L735"}, {"id": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_755", "label": "Testa a chamada direta do parse_arguments.", "file_type": "rationale", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L755"}], "edges": [{"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "hashlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "subprocess", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "scripts_convert_article_to_markdown", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_scalar_complex_html_entities", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L44", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_scalar_whitespace_collapsing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L53", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_scalar_placeholders_discarded", "target": "parametrize", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L61", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_scalar_placeholders_discarded", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L84", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_scalar_non_string_types", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L90", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_list_semicolon_and_comma_split", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L103", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_list_author_url_filtering", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L114", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_list_deduplication_preserves_case_and_order", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L127", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_list_empty_and_invalid", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L133", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_date_iso_8601_variants", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L145", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_date_rfc_2822_variants", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L153", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_date_invalid_and_placeholders", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L162", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_test_validate_url_valid_schemes", "target": "parametrize", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L176", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_validate_url_valid_schemes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L185", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_test_validate_url_invalid_schemes", "target": "parametrize", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L190", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_validate_url_invalid_schemes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L205", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_convert_html_to_markdown_rich_formatting", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L215", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_convert_html_to_markdown_empty_or_whitespace", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L245", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_trafilatura_primary_and_fallback", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L257", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_newspaper4k_primary_and_fallback", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L274", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_readability_primary_and_fallback", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L294", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_strict_isolation_all_extractors", "target": "parametrize", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L315", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_strict_isolation_all_extractors", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L316", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_invalid_selected_extractor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L339", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_metadata_priority_title_all_fallbacks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L353", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_metadata_priority_original_url_all_fallbacks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L395", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_metadata_priority_subtitle_omitted_when_equal_to_title", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L435", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_metadata_priority_first_valid_source_no_cross_merging", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L450", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_remove_duplicate_initial_h1_exact_and_variations", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L468", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_clean_body_images_removes_invalid_and_deduplicates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L485", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_assemble_markdown_document_full_and_minimal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L507", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_golden_fixtures_byte_level_precision", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L540", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_conversion_determinism_sha256_repeatability", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L557", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_exit_codes_and_error_handling", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L581", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_json_root_must_be_object", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L615", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_no_stdout_pollution_and_atomic_preservation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L630", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_default_output_naming", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L674", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_e2e_pipeline_with_real_extracted_selected_json", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L703", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_convert_article_api_direct", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L734", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_py", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_parse_arguments_api_direct", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L754", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_1", "target": "$graphify-root$_tests_test_convert_article_to_markdown_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_45", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_scalar_complex_html_entities", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L45", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_54", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_scalar_whitespace_collapsing", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L54", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_85", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_scalar_placeholders_discarded", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L85", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_91", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_scalar_non_string_types", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L91", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_104", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_list_semicolon_and_comma_split", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L104", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_115", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_list_author_url_filtering", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L115", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_128", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_list_deduplication_preserves_case_and_order", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L128", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_134", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_list_empty_and_invalid", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L134", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_146", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_date_iso_8601_variants", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L146", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_154", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_date_rfc_2822_variants", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L154", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_163", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_date_invalid_and_placeholders", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L163", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_186", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_validate_url_valid_schemes", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L186", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_206", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_validate_url_invalid_schemes", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L206", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_216", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_convert_html_to_markdown_rich_formatting", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L216", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_246", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_convert_html_to_markdown_empty_or_whitespace", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L246", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_258", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_trafilatura_primary_and_fallback", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L258", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_275", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_newspaper4k_primary_and_fallback", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L275", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_295", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_readability_primary_and_fallback", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L295", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_317", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_strict_isolation_all_extractors", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L317", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_340", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_invalid_selected_extractor", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L340", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_354", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_metadata_priority_title_all_fallbacks", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L354", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_396", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_metadata_priority_original_url_all_fallbacks", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L396", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_436", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_metadata_priority_subtitle_omitted_when_equal_to_title", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L436", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_451", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_metadata_priority_first_valid_source_no_cross_merging", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L451", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_469", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_remove_duplicate_initial_h1_exact_and_variations", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L469", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_486", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_clean_body_images_removes_invalid_and_deduplicates", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L486", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_508", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_assemble_markdown_document_full_and_minimal", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L508", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_541", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_golden_fixtures_byte_level_precision", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L541", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_558", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_conversion_determinism_sha256_repeatability", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L558", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_582", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_exit_codes_and_error_handling", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L582", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_616", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_json_root_must_be_object", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L616", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_631", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_no_stdout_pollution_and_atomic_preservation", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L631", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_675", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_default_output_naming", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L675", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_704", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_e2e_pipeline_with_real_extracted_selected_json", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L704", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_735", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_convert_article_api_direct", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L735", "weight": 1.0}, {"source": "$graphify-root$_tests_test_convert_article_to_markdown_rationale_755", "target": "$graphify-root$_tests_test_convert_article_to_markdown_test_parse_arguments_api_direct", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L755", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_scalar_complex_html_entities", "callee": "normalize_scalar", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L47", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_scalar_complex_html_entities", "callee": "normalize_scalar", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L50", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_scalar_whitespace_collapsing", "callee": "normalize_scalar", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L56", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_scalar_placeholders_discarded", "callee": "normalize_scalar", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L86", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_scalar_placeholders_discarded", "callee": "normalize_scalar", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L87", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_scalar_non_string_types", "callee": "normalize_scalar", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L92", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_scalar_non_string_types", "callee": "normalize_scalar", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L93", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_scalar_non_string_types", "callee": "normalize_scalar", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L94", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_scalar_non_string_types", "callee": "normalize_scalar", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L95", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_list_semicolon_and_comma_split", "callee": "normalize_list", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L107", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_list_semicolon_and_comma_split", "callee": "normalize_list", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L111", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_list_author_url_filtering", "callee": "normalize_list", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L123", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_list_deduplication_preserves_case_and_order", "callee": "normalize_list", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L130", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_list_empty_and_invalid", "callee": "normalize_list", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L135", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_list_empty_and_invalid", "callee": "normalize_list", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L136", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_list_empty_and_invalid", "callee": "normalize_list", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L137", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_date_iso_8601_variants", "callee": "normalize_date", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L147", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_date_iso_8601_variants", "callee": "normalize_date", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L148", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_date_iso_8601_variants", "callee": "normalize_date", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L150", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_date_rfc_2822_variants", "callee": "normalize_date", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L155", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_date_rfc_2822_variants", "callee": "normalize_date", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L158", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_date_invalid_and_placeholders", "callee": "normalize_date", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L164", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_date_invalid_and_placeholders", "callee": "normalize_date", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L165", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_date_invalid_and_placeholders", "callee": "normalize_date", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L166", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_date_invalid_and_placeholders", "callee": "normalize_date", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L167", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_normalize_date_invalid_and_placeholders", "callee": "normalize_date", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L168", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_validate_url_valid_schemes", "callee": "validate_url", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L187", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_validate_url_invalid_schemes", "callee": "validate_url", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L207", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_convert_html_to_markdown_rich_formatting", "callee": "convert_html_to_markdown", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L231", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_convert_html_to_markdown_empty_or_whitespace", "callee": "convert_html_to_markdown", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L247", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_convert_html_to_markdown_empty_or_whitespace", "callee": "convert_html_to_markdown", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L248", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_convert_html_to_markdown_empty_or_whitespace", "callee": "convert_html_to_markdown", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L249", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_trafilatura_primary_and_fallback", "callee": "resolve_article_body", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L264", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_trafilatura_primary_and_fallback", "callee": "resolve_article_body", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L271", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_newspaper4k_primary_and_fallback", "callee": "resolve_article_body", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L284", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_newspaper4k_primary_and_fallback", "callee": "resolve_article_body", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L291", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_readability_primary_and_fallback", "callee": "resolve_article_body", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L304", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_readability_primary_and_fallback", "callee": "resolve_article_body", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L312", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_strict_isolation_all_extractors", "callee": "raises", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L335", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_strict_isolation_all_extractors", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L335"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_strict_isolation_all_extractors", "callee": "resolve_article_body", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L336", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_invalid_selected_extractor", "callee": "raises", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L341", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_invalid_selected_extractor", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L341"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_invalid_selected_extractor", "callee": "resolve_article_body", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L342", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_invalid_selected_extractor", "callee": "raises", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L344", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_invalid_selected_extractor", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L344"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_resolve_article_body_invalid_selected_extractor", "callee": "resolve_article_body", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L345", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_metadata_priority_title_all_fallbacks", "callee": "resolve_article_metadata", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L358", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_metadata_priority_title_all_fallbacks", "callee": "resolve_article_metadata", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L368", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_metadata_priority_title_all_fallbacks", "callee": "resolve_article_metadata", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L376", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_metadata_priority_title_all_fallbacks", "callee": "resolve_article_metadata", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L384", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_metadata_priority_title_all_fallbacks", "callee": "resolve_article_metadata", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L392", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_metadata_priority_original_url_all_fallbacks", "callee": "resolve_article_metadata", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L404", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_metadata_priority_original_url_all_fallbacks", "callee": "resolve_article_metadata", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L412", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_metadata_priority_original_url_all_fallbacks", "callee": "resolve_article_metadata", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L420", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_metadata_priority_original_url_all_fallbacks", "callee": "resolve_article_metadata", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L431", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_metadata_priority_subtitle_omitted_when_equal_to_title", "callee": "resolve_article_metadata", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L445", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_metadata_priority_first_valid_source_no_cross_merging", "callee": "resolve_article_metadata", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L458", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_remove_duplicate_initial_h1_exact_and_variations", "callee": "strip", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L474", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_remove_duplicate_initial_h1_exact_and_variations", "callee": "remove_duplicate_initial_h1", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L474", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_remove_duplicate_initial_h1_exact_and_variations", "callee": "remove_duplicate_initial_h1", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L478", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_remove_duplicate_initial_h1_exact_and_variations", "callee": "remove_duplicate_initial_h1", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L482", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_clean_body_images_removes_invalid_and_deduplicates", "callee": "clean_body_images", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L494", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_clean_body_images_removes_invalid_and_deduplicates", "callee": "count", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L496", "receiver": "cleaned"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_assemble_markdown_document_full_and_minimal", "callee": "assemble_markdown_document", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L523", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_assemble_markdown_document_full_and_minimal", "callee": "startswith", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L525", "receiver": "doc_min"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_assemble_markdown_document_full_and_minimal", "callee": "endswith", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L531", "receiver": "doc_min"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_assemble_markdown_document_full_and_minimal", "callee": "endswith", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L532", "receiver": "doc_min"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_golden_fixtures_byte_level_precision", "callee": "read_text", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L544", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_golden_fixtures_byte_level_precision", "callee": "run", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L547", "receiver": "subprocess"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_golden_fixtures_byte_level_precision", "callee": "SCRIPT_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L548"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_golden_fixtures_byte_level_precision", "callee": "read_text", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L553", "receiver": "output_md"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_conversion_determinism_sha256_repeatability", "callee": "run", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L564", "receiver": "subprocess"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_conversion_determinism_sha256_repeatability", "callee": "SCRIPT_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L565"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_conversion_determinism_sha256_repeatability", "callee": "read_bytes", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L570", "receiver": "out_md"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_conversion_determinism_sha256_repeatability", "callee": "add", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L571", "receiver": "hashes"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_conversion_determinism_sha256_repeatability", "callee": "hexdigest", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L571", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_conversion_determinism_sha256_repeatability", "callee": "sha256", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L571", "receiver": "hashlib"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_exit_codes_and_error_handling", "callee": "run", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L584", "receiver": "subprocess"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_exit_codes_and_error_handling", "callee": "SCRIPT_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L584"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_exit_codes_and_error_handling", "callee": "run", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L588", "receiver": "subprocess"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_exit_codes_and_error_handling", "callee": "SCRIPT_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L589"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_exit_codes_and_error_handling", "callee": "lower", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L594", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_exit_codes_and_error_handling", "callee": "run", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L597", "receiver": "subprocess"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_exit_codes_and_error_handling", "callee": "SCRIPT_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L598"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_exit_codes_and_error_handling", "callee": "lower", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L603", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_exit_codes_and_error_handling", "callee": "run", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L606", "receiver": "subprocess"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_exit_codes_and_error_handling", "callee": "SCRIPT_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L607"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_exit_codes_and_error_handling", "callee": "lower", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L612", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_json_root_must_be_object", "callee": "write_text", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L619", "receiver": "bad_json"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_json_root_must_be_object", "callee": "dumps", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L619", "receiver": "json"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_json_root_must_be_object", "callee": "run", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L621", "receiver": "subprocess"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_json_root_must_be_object", "callee": "SCRIPT_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L622"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_json_root_must_be_object", "callee": "lower", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L627", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_json_root_must_be_object", "callee": "lower", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L627", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_no_stdout_pollution_and_atomic_preservation", "callee": "write_text", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L633", "receiver": "target_md"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_no_stdout_pollution_and_atomic_preservation", "callee": "run", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L636", "receiver": "subprocess"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_no_stdout_pollution_and_atomic_preservation", "callee": "SCRIPT_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L639"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_no_stdout_pollution_and_atomic_preservation", "callee": "run", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L653", "receiver": "subprocess"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_no_stdout_pollution_and_atomic_preservation", "callee": "SCRIPT_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L656"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_no_stdout_pollution_and_atomic_preservation", "callee": "read_text", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L667", "receiver": "target_md"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_no_stdout_pollution_and_atomic_preservation", "callee": "glob", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L670", "receiver": "tmp_path"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_default_output_naming", "callee": "write_text", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L677", "receiver": "sample_file"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_default_output_naming", "callee": "dumps", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L678", "receiver": "json"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_default_output_naming", "callee": "run", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L687", "receiver": "subprocess"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_default_output_naming", "callee": "SCRIPT_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L688"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_default_output_naming", "callee": "exists", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L694", "receiver": "expected_md"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_cli_default_output_naming", "callee": "read_text", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L695", "receiver": "expected_md"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_e2e_pipeline_with_real_extracted_selected_json", "callee": "Path", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L705", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_e2e_pipeline_with_real_extracted_selected_json", "callee": "__file__", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L705"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_e2e_pipeline_with_real_extracted_selected_json", "callee": "exists", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L706", "receiver": "sample_source"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_e2e_pipeline_with_real_extracted_selected_json", "callee": "skip", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L707", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_e2e_pipeline_with_real_extracted_selected_json", "callee": "loads", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L711", "receiver": "json"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_e2e_pipeline_with_real_extracted_selected_json", "callee": "read_text", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L711", "receiver": "sample_source"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_e2e_pipeline_with_real_extracted_selected_json", "callee": "write_text", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L716", "receiver": "input_json"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_e2e_pipeline_with_real_extracted_selected_json", "callee": "dumps", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L716", "receiver": "json"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_e2e_pipeline_with_real_extracted_selected_json", "callee": "run", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L719", "receiver": "subprocess"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_e2e_pipeline_with_real_extracted_selected_json", "callee": "SCRIPT_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L720"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_e2e_pipeline_with_real_extracted_selected_json", "callee": "exists", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L725", "receiver": "output_md"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_e2e_pipeline_with_real_extracted_selected_json", "callee": "read_text", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L727", "receiver": "output_md"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_e2e_pipeline_with_real_extracted_selected_json", "callee": "startswith", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L728", "receiver": "md_content"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_e2e_pipeline_with_real_extracted_selected_json", "callee": "splitlines", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L731", "receiver": "md_content"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_convert_article_api_direct", "callee": "write_text", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L737", "receiver": "in_file"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_convert_article_api_direct", "callee": "dumps", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L738", "receiver": "json"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_convert_article_api_direct", "callee": "convert_article", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L748", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_convert_article_api_direct", "callee": "exists", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L750", "receiver": "out_file"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_convert_article_api_direct", "callee": "read_text", "is_member_call": true, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L751", "receiver": "out_file"}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_parse_arguments_api_direct", "callee": "parse_arguments", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L756", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_parse_arguments_api_direct", "callee": "Path", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L757", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_convert_article_to_markdown_test_parse_arguments_api_direct", "callee": "Path", "is_member_call": false, "source_file": "tests/test_convert_article_to_markdown.py", "source_location": "L758", "receiver": null}]} |