{"nodes": [{"id": "$graphify-root$_scripts_prompt_injection_lab", "label": "prompt-injection-lab", "file_type": "code", "source_file": "scripts/prompt-injection-lab", "source_location": "L1"}, {"id": "$graphify-root$_scripts_prompt_injection_lab_case", "label": "Case", "file_type": "code", "source_file": "scripts/prompt-injection-lab", "source_location": "L21", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_scripts_prompt_injection_lab_split_terms", "label": "split_terms()", "file_type": "code", "source_file": "scripts/prompt-injection-lab", "source_location": "L30", "_callable": true}, {"id": "$graphify-root$_scripts_prompt_injection_lab_load_cases", "label": "load_cases()", "file_type": "code", "source_file": "scripts/prompt-injection-lab", "source_location": "L34", "_callable": true}, {"id": "$graphify-root$_scripts_prompt_injection_lab_fixture_text", "label": "fixture_text()", "file_type": "code", "source_file": "scripts/prompt-injection-lab", "source_location": "L50", "_callable": true}, {"id": "$graphify-root$_scripts_prompt_injection_lab_defense_response", "label": "defense_response()", "file_type": "code", "source_file": "scripts/prompt-injection-lab", "source_location": "L57", "_callable": true}, {"id": "$graphify-root$_scripts_prompt_injection_lab_run_case", "label": "run_case()", "file_type": "code", "source_file": "scripts/prompt-injection-lab", "source_location": "L94", "_callable": true}, {"id": "$graphify-root$_scripts_prompt_injection_lab_print_list", "label": "print_list()", "file_type": "code", "source_file": "scripts/prompt-injection-lab", "source_location": "L111", "_callable": true}, {"id": "$graphify-root$_scripts_prompt_injection_lab_print_show", "label": "print_show()", "file_type": "code", "source_file": "scripts/prompt-injection-lab", "source_location": "L117", "_callable": true}, {"id": "$graphify-root$_scripts_prompt_injection_lab_print_run", "label": "print_run()", "file_type": "code", "source_file": "scripts/prompt-injection-lab", "source_location": "L131", "_callable": true}, {"id": "$graphify-root$_scripts_prompt_injection_lab_main", "label": "main()", "file_type": "code", "source_file": "scripts/prompt-injection-lab", "source_location": "L164", "_callable": true}, {"id": "$graphify-root$_scripts_prompt_injection_lab_rationale_2", "label": "Local prompt-injection defense drills for homelab AI workflows.", "file_type": "rationale", "source_file": "scripts/prompt-injection-lab", "source_location": "L2"}], "edges": [{"source": "$graphify-root$_scripts_prompt_injection_lab", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab", "target": "csv", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab", "target": "$graphify-root$_scripts_prompt_injection_lab_case", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L21", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab", "target": "$graphify-root$_scripts_prompt_injection_lab_split_terms", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L30", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab", "target": "$graphify-root$_scripts_prompt_injection_lab_load_cases", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L34", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab_load_cases", "target": "$graphify-root$_scripts_prompt_injection_lab_case", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L34", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab", "target": "$graphify-root$_scripts_prompt_injection_lab_fixture_text", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L50", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab_fixture_text", "target": "$graphify-root$_scripts_prompt_injection_lab_case", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L50", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab", "target": "$graphify-root$_scripts_prompt_injection_lab_defense_response", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L57", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab_defense_response", "target": "$graphify-root$_scripts_prompt_injection_lab_case", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L57", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab", "target": "$graphify-root$_scripts_prompt_injection_lab_run_case", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L94", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab_run_case", "target": "$graphify-root$_scripts_prompt_injection_lab_case", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L94", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab", "target": "$graphify-root$_scripts_prompt_injection_lab_print_list", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L111", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab_print_list", "target": "$graphify-root$_scripts_prompt_injection_lab_case", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L111", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab", "target": "$graphify-root$_scripts_prompt_injection_lab_print_show", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L117", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab_print_show", "target": "$graphify-root$_scripts_prompt_injection_lab_case", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L117", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab", "target": "$graphify-root$_scripts_prompt_injection_lab_print_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L131", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab_print_run", "target": "$graphify-root$_scripts_prompt_injection_lab_case", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L131", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab", "target": "$graphify-root$_scripts_prompt_injection_lab_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L164", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab_load_cases", "target": "$graphify-root$_scripts_prompt_injection_lab_case", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L38", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab_load_cases", "target": "$graphify-root$_scripts_prompt_injection_lab_split_terms", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L42", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab_run_case", "target": "$graphify-root$_scripts_prompt_injection_lab_defense_response", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L95", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab_print_run", "target": "$graphify-root$_scripts_prompt_injection_lab_run_case", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L137", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab_main", "target": "$graphify-root$_scripts_prompt_injection_lab_load_cases", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L176", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab_main", "target": "$graphify-root$_scripts_prompt_injection_lab_print_list", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L178", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab_main", "target": "$graphify-root$_scripts_prompt_injection_lab_print_show", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L180", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab_main", "target": "$graphify-root$_scripts_prompt_injection_lab_print_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L182", "weight": 1.0}, {"source": "$graphify-root$_scripts_prompt_injection_lab_rationale_2", "target": "$graphify-root$_scripts_prompt_injection_lab", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/prompt-injection-lab", "source_location": "L2", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_split_terms", "callee": "strip", "is_member_call": true, "source_file": "scripts/prompt-injection-lab", "source_location": "L31", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_split_terms", "callee": "split", "is_member_call": true, "source_file": "scripts/prompt-injection-lab", "source_location": "L31", "receiver": "value"}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_split_terms", "callee": "strip", "is_member_call": true, "source_file": "scripts/prompt-injection-lab", "source_location": "L31", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_load_cases", "callee": "open", "is_member_call": true, "source_file": "scripts/prompt-injection-lab", "source_location": "L35", "receiver": "CASES_FILE"}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_load_cases", "callee": "DictReader", "is_member_call": true, "source_file": "scripts/prompt-injection-lab", "source_location": "L36", "receiver": "csv"}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_load_cases", "callee": "handle", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/prompt-injection-lab", "source_location": "L36"}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_fixture_text", "callee": "is_file", "is_member_call": true, "source_file": "scripts/prompt-injection-lab", "source_location": "L52", "receiver": "path"}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_fixture_text", "callee": "SystemExit", "is_member_call": false, "source_file": "scripts/prompt-injection-lab", "source_location": "L53", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_fixture_text", "callee": "read_text", "is_member_call": true, "source_file": "scripts/prompt-injection-lab", "source_location": "L54", "receiver": "path"}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_defense_response", "callee": "join", "is_member_call": true, "source_file": "scripts/prompt-injection-lab", "source_location": "L84", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_defense_response", "callee": "get", "is_member_call": true, "source_file": "scripts/prompt-injection-lab", "source_location": "L89", "receiver": "rules"}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_run_case", "callee": "lower", "is_member_call": true, "source_file": "scripts/prompt-injection-lab", "source_location": "L96", "receiver": "output"}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_run_case", "callee": "lower", "is_member_call": true, "source_file": "scripts/prompt-injection-lab", "source_location": "L97", "receiver": "term"}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_run_case", "callee": "lower", "is_member_call": true, "source_file": "scripts/prompt-injection-lab", "source_location": "L98", "receiver": "term"}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_print_show", "callee": "join", "is_member_call": true, "source_file": "scripts/prompt-injection-lab", "source_location": "L123", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_print_show", "callee": "join", "is_member_call": true, "source_file": "scripts/prompt-injection-lab", "source_location": "L124", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_print_run", "callee": "dumps", "is_member_call": true, "source_file": "scripts/prompt-injection-lab", "source_location": "L139", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_print_run", "callee": "join", "is_member_call": true, "source_file": "scripts/prompt-injection-lab", "source_location": "L149", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_print_run", "callee": "join", "is_member_call": true, "source_file": "scripts/prompt-injection-lab", "source_location": "L151", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_print_run", "callee": "splitlines", "is_member_call": true, "source_file": "scripts/prompt-injection-lab", "source_location": "L155", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_main", "callee": "ArgumentParser", "is_member_call": true, "source_file": "scripts/prompt-injection-lab", "source_location": "L165", "receiver": "argparse"}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_main", "callee": "__doc__", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/prompt-injection-lab", "source_location": "L165"}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_main", "callee": "add_subparsers", "is_member_call": true, "source_file": "scripts/prompt-injection-lab", "source_location": "L166", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_main", "callee": "add_parser", "is_member_call": true, "source_file": "scripts/prompt-injection-lab", "source_location": "L167", "receiver": "subparsers"}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_main", "callee": "add_parser", "is_member_call": true, "source_file": "scripts/prompt-injection-lab", "source_location": "L168", "receiver": "subparsers"}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/prompt-injection-lab", "source_location": "L169", "receiver": "show_parser"}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_main", "callee": "add_parser", "is_member_call": true, "source_file": "scripts/prompt-injection-lab", "source_location": "L170", "receiver": "subparsers"}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/prompt-injection-lab", "source_location": "L171", "receiver": "run_parser"}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/prompt-injection-lab", "source_location": "L172", "receiver": "run_parser"}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/prompt-injection-lab", "source_location": "L173", "receiver": "run_parser"}, {"caller_nid": "$graphify-root$_scripts_prompt_injection_lab_main", "callee": "parse_args", "is_member_call": true, "source_file": "scripts/prompt-injection-lab", "source_location": "L174", "receiver": "parser"}]}