{"nodes": [{"id": "backend_tests_test_thin_phase4_smoke_py", "label": "test_thin_phase4_smoke.py", "file_type": "code", "source_file": "backend/tests/test_thin_phase4_smoke.py", "source_location": "L1"}, {"id": "test_thin_phase4_smoke_admin", "label": "_admin()", "file_type": "code", "source_file": "backend/tests/test_thin_phase4_smoke.py", "source_location": "L7"}, {"id": "test_thin_phase4_smoke_test_seed_data_present_and_resolvable", "label": "test_seed_data_present_and_resolvable()", "file_type": "code", "source_file": "backend/tests/test_thin_phase4_smoke.py", "source_location": "L11"}, {"id": "test_thin_phase4_smoke_test_resolve_against_seeded_ingredients", "label": "test_resolve_against_seeded_ingredients()", "file_type": "code", "source_file": "backend/tests/test_thin_phase4_smoke.py", "source_location": "L18"}, {"id": "test_thin_phase4_smoke_test_match_job_runs_against_seeded_data", "label": "test_match_job_runs_against_seeded_data()", "file_type": "code", "source_file": "backend/tests/test_thin_phase4_smoke.py", "source_location": "L30"}, {"id": "test_thin_phase4_smoke_rationale_1", "label": "End-to-end: ingredient + recipe + match all wired together.", "file_type": "rationale", "source_file": "backend/tests/test_thin_phase4_smoke.py", "source_location": "L1"}], "edges": [{"source": "backend_tests_test_thin_phase4_smoke_py", "target": "pytest", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/tests/test_thin_phase4_smoke.py", "source_location": "L2", "weight": 1.0}, {"source": "backend_tests_test_thin_phase4_smoke_py", "target": "test_thin_phase4_smoke_admin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_thin_phase4_smoke.py", "source_location": "L7", "weight": 1.0}, {"source": "backend_tests_test_thin_phase4_smoke_py", "target": "test_thin_phase4_smoke_test_seed_data_present_and_resolvable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_thin_phase4_smoke.py", "source_location": "L11", "weight": 1.0}, {"source": "backend_tests_test_thin_phase4_smoke_py", "target": "test_thin_phase4_smoke_test_resolve_against_seeded_ingredients", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_thin_phase4_smoke.py", "source_location": "L18", "weight": 1.0}, {"source": "backend_tests_test_thin_phase4_smoke_py", "target": "test_thin_phase4_smoke_test_match_job_runs_against_seeded_data", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_thin_phase4_smoke.py", "source_location": "L30", "weight": 1.0}, {"source": "test_thin_phase4_smoke_test_resolve_against_seeded_ingredients", "target": "test_thin_phase4_smoke_admin", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/tests/test_thin_phase4_smoke.py", "source_location": "L22", "weight": 1.0}, {"source": "test_thin_phase4_smoke_rationale_1", "target": "backend_tests_test_thin_phase4_smoke_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_thin_phase4_smoke.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "test_thin_phase4_smoke_test_seed_data_present_and_resolvable", "callee": "get", "source_file": "backend/tests/test_thin_phase4_smoke.py", "source_location": "L12"}, {"caller_nid": "test_thin_phase4_smoke_test_seed_data_present_and_resolvable", "callee": "json", "source_file": "backend/tests/test_thin_phase4_smoke.py", "source_location": "L14"}, {"caller_nid": "test_thin_phase4_smoke_test_seed_data_present_and_resolvable", "callee": "len", "source_file": "backend/tests/test_thin_phase4_smoke.py", "source_location": "L15"}, {"caller_nid": "test_thin_phase4_smoke_test_seed_data_present_and_resolvable", "callee": "len", "source_file": "backend/tests/test_thin_phase4_smoke.py", "source_location": "L15"}, {"caller_nid": "test_thin_phase4_smoke_test_resolve_against_seeded_ingredients", "callee": "post", "source_file": "backend/tests/test_thin_phase4_smoke.py", "source_location": "L19"}, {"caller_nid": "test_thin_phase4_smoke_test_resolve_against_seeded_ingredients", "callee": "json", "source_file": "backend/tests/test_thin_phase4_smoke.py", "source_location": "L25"}, {"caller_nid": "test_thin_phase4_smoke_test_resolve_against_seeded_ingredients", "callee": "lower", "source_file": "backend/tests/test_thin_phase4_smoke.py", "source_location": "L27"}, {"caller_nid": "test_thin_phase4_smoke_test_match_job_runs_against_seeded_data", "callee": "run_match_job", "source_file": "backend/tests/test_thin_phase4_smoke.py", "source_location": "L33"}]}