{"nodes": [{"id": "ads_backend_skills_levion_cms_levion_extract_content_lib_heuristics", "label": "JSX to Field Heuristics (extract-content)", "file_type": "document", "source_file": "ads-backend/skills/levion-cms/levion-extract-content/lib/heuristics.md", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "ads_backend_skills_levion_cms_levion_extract_content_lib_heuristics_jsx_role_to_field_kind", "label": "JSX Role to Field Kind and Name Table", "file_type": "concept", "source_file": "ads-backend/skills/levion-cms/levion-extract-content/lib/heuristics.md", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "ads_backend_skills_levion_cms_levion_extract_content_lib_heuristics_field_name_disambiguation", "label": "Field Name Disambiguation (numeric suffix from 2)", "file_type": "concept", "source_file": "ads-backend/skills/levion-cms/levion-extract-content/lib/heuristics.md", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "ads_backend_skills_levion_cms_levion_extract_content_lib_heuristics_repeater_row_inference", "label": "Repeater Row Inference from .map()", "file_type": "concept", "source_file": "ads-backend/skills/levion-cms/levion-extract-content/lib/heuristics.md", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "ads_backend_skills_levion_cms_levion_extract_content_lib_heuristics_preserve_ignore_rules", "label": "Preserve / Ignore Extraction Rules", "file_type": "concept", "source_file": "ads-backend/skills/levion-cms/levion-extract-content/lib/heuristics.md", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "ads_backend_skills_levion_cms_levion_extract_content_lib_heuristics_buttonpair_preference", "label": "Prefer buttonPair for CTA + phone pairs", "file_type": "concept", "source_file": "ads-backend/skills/levion-cms/levion-extract-content/lib/heuristics.md", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null}], "edges": [{"source": "ads_backend_skills_levion_cms_levion_extract_content_lib_heuristics", "target": "ads_backend_skills_levion_cms_levion_extract_content_lib_heuristics_jsx_role_to_field_kind", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-extract-content/lib/heuristics.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_extract_content_lib_heuristics", "target": "ads_backend_skills_levion_cms_levion_extract_content_lib_heuristics_field_name_disambiguation", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-extract-content/lib/heuristics.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_extract_content_lib_heuristics", "target": "ads_backend_skills_levion_cms_levion_extract_content_lib_heuristics_repeater_row_inference", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-extract-content/lib/heuristics.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_extract_content_lib_heuristics", "target": "ads_backend_skills_levion_cms_levion_extract_content_lib_heuristics_preserve_ignore_rules", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-extract-content/lib/heuristics.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_extract_content_lib_heuristics", "target": "ads_backend_skills_levion_cms_levion_extract_content_lib_heuristics_buttonpair_preference", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-extract-content/lib/heuristics.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_extract_content_lib_heuristics_buttonpair_preference", "target": "ads_backend_skills_levion_cms_levion_apply_manifest_lib_field_kind_translation_buttonpair_flattening", "relation": "shares_data_with", "confidence": "INFERRED", "confidence_score": 0.95, "source_file": "ads-backend/skills/levion-cms/levion-extract-content/lib/heuristics.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_extract_content_lib_heuristics_repeater_row_inference", "target": "ads_backend_skills_levion_cms_levion_apply_manifest_lib_field_kind_translation_repeater_recursion", "relation": "shares_data_with", "confidence": "INFERRED", "confidence_score": 0.85, "source_file": "ads-backend/skills/levion-cms/levion-extract-content/lib/heuristics.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_extract_content_lib_heuristics_jsx_role_to_field_kind", "target": "ads_backend_skills_levion_cms_levion_apply_manifest_lib_field_kind_translation_manifest_kind_translation_table", "relation": "shares_data_with", "confidence": "INFERRED", "confidence_score": 0.85, "source_file": "ads-backend/skills/levion-cms/levion-extract-content/lib/heuristics.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_extract_content_lib_heuristics_jsx_role_to_field_kind", "target": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_manifest_json", "relation": "shares_data_with", "confidence": "INFERRED", "confidence_score": 0.85, "source_file": "ads-backend/skills/levion-cms/levion-extract-content/lib/heuristics.md", "source_location": null, "weight": 1.0}], "hyperedges": []}