feat(runtime): implement single-article consolidation runtime and modularize codebase

This commit is contained in:
2026-08-24 00:14:07 -03:00
parent e1e0be1353
commit 23de7d8fe7
176 changed files with 266754 additions and 10179 deletions
+180 -25
View File
@@ -45,13 +45,13 @@
"43": "2. Basic CLI Usage Examples",
"44": "2. Standard Streams & Exit Codes",
"45": "ClassificationResult",
"46": "test_adversarial.py",
"47": "InherenceClassifier",
"48": "test_convert_article_to_markdown.py",
"46": "ECPSnapshot",
"47": "LLMFallbackAdapter",
"48": "classifier.py",
"49": "content_northvolt_de.md",
"50": "content_presal_pt.md",
"51": "content_tangential_es.md",
"52": "adapters/__init__.py",
"52": "config.py",
"53": "src/__init__.py",
"54": "de/contextual.md",
"55": "de/direct.md",
@@ -96,10 +96,10 @@
"94": "Specification Quality Checklist: Google News Headlines Extractor",
"95": "CLI Contract: Google News Headlines Extractor",
"96": "readiness.md",
"97": "🧠 TextNLPClassifierApp",
"97": "5. 📝 Conversor de Artigo JSON para Markdown",
"98": "Extraction Pipeline Checklist: Article Content Multi-Engine Extractor",
"99": "parametrize",
"100": "Path",
"99": "ModelGatewayClient",
"100": "SQLiteStore",
"101": "main",
"102": "Feature Specification: Multilingual NLP Entity Inherence Classifier (POC)",
"103": "4. Requisitos Funcionais (FR)",
@@ -148,29 +148,184 @@
"146": "Specification Quality Checklist: Convert Article JSON to Markdown",
"147": "CLI Contract: `convert_article_to_markdown.py`",
"148": "9. Interface CLI",
"149": "sample_rss_xml",
"149": "test_convert_article_to_markdown.py",
"150": "13. Estratégia de testes",
"151": "6. Contrato de entrada",
"152": "ECPSnapshot",
"152": "test_models.py",
"153": "convert_html_to_markdown",
"154": "JSON Schema Contract: Deterministic Article Content Selection",
"154": "properties",
"155": "5. Escopo",
"156": "Los puntajes de River vs. Independiente Santa Fe, por la Copa Sudamericana - TyC Sports",
"157": "valid_newspaper4k.md",
"158": "valid_readability.md",
"159": "test_normalize_list_author_url_filtering",
"160": "test_normalize_date_invalid_and_placeholders",
"161": "test_normalize_list_deduplication_preserves_case_and_order",
"162": "test_normalize_date_iso_8601_variants",
"163": "test_metadata_priority_original_url_all_fallbacks",
"164": "test_normalize_scalar_non_string_types",
"165": "test_e2e_text_analysis_pipeline.py",
"166": "remove_duplicate_initial_h1",
"167": "test_normalize_scalar_whitespace_collapsing",
"168": "LLMFallbackAdapter",
"169": "test_funnel_cli_subprocess_end_to_end",
"170": "test_models.py",
"171": "extract_evidence_snippets",
"172": ".classify",
"173": "🧪 Documentação da Suíte de Testes Automatizados"
"159": "consolidate.py",
"160": "run_preflight_checks",
"161": "adapter.py",
"162": "validate_and_extract_enrichment",
"163": "candidate/parser.py",
"164": "hygiene/harness.py",
"165": "SanitizedJsonLogger",
"166": "InputSizeExceededError",
"167": "CandidateObject",
"168": "enum",
"169": "Plano de testes e evals — Runtime de consolidação de artigos",
"170": "Especificação de prompt, contexto e harness — Runtime",
"171": "ExecutionStateMachine",
"172": "Implementation Tasks: Article Consolidation and Hygiene Runtime",
"173": "🧪 Documentação da Suíte de Testes Automatizados",
"174": "properties",
"175": "repair-operations.schema.json",
"176": "Functional Requirements",
"177": "test_equivalence_mapping.py",
"178": "enrichment-response.schema.json",
"179": "create_manifest_dict",
"180": "Catálogo de métricas e KPIs — Runtime de consolidação de artigos",
"181": "article_content_hygiene",
"182": "._get_connection",
"183": "Documento de Arquitetura — Runtime de consolidação de artigos",
"184": "null",
"185": "Runbook de produção — Runtime de consolidação de artigos",
"186": "article_content_hygiene",
"187": "properties",
"188": "properties",
"189": "PRD — Runtime de consolidação e higienização de artigos",
"190": "required",
"191": "properties",
"192": "type",
"193": "properties",
"194": "build_minimal_hygiene_projection",
"195": "check_zero_regex.py",
"196": "properties",
"197": "runtime-config.schema.json",
"198": "properties",
"199": "object",
"200": "candidates-payload.schema.json",
"201": "limits",
"202": "langfuse",
"203": "string",
"204": "type",
"205": "CLI Interface Contract: Article Consolidation and Hygiene Runtime",
"206": "2. Entity Definitions",
"207": "3. Concrete Architectural & Technical Decisions",
"208": "Requirements Readiness Checklist: Article Consolidation and Hygiene Runtime",
"209": "object",
"210": "null",
"211": "properties",
"212": "calculate_execution_fingerprint",
"213": "model_versions",
"214": "3. Operational Execution Scenarios",
"215": "type",
"216": "test_cli_subprocess_pipeline.py",
"217": "clean_body_images",
"218": "ecp",
"219": "paths",
"220": "properties",
"221": "properties",
"222": "properties",
"223": "required",
"224": "required",
"225": "kept_block_ids",
"226": "parametrize",
"227": "4. 🎯 Seletor Determinístico de Conteúdo de Artigos",
"228": "1. Operational Commands",
"229": "sqlite",
"230": "required",
"231": "pricing",
"232": "article-input.schema.json",
"233": "properties",
"234": "enum",
"235": "required",
"236": "Implementation Plan: Article Consolidation and Hygiene Runtime",
"237": "verify_all_11_invariants",
"238": "enum",
"239": "required",
"240": "manifest-output.schema.json",
"241": "Prompts Versioned Contract: Article Consolidation and Hygiene Runtime",
"242": "6. 🚀 Runtime de Consolidação e Higienização de Artigos (006-article-consolidation-runtime)",
"243": "13. Parsing estrutural sem regex",
"244": "metadata_candidates",
"245": "enum",
"246": "required",
"247": "enum",
"248": "ecp-snapshot.schema.json",
"249": "hygiene-response.schema.json",
"250": "🧠 TextNLPClassifierApp",
"251": "ADR-003 — Usar orquestração explícita em Python, sem LangChain ou LangGraph",
"252": "required",
"253": "Specification Quality Checklist: Article Consolidation and Hygiene Runtime",
"254": "enum",
"255": "enum",
"256": "1. 🧠 Classificador de Conteúdo e Inerência (NLP / LLM / ECP)",
"257": "10. Contrato de saída",
"258": "14. Higienização por LLM",
"259": "4. Regras mandatórias",
"260": "8. Contrato de entrada do artigo",
"261": "18. Integração ECP",
"262": "7. Orquestração",
"263": "ADR-001 — Separar runtime e self-healing",
"264": "ADR-002 — Iniciar o runtime após a seleção do extrator",
"265": "ADR-004 — Gateway agnóstico com apenas modelos baratos no runtime",
"266": "ADR-005 — Proibir regex e palavras-chave manuais em decisões textuais",
"267": "ADR-006 — LLM seleciona evidências e propõe reparos, não regenera o artigo",
"268": "ADR-007 — Tornar o ECP obrigatório antes de toda saída editorial",
"269": "ADR-008 — Langfuse no runtime e Promptfoo no CI",
"270": "ADR-009 — Persistir estado em SQLite e saídas no filesystem",
"271": "ADR-010 — Produzir resultado estruturado sempre e Markdown condicionalmente",
"272": "ADR-011 — Definir SLOs de custo e latência a partir de staging",
"273": "7. Checklist de release",
"274": "eval_runner.py",
"275": "ecp-profile.schema.json",
"276": "prompt_versions",
"277": "12. Preparação determinística",
"278": "15. Pequenos reparos textuais",
"279": "9. Contrato do ECP",
"280": "15. Higienização extrativa",
"281": "16. Pequenos reparos",
"282": "20. Model Gateway",
"283": "23. Observabilidade",
"284": "3. Limites do sistema",
"285": "9. Política de dependências",
"286": "12. Monitoramento",
"287": "14. Reprocessamento",
"288": "16. Falha do provider primário",
"289": "21. Falha do SQLite",
"290": "6. Configuração obrigatória",
"291": "build_release_metadata.py",
"292": "removal_reasons",
"293": "kept_image_ids",
"296": "test_prompts_contract.py",
"298": "Release Quality Summary Report",
"299": "Comandos e Utilitários CLI",
"300": "13. Candidatos e proveniência",
"301": "16. Imagens e links",
"302": "17. Gate ECP",
"303": "18. Enriquecimento",
"304": "5. Escopo",
"305": "14. Modelo de candidatos",
"306": "22. Renderer e arquivos",
"307": "Architecture Decision Records — Runtime de consolidação de artigos",
"308": "15. Falha de validação de entrada",
"309": "17. Falha semântica ou de grounding",
"310": "18. Falha do ECP",
"311": "20. Falha do Langfuse",
"312": "22. Falha de filesystem ou disco",
"313": "26. Rollback manual",
"314": "ci_check.py",
"315": "prepare_reference_20.py",
"316": "test_contract_parity.py",
"317": "test_zero_regex_enforcement.py",
"318": "sample_rss_xml",
"319": "runtime/__init__.py",
"320": "adapters/__init__.py",
"321": "tools/__init__.py",
"322": "test_normalize_list_author_url_filtering",
"323": "test_normalize_list_deduplication_preserves_case_and_order",
"324": "test_normalize_date_iso_8601_variants",
"325": "test_normalize_date_invalid_and_placeholders",
"326": "test_metadata_priority_original_url_all_fallbacks",
"327": "test_normalize_scalar_whitespace_collapsing",
"328": "test_normalize_scalar_non_string_types",
"329": "2. 📰 Extrator de Manchetes do Google News",
"331": "⚙️ Instalação e Setup",
"332": "3. 📄 Extrator e Parser Multimotor de Artigos"
}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,516 @@
{
"communities": {
"0": [
"specify_templates_tasks_template",
"specify_templates_tasks_template_dependencies_execution_order",
"specify_templates_tasks_template_format_id_p_story_description",
"specify_templates_tasks_template_implementation_for_user_story_1",
"specify_templates_tasks_template_implementation_for_user_story_2",
"specify_templates_tasks_template_implementation_for_user_story_3",
"specify_templates_tasks_template_implementation_strategy",
"specify_templates_tasks_template_incremental_delivery",
"specify_templates_tasks_template_mvp_first_user_story_1_only",
"specify_templates_tasks_template_notes",
"specify_templates_tasks_template_parallel_example_user_story_1",
"specify_templates_tasks_template_parallel_opportunities",
"specify_templates_tasks_template_parallel_team_strategy",
"specify_templates_tasks_template_path_conventions",
"specify_templates_tasks_template_phase_1_setup_shared_infrastructure",
"specify_templates_tasks_template_phase_2_foundational_blocking_prerequisites",
"specify_templates_tasks_template_phase_3_user_story_1_title_priority_p1_mvp",
"specify_templates_tasks_template_phase_4_user_story_2_title_priority_p2",
"specify_templates_tasks_template_phase_5_user_story_3_title_priority_p3",
"specify_templates_tasks_template_phase_dependencies",
"specify_templates_tasks_template_phase_n_polish_cross_cutting_concerns",
"specify_templates_tasks_template_tasks_feature_name",
"specify_templates_tasks_template_tests_for_user_story_1_optional_only_if_tests_requested",
"specify_templates_tasks_template_tests_for_user_story_2_optional_only_if_tests_requested",
"specify_templates_tasks_template_tests_for_user_story_3_optional_only_if_tests_requested",
"specify_templates_tasks_template_user_story_dependencies",
"specify_templates_tasks_template_within_each_user_story"
],
"1": [
"agents_skills_speckit_converge_skill",
"agents_skills_speckit_converge_skill_1_initialize_convergence_context",
"agents_skills_speckit_converge_skill_2_load_artifacts_progressive_disclosure",
"agents_skills_speckit_converge_skill_3_build_the_intent_inventory",
"agents_skills_speckit_converge_skill_4_assess_the_codebase_and_classify_findings",
"agents_skills_speckit_converge_skill_5_assign_severity",
"agents_skills_speckit_converge_skill_6_present_the_in_session_findings_summary",
"agents_skills_speckit_converge_skill_7_append_convergence_tasks_or_report_converged",
"agents_skills_speckit_converge_skill_8_provide_next_actions_handoff",
"agents_skills_speckit_converge_skill_9_check_for_extension_hooks",
"agents_skills_speckit_converge_skill_convergence_findings",
"agents_skills_speckit_converge_skill_execution_steps",
"agents_skills_speckit_converge_skill_goal",
"agents_skills_speckit_converge_skill_operating_constraints",
"agents_skills_speckit_converge_skill_pre_execution_checks",
"agents_skills_speckit_converge_skill_user_input"
],
"2": [
"specify_scripts_powershell_common",
"specify_scripts_powershell_common_find_specifyroot",
"specify_scripts_powershell_common_format_speckitcommand",
"specify_scripts_powershell_common_get_currentbranch",
"specify_scripts_powershell_common_get_featurepathsenv",
"specify_scripts_powershell_common_get_invokeseparator",
"specify_scripts_powershell_common_get_normalizedpriority",
"specify_scripts_powershell_common_get_python3command",
"specify_scripts_powershell_common_get_reporoot",
"specify_scripts_powershell_common_get_sortedextensionids",
"specify_scripts_powershell_common_resolve_specifyinitdir",
"specify_scripts_powershell_common_resolve_template",
"specify_scripts_powershell_common_resolve_templatecontent",
"specify_scripts_powershell_common_save_featurejson",
"specify_scripts_powershell_common_test_dirhasfiles",
"specify_scripts_powershell_common_test_fileexists"
],
"3": [
"agents_skills_graphify_skill",
"agents_skills_graphify_skill_for_graphify_add_and_watch",
"agents_skills_graphify_skill_for_graphify_query",
"agents_skills_graphify_skill_for_the_commit_hook_and_native_claude_md_integration",
"agents_skills_graphify_skill_for_update_and_cluster_only",
"agents_skills_graphify_skill_graphify",
"agents_skills_graphify_skill_honesty_rules",
"agents_skills_graphify_skill_interpreter_guard_for_subcommands",
"agents_skills_graphify_skill_part_a_structural_extraction_for_code_files",
"agents_skills_graphify_skill_part_b_semantic_extraction_parallel_subagents",
"agents_skills_graphify_skill_part_c_merge_ast_semantic_into_final_extraction",
"agents_skills_graphify_skill_step_0_github_repos_and_multi_path_merge_only_if_a_url_or_several_paths",
"agents_skills_graphify_skill_step_1_ensure_graphify_is_installed",
"agents_skills_graphify_skill_step_2_5_video_and_audio_only_if_video_files_detected",
"agents_skills_graphify_skill_step_2_detect_files",
"agents_skills_graphify_skill_step_3_extract_entities_and_relationships",
"agents_skills_graphify_skill_step_4_5_graph_health_check_read_only_integrity_gate",
"agents_skills_graphify_skill_step_4_build_graph_cluster_analyze_generate_outputs",
"agents_skills_graphify_skill_step_5_label_communities",
"agents_skills_graphify_skill_step_6_generate_obsidian_vault_opt_in_html",
"agents_skills_graphify_skill_step_9_save_manifest_update_cost_tracker_clean_up_and_report",
"agents_skills_graphify_skill_steps_6b_8_wiki_neo4j_falkordb_svg_graphml_mcp_benchmark_only_on_their_flags",
"agents_skills_graphify_skill_usage",
"agents_skills_graphify_skill_what_graphify_is_for",
"agents_skills_graphify_skill_what_you_must_do_when_invoked"
],
"4": [
"agents_skills_speckit_analyze_skill",
"agents_skills_speckit_analyze_skill_7_provide_next_actions",
"agents_skills_speckit_analyze_skill_8_offer_remediation",
"agents_skills_speckit_analyze_skill_9_check_for_extension_hooks",
"agents_skills_speckit_analyze_skill_analysis_guidelines",
"agents_skills_speckit_analyze_skill_context",
"agents_skills_speckit_analyze_skill_context_efficiency",
"agents_skills_speckit_analyze_skill_goal",
"agents_skills_speckit_analyze_skill_operating_constraints",
"agents_skills_speckit_analyze_skill_operating_principles",
"agents_skills_speckit_analyze_skill_pre_execution_checks",
"agents_skills_speckit_analyze_skill_specification_analysis_report",
"agents_skills_speckit_analyze_skill_user_input"
],
"5": [
"agents_skills_speckit_analyze_skill_1_initialize_analysis_context",
"agents_skills_speckit_analyze_skill_2_load_artifacts_progressive_disclosure",
"agents_skills_speckit_analyze_skill_3_build_semantic_models",
"agents_skills_speckit_analyze_skill_4_detection_passes_token_efficient_analysis",
"agents_skills_speckit_analyze_skill_5_severity_assignment",
"agents_skills_speckit_analyze_skill_6_produce_compact_analysis_report",
"agents_skills_speckit_analyze_skill_a_duplication_detection",
"agents_skills_speckit_analyze_skill_b_ambiguity_detection",
"agents_skills_speckit_analyze_skill_c_underspecification",
"agents_skills_speckit_analyze_skill_d_constitution_alignment",
"agents_skills_speckit_analyze_skill_e_coverage_gaps",
"agents_skills_speckit_analyze_skill_execution_steps",
"agents_skills_speckit_analyze_skill_f_inconsistency"
],
"6": [
"specify_templates_spec_template",
"specify_templates_spec_template_assumptions",
"specify_templates_spec_template_edge_cases",
"specify_templates_spec_template_feature_specification_feature_name",
"specify_templates_spec_template_functional_requirements",
"specify_templates_spec_template_key_entities_include_if_feature_involves_data",
"specify_templates_spec_template_measurable_outcomes",
"specify_templates_spec_template_requirements_mandatory",
"specify_templates_spec_template_success_criteria_mandatory",
"specify_templates_spec_template_user_scenarios_testing_mandatory",
"specify_templates_spec_template_user_story_1_brief_title_priority_p1",
"specify_templates_spec_template_user_story_2_brief_title_priority_p2",
"specify_templates_spec_template_user_story_3_brief_title_priority_p3"
],
"7": [
"agents_rules_graphify",
"agents_rules_graphify_graphify"
],
"8": [
"agents_skills_speckit_plan_skill",
"agents_skills_speckit_plan_skill_completion_report",
"agents_skills_speckit_plan_skill_done_when",
"agents_skills_speckit_plan_skill_key_rules",
"agents_skills_speckit_plan_skill_mandatory_post_execution_hooks",
"agents_skills_speckit_plan_skill_outline",
"agents_skills_speckit_plan_skill_phase_0_outline_research",
"agents_skills_speckit_plan_skill_phase_1_design_contracts",
"agents_skills_speckit_plan_skill_phases",
"agents_skills_speckit_plan_skill_pre_execution_checks",
"agents_skills_speckit_plan_skill_user_input"
],
"9": [
"agents_skills_speckit_specify_skill",
"agents_skills_speckit_specify_skill_completion_report",
"agents_skills_speckit_specify_skill_done_when",
"agents_skills_speckit_specify_skill_for_ai_generation",
"agents_skills_speckit_specify_skill_mandatory_post_execution_hooks",
"agents_skills_speckit_specify_skill_outline",
"agents_skills_speckit_specify_skill_pre_execution_checks",
"agents_skills_speckit_specify_skill_quick_guidelines",
"agents_skills_speckit_specify_skill_section_requirements",
"agents_skills_speckit_specify_skill_success_criteria_guidelines",
"agents_skills_speckit_specify_skill_user_input"
],
"10": [
"agents_skills_speckit_tasks_skill",
"agents_skills_speckit_tasks_skill_checklist_format_required",
"agents_skills_speckit_tasks_skill_completion_report",
"agents_skills_speckit_tasks_skill_done_when",
"agents_skills_speckit_tasks_skill_mandatory_post_execution_hooks",
"agents_skills_speckit_tasks_skill_outline",
"agents_skills_speckit_tasks_skill_phase_structure",
"agents_skills_speckit_tasks_skill_pre_execution_checks",
"agents_skills_speckit_tasks_skill_task_generation_rules",
"agents_skills_speckit_tasks_skill_task_organization",
"agents_skills_speckit_tasks_skill_user_input"
],
"11": [
"specify_memory_constitution",
"specify_memory_constitution_core_principles",
"specify_memory_constitution_governance",
"specify_memory_constitution_principle_1_name",
"specify_memory_constitution_principle_2_name",
"specify_memory_constitution_principle_3_name",
"specify_memory_constitution_principle_4_name",
"specify_memory_constitution_principle_5_name",
"specify_memory_constitution_project_name_constitution",
"specify_memory_constitution_section_2_name",
"specify_memory_constitution_section_3_name"
],
"12": [
"specify_templates_constitution_template",
"specify_templates_constitution_template_core_principles",
"specify_templates_constitution_template_governance",
"specify_templates_constitution_template_principle_1_name",
"specify_templates_constitution_template_principle_2_name",
"specify_templates_constitution_template_principle_3_name",
"specify_templates_constitution_template_principle_4_name",
"specify_templates_constitution_template_principle_5_name",
"specify_templates_constitution_template_project_name_constitution",
"specify_templates_constitution_template_section_2_name",
"specify_templates_constitution_template_section_3_name"
],
"13": [
"agents_skills_graphify_references_exports",
"agents_skills_graphify_references_exports_graphify_reference_extra_exports_and_benchmark",
"agents_skills_graphify_references_exports_step_6b_wiki_only_if_wiki_flag",
"agents_skills_graphify_references_exports_step_7_neo4j_export_only_if_neo4j_or_neo4j_push_flag",
"agents_skills_graphify_references_exports_step_7a_falkordb_export_only_if_falkordb_or_falkordb_push_flag",
"agents_skills_graphify_references_exports_step_7b_svg_export_only_if_svg_flag",
"agents_skills_graphify_references_exports_step_7c_graphml_export_only_if_graphml_flag",
"agents_skills_graphify_references_exports_step_7d_mcp_server_only_if_mcp_flag",
"agents_skills_graphify_references_exports_step_8_token_reduction_benchmark_only_if_total_words_5000"
],
"14": [
"agents_skills_ponytail_skill",
"agents_skills_ponytail_skill_boundaries",
"agents_skills_ponytail_skill_intensity",
"agents_skills_ponytail_skill_output",
"agents_skills_ponytail_skill_persistence",
"agents_skills_ponytail_skill_ponytail",
"agents_skills_ponytail_skill_rules",
"agents_skills_ponytail_skill_the_ladder",
"agents_skills_ponytail_skill_when_not_to_be_lazy"
],
"15": [
"specify_templates_plan_template",
"specify_templates_plan_template_complexity_tracking",
"specify_templates_plan_template_constitution_check",
"specify_templates_plan_template_documentation_this_feature",
"specify_templates_plan_template_implementation_plan_feature",
"specify_templates_plan_template_project_structure",
"specify_templates_plan_template_source_code_repository_root",
"specify_templates_plan_template_summary",
"specify_templates_plan_template_technical_context"
],
"16": [
"agents_skills_ponytail_help_skill",
"agents_skills_ponytail_help_skill_configure_default_mode",
"agents_skills_ponytail_help_skill_deactivate",
"agents_skills_ponytail_help_skill_levels",
"agents_skills_ponytail_help_skill_more",
"agents_skills_ponytail_help_skill_ponytail_help",
"agents_skills_ponytail_help_skill_skills",
"agents_skills_ponytail_help_skill_update"
],
"17": [
"agents_skills_speckit_checklist_skill",
"agents_skills_speckit_checklist_skill_anti_examples_what_not_to_do",
"agents_skills_speckit_checklist_skill_checklist_purpose_unit_tests_for_english",
"agents_skills_speckit_checklist_skill_example_checklist_types_sample_items",
"agents_skills_speckit_checklist_skill_execution_steps",
"agents_skills_speckit_checklist_skill_post_execution_checks",
"agents_skills_speckit_checklist_skill_pre_execution_checks",
"agents_skills_speckit_checklist_skill_user_input"
],
"18": [
"agents_skills_speckit_clarify_skill",
"agents_skills_speckit_clarify_skill_completion_report",
"agents_skills_speckit_clarify_skill_done_when",
"agents_skills_speckit_clarify_skill_mandatory_post_execution_hooks",
"agents_skills_speckit_clarify_skill_outline",
"agents_skills_speckit_clarify_skill_pre_execution_checks",
"agents_skills_speckit_clarify_skill_user_input"
],
"19": [
"agents_skills_speckit_implement_skill",
"agents_skills_speckit_implement_skill_completion_report",
"agents_skills_speckit_implement_skill_done_when",
"agents_skills_speckit_implement_skill_mandatory_post_execution_hooks",
"agents_skills_speckit_implement_skill_outline",
"agents_skills_speckit_implement_skill_pre_execution_checks",
"agents_skills_speckit_implement_skill_user_input"
],
"20": [
"agents_skills_graphify_references_query",
"agents_skills_graphify_references_query_for_graphify_explain",
"agents_skills_graphify_references_query_for_graphify_path",
"agents_skills_graphify_references_query_graphify_reference_query_path_explain",
"agents_skills_graphify_references_query_step_0_constrained_query_expansion_required_before_traversal",
"agents_skills_graphify_references_query_step_1_traversal"
],
"21": [
"agents_skills_speckit_constitution_skill",
"agents_skills_speckit_constitution_skill_outline",
"agents_skills_speckit_constitution_skill_post_execution_checks",
"agents_skills_speckit_constitution_skill_pre_execution_checks",
"agents_skills_speckit_constitution_skill_scope_guard",
"agents_skills_speckit_constitution_skill_user_input"
],
"22": [
"specify_scripts_powershell_create_new_feature",
"specify_scripts_powershell_create_new_feature_convertto_cleanbranchname",
"specify_scripts_powershell_create_new_feature_get_branchname",
"specify_scripts_powershell_create_new_feature_get_fittedbranchname",
"specify_scripts_powershell_create_new_feature_get_highestnumberfromspecs",
"specify_scripts_powershell_create_new_feature_test_specprefixinuse"
],
"23": [
"agents_skills_ponytail_audit_skill",
"agents_skills_ponytail_audit_skill_boundaries",
"agents_skills_ponytail_audit_skill_hunt",
"agents_skills_ponytail_audit_skill_output",
"agents_skills_ponytail_audit_skill_tags"
],
"24": [
"agents_skills_ponytail_gain_skill",
"agents_skills_ponytail_gain_skill_boundaries",
"agents_skills_ponytail_gain_skill_honesty_boundary",
"agents_skills_ponytail_gain_skill_ponytail_gain",
"agents_skills_ponytail_gain_skill_scoreboard"
],
"25": [
"agents_skills_ponytail_review_skill",
"agents_skills_ponytail_review_skill_boundaries",
"agents_skills_ponytail_review_skill_examples",
"agents_skills_ponytail_review_skill_format",
"agents_skills_ponytail_review_skill_scoring"
],
"26": [
"agents_skills_speckit_taskstoissues_skill",
"agents_skills_speckit_taskstoissues_skill_outline",
"agents_skills_speckit_taskstoissues_skill_post_execution_checks",
"agents_skills_speckit_taskstoissues_skill_pre_execution_checks",
"agents_skills_speckit_taskstoissues_skill_user_input"
],
"27": [
"specify_templates_checklist_template",
"specify_templates_checklist_template_category_1",
"specify_templates_checklist_template_category_2",
"specify_templates_checklist_template_checklist_type_checklist_feature_name",
"specify_templates_checklist_template_notes"
],
"28": [
"agents_skills_graphify_references_add_watch",
"agents_skills_graphify_references_add_watch_for_graphify_add",
"agents_skills_graphify_references_add_watch_for_watch",
"agents_skills_graphify_references_add_watch_graphify_reference_add_a_url_and_watch_a_folder"
],
"29": [
"agents_skills_graphify_references_hooks",
"agents_skills_graphify_references_hooks_for_git_commit_hook",
"agents_skills_graphify_references_hooks_for_native_claude_md_integration",
"agents_skills_graphify_references_hooks_graphify_reference_commit_hook_and_native_claude_md_integration"
],
"30": [
"agents_skills_graphify_references_update",
"agents_skills_graphify_references_update_for_cluster_only",
"agents_skills_graphify_references_update_for_update_incremental_re_extraction",
"agents_skills_graphify_references_update_graphify_reference_incremental_update_and_cluster_only"
],
"31": [
"agents_skills_ponytail_debt_skill",
"agents_skills_ponytail_debt_skill_boundaries",
"agents_skills_ponytail_debt_skill_output",
"agents_skills_ponytail_debt_skill_scan"
],
"32": [
"agents_skills_graphify_references_github_and_merge",
"agents_skills_graphify_references_github_and_merge_graphify_reference_github_clone_and_cross_repo_merge",
"agents_skills_graphify_references_github_and_merge_step_0_clone_github_repo_s_only_if_a_github_url_was_given"
],
"33": [
"agents_skills_graphify_references_transcribe",
"agents_skills_graphify_references_transcribe_graphify_reference_transcribe_video_and_audio",
"agents_skills_graphify_references_transcribe_step_2_5_transcribe_video_audio_files_only_if_video_files_detected"
],
"34": [
"agents_skills_graphify_references_extraction_spec",
"agents_skills_graphify_references_extraction_spec_graphify_reference_extraction_subagent_prompt"
],
"35": [
"specify_scripts_powershell_check_prerequisites"
],
"36": [
"specify_scripts_powershell_resolve_template"
],
"37": [
"specify_scripts_powershell_setup_plan"
],
"38": [
"specify_scripts_powershell_setup_tasks"
],
"39": [
"agents_workflows_graphify",
"agents_workflows_graphify_workflow_graphify"
]
},
"cohesion": {
"0": 0.07407407407407407,
"1": 0.125,
"2": 0.225,
"3": 0.08,
"4": 0.15384615384615385,
"5": 0.15384615384615385,
"6": 0.15384615384615385,
"7": 1.0,
"8": 0.18181818181818182,
"9": 0.18181818181818182,
"10": 0.18181818181818182,
"11": 0.18181818181818182,
"12": 0.18181818181818182,
"13": 0.2222222222222222,
"14": 0.2222222222222222,
"15": 0.2222222222222222,
"16": 0.25,
"17": 0.25,
"18": 0.2857142857142857,
"19": 0.2857142857142857,
"20": 0.3333333333333333,
"21": 0.3333333333333333,
"22": 0.4,
"23": 0.4,
"24": 0.4,
"25": 0.4,
"26": 0.4,
"27": 0.4,
"28": 0.5,
"29": 0.5,
"30": 0.5,
"31": 0.5,
"32": 0.6666666666666666,
"33": 0.6666666666666666,
"34": 1.0,
"35": 1.0,
"36": 1.0,
"37": 1.0,
"38": 1.0,
"39": 1.0
},
"gods": [
{
"id": "specify_templates_tasks_template_tasks_feature_name",
"label": "Tasks: [FEATURE NAME]",
"degree": 13
},
{
"id": "agents_skills_graphify_skill_what_you_must_do_when_invoked",
"label": "What You Must Do When Invoked",
"degree": 12
},
{
"id": "agents_skills_graphify_skill_graphify",
"label": "/graphify",
"degree": 10
},
{
"id": "agents_skills_graphify_references_exports_graphify_reference_extra_exports_and_benchmark",
"label": "graphify reference: extra exports and benchmark",
"degree": 8
},
{
"id": "agents_skills_ponytail_skill_ponytail",
"label": "Ponytail",
"degree": 8
},
{
"id": "agents_skills_speckit_converge_skill_execution_steps",
"label": "Execution Steps",
"degree": 7
},
{
"id": "agents_skills_ponytail_help_skill_ponytail_help",
"label": "Ponytail Help",
"degree": 7
},
{
"id": "agents_skills_speckit_analyze_skill_4_detection_passes_token_efficient_analysis",
"label": "4. Detection Passes (Token-Efficient Analysis)",
"degree": 7
},
{
"id": "agents_skills_speckit_analyze_skill_execution_steps",
"label": "Execution Steps",
"degree": 7
},
{
"id": "specify_memory_constitution_core_principles",
"label": "Core Principles",
"degree": 6
}
],
"surprises": [],
"questions": [
{
"type": "bridge_node",
"question": "Why does `Execution Steps` connect `Analysis Detection` to `Specification Analysis`?",
"why": "High betweenness centrality (0.004) - this node is a cross-community bridge."
},
{
"type": "isolated_nodes",
"question": "What connects `Format: `[ID] [P?] [Story] Description``, `Implementation for User Story 1`, `Implementation for User Story 2` to the rest of the system?",
"why": "212 weakly-connected nodes found - possible documentation gaps or missing edges."
},
{
"type": "low_cohesion",
"question": "Should `Task Planning` be split into smaller, more focused modules?",
"why": "Cohesion score 0.07407407407407407 - nodes in this community are weakly interconnected."
},
{
"type": "low_cohesion",
"question": "Should `Convergence Workflow` be split into smaller, more focused modules?",
"why": "Cohesion score 0.125 - nodes in this community are weakly interconnected."
},
{
"type": "low_cohesion",
"question": "Should `Graphify Commands` be split into smaller, more focused modules?",
"why": "Cohesion score 0.08 - nodes in this community are weakly interconnected."
}
]
}
@@ -0,0 +1,323 @@
{
"0": "Task Planning",
"1": "Convergence Workflow",
"2": "SpecKit Utilities",
"3": "Graphify Commands",
"4": "speckit-analyze/SKILL.md",
"5": "Tasks: Multilingual NLP Entity Inherence Classifier (POC)",
"6": "Feature Specification Template",
"7": "Graphify Rules",
"8": "Implementation Planning",
"9": "Feature Specification",
"10": "Task Generation",
"11": "Project Constitution",
"12": "Constitution Template",
"13": "Graphify Exports",
"14": "Ponytail Configuration",
"15": "Implementation Planning Template",
"16": "Ponytail Help",
"17": "Checklist Generation",
"18": "Clarification Workflow",
"19": "Implementation Workflow",
"20": "Graph Query",
"21": "Constitution Workflow",
"22": "Feature Branch Creation",
"23": "Ponytail Audit",
"24": "Ponytail Metrics",
"25": "Ponytail Review",
"26": "Task Issue Conversion",
"27": "Checklist Template",
"28": "Graphify Watch Mode",
"29": "Graphify Hooks",
"30": "Graphify Updates",
"31": "Ponytail Debt",
"32": "Repository Merge",
"33": "Media Transcription",
"34": "Extraction Specification",
"35": "Prerequisite Checks",
"36": "Template Resolution",
"37": "Plan Setup",
"38": "Task Setup",
"39": "Graphify Workflows",
"40": "main",
"41": "1. Technical Decisions & Tradeoffs",
"42": "1. Input Schemas",
"43": "2. Basic CLI Usage Examples",
"44": "2. Standard Streams & Exit Codes",
"45": "ClassificationResult",
"46": "ECPSnapshot",
"47": "LLMFallbackAdapter",
"48": "tools/models.py",
"49": "content_northvolt_de.md",
"50": "content_presal_pt.md",
"51": "content_tangential_es.md",
"52": "load_schema",
"53": "src/__init__.py",
"54": "de/contextual.md",
"55": "de/direct.md",
"56": "de/not_related.md",
"57": "de/tangential.md",
"58": "en/contextual.md",
"59": "en/direct.md",
"60": "en/not_related.md",
"61": "en/tangential.md",
"62": "es/contextual.md",
"63": "es/direct.md",
"64": "es/not_related.md",
"65": "es/tangential.md",
"66": "fr/contextual.md",
"67": "fr/direct.md",
"68": "fr/not_related.md",
"69": "fr/tangential.md",
"70": "it/contextual.md",
"71": "it/direct.md",
"72": "it/not_related.md",
"73": "it/tangential.md",
"74": "pt/contextual.md",
"75": "pt/direct.md",
"76": "pt/not_related.md",
"77": "pt/tangential.md",
"78": "tests/__init__.py",
"79": "text-nlp-classifier",
"80": "test_extract_article_contents.py",
"81": "Extrator de Notícias do Google News — Guia Completo de Funcionamento",
"82": "extract_google_news.py",
"83": "ExtractionResult",
"84": "test_extract_google_news.py",
"85": "Implementation Tasks: Google News Headlines Extractor",
"86": "Feature Specification: Google News Headlines Extractor",
"87": "2. Cenários Práticos de Uso",
"88": "Implementation Plan: Google News Headlines Extractor",
"89": "scripts/__init__.py",
"90": "SearchQuery",
"91": "1. Technical Decisions & Tradeoffs",
"92": "General Readiness Checklist: Google News Headlines Extractor",
"93": "1. Entidades de Domínio & DTOs",
"94": "Specification Quality Checklist: Google News Headlines Extractor",
"95": "CLI Contract: Google News Headlines Extractor",
"96": "readiness.md",
"97": "🧠 TextNLPClassifierApp",
"98": "Extraction Pipeline Checklist: Article Content Multi-Engine Extractor",
"99": "config.py",
"100": "load_runtime_config",
"101": "main",
"102": "Feature Specification: Multilingual NLP Entity Inherence Classifier (POC)",
"103": "4. Requisitos Funcionais (FR)",
"104": "Tasks: Article Content Multi-Engine Extractor",
"105": "Tasks: Convert Article JSON to Markdown",
"106": "Implementation Plan: Article Content Multi-Engine Extractor",
"107": "2. Cenários de Validação",
"108": "1. Technical Decisions & Tradeoffs",
"109": "Implementation Plan: Multilingual NLP Entity Inherence Classifier (POC)",
"110": "POC Readiness & Requirements Quality Checklist: Multilingual NLP Entity Inherence Classifier",
"111": "Specification Quality Checklist: Multilingual NLP Entity Inherence Classifier",
"112": "CLI Contract: Article Content Multi-Engine Extractor",
"113": "001-multilingual-entity-classifier/spec.md",
"114": "JSON Schema Contract: Article Content Multi-Engine Extractor",
"115": "PRD — Seleção determinística da biblioteca de extração de conteúdo",
"116": "select_article_extractor.py",
"117": "1. Text Normalization Pipeline",
"118": "Tasks: Deterministic Article Content Selection",
"119": "select_article_extractor",
"120": "process_batch",
"121": "classifier.py",
"122": "test_select_article_extractor.py",
"123": "Feature Specification: Deterministic Content Selection",
"124": "2. Entity Descriptions & Fields",
"125": "Implementation Plan: Deterministic Article Content Selection",
"126": "Deterministic Content Selection Checklist: End-to-End Requirements Quality",
"127": "Quickstart: Deterministic Article Content Selection",
"128": "Specification Quality Checklist: Deterministic Content Selection",
"129": "CLI Interface Contract: Deterministic Article Content Selection",
"130": "004-deterministic-content-selection/spec.md",
"131": "convert_article_to_markdown.py",
"132": "8. Regras funcionais",
"133": "12. Critérios de aceite",
"134": "PRD — Conversão de artigo JSON para Markdown",
"135": "resolve_article_body",
"136": "Implementation Plan: Convert Article JSON to Markdown",
"137": "2. Technical Decisions & Research Findings",
"138": "Feature Specification: Convert Article JSON to Markdown",
"139": "Markdown Conversion Checklist: End-to-End Requirements Quality",
"140": "convert_article",
"141": "005-convert-json-markdown/plan.md",
"142": "Quickstart: Convert Article JSON to Markdown",
"143": "1. Domain Entities & Schemas",
"144": "11. Requisitos não funcionais",
"145": "parse_arguments",
"146": "Specification Quality Checklist: Convert Article JSON to Markdown",
"147": "CLI Contract: `convert_article_to_markdown.py`",
"148": "9. Interface CLI",
"149": "test_convert_article_to_markdown.py",
"150": "13. Estratégia de testes",
"151": "6. Contrato de entrada",
"152": "test_models.py",
"153": "convert_html_to_markdown",
"154": "properties",
"155": "5. Escopo",
"156": "Los puntajes de River vs. Independiente Santa Fe, por la Copa Sudamericana - TyC Sports",
"157": "valid_newspaper4k.md",
"158": "valid_readability.md",
"159": "InputSizeExceededError",
"160": "test_benchmark_24.py",
"161": "adapter.py",
"162": "validate_and_extract_enrichment",
"163": "MockProviderAdapter",
"164": "hygiene/harness.py",
"165": "SanitizedJsonLogger",
"166": "remove_duplicate_initial_h1",
"167": "CandidateObject",
"168": "enum",
"169": "Plano de testes e evals — Runtime de consolidação de artigos",
"170": "Especificação de prompt, contexto e harness — Runtime",
"171": "ExecutionStateMachine",
"172": "Implementation Tasks: Article Consolidation and Hygiene Runtime",
"173": "🧪 Documentação da Suíte de Testes Automatizados",
"174": "properties",
"175": "repair-operations.schema.json",
"176": "Functional Requirements",
"178": "enrichment-response.schema.json",
"179": "consolidate.py",
"180": "Catálogo de métricas e KPIs — Runtime de consolidação de artigos",
"181": "article_content_hygiene",
"182": "SQLiteStore",
"183": "Documento de Arquitetura — Runtime de consolidação de artigos",
"184": "null",
"185": "Runbook de produção — Runtime de consolidação de artigos",
"186": "article_content_hygiene",
"187": "properties",
"188": "properties",
"189": "PRD — Runtime de consolidação e higienização de artigos",
"190": "required",
"191": "properties",
"192": "type",
"193": "properties",
"195": "check_zero_regex.py",
"196": "properties",
"197": "runtime-config.schema.json",
"198": "properties",
"199": "object",
"200": "candidates-payload.schema.json",
"201": "limits",
"202": "langfuse",
"203": "string",
"204": "type",
"205": "CLI Interface Contract: Article Consolidation and Hygiene Runtime",
"206": "2. Entity Definitions",
"207": "3. Concrete Architectural & Technical Decisions",
"208": "Requirements Readiness Checklist: Article Consolidation and Hygiene Runtime",
"209": "object",
"210": "null",
"211": "properties",
"212": "calculate_execution_fingerprint",
"213": "model_versions",
"214": "3. Operational Execution Scenarios",
"215": "type",
"216": "test_cli_subprocess_pipeline.py",
"217": "run_smoke_test",
"218": "properties",
"219": "paths",
"220": "properties",
"221": "properties",
"222": "properties",
"223": "required",
"224": "required",
"225": "kept_block_ids",
"226": "parametrize",
"228": "1. Operational Commands",
"229": "sqlite",
"230": "required",
"231": "pricing",
"232": "article-input.schema.json",
"233": "properties",
"234": "enum",
"235": "required",
"236": "Implementation Plan: Article Consolidation and Hygiene Runtime",
"237": "verify_all_11_invariants",
"238": "enum",
"239": "required",
"240": "manifest-output.schema.json",
"241": "Prompts Versioned Contract: Article Consolidation and Hygiene Runtime",
"243": "13. Parsing estrutural sem regex",
"244": "metadata_candidates",
"245": "enum",
"246": "required",
"247": "enum",
"248": "ecp-snapshot.schema.json",
"249": "hygiene-response.schema.json",
"251": "ADR-003 — Usar orquestração explícita em Python, sem LangChain ou LangGraph",
"252": "required",
"253": "Specification Quality Checklist: Article Consolidation and Hygiene Runtime",
"254": "enum",
"255": "enum",
"257": "10. Contrato de saída",
"258": "14. Higienização por LLM",
"259": "4. Regras mandatórias",
"260": "8. Contrato de entrada do artigo",
"261": "18. Integração ECP",
"262": "7. Orquestração",
"263": "ADR-001 — Separar runtime e self-healing",
"264": "ADR-002 — Iniciar o runtime após a seleção do extrator",
"265": "ADR-004 — Gateway agnóstico com apenas modelos baratos no runtime",
"266": "ADR-005 — Proibir regex e palavras-chave manuais em decisões textuais",
"267": "ADR-006 — LLM seleciona evidências e propõe reparos, não regenera o artigo",
"268": "ADR-007 — Tornar o ECP obrigatório antes de toda saída editorial",
"269": "ADR-008 — Langfuse no runtime e Promptfoo no CI",
"270": "ADR-009 — Persistir estado em SQLite e saídas no filesystem",
"271": "ADR-010 — Produzir resultado estruturado sempre e Markdown condicionalmente",
"272": "ADR-011 — Definir SLOs de custo e latência a partir de staging",
"273": "7. Checklist de release",
"274": "eval_runner.py",
"275": "ecp-profile.schema.json",
"276": "prompt_versions",
"277": "12. Preparação determinística",
"278": "15. Pequenos reparos textuais",
"279": "9. Contrato do ECP",
"280": "15. Higienização extrativa",
"281": "16. Pequenos reparos",
"282": "20. Model Gateway",
"283": "23. Observabilidade",
"284": "3. Limites do sistema",
"285": "9. Política de dependências",
"286": "12. Monitoramento",
"287": "14. Reprocessamento",
"288": "16. Falha do provider primário",
"289": "21. Falha do SQLite",
"290": "6. Configuração obrigatória",
"291": "build_release_metadata.py",
"292": "removal_reasons",
"293": "kept_image_ids",
"294": "validate_certified_cheap_model",
"296": "test_prompts_contract.py",
"297": "FaultyMockAdapter",
"298": "Release Quality Summary Report",
"300": "13. Candidatos e proveniência",
"301": "16. Imagens e links",
"302": "17. Gate ECP",
"303": "18. Enriquecimento",
"304": "5. Escopo",
"305": "14. Modelo de candidatos",
"306": "22. Renderer e arquivos",
"307": "Architecture Decision Records — Runtime de consolidação de artigos",
"308": "15. Falha de validação de entrada",
"309": "17. Falha semântica ou de grounding",
"310": "18. Falha do ECP",
"311": "20. Falha do Langfuse",
"312": "22. Falha de filesystem ou disco",
"313": "26. Rollback manual",
"314": "ci_check.py",
"315": "prepare_reference_20.py",
"316": "test_contract_parity.py",
"317": "test_zero_regex_enforcement.py",
"318": "sample_rss_xml",
"319": "runtime/__init__.py",
"320": "adapters/__init__.py",
"321": "tools/__init__.py",
"322": "test_normalize_list_author_url_filtering",
"323": "test_normalize_list_deduplication_preserves_case_and_order",
"324": "test_normalize_date_iso_8601_variants",
"325": "test_normalize_date_invalid_and_placeholders",
"326": "test_metadata_priority_original_url_all_fallbacks",
"327": "test_normalize_scalar_whitespace_collapsing",
"328": "test_normalize_scalar_non_string_types"
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,516 @@
{
"communities": {
"0": [
"specify_templates_tasks_template",
"specify_templates_tasks_template_dependencies_execution_order",
"specify_templates_tasks_template_format_id_p_story_description",
"specify_templates_tasks_template_implementation_for_user_story_1",
"specify_templates_tasks_template_implementation_for_user_story_2",
"specify_templates_tasks_template_implementation_for_user_story_3",
"specify_templates_tasks_template_implementation_strategy",
"specify_templates_tasks_template_incremental_delivery",
"specify_templates_tasks_template_mvp_first_user_story_1_only",
"specify_templates_tasks_template_notes",
"specify_templates_tasks_template_parallel_example_user_story_1",
"specify_templates_tasks_template_parallel_opportunities",
"specify_templates_tasks_template_parallel_team_strategy",
"specify_templates_tasks_template_path_conventions",
"specify_templates_tasks_template_phase_1_setup_shared_infrastructure",
"specify_templates_tasks_template_phase_2_foundational_blocking_prerequisites",
"specify_templates_tasks_template_phase_3_user_story_1_title_priority_p1_mvp",
"specify_templates_tasks_template_phase_4_user_story_2_title_priority_p2",
"specify_templates_tasks_template_phase_5_user_story_3_title_priority_p3",
"specify_templates_tasks_template_phase_dependencies",
"specify_templates_tasks_template_phase_n_polish_cross_cutting_concerns",
"specify_templates_tasks_template_tasks_feature_name",
"specify_templates_tasks_template_tests_for_user_story_1_optional_only_if_tests_requested",
"specify_templates_tasks_template_tests_for_user_story_2_optional_only_if_tests_requested",
"specify_templates_tasks_template_tests_for_user_story_3_optional_only_if_tests_requested",
"specify_templates_tasks_template_user_story_dependencies",
"specify_templates_tasks_template_within_each_user_story"
],
"1": [
"agents_skills_speckit_converge_skill",
"agents_skills_speckit_converge_skill_1_initialize_convergence_context",
"agents_skills_speckit_converge_skill_2_load_artifacts_progressive_disclosure",
"agents_skills_speckit_converge_skill_3_build_the_intent_inventory",
"agents_skills_speckit_converge_skill_4_assess_the_codebase_and_classify_findings",
"agents_skills_speckit_converge_skill_5_assign_severity",
"agents_skills_speckit_converge_skill_6_present_the_in_session_findings_summary",
"agents_skills_speckit_converge_skill_7_append_convergence_tasks_or_report_converged",
"agents_skills_speckit_converge_skill_8_provide_next_actions_handoff",
"agents_skills_speckit_converge_skill_9_check_for_extension_hooks",
"agents_skills_speckit_converge_skill_convergence_findings",
"agents_skills_speckit_converge_skill_execution_steps",
"agents_skills_speckit_converge_skill_goal",
"agents_skills_speckit_converge_skill_operating_constraints",
"agents_skills_speckit_converge_skill_pre_execution_checks",
"agents_skills_speckit_converge_skill_user_input"
],
"2": [
"specify_scripts_powershell_common",
"specify_scripts_powershell_common_find_specifyroot",
"specify_scripts_powershell_common_format_speckitcommand",
"specify_scripts_powershell_common_get_currentbranch",
"specify_scripts_powershell_common_get_featurepathsenv",
"specify_scripts_powershell_common_get_invokeseparator",
"specify_scripts_powershell_common_get_normalizedpriority",
"specify_scripts_powershell_common_get_python3command",
"specify_scripts_powershell_common_get_reporoot",
"specify_scripts_powershell_common_get_sortedextensionids",
"specify_scripts_powershell_common_resolve_specifyinitdir",
"specify_scripts_powershell_common_resolve_template",
"specify_scripts_powershell_common_resolve_templatecontent",
"specify_scripts_powershell_common_save_featurejson",
"specify_scripts_powershell_common_test_dirhasfiles",
"specify_scripts_powershell_common_test_fileexists"
],
"3": [
"agents_skills_graphify_skill",
"agents_skills_graphify_skill_for_graphify_add_and_watch",
"agents_skills_graphify_skill_for_graphify_query",
"agents_skills_graphify_skill_for_the_commit_hook_and_native_claude_md_integration",
"agents_skills_graphify_skill_for_update_and_cluster_only",
"agents_skills_graphify_skill_graphify",
"agents_skills_graphify_skill_honesty_rules",
"agents_skills_graphify_skill_interpreter_guard_for_subcommands",
"agents_skills_graphify_skill_part_a_structural_extraction_for_code_files",
"agents_skills_graphify_skill_part_b_semantic_extraction_parallel_subagents",
"agents_skills_graphify_skill_part_c_merge_ast_semantic_into_final_extraction",
"agents_skills_graphify_skill_step_0_github_repos_and_multi_path_merge_only_if_a_url_or_several_paths",
"agents_skills_graphify_skill_step_1_ensure_graphify_is_installed",
"agents_skills_graphify_skill_step_2_5_video_and_audio_only_if_video_files_detected",
"agents_skills_graphify_skill_step_2_detect_files",
"agents_skills_graphify_skill_step_3_extract_entities_and_relationships",
"agents_skills_graphify_skill_step_4_5_graph_health_check_read_only_integrity_gate",
"agents_skills_graphify_skill_step_4_build_graph_cluster_analyze_generate_outputs",
"agents_skills_graphify_skill_step_5_label_communities",
"agents_skills_graphify_skill_step_6_generate_obsidian_vault_opt_in_html",
"agents_skills_graphify_skill_step_9_save_manifest_update_cost_tracker_clean_up_and_report",
"agents_skills_graphify_skill_steps_6b_8_wiki_neo4j_falkordb_svg_graphml_mcp_benchmark_only_on_their_flags",
"agents_skills_graphify_skill_usage",
"agents_skills_graphify_skill_what_graphify_is_for",
"agents_skills_graphify_skill_what_you_must_do_when_invoked"
],
"4": [
"agents_skills_speckit_analyze_skill",
"agents_skills_speckit_analyze_skill_7_provide_next_actions",
"agents_skills_speckit_analyze_skill_8_offer_remediation",
"agents_skills_speckit_analyze_skill_9_check_for_extension_hooks",
"agents_skills_speckit_analyze_skill_analysis_guidelines",
"agents_skills_speckit_analyze_skill_context",
"agents_skills_speckit_analyze_skill_context_efficiency",
"agents_skills_speckit_analyze_skill_goal",
"agents_skills_speckit_analyze_skill_operating_constraints",
"agents_skills_speckit_analyze_skill_operating_principles",
"agents_skills_speckit_analyze_skill_pre_execution_checks",
"agents_skills_speckit_analyze_skill_specification_analysis_report",
"agents_skills_speckit_analyze_skill_user_input"
],
"5": [
"agents_skills_speckit_analyze_skill_1_initialize_analysis_context",
"agents_skills_speckit_analyze_skill_2_load_artifacts_progressive_disclosure",
"agents_skills_speckit_analyze_skill_3_build_semantic_models",
"agents_skills_speckit_analyze_skill_4_detection_passes_token_efficient_analysis",
"agents_skills_speckit_analyze_skill_5_severity_assignment",
"agents_skills_speckit_analyze_skill_6_produce_compact_analysis_report",
"agents_skills_speckit_analyze_skill_a_duplication_detection",
"agents_skills_speckit_analyze_skill_b_ambiguity_detection",
"agents_skills_speckit_analyze_skill_c_underspecification",
"agents_skills_speckit_analyze_skill_d_constitution_alignment",
"agents_skills_speckit_analyze_skill_e_coverage_gaps",
"agents_skills_speckit_analyze_skill_execution_steps",
"agents_skills_speckit_analyze_skill_f_inconsistency"
],
"6": [
"specify_templates_spec_template",
"specify_templates_spec_template_assumptions",
"specify_templates_spec_template_edge_cases",
"specify_templates_spec_template_feature_specification_feature_name",
"specify_templates_spec_template_functional_requirements",
"specify_templates_spec_template_key_entities_include_if_feature_involves_data",
"specify_templates_spec_template_measurable_outcomes",
"specify_templates_spec_template_requirements_mandatory",
"specify_templates_spec_template_success_criteria_mandatory",
"specify_templates_spec_template_user_scenarios_testing_mandatory",
"specify_templates_spec_template_user_story_1_brief_title_priority_p1",
"specify_templates_spec_template_user_story_2_brief_title_priority_p2",
"specify_templates_spec_template_user_story_3_brief_title_priority_p3"
],
"7": [
"agents_rules_graphify",
"agents_rules_graphify_graphify"
],
"8": [
"agents_skills_speckit_plan_skill",
"agents_skills_speckit_plan_skill_completion_report",
"agents_skills_speckit_plan_skill_done_when",
"agents_skills_speckit_plan_skill_key_rules",
"agents_skills_speckit_plan_skill_mandatory_post_execution_hooks",
"agents_skills_speckit_plan_skill_outline",
"agents_skills_speckit_plan_skill_phase_0_outline_research",
"agents_skills_speckit_plan_skill_phase_1_design_contracts",
"agents_skills_speckit_plan_skill_phases",
"agents_skills_speckit_plan_skill_pre_execution_checks",
"agents_skills_speckit_plan_skill_user_input"
],
"9": [
"agents_skills_speckit_specify_skill",
"agents_skills_speckit_specify_skill_completion_report",
"agents_skills_speckit_specify_skill_done_when",
"agents_skills_speckit_specify_skill_for_ai_generation",
"agents_skills_speckit_specify_skill_mandatory_post_execution_hooks",
"agents_skills_speckit_specify_skill_outline",
"agents_skills_speckit_specify_skill_pre_execution_checks",
"agents_skills_speckit_specify_skill_quick_guidelines",
"agents_skills_speckit_specify_skill_section_requirements",
"agents_skills_speckit_specify_skill_success_criteria_guidelines",
"agents_skills_speckit_specify_skill_user_input"
],
"10": [
"agents_skills_speckit_tasks_skill",
"agents_skills_speckit_tasks_skill_checklist_format_required",
"agents_skills_speckit_tasks_skill_completion_report",
"agents_skills_speckit_tasks_skill_done_when",
"agents_skills_speckit_tasks_skill_mandatory_post_execution_hooks",
"agents_skills_speckit_tasks_skill_outline",
"agents_skills_speckit_tasks_skill_phase_structure",
"agents_skills_speckit_tasks_skill_pre_execution_checks",
"agents_skills_speckit_tasks_skill_task_generation_rules",
"agents_skills_speckit_tasks_skill_task_organization",
"agents_skills_speckit_tasks_skill_user_input"
],
"11": [
"specify_memory_constitution",
"specify_memory_constitution_core_principles",
"specify_memory_constitution_governance",
"specify_memory_constitution_principle_1_name",
"specify_memory_constitution_principle_2_name",
"specify_memory_constitution_principle_3_name",
"specify_memory_constitution_principle_4_name",
"specify_memory_constitution_principle_5_name",
"specify_memory_constitution_project_name_constitution",
"specify_memory_constitution_section_2_name",
"specify_memory_constitution_section_3_name"
],
"12": [
"specify_templates_constitution_template",
"specify_templates_constitution_template_core_principles",
"specify_templates_constitution_template_governance",
"specify_templates_constitution_template_principle_1_name",
"specify_templates_constitution_template_principle_2_name",
"specify_templates_constitution_template_principle_3_name",
"specify_templates_constitution_template_principle_4_name",
"specify_templates_constitution_template_principle_5_name",
"specify_templates_constitution_template_project_name_constitution",
"specify_templates_constitution_template_section_2_name",
"specify_templates_constitution_template_section_3_name"
],
"13": [
"agents_skills_graphify_references_exports",
"agents_skills_graphify_references_exports_graphify_reference_extra_exports_and_benchmark",
"agents_skills_graphify_references_exports_step_6b_wiki_only_if_wiki_flag",
"agents_skills_graphify_references_exports_step_7_neo4j_export_only_if_neo4j_or_neo4j_push_flag",
"agents_skills_graphify_references_exports_step_7a_falkordb_export_only_if_falkordb_or_falkordb_push_flag",
"agents_skills_graphify_references_exports_step_7b_svg_export_only_if_svg_flag",
"agents_skills_graphify_references_exports_step_7c_graphml_export_only_if_graphml_flag",
"agents_skills_graphify_references_exports_step_7d_mcp_server_only_if_mcp_flag",
"agents_skills_graphify_references_exports_step_8_token_reduction_benchmark_only_if_total_words_5000"
],
"14": [
"agents_skills_ponytail_skill",
"agents_skills_ponytail_skill_boundaries",
"agents_skills_ponytail_skill_intensity",
"agents_skills_ponytail_skill_output",
"agents_skills_ponytail_skill_persistence",
"agents_skills_ponytail_skill_ponytail",
"agents_skills_ponytail_skill_rules",
"agents_skills_ponytail_skill_the_ladder",
"agents_skills_ponytail_skill_when_not_to_be_lazy"
],
"15": [
"specify_templates_plan_template",
"specify_templates_plan_template_complexity_tracking",
"specify_templates_plan_template_constitution_check",
"specify_templates_plan_template_documentation_this_feature",
"specify_templates_plan_template_implementation_plan_feature",
"specify_templates_plan_template_project_structure",
"specify_templates_plan_template_source_code_repository_root",
"specify_templates_plan_template_summary",
"specify_templates_plan_template_technical_context"
],
"16": [
"agents_skills_ponytail_help_skill",
"agents_skills_ponytail_help_skill_configure_default_mode",
"agents_skills_ponytail_help_skill_deactivate",
"agents_skills_ponytail_help_skill_levels",
"agents_skills_ponytail_help_skill_more",
"agents_skills_ponytail_help_skill_ponytail_help",
"agents_skills_ponytail_help_skill_skills",
"agents_skills_ponytail_help_skill_update"
],
"17": [
"agents_skills_speckit_checklist_skill",
"agents_skills_speckit_checklist_skill_anti_examples_what_not_to_do",
"agents_skills_speckit_checklist_skill_checklist_purpose_unit_tests_for_english",
"agents_skills_speckit_checklist_skill_example_checklist_types_sample_items",
"agents_skills_speckit_checklist_skill_execution_steps",
"agents_skills_speckit_checklist_skill_post_execution_checks",
"agents_skills_speckit_checklist_skill_pre_execution_checks",
"agents_skills_speckit_checklist_skill_user_input"
],
"18": [
"agents_skills_speckit_clarify_skill",
"agents_skills_speckit_clarify_skill_completion_report",
"agents_skills_speckit_clarify_skill_done_when",
"agents_skills_speckit_clarify_skill_mandatory_post_execution_hooks",
"agents_skills_speckit_clarify_skill_outline",
"agents_skills_speckit_clarify_skill_pre_execution_checks",
"agents_skills_speckit_clarify_skill_user_input"
],
"19": [
"agents_skills_speckit_implement_skill",
"agents_skills_speckit_implement_skill_completion_report",
"agents_skills_speckit_implement_skill_done_when",
"agents_skills_speckit_implement_skill_mandatory_post_execution_hooks",
"agents_skills_speckit_implement_skill_outline",
"agents_skills_speckit_implement_skill_pre_execution_checks",
"agents_skills_speckit_implement_skill_user_input"
],
"20": [
"agents_skills_graphify_references_query",
"agents_skills_graphify_references_query_for_graphify_explain",
"agents_skills_graphify_references_query_for_graphify_path",
"agents_skills_graphify_references_query_graphify_reference_query_path_explain",
"agents_skills_graphify_references_query_step_0_constrained_query_expansion_required_before_traversal",
"agents_skills_graphify_references_query_step_1_traversal"
],
"21": [
"agents_skills_speckit_constitution_skill",
"agents_skills_speckit_constitution_skill_outline",
"agents_skills_speckit_constitution_skill_post_execution_checks",
"agents_skills_speckit_constitution_skill_pre_execution_checks",
"agents_skills_speckit_constitution_skill_scope_guard",
"agents_skills_speckit_constitution_skill_user_input"
],
"22": [
"specify_scripts_powershell_create_new_feature",
"specify_scripts_powershell_create_new_feature_convertto_cleanbranchname",
"specify_scripts_powershell_create_new_feature_get_branchname",
"specify_scripts_powershell_create_new_feature_get_fittedbranchname",
"specify_scripts_powershell_create_new_feature_get_highestnumberfromspecs",
"specify_scripts_powershell_create_new_feature_test_specprefixinuse"
],
"23": [
"agents_skills_ponytail_audit_skill",
"agents_skills_ponytail_audit_skill_boundaries",
"agents_skills_ponytail_audit_skill_hunt",
"agents_skills_ponytail_audit_skill_output",
"agents_skills_ponytail_audit_skill_tags"
],
"24": [
"agents_skills_ponytail_gain_skill",
"agents_skills_ponytail_gain_skill_boundaries",
"agents_skills_ponytail_gain_skill_honesty_boundary",
"agents_skills_ponytail_gain_skill_ponytail_gain",
"agents_skills_ponytail_gain_skill_scoreboard"
],
"25": [
"agents_skills_ponytail_review_skill",
"agents_skills_ponytail_review_skill_boundaries",
"agents_skills_ponytail_review_skill_examples",
"agents_skills_ponytail_review_skill_format",
"agents_skills_ponytail_review_skill_scoring"
],
"26": [
"agents_skills_speckit_taskstoissues_skill",
"agents_skills_speckit_taskstoissues_skill_outline",
"agents_skills_speckit_taskstoissues_skill_post_execution_checks",
"agents_skills_speckit_taskstoissues_skill_pre_execution_checks",
"agents_skills_speckit_taskstoissues_skill_user_input"
],
"27": [
"specify_templates_checklist_template",
"specify_templates_checklist_template_category_1",
"specify_templates_checklist_template_category_2",
"specify_templates_checklist_template_checklist_type_checklist_feature_name",
"specify_templates_checklist_template_notes"
],
"28": [
"agents_skills_graphify_references_add_watch",
"agents_skills_graphify_references_add_watch_for_graphify_add",
"agents_skills_graphify_references_add_watch_for_watch",
"agents_skills_graphify_references_add_watch_graphify_reference_add_a_url_and_watch_a_folder"
],
"29": [
"agents_skills_graphify_references_hooks",
"agents_skills_graphify_references_hooks_for_git_commit_hook",
"agents_skills_graphify_references_hooks_for_native_claude_md_integration",
"agents_skills_graphify_references_hooks_graphify_reference_commit_hook_and_native_claude_md_integration"
],
"30": [
"agents_skills_graphify_references_update",
"agents_skills_graphify_references_update_for_cluster_only",
"agents_skills_graphify_references_update_for_update_incremental_re_extraction",
"agents_skills_graphify_references_update_graphify_reference_incremental_update_and_cluster_only"
],
"31": [
"agents_skills_ponytail_debt_skill",
"agents_skills_ponytail_debt_skill_boundaries",
"agents_skills_ponytail_debt_skill_output",
"agents_skills_ponytail_debt_skill_scan"
],
"32": [
"agents_skills_graphify_references_github_and_merge",
"agents_skills_graphify_references_github_and_merge_graphify_reference_github_clone_and_cross_repo_merge",
"agents_skills_graphify_references_github_and_merge_step_0_clone_github_repo_s_only_if_a_github_url_was_given"
],
"33": [
"agents_skills_graphify_references_transcribe",
"agents_skills_graphify_references_transcribe_graphify_reference_transcribe_video_and_audio",
"agents_skills_graphify_references_transcribe_step_2_5_transcribe_video_audio_files_only_if_video_files_detected"
],
"34": [
"agents_skills_graphify_references_extraction_spec",
"agents_skills_graphify_references_extraction_spec_graphify_reference_extraction_subagent_prompt"
],
"35": [
"specify_scripts_powershell_check_prerequisites"
],
"36": [
"specify_scripts_powershell_resolve_template"
],
"37": [
"specify_scripts_powershell_setup_plan"
],
"38": [
"specify_scripts_powershell_setup_tasks"
],
"39": [
"agents_workflows_graphify",
"agents_workflows_graphify_workflow_graphify"
]
},
"cohesion": {
"0": 0.07407407407407407,
"1": 0.125,
"2": 0.225,
"3": 0.08,
"4": 0.15384615384615385,
"5": 0.15384615384615385,
"6": 0.15384615384615385,
"7": 1.0,
"8": 0.18181818181818182,
"9": 0.18181818181818182,
"10": 0.18181818181818182,
"11": 0.18181818181818182,
"12": 0.18181818181818182,
"13": 0.2222222222222222,
"14": 0.2222222222222222,
"15": 0.2222222222222222,
"16": 0.25,
"17": 0.25,
"18": 0.2857142857142857,
"19": 0.2857142857142857,
"20": 0.3333333333333333,
"21": 0.3333333333333333,
"22": 0.4,
"23": 0.4,
"24": 0.4,
"25": 0.4,
"26": 0.4,
"27": 0.4,
"28": 0.5,
"29": 0.5,
"30": 0.5,
"31": 0.5,
"32": 0.6666666666666666,
"33": 0.6666666666666666,
"34": 1.0,
"35": 1.0,
"36": 1.0,
"37": 1.0,
"38": 1.0,
"39": 1.0
},
"gods": [
{
"id": "specify_templates_tasks_template_tasks_feature_name",
"label": "Tasks: [FEATURE NAME]",
"degree": 13
},
{
"id": "agents_skills_graphify_skill_what_you_must_do_when_invoked",
"label": "What You Must Do When Invoked",
"degree": 12
},
{
"id": "agents_skills_graphify_skill_graphify",
"label": "/graphify",
"degree": 10
},
{
"id": "agents_skills_graphify_references_exports_graphify_reference_extra_exports_and_benchmark",
"label": "graphify reference: extra exports and benchmark",
"degree": 8
},
{
"id": "agents_skills_ponytail_skill_ponytail",
"label": "Ponytail",
"degree": 8
},
{
"id": "agents_skills_speckit_converge_skill_execution_steps",
"label": "Execution Steps",
"degree": 7
},
{
"id": "agents_skills_ponytail_help_skill_ponytail_help",
"label": "Ponytail Help",
"degree": 7
},
{
"id": "agents_skills_speckit_analyze_skill_4_detection_passes_token_efficient_analysis",
"label": "4. Detection Passes (Token-Efficient Analysis)",
"degree": 7
},
{
"id": "agents_skills_speckit_analyze_skill_execution_steps",
"label": "Execution Steps",
"degree": 7
},
{
"id": "specify_memory_constitution_core_principles",
"label": "Core Principles",
"degree": 6
}
],
"surprises": [],
"questions": [
{
"type": "bridge_node",
"question": "Why does `Execution Steps` connect `Analysis Detection` to `Specification Analysis`?",
"why": "High betweenness centrality (0.004) - this node is a cross-community bridge."
},
{
"type": "isolated_nodes",
"question": "What connects `Format: `[ID] [P?] [Story] Description``, `Implementation for User Story 1`, `Implementation for User Story 2` to the rest of the system?",
"why": "212 weakly-connected nodes found - possible documentation gaps or missing edges."
},
{
"type": "low_cohesion",
"question": "Should `Task Planning` be split into smaller, more focused modules?",
"why": "Cohesion score 0.07407407407407407 - nodes in this community are weakly interconnected."
},
{
"type": "low_cohesion",
"question": "Should `Convergence Workflow` be split into smaller, more focused modules?",
"why": "Cohesion score 0.125 - nodes in this community are weakly interconnected."
},
{
"type": "low_cohesion",
"question": "Should `Graphify Commands` be split into smaller, more focused modules?",
"why": "Cohesion score 0.08 - nodes in this community are weakly interconnected."
}
]
}
@@ -0,0 +1,335 @@
{
"0": "Task Planning",
"1": "Convergence Workflow",
"2": "SpecKit Utilities",
"3": "Graphify Commands",
"4": "speckit-analyze/SKILL.md",
"5": "Tasks: Multilingual NLP Entity Inherence Classifier (POC)",
"6": "Feature Specification Template",
"7": "Graphify Rules",
"8": "Implementation Planning",
"9": "Feature Specification",
"10": "Task Generation",
"11": "Project Constitution",
"12": "Constitution Template",
"13": "Graphify Exports",
"14": "Ponytail Configuration",
"15": "Implementation Planning Template",
"16": "Ponytail Help",
"17": "Checklist Generation",
"18": "Clarification Workflow",
"19": "Implementation Workflow",
"20": "Graph Query",
"21": "Constitution Workflow",
"22": "Feature Branch Creation",
"23": "Ponytail Audit",
"24": "Ponytail Metrics",
"25": "Ponytail Review",
"26": "Task Issue Conversion",
"27": "Checklist Template",
"28": "Graphify Watch Mode",
"29": "Graphify Hooks",
"30": "Graphify Updates",
"31": "Ponytail Debt",
"32": "Repository Merge",
"33": "Media Transcription",
"34": "Extraction Specification",
"35": "Prerequisite Checks",
"36": "Template Resolution",
"37": "Plan Setup",
"38": "Task Setup",
"39": "Graphify Workflows",
"40": "main",
"41": "1. Technical Decisions & Tradeoffs",
"42": "1. Input Schemas",
"43": "2. Basic CLI Usage Examples",
"44": "2. Standard Streams & Exit Codes",
"45": "ClassificationResult",
"46": "ECPSnapshot",
"47": "LLMFallbackAdapter",
"48": "classifier.py",
"49": "content_northvolt_de.md",
"50": "content_presal_pt.md",
"51": "content_tangential_es.md",
"52": "load_schema",
"53": "src/__init__.py",
"54": "de/contextual.md",
"55": "de/direct.md",
"56": "de/not_related.md",
"57": "de/tangential.md",
"58": "en/contextual.md",
"59": "en/direct.md",
"60": "en/not_related.md",
"61": "en/tangential.md",
"62": "es/contextual.md",
"63": "es/direct.md",
"64": "es/not_related.md",
"65": "es/tangential.md",
"66": "fr/contextual.md",
"67": "fr/direct.md",
"68": "fr/not_related.md",
"69": "fr/tangential.md",
"70": "it/contextual.md",
"71": "it/direct.md",
"72": "it/not_related.md",
"73": "it/tangential.md",
"74": "pt/contextual.md",
"75": "pt/direct.md",
"76": "pt/not_related.md",
"77": "pt/tangential.md",
"78": "tests/__init__.py",
"79": "text-nlp-classifier",
"80": "test_extract_article_contents.py",
"81": "Extrator de Notícias do Google News — Guia Completo de Funcionamento",
"82": "extract_google_news.py",
"83": "ExtractionResult",
"84": "test_extract_google_news.py",
"85": "Implementation Tasks: Google News Headlines Extractor",
"86": "Feature Specification: Google News Headlines Extractor",
"87": "2. Cenários Práticos de Uso",
"88": "Implementation Plan: Google News Headlines Extractor",
"89": "scripts/__init__.py",
"90": "SearchQuery",
"91": "1. Technical Decisions & Tradeoffs",
"92": "General Readiness Checklist: Google News Headlines Extractor",
"93": "1. Entidades de Domínio & DTOs",
"94": "Specification Quality Checklist: Google News Headlines Extractor",
"95": "CLI Contract: Google News Headlines Extractor",
"96": "readiness.md",
"97": "5. 📝 Conversor de Artigo JSON para Markdown",
"98": "Extraction Pipeline Checklist: Article Content Multi-Engine Extractor",
"99": "ModelGatewayClient",
"100": "LangfuseRuntimeTracer",
"101": "main",
"102": "Feature Specification: Multilingual NLP Entity Inherence Classifier (POC)",
"103": "4. Requisitos Funcionais (FR)",
"104": "Tasks: Article Content Multi-Engine Extractor",
"105": "Tasks: Convert Article JSON to Markdown",
"106": "Implementation Plan: Article Content Multi-Engine Extractor",
"107": "2. Cenários de Validação",
"108": "1. Technical Decisions & Tradeoffs",
"109": "Implementation Plan: Multilingual NLP Entity Inherence Classifier (POC)",
"110": "POC Readiness & Requirements Quality Checklist: Multilingual NLP Entity Inherence Classifier",
"111": "Specification Quality Checklist: Multilingual NLP Entity Inherence Classifier",
"112": "CLI Contract: Article Content Multi-Engine Extractor",
"113": "001-multilingual-entity-classifier/spec.md",
"114": "JSON Schema Contract: Article Content Multi-Engine Extractor",
"115": "PRD — Seleção determinística da biblioteca de extração de conteúdo",
"116": "select_article_extractor.py",
"117": "1. Text Normalization Pipeline",
"118": "Tasks: Deterministic Article Content Selection",
"119": "select_article_extractor",
"120": "process_batch",
"121": "detect_language",
"122": "test_select_article_extractor.py",
"123": "Feature Specification: Deterministic Content Selection",
"124": "2. Entity Descriptions & Fields",
"125": "Implementation Plan: Deterministic Article Content Selection",
"126": "Deterministic Content Selection Checklist: End-to-End Requirements Quality",
"127": "Quickstart: Deterministic Article Content Selection",
"128": "Specification Quality Checklist: Deterministic Content Selection",
"129": "CLI Interface Contract: Deterministic Article Content Selection",
"130": "004-deterministic-content-selection/spec.md",
"131": "convert_article_to_markdown.py",
"132": "8. Regras funcionais",
"133": "12. Critérios de aceite",
"134": "PRD — Conversão de artigo JSON para Markdown",
"135": "resolve_article_body",
"136": "Implementation Plan: Convert Article JSON to Markdown",
"137": "2. Technical Decisions & Research Findings",
"138": "Feature Specification: Convert Article JSON to Markdown",
"139": "Markdown Conversion Checklist: End-to-End Requirements Quality",
"140": "convert_article",
"141": "005-convert-json-markdown/plan.md",
"142": "Quickstart: Convert Article JSON to Markdown",
"143": "1. Domain Entities & Schemas",
"144": "11. Requisitos não funcionais",
"145": "parse_arguments",
"146": "Specification Quality Checklist: Convert Article JSON to Markdown",
"147": "CLI Contract: `convert_article_to_markdown.py`",
"148": "9. Interface CLI",
"149": "test_convert_article_to_markdown.py",
"150": "13. Estratégia de testes",
"151": "6. Contrato de entrada",
"152": "test_models.py",
"153": "convert_html_to_markdown",
"154": "properties",
"155": "5. Escopo",
"156": "Los puntajes de River vs. Independiente Santa Fe, por la Copa Sudamericana - TyC Sports",
"157": "valid_newspaper4k.md",
"158": "valid_readability.md",
"159": "consolidate.py",
"160": "config.py",
"161": "adapter.py",
"162": "validate_and_extract_enrichment",
"163": "candidate/parser.py",
"164": "hygiene/harness.py",
"165": "SanitizedJsonLogger",
"166": "remove_duplicate_initial_h1",
"167": "CandidateObject",
"168": "enum",
"169": "Plano de testes e evals — Runtime de consolidação de artigos",
"170": "Especificação de prompt, contexto e harness — Runtime",
"171": "ExecutionStateMachine",
"172": "Implementation Tasks: Article Consolidation and Hygiene Runtime",
"173": "🧪 Documentação da Suíte de Testes Automatizados",
"174": "properties",
"175": "repair-operations.schema.json",
"176": "Functional Requirements",
"177": "test_equivalence_mapping.py",
"178": "enrichment-response.schema.json",
"179": "create_manifest_dict",
"180": "Catálogo de métricas e KPIs — Runtime de consolidação de artigos",
"181": "article_content_hygiene",
"182": "SQLiteStore",
"183": "Documento de Arquitetura — Runtime de consolidação de artigos",
"184": "null",
"185": "Runbook de produção — Runtime de consolidação de artigos",
"186": "article_content_hygiene",
"187": "properties",
"188": "properties",
"189": "PRD — Runtime de consolidação e higienização de artigos",
"190": "required",
"191": "properties",
"192": "type",
"193": "properties",
"194": "sqlite_store.py",
"195": "check_zero_regex.py",
"196": "properties",
"197": "runtime-config.schema.json",
"198": "properties",
"199": "object",
"200": "candidates-payload.schema.json",
"201": "limits",
"202": "langfuse",
"203": "string",
"204": "type",
"205": "CLI Interface Contract: Article Consolidation and Hygiene Runtime",
"206": "2. Entity Definitions",
"207": "3. Concrete Architectural & Technical Decisions",
"208": "Requirements Readiness Checklist: Article Consolidation and Hygiene Runtime",
"209": "object",
"210": "null",
"211": "properties",
"212": "calculate_execution_fingerprint",
"213": "model_versions",
"214": "3. Operational Execution Scenarios",
"215": "type",
"216": "test_cli_subprocess_pipeline.py",
"217": "run_smoke_test",
"218": "properties",
"219": "paths",
"220": "properties",
"221": "properties",
"222": "properties",
"223": "required",
"224": "required",
"225": "kept_block_ids",
"226": "parametrize",
"227": "4. 🎯 Seletor Determinístico de Conteúdo de Artigos",
"228": "1. Operational Commands",
"229": "sqlite",
"230": "required",
"231": "pricing",
"232": "article-input.schema.json",
"233": "properties",
"234": "enum",
"235": "required",
"236": "Implementation Plan: Article Consolidation and Hygiene Runtime",
"237": "verify_all_11_invariants",
"238": "enum",
"239": "required",
"240": "manifest-output.schema.json",
"241": "Prompts Versioned Contract: Article Consolidation and Hygiene Runtime",
"242": "6. 🚀 Runtime de Consolidação e Higienização de Artigos (006-article-consolidation-runtime)",
"243": "13. Parsing estrutural sem regex",
"244": "metadata_candidates",
"245": "enum",
"246": "required",
"247": "enum",
"248": "ecp-snapshot.schema.json",
"249": "hygiene-response.schema.json",
"250": "🧠 TextNLPClassifierApp",
"251": "ADR-003 — Usar orquestração explícita em Python, sem LangChain ou LangGraph",
"252": "required",
"253": "Specification Quality Checklist: Article Consolidation and Hygiene Runtime",
"254": "enum",
"255": "enum",
"256": "1. 🧠 Classificador de Conteúdo e Inerência (NLP / LLM / ECP)",
"257": "10. Contrato de saída",
"258": "14. Higienização por LLM",
"259": "4. Regras mandatórias",
"260": "8. Contrato de entrada do artigo",
"261": "18. Integração ECP",
"262": "7. Orquestração",
"263": "ADR-001 — Separar runtime e self-healing",
"264": "ADR-002 — Iniciar o runtime após a seleção do extrator",
"265": "ADR-004 — Gateway agnóstico com apenas modelos baratos no runtime",
"266": "ADR-005 — Proibir regex e palavras-chave manuais em decisões textuais",
"267": "ADR-006 — LLM seleciona evidências e propõe reparos, não regenera o artigo",
"268": "ADR-007 — Tornar o ECP obrigatório antes de toda saída editorial",
"269": "ADR-008 — Langfuse no runtime e Promptfoo no CI",
"270": "ADR-009 — Persistir estado em SQLite e saídas no filesystem",
"271": "ADR-010 — Produzir resultado estruturado sempre e Markdown condicionalmente",
"272": "ADR-011 — Definir SLOs de custo e latência a partir de staging",
"273": "7. Checklist de release",
"274": "eval_runner.py",
"275": "ecp-profile.schema.json",
"276": "prompt_versions",
"277": "12. Preparação determinística",
"278": "15. Pequenos reparos textuais",
"279": "9. Contrato do ECP",
"280": "15. Higienização extrativa",
"281": "16. Pequenos reparos",
"282": "20. Model Gateway",
"283": "23. Observabilidade",
"284": "3. Limites do sistema",
"285": "9. Política de dependências",
"286": "12. Monitoramento",
"287": "14. Reprocessamento",
"288": "16. Falha do provider primário",
"289": "21. Falha do SQLite",
"290": "6. Configuração obrigatória",
"291": "build_release_metadata.py",
"292": "removal_reasons",
"293": "kept_image_ids",
"294": "validate_certified_cheap_model",
"295": "test_live_e2e_real_api.py",
"296": "test_prompts_contract.py",
"297": "FaultyMockAdapter",
"298": "Release Quality Summary Report",
"299": "Comandos e Utilitários CLI",
"300": "13. Candidatos e proveniência",
"301": "16. Imagens e links",
"302": "17. Gate ECP",
"303": "18. Enriquecimento",
"304": "5. Escopo",
"305": "14. Modelo de candidatos",
"306": "22. Renderer e arquivos",
"307": "Architecture Decision Records — Runtime de consolidação de artigos",
"308": "15. Falha de validação de entrada",
"309": "17. Falha semântica ou de grounding",
"310": "18. Falha do ECP",
"311": "20. Falha do Langfuse",
"312": "22. Falha de filesystem ou disco",
"313": "26. Rollback manual",
"314": "ci_check.py",
"315": "prepare_reference_20.py",
"316": "test_contract_parity.py",
"317": "test_zero_regex_enforcement.py",
"318": "sample_rss_xml",
"319": "runtime/__init__.py",
"320": "adapters/__init__.py",
"321": "tools/__init__.py",
"322": "test_normalize_list_author_url_filtering",
"323": "test_normalize_list_deduplication_preserves_case_and_order",
"324": "test_normalize_date_iso_8601_variants",
"325": "test_normalize_date_invalid_and_placeholders",
"326": "test_metadata_priority_original_url_all_fallbacks",
"327": "test_normalize_scalar_whitespace_collapsing",
"328": "test_normalize_scalar_non_string_types",
"329": "2. 📰 Extrator de Manchetes do Google News",
"330": "test_concurrency_claims.py",
"331": "⚙️ Instalação e Setup",
"332": "3. 📄 Extrator e Parser Multimotor de Artigos"
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1 -1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+56684 -9798
View File
File diff suppressed because it is too large Load Diff
+768 -144
View File
@@ -294,15 +294,15 @@
"semantic_hash": ""
},
"classify.py": {
"mtime": 1787320064.0177462,
"seen": 1787320239.022448,
"ast_hash": "3679326c88a59f796f587e0c61c31417",
"mtime": 1787536819.209484,
"seen": 1787537370.9831417,
"ast_hash": "a7e75fac850196f86943207e9f1832bb",
"semantic_hash": ""
},
"pyproject.toml": {
"mtime": 1787264482.8509245,
"seen": 1787264519.0539448,
"ast_hash": "409c1fc0d7bbda6830ccb71c6196cb2f",
"mtime": 1787540325.7145903,
"seen": 1787540618.9075375,
"ast_hash": "9baf95656953579095855397a6850401",
"semantic_hash": ""
},
"src/__init__.py": {
@@ -311,96 +311,12 @@
"ast_hash": "13284e9b9f10de535dba5f461ecd7c7c",
"semantic_hash": ""
},
"src/adapters/__init__.py": {
"mtime": 1787195842.2716768,
"seen": 1787196463.0953088,
"ast_hash": "541577ed019347ac3864002f85c116f1",
"semantic_hash": ""
},
"src/adapters/base.py": {
"mtime": 1787264412.2437606,
"seen": 1787264519.0542011,
"ast_hash": "220635d5d74e73f58259069bf5207908",
"semantic_hash": ""
},
"src/adapters/embeddings.py": {
"mtime": 1787264437.92723,
"seen": 1787264519.0542023,
"ast_hash": "7beb0ecfb7482c1fd10422da99f69abe",
"semantic_hash": ""
},
"src/adapters/llm.py": {
"mtime": 1787321869.4176295,
"seen": 1787322035.8922434,
"ast_hash": "357b505df0d92f76b1d0cd606741d1a5",
"semantic_hash": ""
},
"src/classifier.py": {
"mtime": 1787321309.8981817,
"seen": 1787321481.1505442,
"ast_hash": "a4e5dafed12aa4eaf096988b2c6a8ae0",
"semantic_hash": ""
},
"src/language.py": {
"mtime": 1787264437.9312274,
"seen": 1787264519.0542057,
"ast_hash": "cbaf52272ebb05372e34a05cd201c270",
"semantic_hash": ""
},
"src/models.py": {
"mtime": 1787264437.9302285,
"seen": 1787264519.054207,
"ast_hash": "16e604c14f7d66634dc9e2ed7959dd7c",
"semantic_hash": ""
},
"src/parser.py": {
"mtime": 1787264437.9312274,
"seen": 1787264519.054208,
"ast_hash": "d43fca3f063534e3626f86f36a97a2cc",
"semantic_hash": ""
},
"tests/__init__.py": {
"mtime": 1787195847.5186412,
"seen": 1787196463.095328,
"ast_hash": "42d67f813e6eeac2ffca24fe6206aa9b",
"semantic_hash": ""
},
"tests/test_adapters.py": {
"mtime": 1787264437.9292288,
"seen": 1787264519.0543096,
"ast_hash": "7ed9ba6f62fef404bfc28a2e16ada647",
"semantic_hash": ""
},
"tests/test_benchmark_24.py": {
"mtime": 1787264437.9302285,
"seen": 1787264519.0543122,
"ast_hash": "052a51561002be035de1a79455256b67",
"semantic_hash": ""
},
"tests/test_classifier.py": {
"mtime": 1787264437.92723,
"seen": 1787264519.0543132,
"ast_hash": "14da0c7a7d4c08762437ca777c086dea",
"semantic_hash": ""
},
"tests/test_cli.py": {
"mtime": 1787264437.9292288,
"seen": 1787264519.0543146,
"ast_hash": "b6f57994937363f8a1b0f2f66ea53d3a",
"semantic_hash": ""
},
"tests/test_language.py": {
"mtime": 1787264437.9292288,
"seen": 1787264519.0543184,
"ast_hash": "f1a09702410864434274f1b347769742",
"semantic_hash": ""
},
"tests/test_models.py": {
"mtime": 1787264437.9302285,
"seen": 1787264519.0543194,
"ast_hash": "7ec72b612bf758be8c9a3617ce18b132",
"semantic_hash": ""
},
"examples/content_northvolt_de.md": {
"mtime": 1787195963.813741,
"seen": 1787196463.1020777,
@@ -420,9 +336,9 @@
"semantic_hash": ""
},
"requirements.txt": {
"mtime": 1787317345.9253972,
"seen": 1787317712.8213654,
"ast_hash": "f3f8ea2b8cc995de218d81679ec35231",
"mtime": 1787539447.7344875,
"seen": 1787539462.304893,
"ast_hash": "048317e62950afbe4c7639855bfbe3b0",
"semantic_hash": ""
},
"tests/fixtures/benchmark_24/de/contextual.md": {
@@ -569,24 +485,12 @@
"ast_hash": "e05ab20a5190cfb5b9d41da64d5273cf",
"semantic_hash": ""
},
"tests/test_adversarial.py": {
"mtime": 1787264437.9242287,
"seen": 1787264519.0543108,
"ast_hash": "d353633ce31a624a8dcda790efec4d5e",
"semantic_hash": ""
},
"scripts/extract_google_news.py": {
"mtime": 1787264437.92723,
"seen": 1787264519.0540311,
"ast_hash": "97d8a193901d5e2edf6359fad256b7ef",
"semantic_hash": ""
},
"tests/test_extract_google_news.py": {
"mtime": 1787264437.9312274,
"seen": 1787264519.054317,
"ast_hash": "7561ad8fedcf1bc6cc8ed1e86a345532",
"semantic_hash": ""
},
"docs/googlenews_extractor_guia_completo.md": {
"mtime": 1787264437.9282286,
"seen": 1787264519.0578,
@@ -654,9 +558,9 @@
"semantic_hash": ""
},
"README.md": {
"mtime": 1787321467.0542295,
"seen": 1787321481.1561577,
"ast_hash": "0cde8e800125cbba61a1d7de9d9d2c9e",
"mtime": 1787539152.729303,
"seen": 1787539167.9697971,
"ast_hash": "7ef616d312f645ec4b6971a9ca42f7b2",
"semantic_hash": ""
},
"scripts/extract_article_contents.py": {
@@ -665,12 +569,6 @@
"ast_hash": "2bea6b2a048526cb49d95fb88a001600",
"semantic_hash": ""
},
"tests/test_extract_article_contents.py": {
"mtime": 1787264437.9292288,
"seen": 1787264519.0543158,
"ast_hash": "56aee72480f05c714865791a935d539c",
"semantic_hash": ""
},
"docs/prd_extrator_artigos_nlp.md": {
"mtime": 1787237774.0092583,
"seen": 1787240516.5991437,
@@ -743,12 +641,6 @@
"ast_hash": "4037eda779d5fc81527d0698a8fc07d6",
"semantic_hash": ""
},
"tests/test_select_article_extractor.py": {
"mtime": 1787274502.4801269,
"seen": 1787310813.8470025,
"ast_hash": "2cd19eb0c5204a8c22b7727e259db885",
"semantic_hash": ""
},
"docs/prd_deterministic_content_selection.md": {
"mtime": 1787264674.2038286,
"seen": 1787272611.6604555,
@@ -821,12 +713,6 @@
"ast_hash": "7939a71acd9b264f9d00eab5c652cd36",
"semantic_hash": ""
},
"tests/test_convert_article_to_markdown.py": {
"mtime": 1787320111.811304,
"seen": 1787320239.0292969,
"ast_hash": "5223f35131b8e952e05c44710f3988b2",
"semantic_hash": ""
},
"docs/prd_convert_json_markdown.md": {
"mtime": 1787315400.452784,
"seen": 1787317712.8208659,
@@ -911,28 +797,766 @@
"ast_hash": "c63c1c39e34e08a239aa8bea3c264756",
"semantic_hash": ""
},
"tests/test_llm_fallback.py": {
"mtime": 1787320797.249565,
"seen": 1787320818.2967606,
"ast_hash": "e5d98de814ceeecd8bd601a7c206e92d",
"semantic_hash": ""
},
"tests/test_e2e_text_analysis_pipeline.py": {
"mtime": 1787321086.751707,
"seen": 1787321205.5156026,
"ast_hash": "3a2d47f2ffcf8371ffdf90bb797b5346",
"semantic_hash": ""
},
"tests/test_classify_exhaustive_suite.py": {
"mtime": 1787321371.2658408,
"seen": 1787321481.15137,
"ast_hash": "08e3c680d8669b2849a19d73b27b869a",
"semantic_hash": ""
},
"tests/README.md": {
"mtime": 1787322185.4865713,
"seen": 1787322203.9119415,
"ast_hash": "ea97839a9079df402573fbe4d0b33faf",
"semantic_hash": ""
},
"evals/eval_runner.py": {
"mtime": 1787534359.3453543,
"seen": 1787534656.2845984,
"ast_hash": "3d054b0f22cceddf00a64c027c06a4a8",
"semantic_hash": ""
},
"scripts/build_release_metadata.py": {
"mtime": 1787536918.1779716,
"seen": 1787537370.984313,
"ast_hash": "0c868294952041558b2596cf5f9e23a2",
"semantic_hash": ""
},
"scripts/ci_check.py": {
"mtime": 1787534350.7008462,
"seen": 1787534656.284843,
"ast_hash": "720c103f4f423b51af9d799382b2db57",
"semantic_hash": ""
},
"scripts/prepare_reference_20.py": {
"mtime": 1787532374.6310835,
"seen": 1787534656.2855113,
"ast_hash": "626c48708d27329e272d9643e0cdbe0d",
"semantic_hash": ""
},
"specs/006-article-consolidation-runtime/contracts/article-input.schema.json": {
"mtime": 1787511757.878527,
"seen": 1787534656.285718,
"ast_hash": "57565b33e1aced6b037c4a07486a756d",
"semantic_hash": ""
},
"specs/006-article-consolidation-runtime/contracts/candidates-payload.schema.json": {
"mtime": 1787509659.2099695,
"seen": 1787534656.2857203,
"ast_hash": "f5556a487bbbda7e029c8690a2a0888e",
"semantic_hash": ""
},
"specs/006-article-consolidation-runtime/contracts/ecp-snapshot.schema.json": {
"mtime": 1787509613.0648894,
"seen": 1787534656.285722,
"ast_hash": "6572579e48fbbb92712735acd506eee4",
"semantic_hash": ""
},
"specs/006-article-consolidation-runtime/contracts/enrichment-response.schema.json": {
"mtime": 1787509671.8762684,
"seen": 1787534656.285724,
"ast_hash": "feb1597fa7441959c19a0b3cb80ae44c",
"semantic_hash": ""
},
"specs/006-article-consolidation-runtime/contracts/hygiene-response.schema.json": {
"mtime": 1787509651.687327,
"seen": 1787534656.2857254,
"ast_hash": "83e48e8a56eb17eddea5c63886b7380f",
"semantic_hash": ""
},
"specs/006-article-consolidation-runtime/contracts/manifest-output.schema.json": {
"mtime": 1787511237.3313332,
"seen": 1787534656.285727,
"ast_hash": "7ff0ffbba38cdedde32a10113b744ffb",
"semantic_hash": ""
},
"specs/006-article-consolidation-runtime/contracts/repair-operations.schema.json": {
"mtime": 1787509665.474575,
"seen": 1787534656.2857285,
"ast_hash": "ce60e83be0af43ec088f84629f453ca9",
"semantic_hash": ""
},
"specs/006-article-consolidation-runtime/contracts/runtime-config.schema.json": {
"mtime": 1787509645.2125552,
"seen": 1787534656.2857301,
"ast_hash": "5658cb0757c6ea828afccaadff363772",
"semantic_hash": ""
},
"tests/scripts/check_zero_regex.py": {
"mtime": 1787536841.1456695,
"seen": 1787537370.9870799,
"ast_hash": "f1a9a7e79fa7902b778465e78235ea20",
"semantic_hash": ""
},
"docs/operations.md": {
"mtime": 1787534432.611923,
"seen": 1787534656.2992256,
"ast_hash": "3fcf65bf2ca4161204a3b87fd1ce04d9",
"semantic_hash": ""
},
"docs/structured_extraction/01_PRD_Runtime_Consolidacao_Artigos.md": {
"mtime": 1787503803.099145,
"seen": 1787534656.2999341,
"ast_hash": "a5b5b186f802a7f9d294f0e65a1031f2",
"semantic_hash": ""
},
"docs/structured_extraction/02_Arquitetura_Runtime_Consolidacao_Artigos.md": {
"mtime": 1787503807.5347266,
"seen": 1787534656.299937,
"ast_hash": "b06015195a4e71e320f69673129afc1b",
"semantic_hash": ""
},
"docs/structured_extraction/03_ADRs_Runtime_Consolidacao_Artigos.md": {
"mtime": 1787503814.3224597,
"seen": 1787534656.299939,
"ast_hash": "71cd616d02c55910b3f91e142a7898ca",
"semantic_hash": ""
},
"docs/structured_extraction/04_Plano_Testes_Evals_Runtime.md": {
"mtime": 1787503822.4150026,
"seen": 1787534656.2999406,
"ast_hash": "97bcb94c618ff17e0e58723b5e2f3470",
"semantic_hash": ""
},
"docs/structured_extraction/05_Metricas_KPIs_Runtime.md": {
"mtime": 1787503828.227806,
"seen": 1787534656.2999425,
"ast_hash": "a06c6705c850eb4a96f90cb0a6f46dd2",
"semantic_hash": ""
},
"docs/structured_extraction/06_Runbook_Producao_Runtime.md": {
"mtime": 1787503833.7070742,
"seen": 1787534656.299944,
"ast_hash": "656da55998b0682741d701683d0b4a69",
"semantic_hash": ""
},
"docs/structured_extraction/07_Especificacao_Prompt_Contexto_Harness_Runtime.md": {
"mtime": 1787503842.298879,
"seen": 1787534656.2999454,
"ast_hash": "05e3d4664720fcc65f75d3ad62e0f0ad",
"semantic_hash": ""
},
"evals/promptfoo.config.yaml": {
"mtime": 1787532334.7424872,
"seen": 1787534656.299947,
"ast_hash": "387d7ef1bb2c6722904dbfcfc5fc38f6",
"semantic_hash": ""
},
"prompts/article_content_hygiene.v1.txt": {
"mtime": 1787533725.426068,
"seen": 1787534656.3003304,
"ast_hash": "172e3be9de2d898a35d1d45a8f96dc19",
"semantic_hash": ""
},
"prompts/article_sentiment_tags.v1.txt": {
"mtime": 1787533896.2875738,
"seen": 1787534656.3003323,
"ast_hash": "3b378bf9887a5e0fc597fda1bcaf9355",
"semantic_hash": ""
},
"specs/006-article-consolidation-runtime/checklists/release-readiness.md": {
"mtime": 1787513497.342113,
"seen": 1787534656.3169756,
"ast_hash": "26d7589e2073efd3eb6a669eafef0290",
"semantic_hash": ""
},
"specs/006-article-consolidation-runtime/checklists/requirements.md": {
"mtime": 1787506467.6378517,
"seen": 1787534656.3169796,
"ast_hash": "d9f2ad1a0c04c9307282bc81df98f2c8",
"semantic_hash": ""
},
"specs/006-article-consolidation-runtime/contracts/cli-interface.md": {
"mtime": 1787511257.0717008,
"seen": 1787534656.3169827,
"ast_hash": "3368d640ac1b545d52eb46d0d891f5e0",
"semantic_hash": ""
},
"specs/006-article-consolidation-runtime/contracts/prompts-contract.md": {
"mtime": 1787511769.9699368,
"seen": 1787534656.3169854,
"ast_hash": "31882dac47ef31a7662c18f2f178d584",
"semantic_hash": ""
},
"specs/006-article-consolidation-runtime/data-model.md": {
"mtime": 1787512205.915902,
"seen": 1787534656.3169873,
"ast_hash": "a67917fdf66c40eec0f3799fbc53b5d9",
"semantic_hash": ""
},
"specs/006-article-consolidation-runtime/plan.md": {
"mtime": 1787512216.418514,
"seen": 1787534656.3169904,
"ast_hash": "fbba48c0be290002cc879fe8e14955c5",
"semantic_hash": ""
},
"specs/006-article-consolidation-runtime/quickstart.md": {
"mtime": 1787512226.583437,
"seen": 1787534656.3169925,
"ast_hash": "74d2654c6e302b0df57879ff2cd18a3b",
"semantic_hash": ""
},
"specs/006-article-consolidation-runtime/research.md": {
"mtime": 1787511782.328386,
"seen": 1787534656.316995,
"ast_hash": "cb38ca218cc816592b858cc5744c53b7",
"semantic_hash": ""
},
"specs/006-article-consolidation-runtime/spec.md": {
"mtime": 1787506460.2721007,
"seen": 1787534656.3169973,
"ast_hash": "75130676319bb354d5491205fc79280f",
"semantic_hash": ""
},
"specs/006-article-consolidation-runtime/tasks.md": {
"mtime": 1787534640.9980483,
"seen": 1787534656.3170006,
"ast_hash": "9236050a61ca8cc7252f92d221fb692f",
"semantic_hash": ""
},
"src/runtime/__init__.py": {
"mtime": 1787536794.641009,
"seen": 1787537370.9865901,
"ast_hash": "6dd453641801f36a023ab34ee29b4b00",
"semantic_hash": ""
},
"src/runtime/candidate/equivalence.py": {
"mtime": 1787540318.6065986,
"seen": 1787540618.9091072,
"ast_hash": "6987676f51886e962c7772a1816d9719",
"semantic_hash": ""
},
"src/runtime/candidate/models.py": {
"mtime": 1787540429.0444946,
"seen": 1787540618.9091084,
"ast_hash": "8dfdf0c45705cb871ba0ad2b8ebaf2a7",
"semantic_hash": ""
},
"src/runtime/candidate/parser.py": {
"mtime": 1787540429.0493188,
"seen": 1787540618.90911,
"ast_hash": "acdff4b53ffac4d69c0be736545cbe6e",
"semantic_hash": ""
},
"src/runtime/cli/consolidate.py": {
"mtime": 1787540429.0482974,
"seen": 1787540618.9091113,
"ast_hash": "59febe459c37c0ff8fdbfaf13ca81b40",
"semantic_hash": ""
},
"src/runtime/cli/preflight.py": {
"mtime": 1787540429.0471869,
"seen": 1787540618.9091127,
"ast_hash": "9c39681eeede186d2f3fcc7369f5174f",
"semantic_hash": ""
},
"src/runtime/cli/reconcile.py": {
"mtime": 1787540429.0434701,
"seen": 1787540618.909114,
"ast_hash": "284bc02b6714fe1b155f96b182b630f3",
"semantic_hash": ""
},
"src/runtime/cli/smoke.py": {
"mtime": 1787540429.0419574,
"seen": 1787540618.909115,
"ast_hash": "f9ab713ad7b7a0e3cb08b4df289719fc",
"semantic_hash": ""
},
"src/runtime/cli/telemetry_flush.py": {
"mtime": 1787540429.0482974,
"seen": 1787540618.9091165,
"ast_hash": "22b6c0caf2eab4c18cf7c3ab771de9c8",
"semantic_hash": ""
},
"src/runtime/core/config.py": {
"mtime": 1787540429.0444946,
"seen": 1787540618.9091177,
"ast_hash": "3f3352b04210c7ebe25fa59c4b8f1cbf",
"semantic_hash": ""
},
"src/runtime/core/fingerprint.py": {
"mtime": 1787540429.0471869,
"seen": 1787540618.909119,
"ast_hash": "d5845df2a7480b3d2ab071716a65219b",
"semantic_hash": ""
},
"src/runtime/core/limits.py": {
"mtime": 1787540429.0477502,
"seen": 1787540618.90912,
"ast_hash": "8fbe0072f227b5a026f233baafbd8c09",
"semantic_hash": ""
},
"src/runtime/core/state_machine.py": {
"mtime": 1787540429.0419574,
"seen": 1787540618.9091213,
"ast_hash": "05fbb320dba35af650f063c70513f500",
"semantic_hash": ""
},
"src/runtime/ecp/adapter.py": {
"mtime": 1787540429.0464122,
"seen": 1787540618.9091225,
"ast_hash": "e0da4602dfad9614103a13040aca7f37",
"semantic_hash": ""
},
"src/runtime/enrichment/harness.py": {
"mtime": 1787540429.0493188,
"seen": 1787540618.9091237,
"ast_hash": "0829513ba12b62006eb9ce7ac2eb15f2",
"semantic_hash": ""
},
"src/runtime/gateway/adapters.py": {
"mtime": 1787540429.050408,
"seen": 1787540618.9091249,
"ast_hash": "ac416fad9822ccb33d45817a26a61ef4",
"semantic_hash": ""
},
"src/runtime/gateway/client.py": {
"mtime": 1787540429.050408,
"seen": 1787540618.9091258,
"ast_hash": "2c0e7502c18e18743f30bbce4dc74b13",
"semantic_hash": ""
},
"src/runtime/hygiene/assembler.py": {
"mtime": 1787540318.6102104,
"seen": 1787540618.909127,
"ast_hash": "fd70713f059d4ccbc279708eee65db69",
"semantic_hash": ""
},
"src/runtime/hygiene/harness.py": {
"mtime": 1787540429.0419574,
"seen": 1787540618.909128,
"ast_hash": "f8d5acba4fbdb374bea17bb62ce47486",
"semantic_hash": ""
},
"src/runtime/hygiene/repairs.py": {
"mtime": 1787540429.0464122,
"seen": 1787540618.909129,
"ast_hash": "2ab1f1acf889a9b197d2d91305bf8e74",
"semantic_hash": ""
},
"src/runtime/observability/langfuse_tracer.py": {
"mtime": 1787540486.3665044,
"seen": 1787540618.90913,
"ast_hash": "59148d7685d722c3b47a06c0d3ed9b78",
"semantic_hash": ""
},
"src/runtime/observability/structured_logger.py": {
"mtime": 1787540429.0493188,
"seen": 1787540618.9091313,
"ast_hash": "49ecf58d5c502054d03c3d27fc0005a2",
"semantic_hash": ""
},
"src/runtime/quality/invariants.py": {
"mtime": 1787540429.050408,
"seen": 1787540618.9091325,
"ast_hash": "1baa7aceae379b8aab9571122c8d79a5",
"semantic_hash": ""
},
"src/runtime/storage/file_store.py": {
"mtime": 1787540429.0493188,
"seen": 1787540618.909134,
"ast_hash": "77105c30d6c1328938ebbe56a941b6f0",
"semantic_hash": ""
},
"src/runtime/storage/markdown_renderer.py": {
"mtime": 1787540318.6065986,
"seen": 1787540618.9091349,
"ast_hash": "e3a8ad887e88476307d9017621b289e6",
"semantic_hash": ""
},
"src/runtime/storage/sqlite_store.py": {
"mtime": 1787540429.050408,
"seen": 1787540618.9091358,
"ast_hash": "b56c414321d8bad811830095f5141670",
"semantic_hash": ""
},
"src/tools/__init__.py": {
"mtime": 1787536804.4015217,
"seen": 1787537370.9866283,
"ast_hash": "05583b8bb48b47952105d6cce407d54c",
"semantic_hash": ""
},
"src/tools/adapters/__init__.py": {
"mtime": 1787195842.2716768,
"seen": 1787537370.9866297,
"ast_hash": "541577ed019347ac3864002f85c116f1",
"semantic_hash": ""
},
"src/tools/adapters/base.py": {
"mtime": 1787536819.1743042,
"seen": 1787537370.986631,
"ast_hash": "aef7a5cd8afed434df82861d2d22da2d",
"semantic_hash": ""
},
"src/tools/adapters/ecp/schemas/ecp-profile.schema.json": {
"mtime": 1787532759.376645,
"seen": 1787537370.9866316,
"ast_hash": "d3968d04fb6ac2b7f30b63f1f9d01c92",
"semantic_hash": ""
},
"src/tools/adapters/embeddings.py": {
"mtime": 1787536819.1743042,
"seen": 1787537370.986633,
"ast_hash": "4bfd4d9ce7d0027e2ffface57dcc51ae",
"semantic_hash": ""
},
"src/tools/adapters/llm.py": {
"mtime": 1787536819.175299,
"seen": 1787537370.9866343,
"ast_hash": "b2f2e04a2f1052de4e10e8e21401b1cf",
"semantic_hash": ""
},
"src/tools/classifier.py": {
"mtime": 1787536819.1722922,
"seen": 1787537370.9866352,
"ast_hash": "f9f1815c44f3ac68d89bd911b4c19968",
"semantic_hash": ""
},
"src/tools/language.py": {
"mtime": 1787264437.9312274,
"seen": 1787537370.9866364,
"ast_hash": "cbaf52272ebb05372e34a05cd201c270",
"semantic_hash": ""
},
"src/tools/models.py": {
"mtime": 1787264437.9302285,
"seen": 1787537370.9866374,
"ast_hash": "16e604c14f7d66634dc9e2ed7959dd7c",
"semantic_hash": ""
},
"src/tools/parser.py": {
"mtime": 1787264437.9312274,
"seen": 1787537370.9866385,
"ast_hash": "d43fca3f063534e3626f86f36a97a2cc",
"semantic_hash": ""
},
"tests/runtime/contract/test_article_input_contract.py": {
"mtime": 1787540429.050408,
"seen": 1787540618.9103677,
"ast_hash": "8b9247f85cfd023a3fdac04ad30f3a41",
"semantic_hash": ""
},
"tests/runtime/contract/test_candidates_payload_contract.py": {
"mtime": 1787540429.050408,
"seen": 1787540618.9103699,
"ast_hash": "3ff5420161083e4c9fa7d589c2beba0a",
"semantic_hash": ""
},
"tests/runtime/contract/test_contract_parity.py": {
"mtime": 1787534140.029575,
"seen": 1787537370.9869597,
"ast_hash": "9aec6ba1dad6f9e4b44c1c6a94f758fb",
"semantic_hash": ""
},
"tests/runtime/contract/test_ecp_snapshot_contract.py": {
"mtime": 1787540318.6112125,
"seen": 1787540618.9104726,
"ast_hash": "56ff7ef22157b617d2b8de002cbcdc24",
"semantic_hash": ""
},
"tests/runtime/contract/test_enrichment_response_contract.py": {
"mtime": 1787540318.6102104,
"seen": 1787540618.9104745,
"ast_hash": "d3c98a40f4c20f20f4ff6ae1937a39d0",
"semantic_hash": ""
},
"tests/runtime/contract/test_hygiene_response_contract.py": {
"mtime": 1787540429.050408,
"seen": 1787540618.9104762,
"ast_hash": "ad4b5c86457aaf64248044aafa10ecb5",
"semantic_hash": ""
},
"tests/runtime/contract/test_manifest_output_contract.py": {
"mtime": 1787540429.050408,
"seen": 1787540618.9104776,
"ast_hash": "ee32baca34eb8282ea9a9677689aa6e4",
"semantic_hash": ""
},
"tests/runtime/contract/test_prompts_contract.py": {
"mtime": 1787540318.6065986,
"seen": 1787540618.9104786,
"ast_hash": "9c3692c39bbb6267293e6023a6d5de05",
"semantic_hash": ""
},
"tests/runtime/contract/test_repair_operations_contract.py": {
"mtime": 1787540318.61221,
"seen": 1787540618.9104798,
"ast_hash": "d0ecd5d07f3c7407fb6757daae5b0dc2",
"semantic_hash": ""
},
"tests/runtime/contract/test_runtime_config_contract.py": {
"mtime": 1787540429.0419574,
"seen": 1787540618.9104812,
"ast_hash": "6982c96fe9f87c975bc66339402dfaf0",
"semantic_hash": ""
},
"tests/runtime/fault_injection/test_gateway_faults.py": {
"mtime": 1787540429.0419574,
"seen": 1787540618.9104824,
"ast_hash": "9df6ff858152193ad627fcf961c6bdcc",
"semantic_hash": ""
},
"tests/runtime/integration/test_ecp_rejection_flow.py": {
"mtime": 1787540318.61221,
"seen": 1787540618.9104884,
"ast_hash": "db66917f5eb126c1c31c485586b0002f",
"semantic_hash": ""
},
"tests/runtime/integration/test_operations_resilience.py": {
"mtime": 1787540318.6079273,
"seen": 1787540618.910491,
"ast_hash": "d30f515fb245b5709de5edc8b571f913",
"semantic_hash": ""
},
"tests/runtime/integration/test_telemetry_degradation.py": {
"mtime": 1787540318.6065986,
"seen": 1787540618.9104924,
"ast_hash": "7124d2d3fe672fd670d5fed00e4ca2e7",
"semantic_hash": ""
},
"tests/runtime/load/test_load_100_art_per_hour.py": {
"mtime": 1787540429.0419574,
"seen": 1787540618.9104934,
"ast_hash": "68e220ba2cfd1b3ff03c29f463f56ef8",
"semantic_hash": ""
},
"tests/runtime/quality/test_cost_budget.py": {
"mtime": 1787540318.6065986,
"seen": 1787540618.910495,
"ast_hash": "ad4635db99be619b3545f14259cb3a2d",
"semantic_hash": ""
},
"tests/runtime/quality/test_golden_reference_20.py": {
"mtime": 1787540318.6091974,
"seen": 1787540618.9104962,
"ast_hash": "de93830e12d6569095acdd8829293c5d",
"semantic_hash": ""
},
"tests/runtime/quality/test_no_powerful_models.py": {
"mtime": 1787540429.0409539,
"seen": 1787540618.9104972,
"ast_hash": "5bb53614b6e6cc6890ecf0288650ce8f",
"semantic_hash": ""
},
"tests/runtime/quality/test_prompt_injection_guard.py": {
"mtime": 1787540429.045735,
"seen": 1787540618.9104986,
"ast_hash": "f56b2530712f2d2f2925104d91d81692",
"semantic_hash": ""
},
"tests/runtime/quality/test_zero_regex_enforcement.py": {
"mtime": 1787540429.045735,
"seen": 1787540618.9104998,
"ast_hash": "87a82c743a4abe6f91cc09fd03a7e92c",
"semantic_hash": ""
},
"tests/runtime/security/test_secret_redaction.py": {
"mtime": 1787540318.6065986,
"seen": 1787540618.910501,
"ast_hash": "1f7ecb793fb96e3fca4c6ecf0b480f9a",
"semantic_hash": ""
},
"tests/runtime/unit/test_candidate_parser.py": {
"mtime": 1787540429.0429583,
"seen": 1787540618.9105027,
"ast_hash": "683c92fd1cc5ed70ac03f15f1118415b",
"semantic_hash": ""
},
"tests/runtime/unit/test_ecp_adapter.py": {
"mtime": 1787540318.6147237,
"seen": 1787540618.9105039,
"ast_hash": "1450a57781b2de9b953542dc819f3d34",
"semantic_hash": ""
},
"tests/runtime/unit/test_enrichment_harness.py": {
"mtime": 1787540429.0493188,
"seen": 1787540618.9105053,
"ast_hash": "98575b79188be919971c65a251a495fd",
"semantic_hash": ""
},
"tests/runtime/unit/test_equivalence_mapping.py": {
"mtime": 1787540429.0482974,
"seen": 1787540618.9105065,
"ast_hash": "a7365b0948adc10fc7027813f09e2aa7",
"semantic_hash": ""
},
"tests/runtime/unit/test_file_store.py": {
"mtime": 1787540429.0482974,
"seen": 1787540618.9105077,
"ast_hash": "33dfad051161a15a968ae2574dc49d73",
"semantic_hash": ""
},
"tests/runtime/unit/test_fingerprint.py": {
"mtime": 1787536819.2019506,
"seen": 1787537370.9870539,
"ast_hash": "45f8102a9cf1b2b383384113dd016047",
"semantic_hash": ""
},
"tests/runtime/unit/test_hygiene_harness.py": {
"mtime": 1787540429.0493188,
"seen": 1787540618.9106076,
"ast_hash": "a23a094c0d37a6ce24e8c90137c31c53",
"semantic_hash": ""
},
"tests/runtime/unit/test_input_limits.py": {
"mtime": 1787540318.61221,
"seen": 1787540618.910609,
"ast_hash": "273a3b52ed927ff28ccb0c0041e2e100",
"semantic_hash": ""
},
"tests/runtime/unit/test_langfuse_tracer.py": {
"mtime": 1787540318.616084,
"seen": 1787540618.9106104,
"ast_hash": "a26eefb778e3ae6d36176c4368cb9bb9",
"semantic_hash": ""
},
"tests/runtime/unit/test_markdown_renderer.py": {
"mtime": 1787540429.0477502,
"seen": 1787540618.9106116,
"ast_hash": "e87c230d6f758212ba240f2f9b2b4a42",
"semantic_hash": ""
},
"tests/runtime/unit/test_model_gateway.py": {
"mtime": 1787540429.050408,
"seen": 1787540618.910613,
"ast_hash": "70c39a86d87da4065ca5b17cfa9f1663",
"semantic_hash": ""
},
"tests/runtime/unit/test_preflight_certification.py": {
"mtime": 1787540318.61221,
"seen": 1787540618.9106143,
"ast_hash": "6d7ec2cfb364b5ba81e7b5725da7bf98",
"semantic_hash": ""
},
"tests/runtime/unit/test_release_invariants.py": {
"mtime": 1787536819.203961,
"seen": 1787537370.9870706,
"ast_hash": "aa1643ccf64bf835600379ff9391779e",
"semantic_hash": ""
},
"tests/runtime/unit/test_repairs_validator.py": {
"mtime": 1787540429.0477502,
"seen": 1787540618.9107213,
"ast_hash": "cdee8c121478f54be97a2cd7ca8f77bc",
"semantic_hash": ""
},
"tests/runtime/unit/test_smoke_cli.py": {
"mtime": 1787536819.2054706,
"seen": 1787537370.9870744,
"ast_hash": "78495a6ec6012b9e6a3a33cdcbf330a3",
"semantic_hash": ""
},
"tests/runtime/unit/test_sqlite_store.py": {
"mtime": 1787540467.2260342,
"seen": 1787540618.910815,
"ast_hash": "afff3a606e014d51d4a8bdc21792a9ff",
"semantic_hash": ""
},
"tests/tools/test_adapters.py": {
"mtime": 1787536819.185351,
"seen": 1787537370.9870822,
"ast_hash": "d72eab6dfd02d0af0d9a5722d776eb8a",
"semantic_hash": ""
},
"tests/tools/test_adversarial.py": {
"mtime": 1787536819.1863687,
"seen": 1787537370.9870844,
"ast_hash": "bb5bfd438f0e4ff6e4e8cf5550305f37",
"semantic_hash": ""
},
"tests/tools/test_benchmark_24.py": {
"mtime": 1787537113.8922355,
"seen": 1787537370.987086,
"ast_hash": "4dfe680ce6c79ee00f81dcda3f469d6b",
"semantic_hash": ""
},
"tests/tools/test_classifier.py": {
"mtime": 1787536819.1873684,
"seen": 1787537370.987088,
"ast_hash": "bb020bc8dc53bd5d38c795e96ed9bae8",
"semantic_hash": ""
},
"tests/tools/test_classify_exhaustive_suite.py": {
"mtime": 1787537147.4014564,
"seen": 1787537370.98709,
"ast_hash": "ecdd9ac59f2c0437e06b76ca0ee7c3b9",
"semantic_hash": ""
},
"tests/tools/test_cli.py": {
"mtime": 1787264437.9292288,
"seen": 1787537370.9870925,
"ast_hash": "b6f57994937363f8a1b0f2f66ea53d3a",
"semantic_hash": ""
},
"tests/tools/test_convert_article_to_markdown.py": {
"mtime": 1787537166.8591163,
"seen": 1787537370.9870946,
"ast_hash": "636990026bb82e59b57daf245325a681",
"semantic_hash": ""
},
"tests/tools/test_e2e_text_analysis_pipeline.py": {
"mtime": 1787537139.4807742,
"seen": 1787537370.9870965,
"ast_hash": "76eabcd66b8ea0d7cfdbe3df489d7367",
"semantic_hash": ""
},
"tests/tools/test_extract_article_contents.py": {
"mtime": 1787264437.9292288,
"seen": 1787537370.9870982,
"ast_hash": "56aee72480f05c714865791a935d539c",
"semantic_hash": ""
},
"tests/tools/test_extract_google_news.py": {
"mtime": 1787537099.7296658,
"seen": 1787537370.9871004,
"ast_hash": "969cbc883b39ab769cdf20af280aa5ed",
"semantic_hash": ""
},
"tests/tools/test_language.py": {
"mtime": 1787536819.19088,
"seen": 1787537370.9871023,
"ast_hash": "2d043ffcf90d31626ac81a9ed687adb7",
"semantic_hash": ""
},
"tests/tools/test_llm_fallback.py": {
"mtime": 1787537128.0222404,
"seen": 1787537370.9871042,
"ast_hash": "9ba2c032ae1ad1409dac37e72706e6bc",
"semantic_hash": ""
},
"tests/tools/test_models.py": {
"mtime": 1787536819.191892,
"seen": 1787537370.987106,
"ast_hash": "c90696ebf1ea57dd0c656cc55f88dd8d",
"semantic_hash": ""
},
"tests/tools/test_select_article_extractor.py": {
"mtime": 1787274502.4801269,
"seen": 1787537370.987108,
"ast_hash": "2cd19eb0c5204a8c22b7727e259db885",
"semantic_hash": ""
},
"tests/runtime/quality/RELEASE_QUALITY_REPORT.md": {
"mtime": 1787534181.6615756,
"seen": 1787537371.0070634,
"ast_hash": "33d2500fe1356c6efbf4e8957a260692",
"semantic_hash": ""
},
"tests/runtime/integration/test_cli_subprocess_pipeline.py": {
"mtime": 1787540429.0409539,
"seen": 1787540618.9104843,
"ast_hash": "837c92919cde803c12fc039b04320400",
"semantic_hash": ""
},
"tests/runtime/integration/test_concurrency_claims.py": {
"mtime": 1787540318.6112125,
"seen": 1787540618.9104857,
"ast_hash": "97865908aaf6aa0563d0e3aa73542a93",
"semantic_hash": ""
},
"tests/runtime/integration/test_crash_reconciliation.py": {
"mtime": 1787540318.6079273,
"seen": 1787540618.910487,
"ast_hash": "c9a1d5ecd0b39754a77ec810bbc0d654",
"semantic_hash": ""
},
"tests/runtime/integration/test_live_e2e_real_api.py": {
"mtime": 1787540429.0493188,
"seen": 1787540618.9104896,
"ast_hash": "c72c4699fec119d13d8631b33a62e834",
"semantic_hash": ""
}
}