diff --git a/apps/gitea-runner/secrets.enc.yaml b/apps/gitea-runner/secrets.enc.yaml
index 89e4543..e69de29 100644
--- a/apps/gitea-runner/secrets.enc.yaml
+++ b/apps/gitea-runner/secrets.enc.yaml
@@ -1,146 +0,0 @@
-Incorrect Usage. flag provided but not defined: -encrypt-file
-
-NAME:
- sops - sops - encrypted file editor with AWS KMS, GCP KMS, HuaweiCloud KMS, Azure Key Vault, age, and GPG support
-
-USAGE:
- sops is an editor of encrypted files that supports AWS KMS, GCP, HuaweiCloud KMS, AZKV,
- PGP, and Age
-
- To encrypt or decrypt a document with AWS KMS, specify the KMS ARN
- in the -k flag or in the SOPS_KMS_ARN environment variable.
- (you need valid credentials in ~/.aws/credentials or in your env)
-
- To encrypt or decrypt a document with GCP KMS, specify the
- GCP KMS resource ID in the --gcp-kms flag or in the SOPS_GCP_KMS_IDS
- environment variable.
- (You need to setup Google application default credentials. See
- https://developers.google.com/identity/protocols/application-default-credentials)
-
- To encrypt or decrypt a document with HuaweiCloud KMS, specify the
- HuaweiCloud KMS key ID (format: region:key-uuid) in the --hckms flag or in the
- SOPS_HUAWEICLOUD_KMS_IDS environment variable.
- (You need to setup HuaweiCloud credentials via environment variables:
- HUAWEICLOUD_SDK_AK, HUAWEICLOUD_SDK_SK, HUAWEICLOUD_SDK_PROJECT_ID, or
- use credentials file at ~/.huaweicloud/credentials)
-
- To encrypt or decrypt a document with HashiCorp Vault's Transit Secret
- Engine, specify the Vault key URI name in the --hc-vault-transit flag
- or in the SOPS_VAULT_URIS environment variable (for example
- https://vault.example.org:8200/v1/transit/keys/dev, where
- 'https://vault.example.org:8200' is the vault server, 'transit' the
- enginePath, and 'dev' is the name of the key).
- (You need to enable the Transit Secrets Engine in Vault. See
- https://www.vaultproject.io/docs/secrets/transit/index.html)
-
- To encrypt or decrypt a document with Azure Key Vault, specify the
- Azure Key Vault key URL in the --azure-kv flag or in the
- SOPS_AZURE_KEYVAULT_URL environment variable.
- (Authentication is based on environment variables, see
- https://docs.microsoft.com/en-us/go/azure/azure-sdk-go-authorization#use-environment-based-authentication.
- The user/sp needs the key/encrypt and key/decrypt permissions.)
-
- To encrypt or decrypt using age, specify the recipient in the -a flag,
- or in the SOPS_AGE_RECIPIENTS environment variable.
-
- To encrypt or decrypt using PGP, specify the PGP fingerprint in the
- -p flag or in the SOPS_PGP_FP environment variable.
-
- To use multiple KMS or PGP keys, separate them by commas. For example:
- $ sops -p "10F2...0A, 85D...B3F21" file.yaml
-
- The -p, -k, --gcp-kms, --hckms, --hc-vault-transit, and --azure-kv flags are only
- used to encrypt new documents. Editing or decrypting existing documents
- can be done with "sops file" or "sops decrypt file" respectively. The KMS and
- PGP keys listed in the encrypted documents are used then. To manage master
- keys in existing documents, use the "add-{kms,pgp,gcp-kms,hckms,azure-kv,hc-vault-transit}"
- and "rm-{kms,pgp,gcp-kms,hckms,azure-kv,hc-vault-transit}" flags with --rotate
- or the updatekeys command.
-
- To use a different GPG binary than the one in your PATH, set SOPS_GPG_EXEC.
-
- To select a different editor than the default (vim), set SOPS_EDITOR or
- EDITOR.
-
- Note that flags must always be provided before the filename to operate on.
- Otherwise, they will be ignored.
-
- For more information, see the README at https://github.com/getsops/sops
-
-VERSION:
- 3.13.3
-
-AUTHOR:
- CNCF Maintainers
-
-COMMANDS:
- completion Generate shell completion scripts
- exec-env execute a command with decrypted values inserted into the environment
- exec-file execute a command with the decrypted contents as a temporary file
- publish Publish sops file or directory to a configured destination
- keyservice start a SOPS key service server
- filestatus check the status of the file, returning encryption status
- groups modify the groups on a SOPS file
- updatekeys update the keys of SOPS files using the config file
- decrypt decrypt a file, and output the results to stdout. If no filename is provided, stdin will be used.
- encrypt encrypt a file, and output the results to stdout. If no filename is provided, stdin will be used.
- rotate generate a new data encryption key and reencrypt all values with the new key
- edit edit an encrypted file
- set set a specific key or branch in the input document. value must be a JSON encoded string, for example '/path/to/file ["somekey"][0] {"somevalue":true}', or a path if --value-file is used, or omitted if --value-stdin is used
- unset unset a specific key or branch in the input document.
- help, h Shows a list of commands or help for one command
-
-GLOBAL OPTIONS:
- --decrypt, -d decrypt a file and output the result to stdout
- --encrypt, -e encrypt a file and output the result to stdout
- --rotate, -r generate a new data encryption key and reencrypt all values with the new key
- --disable-version-check do not check whether the current version is latest during --version [$SOPS_DISABLE_VERSION_CHECK]
- --check-for-updates do check whether the current version is latest during --version
- --kms value, -k value comma separated list of KMS ARNs [$SOPS_KMS_ARN]
- --aws-profile value The AWS profile to use for requests to AWS
- --gcp-kms value comma separated list of GCP KMS resource IDs [$SOPS_GCP_KMS_IDS]
- --hckms value comma separated list of HuaweiCloud KMS key IDs (format: region:key-uuid) [$SOPS_HUAWEICLOUD_KMS_IDS]
- --azure-kv value comma separated list of Azure Key Vault URLs [$SOPS_AZURE_KEYVAULT_URLS]
- --hc-vault-transit value comma separated list of vault's key URI (e.g. 'https://vault.example.org:8200/v1/transit/keys/dev') [$SOPS_VAULT_URIS]
- --pgp value, -p value comma separated list of PGP fingerprints [$SOPS_PGP_FP]
- --age value, -a value comma separated list of age recipients [$SOPS_AGE_RECIPIENTS]
- --in-place, -i write output back to the same file instead of stdout
- --extract value extract a specific key or branch from the input document. Decrypt mode only. Example: --extract '["somekey"][0]'
- --input-type value currently json, yaml, dotenv, ini and binary are supported. If not set, sops will use the file's extension to determine the type
- --output-type value currently json, yaml, dotenv, ini and binary are supported. If not set, sops will use the input file's extension to determine the output format
- --show-master-keys, -s display master encryption keys in the file during editing
- --add-gcp-kms value add the provided comma-separated list of GCP KMS key resource IDs to the list of master keys on the given file
- --rm-gcp-kms value remove the provided comma-separated list of GCP KMS key resource IDs from the list of master keys on the given file
- --add-hckms value add the provided comma-separated list of HuaweiCloud KMS key IDs (format: region:key-uuid) to the list of master keys on the given file
- --rm-hckms value remove the provided comma-separated list of HuaweiCloud KMS key IDs (format: region:key-uuid) from the list of master keys on the given file
- --add-azure-kv value add the provided comma-separated list of Azure Key Vault key URLs to the list of master keys on the given file
- --rm-azure-kv value remove the provided comma-separated list of Azure Key Vault key URLs from the list of master keys on the given file
- --add-kms value add the provided comma-separated list of KMS ARNs to the list of master keys on the given file
- --rm-kms value remove the provided comma-separated list of KMS ARNs from the list of master keys on the given file
- --add-hc-vault-transit value add the provided comma-separated list of Vault's URI key to the list of master keys on the given file ( eg. https://vault.example.org:8200/v1/transit/keys/dev)
- --rm-hc-vault-transit value remove the provided comma-separated list of Vault's URI key from the list of master keys on the given file ( eg. https://vault.example.org:8200/v1/transit/keys/dev)
- --add-age value add the provided comma-separated list of age recipients fingerprints to the list of master keys on the given file
- --rm-age value remove the provided comma-separated list of age recipients from the list of master keys on the given file
- --add-pgp value add the provided comma-separated list of PGP fingerprints to the list of master keys on the given file
- --rm-pgp value remove the provided comma-separated list of PGP fingerprints from the list of master keys on the given file
- --ignore-mac ignore Message Authentication Code during decryption
- --mac-only-encrypted compute MAC only over values which end up encrypted
- --unencrypted-suffix value override the unencrypted key suffix.
- --encrypted-suffix value override the encrypted key suffix. When empty, all keys will be encrypted, unless otherwise marked with unencrypted-suffix.
- --unencrypted-regex value set the unencrypted key regex. When specified, only keys matching the regex will be left unencrypted.
- --encrypted-regex value set the encrypted key regex. When specified, only keys matching the regex will be encrypted.
- --unencrypted-comment-regex value set the unencrypted comment suffix. When specified, only keys that have comment matching the regex will be left unencrypted.
- --encrypted-comment-regex value set the encrypted comment suffix. When specified, only keys that have comment matching the regex will be encrypted.
- --config value path to sops' config file. If set, sops will not search for the config file recursively. [$SOPS_CONFIG]
- --encryption-context value comma separated list of KMS encryption context key:value pairs
- --set value set a specific key or branch in the input document. value must be a json encoded string. (edit mode only). eg. --set '["somekey"][0] {"somevalue":true}'
- --shamir-secret-sharing-threshold value the number of master keys required to retrieve the data key with shamir (default: 0)
- --indent value the number of spaces to indent YAML or JSON encoded file (default: 0)
- --verbose Enable verbose logging output
- --output value Save the output after encryption or decryption to the file specified
- --filename-override value Use this filename instead of the provided argument for loading configuration, and for determining input type and output type
- --decryption-order value comma separated list of decryption key types [$SOPS_DECRYPTION_ORDER]
- --enable-local-keyservice use local key service [$SOPS_ENABLE_LOCAL_KEYSERVICE]
- --keyservice value Specify the key services to use in addition to the local one. Can be specified more than once. Syntax: protocol://address. Example: tcp://myserver.com:5000 [$SOPS_KEYSERVICE]
- --help, -h show help
- --version, -v print the version
diff --git a/graphify-out/.graphify_analysis.json b/graphify-out/.graphify_analysis.json
new file mode 100644
index 0000000..c3192b1
--- /dev/null
+++ b/graphify-out/.graphify_analysis.json
@@ -0,0 +1,1838 @@
+{
+ "communities": {
+ "0": [
+ "bootstrap_provisioning_main",
+ "bootstrap_provisioning_outputs",
+ "bootstrap_provisioning_variables",
+ "terraform_bootstrap_provisioning_51780c293784144a_directory",
+ "terraform_bootstrap_provisioning_51780c293784144a_local_config_hash",
+ "terraform_bootstrap_provisioning_51780c293784144a_local_debian_netboot_base_url",
+ "terraform_bootstrap_provisioning_51780c293784144a_local_dnsmasq_conf",
+ "terraform_bootstrap_provisioning_51780c293784144a_local_golden_node_prepare",
+ "terraform_bootstrap_provisioning_51780c293784144a_local_grub_cfg",
+ "terraform_bootstrap_provisioning_51780c293784144a_local_http_root",
+ "terraform_bootstrap_provisioning_51780c293784144a_local_kernel_cgroup_boot_options",
+ "terraform_bootstrap_provisioning_51780c293784144a_local_nginx_conf",
+ "terraform_bootstrap_provisioning_51780c293784144a_local_node_dns_servers",
+ "terraform_bootstrap_provisioning_51780c293784144a_local_pimox_template_net0",
+ "terraform_bootstrap_provisioning_51780c293784144a_local_prepare_template",
+ "terraform_bootstrap_provisioning_51780c293784144a_local_prepare_template_script_url",
+ "terraform_bootstrap_provisioning_51780c293784144a_local_preseed_cfg",
+ "terraform_bootstrap_provisioning_51780c293784144a_local_preseed_url",
+ "terraform_bootstrap_provisioning_51780c293784144a_local_provisioning_http_base_url",
+ "terraform_bootstrap_provisioning_51780c293784144a_local_provisioning_script_url",
+ "terraform_bootstrap_provisioning_51780c293784144a_local_repo_root",
+ "terraform_bootstrap_provisioning_51780c293784144a_local_rescue_index",
+ "terraform_bootstrap_provisioning_51780c293784144a_local_ssh_authorized_keys_base64",
+ "terraform_bootstrap_provisioning_51780c293784144a_local_template_package_list",
+ "terraform_bootstrap_provisioning_51780c293784144a_local_template_packages",
+ "terraform_bootstrap_provisioning_51780c293784144a_local_template_user_ssh_keys",
+ "terraform_bootstrap_provisioning_51780c293784144a_local_tftp_root",
+ "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_create",
+ "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_finalize",
+ "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_seal",
+ "terraform_bootstrap_provisioning_51780c293784144a_null_resource_provisioning_host",
+ "terraform_bootstrap_provisioning_51780c293784144a_output_pimox_template_vmid",
+ "terraform_bootstrap_provisioning_51780c293784144a_output_preseed_url",
+ "terraform_bootstrap_provisioning_51780c293784144a_output_provisioning_http_base_url",
+ "terraform_bootstrap_provisioning_51780c293784144a_output_pxe_boot_file",
+ "terraform_bootstrap_provisioning_51780c293784144a_output_pxe_rescue_url",
+ "terraform_bootstrap_provisioning_51780c293784144a_output_tftp_root",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_additional_template_packages",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_clone_hostname_prefix",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_debian_mirror_directory",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_debian_mirror_host",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_debian_netboot_base_url",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_debian_suite",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_http_host",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_http_port",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_kernel_cgroup_boot_options",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_keyboard",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_kubernetes_minor_version",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_locale",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_node_dns_servers",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_host",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_qm_bin",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_ssh_key_path",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_bridge",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_build_host",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_build_ssh_key_path",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_build_timeout",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_build_timeout_seconds",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_build_user",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_builder_enabled",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_cores",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_efidisk0",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_guest_ip_prefix",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_guest_ssh_timeout_seconds",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_kvm_cpuset",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_mac",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_memory",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_name",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_replace_existing",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_scsi0",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_vmid",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_user",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_provisioning_host",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_provisioning_install_dir",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_provisioning_interface",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_provisioning_ssh_key_path",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_provisioning_user",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_proxy_dhcp_range",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_pxe_boot_file",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_pxe_default_menu_entry",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_pxe_menu_timeout",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_registry_endpoint",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_template_disk",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_template_domain",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_template_hostname",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_template_user",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_template_user_full_name",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_template_user_password_hash",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_template_user_ssh_authorized_keys",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_template_user_ssh_public_key_path",
+ "terraform_bootstrap_provisioning_51780c293784144a_var_timezone"
+ ],
+ "1": [
+ "jeannie",
+ "jeannie_ai_index",
+ "jeannie_backup_tofu_state",
+ "jeannie_bootstrap_gitea_repo",
+ "jeannie_check_debian_tailscale_ip",
+ "jeannie_check_edge_disk_free",
+ "jeannie_check_edge_gitea_backend",
+ "jeannie_check_edge_heimdall_backend",
+ "jeannie_check_edge_traefik_backend",
+ "jeannie_check_gitea_git_remote",
+ "jeannie_check_gitea_reachable",
+ "jeannie_check_gitea_ssh",
+ "jeannie_check_local_disk_free_gib",
+ "jeannie_check_pihole_dns_query",
+ "jeannie_check_pimox_worker_tailnet_egress",
+ "jeannie_check_rpi_docker_root_state",
+ "jeannie_check_rpi_docker_writable",
+ "jeannie_check_rpi_ssh",
+ "jeannie_check_rpi_tailscale_ip",
+ "jeannie_check_systemd_active",
+ "jeannie_cleanup_calico_links",
+ "jeannie_cleanup_calico_runtime_files",
+ "jeannie_cleanup_iptables",
+ "jeannie_cleanup_mounts",
+ "jeannie_cleanup_node",
+ "jeannie_cluster_admin_kubeconfig_present",
+ "jeannie_cluster_worker_targets",
+ "jeannie_cosign_registry_flags",
+ "jeannie_create_gitea_repo",
+ "jeannie_create_gitea_repo_deploy_key",
+ "jeannie_docker_root_dir",
+ "jeannie_doctor_versions_report",
+ "jeannie_edge_haproxy_stats_credentials_file",
+ "jeannie_edge_haproxy_stats_password_valid",
+ "jeannie_ensure_docker_build_space",
+ "jeannie_ensure_edge_haproxy_stats_password",
+ "jeannie_ensure_existing_cluster_started_for_up",
+ "jeannie_ensure_gitea_repo_ssh_access",
+ "jeannie_ensure_kubernetes_api_ready_for_tofu_stack",
+ "jeannie_ensure_python3",
+ "jeannie_export_homelab_inventory_tf_vars",
+ "jeannie_export_if_unset",
+ "jeannie_generate_edge_haproxy_stats_password",
+ "jeannie_gitea_api_base_url",
+ "jeannie_gitea_bootstrap_password",
+ "jeannie_gitea_branch_exists",
+ "jeannie_gitea_public_key_registered",
+ "jeannie_gitea_repo_exists",
+ "jeannie_kubernetes_api_reachable",
+ "jeannie_nuke",
+ "jeannie_nuke_for_rebuild",
+ "jeannie_ollama_install_from_tgz",
+ "jeannie_ollama_write_systemd_service",
+ "jeannie_path_available_mb",
+ "jeannie_prune_unused_docker_build_data",
+ "jeannie_recover_edge_haproxy_stats_password",
+ "jeannie_restore_node_dns",
+ "jeannie_run_up_parallel_stage",
+ "jeannie_start_cluster",
+ "jeannie_start_local_kubernetes_services",
+ "jeannie_start_remote_kubernetes_services",
+ "jeannie_status_container_running",
+ "jeannie_status_disk_pressure",
+ "jeannie_status_gitea_public_ok",
+ "jeannie_status_gitea_recent_errors",
+ "jeannie_status_http_ok",
+ "jeannie_status_http_reachable",
+ "jeannie_status_kubernetes_deployment_ready",
+ "jeannie_status_kubernetes_nodes_ready",
+ "jeannie_status_no_problem_pods",
+ "jeannie_status_node_pressure",
+ "jeannie_status_pod_restart_pressure",
+ "jeannie_status_recent_deployments",
+ "jeannie_status_registry_ok",
+ "jeannie_status_rpi_uptime_kuma_ok",
+ "jeannie_status_traefik_error_rates",
+ "jeannie_stop_cluster",
+ "jeannie_stop_local_kubernetes_services",
+ "jeannie_stop_remote_kubernetes_services",
+ "jeannie_wait_for_kubernetes_api",
+ "jeannie_wait_for_kubernetes_api_stable",
+ "jeannie_write_edge_haproxy_stats_credentials"
+ ],
+ "2": [
+ "jeannie__entry",
+ "jeannie_access_audit",
+ "jeannie_agent_sandbox",
+ "jeannie_ai_evals",
+ "jeannie_ai_memory",
+ "jeannie_ai_scheduler",
+ "jeannie_artifact_cache",
+ "jeannie_ask_homelab",
+ "jeannie_backup_gitea",
+ "jeannie_backup_status",
+ "jeannie_blockchain_devnet",
+ "jeannie_blockchain_test",
+ "jeannie_blockchain_wallet",
+ "jeannie_capacity_advisor",
+ "jeannie_capacity_limits",
+ "jeannie_capacity_report",
+ "jeannie_cert_check",
+ "jeannie_change_journal",
+ "jeannie_check_debian_docker_root",
+ "jeannie_control_plane",
+ "jeannie_deploy_gitea",
+ "jeannie_doctor_preapply",
+ "jeannie_drill_gitea_restore",
+ "jeannie_drill_pihole_restore",
+ "jeannie_drill_restore",
+ "jeannie_ensure_go_toolchain",
+ "jeannie_explain",
+ "jeannie_fix_debian_docker_root",
+ "jeannie_gitops_status",
+ "jeannie_golden_ledger",
+ "jeannie_grafana_dashboards",
+ "jeannie_heal",
+ "jeannie_homelab_map",
+ "jeannie_homelab_preflight",
+ "jeannie_impact",
+ "jeannie_incident_commander",
+ "jeannie_install_gitea_backup_timer",
+ "jeannie_install_gitea_runner",
+ "jeannie_inventory_check",
+ "jeannie_kubeconfig_readonly",
+ "jeannie_load_homelab_inventory_defaults",
+ "jeannie_model_observe",
+ "jeannie_ollama_linux_arch",
+ "jeannie_ollama_setup",
+ "jeannie_preflight_check",
+ "jeannie_preflight_warn",
+ "jeannie_print_usage",
+ "jeannie_promote",
+ "jeannie_prompt_injection_lab",
+ "jeannie_record_change_journal",
+ "jeannie_recover_plan",
+ "jeannie_recover_power",
+ "jeannie_red_blue_loop",
+ "jeannie_release_snapshot",
+ "jeannie_require_debian_server",
+ "jeannie_resource_budget",
+ "jeannie_review_last_change",
+ "jeannie_route_inventory",
+ "jeannie_safety_case",
+ "jeannie_scorecard",
+ "jeannie_security_attack_path",
+ "jeannie_security_host",
+ "jeannie_security_k8s",
+ "jeannie_security_logs",
+ "jeannie_security_nuclei",
+ "jeannie_security_prepare",
+ "jeannie_security_runtime",
+ "jeannie_security_scan",
+ "jeannie_security_secrets",
+ "jeannie_security_trivy",
+ "jeannie_security_web",
+ "jeannie_security_zap",
+ "jeannie_synthetic_checks",
+ "jeannie_tailnet_policy_check",
+ "jeannie_validate_homelab",
+ "jeannie_website_ollama_listen",
+ "jeannie_website_translation_model",
+ "jeannie_workers_manage"
+ ],
+ "3": [
+ "bootstrap_platform_main",
+ "bootstrap_platform_variables",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_directory",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_argocd",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_calico",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_calico_crds",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_extra_tools",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_kyverno",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_kyverno_policies",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_loki",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_metallb",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_metrics_server",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_mimir",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_openebs",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_prometheus_stack",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_promtail",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_traefik",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_config_map_grafana_dashboards",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_config_map",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_daemonset",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_metrics_service",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_service_account",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_upstream_service",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_namespace_v1_monitoring",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_storage_class_v1_openebs_hostpath_retain",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_argocd_component_affinity",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_argocd_component_label_values",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_argocd_component_match_labels",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_argocd_component_topology_spread_constraints",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_argocd_node_selector",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_grafana_dashboard_files",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kube_state_metrics_affinity",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kube_state_metrics_match_labels",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kube_state_metrics_topology_spread_constraints",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kyverno_component_label_values",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kyverno_component_match_labels",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kyverno_component_pod_anti_affinity",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kyverno_component_topology_spread_constraints",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kyverno_node_selector",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_metallb_ip_address_pool_manifest",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_metallb_l2_advertisement_manifest",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_metallb_l2_manifests",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_nodelocal_dns_corefile",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_platform_topology_key",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_prometheus_operator_affinity",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_prometheus_operator_match_labels",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_prometheus_operator_topology_spread_constraints",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_prometheus_stack_node_selector",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_traefik_node_selector",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_argocd_private_repo",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_argocd_ready",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_calico_helm_recovery",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_calico_ready",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_metallb_l2_config",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_metrics_server_ready",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_prometheus_stack_helm_recovery",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_prometheus_stack_readiness",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_provider_helm",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_provider_kubernetes",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_argocd",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_calico",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_calico_node_address_autodetection_cidrs",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_calico_operator_node_name",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_extra_helm_releases",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_gitops_repo_url",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_gitops_ssh_key_path",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_kubeconfig_path",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_kyverno",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_metallb",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_metrics_server",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_nodelocal_dns",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_observability",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_openebs",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_pod_network_cidr",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_prometheus_stack_node_selector",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_traefik"
+ ],
+ "4": [
+ "cmd_jeannie_core_main",
+ "cmd_jeannie_core_main_envdefault",
+ "cmd_jeannie_core_main_executedag",
+ "cmd_jeannie_core_main_filterreportrows",
+ "cmd_jeannie_core_main_includereportrow",
+ "cmd_jeannie_core_main_main",
+ "cmd_jeannie_core_main_normalizestatus",
+ "cmd_jeannie_core_main_orderedreportareas",
+ "cmd_jeannie_core_main_parsereportrows",
+ "cmd_jeannie_core_main_renderreporttext",
+ "cmd_jeannie_core_main_reportstatusrank",
+ "cmd_jeannie_core_main_rowsforreportarea",
+ "cmd_jeannie_core_main_rundag",
+ "cmd_jeannie_core_main_rundagtask",
+ "cmd_jeannie_core_main_runreportrender",
+ "cmd_jeannie_core_main_test",
+ "cmd_jeannie_core_main_test_testexecutedagrespectsdependencies",
+ "cmd_jeannie_core_main_test_testexecutedagreturnsfailedtask",
+ "cmd_jeannie_core_main_test_testreportrenderhidesokgraphandquery",
+ "cmd_jeannie_core_main_test_testreportrenderproblemsonly",
+ "cmd_jeannie_core_main_truncate",
+ "cmd_jeannie_core_main_usage",
+ "cmd_jeannie_core_main_writedagline",
+ "go_pkg_bufio",
+ "go_pkg_bytes",
+ "go_pkg_context",
+ "go_pkg_encoding_json",
+ "go_pkg_flag",
+ "go_pkg_fmt",
+ "go_pkg_io",
+ "go_pkg_os",
+ "go_pkg_os_exec",
+ "go_pkg_path_filepath",
+ "go_pkg_sort",
+ "go_pkg_strings",
+ "go_pkg_sync",
+ "go_pkg_testing",
+ "go_pkg_time",
+ "go_type_context_context",
+ "go_type_io_reader",
+ "go_type_io_writer",
+ "go_type_sync_mutex",
+ "go_type_testing_t",
+ "jeannie_core_dagspec",
+ "jeannie_core_dagtask",
+ "jeannie_core_dagtaskresult",
+ "jeannie_core_reportrow"
+ ],
+ "5": [
+ "bootstrap_edge_main",
+ "bootstrap_edge_variables",
+ "terraform_bootstrap_edge_0053c5ce495d569f_directory",
+ "terraform_bootstrap_edge_0053c5ce495d569f_local_compose_file",
+ "terraform_bootstrap_edge_0053c5ce495d569f_local_config_hash",
+ "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf",
+ "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf_matrix",
+ "terraform_bootstrap_edge_0053c5ce495d569f_local_default_vcl",
+ "terraform_bootstrap_edge_0053c5ce495d569f_local_haproxy_cfg",
+ "terraform_bootstrap_edge_0053c5ce495d569f_local_heimdall_backend_host",
+ "terraform_bootstrap_edge_0053c5ce495d569f_local_heimdall_server_name",
+ "terraform_bootstrap_edge_0053c5ce495d569f_local_main_server_names",
+ "terraform_bootstrap_edge_0053c5ce495d569f_local_server_names",
+ "terraform_bootstrap_edge_0053c5ce495d569f_local_squid_conf",
+ "terraform_bootstrap_edge_0053c5ce495d569f_null_resource_edge_services",
+ "terraform_bootstrap_edge_0053c5ce495d569f_output_edge_host",
+ "terraform_bootstrap_edge_0053c5ce495d569f_output_edge_install_dir",
+ "terraform_bootstrap_edge_0053c5ce495d569f_var_additional_server_names",
+ "terraform_bootstrap_edge_0053c5ce495d569f_var_backend_host",
+ "terraform_bootstrap_edge_0053c5ce495d569f_var_backend_port",
+ "terraform_bootstrap_edge_0053c5ce495d569f_var_demos_backend_port",
+ "terraform_bootstrap_edge_0053c5ce495d569f_var_edge_host",
+ "terraform_bootstrap_edge_0053c5ce495d569f_var_edge_install_dir",
+ "terraform_bootstrap_edge_0053c5ce495d569f_var_edge_install_docker",
+ "terraform_bootstrap_edge_0053c5ce495d569f_var_edge_ssh_key_path",
+ "terraform_bootstrap_edge_0053c5ce495d569f_var_edge_user",
+ "terraform_bootstrap_edge_0053c5ce495d569f_var_element_backend_host",
+ "terraform_bootstrap_edge_0053c5ce495d569f_var_element_backend_port",
+ "terraform_bootstrap_edge_0053c5ce495d569f_var_element_server_name",
+ "terraform_bootstrap_edge_0053c5ce495d569f_var_enable_letsencrypt",
+ "terraform_bootstrap_edge_0053c5ce495d569f_var_gitea_backend_host",
+ "terraform_bootstrap_edge_0053c5ce495d569f_var_gitea_backend_port",
+ "terraform_bootstrap_edge_0053c5ce495d569f_var_haproxy_stats_password",
+ "terraform_bootstrap_edge_0053c5ce495d569f_var_haproxy_stats_user",
+ "terraform_bootstrap_edge_0053c5ce495d569f_var_heimdall_backend_host",
+ "terraform_bootstrap_edge_0053c5ce495d569f_var_heimdall_backend_port",
+ "terraform_bootstrap_edge_0053c5ce495d569f_var_letsencrypt_email",
+ "terraform_bootstrap_edge_0053c5ce495d569f_var_letsencrypt_staging",
+ "terraform_bootstrap_edge_0053c5ce495d569f_var_matrix_backend_host",
+ "terraform_bootstrap_edge_0053c5ce495d569f_var_matrix_backend_port",
+ "terraform_bootstrap_edge_0053c5ce495d569f_var_matrix_cert_dir",
+ "terraform_bootstrap_edge_0053c5ce495d569f_var_matrix_enabled",
+ "terraform_bootstrap_edge_0053c5ce495d569f_var_matrix_server_name",
+ "terraform_bootstrap_edge_0053c5ce495d569f_var_server_name"
+ ],
+ "6": [
+ "jeannie_ai_check",
+ "jeannie_backstage_brain_enabled",
+ "jeannie_backstage_brain_note",
+ "jeannie_doctor_cluster",
+ "jeannie_doctor_edge",
+ "jeannie_doctor_gitea",
+ "jeannie_doctor_rpi",
+ "jeannie_doctor_versions",
+ "jeannie_doctor_versions_compact",
+ "jeannie_status_cascade_check",
+ "jeannie_status_cascade_report",
+ "jeannie_status_cascade_warn",
+ "jeannie_status_compose_stack",
+ "jeannie_status_http",
+ "jeannie_status_kubernetes",
+ "jeannie_status_kubernetes_api_ok",
+ "jeannie_status_kubernetes_problem_pods",
+ "jeannie_status_report",
+ "jeannie_status_rpi_services",
+ "jeannie_status_run",
+ "jeannie_status_section",
+ "jeannie_status_systemd_units",
+ "jeannie_truthy",
+ "scripts_report_ui",
+ "scripts_report_ui__entry",
+ "scripts_report_ui_report_ui_begin",
+ "scripts_report_ui_report_ui_check",
+ "scripts_report_ui_report_ui_cleanup",
+ "scripts_report_ui_report_ui_emit",
+ "scripts_report_ui_report_ui_first_line",
+ "scripts_report_ui_report_ui_one_line",
+ "scripts_report_ui_report_ui_parse_args",
+ "scripts_report_ui_report_ui_render",
+ "scripts_report_ui_report_ui_trim_detail",
+ "scripts_report_ui_report_ui_usage_flags"
+ ],
+ "7": [
+ "jeannie_apps",
+ "jeannie_apps_registry_endpoint",
+ "jeannie_demos_image_is_current",
+ "jeannie_demos_registry_endpoint",
+ "jeannie_demos_source_hash",
+ "jeannie_dump_argocd_debug",
+ "jeannie_dump_namespace_debug",
+ "jeannie_ensure_cosign_available",
+ "jeannie_ensure_cosign_keypair",
+ "jeannie_ensure_cosign_password",
+ "jeannie_ensure_website_image_tag_not_reused",
+ "jeannie_image_digest_ref",
+ "jeannie_image_ref_tag",
+ "jeannie_image_state_value",
+ "jeannie_image_supply_chain_metadata_exists",
+ "jeannie_prepare_buildx_builder",
+ "jeannie_publish_cosign_public_key_config_map",
+ "jeannie_publish_image_supply_chain_metadata",
+ "jeannie_recreate_pods_for_selector",
+ "jeannie_refresh_argocd_application",
+ "jeannie_registry_image_exists",
+ "jeannie_require_argocd_application_controller",
+ "jeannie_require_pimox_app_worker_capacity",
+ "jeannie_run_cosign",
+ "jeannie_wait_for_cluster_resource",
+ "jeannie_wait_for_deployment_ready",
+ "jeannie_wait_for_namespace",
+ "jeannie_wait_for_namespaced_resource",
+ "jeannie_website_image_is_current",
+ "jeannie_website_image_tag",
+ "jeannie_website_source_hash",
+ "jeannie_write_demos_image_state",
+ "jeannie_write_image_sbom_predicate",
+ "jeannie_write_website_image_state"
+ ],
+ "8": [
+ "bootstrap_cluster_main",
+ "bootstrap_cluster_variables",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_directory",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_local_control_plane_node_label_pairs",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_local_node_label_pairs",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_local_worker_node_label_pairs",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kube_system_resource_policy",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_control_plane",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_worker",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_node_labels",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_worker_nodes_required",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_output_kubeconfig_path",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_output_pod_network_cidr",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_var_allow_empty_worker_nodes",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_var_control_plane_advertise_address",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_var_control_plane_node_labels",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_var_control_plane_node_name",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_var_force_worker_rejoin",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_var_kubeconfig_owner",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_var_kubeconfig_path",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_var_node_dns_servers",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_var_persistent_volume_dirs",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_var_pod_network_cidr",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_var_registry_endpoint",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_var_tailscale_nodeport_access",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_var_tailscale_nodeport_extra_ports",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_var_tailscale_nodeport_extra_target_ports",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_var_tailscale_subnet_routes",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_var_worker_node_labels",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_var_worker_nodes",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_var_worker_tailscale_accept_routes",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_var_worker_tailscale_enabled",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_var_worker_tailscale_pod_egress_snat"
+ ],
+ "9": [
+ "tests_jeannie_unit",
+ "tests_jeannie_unit__entry",
+ "tests_jeannie_unit_assert_command_failure_contains",
+ "tests_jeannie_unit_assert_command_success",
+ "tests_jeannie_unit_assert_contains",
+ "tests_jeannie_unit_assert_eq",
+ "tests_jeannie_unit_cleanup",
+ "tests_jeannie_unit_fail",
+ "tests_jeannie_unit_jeannie_library_mode",
+ "tests_jeannie_unit_pass",
+ "tests_jeannie_unit_path",
+ "tests_jeannie_unit_test_cluster_worker_targets_include_pimox_and_manual_workers",
+ "tests_jeannie_unit_test_configured_worker_count_can_expand_target_set",
+ "tests_jeannie_unit_test_configured_worker_count_cannot_hide_existing_workers",
+ "tests_jeannie_unit_test_heal_cooldown_escalates_to_diagnostics",
+ "tests_jeannie_unit_test_inventory_validator_accepts_current_inventory",
+ "tests_jeannie_unit_test_inventory_validator_rejects_ip_drift",
+ "tests_jeannie_unit_test_pimox_guest_exec_exitcode_parser",
+ "tests_jeannie_unit_test_pimox_worker_count_detects_generated_topology",
+ "tests_jeannie_unit_test_pimox_worker_net0_config_defaults_to_deterministic_mac",
+ "tests_jeannie_unit_test_pimox_worker_static_ip_selection",
+ "tests_jeannie_unit_test_prepare_cluster_worker_var_file_can_include_raspberry_worker",
+ "tests_jeannie_unit_test_prepare_cluster_worker_var_file_excludes_manual_by_default",
+ "tests_jeannie_unit_test_prepare_cluster_worker_var_file_merges_manual_and_pimox_workers",
+ "tests_jeannie_unit_test_prepare_cluster_worker_var_file_rebuilds_static_pimox_spec",
+ "tests_jeannie_unit_test_report_renderer_empty_problems_message",
+ "tests_jeannie_unit_test_report_renderer_hides_ok_links",
+ "tests_jeannie_unit_test_report_renderer_problems_only_hides_ok_rows"
+ ],
+ "10": [
+ "jeannie_cpuset_cpu_count",
+ "jeannie_destroy_pimox_worker_vms",
+ "jeannie_detect_route_interface",
+ "jeannie_ensure_pimox_worker_node",
+ "jeannie_ensure_static_pimox_worker_spec_file",
+ "jeannie_pimox_generated_mac",
+ "jeannie_pimox_guest_cpu_count",
+ "jeannie_pimox_guest_exec_exitcode",
+ "jeannie_pimox_guest_ipv4",
+ "jeannie_pimox_shutdown_vm_gracefully",
+ "jeannie_pimox_ssh",
+ "jeannie_pimox_start_vm_with_cpuset",
+ "jeannie_pimox_worker_count_default",
+ "jeannie_pimox_worker_count_effective",
+ "jeannie_pimox_worker_cpu_affinity",
+ "jeannie_pimox_worker_guest_ssh_repair",
+ "jeannie_pimox_worker_net0_config",
+ "jeannie_pimox_worker_static_ip",
+ "jeannie_pimox_worker_vm_debug",
+ "jeannie_run_pimox_pipeline",
+ "jeannie_start_pimox_worker_vms",
+ "jeannie_status_pimox_workers",
+ "jeannie_status_pimox_workers_running",
+ "jeannie_stop_pimox_worker_vms",
+ "jeannie_verify_pimox_worker_vms_stopped",
+ "jeannie_wait_for_pimox_guest_ssh",
+ "jeannie_worker_index_is_skipped"
+ ],
+ "11": [
+ "any",
+ "basemodel",
+ "fastapi",
+ "fastapi_middleware_cors",
+ "get",
+ "labs_mlops_platform_app_main",
+ "labs_mlops_platform_app_main_drift_score",
+ "labs_mlops_platform_app_main_healthz",
+ "labs_mlops_platform_app_main_load_model",
+ "labs_mlops_platform_app_main_logistic",
+ "labs_mlops_platform_app_main_metrics",
+ "labs_mlops_platform_app_main_normalized_features",
+ "labs_mlops_platform_app_main_predict",
+ "labs_mlops_platform_app_main_predictrequest",
+ "labs_mlops_platform_app_main_record_http_metrics",
+ "labs_mlops_platform_app_main_root",
+ "labs_mlops_platform_app_main_score_prediction",
+ "middleware",
+ "post",
+ "prometheus_client",
+ "pydantic",
+ "request",
+ "response",
+ "typing"
+ ],
+ "12": [
+ "scripts_heal",
+ "scripts_heal_apply_plan",
+ "scripts_heal_build_plan",
+ "scripts_heal_clear_failed_action",
+ "scripts_heal_command_for",
+ "scripts_heal_healrule",
+ "scripts_heal_highest_impact",
+ "scripts_heal_impact_sort_key",
+ "scripts_heal_load_heal_state",
+ "scripts_heal_load_status",
+ "scripts_heal_main",
+ "scripts_heal_path",
+ "scripts_heal_pimox_worker_index",
+ "scripts_heal_pimox_worker_ready",
+ "scripts_heal_print_ai_context",
+ "scripts_heal_print_plan",
+ "scripts_heal_rationale_2",
+ "scripts_heal_recent_failed_commands",
+ "scripts_heal_record_failed_action",
+ "scripts_heal_rule_for",
+ "scripts_heal_status_rows",
+ "scripts_heal_target_is_healed",
+ "scripts_heal_verify_healed",
+ "scripts_heal_write_heal_state"
+ ],
+ "13": [
+ "scripts_security_scan",
+ "scripts_security_scan__entry",
+ "scripts_security_scan_ensure_report_dir",
+ "scripts_security_scan_header_value",
+ "scripts_security_scan_lynis_findings",
+ "scripts_security_scan_prepare_security_scans",
+ "scripts_security_scan_print_lynis_fallback_focus",
+ "scripts_security_scan_print_lynis_focus",
+ "scripts_security_scan_print_lynis_llm_focus",
+ "scripts_security_scan_require_docker",
+ "scripts_security_scan_run_gitleaks",
+ "scripts_security_scan_run_kube_bench",
+ "scripts_security_scan_run_lynis_host",
+ "scripts_security_scan_run_nuclei",
+ "scripts_security_scan_run_security_web",
+ "scripts_security_scan_run_trivy",
+ "scripts_security_scan_run_zap",
+ "scripts_security_scan_safe_target_name",
+ "scripts_security_scan_scan_targets",
+ "scripts_security_scan_timestamp",
+ "scripts_security_scan_truthy",
+ "scripts_security_scan_usage"
+ ],
+ "14": [
+ "argparse",
+ "json",
+ "labs_mlops_platform_training_export_model",
+ "labs_mlops_platform_training_export_model_export_model",
+ "numpy",
+ "pathlib",
+ "scripts_agent_sandbox",
+ "scripts_agent_sandbox_classify",
+ "scripts_agent_sandbox_load_policy",
+ "scripts_agent_sandbox_main",
+ "scripts_agent_sandbox_print_result",
+ "scripts_agent_sandbox_rationale_2",
+ "scripts_ai_memory",
+ "scripts_ai_memory_check",
+ "scripts_ai_memory_main",
+ "scripts_ai_memory_path",
+ "scripts_ai_memory_rationale_2",
+ "sklearn_linear_model",
+ "sklearn_pipeline",
+ "sklearn_preprocessing",
+ "sys"
+ ],
+ "15": [
+ "jeannie_check_edge_ssh",
+ "jeannie_check_pimox_storage",
+ "jeannie_configure_pimox_worker_forwarding",
+ "jeannie_configure_pimox_worker_guest_network",
+ "jeannie_deploy_heimdall",
+ "jeannie_deploy_hermes",
+ "jeannie_deploy_matrix",
+ "jeannie_deploy_omniroute",
+ "jeannie_deploy_rpi_services",
+ "jeannie_disabled_value",
+ "jeannie_ensure_edge_tailscale_routes",
+ "jeannie_ensure_local_docker_compose",
+ "jeannie_install_missing_debian_packages",
+ "jeannie_openwrt",
+ "jeannie_pimox_worker_guest_agent_recovery_hint",
+ "jeannie_repair_local_docker_iptables",
+ "jeannie_run_openwrt_pipeline",
+ "jeannie_sops_available",
+ "jeannie_sops_load_secrets",
+ "jeannie_up_task",
+ "jeannie_validate_ipv4_cidr_or_host"
+ ],
+ "16": [
+ "scripts_workers",
+ "scripts_workers__entry",
+ "scripts_workers_drain_node",
+ "scripts_workers_have",
+ "scripts_workers_is_skipped",
+ "scripts_workers_kubectl_cmd",
+ "scripts_workers_list_workers",
+ "scripts_workers_node_for_index",
+ "scripts_workers_pimox_ssh",
+ "scripts_workers_rebalance",
+ "scripts_workers_recreate_plan",
+ "scripts_workers_restart_workers",
+ "scripts_workers_start_workers",
+ "scripts_workers_stop_workers",
+ "scripts_workers_tailnet_setup",
+ "scripts_workers_target_indexes",
+ "scripts_workers_uncordon_node",
+ "scripts_workers_usage",
+ "scripts_workers_validate_index",
+ "scripts_workers_vmid_for_index"
+ ],
+ "17": [
+ "html",
+ "scripts_render_service_catalog",
+ "scripts_render_service_catalog_check_file",
+ "scripts_render_service_catalog_host_ip",
+ "scripts_render_service_catalog_host_label",
+ "scripts_render_service_catalog_host_rows",
+ "scripts_render_service_catalog_html_link",
+ "scripts_render_service_catalog_main",
+ "scripts_render_service_catalog_markdown_table",
+ "scripts_render_service_catalog_md_link",
+ "scripts_render_service_catalog_parse_inventory",
+ "scripts_render_service_catalog_path",
+ "scripts_render_service_catalog_rationale_2",
+ "scripts_render_service_catalog_render_html",
+ "scripts_render_service_catalog_render_markdown",
+ "scripts_render_service_catalog_service_rows",
+ "scripts_render_service_catalog_value",
+ "scripts_render_service_catalog_write_if_changed"
+ ],
+ "18": [
+ "scripts_capacity_report",
+ "scripts_capacity_report__entry",
+ "scripts_capacity_report_compact_guidance",
+ "scripts_capacity_report_compact_host_capacity",
+ "scripts_capacity_report_compact_kubernetes_capacity",
+ "scripts_capacity_report_compact_main",
+ "scripts_capacity_report_compact_pimox_capacity",
+ "scripts_capacity_report_compact_rpi_capacity",
+ "scripts_capacity_report_emit",
+ "scripts_capacity_report_grafana_explore_url",
+ "scripts_capacity_report_host_capacity",
+ "scripts_capacity_report_kubernetes_capacity",
+ "scripts_capacity_report_pimox_capacity",
+ "scripts_capacity_report_rpi_capacity",
+ "scripts_capacity_report_run_optional",
+ "scripts_capacity_report_section",
+ "scripts_capacity_report_summary",
+ "scripts_capacity_report_verbose_main"
+ ],
+ "19": [
+ "apps_website_translation",
+ "apps_website_translation_actionspan",
+ "apps_website_translation_badge",
+ "apps_website_translation_browserlang",
+ "apps_website_translation_btn",
+ "apps_website_translation_collectpagetranslations",
+ "apps_website_translation_detectedspan",
+ "apps_website_translation_dotranslation",
+ "apps_website_translation_hideprompt",
+ "apps_website_translation_inittranslation",
+ "apps_website_translation_lang_names",
+ "apps_website_translation_prompt",
+ "apps_website_translation_savelang",
+ "apps_website_translation_showbadge",
+ "apps_website_translation_translatebatch",
+ "apps_website_translation_urllang"
+ ],
+ "20": [
+ "namespace",
+ "scripts_incident_commander",
+ "scripts_incident_commander_classify",
+ "scripts_incident_commander_first_evidence_lines",
+ "scripts_incident_commander_fixture_text",
+ "scripts_incident_commander_incident",
+ "scripts_incident_commander_incident_for_class",
+ "scripts_incident_commander_load_incidents",
+ "scripts_incident_commander_main",
+ "scripts_incident_commander_print_list",
+ "scripts_incident_commander_print_triage",
+ "scripts_incident_commander_rationale_2",
+ "scripts_incident_commander_read_triage_input",
+ "scripts_incident_commander_render_triage",
+ "scripts_incident_commander_replay",
+ "scripts_incident_commander_split_items"
+ ],
+ "21": [
+ "apps_demos_static_public_media_cruncher_media_cruncher",
+ "apps_demos_static_public_media_cruncher_media_cruncher_appendstatus",
+ "apps_demos_static_public_media_cruncher_media_cruncher_createcanvas",
+ "apps_demos_static_public_media_cruncher_media_cruncher_crunchimage",
+ "apps_demos_static_public_media_cruncher_media_cruncher_dropzone",
+ "apps_demos_static_public_media_cruncher_media_cruncher_extensionbytype",
+ "apps_demos_static_public_media_cruncher_media_cruncher_formatbytes",
+ "apps_demos_static_public_media_cruncher_media_cruncher_handlefiles",
+ "apps_demos_static_public_media_cruncher_media_cruncher_maxedge",
+ "apps_demos_static_public_media_cruncher_media_cruncher_mediainput",
+ "apps_demos_static_public_media_cruncher_media_cruncher_outputformat",
+ "apps_demos_static_public_media_cruncher_media_cruncher_quality",
+ "apps_demos_static_public_media_cruncher_media_cruncher_qualityoutput",
+ "apps_demos_static_public_media_cruncher_media_cruncher_results",
+ "apps_demos_static_public_media_cruncher_media_cruncher_toblob"
+ ],
+ "22": [
+ "collections",
+ "fnmatch",
+ "math",
+ "scripts_build_homelab_ai_index",
+ "scripts_build_homelab_ai_index_build_index",
+ "scripts_build_homelab_ai_index_candidate_files",
+ "scripts_build_homelab_ai_index_chunk_file",
+ "scripts_build_homelab_ai_index_load_patterns",
+ "scripts_build_homelab_ai_index_main",
+ "scripts_build_homelab_ai_index_path",
+ "scripts_build_homelab_ai_index_path_is_secret",
+ "scripts_build_homelab_ai_index_path_matches_any",
+ "scripts_build_homelab_ai_index_rationale_2",
+ "scripts_build_homelab_ai_index_read_text",
+ "scripts_build_homelab_ai_index_tokenise"
+ ],
+ "23": [
+ "jeannie_adopt_apps_existing_resources",
+ "jeannie_adopt_platform_existing_resources",
+ "jeannie_adopt_tofu_helm_release",
+ "jeannie_adopt_tofu_kubernetes_manifest",
+ "jeannie_adopt_tofu_kubernetes_resource",
+ "jeannie_cluster_control_plane_tracked",
+ "jeannie_delete_prometheus_stack_storage",
+ "jeannie_edge_apply",
+ "jeannie_ensure_homelab_node_labels",
+ "jeannie_helm_release_secret_exists",
+ "jeannie_kubernetes_resource_exists",
+ "jeannie_move_prometheus_stack_workers",
+ "jeannie_platform_apply",
+ "jeannie_run_tofu_stack",
+ "jeannie_tofu_state_has_resource"
+ ],
+ "24": [
+ "datetime",
+ "infra_heimdall_seed_heimdall",
+ "infra_heimdall_seed_heimdall_columns",
+ "infra_heimdall_seed_heimdall_ensure_dashboard_tag",
+ "infra_heimdall_seed_heimdall_ensure_public_dashboard",
+ "infra_heimdall_seed_heimdall_find_database",
+ "infra_heimdall_seed_heimdall_home_dashboard_tag_id",
+ "infra_heimdall_seed_heimdall_load_links",
+ "infra_heimdall_seed_heimdall_quote_identifier",
+ "infra_heimdall_seed_heimdall_table_exists",
+ "infra_heimdall_seed_heimdall_upsert_links",
+ "infra_heimdall_seed_heimdall_wait_for_items_table",
+ "os",
+ "sqlite3"
+ ],
+ "25": [
+ "dataclasses",
+ "scripts_prompt_injection_lab",
+ "scripts_prompt_injection_lab_case",
+ "scripts_prompt_injection_lab_defense_response",
+ "scripts_prompt_injection_lab_fixture_text",
+ "scripts_prompt_injection_lab_load_cases",
+ "scripts_prompt_injection_lab_main",
+ "scripts_prompt_injection_lab_print_list",
+ "scripts_prompt_injection_lab_print_run",
+ "scripts_prompt_injection_lab_print_show",
+ "scripts_prompt_injection_lab_rationale_2",
+ "scripts_prompt_injection_lab_run_case",
+ "scripts_prompt_injection_lab_split_terms"
+ ],
+ "26": [
+ "infra_arr_stack_configure_arr",
+ "infra_arr_stack_configure_arr_apply_import_lists",
+ "infra_arr_stack_configure_arr_ensure_qbittorrent",
+ "infra_arr_stack_configure_arr_ensure_root_folder",
+ "infra_arr_stack_configure_arr_fill_fields",
+ "infra_arr_stack_configure_arr_load_env",
+ "infra_arr_stack_configure_arr_main",
+ "infra_arr_stack_configure_arr_py_path",
+ "infra_arr_stack_configure_arr_rationale_2",
+ "infra_arr_stack_configure_arr_request_json",
+ "infra_arr_stack_configure_arr_required_env",
+ "infra_arr_stack_configure_arr_schema_fields",
+ "infra_arr_stack_configure_arr_wait_for_app"
+ ],
+ "27": [
+ "scripts_ai_evals",
+ "scripts_ai_evals_case",
+ "scripts_ai_evals_fixture_text",
+ "scripts_ai_evals_load_cases",
+ "scripts_ai_evals_main",
+ "scripts_ai_evals_print_list",
+ "scripts_ai_evals_print_run",
+ "scripts_ai_evals_print_show",
+ "scripts_ai_evals_rationale_2",
+ "scripts_ai_evals_run_case",
+ "scripts_ai_evals_run_explain_output",
+ "scripts_ai_evals_run_repo_scan",
+ "scripts_ai_evals_split_terms"
+ ],
+ "28": [
+ "apps_website_translate",
+ "apps_website_translate_clean_translate_text",
+ "apps_website_translate_elapsed_ms",
+ "apps_website_translate_redis_connect",
+ "apps_website_translate_redis_encode_command",
+ "apps_website_translate_redis_read_line",
+ "apps_website_translate_redis_read_response",
+ "apps_website_translate_translate_response",
+ "apps_website_translate_translation_cache_key",
+ "apps_website_translate_translation_cache_read",
+ "apps_website_translate_translation_cache_write",
+ "apps_website_translate_translation_log"
+ ],
+ "29": [
+ "basehttprequesthandler",
+ "http_server",
+ "infra_blockchain_devnet_metrics_exporter",
+ "infra_blockchain_devnet_metrics_exporter_collect_metrics",
+ "infra_blockchain_devnet_metrics_exporter_hex_to_int",
+ "infra_blockchain_devnet_metrics_exporter_metricshandler",
+ "infra_blockchain_devnet_metrics_exporter_metricshandler_do_get",
+ "infra_blockchain_devnet_metrics_exporter_metricshandler_log_message",
+ "infra_blockchain_devnet_metrics_exporter_rpc",
+ "time",
+ "urllib_error",
+ "urllib_request"
+ ],
+ "30": [
+ "infra_rpi_services_seed_uptime_kuma",
+ "infra_rpi_services_seed_uptime_kuma_defaultforcolumn",
+ "infra_rpi_services_seed_uptime_kuma_findmoduledirectory",
+ "infra_rpi_services_seed_uptime_kuma_fs",
+ "infra_rpi_services_seed_uptime_kuma_loaddatabasemodule",
+ "infra_rpi_services_seed_uptime_kuma_main",
+ "infra_rpi_services_seed_uptime_kuma_monitorvalues",
+ "infra_rpi_services_seed_uptime_kuma_nowsql",
+ "infra_rpi_services_seed_uptime_kuma_path",
+ "infra_rpi_services_seed_uptime_kuma_upsertmonitor",
+ "ref_fs",
+ "ref_path"
+ ],
+ "31": [
+ "scripts_validate_homelab",
+ "scripts_validate_homelab__entry",
+ "scripts_validate_homelab_main",
+ "scripts_validate_homelab_run_step",
+ "scripts_validate_homelab_shell_files",
+ "scripts_validate_homelab_validate_bash_syntax",
+ "scripts_validate_homelab_validate_go",
+ "scripts_validate_homelab_validate_security_static",
+ "scripts_validate_homelab_validate_shellcheck",
+ "scripts_validate_homelab_validate_tofu_fmt",
+ "scripts_validate_homelab_validate_unit_tests",
+ "scripts_validate_homelab_validate_yaml"
+ ],
+ "32": [
+ "bootstrap_apps_main",
+ "bootstrap_apps_variables",
+ "terraform_bootstrap_apps_0952a721c72f57d2_directory",
+ "terraform_bootstrap_apps_0952a721c72f57d2_kubernetes_manifest_argocd_application",
+ "terraform_bootstrap_apps_0952a721c72f57d2_local_application_sources",
+ "terraform_bootstrap_apps_0952a721c72f57d2_provider_kubernetes",
+ "terraform_bootstrap_apps_0952a721c72f57d2_var_applications",
+ "terraform_bootstrap_apps_0952a721c72f57d2_var_argocd_namespace",
+ "terraform_bootstrap_apps_0952a721c72f57d2_var_gitops_repo_url",
+ "terraform_bootstrap_apps_0952a721c72f57d2_var_kubeconfig_path",
+ "terraform_bootstrap_apps_0952a721c72f57d2_var_website_image_ref"
+ ],
+ "33": [
+ "infra_rpi_services_bootstrap",
+ "infra_rpi_services_bootstrap_configure_docker_root",
+ "infra_rpi_services_bootstrap_docker_root_target",
+ "infra_rpi_services_bootstrap_install_missing_packages",
+ "infra_rpi_services_bootstrap_resolve_pihole_webpassword",
+ "infra_rpi_services_bootstrap_seed_uptime_kuma_monitors",
+ "infra_rpi_services_bootstrap_sh__entry",
+ "infra_rpi_services_bootstrap_stop_legacy_pihole",
+ "infra_rpi_services_bootstrap_sync_pihole_adlists",
+ "infra_rpi_services_bootstrap_sync_pihole_managed_dns",
+ "infra_rpi_services_bootstrap_write_env_file"
+ ],
+ "34": [
+ "jeannie_jeannie_compact_text",
+ "jeannie_jeannie_log_start",
+ "jeannie_jeannie_step_latest_progress_line",
+ "jeannie_jeannie_step_plan",
+ "jeannie_jeannie_step_prefix",
+ "jeannie_jeannie_step_progress",
+ "jeannie_jeannie_verbose_enabled",
+ "jeannie_rebuild_cluster",
+ "jeannie_redact_sensitive_output",
+ "jeannie_run_step",
+ "jeannie_up"
+ ],
+ "35": [
+ "scripts_model_observe",
+ "scripts_model_observe_ask_ollama",
+ "scripts_model_observe_grade",
+ "scripts_model_observe_main",
+ "scripts_model_observe_offline_answer",
+ "scripts_model_observe_print_prompts",
+ "scripts_model_observe_prompts",
+ "scripts_model_observe_rationale_2",
+ "scripts_model_observe_report",
+ "scripts_model_observe_run",
+ "scripts_model_observe_split_terms"
+ ],
+ "36": [
+ "scripts_restore_drill",
+ "scripts_restore_drill__entry",
+ "scripts_restore_drill_check_file",
+ "scripts_restore_drill_drill_gitea",
+ "scripts_restore_drill_drill_gitops",
+ "scripts_restore_drill_drill_pihole",
+ "scripts_restore_drill_drill_state",
+ "scripts_restore_drill_latest_file",
+ "scripts_restore_drill_main",
+ "scripts_restore_drill_section",
+ "scripts_restore_drill_usage"
+ ],
+ "37": [
+ "csv",
+ "scripts_ai_scheduler",
+ "scripts_ai_scheduler_as_bool",
+ "scripts_ai_scheduler_main",
+ "scripts_ai_scheduler_path",
+ "scripts_ai_scheduler_rationale_2",
+ "scripts_ai_scheduler_read_tsv",
+ "scripts_ai_scheduler_recommend",
+ "scripts_ai_scheduler_score_node",
+ "scripts_ai_scheduler_simulate"
+ ],
+ "38": [
+ "ref_config_recommended",
+ "renovate",
+ "renovate_custommanagers",
+ "renovate_dependencydashboard",
+ "renovate_extends",
+ "renovate_labels",
+ "renovate_packagerules",
+ "renovate_prconcurrentlimit",
+ "renovate_schema",
+ "renovate_timezone"
+ ],
+ "39": [
+ "scripts_access_audit",
+ "scripts_access_audit__entry",
+ "scripts_access_audit_git_access",
+ "scripts_access_audit_kubernetes_access",
+ "scripts_access_audit_main",
+ "scripts_access_audit_runner_access",
+ "scripts_access_audit_section",
+ "scripts_access_audit_ssh_inventory",
+ "scripts_access_audit_tailnet_access",
+ "scripts_access_audit_warn_file_mode"
+ ],
+ "40": [
+ "scripts_query_homelab_ai_index",
+ "scripts_query_homelab_ai_index_ask_ollama",
+ "scripts_query_homelab_ai_index_load_index",
+ "scripts_query_homelab_ai_index_main",
+ "scripts_query_homelab_ai_index_path",
+ "scripts_query_homelab_ai_index_rationale_2",
+ "scripts_query_homelab_ai_index_render_citations",
+ "scripts_query_homelab_ai_index_render_context",
+ "scripts_query_homelab_ai_index_score_chunks",
+ "scripts_query_homelab_ai_index_tokenise"
+ ],
+ "41": [
+ "apps_website_ideas_helper",
+ "apps_website_ideas_helper_visitor_idea_clean",
+ "apps_website_ideas_helper_visitor_ideas_append",
+ "apps_website_ideas_helper_visitor_ideas_dir",
+ "apps_website_ideas_helper_visitor_ideas_ensure_dir",
+ "apps_website_ideas_helper_visitor_ideas_file",
+ "apps_website_ideas_helper_visitor_ideas_rate_file",
+ "apps_website_ideas_helper_visitor_ideas_read",
+ "apps_website_ideas_helper_visitor_ideas_recently_submitted"
+ ],
+ "42": [
+ "scripts_explain",
+ "scripts_explain__entry",
+ "scripts_explain_cleanup",
+ "scripts_explain_explain_output",
+ "scripts_explain_is_read_only_command",
+ "scripts_explain_is_read_only_subcommand",
+ "scripts_explain_main",
+ "scripts_explain_run_target",
+ "scripts_explain_usage"
+ ],
+ "43": [
+ "scripts_resource_budget",
+ "scripts_resource_budget__entry",
+ "scripts_resource_budget_fail",
+ "scripts_resource_budget_have",
+ "scripts_resource_budget_host_budget",
+ "scripts_resource_budget_kubernetes_budget",
+ "scripts_resource_budget_section",
+ "scripts_resource_budget_usage",
+ "scripts_resource_budget_warn"
+ ],
+ "44": [
+ "scripts_safety_case",
+ "scripts_safety_case_changed_files",
+ "scripts_safety_case_git_lines",
+ "scripts_safety_case_load_rules",
+ "scripts_safety_case_main",
+ "scripts_safety_case_matched_rules",
+ "scripts_safety_case_print_safety_case",
+ "scripts_safety_case_rationale_2",
+ "scripts_safety_case_risk_order"
+ ],
+ "45": [
+ "re",
+ "scripts_validate_tailnet_policy",
+ "scripts_validate_tailnet_policy_main",
+ "scripts_validate_tailnet_policy_parse_simple_inventory",
+ "scripts_validate_tailnet_policy_path",
+ "scripts_validate_tailnet_policy_rationale_2",
+ "scripts_validate_tailnet_policy_require",
+ "scripts_validate_tailnet_policy_strip_hujson"
+ ],
+ "46": [
+ "scripts_cert_check",
+ "scripts_cert_check__entry",
+ "scripts_cert_check_cleanup",
+ "scripts_cert_check_have",
+ "scripts_cert_check_inventory_hosts",
+ "scripts_cert_check_inventory_scalar",
+ "scripts_cert_check_mark_fail",
+ "scripts_cert_check_section"
+ ],
+ "47": [
+ "scripts_promote",
+ "scripts_promote_checks",
+ "scripts_promote_main",
+ "scripts_promote_plan",
+ "scripts_promote_rationale_2",
+ "scripts_promote_rollback",
+ "scripts_promote_validate",
+ "subprocess"
+ ],
+ "48": [
+ "scripts_security_attack_path",
+ "scripts_security_attack_path__entry",
+ "scripts_security_attack_path_jsonpath_or_unknown",
+ "scripts_security_attack_path_kubectl_ro",
+ "scripts_security_attack_path_main",
+ "scripts_security_attack_path_require_kubectl",
+ "scripts_security_attack_path_section",
+ "scripts_security_attack_path_usage"
+ ],
+ "49": [
+ "scripts_security_logs",
+ "scripts_security_logs__entry",
+ "scripts_security_logs_collect_gitea_logs",
+ "scripts_security_logs_collect_traefik_logs",
+ "scripts_security_logs_ensure_report_dir",
+ "scripts_security_logs_main",
+ "scripts_security_logs_print_matches",
+ "scripts_security_logs_timestamp"
+ ],
+ "50": [
+ "scripts_synthetic_checks",
+ "scripts_synthetic_checks__entry",
+ "scripts_synthetic_checks_check",
+ "scripts_synthetic_checks_dns_query",
+ "scripts_synthetic_checks_http_ok",
+ "scripts_synthetic_checks_kubectl_ok",
+ "scripts_synthetic_checks_section",
+ "scripts_synthetic_checks_warn_check"
+ ],
+ "51": [
+ "apps_demos_static_public_theme",
+ "apps_demos_static_public_theme_getdemothemebuttons",
+ "apps_demos_static_public_theme_getstoreddemotheme",
+ "apps_demos_static_public_theme_installdemothemetoolbar",
+ "apps_demos_static_public_theme_normalizedemotheme",
+ "apps_demos_static_public_theme_setdemotheme",
+ "apps_demos_static_public_theme_storedemotheme"
+ ],
+ "52": [
+ "apps_website_cv_theme",
+ "apps_website_cv_theme_cvportrait",
+ "apps_website_cv_theme_getsitethemebuttons",
+ "apps_website_cv_theme_getstoredsitetheme",
+ "apps_website_cv_theme_normalizesitetheme",
+ "apps_website_cv_theme_setsitetheme",
+ "apps_website_cv_theme_storesitetheme"
+ ],
+ "53": [
+ "jeannie_cluster_worker_var_file_has_workers",
+ "jeannie_ensure_cluster_worker_var_file",
+ "jeannie_plan_homelab",
+ "jeannie_prepare_cluster_worker_var_file",
+ "jeannie_run_tofu_plan_stack",
+ "jeannie_tofu_stack_from_plan_target",
+ "jeannie_write_cluster_worker_var_file"
+ ],
+ "54": [
+ "scripts_red_blue_loop",
+ "scripts_red_blue_loop_checks",
+ "scripts_red_blue_loop_ledger",
+ "scripts_red_blue_loop_main",
+ "scripts_red_blue_loop_plan",
+ "scripts_red_blue_loop_rationale_2",
+ "scripts_red_blue_loop_run"
+ ],
+ "55": [
+ "apps_demos_static_public_architecture_simulator_architecture_simulator",
+ "apps_demos_static_public_architecture_simulator_architecture_simulator_box",
+ "apps_demos_static_public_architecture_simulator_architecture_simulator_canvas",
+ "apps_demos_static_public_architecture_simulator_architecture_simulator_ctx",
+ "apps_demos_static_public_architecture_simulator_architecture_simulator_draw",
+ "apps_demos_static_public_architecture_simulator_architecture_simulator_state"
+ ],
+ "56": [
+ "apps_demos_static_public_dev_toolbelt_dev_toolbelt",
+ "apps_demos_static_public_dev_toolbelt_dev_toolbelt_decodebase64url",
+ "apps_demos_static_public_dev_toolbelt_dev_toolbelt_input",
+ "apps_demos_static_public_dev_toolbelt_dev_toolbelt_logfilter",
+ "apps_demos_static_public_dev_toolbelt_dev_toolbelt_output",
+ "apps_demos_static_public_dev_toolbelt_dev_toolbelt_setoutput"
+ ],
+ "57": [
+ "apps_demos_static_public_network_quality_network_quality",
+ "apps_demos_static_public_network_quality_network_quality_canvas",
+ "apps_demos_static_public_network_quality_network_quality_ctx",
+ "apps_demos_static_public_network_quality_network_quality_draw",
+ "apps_demos_static_public_network_quality_network_quality_measure",
+ "apps_demos_static_public_network_quality_network_quality_samples"
+ ],
+ "58": [
+ "apps_demos_static_public_sentiment_sandbox_sentiment_sandbox",
+ "apps_demos_static_public_sentiment_sandbox_sentiment_sandbox_analyze",
+ "apps_demos_static_public_sentiment_sandbox_sentiment_sandbox_input",
+ "apps_demos_static_public_sentiment_sandbox_sentiment_sandbox_negative",
+ "apps_demos_static_public_sentiment_sandbox_sentiment_sandbox_output",
+ "apps_demos_static_public_sentiment_sandbox_sentiment_sandbox_positive"
+ ],
+ "59": [
+ "jeannie_ensure_sops_age_tools",
+ "jeannie_secrets_check",
+ "jeannie_secrets_check_file",
+ "jeannie_secrets_init",
+ "jeannie_sops_age_key_file",
+ "jeannie_sops_age_recipient"
+ ],
+ "60": [
+ "scripts_backup_status",
+ "scripts_backup_status__entry",
+ "scripts_backup_status_check_latest",
+ "scripts_backup_status_file_age_hours",
+ "scripts_backup_status_latest_file",
+ "scripts_backup_status_section"
+ ],
+ "61": [
+ "scripts_control_plane",
+ "scripts_control_plane__entry",
+ "scripts_control_plane_require_kubectl",
+ "scripts_control_plane_show_non_system_pods",
+ "scripts_control_plane_show_taints",
+ "scripts_control_plane_usage"
+ ],
+ "62": [
+ "scripts_recover_plan",
+ "scripts_recover_plan__entry",
+ "scripts_recover_plan_check",
+ "scripts_recover_plan_has_gitea_backup",
+ "scripts_recover_plan_has_state_backup",
+ "scripts_recover_plan_main"
+ ],
+ "63": [
+ "scripts_release_snapshot",
+ "scripts_release_snapshot__entry",
+ "scripts_release_snapshot_have",
+ "scripts_release_snapshot_latest_file",
+ "scripts_release_snapshot_run_optional",
+ "scripts_release_snapshot_section"
+ ],
+ "64": [
+ "scripts_render_docs",
+ "scripts_render_docs__entry",
+ "scripts_render_docs_main",
+ "scripts_render_docs_read_inventory_value",
+ "scripts_render_docs_render_template",
+ "scripts_render_docs_usage"
+ ],
+ "65": [
+ "scripts_scorecard",
+ "scripts_scorecard__entry",
+ "scripts_scorecard_docs_fresh",
+ "scripts_scorecard_inventory_ok",
+ "scripts_scorecard_score",
+ "scripts_scorecard_security_static_ok"
+ ],
+ "66": [
+ "apps_demos_static_public_model_drift_model_drift",
+ "apps_demos_static_public_model_drift_model_drift_accuracy",
+ "apps_demos_static_public_model_drift_model_drift_canvas",
+ "apps_demos_static_public_model_drift_model_drift_ctx",
+ "apps_demos_static_public_model_drift_model_drift_draw"
+ ],
+ "67": [
+ "apps_demos_static_public_privacy_redactor_privacy_redactor",
+ "apps_demos_static_public_privacy_redactor_privacy_redactor_blurrect",
+ "apps_demos_static_public_privacy_redactor_privacy_redactor_canvas",
+ "apps_demos_static_public_privacy_redactor_privacy_redactor_ctx",
+ "apps_demos_static_public_privacy_redactor_privacy_redactor_placeholder"
+ ],
+ "68": [
+ "apps_website_lang_helper",
+ "apps_website_lang_helper_asset_url",
+ "apps_website_lang_helper_cleanruntimetranslation",
+ "apps_website_lang_helper_getlang",
+ "apps_website_lang_helper_loadruntimetranslations"
+ ],
+ "69": [
+ "scripts_blockchain_wallet",
+ "scripts_blockchain_wallet__entry",
+ "scripts_blockchain_wallet_require_private_key",
+ "scripts_blockchain_wallet_run_cast",
+ "scripts_blockchain_wallet_usage"
+ ],
+ "70": [
+ "scripts_change_journal",
+ "scripts_change_journal__entry",
+ "scripts_change_journal_append_entry",
+ "scripts_change_journal_latest_entries",
+ "scripts_change_journal_timestamp"
+ ],
+ "71": [
+ "scripts_grafana_dashboards",
+ "scripts_grafana_dashboards__entry",
+ "scripts_grafana_dashboards_apply_dashboards",
+ "scripts_grafana_dashboards_list_dashboards",
+ "scripts_grafana_dashboards_usage"
+ ],
+ "72": [
+ "scripts_kubeconfig_readonly",
+ "scripts_kubeconfig_readonly__entry",
+ "scripts_kubeconfig_readonly_main",
+ "scripts_kubeconfig_readonly_require_kubectl",
+ "scripts_kubeconfig_readonly_usage"
+ ],
+ "73": [
+ "bootstrap_platform_terraform_lock",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_provider_registry_opentofu_org_hashicorp_helm",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_provider_registry_opentofu_org_hashicorp_kubernetes",
+ "terraform_bootstrap_platform_6ccb56e24d8dc66f_provider_registry_opentofu_org_hashicorp_null"
+ ],
+ "74": [
+ "scripts_blockchain_devnet",
+ "scripts_blockchain_devnet__entry",
+ "scripts_blockchain_devnet_rpc_call",
+ "scripts_blockchain_devnet_usage"
+ ],
+ "75": [
+ "scripts_capacity_limits",
+ "scripts_capacity_limits__entry",
+ "scripts_capacity_limits_cleanup",
+ "scripts_capacity_limits_usage"
+ ],
+ "76": [
+ "scripts_recover_power",
+ "scripts_recover_power__entry",
+ "scripts_recover_power_run_optional",
+ "scripts_recover_power_run_step"
+ ],
+ "77": [
+ "scripts_route_inventory",
+ "scripts_route_inventory__entry",
+ "scripts_route_inventory_cleanup",
+ "scripts_route_inventory_section"
+ ],
+ "78": [
+ "apps_website_render_static_pages",
+ "apps_website_render_static_pages_render_page",
+ "apps_website_render_static_pages_sh__entry"
+ ],
+ "79": [
+ "apps_website_save_lang",
+ "apps_website_save_lang_clean_translation_value",
+ "apps_website_save_lang_translation_response"
+ ],
+ "80": [
+ "apps_website_visitor_ideas_addideatext",
+ "apps_website_visitor_ideas_js_apps_website_visitor_ideas",
+ "apps_website_visitor_ideas_renderideas"
+ ],
+ "81": [
+ "bootstrap_cluster_terraform_lock",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_provider_registry_opentofu_org_hashicorp_external",
+ "terraform_bootstrap_cluster_d8bb757b863f9d24_provider_registry_opentofu_org_hashicorp_null"
+ ],
+ "82": [
+ "infra_matrix_server_bootstrap",
+ "infra_matrix_server_bootstrap_render_homeserver",
+ "infra_matrix_server_bootstrap_sh__entry"
+ ],
+ "83": [
+ "scripts_ask",
+ "scripts_ask__entry",
+ "scripts_ask_usage"
+ ],
+ "84": [
+ "scripts_blockchain_test",
+ "scripts_blockchain_test__entry",
+ "scripts_blockchain_test_usage"
+ ],
+ "85": [
+ "scripts_capacity_advisor",
+ "scripts_capacity_advisor__entry",
+ "scripts_capacity_advisor_run_check"
+ ],
+ "86": [
+ "scripts_homelab_map",
+ "scripts_homelab_map__entry",
+ "scripts_homelab_map_inventory"
+ ],
+ "87": [
+ "scripts_impact",
+ "scripts_impact__entry",
+ "scripts_impact_usage"
+ ],
+ "88": [
+ "scripts_jeannie_core",
+ "scripts_jeannie_core__entry",
+ "scripts_jeannie_core_core_sources_newer"
+ ],
+ "89": [
+ "scripts_report_render",
+ "scripts_report_render__entry",
+ "scripts_report_render_usage"
+ ],
+ "90": [
+ "scripts_review_last_change",
+ "scripts_review_last_change__entry",
+ "scripts_review_last_change_usage"
+ ],
+ "91": [
+ "apps_demos_static_public_traveler_tools_sw",
+ "apps_demos_static_public_traveler_tools_sw_assets"
+ ],
+ "92": [
+ "apps_demos_static_public_traveler_tools_traveler_tools",
+ "apps_demos_static_public_traveler_tools_traveler_tools_updatetraveler"
+ ],
+ "93": [
+ "apps_website_blog",
+ "apps_website_blog_renderstacksourcelinks"
+ ],
+ "94": [
+ "apps_website_homelab_tree",
+ "apps_website_homelab_tree_other_pages"
+ ],
+ "95": [
+ "apps_website_partials_translation_ui",
+ "apps_website_partials_translation_ui_static_langs"
+ ],
+ "96": [
+ "apps_website_save_idea",
+ "apps_website_save_idea_idea_redirect"
+ ],
+ "97": [
+ "apps_website_start_website",
+ "apps_website_start_website_sh__entry"
+ ],
+ "98": [
+ "bootstrap_apps_terraform_lock",
+ "terraform_bootstrap_apps_0952a721c72f57d2_provider_registry_opentofu_org_hashicorp_kubernetes"
+ ],
+ "99": [
+ "bootstrap_edge_terraform_lock",
+ "terraform_bootstrap_edge_0053c5ce495d569f_provider_registry_opentofu_org_hashicorp_null"
+ ],
+ "100": [
+ "bootstrap_provisioning_terraform_lock",
+ "terraform_bootstrap_provisioning_51780c293784144a_provider_registry_opentofu_org_hashicorp_null"
+ ],
+ "101": [
+ "infra_arr_stack_bootstrap",
+ "infra_arr_stack_bootstrap_sh__entry"
+ ],
+ "102": [
+ "infra_omniroute_bootstrap",
+ "infra_omniroute_bootstrap_sh__entry"
+ ],
+ "103": [
+ "infra_youtube_backup_backup_youtube",
+ "infra_youtube_backup_backup_youtube_sh__entry"
+ ],
+ "104": [
+ "scripts_artifact_cache",
+ "scripts_artifact_cache__entry"
+ ],
+ "105": [
+ "scripts_gitops_status",
+ "scripts_gitops_status__entry"
+ ],
+ "106": [
+ "scripts_golden_ledger",
+ "scripts_golden_ledger__entry"
+ ],
+ "107": [
+ "scripts_validate_homelab_inventory",
+ "scripts_validate_homelab_inventory__entry"
+ ],
+ "108": [
+ "apps_website_cv"
+ ],
+ "109": [
+ "apps_website_demos"
+ ],
+ "110": [
+ "apps_website_index"
+ ],
+ "111": [
+ "apps_website_lang_en"
+ ],
+ "112": [
+ "apps_website_lang_nah"
+ ],
+ "113": [
+ "apps_website_partials_footer"
+ ],
+ "114": [
+ "apps_website_partials_header"
+ ],
+ "115": [
+ "apps_website_partials_theme_toolbar"
+ ],
+ "116": [
+ "apps_website_visitor_ideas_php_apps_website_visitor_ideas"
+ ],
+ "117": [
+ "pkg_my_homelab_configs"
+ ]
+ },
+ "cohesion": {
+ "0": 0.054212454212454214,
+ "1": 0.038542607648298706,
+ "2": 0.04229104229104229,
+ "3": 0.07017543859649122,
+ "4": 0.0841813135985199,
+ "5": 0.113107822410148,
+ "6": 0.14789915966386555,
+ "7": 0.08377896613190731,
+ "8": 0.13636363636363635,
+ "9": 0.1984126984126984,
+ "10": 0.1339031339031339,
+ "11": 0.13043478260869565,
+ "12": 0.18840579710144928,
+ "13": 0.2554112554112554,
+ "14": 0.13333333333333333,
+ "15": 0.15714285714285714,
+ "16": 0.2631578947368421,
+ "17": 0.2549019607843137,
+ "18": 0.27450980392156865,
+ "19": 0.18333333333333332,
+ "20": 0.275,
+ "21": 0.18095238095238095,
+ "22": 0.2571428571428571,
+ "23": 0.1619047619047619,
+ "24": 0.27472527472527475,
+ "25": 0.3333333333333333,
+ "26": 0.32051282051282054,
+ "27": 0.38461538461538464,
+ "28": 0.2878787878787879,
+ "29": 0.21212121212121213,
+ "30": 0.2727272727272727,
+ "31": 0.19696969696969696,
+ "32": 0.3090909090909091,
+ "33": 0.32727272727272727,
+ "34": 0.23636363636363636,
+ "35": 0.34545454545454546,
+ "36": 0.41818181818181815,
+ "37": 0.35555555555555557,
+ "38": 0.2,
+ "39": 0.4666666666666667,
+ "40": 0.3333333333333333,
+ "41": 0.4722222222222222,
+ "42": 0.3888888888888889,
+ "43": 0.5277777777777778,
+ "44": 0.3888888888888889,
+ "45": 0.35714285714285715,
+ "46": 0.5,
+ "47": 0.42857142857142855,
+ "48": 0.5,
+ "49": 0.4642857142857143,
+ "50": 0.39285714285714285,
+ "51": 0.47619047619047616,
+ "52": 0.47619047619047616,
+ "53": 0.3333333333333333,
+ "54": 0.5238095238095238,
+ "55": 0.4,
+ "56": 0.3333333333333333,
+ "57": 0.4,
+ "58": 0.3333333333333333,
+ "59": 0.4,
+ "60": 0.6,
+ "61": 0.6,
+ "62": 0.4666666666666667,
+ "63": 0.6666666666666666,
+ "64": 0.6,
+ "65": 0.4,
+ "66": 0.4,
+ "67": 0.4,
+ "68": 0.5,
+ "69": 0.7,
+ "70": 0.7,
+ "71": 0.7,
+ "72": 0.7,
+ "73": 0.5,
+ "74": 0.8333333333333334,
+ "75": 0.6666666666666666,
+ "76": 0.8333333333333334,
+ "77": 0.6666666666666666,
+ "78": 1.0,
+ "79": 0.6666666666666666,
+ "80": 1.0,
+ "81": 0.6666666666666666,
+ "82": 1.0,
+ "83": 1.0,
+ "84": 1.0,
+ "85": 1.0,
+ "86": 1.0,
+ "87": 1.0,
+ "88": 1.0,
+ "89": 1.0,
+ "90": 1.0,
+ "91": 1.0,
+ "92": 1.0,
+ "93": 1.0,
+ "94": 1.0,
+ "95": 1.0,
+ "96": 1.0,
+ "97": 1.0,
+ "98": 1.0,
+ "99": 1.0,
+ "100": 1.0,
+ "101": 1.0,
+ "102": 1.0,
+ "103": 1.0,
+ "104": 1.0,
+ "105": 1.0,
+ "106": 1.0,
+ "107": 1.0,
+ "108": 1.0,
+ "109": 1.0,
+ "110": 1.0,
+ "111": 1.0,
+ "112": 1.0,
+ "113": 1.0,
+ "114": 1.0,
+ "115": 1.0,
+ "116": 1.0,
+ "117": 1.0
+ },
+ "gods": [
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_null_resource_edge_services",
+ "label": "null_resource.edge_services",
+ "degree": 24
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_create",
+ "label": "null_resource.pimox_template_vm_create",
+ "degree": 19
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_provisioning_host",
+ "label": "null_resource.provisioning_host",
+ "degree": 19
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_worker",
+ "label": "null_resource.kubeadm_worker",
+ "degree": 18
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_seal",
+ "label": "null_resource.pimox_template_vm_seal",
+ "degree": 18
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_local_preseed_cfg",
+ "label": "local.preseed_cfg",
+ "degree": 17
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf",
+ "label": "local.default_conf",
+ "degree": 14
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_calico_ready",
+ "label": "null_resource.calico_ready",
+ "degree": 14
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_local_config_hash",
+ "label": "local.config_hash",
+ "degree": 13
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_control_plane",
+ "label": "null_resource.kubeadm_control_plane",
+ "degree": 12
+ }
+ ],
+ "surprises": [
+ {
+ "source": "local.application_sources",
+ "target": "var.website_image_ref",
+ "source_files": [
+ "bootstrap/apps/main.tf",
+ "bootstrap/apps/variables.tf"
+ ],
+ "confidence": "EXTRACTED",
+ "relation": "references",
+ "why": "peripheral node `var.website_image_ref` unexpectedly reaches hub `local.application_sources`"
+ },
+ {
+ "source": "local.application_sources",
+ "target": "var.gitops_repo_url",
+ "source_files": [
+ "bootstrap/apps/main.tf",
+ "bootstrap/apps/variables.tf"
+ ],
+ "confidence": "EXTRACTED",
+ "relation": "references",
+ "why": "peripheral node `var.gitops_repo_url` unexpectedly reaches hub `local.application_sources`"
+ },
+ {
+ "source": "output.kubeconfig_path",
+ "target": "var.kubeconfig_path",
+ "source_files": [
+ "bootstrap/cluster/main.tf",
+ "bootstrap/cluster/variables.tf"
+ ],
+ "confidence": "EXTRACTED",
+ "relation": "references",
+ "why": "peripheral node `output.kubeconfig_path` unexpectedly reaches hub `var.kubeconfig_path`"
+ },
+ {
+ "source": "null_resource.kubeadm_control_plane",
+ "target": "var.control_plane_advertise_address",
+ "source_files": [
+ "bootstrap/cluster/main.tf",
+ "bootstrap/cluster/variables.tf"
+ ],
+ "confidence": "EXTRACTED",
+ "relation": "references",
+ "why": "peripheral node `var.control_plane_advertise_address` unexpectedly reaches hub `null_resource.kubeadm_control_plane`"
+ },
+ {
+ "source": "null_resource.kubeadm_control_plane",
+ "target": "var.kubeconfig_owner",
+ "source_files": [
+ "bootstrap/cluster/main.tf",
+ "bootstrap/cluster/variables.tf"
+ ],
+ "confidence": "EXTRACTED",
+ "relation": "references",
+ "why": "peripheral node `var.kubeconfig_owner` unexpectedly reaches hub `null_resource.kubeadm_control_plane`"
+ }
+ ],
+ "questions": [
+ {
+ "type": "isolated_nodes",
+ "question": "What connects `provider.registry.opentofu.org/hashicorp/kubernetes`, `provider.registry.opentofu.org/hashicorp/external`, `provider.registry.opentofu.org/hashicorp/null` to the rest of the system?",
+ "why": "61 weakly-connected nodes found - possible documentation gaps or missing edges."
+ },
+ {
+ "type": "low_cohesion",
+ "question": "Should `provisioning/variables.tf` be split into smaller, more focused modules?",
+ "why": "Cohesion score 0.054212454212454214 - nodes in this community are weakly interconnected."
+ },
+ {
+ "type": "low_cohesion",
+ "question": "Should `jeannie` be split into smaller, more focused modules?",
+ "why": "Cohesion score 0.038542607648298706 - nodes in this community are weakly interconnected."
+ },
+ {
+ "type": "low_cohesion",
+ "question": "Should `jeannie script` be split into smaller, more focused modules?",
+ "why": "Cohesion score 0.04229104229104229 - nodes in this community are weakly interconnected."
+ },
+ {
+ "type": "low_cohesion",
+ "question": "Should `platform/main.tf` be split into smaller, more focused modules?",
+ "why": "Cohesion score 0.07017543859649122 - nodes in this community are weakly interconnected."
+ },
+ {
+ "type": "low_cohesion",
+ "question": "Should `main.go` be split into smaller, more focused modules?",
+ "why": "Cohesion score 0.0841813135985199 - nodes in this community are weakly interconnected."
+ },
+ {
+ "type": "low_cohesion",
+ "question": "Should `edge/variables.tf` be split into smaller, more focused modules?",
+ "why": "Cohesion score 0.113107822410148 - nodes in this community are weakly interconnected."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/graphify-out/.graphify_labels.json b/graphify-out/.graphify_labels.json
new file mode 100644
index 0000000..5be0d04
--- /dev/null
+++ b/graphify-out/.graphify_labels.json
@@ -0,0 +1 @@
+{"0": "provisioning/variables.tf", "1": "jeannie", "2": "jeannie script", "3": "platform/main.tf", "4": "main.go", "5": "edge/variables.tf", "6": "truthy", "7": "apps", "8": "cluster/variables.tf", "9": "jeannie-unit", "10": "pimox_ssh", "11": "main.py", "12": "heal", "13": "security-scan", "14": "pathlib", "15": "disabled_value", "16": "workers", "17": "render-service-catalog", "18": "capacity-report", "19": "translation.js", "20": "incident-commander", "21": "media-cruncher.js", "22": "build-homelab-ai-index", "23": "run_tofu_stack", "24": "seed-heimdall.py", "25": "prompt-injection-lab", "26": "configure-arr.py", "27": "ai-evals", "28": "translate.php", "29": "exporter.py", "30": "seed-uptime-kuma.js", "31": "validate-homelab", "32": "apps/variables.tf", "33": "rpi-services/bootstrap.sh", "34": "run_step", "35": "model-observe", "36": "restore-drill", "37": "ai-scheduler", "38": "renovate.json", "39": "access-audit", "40": "query-homelab-ai-index", "41": "ideas_helper.php", "42": "explain", "43": "resource-budget", "44": "safety-case", "45": "validate-tailnet-policy", "46": "cert-check", "47": "promote", "48": "security-attack-path", "49": "security-logs", "50": "synthetic-checks", "51": "theme.js", "52": "cv-theme.js", "53": "prepare_cluster_worker_var_file", "54": "red-blue-loop", "55": "architecture-simulator.js", "56": "dev-toolbelt.js", "57": "network-quality.js", "58": "sentiment-sandbox.js", "59": "secrets_init", "60": "backup-status", "61": "control-plane", "62": "recover-plan", "63": "release-snapshot", "64": "render-docs", "65": "scorecard", "66": "model-drift.js", "67": "privacy-redactor.js", "68": "lang_helper.php", "69": "blockchain-wallet", "70": "change-journal", "71": "grafana-dashboards", "72": "kubeconfig-readonly", "73": "platform/.terraform.lock.hcl", "74": "blockchain-devnet", "75": "capacity-limits", "76": "recover-power", "77": "route-inventory", "78": "render-static-pages.sh", "79": "save_lang.php", "80": "addIdeaText", "81": "cluster/.terraform.lock.hcl", "82": "matrix-server/bootstrap.sh", "83": "ask", "84": "blockchain-test", "85": "capacity-advisor", "86": "homelab-map", "87": "impact", "88": "jeannie-core", "89": "report-render", "90": "review-last-change", "91": "sw.js", "92": "traveler-tools.js", "93": "blog.php", "94": "homelab-tree.php", "95": "translation_ui.php", "96": "save_idea.php", "97": "start-website.sh", "98": "apps/.terraform.lock.hcl", "99": "edge/.terraform.lock.hcl", "100": "provisioning/.terraform.lock.hcl", "101": "arr-stack/bootstrap.sh", "102": "omniroute/bootstrap.sh", "103": "backup-youtube.sh", "104": "artifact-cache", "105": "gitops-status", "106": "golden-ledger", "107": "validate-homelab-inventory", "108": "cv.php", "109": "demos.php", "110": "index.php", "111": "en.php", "112": "nah.php", "113": "footer.php", "114": "header.php", "115": "theme_toolbar.php", "116": "visitor_ideas.php", "117": "my-homelab-configs"}
\ No newline at end of file
diff --git a/graphify-out/.graphify_labels.json.sig b/graphify-out/.graphify_labels.json.sig
new file mode 100644
index 0000000..5e03f9f
--- /dev/null
+++ b/graphify-out/.graphify_labels.json.sig
@@ -0,0 +1 @@
+{"0": "361c2533c3830080", "1": "0012ba0e94ee6d3f", "2": "6364ab89be69a22a", "3": "983a9ae683df104a", "4": "b4a24c43b8463396", "5": "648e78dca449760b", "6": "9c9c2cd3e2423884", "7": "0cb019e33c4c040d", "8": "3e48e30a3fae980c", "9": "9bf08f94e5b39c00", "10": "6ce3c219502bee50", "11": "02c665a4010c9ebf", "12": "ef95b3c0f9f340f3", "13": "ca1731f4859b6ca9", "14": "b380e48675e3e39e", "15": "993f6c426f4ba271", "16": "d401f23a77dc0212", "17": "cd4a2c4672683dfc", "18": "976a01840c0408db", "19": "49c3290c71ce5629", "20": "b5155ca4b3e625c9", "21": "628efcf59ac32cfa", "22": "e9f135170ca79710", "23": "09a4da58fe588913", "24": "ce0247708e4d113f", "25": "af5b8f9abe987123", "26": "f9491d3c909ec9e0", "27": "227fecde47cc4c3e", "28": "b3a485a7c3645ce0", "29": "9b48e99bd12b53ac", "30": "93753339026f51c8", "31": "a50a00da8fe37bce", "32": "0b16950c838c926f", "33": "52a860f117ed75f9", "34": "e942613ec2e30282", "35": "ccb632c44c8e4354", "36": "9b9e744c634c28c0", "37": "d13b39500388a032", "38": "0601fb0287d5e141", "39": "047cb9003d589eaf", "40": "2a6cce41d9d0b52b", "41": "75feb7716a561a46", "42": "9e706659bf9e01c7", "43": "f434343abdbfc71b", "44": "2bedd61118b0ec00", "45": "c2961fba02ddd2f0", "46": "5516b77a423e82c6", "47": "d028e78574e5710b", "48": "650db77ccad0dc44", "49": "08cb7085012761c2", "50": "8aa1b717d860ff7d", "51": "bbf1065fc0154c95", "52": "3c2d75b9ed4d8504", "53": "156525e980c797ae", "54": "d5dbc881e61c643d", "55": "fc74ca7469c9b5a5", "56": "bdaa9a253c1d1fbc", "57": "5a2da5c79a474c44", "58": "af7fd037b9ce54eb", "59": "0e20833dd0f5b0a6", "60": "fd81679387ac4e73", "61": "fd7544a67b6ea738", "62": "891cbcefcfdfd4e4", "63": "2dde45944cf82630", "64": "27a967b9022aef28", "65": "8223a89130d43dea", "66": "47866f94295192b7", "67": "a49b8a23ea0639d8", "68": "fefcfe25a4784f7c", "69": "84bf09a2774f7ffe", "70": "357e3a865faaffe4", "71": "528538df1814a6e5", "72": "a812f17a750f1b47", "73": "0163cf69de4eb863", "74": "652ac5f536268d18", "75": "742d05c7e37a977e", "76": "e3c656e2ea705f76", "77": "60350ee08a0a1369", "78": "f50b23c92b0e47d6", "79": "1b579eb5f1d0f48f", "80": "928737212801ab32", "81": "48370f459c27a50d", "82": "7df0d29684696c5a", "83": "2ebc50403a2e7e3c", "84": "2f563a9b6dfe8ff9", "85": "f78ea95dc6795fa8", "86": "e37a8bb86c965261", "87": "fddea291f8e2afb9", "88": "f94822292abc3933", "89": "5b75a65edef83cbe", "90": "725250b365101c89", "91": "aa5c6aada85292e9", "92": "e067e69e418abd74", "93": "1756af9964fec32d", "94": "541728b56af469fa", "95": "6d534bae6f81adc4", "96": "d9a5fa37255e8fe6", "97": "502ea5514aa7052c", "98": "800e11345b48d54e", "99": "a604a3ff45b30273", "100": "f98273201655cba4", "101": "0bc4d029db3b5de9", "102": "2c778c812cf4bb15", "103": "69e971cdf15baac6", "104": "4747359f911887cd", "105": "95ab93639f0b121c", "106": "fb90f6e5d0fd47d0", "107": "28610583674851eb", "108": "16d248290dd50bc2", "109": "8fd01641c1addfcd", "110": "4a0b3371339e77cf", "111": "fbc01c67627e1702", "112": "5d0cbcfc66c21802", "113": "1f59636464cf9fff", "114": "1fb64a2de4a54977", "115": "10cda0d2038faa47", "116": "7dcc13c2011c46c7", "117": "b2a449b19c058ca6"}
\ No newline at end of file
diff --git a/graphify-out/.graphify_root b/graphify-out/.graphify_root
new file mode 100644
index 0000000..657b68e
--- /dev/null
+++ b/graphify-out/.graphify_root
@@ -0,0 +1 @@
+/home/jv/my-homelab-configs
\ No newline at end of file
diff --git a/graphify-out/GRAPH_REPORT.md b/graphify-out/GRAPH_REPORT.md
new file mode 100644
index 0000000..45ed3d6
--- /dev/null
+++ b/graphify-out/GRAPH_REPORT.md
@@ -0,0 +1,465 @@
+# Graph Report - my-homelab-configs (2026-09-18)
+
+## Corpus Check
+- cluster-only mode — file stats not available
+
+## Summary
+- 1332 nodes · 2793 edges · 118 communities (73 shown, 45 thin omitted)
+- Extraction: 100% EXTRACTED · 0% INFERRED · 0% AMBIGUOUS · INFERRED: 11 edges (avg confidence: 0.8)
+- Token cost: 0 input · 0 output
+
+## Graph Freshness
+- Built from commit: `e8d39e55`
+- Run `git rev-parse HEAD` and compare to check if the graph is stale.
+- Run `graphify update .` after code changes (no API cost).
+
+## Community Hubs (Navigation)
+- provisioning/variables.tf
+- jeannie
+- jeannie script
+- platform/main.tf
+- main.go
+- edge/variables.tf
+- truthy
+- apps
+- cluster/variables.tf
+- jeannie-unit
+- pimox_ssh
+- main.py
+- heal
+- security-scan
+- pathlib
+- disabled_value
+- workers
+- render-service-catalog
+- capacity-report
+- translation.js
+- incident-commander
+- media-cruncher.js
+- build-homelab-ai-index
+- run_tofu_stack
+- seed-heimdall.py
+- prompt-injection-lab
+- configure-arr.py
+- ai-evals
+- translate.php
+- exporter.py
+- seed-uptime-kuma.js
+- validate-homelab
+- apps/variables.tf
+- rpi-services/bootstrap.sh
+- run_step
+- model-observe
+- restore-drill
+- ai-scheduler
+- renovate.json
+- access-audit
+- query-homelab-ai-index
+- ideas_helper.php
+- explain
+- resource-budget
+- safety-case
+- validate-tailnet-policy
+- cert-check
+- promote
+- security-attack-path
+- security-logs
+- synthetic-checks
+- theme.js
+- cv-theme.js
+- prepare_cluster_worker_var_file
+- red-blue-loop
+- architecture-simulator.js
+- dev-toolbelt.js
+- network-quality.js
+- sentiment-sandbox.js
+- secrets_init
+- backup-status
+- control-plane
+- recover-plan
+- release-snapshot
+- render-docs
+- scorecard
+- model-drift.js
+- privacy-redactor.js
+- lang_helper.php
+- blockchain-wallet
+- change-journal
+- grafana-dashboards
+- kubeconfig-readonly
+- platform/.terraform.lock.hcl
+- blockchain-devnet
+- capacity-limits
+- recover-power
+- route-inventory
+- render-static-pages.sh
+- addIdeaText
+- cluster/.terraform.lock.hcl
+- matrix-server/bootstrap.sh
+- ask
+- blockchain-test
+- capacity-advisor
+- homelab-map
+- impact
+- jeannie-core
+- report-render
+- review-last-change
+- sw.js
+- homelab-tree.php
+- translation_ui.php
+- start-website.sh
+- apps/.terraform.lock.hcl
+- edge/.terraform.lock.hcl
+- provisioning/.terraform.lock.hcl
+- arr-stack/bootstrap.sh
+- omniroute/bootstrap.sh
+- backup-youtube.sh
+- artifact-cache
+- gitops-status
+- golden-ledger
+- validate-homelab-inventory
+- my-homelab-configs
+
+## God Nodes (most connected - your core abstractions)
+1. `null_resource.edge_services` - 24 edges
+2. `null_resource.pimox_template_vm_create` - 19 edges
+3. `null_resource.provisioning_host` - 19 edges
+4. `null_resource.kubeadm_worker` - 18 edges
+5. `null_resource.pimox_template_vm_seal` - 18 edges
+6. `local.preseed_cfg` - 17 edges
+7. `local.default_conf` - 14 edges
+8. `null_resource.calico_ready` - 14 edges
+9. `local.config_hash` - 13 edges
+10. `null_resource.kubeadm_control_plane` - 12 edges
+
+## Surprising Connections (you probably didn't know these)
+- `local.application_sources` --references--> `var.website_image_ref` [EXTRACTED]
+ bootstrap/apps/main.tf → bootstrap/apps/variables.tf
+- `local.application_sources` --references--> `var.gitops_repo_url` [EXTRACTED]
+ bootstrap/apps/main.tf → bootstrap/apps/variables.tf
+- `output.kubeconfig_path` --references--> `var.kubeconfig_path` [EXTRACTED]
+ bootstrap/cluster/main.tf → bootstrap/cluster/variables.tf
+- `null_resource.kubeadm_control_plane` --references--> `var.control_plane_advertise_address` [EXTRACTED]
+ bootstrap/cluster/main.tf → bootstrap/cluster/variables.tf
+- `null_resource.kubeadm_control_plane` --references--> `var.kubeconfig_owner` [EXTRACTED]
+ bootstrap/cluster/main.tf → bootstrap/cluster/variables.tf
+
+## Import Cycles
+- None detected.
+
+## Communities (118 total, 45 thin omitted)
+
+### Community 0 - "provisioning/variables.tf"
+Cohesion: 0.05
+Nodes (88): Terraform module: bootstrap/provisioning, local.config_hash, local.debian_netboot_base_url, local.dnsmasq_conf, local.golden_node_prepare, local.grub_cfg, local.http_root, local.kernel_cgroup_boot_options (+80 more)
+
+### Community 1 - "jeannie"
+Cohesion: 0.04
+Nodes (52): ai_index(), backup_tofu_state(), bootstrap_gitea_repo(), cleanup_calico_links(), cleanup_calico_runtime_files(), cleanup_iptables(), cleanup_mounts(), cleanup_node() (+44 more)
+
+### Community 2 - "jeannie script"
+Cohesion: 0.04
+Nodes (78): jeannie script, access_audit(), agent_sandbox(), ai_evals(), ai_memory(), ai_scheduler(), artifact_cache(), ask_homelab() (+70 more)
+
+### Community 3 - "platform/main.tf"
+Cohesion: 0.07
+Nodes (74): Terraform module: bootstrap/platform, helm_release.argocd, helm_release.calico, helm_release.calico_crds, helm_release.extra_tools, helm_release.kyverno, helm_release.kyverno_policies, helm_release.loki (+66 more)
+
+### Community 4 - "main.go"
+Cohesion: 0.08
+Nodes (45): envDefault(), executeDAG(), filterReportRows(), includeReportRow(), main(), normalizeStatus(), orderedReportAreas(), parseReportRows() (+37 more)
+
+### Community 5 - "edge/variables.tf"
+Cohesion: 0.11
+Nodes (42): Terraform module: bootstrap/edge, local.compose_file, local.config_hash, local.default_conf, local.default_conf_matrix, local.default_vcl, local.haproxy_cfg, local.heimdall_backend_host (+34 more)
+
+### Community 6 - "truthy"
+Cohesion: 0.15
+Nodes (33): ai_check(), backstage_brain_enabled(), backstage_brain_note(), doctor_cluster(), doctor_edge(), doctor_gitea(), doctor_rpi(), doctor_versions() (+25 more)
+
+### Community 7 - "apps"
+Cohesion: 0.08
+Nodes (34): apps(), apps_registry_endpoint(), demos_image_is_current(), demos_registry_endpoint(), demos_source_hash(), dump_argocd_debug(), dump_namespace_debug(), ensure_cosign_available() (+26 more)
+
+### Community 8 - "cluster/variables.tf"
+Cohesion: 0.14
+Nodes (31): Terraform module: bootstrap/cluster, local.control_plane_node_label_pairs, local.node_label_pairs, local.worker_node_label_pairs, null_resource.kube_system_resource_policy, null_resource.kubeadm_control_plane, null_resource.kubeadm_worker, null_resource.node_labels (+23 more)
+
+### Community 9 - "jeannie-unit"
+Cohesion: 0.20
+Nodes (26): jeannie-unit script, assert_command_failure_contains(), assert_command_success(), assert_contains(), assert_eq(), fail(), JEANNIE_LIBRARY_MODE, pass() (+18 more)
+
+### Community 10 - "pimox_ssh"
+Cohesion: 0.13
+Nodes (27): cpuset_cpu_count(), destroy_pimox_worker_vms(), detect_route_interface(), ensure_pimox_worker_node(), ensure_static_pimox_worker_spec_file(), pimox_generated_mac(), pimox_guest_cpu_count(), pimox_guest_exec_exitcode() (+19 more)
+
+### Community 11 - "main.py"
+Cohesion: 0.13
+Nodes (23): Any, BaseModel, fastapi, fastapi_middleware_cors, get, drift_score(), healthz(), load_model() (+15 more)
+
+### Community 12 - "heal"
+Cohesion: 0.19
+Nodes (23): apply_plan(), build_plan(), clear_failed_action(), command_for(), HealRule, highest_impact(), impact_sort_key(), load_heal_state() (+15 more)
+
+### Community 13 - "security-scan"
+Cohesion: 0.26
+Nodes (19): security-scan script, ensure_report_dir(), lynis_findings(), prepare_security_scans(), print_lynis_fallback_focus(), print_lynis_focus(), print_lynis_llm_focus(), require_docker() (+11 more)
+
+### Community 14 - "pathlib"
+Cohesion: 0.13
+Nodes (17): argparse, json, numpy, pathlib, classify(), load_policy(), main(), print_result() (+9 more)
+
+### Community 15 - "disabled_value"
+Cohesion: 0.16
+Nodes (21): check_edge_ssh(), check_pimox_storage(), configure_pimox_worker_forwarding(), configure_pimox_worker_guest_network(), deploy_heimdall(), deploy_hermes(), deploy_matrix(), deploy_omniroute() (+13 more)
+
+### Community 16 - "workers"
+Cohesion: 0.26
+Nodes (19): workers script, drain_node(), have(), is_skipped(), kubectl_cmd(), list_workers(), node_for_index(), pimox_ssh() (+11 more)
+
+### Community 17 - "render-service-catalog"
+Cohesion: 0.25
+Nodes (17): html, check_file(), host_ip(), host_label(), host_rows(), html_link(), main(), markdown_table() (+9 more)
+
+### Community 18 - "capacity-report"
+Cohesion: 0.27
+Nodes (17): capacity-report script, compact_guidance(), compact_host_capacity(), compact_kubernetes_capacity(), compact_main(), compact_pimox_capacity(), compact_rpi_capacity(), emit() (+9 more)
+
+### Community 19 - "translation.js"
+Cohesion: 0.18
+Nodes (15): actionSpan, badge, browserLang, btn, collectPageTranslations(), detectedSpan, doTranslation(), hidePrompt() (+7 more)
+
+### Community 20 - "incident-commander"
+Cohesion: 0.28
+Nodes (15): Namespace, classify(), first_evidence_lines(), fixture_text(), Incident, incident_for_class(), load_incidents(), main() (+7 more)
+
+### Community 21 - "media-cruncher.js"
+Cohesion: 0.18
+Nodes (14): appendStatus(), createCanvas(), crunchImage(), dropZone, extensionByType, formatBytes(), handleFiles(), maxEdge (+6 more)
+
+### Community 22 - "build-homelab-ai-index"
+Cohesion: 0.26
+Nodes (14): collections, fnmatch, math, build_index(), candidate_files(), chunk_file(), load_patterns(), main() (+6 more)
+
+### Community 23 - "run_tofu_stack"
+Cohesion: 0.16
+Nodes (15): adopt_apps_existing_resources(), adopt_platform_existing_resources(), adopt_tofu_helm_release(), adopt_tofu_kubernetes_manifest(), adopt_tofu_kubernetes_resource(), cluster_control_plane_tracked(), delete_prometheus_stack_storage(), edge_apply() (+7 more)
+
+### Community 24 - "seed-heimdall.py"
+Cohesion: 0.27
+Nodes (11): datetime, columns(), ensure_dashboard_tag(), ensure_public_dashboard(), home_dashboard_tag_id(), quote_identifier(), table_exists(), upsert_links() (+3 more)
+
+### Community 25 - "prompt-injection-lab"
+Cohesion: 0.33
+Nodes (12): dataclasses, Case, defense_response(), fixture_text(), load_cases(), main(), print_list(), print_run() (+4 more)
+
+### Community 26 - "configure-arr.py"
+Cohesion: 0.32
+Nodes (12): apply_import_lists(), ensure_qbittorrent(), ensure_root_folder(), fill_fields(), load_env(), main(), Path, Configure safe baseline ARR app settings from local environment values. (+4 more)
+
+### Community 27 - "ai-evals"
+Cohesion: 0.38
+Nodes (12): Case, fixture_text(), load_cases(), main(), print_list(), print_run(), print_show(), Deterministic eval harness for Jeannie and homelab RAG behavior. (+4 more)
+
+### Community 28 - "translate.php"
+Cohesion: 0.29
+Nodes (7): clean_translate_text(), redis_connect(), redis_encode_command(), redis_read_line(), redis_read_response(), translation_cache_read(), translation_cache_write()
+
+### Community 29 - "exporter.py"
+Cohesion: 0.21
+Nodes (9): BaseHTTPRequestHandler, http_server, collect_metrics(), hex_to_int(), MetricsHandler, rpc(), time, urllib_error (+1 more)
+
+### Community 30 - "seed-uptime-kuma.js"
+Cohesion: 0.27
+Nodes (11): defaultForColumn(), findModuleDirectory(), fs, loadDatabaseModule(), main(), monitorValues(), nowSql(), path (+3 more)
+
+### Community 31 - "validate-homelab"
+Cohesion: 0.20
+Nodes (3): validate-homelab script, main(), run_step()
+
+### Community 32 - "apps/variables.tf"
+Cohesion: 0.31
+Nodes (9): Terraform module: bootstrap/apps, kubernetes_manifest.argocd_application, local.application_sources, provider.kubernetes, var.applications, var.argocd_namespace, var.gitops_repo_url, var.kubeconfig_path (+1 more)
+
+### Community 33 - "rpi-services/bootstrap.sh"
+Cohesion: 0.33
+Nodes (9): configure_docker_root(), install_missing_packages(), resolve_pihole_webpassword(), seed_uptime_kuma_monitors(), bootstrap.sh script, stop_legacy_pihole(), sync_pihole_adlists(), sync_pihole_managed_dns() (+1 more)
+
+### Community 34 - "run_step"
+Cohesion: 0.24
+Nodes (11): jeannie_compact_text(), jeannie_log_start(), jeannie_step_latest_progress_line(), jeannie_step_plan(), jeannie_step_prefix(), jeannie_step_progress(), jeannie_verbose_enabled(), rebuild_cluster() (+3 more)
+
+### Community 35 - "model-observe"
+Cohesion: 0.35
+Nodes (10): ask_ollama(), grade(), main(), offline_answer(), print_prompts(), prompts(), Track local model behavior with stable homelab prompts., report() (+2 more)
+
+### Community 36 - "restore-drill"
+Cohesion: 0.42
+Nodes (10): restore-drill script, check_file(), drill_gitea(), drill_gitops(), drill_pihole(), drill_state(), latest_file(), main() (+2 more)
+
+### Community 37 - "ai-scheduler"
+Cohesion: 0.36
+Nodes (9): csv, as_bool(), main(), Path, Simulate placement for AI-ish homelab workloads., read_tsv(), recommend(), score_node() (+1 more)
+
+### Community 38 - "renovate.json"
+Cohesion: 0.20
+Nodes (9): config:recommended, customManagers, dependencyDashboard, extends, labels, packageRules, prConcurrentLimit, $schema (+1 more)
+
+### Community 39 - "access-audit"
+Cohesion: 0.47
+Nodes (9): access-audit script, git_access(), kubernetes_access(), main(), runner_access(), section(), ssh_inventory(), tailnet_access() (+1 more)
+
+### Community 40 - "query-homelab-ai-index"
+Cohesion: 0.33
+Nodes (9): ask_ollama(), load_index(), main(), Path, Query the local homelab retrieval index and optionally ask Ollama., render_citations(), render_context(), score_chunks() (+1 more)
+
+### Community 41 - "ideas_helper.php"
+Cohesion: 0.47
+Nodes (8): visitor_idea_clean(), visitor_ideas_append(), visitor_ideas_dir(), visitor_ideas_ensure_dir(), visitor_ideas_file(), visitor_ideas_rate_file(), visitor_ideas_read(), visitor_ideas_recently_submitted()
+
+### Community 42 - "explain"
+Cohesion: 0.39
+Nodes (7): explain script, explain_output(), is_read_only_command(), is_read_only_subcommand(), main(), run_target(), usage()
+
+### Community 43 - "resource-budget"
+Cohesion: 0.53
+Nodes (8): resource-budget script, fail(), have(), host_budget(), kubernetes_budget(), section(), usage(), warn()
+
+### Community 44 - "safety-case"
+Cohesion: 0.39
+Nodes (8): changed_files(), git_lines(), load_rules(), main(), matched_rules(), print_safety_case(), Generate a read-only safety case for homelab changes., risk_order()
+
+### Community 45 - "validate-tailnet-policy"
+Cohesion: 0.36
+Nodes (7): re, main(), parse_simple_inventory(), Path, Validate the repo-managed Tailscale policy without contacting Tailscale., require(), strip_hujson()
+
+### Community 46 - "cert-check"
+Cohesion: 0.50
+Nodes (6): cert-check script, have(), inventory_hosts(), inventory_scalar(), mark_fail(), section()
+
+### Community 47 - "promote"
+Cohesion: 0.43
+Nodes (7): checks(), main(), plan(), Plan and validate canary promotion gates., rollback(), validate(), subprocess
+
+### Community 48 - "security-attack-path"
+Cohesion: 0.50
+Nodes (7): security-attack-path script, jsonpath_or_unknown(), kubectl_ro(), main(), require_kubectl(), section(), usage()
+
+### Community 49 - "security-logs"
+Cohesion: 0.46
+Nodes (7): security-logs script, collect_gitea_logs(), collect_traefik_logs(), ensure_report_dir(), main(), print_matches(), timestamp()
+
+### Community 50 - "synthetic-checks"
+Cohesion: 0.39
+Nodes (5): synthetic-checks script, check(), kubectl_ok(), section(), warn_check()
+
+### Community 51 - "theme.js"
+Cohesion: 0.48
+Nodes (4): getDemoThemeButtons(), normalizeDemoTheme(), setDemoTheme(), storeDemoTheme()
+
+### Community 52 - "cv-theme.js"
+Cohesion: 0.48
+Nodes (5): cvPortrait, getSiteThemeButtons(), normalizeSiteTheme(), setSiteTheme(), storeSiteTheme()
+
+### Community 53 - "prepare_cluster_worker_var_file"
+Cohesion: 0.33
+Nodes (7): cluster_worker_var_file_has_workers(), ensure_cluster_worker_var_file(), plan_homelab(), prepare_cluster_worker_var_file(), run_tofu_plan_stack(), tofu_stack_from_plan_target(), write_cluster_worker_var_file()
+
+### Community 54 - "red-blue-loop"
+Cohesion: 0.52
+Nodes (6): checks(), ledger(), main(), plan(), Run or plan the homelab red-team/blue-team loop., run()
+
+### Community 55 - "architecture-simulator.js"
+Cohesion: 0.40
+Nodes (5): box(), canvas, ctx, draw(), state
+
+### Community 56 - "dev-toolbelt.js"
+Cohesion: 0.33
+Nodes (3): input, logFilter, output
+
+### Community 57 - "network-quality.js"
+Cohesion: 0.40
+Nodes (5): canvas, ctx, draw(), measure(), samples
+
+### Community 58 - "sentiment-sandbox.js"
+Cohesion: 0.33
+Nodes (4): input, negative, output, positive
+
+### Community 59 - "secrets_init"
+Cohesion: 0.40
+Nodes (6): ensure_sops_age_tools(), secrets_check(), secrets_check_file(), secrets_init(), sops_age_key_file(), sops_age_recipient()
+
+### Community 60 - "backup-status"
+Cohesion: 0.60
+Nodes (5): backup-status script, check_latest(), file_age_hours(), latest_file(), section()
+
+### Community 61 - "control-plane"
+Cohesion: 0.60
+Nodes (5): control-plane script, require_kubectl(), show_non_system_pods(), show_taints(), usage()
+
+### Community 62 - "recover-plan"
+Cohesion: 0.47
+Nodes (3): recover-plan script, check(), main()
+
+### Community 63 - "release-snapshot"
+Cohesion: 0.67
+Nodes (5): release-snapshot script, have(), latest_file(), run_optional(), section()
+
+### Community 64 - "render-docs"
+Cohesion: 0.60
+Nodes (5): render-docs script, main(), read_inventory_value(), render_template(), usage()
+
+### Community 66 - "model-drift.js"
+Cohesion: 0.40
+Nodes (3): accuracy, canvas, ctx
+
+### Community 69 - "blockchain-wallet"
+Cohesion: 0.70
+Nodes (4): blockchain-wallet script, require_private_key(), run_cast(), usage()
+
+### Community 70 - "change-journal"
+Cohesion: 0.70
+Nodes (4): change-journal script, append_entry(), latest_entries(), timestamp()
+
+### Community 71 - "grafana-dashboards"
+Cohesion: 0.70
+Nodes (4): grafana-dashboards script, apply_dashboards(), list_dashboards(), usage()
+
+### Community 72 - "kubeconfig-readonly"
+Cohesion: 0.70
+Nodes (4): kubeconfig-readonly script, main(), require_kubectl(), usage()
+
+### Community 73 - "platform/.terraform.lock.hcl"
+Cohesion: 0.50
+Nodes (3): provider.registry.opentofu.org/hashicorp/helm, provider.registry.opentofu.org/hashicorp/kubernetes, provider.registry.opentofu.org/hashicorp/null
+
+### Community 74 - "blockchain-devnet"
+Cohesion: 0.83
+Nodes (3): blockchain-devnet script, rpc_call(), usage()
+
+### Community 76 - "recover-power"
+Cohesion: 0.83
+Nodes (3): recover-power script, run_optional(), run_step()
+
+## Knowledge Gaps
+- **61 isolated node(s):** `provider.registry.opentofu.org/hashicorp/kubernetes`, `provider.registry.opentofu.org/hashicorp/external`, `provider.registry.opentofu.org/hashicorp/null`, `provider.registry.opentofu.org/hashicorp/null`, `provider.registry.opentofu.org/hashicorp/helm` (+56 more)
+ These have ≤1 connection - possible missing edges or undocumented components. (Counts symbols only; 227 node(s) total have ≤1 connection when file, concept and rationale nodes are included.)
+- **45 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
+
+## Suggested Questions
+_Questions this graph is uniquely positioned to answer:_
+
+- **What connects `provider.registry.opentofu.org/hashicorp/kubernetes`, `provider.registry.opentofu.org/hashicorp/external`, `provider.registry.opentofu.org/hashicorp/null` to the rest of the system?**
+ _61 weakly-connected nodes found - possible documentation gaps or missing edges._
+- **Should `provisioning/variables.tf` be split into smaller, more focused modules?**
+ _Cohesion score 0.054212454212454214 - nodes in this community are weakly interconnected._
+- **Should `jeannie` be split into smaller, more focused modules?**
+ _Cohesion score 0.038542607648298706 - nodes in this community are weakly interconnected._
+- **Should `jeannie script` be split into smaller, more focused modules?**
+ _Cohesion score 0.04229104229104229 - nodes in this community are weakly interconnected._
+- **Should `platform/main.tf` be split into smaller, more focused modules?**
+ _Cohesion score 0.07017543859649122 - nodes in this community are weakly interconnected._
+- **Should `main.go` be split into smaller, more focused modules?**
+ _Cohesion score 0.0841813135985199 - nodes in this community are weakly interconnected._
+- **Should `edge/variables.tf` be split into smaller, more focused modules?**
+ _Cohesion score 0.113107822410148 - nodes in this community are weakly interconnected._
\ No newline at end of file
diff --git a/graphify-out/GRAPH_TREE.html b/graphify-out/GRAPH_TREE.html
new file mode 100644
index 0000000..e846a9e
--- /dev/null
+++ b/graphify-out/GRAPH_TREE.html
@@ -0,0 +1,363 @@
+
+
+
+
+ / — graphify tree viewer
+
+
+
+ / — Knowledge Graph
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/graphify-out/cache/ast/v0.9.64-s4/000c733963a63c11216acf1ff74316f5353f68a12cee61ecbb055dc88ae5d819.json b/graphify-out/cache/ast/v0.9.64-s4/000c733963a63c11216acf1ff74316f5353f68a12cee61ecbb055dc88ae5d819.json
new file mode 100644
index 0000000..f24fa79
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/000c733963a63c11216acf1ff74316f5353f68a12cee61ecbb055dc88ae5d819.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_model_observe", "label": "model-observe", "file_type": "code", "source_file": "scripts/model-observe", "source_location": "L1"}, {"id": "$graphify-root$_scripts_model_observe_prompts", "label": "prompts()", "file_type": "code", "source_file": "scripts/model-observe", "source_location": "L22", "_callable": true}, {"id": "$graphify-root$_scripts_model_observe_split_terms", "label": "split_terms()", "file_type": "code", "source_file": "scripts/model-observe", "source_location": "L27", "_callable": true}, {"id": "$graphify-root$_scripts_model_observe_offline_answer", "label": "offline_answer()", "file_type": "code", "source_file": "scripts/model-observe", "source_location": "L33", "_callable": true}, {"id": "$graphify-root$_scripts_model_observe_ask_ollama", "label": "ask_ollama()", "file_type": "code", "source_file": "scripts/model-observe", "source_location": "L42", "_callable": true}, {"id": "$graphify-root$_scripts_model_observe_grade", "label": "grade()", "file_type": "code", "source_file": "scripts/model-observe", "source_location": "L61", "_callable": true}, {"id": "$graphify-root$_scripts_model_observe_run", "label": "run()", "file_type": "code", "source_file": "scripts/model-observe", "source_location": "L75", "_callable": true}, {"id": "$graphify-root$_scripts_model_observe_report", "label": "report()", "file_type": "code", "source_file": "scripts/model-observe", "source_location": "L115", "_callable": true}, {"id": "$graphify-root$_scripts_model_observe_print_prompts", "label": "print_prompts()", "file_type": "code", "source_file": "scripts/model-observe", "source_location": "L136", "_callable": true}, {"id": "$graphify-root$_scripts_model_observe_main", "label": "main()", "file_type": "code", "source_file": "scripts/model-observe", "source_location": "L142", "_callable": true}, {"id": "$graphify-root$_scripts_model_observe_rationale_2", "label": "Track local model behavior with stable homelab prompts.", "file_type": "rationale", "source_file": "scripts/model-observe", "source_location": "L2"}], "edges": [{"source": "$graphify-root$_scripts_model_observe", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/model-observe", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_scripts_model_observe", "target": "csv", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/model-observe", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_scripts_model_observe", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/model-observe", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_scripts_model_observe", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/model-observe", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_scripts_model_observe", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/model-observe", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_scripts_model_observe", "target": "urllib_error", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/model-observe", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_scripts_model_observe", "target": "urllib_request", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/model-observe", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_scripts_model_observe", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/model-observe", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_scripts_model_observe", "target": "$graphify-root$_scripts_model_observe_prompts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/model-observe", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_scripts_model_observe", "target": "$graphify-root$_scripts_model_observe_split_terms", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/model-observe", "source_location": "L27", "weight": 1.0}, {"source": "$graphify-root$_scripts_model_observe", "target": "$graphify-root$_scripts_model_observe_offline_answer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/model-observe", "source_location": "L33", "weight": 1.0}, {"source": "$graphify-root$_scripts_model_observe", "target": "$graphify-root$_scripts_model_observe_ask_ollama", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/model-observe", "source_location": "L42", "weight": 1.0}, {"source": "$graphify-root$_scripts_model_observe", "target": "$graphify-root$_scripts_model_observe_grade", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/model-observe", "source_location": "L61", "weight": 1.0}, {"source": "$graphify-root$_scripts_model_observe", "target": "$graphify-root$_scripts_model_observe_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/model-observe", "source_location": "L75", "weight": 1.0}, {"source": "$graphify-root$_scripts_model_observe", "target": "$graphify-root$_scripts_model_observe_report", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/model-observe", "source_location": "L115", "weight": 1.0}, {"source": "$graphify-root$_scripts_model_observe", "target": "$graphify-root$_scripts_model_observe_print_prompts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/model-observe", "source_location": "L136", "weight": 1.0}, {"source": "$graphify-root$_scripts_model_observe", "target": "$graphify-root$_scripts_model_observe_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/model-observe", "source_location": "L142", "weight": 1.0}, {"source": "$graphify-root$_scripts_model_observe_grade", "target": "$graphify-root$_scripts_model_observe_split_terms", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/model-observe", "source_location": "L63", "weight": 1.0}, {"source": "$graphify-root$_scripts_model_observe_run", "target": "$graphify-root$_scripts_model_observe_prompts", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/model-observe", "source_location": "L83", "weight": 1.0}, {"source": "$graphify-root$_scripts_model_observe_run", "target": "$graphify-root$_scripts_model_observe_offline_answer", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/model-observe", "source_location": "L85", "weight": 1.0}, {"source": "$graphify-root$_scripts_model_observe_run", "target": "$graphify-root$_scripts_model_observe_ask_ollama", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/model-observe", "source_location": "L89", "weight": 1.0}, {"source": "$graphify-root$_scripts_model_observe_run", "target": "$graphify-root$_scripts_model_observe_grade", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/model-observe", "source_location": "L93", "weight": 1.0}, {"source": "$graphify-root$_scripts_model_observe_print_prompts", "target": "$graphify-root$_scripts_model_observe_prompts", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/model-observe", "source_location": "L137", "weight": 1.0}, {"source": "$graphify-root$_scripts_model_observe_main", "target": "$graphify-root$_scripts_model_observe_print_prompts", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/model-observe", "source_location": "L152", "weight": 1.0}, {"source": "$graphify-root$_scripts_model_observe_main", "target": "$graphify-root$_scripts_model_observe_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/model-observe", "source_location": "L154", "weight": 1.0}, {"source": "$graphify-root$_scripts_model_observe_main", "target": "$graphify-root$_scripts_model_observe_report", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/model-observe", "source_location": "L156", "weight": 1.0}, {"source": "$graphify-root$_scripts_model_observe_rationale_2", "target": "$graphify-root$_scripts_model_observe", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/model-observe", "source_location": "L2", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_model_observe_prompts", "callee": "open", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L23", "receiver": "PROMPTS_FILE"}, {"caller_nid": "$graphify-root$_scripts_model_observe_prompts", "callee": "DictReader", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L24", "receiver": "csv"}, {"caller_nid": "$graphify-root$_scripts_model_observe_prompts", "callee": "handle", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/model-observe", "source_location": "L24"}, {"caller_nid": "$graphify-root$_scripts_model_observe_split_terms", "callee": "strip", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L30", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_model_observe_split_terms", "callee": "split", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L30", "receiver": "value"}, {"caller_nid": "$graphify-root$_scripts_model_observe_split_terms", "callee": "strip", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L30", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_model_observe_offline_answer", "callee": "get", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L39", "receiver": "answers"}, {"caller_nid": "$graphify-root$_scripts_model_observe_ask_ollama", "callee": "Request", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L49", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_model_observe_ask_ollama", "callee": "rstrip", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L50", "receiver": "endpoint"}, {"caller_nid": "$graphify-root$_scripts_model_observe_ask_ollama", "callee": "encode", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L51", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_model_observe_ask_ollama", "callee": "dumps", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L51", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_model_observe_ask_ollama", "callee": "monotonic", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L55", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_model_observe_ask_ollama", "callee": "urlopen", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L56", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_model_observe_ask_ollama", "callee": "loads", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L57", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_model_observe_ask_ollama", "callee": "decode", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L57", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_model_observe_ask_ollama", "callee": "read", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L57", "receiver": "response"}, {"caller_nid": "$graphify-root$_scripts_model_observe_ask_ollama", "callee": "strip", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L58", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_model_observe_ask_ollama", "callee": "get", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L58", "receiver": "result"}, {"caller_nid": "$graphify-root$_scripts_model_observe_ask_ollama", "callee": "monotonic", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L58", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_model_observe_grade", "callee": "lower", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L62", "receiver": "answer"}, {"caller_nid": "$graphify-root$_scripts_model_observe_grade", "callee": "lower", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L63", "receiver": "term"}, {"caller_nid": "$graphify-root$_scripts_model_observe_grade", "callee": "lower", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L64", "receiver": "term"}, {"caller_nid": "$graphify-root$_scripts_model_observe_run", "callee": "get", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L80", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_model_observe_run", "callee": "get", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L81", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_model_observe_run", "callee": "get", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L82", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_model_observe_run", "callee": "OSError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "scripts/model-observe", "source_location": "L90"}, {"caller_nid": "$graphify-root$_scripts_model_observe_run", "callee": "TimeoutError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "scripts/model-observe", "source_location": "L90"}, {"caller_nid": "$graphify-root$_scripts_model_observe_run", "callee": "append", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L96", "receiver": "results"}, {"caller_nid": "$graphify-root$_scripts_model_observe_run", "callee": "mkdir", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L98", "receiver": "OUTPUT_DIR"}, {"caller_nid": "$graphify-root$_scripts_model_observe_run", "callee": "time", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L99", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_model_observe_run", "callee": "write_text", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L100", "receiver": "output_path"}, {"caller_nid": "$graphify-root$_scripts_model_observe_run", "callee": "dumps", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L100", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_model_observe_run", "callee": "join", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L107", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_model_observe_run", "callee": "join", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L109", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_model_observe_report", "callee": "is_dir", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L116", "receiver": "OUTPUT_DIR"}, {"caller_nid": "$graphify-root$_scripts_model_observe_report", "callee": "glob", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L119", "receiver": "OUTPUT_DIR"}, {"caller_nid": "$graphify-root$_scripts_model_observe_report", "callee": "loads", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L124", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_model_observe_report", "callee": "read_text", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L124", "receiver": "latest"}, {"caller_nid": "$graphify-root$_scripts_model_observe_report", "callee": "get", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L125", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_model_observe_report", "callee": "get", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L132", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_model_observe_report", "callee": "get", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L132", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_model_observe_report", "callee": "get", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L132", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_model_observe_report", "callee": "get", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L132", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_model_observe_main", "callee": "ArgumentParser", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L143", "receiver": "argparse"}, {"caller_nid": "$graphify-root$_scripts_model_observe_main", "callee": "__doc__", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/model-observe", "source_location": "L143"}, {"caller_nid": "$graphify-root$_scripts_model_observe_main", "callee": "add_subparsers", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L144", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_model_observe_main", "callee": "add_parser", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L145", "receiver": "subparsers"}, {"caller_nid": "$graphify-root$_scripts_model_observe_main", "callee": "add_parser", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L146", "receiver": "subparsers"}, {"caller_nid": "$graphify-root$_scripts_model_observe_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L147", "receiver": "run_parser"}, {"caller_nid": "$graphify-root$_scripts_model_observe_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L148", "receiver": "run_parser"}, {"caller_nid": "$graphify-root$_scripts_model_observe_main", "callee": "add_parser", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L149", "receiver": "subparsers"}, {"caller_nid": "$graphify-root$_scripts_model_observe_main", "callee": "parse_args", "is_member_call": true, "source_file": "scripts/model-observe", "source_location": "L150", "receiver": "parser"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/04546891b0c204d259cf8c15c2e0a1f08e6ba94dd2da00b2f56d04b762184403.json b/graphify-out/cache/ast/v0.9.64-s4/04546891b0c204d259cf8c15c2e0a1f08e6ba94dd2da00b2f56d04b762184403.json
new file mode 100644
index 0000000..275d854
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/04546891b0c204d259cf8c15c2e0a1f08e6ba94dd2da00b2f56d04b762184403.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_py", "label": "exporter.py", "file_type": "code", "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L1"}, {"id": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_rpc", "label": "rpc()", "file_type": "code", "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L14", "_callable": true}, {"id": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_hex_to_int", "label": "hex_to_int()", "file_type": "code", "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L32", "_callable": true}, {"id": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_collect_metrics", "label": "collect_metrics()", "file_type": "code", "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L38", "_callable": true}, {"id": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_metricshandler", "label": "MetricsHandler", "file_type": "code", "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L77", "_callable": true, "_callable_class": true}, {"id": "basehttprequesthandler", "label": "BaseHTTPRequestHandler", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/infra/blockchain-devnet/metrics/exporter.py"}, {"id": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_metricshandler_do_get", "label": ".do_GET()", "file_type": "code", "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L78", "_callable": true}, {"id": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_metricshandler_log_message", "label": ".log_message()", "file_type": "code", "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L91", "_callable": true}], "edges": [{"source": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L2", "weight": 1.0}, {"source": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L3", "weight": 1.0}, {"source": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_py", "target": "urllib_error", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_py", "target": "urllib_request", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_py", "target": "http_server", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_py", "target": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_rpc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_py", "target": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_hex_to_int", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L32", "weight": 1.0}, {"source": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_py", "target": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_collect_metrics", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L38", "weight": 1.0}, {"source": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_py", "target": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_metricshandler", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L77", "weight": 1.0}, {"source": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_metricshandler", "target": "basehttprequesthandler", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L77", "weight": 1.0}, {"source": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_metricshandler", "target": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_metricshandler_do_get", "relation": "method", "confidence": "EXTRACTED", "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L78", "weight": 1.0}, {"source": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_metricshandler", "target": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_metricshandler_log_message", "relation": "method", "confidence": "EXTRACTED", "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L91", "weight": 1.0}, {"source": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_collect_metrics", "target": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_rpc", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L46", "weight": 1.0}, {"source": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_collect_metrics", "target": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_hex_to_int", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L48", "weight": 1.0}, {"source": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_metricshandler_do_get", "target": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_collect_metrics", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L84", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_rpc", "callee": "monotonic", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L15", "receiver": "time"}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_rpc", "callee": "encode", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L16", "receiver": null}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_rpc", "callee": "dumps", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L16", "receiver": "json"}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_rpc", "callee": "Request", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L19", "receiver": null}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_rpc", "callee": "RPC_URL", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L20"}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_rpc", "callee": "urlopen", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L25", "receiver": null}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_rpc", "callee": "loads", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L26", "receiver": "json"}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_rpc", "callee": "decode", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L26", "receiver": null}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_rpc", "callee": "read", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L26", "receiver": "response"}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_rpc", "callee": "RuntimeError", "is_member_call": false, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L28", "receiver": null}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_rpc", "callee": "get", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L29", "receiver": "payload"}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_rpc", "callee": "monotonic", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L29", "receiver": "time"}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_hex_to_int", "callee": "str", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L33"}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_hex_to_int", "callee": "startswith", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L33", "receiver": "value"}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_collect_metrics", "callee": "OSError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L49"}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_collect_metrics", "callee": "RuntimeError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L49"}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_collect_metrics", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L49"}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_collect_metrics", "callee": "append", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L53", "receiver": "metrics"}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_collect_metrics", "callee": "append", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L54", "receiver": "metrics"}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_collect_metrics", "callee": "append", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L55", "receiver": "metrics"}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_collect_metrics", "callee": "items", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L63", "receiver": "gauge_map"}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_collect_metrics", "callee": "append", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L65", "receiver": "metrics"}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_collect_metrics", "callee": "append", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L66", "receiver": "metrics"}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_collect_metrics", "callee": "append", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L68", "receiver": "metrics"}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_collect_metrics", "callee": "items", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L69", "receiver": "latencies"}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_collect_metrics", "callee": "append", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L70", "receiver": "metrics"}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_collect_metrics", "callee": "join", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L74", "receiver": null}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_metricshandler_do_get", "callee": "send_response", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L80", "receiver": "self"}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_metricshandler_do_get", "callee": "end_headers", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L81", "receiver": "self"}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_metricshandler_do_get", "callee": "encode", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L84", "receiver": null}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_metricshandler_do_get", "callee": "send_response", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L85", "receiver": "self"}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_metricshandler_do_get", "callee": "send_header", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L86", "receiver": "self"}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_metricshandler_do_get", "callee": "send_header", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L87", "receiver": "self"}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_metricshandler_do_get", "callee": "end_headers", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L88", "receiver": "self"}, {"caller_nid": "$graphify-root$_infra_blockchain_devnet_metrics_exporter_metricshandler_do_get", "callee": "write", "is_member_call": true, "source_file": "infra/blockchain-devnet/metrics/exporter.py", "source_location": "L89", "receiver": null}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/0be29c879d7116596de45e269f613233f2b9cc91d7e2fc0ceab47382f799ae99.json b/graphify-out/cache/ast/v0.9.64-s4/0be29c879d7116596de45e269f613233f2b9cc91d7e2fc0ceab47382f799ae99.json
new file mode 100644
index 0000000..c75a375
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/0be29c879d7116596de45e269f613233f2b9cc91d7e2fc0ceab47382f799ae99.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_cmd_jeannie_core_main_test_go", "label": "main_test.go", "file_type": "code", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L1"}, {"id": "$graphify-root$_cmd_jeannie_core_main_test_testreportrenderproblemsonly", "label": "TestReportRenderProblemsOnly()", "file_type": "code", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L12"}, {"id": "testing_t", "label": "testing.T", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/cmd/jeannie-core/main_test.go"}, {"id": "$graphify-root$_cmd_jeannie_core_main_test_testreportrenderhidesokgraphandquery", "label": "TestReportRenderHidesOKGraphAndQuery()", "file_type": "code", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L35"}, {"id": "$graphify-root$_cmd_jeannie_core_main_test_testexecutedagrespectsdependencies", "label": "TestExecuteDAGRespectsDependencies()", "file_type": "code", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L49"}, {"id": "$graphify-root$_cmd_jeannie_core_main_test_testexecutedagreturnsfailedtask", "label": "TestExecuteDAGReturnsFailedTask()", "file_type": "code", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L77"}], "edges": [{"source": "$graphify-root$_cmd_jeannie_core_main_test_go", "target": "go_pkg_bytes", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L4", "weight": 1.0, "context": "import"}, {"source": "$graphify-root$_cmd_jeannie_core_main_test_go", "target": "go_pkg_context", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L5", "weight": 1.0, "context": "import"}, {"source": "$graphify-root$_cmd_jeannie_core_main_test_go", "target": "go_pkg_os", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L6", "weight": 1.0, "context": "import"}, {"source": "$graphify-root$_cmd_jeannie_core_main_test_go", "target": "go_pkg_path_filepath", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L7", "weight": 1.0, "context": "import"}, {"source": "$graphify-root$_cmd_jeannie_core_main_test_go", "target": "go_pkg_strings", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L8", "weight": 1.0, "context": "import"}, {"source": "$graphify-root$_cmd_jeannie_core_main_test_go", "target": "go_pkg_testing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L9", "weight": 1.0, "context": "import"}, {"source": "$graphify-root$_cmd_jeannie_core_main_test_go", "target": "$graphify-root$_cmd_jeannie_core_main_test_testreportrenderproblemsonly", "relation": "contains", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_test_testreportrenderproblemsonly", "target": "testing_t", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L12", "weight": 1.0, "context": "parameter_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_test_go", "target": "$graphify-root$_cmd_jeannie_core_main_test_testreportrenderhidesokgraphandquery", "relation": "contains", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L35", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_test_testreportrenderhidesokgraphandquery", "target": "testing_t", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L35", "weight": 1.0, "context": "parameter_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_test_go", "target": "$graphify-root$_cmd_jeannie_core_main_test_testexecutedagrespectsdependencies", "relation": "contains", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L49", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_test_testexecutedagrespectsdependencies", "target": "testing_t", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L49", "weight": 1.0, "context": "parameter_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_test_go", "target": "$graphify-root$_cmd_jeannie_core_main_test_testexecutedagreturnsfailedtask", "relation": "contains", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L77", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_test_testexecutedagreturnsfailedtask", "target": "testing_t", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L77", "weight": 1.0, "context": "parameter_type"}], "raw_calls": [{"caller_nid": "$graphify-root$_cmd_jeannie_core_main_test_testreportrenderproblemsonly", "callee": "Join", "is_member_call": false, "language": "go", "receiver": "strings", "import_path": "strings", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L13"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_test_testreportrenderproblemsonly", "callee": "runReportRender", "is_member_call": false, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L20"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_test_testreportrenderproblemsonly", "callee": "NewReader", "is_member_call": false, "language": "go", "receiver": "strings", "import_path": "strings", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L20"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_test_testreportrenderproblemsonly", "callee": "Fatal", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L21"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_test_testreportrenderproblemsonly", "callee": "Contains", "is_member_call": false, "language": "go", "receiver": "strings", "import_path": "strings", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L25"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_test_testreportrenderproblemsonly", "callee": "Fatalf", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L26"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_test_testreportrenderproblemsonly", "callee": "Contains", "is_member_call": false, "language": "go", "receiver": "strings", "import_path": "strings", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L29"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_test_testreportrenderproblemsonly", "callee": "Fatalf", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L30"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_test_testreportrenderhidesokgraphandquery", "callee": "runReportRender", "is_member_call": false, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L39"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_test_testreportrenderhidesokgraphandquery", "callee": "NewReader", "is_member_call": false, "language": "go", "receiver": "strings", "import_path": "strings", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L39"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_test_testreportrenderhidesokgraphandquery", "callee": "Fatal", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L40"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_test_testreportrenderhidesokgraphandquery", "callee": "Contains", "is_member_call": false, "language": "go", "receiver": "strings", "import_path": "strings", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L44"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_test_testreportrenderhidesokgraphandquery", "callee": "Contains", "is_member_call": false, "language": "go", "receiver": "strings", "import_path": "strings", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L44"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_test_testreportrenderhidesokgraphandquery", "callee": "Fatalf", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L45"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_test_testexecutedagrespectsdependencies", "callee": "TempDir", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L50"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_test_testexecutedagrespectsdependencies", "callee": "Join", "is_member_call": false, "language": "go", "receiver": "filepath", "import_path": "path/filepath", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L51"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_test_testexecutedagrespectsdependencies", "callee": "Join", "is_member_call": false, "language": "go", "receiver": "filepath", "import_path": "path/filepath", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L52"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_test_testexecutedagrespectsdependencies", "callee": "executeDAG", "is_member_call": false, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L69"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_test_testexecutedagrespectsdependencies", "callee": "Background", "is_member_call": false, "language": "go", "receiver": "context", "import_path": "context", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L69"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_test_testexecutedagrespectsdependencies", "callee": "Fatal", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L70"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_test_testexecutedagrespectsdependencies", "callee": "Stat", "is_member_call": false, "language": "go", "receiver": "os", "import_path": "os", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L72"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_test_testexecutedagrespectsdependencies", "callee": "Fatalf", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L73"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_test_testexecutedagreturnsfailedtask", "callee": "executeDAG", "is_member_call": false, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L86"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_test_testexecutedagreturnsfailedtask", "callee": "Background", "is_member_call": false, "language": "go", "receiver": "context", "import_path": "context", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L86"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_test_testexecutedagreturnsfailedtask", "callee": "Contains", "is_member_call": false, "language": "go", "receiver": "strings", "import_path": "strings", "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L87"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_test_testexecutedagreturnsfailedtask", "callee": "Fatalf", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main_test.go", "source_location": "L88"}], "go_imports": {"bytes": "bytes", "context": "context", "os": "os", "filepath": "path/filepath", "strings": "strings", "testing": "testing"}}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/0c69b7c4a12a2ffeb7f91093f0d1aa4e0800f2030571928e93e395979321a083.json b/graphify-out/cache/ast/v0.9.64-s4/0c69b7c4a12a2ffeb7f91093f0d1aa4e0800f2030571928e93e395979321a083.json
new file mode 100644
index 0000000..3091cfa
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/0c69b7c4a12a2ffeb7f91093f0d1aa4e0800f2030571928e93e395979321a083.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_grafana_dashboards", "label": "grafana-dashboards", "file_type": "code", "source_file": "scripts/grafana-dashboards", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_grafana_dashboards__entry", "label": "grafana-dashboards script", "file_type": "code", "source_file": "scripts/grafana-dashboards", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_grafana_dashboards_usage", "label": "usage()", "file_type": "code", "source_file": "scripts/grafana-dashboards", "source_location": "L9", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_grafana_dashboards_list_dashboards", "label": "list_dashboards()", "file_type": "code", "source_file": "scripts/grafana-dashboards", "source_location": "L18", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_grafana_dashboards_apply_dashboards", "label": "apply_dashboards()", "file_type": "code", "source_file": "scripts/grafana-dashboards", "source_location": "L22", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_grafana_dashboards", "target": "$graphify-root$_scripts_grafana_dashboards__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/grafana-dashboards", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_grafana_dashboards", "target": "$graphify-root$_scripts_grafana_dashboards_usage", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/grafana-dashboards", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_scripts_grafana_dashboards", "target": "$graphify-root$_scripts_grafana_dashboards_list_dashboards", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/grafana-dashboards", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_scripts_grafana_dashboards", "target": "$graphify-root$_scripts_grafana_dashboards_apply_dashboards", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/grafana-dashboards", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_scripts_grafana_dashboards__entry", "target": "$graphify-root$_scripts_grafana_dashboards_list_dashboards", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/grafana-dashboards", "source_location": "L73", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_grafana_dashboards__entry", "target": "$graphify-root$_scripts_grafana_dashboards_apply_dashboards", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/grafana-dashboards", "source_location": "L76", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_grafana_dashboards__entry", "target": "$graphify-root$_scripts_grafana_dashboards_usage", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/grafana-dashboards", "source_location": "L79", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_grafana_dashboards__entry", "source_file": "scripts/grafana-dashboards", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_grafana_dashboards__entry", "source_file": "scripts/grafana-dashboards", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_grafana_dashboards__entry", "source_file": "scripts/grafana-dashboards", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_grafana_dashboards__entry", "source_file": "scripts/grafana-dashboards", "source_location": "L4"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_grafana_dashboards__entry", "source_file": "scripts/grafana-dashboards", "source_location": "L83"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_grafana_dashboards_usage", "source_file": "scripts/grafana-dashboards", "source_location": "L10"}, {"language": "bash", "callee": "find", "caller_nid": "$graphify-root$_scripts_grafana_dashboards_list_dashboards", "source_file": "scripts/grafana-dashboards", "source_location": "L19"}, {"language": "bash", "callee": "sort", "caller_nid": "$graphify-root$_scripts_grafana_dashboards_list_dashboards", "source_file": "scripts/grafana-dashboards", "source_location": "L19"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_grafana_dashboards_apply_dashboards", "source_file": "scripts/grafana-dashboards", "source_location": "L28"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_grafana_dashboards_apply_dashboards", "source_file": "scripts/grafana-dashboards", "source_location": "L29"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_grafana_dashboards_apply_dashboards", "source_file": "scripts/grafana-dashboards", "source_location": "L30"}, {"language": "bash", "callee": "read", "caller_nid": "$graphify-root$_scripts_grafana_dashboards_apply_dashboards", "source_file": "scripts/grafana-dashboards", "source_location": "L37"}, {"language": "bash", "callee": "basename", "caller_nid": "$graphify-root$_scripts_grafana_dashboards_apply_dashboards", "source_file": "scripts/grafana-dashboards", "source_location": "L38"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_scripts_grafana_dashboards_apply_dashboards", "source_file": "scripts/grafana-dashboards", "source_location": "L41"}, {"language": "bash", "callee": "head", "caller_nid": "$graphify-root$_scripts_grafana_dashboards_apply_dashboards", "source_file": "scripts/grafana-dashboards", "source_location": "L58"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_grafana_dashboards_apply_dashboards", "source_file": "scripts/grafana-dashboards", "source_location": "L65"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/0d56835b5d33331a82ec8f8539c4b4331c7c3ae3ca8ac073b971f421c40ae26d.json b/graphify-out/cache/ast/v0.9.64-s4/0d56835b5d33331a82ec8f8539c4b4331c7c3ae3ca8ac073b971f421c40ae26d.json
new file mode 100644
index 0000000..f7b5e50
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/0d56835b5d33331a82ec8f8539c4b4331c7c3ae3ca8ac073b971f421c40ae26d.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_bootstrap_provisioning_outputs_tf", "label": "outputs.tf", "file_type": "code", "source_file": "bootstrap/provisioning/outputs.tf", "source_location": null, "type": "terraform_file"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_output_provisioning_http_base_url", "label": "output.provisioning_http_base_url", "file_type": "code", "source_file": "bootstrap/provisioning/outputs.tf", "source_location": "L1", "attributes": {"value": "local.provisioning_http_base_url"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_output_preseed_url", "label": "output.preseed_url", "file_type": "code", "source_file": "bootstrap/provisioning/outputs.tf", "source_location": "L5", "attributes": {"value": "local.preseed_url"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_output_pxe_rescue_url", "label": "output.pxe_rescue_url", "file_type": "code", "source_file": "bootstrap/provisioning/outputs.tf", "source_location": "L9", "attributes": {"value": "\"${local.provisioning_http_base_url}/rescue/\""}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_output_pxe_boot_file", "label": "output.pxe_boot_file", "file_type": "code", "source_file": "bootstrap/provisioning/outputs.tf", "source_location": "L13", "attributes": {"value": "var.pxe_boot_file"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_output_tftp_root", "label": "output.tftp_root", "file_type": "code", "source_file": "bootstrap/provisioning/outputs.tf", "source_location": "L17", "attributes": {"value": "local.tftp_root"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_output_pimox_template_vmid", "label": "output.pimox_template_vmid", "file_type": "code", "source_file": "bootstrap/provisioning/outputs.tf", "source_location": "L21", "attributes": {"value": "var.pimox_template_builder_enabled ? var.pimox_template_vmid : null"}}], "edges": [{"source": "$graphify-root$_bootstrap_provisioning_outputs_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_output_provisioning_http_base_url", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/outputs.tf", "source_location": "L1", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_output_provisioning_http_base_url", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_provisioning_http_base_url", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/outputs.tf", "source_location": "L2", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_outputs_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_output_preseed_url", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/outputs.tf", "source_location": "L5", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_output_preseed_url", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_preseed_url", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/outputs.tf", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_outputs_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_output_pxe_rescue_url", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/outputs.tf", "source_location": "L9", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_output_pxe_rescue_url", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_provisioning_http_base_url", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/outputs.tf", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_outputs_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_output_pxe_boot_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/outputs.tf", "source_location": "L13", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_output_pxe_boot_file", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pxe_boot_file", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/outputs.tf", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_outputs_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_output_tftp_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/outputs.tf", "source_location": "L17", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_output_tftp_root", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_tftp_root", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/outputs.tf", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_outputs_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_output_pimox_template_vmid", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/outputs.tf", "source_location": "L21", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_output_pimox_template_vmid", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_builder_enabled", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/outputs.tf", "source_location": "L22", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_output_pimox_template_vmid", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_vmid", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/outputs.tf", "source_location": "L22", "weight": 1.0}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/0e8deab3acf110a3dfa12e9f1c1818a08acbf96c58dccfa46ddb1491a01ccc4d.json b/graphify-out/cache/ast/v0.9.64-s4/0e8deab3acf110a3dfa12e9f1c1818a08acbf96c58dccfa46ddb1491a01ccc4d.json
new file mode 100644
index 0000000..238ed48
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/0e8deab3acf110a3dfa12e9f1c1818a08acbf96c58dccfa46ddb1491a01ccc4d.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_artifact_cache", "label": "artifact-cache", "file_type": "code", "source_file": "scripts/artifact-cache", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_artifact_cache__entry", "label": "artifact-cache script", "file_type": "code", "source_file": "scripts/artifact-cache", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}], "edges": [{"source": "$graphify-root$_scripts_artifact_cache", "target": "$graphify-root$_scripts_artifact_cache__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/artifact-cache", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_artifact_cache__entry", "source_file": "scripts/artifact-cache", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_artifact_cache__entry", "source_file": "scripts/artifact-cache", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_artifact_cache__entry", "source_file": "scripts/artifact-cache", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_artifact_cache__entry", "source_file": "scripts/artifact-cache", "source_location": "L4"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_artifact_cache__entry", "source_file": "scripts/artifact-cache", "source_location": "L12"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_artifact_cache__entry", "source_file": "scripts/artifact-cache", "source_location": "L13"}, {"language": "bash", "callee": "docker", "caller_nid": "$graphify-root$_scripts_artifact_cache__entry", "source_file": "scripts/artifact-cache", "source_location": "L14"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_artifact_cache__entry", "source_file": "scripts/artifact-cache", "source_location": "L14"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_artifact_cache__entry", "source_file": "scripts/artifact-cache", "source_location": "L28"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_artifact_cache__entry", "source_file": "scripts/artifact-cache", "source_location": "L42"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/109483b3b8fcc0ae7b43f852533b8c2fa630372730b95ffdd82adb8da2578c14.json b/graphify-out/cache/ast/v0.9.64-s4/109483b3b8fcc0ae7b43f852533b8c2fa630372730b95ffdd82adb8da2578c14.json
new file mode 100644
index 0000000..3b24be6
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/109483b3b8fcc0ae7b43f852533b8c2fa630372730b95ffdd82adb8da2578c14.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_resource_budget", "label": "resource-budget", "file_type": "code", "source_file": "scripts/resource-budget", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_resource_budget__entry", "label": "resource-budget script", "file_type": "code", "source_file": "scripts/resource-budget", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_resource_budget_usage", "label": "usage()", "file_type": "code", "source_file": "scripts/resource-budget", "source_location": "L13", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_resource_budget_section", "label": "section()", "file_type": "code", "source_file": "scripts/resource-budget", "source_location": "L41", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_resource_budget_warn", "label": "warn()", "file_type": "code", "source_file": "scripts/resource-budget", "source_location": "L45", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_resource_budget_fail", "label": "fail()", "file_type": "code", "source_file": "scripts/resource-budget", "source_location": "L50", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_resource_budget_have", "label": "have()", "file_type": "code", "source_file": "scripts/resource-budget", "source_location": "L55", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_resource_budget_host_budget", "label": "host_budget()", "file_type": "code", "source_file": "scripts/resource-budget", "source_location": "L59", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_resource_budget_kubernetes_budget", "label": "kubernetes_budget()", "file_type": "code", "source_file": "scripts/resource-budget", "source_location": "L79", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_resource_budget", "target": "$graphify-root$_scripts_resource_budget__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/resource-budget", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_resource_budget", "target": "$graphify-root$_scripts_resource_budget_usage", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/resource-budget", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_scripts_resource_budget", "target": "$graphify-root$_scripts_resource_budget_section", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/resource-budget", "source_location": "L41", "weight": 1.0}, {"source": "$graphify-root$_scripts_resource_budget", "target": "$graphify-root$_scripts_resource_budget_warn", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/resource-budget", "source_location": "L45", "weight": 1.0}, {"source": "$graphify-root$_scripts_resource_budget", "target": "$graphify-root$_scripts_resource_budget_fail", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/resource-budget", "source_location": "L50", "weight": 1.0}, {"source": "$graphify-root$_scripts_resource_budget", "target": "$graphify-root$_scripts_resource_budget_have", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/resource-budget", "source_location": "L55", "weight": 1.0}, {"source": "$graphify-root$_scripts_resource_budget", "target": "$graphify-root$_scripts_resource_budget_host_budget", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/resource-budget", "source_location": "L59", "weight": 1.0}, {"source": "$graphify-root$_scripts_resource_budget", "target": "$graphify-root$_scripts_resource_budget_kubernetes_budget", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/resource-budget", "source_location": "L79", "weight": 1.0}, {"source": "$graphify-root$_scripts_resource_budget__entry", "target": "$graphify-root$_scripts_resource_budget_usage", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/resource-budget", "source_location": "L30", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_resource_budget__entry", "target": "$graphify-root$_scripts_resource_budget_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/resource-budget", "source_location": "L232", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_resource_budget__entry", "target": "$graphify-root$_scripts_resource_budget_fail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/resource-budget", "source_location": "L236", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_resource_budget__entry", "target": "$graphify-root$_scripts_resource_budget_host_budget", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/resource-budget", "source_location": "L239", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_resource_budget__entry", "target": "$graphify-root$_scripts_resource_budget_kubernetes_budget", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/resource-budget", "source_location": "L240", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_resource_budget_host_budget", "target": "$graphify-root$_scripts_resource_budget_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/resource-budget", "source_location": "L60", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_resource_budget_host_budget", "target": "$graphify-root$_scripts_resource_budget_have", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/resource-budget", "source_location": "L62", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_resource_budget_host_budget", "target": "$graphify-root$_scripts_resource_budget_warn", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/resource-budget", "source_location": "L67", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_resource_budget_kubernetes_budget", "target": "$graphify-root$_scripts_resource_budget_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/resource-budget", "source_location": "L80", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_resource_budget_kubernetes_budget", "target": "$graphify-root$_scripts_resource_budget_have", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/resource-budget", "source_location": "L82", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_resource_budget_kubernetes_budget", "target": "$graphify-root$_scripts_resource_budget_warn", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/resource-budget", "source_location": "L83", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_resource_budget__entry", "source_file": "scripts/resource-budget", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_resource_budget__entry", "source_file": "scripts/resource-budget", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_resource_budget__entry", "source_file": "scripts/resource-budget", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_resource_budget__entry", "source_file": "scripts/resource-budget", "source_location": "L4"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_resource_budget__entry", "source_file": "scripts/resource-budget", "source_location": "L31"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_scripts_resource_budget__entry", "source_file": "scripts/resource-budget", "source_location": "L38"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_resource_budget__entry", "source_file": "scripts/resource-budget", "source_location": "L234"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_resource_budget_usage", "source_file": "scripts/resource-budget", "source_location": "L14"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_resource_budget_section", "source_file": "scripts/resource-budget", "source_location": "L42"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_resource_budget_warn", "source_file": "scripts/resource-budget", "source_location": "L47"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_resource_budget_fail", "source_file": "scripts/resource-budget", "source_location": "L52"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_resource_budget_have", "source_file": "scripts/resource-budget", "source_location": "L56"}, {"language": "bash", "callee": "free", "caller_nid": "$graphify-root$_scripts_resource_budget_host_budget", "source_file": "scripts/resource-budget", "source_location": "L63"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_scripts_resource_budget_host_budget", "source_file": "scripts/resource-budget", "source_location": "L63"}, {"language": "bash", "callee": "df", "caller_nid": "$graphify-root$_scripts_resource_budget_host_budget", "source_file": "scripts/resource-budget", "source_location": "L73"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_resource_budget_host_budget", "source_file": "scripts/resource-budget", "source_location": "L73"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_resource_budget_kubernetes_budget", "source_file": "scripts/resource-budget", "source_location": "L84"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_scripts_resource_budget_kubernetes_budget", "source_file": "scripts/resource-budget", "source_location": "L86"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_scripts_resource_budget_kubernetes_budget", "source_file": "scripts/resource-budget", "source_location": "L91"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/10ac41b257fac32cf88c3fe6dd3799153ad4414604873802f727699c004111b2.json b/graphify-out/cache/ast/v0.9.64-s4/10ac41b257fac32cf88c3fe6dd3799153ad4414604873802f727699c004111b2.json
new file mode 100644
index 0000000..94eb6de
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/10ac41b257fac32cf88c3fe6dd3799153ad4414604873802f727699c004111b2.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_blockchain_wallet", "label": "blockchain-wallet", "file_type": "code", "source_file": "scripts/blockchain-wallet", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_blockchain_wallet__entry", "label": "blockchain-wallet script", "file_type": "code", "source_file": "scripts/blockchain-wallet", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_blockchain_wallet_usage", "label": "usage()", "file_type": "code", "source_file": "scripts/blockchain-wallet", "source_location": "L6", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_blockchain_wallet_run_cast", "label": "run_cast()", "file_type": "code", "source_file": "scripts/blockchain-wallet", "source_location": "L19", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_blockchain_wallet_require_private_key", "label": "require_private_key()", "file_type": "code", "source_file": "scripts/blockchain-wallet", "source_location": "L36", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_blockchain_wallet", "target": "$graphify-root$_scripts_blockchain_wallet__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/blockchain-wallet", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_blockchain_wallet", "target": "$graphify-root$_scripts_blockchain_wallet_usage", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/blockchain-wallet", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_scripts_blockchain_wallet", "target": "$graphify-root$_scripts_blockchain_wallet_run_cast", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/blockchain-wallet", "source_location": "L19", "weight": 1.0}, {"source": "$graphify-root$_scripts_blockchain_wallet", "target": "$graphify-root$_scripts_blockchain_wallet_require_private_key", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/blockchain-wallet", "source_location": "L36", "weight": 1.0}, {"source": "$graphify-root$_scripts_blockchain_wallet__entry", "target": "$graphify-root$_scripts_blockchain_wallet_run_cast", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/blockchain-wallet", "source_location": "L64", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_blockchain_wallet__entry", "target": "$graphify-root$_scripts_blockchain_wallet_require_private_key", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/blockchain-wallet", "source_location": "L67", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_blockchain_wallet__entry", "target": "$graphify-root$_scripts_blockchain_wallet_usage", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/blockchain-wallet", "source_location": "L80", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_blockchain_wallet__entry", "source_file": "scripts/blockchain-wallet", "source_location": "L2"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_blockchain_wallet__entry", "source_file": "scripts/blockchain-wallet", "source_location": "L45"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_scripts_blockchain_wallet__entry", "source_file": "scripts/blockchain-wallet", "source_location": "L72"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_blockchain_wallet__entry", "source_file": "scripts/blockchain-wallet", "source_location": "L74"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_blockchain_wallet__entry", "source_file": "scripts/blockchain-wallet", "source_location": "L75"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_blockchain_wallet_usage", "source_file": "scripts/blockchain-wallet", "source_location": "L7"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_blockchain_wallet_run_cast", "source_file": "scripts/blockchain-wallet", "source_location": "L20"}, {"language": "bash", "callee": "cast", "caller_nid": "$graphify-root$_scripts_blockchain_wallet_run_cast", "source_file": "scripts/blockchain-wallet", "source_location": "L21"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_blockchain_wallet_run_cast", "source_file": "scripts/blockchain-wallet", "source_location": "L22"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_blockchain_wallet_run_cast", "source_file": "scripts/blockchain-wallet", "source_location": "L26"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_blockchain_wallet_run_cast", "source_file": "scripts/blockchain-wallet", "source_location": "L27"}, {"language": "bash", "callee": "docker", "caller_nid": "$graphify-root$_scripts_blockchain_wallet_run_cast", "source_file": "scripts/blockchain-wallet", "source_location": "L30"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_blockchain_wallet_require_private_key", "source_file": "scripts/blockchain-wallet", "source_location": "L38"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_blockchain_wallet_require_private_key", "source_file": "scripts/blockchain-wallet", "source_location": "L39"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/129044e892178bb46173dcfb856b52ec2cf72b5c53b0492db83e873b9228f0e3.json b/graphify-out/cache/ast/v0.9.64-s4/129044e892178bb46173dcfb856b52ec2cf72b5c53b0492db83e873b9228f0e3.json
new file mode 100644
index 0000000..9d5207f
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/129044e892178bb46173dcfb856b52ec2cf72b5c53b0492db83e873b9228f0e3.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_apps_website_lang_en_php", "label": "en.php", "file_type": "code", "source_file": "apps/website/lang/en.php", "source_location": "L1"}], "edges": [], "raw_calls": [], "parse_errors": {"first_error_line": 153, "multiline_error": false}}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/162c50ae8b353f6b74927136172bb9604de004b172d3c8b9b2f41c86bbcd2010.json b/graphify-out/cache/ast/v0.9.64-s4/162c50ae8b353f6b74927136172bb9604de004b172d3c8b9b2f41c86bbcd2010.json
new file mode 100644
index 0000000..e3c4461
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/162c50ae8b353f6b74927136172bb9604de004b172d3c8b9b2f41c86bbcd2010.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_infra_heimdall_seed_heimdall_py", "label": "seed-heimdall.py", "file_type": "code", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L1"}, {"id": "$graphify-root$_infra_heimdall_seed_heimdall_find_database", "label": "find_database()", "file_type": "code", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L17", "_callable": true}, {"id": "$graphify-root$_infra_heimdall_seed_heimdall_table_exists", "label": "table_exists()", "file_type": "code", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L25", "_callable": true}, {"id": "$graphify-root$_infra_heimdall_seed_heimdall_columns", "label": "columns()", "file_type": "code", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L33", "_callable": true}, {"id": "$graphify-root$_infra_heimdall_seed_heimdall_quote_identifier", "label": "quote_identifier()", "file_type": "code", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L37", "_callable": true}, {"id": "$graphify-root$_infra_heimdall_seed_heimdall_ensure_public_dashboard", "label": "ensure_public_dashboard()", "file_type": "code", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L41", "_callable": true}, {"id": "$graphify-root$_infra_heimdall_seed_heimdall_ensure_dashboard_tag", "label": "ensure_dashboard_tag()", "file_type": "code", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L53", "_callable": true}, {"id": "$graphify-root$_infra_heimdall_seed_heimdall_home_dashboard_tag_id", "label": "home_dashboard_tag_id()", "file_type": "code", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L80", "_callable": true}, {"id": "$graphify-root$_infra_heimdall_seed_heimdall_wait_for_items_table", "label": "wait_for_items_table()", "file_type": "code", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L93", "_callable": true}, {"id": "$graphify-root$_infra_heimdall_seed_heimdall_upsert_links", "label": "upsert_links()", "file_type": "code", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L105", "_callable": true}, {"id": "$graphify-root$_infra_heimdall_seed_heimdall_load_links", "label": "load_links()", "file_type": "code", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L161", "_callable": true}], "edges": [{"source": "$graphify-root$_infra_heimdall_seed_heimdall_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L2", "weight": 1.0}, {"source": "$graphify-root$_infra_heimdall_seed_heimdall_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L3", "weight": 1.0}, {"source": "$graphify-root$_infra_heimdall_seed_heimdall_py", "target": "sqlite3", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_infra_heimdall_seed_heimdall_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_infra_heimdall_seed_heimdall_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_infra_heimdall_seed_heimdall_py", "target": "$graphify-root$_infra_heimdall_seed_heimdall_find_database", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_infra_heimdall_seed_heimdall_py", "target": "$graphify-root$_infra_heimdall_seed_heimdall_table_exists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L25", "weight": 1.0}, {"source": "$graphify-root$_infra_heimdall_seed_heimdall_py", "target": "$graphify-root$_infra_heimdall_seed_heimdall_columns", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L33", "weight": 1.0}, {"source": "$graphify-root$_infra_heimdall_seed_heimdall_py", "target": "$graphify-root$_infra_heimdall_seed_heimdall_quote_identifier", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L37", "weight": 1.0}, {"source": "$graphify-root$_infra_heimdall_seed_heimdall_py", "target": "$graphify-root$_infra_heimdall_seed_heimdall_ensure_public_dashboard", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L41", "weight": 1.0}, {"source": "$graphify-root$_infra_heimdall_seed_heimdall_py", "target": "$graphify-root$_infra_heimdall_seed_heimdall_ensure_dashboard_tag", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L53", "weight": 1.0}, {"source": "$graphify-root$_infra_heimdall_seed_heimdall_py", "target": "$graphify-root$_infra_heimdall_seed_heimdall_home_dashboard_tag_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L80", "weight": 1.0}, {"source": "$graphify-root$_infra_heimdall_seed_heimdall_py", "target": "$graphify-root$_infra_heimdall_seed_heimdall_wait_for_items_table", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L93", "weight": 1.0}, {"source": "$graphify-root$_infra_heimdall_seed_heimdall_py", "target": "$graphify-root$_infra_heimdall_seed_heimdall_upsert_links", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L105", "weight": 1.0}, {"source": "$graphify-root$_infra_heimdall_seed_heimdall_py", "target": "$graphify-root$_infra_heimdall_seed_heimdall_load_links", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L161", "weight": 1.0}, {"source": "$graphify-root$_infra_heimdall_seed_heimdall_ensure_public_dashboard", "target": "$graphify-root$_infra_heimdall_seed_heimdall_table_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L42", "weight": 1.0}, {"source": "$graphify-root$_infra_heimdall_seed_heimdall_ensure_public_dashboard", "target": "$graphify-root$_infra_heimdall_seed_heimdall_columns", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L44", "weight": 1.0}, {"source": "$graphify-root$_infra_heimdall_seed_heimdall_ensure_dashboard_tag", "target": "$graphify-root$_infra_heimdall_seed_heimdall_table_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L54", "weight": 1.0}, {"source": "$graphify-root$_infra_heimdall_seed_heimdall_ensure_dashboard_tag", "target": "$graphify-root$_infra_heimdall_seed_heimdall_columns", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L56", "weight": 1.0}, {"source": "$graphify-root$_infra_heimdall_seed_heimdall_ensure_dashboard_tag", "target": "$graphify-root$_infra_heimdall_seed_heimdall_quote_identifier", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L73", "weight": 1.0}, {"source": "$graphify-root$_infra_heimdall_seed_heimdall_home_dashboard_tag_id", "target": "$graphify-root$_infra_heimdall_seed_heimdall_columns", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L81", "weight": 1.0}, {"source": "$graphify-root$_infra_heimdall_seed_heimdall_wait_for_items_table", "target": "$graphify-root$_infra_heimdall_seed_heimdall_table_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L97", "weight": 1.0}, {"source": "$graphify-root$_infra_heimdall_seed_heimdall_upsert_links", "target": "$graphify-root$_infra_heimdall_seed_heimdall_columns", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L106", "weight": 1.0}, {"source": "$graphify-root$_infra_heimdall_seed_heimdall_upsert_links", "target": "$graphify-root$_infra_heimdall_seed_heimdall_home_dashboard_tag_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L108", "weight": 1.0}, {"source": "$graphify-root$_infra_heimdall_seed_heimdall_upsert_links", "target": "$graphify-root$_infra_heimdall_seed_heimdall_ensure_public_dashboard", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L111", "weight": 1.0}, {"source": "$graphify-root$_infra_heimdall_seed_heimdall_upsert_links", "target": "$graphify-root$_infra_heimdall_seed_heimdall_quote_identifier", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L141", "weight": 1.0}, {"source": "$graphify-root$_infra_heimdall_seed_heimdall_upsert_links", "target": "$graphify-root$_infra_heimdall_seed_heimdall_ensure_dashboard_tag", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L145", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_find_database", "callee": "exists", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L20", "receiver": null}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_find_database", "callee": "sleep", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L22", "receiver": "time"}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_table_exists", "callee": "fetchone", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L26", "receiver": null}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_table_exists", "callee": "execute", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L26", "receiver": "conn"}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_columns", "callee": "execute", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L34", "receiver": "conn"}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_quote_identifier", "callee": "replace", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L38", "receiver": "name"}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_ensure_public_dashboard", "callee": "execute", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L47", "receiver": "conn"}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_ensure_dashboard_tag", "callee": "issubset", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L57", "receiver": null}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_ensure_dashboard_tag", "callee": "fetchone", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L59", "receiver": null}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_ensure_dashboard_tag", "callee": "execute", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L59", "receiver": "conn"}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_ensure_dashboard_tag", "callee": "join", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L72", "receiver": null}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_ensure_dashboard_tag", "callee": "join", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L73", "receiver": null}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_ensure_dashboard_tag", "callee": "execute", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L74", "receiver": "conn"}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_home_dashboard_tag_id", "callee": "issubset", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L82", "receiver": null}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_home_dashboard_tag_id", "callee": "fetchone", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L84", "receiver": null}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_home_dashboard_tag_id", "callee": "execute", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L84", "receiver": "conn"}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_wait_for_items_table", "callee": "connect", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L96", "receiver": "sqlite3"}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_wait_for_items_table", "callee": "close", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L99", "receiver": "conn"}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_wait_for_items_table", "callee": "sleep", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L102", "receiver": "time"}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_upsert_links", "callee": "strftime", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L109", "receiver": null}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_upsert_links", "callee": "now", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L109", "receiver": "datetime"}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_upsert_links", "callee": "fetchone", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L114", "receiver": null}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_upsert_links", "callee": "execute", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L114", "receiver": "conn"}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_upsert_links", "callee": "get", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L122", "receiver": "link"}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_upsert_links", "callee": "get", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L129", "receiver": "link"}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_upsert_links", "callee": "join", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L141", "receiver": null}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_upsert_links", "callee": "append", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L143", "receiver": "params"}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_upsert_links", "callee": "execute", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L144", "receiver": "conn"}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_upsert_links", "callee": "join", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L149", "receiver": null}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_upsert_links", "callee": "join", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L150", "receiver": null}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_upsert_links", "callee": "execute", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L151", "receiver": "conn"}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_upsert_links", "callee": "fetchone", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L155", "receiver": null}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_upsert_links", "callee": "execute", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L155", "receiver": "conn"}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_upsert_links", "callee": "commit", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L158", "receiver": "conn"}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_load_links", "callee": "LINKS_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L162"}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_load_links", "callee": "load", "is_member_call": true, "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L163", "receiver": "json"}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_load_links", "callee": "links_file", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L163"}, {"caller_nid": "$graphify-root$_infra_heimdall_seed_heimdall_py", "callee": "OSError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "infra/heimdall/seed-heimdall.py", "source_location": "L172"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/1f1c2f04fc92b7593bba4381a3f1e737740ff643f5cd0cdbeb76457336641571.json b/graphify-out/cache/ast/v0.9.64-s4/1f1c2f04fc92b7593bba4381a3f1e737740ff643f5cd0cdbeb76457336641571.json
new file mode 100644
index 0000000..5a2c1de
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/1f1c2f04fc92b7593bba4381a3f1e737740ff643f5cd0cdbeb76457336641571.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_build_homelab_ai_index", "label": "build-homelab-ai-index", "file_type": "code", "source_file": "scripts/build-homelab-ai-index", "source_location": "L1"}, {"id": "$graphify-root$_scripts_build_homelab_ai_index_tokenise", "label": "tokenise()", "file_type": "code", "source_file": "scripts/build-homelab-ai-index", "source_location": "L28", "_callable": true}, {"id": "$graphify-root$_scripts_build_homelab_ai_index_load_patterns", "label": "load_patterns()", "file_type": "code", "source_file": "scripts/build-homelab-ai-index", "source_location": "L32", "_callable": true}, {"id": "path", "label": "Path", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/build-homelab-ai-index"}, {"id": "$graphify-root$_scripts_build_homelab_ai_index_path_is_secret", "label": "path_is_secret()", "file_type": "code", "source_file": "scripts/build-homelab-ai-index", "source_location": "L42", "_callable": true}, {"id": "$graphify-root$_scripts_build_homelab_ai_index_path_matches_any", "label": "path_matches_any()", "file_type": "code", "source_file": "scripts/build-homelab-ai-index", "source_location": "L59", "_callable": true}, {"id": "$graphify-root$_scripts_build_homelab_ai_index_candidate_files", "label": "candidate_files()", "file_type": "code", "source_file": "scripts/build-homelab-ai-index", "source_location": "L63", "_callable": true}, {"id": "$graphify-root$_scripts_build_homelab_ai_index_read_text", "label": "read_text()", "file_type": "code", "source_file": "scripts/build-homelab-ai-index", "source_location": "L86", "_callable": true}, {"id": "$graphify-root$_scripts_build_homelab_ai_index_chunk_file", "label": "chunk_file()", "file_type": "code", "source_file": "scripts/build-homelab-ai-index", "source_location": "L95", "_callable": true}, {"id": "$graphify-root$_scripts_build_homelab_ai_index_build_index", "label": "build_index()", "file_type": "code", "source_file": "scripts/build-homelab-ai-index", "source_location": "L134", "_callable": true}, {"id": "$graphify-root$_scripts_build_homelab_ai_index_main", "label": "main()", "file_type": "code", "source_file": "scripts/build-homelab-ai-index", "source_location": "L166", "_callable": true}, {"id": "$graphify-root$_scripts_build_homelab_ai_index_rationale_2", "label": "Build a small local retrieval index from non-secret homelab repo files.", "file_type": "rationale", "source_file": "scripts/build-homelab-ai-index", "source_location": "L2"}], "edges": [{"source": "$graphify-root$_scripts_build_homelab_ai_index", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index", "target": "fnmatch", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index", "target": "math", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index", "target": "pathlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index", "target": "collections", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index", "target": "$graphify-root$_scripts_build_homelab_ai_index_tokenise", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L28", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index", "target": "$graphify-root$_scripts_build_homelab_ai_index_load_patterns", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L32", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index_load_patterns", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L32", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index", "target": "$graphify-root$_scripts_build_homelab_ai_index_path_is_secret", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L42", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index_path_is_secret", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L42", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index", "target": "$graphify-root$_scripts_build_homelab_ai_index_path_matches_any", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L59", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index", "target": "$graphify-root$_scripts_build_homelab_ai_index_candidate_files", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L63", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index_candidate_files", "target": "path", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L63", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index", "target": "$graphify-root$_scripts_build_homelab_ai_index_read_text", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L86", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index_read_text", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L86", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index", "target": "$graphify-root$_scripts_build_homelab_ai_index_chunk_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L95", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index_chunk_file", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L95", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index", "target": "$graphify-root$_scripts_build_homelab_ai_index_build_index", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L134", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index_build_index", "target": "path", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L134", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index", "target": "$graphify-root$_scripts_build_homelab_ai_index_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L166", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index_candidate_files", "target": "$graphify-root$_scripts_build_homelab_ai_index_path_is_secret", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L81", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index_candidate_files", "target": "$graphify-root$_scripts_build_homelab_ai_index_path_matches_any", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L82", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index_chunk_file", "target": "$graphify-root$_scripts_build_homelab_ai_index_tokenise", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L112", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index_build_index", "target": "$graphify-root$_scripts_build_homelab_ai_index_read_text", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L139", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index_build_index", "target": "$graphify-root$_scripts_build_homelab_ai_index_chunk_file", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L142", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index_main", "target": "$graphify-root$_scripts_build_homelab_ai_index_load_patterns", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L177", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index_main", "target": "$graphify-root$_scripts_build_homelab_ai_index_candidate_files", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L179", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index_main", "target": "$graphify-root$_scripts_build_homelab_ai_index_build_index", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L180", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_homelab_ai_index_rationale_2", "target": "$graphify-root$_scripts_build_homelab_ai_index", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/build-homelab-ai-index", "source_location": "L2", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_tokenise", "callee": "lower", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L29", "receiver": "token"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_tokenise", "callee": "findall", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L29", "receiver": "TOKEN_RE"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_load_patterns", "callee": "splitlines", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L34", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_load_patterns", "callee": "read_text", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L34", "receiver": "path"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_load_patterns", "callee": "strip", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L35", "receiver": "raw_line"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_load_patterns", "callee": "startswith", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L36", "receiver": "line"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_load_patterns", "callee": "append", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L38", "receiver": "patterns"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_path_is_secret", "callee": "lower", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L43", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_path_matches_any", "callee": "fnmatch", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L60", "receiver": "fnmatch"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_candidate_files", "callee": "rglob", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L65", "receiver": "REPO_ROOT"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_candidate_files", "callee": "is_file", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L65", "receiver": "path"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_candidate_files", "callee": "as_posix", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L70", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_candidate_files", "callee": "relative_to", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L70", "receiver": "path"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_candidate_files", "callee": "REPO_ROOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/build-homelab-ai-index", "source_location": "L70"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_candidate_files", "callee": "fnmatch", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L71", "receiver": "fnmatch"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_candidate_files", "callee": "add", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L72", "receiver": "files"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_candidate_files", "callee": "is_file", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L75", "receiver": "path"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_candidate_files", "callee": "add", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L76", "receiver": "files"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_candidate_files", "callee": "as_posix", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L82", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_candidate_files", "callee": "relative_to", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L82", "receiver": "path"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_candidate_files", "callee": "REPO_ROOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/build-homelab-ai-index", "source_location": "L82"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_read_text", "callee": "stat", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L88", "receiver": "path"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_read_text", "callee": "read_text", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L90", "receiver": "path"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_chunk_file", "callee": "as_posix", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L96", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_chunk_file", "callee": "relative_to", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L96", "receiver": "path"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_chunk_file", "callee": "REPO_ROOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/build-homelab-ai-index", "source_location": "L96"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_chunk_file", "callee": "splitlines", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L97", "receiver": "text"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_chunk_file", "callee": "strip", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L103", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_chunk_file", "callee": "join", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L103", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_chunk_file", "callee": "append", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L105", "receiver": "chunks"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_chunk_file", "callee": "strip", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L119", "receiver": "text"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_chunk_file", "callee": "append", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L120", "receiver": "chunks"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_chunk_file", "callee": "strip", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L126", "receiver": "text"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_build_index", "callee": "Counter", "is_member_call": false, "source_file": "scripts/build-homelab-ai-index", "source_location": "L136", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_build_index", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/build-homelab-ai-index", "source_location": "L144"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_build_index", "callee": "append", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L146", "receiver": "chunks"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_build_index", "callee": "update", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L147", "receiver": "document_frequency"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_build_index", "callee": "log", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L152", "receiver": "math"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_build_index", "callee": "items", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L153", "receiver": "document_frequency"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_build_index", "callee": "REPO_ROOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/build-homelab-ai-index", "source_location": "L158"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_main", "callee": "ArgumentParser", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L167", "receiver": "argparse"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_main", "callee": "__doc__", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/build-homelab-ai-index", "source_location": "L167"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L168", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_main", "callee": "DEFAULT_SOURCES_FILE", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/build-homelab-ai-index", "source_location": "L168"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L169", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_main", "callee": "DEFAULT_EXCLUDES_FILE", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/build-homelab-ai-index", "source_location": "L169"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L170", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_main", "callee": "DEFAULT_INDEX_DIR", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/build-homelab-ai-index", "source_location": "L170"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_main", "callee": "parse_args", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L171", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_main", "callee": "is_file", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L173", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_main", "callee": "is_file", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L178", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_main", "callee": "mkdir", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L182", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_main", "callee": "write_text", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L185", "receiver": "index_path"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_main", "callee": "dumps", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L185", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_main", "callee": "write_text", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L186", "receiver": "manifest_path"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_main", "callee": "dumps", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L187", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_main", "callee": "time", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L189", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_main", "callee": "relative_to", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L190", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_main", "callee": "REPO_ROOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/build-homelab-ai-index", "source_location": "L190"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_main", "callee": "relative_to", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L191", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_main", "callee": "REPO_ROOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/build-homelab-ai-index", "source_location": "L191"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_main", "callee": "is_file", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L191", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_main", "callee": "REPO_ROOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/build-homelab-ai-index", "source_location": "L194"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_main", "callee": "as_posix", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L196", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_main", "callee": "relative_to", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L196", "receiver": "path"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_main", "callee": "REPO_ROOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/build-homelab-ai-index", "source_location": "L196"}, {"caller_nid": "$graphify-root$_scripts_build_homelab_ai_index_main", "callee": "stat", "is_member_call": true, "source_file": "scripts/build-homelab-ai-index", "source_location": "L196", "receiver": "path"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/219e7e50d1c096b6fa9a6391a12635e253e15e1ed5d313ec96c226fed764edf6.json b/graphify-out/cache/ast/v0.9.64-s4/219e7e50d1c096b6fa9a6391a12635e253e15e1ed5d313ec96c226fed764edf6.json
new file mode 100644
index 0000000..6a039d6
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/219e7e50d1c096b6fa9a6391a12635e253e15e1ed5d313ec96c226fed764edf6.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_capacity_advisor", "label": "capacity-advisor", "file_type": "code", "source_file": "scripts/capacity-advisor", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_capacity_advisor__entry", "label": "capacity-advisor script", "file_type": "code", "source_file": "scripts/capacity-advisor", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_capacity_advisor_run_check", "label": "run_check()", "file_type": "code", "source_file": "scripts/capacity-advisor", "source_location": "L6", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_capacity_advisor", "target": "$graphify-root$_scripts_capacity_advisor__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/capacity-advisor", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_capacity_advisor", "target": "$graphify-root$_scripts_capacity_advisor_run_check", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/capacity-advisor", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_scripts_capacity_advisor__entry", "target": "$graphify-root$_scripts_capacity_advisor_run_check", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/capacity-advisor", "source_location": "L21", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_capacity_advisor__entry", "source_file": "scripts/capacity-advisor", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_capacity_advisor__entry", "source_file": "scripts/capacity-advisor", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_capacity_advisor__entry", "source_file": "scripts/capacity-advisor", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_capacity_advisor__entry", "source_file": "scripts/capacity-advisor", "source_location": "L4"}, {"language": "bash", "callee": "mktemp", "caller_nid": "$graphify-root$_scripts_capacity_advisor__entry", "source_file": "scripts/capacity-advisor", "source_location": "L17"}, {"language": "bash", "callee": "trap", "caller_nid": "$graphify-root$_scripts_capacity_advisor__entry", "source_file": "scripts/capacity-advisor", "source_location": "L18"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_scripts_capacity_advisor__entry", "source_file": "scripts/capacity-advisor", "source_location": "L26"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_scripts_capacity_advisor_run_check", "source_file": "scripts/capacity-advisor", "source_location": "L8"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_capacity_advisor_run_check", "source_file": "scripts/capacity-advisor", "source_location": "L9"}, {"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_capacity_advisor_run_check", "source_file": "scripts/capacity-advisor", "source_location": "L10"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/223908f741a8cdeaf44341dcd67082c1164422c8ce8850c07484b9f14ca9447a.json b/graphify-out/cache/ast/v0.9.64-s4/223908f741a8cdeaf44341dcd67082c1164422c8ce8850c07484b9f14ca9447a.json
new file mode 100644
index 0000000..7d0f0ee
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/223908f741a8cdeaf44341dcd67082c1164422c8ce8850c07484b9f14ca9447a.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_apps_website_cv_php", "label": "cv.php", "file_type": "code", "source_file": "apps/website/cv.php", "source_location": "L1"}], "edges": [], "raw_calls": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/23d8c55a716781d8488774475b24b985fa2617abde477fe4e78fb09d79f7c22a.json b/graphify-out/cache/ast/v0.9.64-s4/23d8c55a716781d8488774475b24b985fa2617abde477fe4e78fb09d79f7c22a.json
new file mode 100644
index 0000000..11f9325
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/23d8c55a716781d8488774475b24b985fa2617abde477fe4e78fb09d79f7c22a.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_apps_website_partials_theme_toolbar_php", "label": "theme_toolbar.php", "file_type": "code", "source_file": "apps/website/partials/theme_toolbar.php", "source_location": "L1"}], "edges": [], "raw_calls": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/284572363b6f9ddaada54bf1c6b647d0da304064440a45f81889339cc4181a4e.json b/graphify-out/cache/ast/v0.9.64-s4/284572363b6f9ddaada54bf1c6b647d0da304064440a45f81889339cc4181a4e.json
new file mode 100644
index 0000000..c399fe8
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/284572363b6f9ddaada54bf1c6b647d0da304064440a45f81889339cc4181a4e.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_bootstrap_provisioning_variables_tf", "label": "variables.tf", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": null, "type": "terraform_file"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_provisioning_host", "label": "var.provisioning_host", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L1", "attributes": {"type": "string", "default": "192.168.100.73"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_provisioning_user", "label": "var.provisioning_user", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L6", "attributes": {"type": "string", "default": "jv"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_provisioning_ssh_key_path", "label": "var.provisioning_ssh_key_path", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L11", "attributes": {"type": "string", "default": "/home/jv/.ssh/id_ed25519"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_provisioning_install_dir", "label": "var.provisioning_install_dir", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L16", "attributes": {"type": "string", "default": "/opt/homelab-provisioning"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_provisioning_interface", "label": "var.provisioning_interface", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L21", "attributes": {"type": "string"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_proxy_dhcp_range", "label": "var.proxy_dhcp_range", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L25", "attributes": {"type": "string", "default": "192.168.100.0,proxy"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_http_host", "label": "var.http_host", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L30", "attributes": {"type": "string", "default": "192.168.100.73"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_http_port", "label": "var.http_port", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L35", "attributes": {"type": "number", "default": 8088}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_debian_suite", "label": "var.debian_suite", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L40", "attributes": {"type": "string", "default": "trixie"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_debian_mirror_host", "label": "var.debian_mirror_host", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L45", "attributes": {"type": "string", "default": "deb.debian.org"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_debian_mirror_directory", "label": "var.debian_mirror_directory", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L50", "attributes": {"type": "string", "default": "/debian"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_debian_netboot_base_url", "label": "var.debian_netboot_base_url", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L55", "attributes": {"type": "string", "default": ""}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pxe_boot_file", "label": "var.pxe_boot_file", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L60", "attributes": {"type": "string", "default": "grubaa64.efi"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pxe_menu_timeout", "label": "var.pxe_menu_timeout", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L65", "attributes": {"type": "number", "default": 10}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pxe_default_menu_entry", "label": "var.pxe_default_menu_entry", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L70", "attributes": {"type": "number", "default": 0}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_hostname", "label": "var.template_hostname", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L75", "attributes": {"type": "string", "default": "homelab-arm64-template"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_clone_hostname_prefix", "label": "var.clone_hostname_prefix", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L80", "attributes": {"type": "string", "default": "homelab-worker"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_domain", "label": "var.template_domain", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L85", "attributes": {"type": "string", "default": "homelab.local"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_disk", "label": "var.template_disk", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L90", "attributes": {"type": "string", "default": "/dev/sda"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_user", "label": "var.template_user", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L95", "attributes": {"type": "string", "default": "jv"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_user_full_name", "label": "var.template_user_full_name", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L100", "attributes": {"type": "string", "default": "Homelab Operator"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_user_password_hash", "label": "var.template_user_password_hash", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L105", "attributes": {"type": "string", "default": "*"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_user_ssh_public_key_path", "label": "var.template_user_ssh_public_key_path", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L110", "attributes": {"type": "string", "default": "/home/jv/.ssh/id_ed25519.pub"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_user_ssh_authorized_keys", "label": "var.template_user_ssh_authorized_keys", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L115", "attributes": {"type": "list(string)", "default": []}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_locale", "label": "var.locale", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L120", "attributes": {"type": "string", "default": "en_US.UTF-8"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_keyboard", "label": "var.keyboard", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L125", "attributes": {"type": "string", "default": "us"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_timezone", "label": "var.timezone", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L130", "attributes": {"type": "string", "default": "UTC"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_kubernetes_minor_version", "label": "var.kubernetes_minor_version", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L135", "attributes": {"type": "string", "default": "v1.36"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_kernel_cgroup_boot_options", "label": "var.kernel_cgroup_boot_options", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L140", "attributes": {"type": "list(string)", "default": ["systemd.unified_cgroup_hierarchy=1", "cgroup_enable=memory", "cgroup_memory=1"]}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_registry_endpoint", "label": "var.registry_endpoint", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L149", "attributes": {"type": "string", "default": "192.168.100.73:30500"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_node_dns_servers", "label": "var.node_dns_servers", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L154", "attributes": {"type": "list(string)", "default": ["1.1.1.1", "8.8.8.8"]}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_additional_template_packages", "label": "var.additional_template_packages", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L162", "attributes": {"type": "list(string)", "default": []}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_builder_enabled", "label": "var.pimox_template_builder_enabled", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L167", "attributes": {"type": "bool", "default": false}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_host", "label": "var.pimox_host", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L172", "attributes": {"type": "string", "default": "192.168.100.80"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_user", "label": "var.pimox_user", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L177", "attributes": {"type": "string", "default": "jv"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_ssh_key_path", "label": "var.pimox_ssh_key_path", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L182", "attributes": {"type": "string", "default": "/home/jv/.ssh/id_ed25519"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_qm_bin", "label": "var.pimox_qm_bin", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L187", "attributes": {"type": "string", "default": "/usr/sbin/qm"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_vmid", "label": "var.pimox_template_vmid", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L192", "attributes": {"type": "number", "default": 9000}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_name", "label": "var.pimox_template_name", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L197", "attributes": {"type": "string", "default": "debian13-arm64-k8s-template"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_cores", "label": "var.pimox_template_cores", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L202", "attributes": {"type": "number", "default": 2}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_memory", "label": "var.pimox_template_memory", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L207", "attributes": {"type": "number", "default": 8192}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_kvm_cpuset", "label": "var.pimox_template_kvm_cpuset", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L212", "attributes": {"type": "string", "default": "", "description": "Optional Pimox host CPU set used when launching the generated KVM command. Jeannie defaults this to 4-7 for the Orange Pi 5 Plus."}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_bridge", "label": "var.pimox_template_bridge", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L218", "attributes": {"type": "string", "default": "vmbr0"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_mac", "label": "var.pimox_template_mac", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L223", "attributes": {"type": "string", "default": ""}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_scsi0", "label": "var.pimox_template_scsi0", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L228", "attributes": {"type": "string", "default": "local:15"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_efidisk0", "label": "var.pimox_template_efidisk0", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L233", "attributes": {"type": "string", "default": "local:1,efitype=4m,pre-enrolled-keys=1"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_replace_existing", "label": "var.pimox_template_replace_existing", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L238", "attributes": {"type": "bool", "default": false}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_build_host", "label": "var.pimox_template_build_host", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L243", "attributes": {"type": "string", "default": ""}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_build_user", "label": "var.pimox_template_build_user", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L248", "attributes": {"type": "string", "default": "jv"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_build_ssh_key_path", "label": "var.pimox_template_build_ssh_key_path", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L253", "attributes": {"type": "string", "default": "/home/jv/.ssh/id_ed25519"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_build_timeout", "label": "var.pimox_template_build_timeout", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L258", "attributes": {"type": "string", "default": "60m"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_build_timeout_seconds", "label": "var.pimox_template_build_timeout_seconds", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L263", "attributes": {"type": "number", "default": 3600}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_guest_ssh_timeout_seconds", "label": "var.pimox_template_guest_ssh_timeout_seconds", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L268", "attributes": {"type": "number", "default": 300}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_guest_ip_prefix", "label": "var.pimox_template_guest_ip_prefix", "file_type": "code", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L273", "attributes": {"type": "string", "default": "192.168.100."}}], "edges": [{"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_provisioning_host", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_provisioning_user", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_provisioning_ssh_key_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_provisioning_install_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_provisioning_interface", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L21", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_proxy_dhcp_range", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L25", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_http_host", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L30", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_http_port", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L35", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_debian_suite", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L40", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_debian_mirror_host", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L45", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_debian_mirror_directory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L50", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_debian_netboot_base_url", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L55", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pxe_boot_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L60", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pxe_menu_timeout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L65", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pxe_default_menu_entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L70", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_hostname", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L75", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_clone_hostname_prefix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L80", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_domain", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L85", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_disk", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L90", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_user", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L95", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_user_full_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L100", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_user_password_hash", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L105", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_user_ssh_public_key_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L110", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_user_ssh_authorized_keys", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L115", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_locale", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L120", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_keyboard", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L125", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_timezone", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L130", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_kubernetes_minor_version", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L135", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_kernel_cgroup_boot_options", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L140", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_registry_endpoint", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L149", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_node_dns_servers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L154", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_additional_template_packages", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L162", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_builder_enabled", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L167", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_host", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L172", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_user", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L177", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_ssh_key_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L182", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_qm_bin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L187", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_vmid", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L192", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L197", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_cores", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L202", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_memory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L207", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_kvm_cpuset", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L212", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_bridge", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L218", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_mac", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L223", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_scsi0", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L228", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_efidisk0", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L233", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_replace_existing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L238", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_build_host", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L243", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_build_user", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L248", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_build_ssh_key_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L253", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_build_timeout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L258", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_build_timeout_seconds", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L263", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_guest_ssh_timeout_seconds", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L268", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_guest_ip_prefix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/variables.tf", "source_location": "L273", "weight": 1.0}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/2cbed3c34b6e75e38af5e28b50560cf2a84a55bc7e75f5fd0760dfce0164b7ae.json b/graphify-out/cache/ast/v0.9.64-s4/2cbed3c34b6e75e38af5e28b50560cf2a84a55bc7e75f5fd0760dfce0164b7ae.json
new file mode 100644
index 0000000..f880e5e
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/2cbed3c34b6e75e38af5e28b50560cf2a84a55bc7e75f5fd0760dfce0164b7ae.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_bootstrap_apps_variables_tf", "label": "variables.tf", "file_type": "code", "source_file": "bootstrap/apps/variables.tf", "source_location": null, "type": "terraform_file"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_var_kubeconfig_path", "label": "var.kubeconfig_path", "file_type": "code", "source_file": "bootstrap/apps/variables.tf", "source_location": "L1", "attributes": {"type": "string", "default": "/home/jv/.kube/config"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_var_argocd_namespace", "label": "var.argocd_namespace", "file_type": "code", "source_file": "bootstrap/apps/variables.tf", "source_location": "L6", "attributes": {"type": "string", "default": "argocd"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_var_gitops_repo_url", "label": "var.gitops_repo_url", "file_type": "code", "source_file": "bootstrap/apps/variables.tf", "source_location": "L11", "attributes": {"type": "string", "default": "ssh://git@192.168.100.73:32222/jv/my-homelab-configs.git"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_var_website_image_ref", "label": "var.website_image_ref", "file_type": "code", "source_file": "bootstrap/apps/variables.tf", "source_location": "L16", "attributes": {"type": "string", "default": ""}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_var_applications", "label": "var.applications", "file_type": "code", "source_file": "bootstrap/apps/variables.tf", "source_location": "L21", "attributes": {"type": "map(object({ project = string path = string namespace = string target_revision = string prune = bool self_heal = bool create_namespace = bool }))", "default": {"container-registry": {"project": "default", "path": "apps/container-registry", "namespace": "container-registry", "target_revision": "main", "prune": true, "self_heal": true, "create_namespace": true}, "access-control": {"project": "default", "path": "apps/access-control", "namespace": "homelab-access", "target_revision": "main", "prune": true, "self_heal": true, "create_namespace": true}, "website-production": {"project": "default", "path": "apps/website", "namespace": "website-production", "target_revision": "main", "prune": true, "self_heal": true, "create_namespace": true}, "demos-static": {"project": "default", "path": "apps/demos-static", "namespace": "demos-static", "target_revision": "main", "prune": true, "self_heal": true, "create_namespace": true}, "heimdall": {"project": "default", "path": "apps/heimdall", "namespace": "monitoring", "target_revision": "main", "prune": true, "self_heal": true, "create_namespace": false}, "n8n": {"project": "default", "path": "apps/n8n", "namespace": "n8n", "target_revision": "main", "prune": true, "self_heal": true, "create_namespace": true}, "supply-chain-policy": {"project": "default", "path": "apps/supply-chain-policy", "namespace": "kyverno", "target_revision": "main", "prune": true, "self_heal": true, "create_namespace": false}, "homelab-alerts": {"project": "default", "path": "apps/homelab-alerts", "namespace": "monitoring", "target_revision": "main", "prune": true, "self_heal": true, "create_namespace": false}, "security-lab": {"project": "default", "path": "apps/security-lab", "namespace": "security-lab", "target_revision": "main", "prune": true, "self_heal": true, "create_namespace": true}}}}], "edges": [{"source": "$graphify-root$_bootstrap_apps_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_var_kubeconfig_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/apps/variables.tf", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_apps_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_var_argocd_namespace", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/apps/variables.tf", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_apps_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_var_gitops_repo_url", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/apps/variables.tf", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_apps_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_var_website_image_ref", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/apps/variables.tf", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_apps_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_var_applications", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/apps/variables.tf", "source_location": "L21", "weight": 1.0}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/2fa193304cd18fce17cddc34ccc070579c58c399790f303d9640ff77911b06ac.json b/graphify-out/cache/ast/v0.9.64-s4/2fa193304cd18fce17cddc34ccc070579c58c399790f303d9640ff77911b06ac.json
new file mode 100644
index 0000000..2de09ae
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/2fa193304cd18fce17cddc34ccc070579c58c399790f303d9640ff77911b06ac.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_apps_website_start_website_sh", "label": "start-website.sh", "file_type": "code", "source_file": "apps/website/start-website.sh", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_apps_website_start_website_sh__entry", "label": "start-website.sh script", "file_type": "code", "source_file": "apps/website/start-website.sh", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}], "edges": [{"source": "$graphify-root$_apps_website_start_website_sh", "target": "$graphify-root$_apps_website_start_website_sh__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/start-website.sh", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_apps_website_start_website_sh__entry", "source_file": "apps/website/start-website.sh", "source_location": "L2"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_apps_website_start_website_sh__entry", "source_file": "apps/website/start-website.sh", "source_location": "L4"}, {"language": "bash", "callee": "php-fpm", "caller_nid": "$graphify-root$_apps_website_start_website_sh__entry", "source_file": "apps/website/start-website.sh", "source_location": "L11"}, {"language": "bash", "callee": "exec", "caller_nid": "$graphify-root$_apps_website_start_website_sh__entry", "source_file": "apps/website/start-website.sh", "source_location": "L13"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/377365eccc6e35fff07b726f72957b3d36ceae6c0240fd3dceea46ad8b661493.json b/graphify-out/cache/ast/v0.9.64-s4/377365eccc6e35fff07b726f72957b3d36ceae6c0240fd3dceea46ad8b661493.json
new file mode 100644
index 0000000..3736f12
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/377365eccc6e35fff07b726f72957b3d36ceae6c0240fd3dceea46ad8b661493.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_bootstrap_edge_variables_tf", "label": "variables.tf", "file_type": "code", "source_file": "bootstrap/edge/variables.tf", "source_location": null, "type": "terraform_file"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_edge_host", "label": "var.edge_host", "file_type": "code", "source_file": "bootstrap/edge/variables.tf", "source_location": "L1", "attributes": {"type": "string", "default": ""}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_edge_user", "label": "var.edge_user", "file_type": "code", "source_file": "bootstrap/edge/variables.tf", "source_location": "L11", "attributes": {"type": "string", "default": "ubuntu"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_edge_ssh_key_path", "label": "var.edge_ssh_key_path", "file_type": "code", "source_file": "bootstrap/edge/variables.tf", "source_location": "L16", "attributes": {"type": "string", "default": "/home/jv/.ssh/id_ed25519"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_edge_install_dir", "label": "var.edge_install_dir", "file_type": "code", "source_file": "bootstrap/edge/variables.tf", "source_location": "L21", "attributes": {"type": "string", "default": "/opt/homelab-edge"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_edge_install_docker", "label": "var.edge_install_docker", "file_type": "code", "source_file": "bootstrap/edge/variables.tf", "source_location": "L26", "attributes": {"type": "bool", "default": false}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_server_name", "label": "var.server_name", "file_type": "code", "source_file": "bootstrap/edge/variables.tf", "source_location": "L31", "attributes": {"type": "string", "default": ""}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_additional_server_names", "label": "var.additional_server_names", "file_type": "code", "source_file": "bootstrap/edge/variables.tf", "source_location": "L41", "attributes": {"type": "list(string)", "default": []}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_enable_letsencrypt", "label": "var.enable_letsencrypt", "file_type": "code", "source_file": "bootstrap/edge/variables.tf", "source_location": "L46", "attributes": {"type": "bool", "default": true}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_letsencrypt_email", "label": "var.letsencrypt_email", "file_type": "code", "source_file": "bootstrap/edge/variables.tf", "source_location": "L51", "attributes": {"type": "string", "default": ""}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_letsencrypt_staging", "label": "var.letsencrypt_staging", "file_type": "code", "source_file": "bootstrap/edge/variables.tf", "source_location": "L56", "attributes": {"type": "bool", "default": false}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_backend_host", "label": "var.backend_host", "file_type": "code", "source_file": "bootstrap/edge/variables.tf", "source_location": "L61", "attributes": {"type": "string", "default": ""}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_backend_port", "label": "var.backend_port", "file_type": "code", "source_file": "bootstrap/edge/variables.tf", "source_location": "L71", "attributes": {"type": "number", "default": 80}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_demos_backend_port", "label": "var.demos_backend_port", "file_type": "code", "source_file": "bootstrap/edge/variables.tf", "source_location": "L76", "attributes": {"type": "number", "default": 30081}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_gitea_backend_port", "label": "var.gitea_backend_port", "file_type": "code", "source_file": "bootstrap/edge/variables.tf", "source_location": "L81", "attributes": {"type": "number", "default": 3000}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_gitea_backend_host", "label": "var.gitea_backend_host", "file_type": "code", "source_file": "bootstrap/edge/variables.tf", "source_location": "L86", "attributes": {"type": "string", "default": ""}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_heimdall_backend_host", "label": "var.heimdall_backend_host", "file_type": "code", "source_file": "bootstrap/edge/variables.tf", "source_location": "L96", "attributes": {"type": "string", "default": ""}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_heimdall_backend_port", "label": "var.heimdall_backend_port", "file_type": "code", "source_file": "bootstrap/edge/variables.tf", "source_location": "L101", "attributes": {"type": "number", "default": 8082}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_matrix_enabled", "label": "var.matrix_enabled", "file_type": "code", "source_file": "bootstrap/edge/variables.tf", "source_location": "L107", "attributes": {"type": "bool", "default": true}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_matrix_server_name", "label": "var.matrix_server_name", "file_type": "code", "source_file": "bootstrap/edge/variables.tf", "source_location": "L112", "attributes": {"type": "string", "default": "matrix.lab2025.duckdns.org"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_matrix_backend_host", "label": "var.matrix_backend_host", "file_type": "code", "source_file": "bootstrap/edge/variables.tf", "source_location": "L118", "attributes": {"type": "string", "default": "192.168.100.73"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_matrix_backend_port", "label": "var.matrix_backend_port", "file_type": "code", "source_file": "bootstrap/edge/variables.tf", "source_location": "L123", "attributes": {"type": "number", "default": 8008}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_matrix_cert_dir", "label": "var.matrix_cert_dir", "file_type": "code", "source_file": "bootstrap/edge/variables.tf", "source_location": "L128", "attributes": {"type": "string", "default": "/etc/nginx/certs"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_element_server_name", "label": "var.element_server_name", "file_type": "code", "source_file": "bootstrap/edge/variables.tf", "source_location": "L134", "attributes": {"type": "string", "default": "element.lab2025.duckdns.org"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_element_backend_host", "label": "var.element_backend_host", "file_type": "code", "source_file": "bootstrap/edge/variables.tf", "source_location": "L139", "attributes": {"type": "string", "default": "192.168.100.73"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_element_backend_port", "label": "var.element_backend_port", "file_type": "code", "source_file": "bootstrap/edge/variables.tf", "source_location": "L144", "attributes": {"type": "number", "default": 8081}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_haproxy_stats_user", "label": "var.haproxy_stats_user", "file_type": "code", "source_file": "bootstrap/edge/variables.tf", "source_location": "L149", "attributes": {"type": "string", "default": "admin"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_haproxy_stats_password", "label": "var.haproxy_stats_password", "file_type": "code", "source_file": "bootstrap/edge/variables.tf", "source_location": "L154", "attributes": {"type": "string", "sensitive": true, "default": ""}}], "edges": [{"source": "$graphify-root$_bootstrap_edge_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_edge_host", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/variables.tf", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_edge_user", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/variables.tf", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_edge_ssh_key_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/variables.tf", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_edge_install_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/variables.tf", "source_location": "L21", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_edge_install_docker", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/variables.tf", "source_location": "L26", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_server_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/variables.tf", "source_location": "L31", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_additional_server_names", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/variables.tf", "source_location": "L41", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_enable_letsencrypt", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/variables.tf", "source_location": "L46", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_letsencrypt_email", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/variables.tf", "source_location": "L51", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_letsencrypt_staging", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/variables.tf", "source_location": "L56", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_backend_host", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/variables.tf", "source_location": "L61", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_backend_port", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/variables.tf", "source_location": "L71", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_demos_backend_port", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/variables.tf", "source_location": "L76", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_gitea_backend_port", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/variables.tf", "source_location": "L81", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_gitea_backend_host", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/variables.tf", "source_location": "L86", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_heimdall_backend_host", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/variables.tf", "source_location": "L96", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_heimdall_backend_port", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/variables.tf", "source_location": "L101", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_matrix_enabled", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/variables.tf", "source_location": "L107", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_matrix_server_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/variables.tf", "source_location": "L112", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_matrix_backend_host", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/variables.tf", "source_location": "L118", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_matrix_backend_port", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/variables.tf", "source_location": "L123", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_matrix_cert_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/variables.tf", "source_location": "L128", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_element_server_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/variables.tf", "source_location": "L134", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_element_backend_host", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/variables.tf", "source_location": "L139", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_element_backend_port", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/variables.tf", "source_location": "L144", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_haproxy_stats_user", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/variables.tf", "source_location": "L149", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_haproxy_stats_password", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/variables.tf", "source_location": "L154", "weight": 1.0}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/3b2a033d6e4730d7591adfa699d20294186a02e112eba3479566beb80f6eb80b.json b/graphify-out/cache/ast/v0.9.64-s4/3b2a033d6e4730d7591adfa699d20294186a02e112eba3479566beb80f6eb80b.json
new file mode 100644
index 0000000..4e9e907
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/3b2a033d6e4730d7591adfa699d20294186a02e112eba3479566beb80f6eb80b.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_apps_website_partials_footer_php", "label": "footer.php", "file_type": "code", "source_file": "apps/website/partials/footer.php", "source_location": "L1"}], "edges": [], "raw_calls": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/3cdbdcb49212756a456706b9728362b01d9a09da4708d0e5858b734dee7dc98c.json b/graphify-out/cache/ast/v0.9.64-s4/3cdbdcb49212756a456706b9728362b01d9a09da4708d0e5858b734dee7dc98c.json
new file mode 100644
index 0000000..9ae0415
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/3cdbdcb49212756a456706b9728362b01d9a09da4708d0e5858b734dee7dc98c.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_promote", "label": "promote", "file_type": "code", "source_file": "scripts/promote", "source_location": "L1"}, {"id": "$graphify-root$_scripts_promote_checks", "label": "checks()", "file_type": "code", "source_file": "scripts/promote", "source_location": "L16", "_callable": true}, {"id": "$graphify-root$_scripts_promote_plan", "label": "plan()", "file_type": "code", "source_file": "scripts/promote", "source_location": "L21", "_callable": true}, {"id": "$graphify-root$_scripts_promote_validate", "label": "validate()", "file_type": "code", "source_file": "scripts/promote", "source_location": "L34", "_callable": true}, {"id": "$graphify-root$_scripts_promote_rollback", "label": "rollback()", "file_type": "code", "source_file": "scripts/promote", "source_location": "L61", "_callable": true}, {"id": "$graphify-root$_scripts_promote_main", "label": "main()", "file_type": "code", "source_file": "scripts/promote", "source_location": "L74", "_callable": true}, {"id": "$graphify-root$_scripts_promote_rationale_2", "label": "Plan and validate canary promotion gates.", "file_type": "rationale", "source_file": "scripts/promote", "source_location": "L2"}], "edges": [{"source": "$graphify-root$_scripts_promote", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/promote", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_scripts_promote", "target": "csv", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/promote", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_scripts_promote", "target": "subprocess", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/promote", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_scripts_promote", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/promote", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_scripts_promote", "target": "$graphify-root$_scripts_promote_checks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/promote", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_scripts_promote", "target": "$graphify-root$_scripts_promote_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/promote", "source_location": "L21", "weight": 1.0}, {"source": "$graphify-root$_scripts_promote", "target": "$graphify-root$_scripts_promote_validate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/promote", "source_location": "L34", "weight": 1.0}, {"source": "$graphify-root$_scripts_promote", "target": "$graphify-root$_scripts_promote_rollback", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/promote", "source_location": "L61", "weight": 1.0}, {"source": "$graphify-root$_scripts_promote", "target": "$graphify-root$_scripts_promote_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/promote", "source_location": "L74", "weight": 1.0}, {"source": "$graphify-root$_scripts_promote_plan", "target": "$graphify-root$_scripts_promote_checks", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/promote", "source_location": "L26", "weight": 1.0}, {"source": "$graphify-root$_scripts_promote_validate", "target": "$graphify-root$_scripts_promote_checks", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/promote", "source_location": "L38", "weight": 1.0}, {"source": "$graphify-root$_scripts_promote_main", "target": "$graphify-root$_scripts_promote_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/promote", "source_location": "L84", "weight": 1.0}, {"source": "$graphify-root$_scripts_promote_main", "target": "$graphify-root$_scripts_promote_validate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/promote", "source_location": "L86", "weight": 1.0}, {"source": "$graphify-root$_scripts_promote_main", "target": "$graphify-root$_scripts_promote_rollback", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/promote", "source_location": "L88", "weight": 1.0}, {"source": "$graphify-root$_scripts_promote_rationale_2", "target": "$graphify-root$_scripts_promote", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/promote", "source_location": "L2", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_promote_checks", "callee": "open", "is_member_call": true, "source_file": "scripts/promote", "source_location": "L17", "receiver": "CHECKS_FILE"}, {"caller_nid": "$graphify-root$_scripts_promote_checks", "callee": "DictReader", "is_member_call": true, "source_file": "scripts/promote", "source_location": "L18", "receiver": "csv"}, {"caller_nid": "$graphify-root$_scripts_promote_checks", "callee": "handle", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/promote", "source_location": "L18"}, {"caller_nid": "$graphify-root$_scripts_promote_validate", "callee": "run", "is_member_call": true, "source_file": "scripts/promote", "source_location": "L44", "receiver": "subprocess"}, {"caller_nid": "$graphify-root$_scripts_promote_validate", "callee": "REPO_ROOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/promote", "source_location": "L46"}, {"caller_nid": "$graphify-root$_scripts_promote_validate", "callee": "split", "is_member_call": true, "source_file": "scripts/promote", "source_location": "L45", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_promote_validate", "callee": "rstrip", "is_member_call": true, "source_file": "scripts/promote", "source_location": "L56", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_promote_main", "callee": "ArgumentParser", "is_member_call": true, "source_file": "scripts/promote", "source_location": "L75", "receiver": "argparse"}, {"caller_nid": "$graphify-root$_scripts_promote_main", "callee": "__doc__", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/promote", "source_location": "L75"}, {"caller_nid": "$graphify-root$_scripts_promote_main", "callee": "add_subparsers", "is_member_call": true, "source_file": "scripts/promote", "source_location": "L76", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_promote_main", "callee": "add_parser", "is_member_call": true, "source_file": "scripts/promote", "source_location": "L77", "receiver": "subparsers"}, {"caller_nid": "$graphify-root$_scripts_promote_main", "callee": "add_parser", "is_member_call": true, "source_file": "scripts/promote", "source_location": "L78", "receiver": "subparsers"}, {"caller_nid": "$graphify-root$_scripts_promote_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/promote", "source_location": "L79", "receiver": "validate_parser"}, {"caller_nid": "$graphify-root$_scripts_promote_main", "callee": "add_parser", "is_member_call": true, "source_file": "scripts/promote", "source_location": "L80", "receiver": "subparsers"}, {"caller_nid": "$graphify-root$_scripts_promote_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/promote", "source_location": "L81", "receiver": "rollback_parser"}, {"caller_nid": "$graphify-root$_scripts_promote_main", "callee": "parse_args", "is_member_call": true, "source_file": "scripts/promote", "source_location": "L82", "receiver": "parser"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/3d9244907ee7e27c52e39a1e66d4497dadbd4d81602df24724b22118a4fd42ba.json b/graphify-out/cache/ast/v0.9.64-s4/3d9244907ee7e27c52e39a1e66d4497dadbd4d81602df24724b22118a4fd42ba.json
new file mode 100644
index 0000000..90ae54d
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/3d9244907ee7e27c52e39a1e66d4497dadbd4d81602df24724b22118a4fd42ba.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_restore_drill", "label": "restore-drill", "file_type": "code", "source_file": "scripts/restore-drill", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_restore_drill__entry", "label": "restore-drill script", "file_type": "code", "source_file": "scripts/restore-drill", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_restore_drill_section", "label": "section()", "file_type": "code", "source_file": "scripts/restore-drill", "source_location": "L8", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_restore_drill_check_file", "label": "check_file()", "file_type": "code", "source_file": "scripts/restore-drill", "source_location": "L12", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_restore_drill_latest_file", "label": "latest_file()", "file_type": "code", "source_file": "scripts/restore-drill", "source_location": "L25", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_restore_drill_drill_gitea", "label": "drill_gitea()", "file_type": "code", "source_file": "scripts/restore-drill", "source_location": "L34", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_restore_drill_drill_pihole", "label": "drill_pihole()", "file_type": "code", "source_file": "scripts/restore-drill", "source_location": "L61", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_restore_drill_drill_state", "label": "drill_state()", "file_type": "code", "source_file": "scripts/restore-drill", "source_location": "L71", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_restore_drill_drill_gitops", "label": "drill_gitops()", "file_type": "code", "source_file": "scripts/restore-drill", "source_location": "L86", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_restore_drill_usage", "label": "usage()", "file_type": "code", "source_file": "scripts/restore-drill", "source_location": "L99", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_restore_drill_main", "label": "main()", "file_type": "code", "source_file": "scripts/restore-drill", "source_location": "L108", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_restore_drill", "target": "$graphify-root$_scripts_restore_drill__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/restore-drill", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_restore_drill", "target": "$graphify-root$_scripts_restore_drill_section", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/restore-drill", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_scripts_restore_drill", "target": "$graphify-root$_scripts_restore_drill_check_file", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/restore-drill", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_scripts_restore_drill", "target": "$graphify-root$_scripts_restore_drill_latest_file", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/restore-drill", "source_location": "L25", "weight": 1.0}, {"source": "$graphify-root$_scripts_restore_drill", "target": "$graphify-root$_scripts_restore_drill_drill_gitea", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/restore-drill", "source_location": "L34", "weight": 1.0}, {"source": "$graphify-root$_scripts_restore_drill", "target": "$graphify-root$_scripts_restore_drill_drill_pihole", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/restore-drill", "source_location": "L61", "weight": 1.0}, {"source": "$graphify-root$_scripts_restore_drill", "target": "$graphify-root$_scripts_restore_drill_drill_state", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/restore-drill", "source_location": "L71", "weight": 1.0}, {"source": "$graphify-root$_scripts_restore_drill", "target": "$graphify-root$_scripts_restore_drill_drill_gitops", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/restore-drill", "source_location": "L86", "weight": 1.0}, {"source": "$graphify-root$_scripts_restore_drill", "target": "$graphify-root$_scripts_restore_drill_usage", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/restore-drill", "source_location": "L99", "weight": 1.0}, {"source": "$graphify-root$_scripts_restore_drill", "target": "$graphify-root$_scripts_restore_drill_main", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/restore-drill", "source_location": "L108", "weight": 1.0}, {"source": "$graphify-root$_scripts_restore_drill__entry", "target": "$graphify-root$_scripts_restore_drill_main", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/restore-drill", "source_location": "L138", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_restore_drill_drill_gitea", "target": "$graphify-root$_scripts_restore_drill_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/restore-drill", "source_location": "L38", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_restore_drill_drill_gitea", "target": "$graphify-root$_scripts_restore_drill_latest_file", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/restore-drill", "source_location": "L39", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_restore_drill_drill_pihole", "target": "$graphify-root$_scripts_restore_drill_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/restore-drill", "source_location": "L62", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_restore_drill_drill_pihole", "target": "$graphify-root$_scripts_restore_drill_check_file", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/restore-drill", "source_location": "L63", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_restore_drill_drill_state", "target": "$graphify-root$_scripts_restore_drill_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/restore-drill", "source_location": "L75", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_restore_drill_drill_state", "target": "$graphify-root$_scripts_restore_drill_latest_file", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/restore-drill", "source_location": "L76", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_restore_drill_drill_gitops", "target": "$graphify-root$_scripts_restore_drill_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/restore-drill", "source_location": "L87", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_restore_drill_main", "target": "$graphify-root$_scripts_restore_drill_drill_gitea", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/restore-drill", "source_location": "L111", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_restore_drill_main", "target": "$graphify-root$_scripts_restore_drill_drill_pihole", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/restore-drill", "source_location": "L112", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_restore_drill_main", "target": "$graphify-root$_scripts_restore_drill_drill_state", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/restore-drill", "source_location": "L113", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_restore_drill_main", "target": "$graphify-root$_scripts_restore_drill_drill_gitops", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/restore-drill", "source_location": "L114", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_restore_drill_main", "target": "$graphify-root$_scripts_restore_drill_usage", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/restore-drill", "source_location": "L129", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_restore_drill__entry", "source_file": "scripts/restore-drill", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_restore_drill__entry", "source_file": "scripts/restore-drill", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_restore_drill__entry", "source_file": "scripts/restore-drill", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_restore_drill__entry", "source_file": "scripts/restore-drill", "source_location": "L4"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_restore_drill_section", "source_file": "scripts/restore-drill", "source_location": "L9"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_restore_drill_check_file", "source_file": "scripts/restore-drill", "source_location": "L16"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_restore_drill_check_file", "source_file": "scripts/restore-drill", "source_location": "L21"}, {"language": "bash", "callee": "find", "caller_nid": "$graphify-root$_scripts_restore_drill_latest_file", "source_file": "scripts/restore-drill", "source_location": "L29"}, {"language": "bash", "callee": "xargs", "caller_nid": "$graphify-root$_scripts_restore_drill_latest_file", "source_file": "scripts/restore-drill", "source_location": "L30"}, {"language": "bash", "callee": "sed", "caller_nid": "$graphify-root$_scripts_restore_drill_latest_file", "source_file": "scripts/restore-drill", "source_location": "L31"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_restore_drill_drill_gitea", "source_file": "scripts/restore-drill", "source_location": "L39"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_restore_drill_drill_gitea", "source_file": "scripts/restore-drill", "source_location": "L41"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_restore_drill_drill_gitea", "source_file": "scripts/restore-drill", "source_location": "L42"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_scripts_restore_drill_drill_gitea", "source_file": "scripts/restore-drill", "source_location": "L45"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_restore_drill_drill_state", "source_file": "scripts/restore-drill", "source_location": "L76"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_restore_drill_drill_state", "source_file": "scripts/restore-drill", "source_location": "L78"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_restore_drill_drill_state", "source_file": "scripts/restore-drill", "source_location": "L80"}, {"language": "bash", "callee": "tar", "caller_nid": "$graphify-root$_scripts_restore_drill_drill_state", "source_file": "scripts/restore-drill", "source_location": "L82"}, {"language": "bash", "callee": "git", "caller_nid": "$graphify-root$_scripts_restore_drill_drill_gitops", "source_file": "scripts/restore-drill", "source_location": "L88"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_restore_drill_drill_gitops", "source_file": "scripts/restore-drill", "source_location": "L90"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_restore_drill_drill_gitops", "source_file": "scripts/restore-drill", "source_location": "L92"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_scripts_restore_drill_drill_gitops", "source_file": "scripts/restore-drill", "source_location": "L93"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_restore_drill_drill_gitops", "source_file": "scripts/restore-drill", "source_location": "L93"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_restore_drill_usage", "source_file": "scripts/restore-drill", "source_location": "L100"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_restore_drill_main", "source_file": "scripts/restore-drill", "source_location": "L133"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/3fcfc708b6bd5f6cd00ec777e6f6fb398d7ed3218a83c225bad4f699b9bdbe80.json b/graphify-out/cache/ast/v0.9.64-s4/3fcfc708b6bd5f6cd00ec777e6f6fb398d7ed3218a83c225bad4f699b9bdbe80.json
new file mode 100644
index 0000000..b3f65b0
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/3fcfc708b6bd5f6cd00ec777e6f6fb398d7ed3218a83c225bad4f699b9bdbe80.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_explain", "label": "explain", "file_type": "code", "source_file": "scripts/explain", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_explain__entry", "label": "explain script", "file_type": "code", "source_file": "scripts/explain", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_explain_cleanup", "label": "cleanup()", "file_type": "code", "source_file": "scripts/explain", "source_location": "L9", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_explain_usage", "label": "usage()", "file_type": "code", "source_file": "scripts/explain", "source_location": "L16", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_explain_is_read_only_command", "label": "is_read_only_command()", "file_type": "code", "source_file": "scripts/explain", "source_location": "L35", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_explain_is_read_only_subcommand", "label": "is_read_only_subcommand()", "file_type": "code", "source_file": "scripts/explain", "source_location": "L46", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_explain_run_target", "label": "run_target()", "file_type": "code", "source_file": "scripts/explain", "source_location": "L72", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_explain_explain_output", "label": "explain_output()", "file_type": "code", "source_file": "scripts/explain", "source_location": "L85", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_explain_main", "label": "main()", "file_type": "code", "source_file": "scripts/explain", "source_location": "L288", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_explain", "target": "$graphify-root$_scripts_explain__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/explain", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_explain", "target": "$graphify-root$_scripts_explain_cleanup", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/explain", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_scripts_explain", "target": "$graphify-root$_scripts_explain_usage", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/explain", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_scripts_explain", "target": "$graphify-root$_scripts_explain_is_read_only_command", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/explain", "source_location": "L35", "weight": 1.0}, {"source": "$graphify-root$_scripts_explain", "target": "$graphify-root$_scripts_explain_is_read_only_subcommand", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/explain", "source_location": "L46", "weight": 1.0}, {"source": "$graphify-root$_scripts_explain", "target": "$graphify-root$_scripts_explain_run_target", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/explain", "source_location": "L72", "weight": 1.0}, {"source": "$graphify-root$_scripts_explain", "target": "$graphify-root$_scripts_explain_explain_output", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/explain", "source_location": "L85", "weight": 1.0}, {"source": "$graphify-root$_scripts_explain", "target": "$graphify-root$_scripts_explain_main", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/explain", "source_location": "L288", "weight": 1.0}, {"source": "$graphify-root$_scripts_explain__entry", "target": "$graphify-root$_scripts_explain_main", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/explain", "source_location": "L334", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_explain_run_target", "target": "$graphify-root$_scripts_explain_is_read_only_command", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/explain", "source_location": "L76", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_explain_run_target", "target": "$graphify-root$_scripts_explain_is_read_only_subcommand", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/explain", "source_location": "L76", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_explain_main", "target": "$graphify-root$_scripts_explain_usage", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/explain", "source_location": "L294", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_explain_main", "target": "$graphify-root$_scripts_explain_explain_output", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/explain", "source_location": "L304", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_explain_main", "target": "$graphify-root$_scripts_explain_run_target", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/explain", "source_location": "L325", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_explain__entry", "source_file": "scripts/explain", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_explain__entry", "source_file": "scripts/explain", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_explain__entry", "source_file": "scripts/explain", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_explain__entry", "source_file": "scripts/explain", "source_location": "L4"}, {"language": "bash", "callee": "trap", "caller_nid": "$graphify-root$_scripts_explain__entry", "source_file": "scripts/explain", "source_location": "L14"}, {"language": "bash", "callee": "rm", "caller_nid": "$graphify-root$_scripts_explain_cleanup", "source_file": "scripts/explain", "source_location": "L11"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_explain_usage", "source_file": "scripts/explain", "source_location": "L17"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_explain_is_read_only_command", "source_file": "scripts/explain", "source_location": "L38"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_explain_is_read_only_subcommand", "source_file": "scripts/explain", "source_location": "L67"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_scripts_explain_run_target", "source_file": "scripts/explain", "source_location": "L74"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_explain_run_target", "source_file": "scripts/explain", "source_location": "L74"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_explain_run_target", "source_file": "scripts/explain", "source_location": "L77"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_explain_run_target", "source_file": "scripts/explain", "source_location": "L79"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_explain_explain_output", "source_file": "scripts/explain", "source_location": "L91"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_explain_explain_output", "source_file": "scripts/explain", "source_location": "L92"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_scripts_explain_explain_output", "source_file": "scripts/explain", "source_location": "L99"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_explain_main", "source_file": "scripts/explain", "source_location": "L295"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_scripts_explain_main", "source_file": "scripts/explain", "source_location": "L298"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_explain_main", "source_file": "scripts/explain", "source_location": "L298"}, {"language": "bash", "callee": "mktemp", "caller_nid": "$graphify-root$_scripts_explain_main", "source_file": "scripts/explain", "source_location": "L300"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_explain_main", "source_file": "scripts/explain", "source_location": "L303"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/42082e0bd473122de1f6234d9bd1265943731851d1d63b4637f00d6836ca5668.json b/graphify-out/cache/ast/v0.9.64-s4/42082e0bd473122de1f6234d9bd1265943731851d1d63b4637f00d6836ca5668.json
new file mode 100644
index 0000000..dba291f
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/42082e0bd473122de1f6234d9bd1265943731851d1d63b4637f00d6836ca5668.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_jeannie", "label": "jeannie", "file_type": "code", "source_file": "jeannie", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_jeannie__entry", "label": "jeannie script", "file_type": "code", "source_file": "jeannie", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_jeannie_load_homelab_inventory_defaults", "label": "load_homelab_inventory_defaults()", "file_type": "code", "source_file": "jeannie", "source_location": "L26", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_export_if_unset", "label": "export_if_unset()", "file_type": "code", "source_file": "jeannie", "source_location": "L170", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_export_homelab_inventory_tf_vars", "label": "export_homelab_inventory_tf_vars()", "file_type": "code", "source_file": "jeannie", "source_location": "L184", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_require_debian_server", "label": "require_debian_server()", "file_type": "code", "source_file": "jeannie", "source_location": "L217", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_tofu_state_has_resource", "label": "tofu_state_has_resource()", "file_type": "code", "source_file": "jeannie", "source_location": "L236", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_helm_release_secret_exists", "label": "helm_release_secret_exists()", "file_type": "code", "source_file": "jeannie", "source_location": "L243", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_kubernetes_resource_exists", "label": "kubernetes_resource_exists()", "file_type": "code", "source_file": "jeannie", "source_location": "L255", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_adopt_tofu_helm_release", "label": "adopt_tofu_helm_release()", "file_type": "code", "source_file": "jeannie", "source_location": "L268", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_adopt_tofu_kubernetes_resource", "label": "adopt_tofu_kubernetes_resource()", "file_type": "code", "source_file": "jeannie", "source_location": "L300", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_adopt_tofu_kubernetes_manifest", "label": "adopt_tofu_kubernetes_manifest()", "file_type": "code", "source_file": "jeannie", "source_location": "L319", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_adopt_platform_existing_resources", "label": "adopt_platform_existing_resources()", "file_type": "code", "source_file": "jeannie", "source_location": "L341", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_adopt_apps_existing_resources", "label": "adopt_apps_existing_resources()", "file_type": "code", "source_file": "jeannie", "source_location": "L371", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_ensure_homelab_node_labels", "label": "ensure_homelab_node_labels()", "file_type": "code", "source_file": "jeannie", "source_location": "L425", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_delete_prometheus_stack_storage", "label": "delete_prometheus_stack_storage()", "file_type": "code", "source_file": "jeannie", "source_location": "L471", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_run_tofu_stack", "label": "run_tofu_stack()", "file_type": "code", "source_file": "jeannie", "source_location": "L496", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_run_tofu_plan_stack", "label": "run_tofu_plan_stack()", "file_type": "code", "source_file": "jeannie", "source_location": "L532", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_backup_tofu_state", "label": "backup_tofu_state()", "file_type": "code", "source_file": "jeannie", "source_location": "L548", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_move_prometheus_stack_workers", "label": "move_prometheus_stack_workers()", "file_type": "code", "source_file": "jeannie", "source_location": "L588", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_doctor_versions_report", "label": "doctor_versions_report()", "file_type": "code", "source_file": "jeannie", "source_location": "L624", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_doctor_versions_compact", "label": "doctor_versions_compact()", "file_type": "code", "source_file": "jeannie", "source_location": "L702", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_doctor_versions", "label": "doctor_versions()", "file_type": "code", "source_file": "jeannie", "source_location": "L775", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_truthy", "label": "truthy()", "file_type": "code", "source_file": "jeannie", "source_location": "L788", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_disabled_value", "label": "disabled_value()", "file_type": "code", "source_file": "jeannie", "source_location": "L802", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_jeannie_log_start", "label": "jeannie_log_start()", "file_type": "code", "source_file": "jeannie", "source_location": "L816", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_jeannie_step_plan", "label": "jeannie_step_plan()", "file_type": "code", "source_file": "jeannie", "source_location": "L834", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_jeannie_verbose_enabled", "label": "jeannie_verbose_enabled()", "file_type": "code", "source_file": "jeannie", "source_location": "L839", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_jeannie_step_prefix", "label": "jeannie_step_prefix()", "file_type": "code", "source_file": "jeannie", "source_location": "L843", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_jeannie_compact_text", "label": "jeannie_compact_text()", "file_type": "code", "source_file": "jeannie", "source_location": "L853", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_jeannie_step_progress", "label": "jeannie_step_progress()", "file_type": "code", "source_file": "jeannie", "source_location": "L866", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_jeannie_step_latest_progress_line", "label": "jeannie_step_latest_progress_line()", "file_type": "code", "source_file": "jeannie", "source_location": "L883", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_redact_sensitive_output", "label": "redact_sensitive_output()", "file_type": "code", "source_file": "jeannie", "source_location": "L894", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_run_step", "label": "run_step()", "file_type": "code", "source_file": "jeannie", "source_location": "L907", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_worker_index_is_skipped", "label": "worker_index_is_skipped()", "file_type": "code", "source_file": "jeannie", "source_location": "L992", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_ensure_python3", "label": "ensure_python3()", "file_type": "code", "source_file": "jeannie", "source_location": "L1012", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_ensure_go_toolchain", "label": "ensure_go_toolchain()", "file_type": "code", "source_file": "jeannie", "source_location": "L1021", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_detect_route_interface", "label": "detect_route_interface()", "file_type": "code", "source_file": "jeannie", "source_location": "L1038", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_pimox_ssh", "label": "pimox_ssh()", "file_type": "code", "source_file": "jeannie", "source_location": "L1053", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_pimox_guest_ipv4", "label": "pimox_guest_ipv4()", "file_type": "code", "source_file": "jeannie", "source_location": "L1062", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_pimox_worker_vm_debug", "label": "pimox_worker_vm_debug()", "file_type": "code", "source_file": "jeannie", "source_location": "L1102", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_pimox_worker_guest_agent_recovery_hint", "label": "pimox_worker_guest_agent_recovery_hint()", "file_type": "code", "source_file": "jeannie", "source_location": "L1139", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_pimox_guest_exec_exitcode", "label": "pimox_guest_exec_exitcode()", "file_type": "code", "source_file": "jeannie", "source_location": "L1161", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_pimox_worker_guest_ssh_repair", "label": "pimox_worker_guest_ssh_repair()", "file_type": "code", "source_file": "jeannie", "source_location": "L1181", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_wait_for_pimox_guest_ssh", "label": "wait_for_pimox_guest_ssh()", "file_type": "code", "source_file": "jeannie", "source_location": "L1248", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_pimox_generated_mac", "label": "pimox_generated_mac()", "file_type": "code", "source_file": "jeannie", "source_location": "L1387", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_pimox_worker_static_ip", "label": "pimox_worker_static_ip()", "file_type": "code", "source_file": "jeannie", "source_location": "L1396", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_pimox_worker_net0_config", "label": "pimox_worker_net0_config()", "file_type": "code", "source_file": "jeannie", "source_location": "L1414", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_validate_ipv4_cidr_or_host", "label": "validate_ipv4_cidr_or_host()", "file_type": "code", "source_file": "jeannie", "source_location": "L1435", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_configure_pimox_worker_guest_network", "label": "configure_pimox_worker_guest_network()", "file_type": "code", "source_file": "jeannie", "source_location": "L1441", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_configure_pimox_worker_forwarding", "label": "configure_pimox_worker_forwarding()", "file_type": "code", "source_file": "jeannie", "source_location": "L1599", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_cpuset_cpu_count", "label": "cpuset_cpu_count()", "file_type": "code", "source_file": "jeannie", "source_location": "L1688", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_pimox_worker_cpu_affinity", "label": "pimox_worker_cpu_affinity()", "file_type": "code", "source_file": "jeannie", "source_location": "L1715", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_pimox_start_vm_with_cpuset", "label": "pimox_start_vm_with_cpuset()", "file_type": "code", "source_file": "jeannie", "source_location": "L1743", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_pimox_shutdown_vm_gracefully", "label": "pimox_shutdown_vm_gracefully()", "file_type": "code", "source_file": "jeannie", "source_location": "L1800", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_pimox_guest_cpu_count", "label": "pimox_guest_cpu_count()", "file_type": "code", "source_file": "jeannie", "source_location": "L1821", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_ensure_pimox_worker_node", "label": "ensure_pimox_worker_node()", "file_type": "code", "source_file": "jeannie", "source_location": "L1837", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_write_cluster_worker_var_file", "label": "write_cluster_worker_var_file()", "file_type": "code", "source_file": "jeannie", "source_location": "L2079", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_prepare_cluster_worker_var_file", "label": "prepare_cluster_worker_var_file()", "file_type": "code", "source_file": "jeannie", "source_location": "L2152", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_ensure_static_pimox_worker_spec_file", "label": "ensure_static_pimox_worker_spec_file()", "file_type": "code", "source_file": "jeannie", "source_location": "L2175", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_cluster_worker_var_file_has_workers", "label": "cluster_worker_var_file_has_workers()", "file_type": "code", "source_file": "jeannie", "source_location": "L2219", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_preflight_check", "label": "preflight_check()", "file_type": "code", "source_file": "jeannie", "source_location": "L2233", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_preflight_warn", "label": "preflight_warn()", "file_type": "code", "source_file": "jeannie", "source_location": "L2251", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_check_gitea_reachable", "label": "check_gitea_reachable()", "file_type": "code", "source_file": "jeannie", "source_location": "L2269", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_check_debian_docker_root", "label": "check_debian_docker_root()", "file_type": "code", "source_file": "jeannie", "source_location": "L2285", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_fix_debian_docker_root", "label": "fix_debian_docker_root()", "file_type": "code", "source_file": "jeannie", "source_location": "L2300", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_check_debian_tailscale_ip", "label": "check_debian_tailscale_ip()", "file_type": "code", "source_file": "jeannie", "source_location": "L2354", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_check_edge_ssh", "label": "check_edge_ssh()", "file_type": "code", "source_file": "jeannie", "source_location": "L2371", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_check_rpi_ssh", "label": "check_rpi_ssh()", "file_type": "code", "source_file": "jeannie", "source_location": "L2378", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_check_rpi_docker_root_state", "label": "check_rpi_docker_root_state()", "file_type": "code", "source_file": "jeannie", "source_location": "L2386", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_check_rpi_tailscale_ip", "label": "check_rpi_tailscale_ip()", "file_type": "code", "source_file": "jeannie", "source_location": "L2407", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_check_pimox_storage", "label": "check_pimox_storage()", "file_type": "code", "source_file": "jeannie", "source_location": "L2419", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_check_local_disk_free_gib", "label": "check_local_disk_free_gib()", "file_type": "code", "source_file": "jeannie", "source_location": "L2442", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_check_systemd_active", "label": "check_systemd_active()", "file_type": "code", "source_file": "jeannie", "source_location": "L2456", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_check_rpi_docker_writable", "label": "check_rpi_docker_writable()", "file_type": "code", "source_file": "jeannie", "source_location": "L2462", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_check_edge_disk_free", "label": "check_edge_disk_free()", "file_type": "code", "source_file": "jeannie", "source_location": "L2474", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_check_pihole_dns_query", "label": "check_pihole_dns_query()", "file_type": "code", "source_file": "jeannie", "source_location": "L2488", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_homelab_preflight", "label": "homelab_preflight()", "file_type": "code", "source_file": "jeannie", "source_location": "L2514", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_doctor_preapply", "label": "doctor_preapply()", "file_type": "code", "source_file": "jeannie", "source_location": "L2555", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_inventory_check", "label": "inventory_check()", "file_type": "code", "source_file": "jeannie", "source_location": "L2578", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_run_pimox_pipeline", "label": "run_pimox_pipeline()", "file_type": "code", "source_file": "jeannie", "source_location": "L2582", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_run_openwrt_pipeline", "label": "run_openwrt_pipeline()", "file_type": "code", "source_file": "jeannie", "source_location": "L2805", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_openwrt", "label": "openwrt()", "file_type": "code", "source_file": "jeannie", "source_location": "L3141", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_cleanup_calico_links", "label": "cleanup_calico_links()", "file_type": "code", "source_file": "jeannie", "source_location": "L3147", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_cleanup_iptables", "label": "cleanup_iptables()", "file_type": "code", "source_file": "jeannie", "source_location": "L3156", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_cleanup_calico_runtime_files", "label": "cleanup_calico_runtime_files()", "file_type": "code", "source_file": "jeannie", "source_location": "L3170", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_restore_node_dns", "label": "restore_node_dns()", "file_type": "code", "source_file": "jeannie", "source_location": "L3181", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_cleanup_mounts", "label": "cleanup_mounts()", "file_type": "code", "source_file": "jeannie", "source_location": "L3190", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_cleanup_node", "label": "cleanup_node()", "file_type": "code", "source_file": "jeannie", "source_location": "L3207", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_image_ref_tag", "label": "image_ref_tag()", "file_type": "code", "source_file": "jeannie", "source_location": "L3240", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_website_image_tag", "label": "website_image_tag()", "file_type": "code", "source_file": "jeannie", "source_location": "L3253", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_apps_registry_endpoint", "label": "apps_registry_endpoint()", "file_type": "code", "source_file": "jeannie", "source_location": "L3259", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_demos_registry_endpoint", "label": "demos_registry_endpoint()", "file_type": "code", "source_file": "jeannie", "source_location": "L3268", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_website_source_hash", "label": "website_source_hash()", "file_type": "code", "source_file": "jeannie", "source_location": "L3280", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_demos_source_hash", "label": "demos_source_hash()", "file_type": "code", "source_file": "jeannie", "source_location": "L3287", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_registry_image_exists", "label": "registry_image_exists()", "file_type": "code", "source_file": "jeannie", "source_location": "L3294", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_image_state_value", "label": "image_state_value()", "file_type": "code", "source_file": "jeannie", "source_location": "L3310", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_website_image_is_current", "label": "website_image_is_current()", "file_type": "code", "source_file": "jeannie", "source_location": "L3317", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_ensure_website_image_tag_not_reused", "label": "ensure_website_image_tag_not_reused()", "file_type": "code", "source_file": "jeannie", "source_location": "L3342", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_demos_image_is_current", "label": "demos_image_is_current()", "file_type": "code", "source_file": "jeannie", "source_location": "L3361", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_write_website_image_state", "label": "write_website_image_state()", "file_type": "code", "source_file": "jeannie", "source_location": "L3384", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_write_demos_image_state", "label": "write_demos_image_state()", "file_type": "code", "source_file": "jeannie", "source_location": "L3398", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_path_available_mb", "label": "path_available_mb()", "file_type": "code", "source_file": "jeannie", "source_location": "L3412", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_docker_root_dir", "label": "docker_root_dir()", "file_type": "code", "source_file": "jeannie", "source_location": "L3422", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_prune_unused_docker_build_data", "label": "prune_unused_docker_build_data()", "file_type": "code", "source_file": "jeannie", "source_location": "L3426", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_ensure_docker_build_space", "label": "ensure_docker_build_space()", "file_type": "code", "source_file": "jeannie", "source_location": "L3433", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_prepare_buildx_builder", "label": "prepare_buildx_builder()", "file_type": "code", "source_file": "jeannie", "source_location": "L3458", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_ensure_cosign_available", "label": "ensure_cosign_available()", "file_type": "code", "source_file": "jeannie", "source_location": "L3480", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_ensure_cosign_password", "label": "ensure_cosign_password()", "file_type": "code", "source_file": "jeannie", "source_location": "L3535", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_run_cosign", "label": "run_cosign()", "file_type": "code", "source_file": "jeannie", "source_location": "L3564", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_ensure_cosign_keypair", "label": "ensure_cosign_keypair()", "file_type": "code", "source_file": "jeannie", "source_location": "L3571", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_publish_cosign_public_key_config_map", "label": "publish_cosign_public_key_config_map()", "file_type": "code", "source_file": "jeannie", "source_location": "L3591", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_cosign_registry_flags", "label": "cosign_registry_flags()", "file_type": "code", "source_file": "jeannie", "source_location": "L3601", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_image_supply_chain_metadata_exists", "label": "image_supply_chain_metadata_exists()", "file_type": "code", "source_file": "jeannie", "source_location": "L3610", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_write_image_sbom_predicate", "label": "write_image_sbom_predicate()", "file_type": "code", "source_file": "jeannie", "source_location": "L3635", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_image_digest_ref", "label": "image_digest_ref()", "file_type": "code", "source_file": "jeannie", "source_location": "L3701", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_publish_image_supply_chain_metadata", "label": "publish_image_supply_chain_metadata()", "file_type": "code", "source_file": "jeannie", "source_location": "L3725", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_dump_argocd_debug", "label": "dump_argocd_debug()", "file_type": "code", "source_file": "jeannie", "source_location": "L3767", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_dump_namespace_debug", "label": "dump_namespace_debug()", "file_type": "code", "source_file": "jeannie", "source_location": "L3777", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_wait_for_namespace", "label": "wait_for_namespace()", "file_type": "code", "source_file": "jeannie", "source_location": "L3786", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_wait_for_namespaced_resource", "label": "wait_for_namespaced_resource()", "file_type": "code", "source_file": "jeannie", "source_location": "L3803", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_wait_for_cluster_resource", "label": "wait_for_cluster_resource()", "file_type": "code", "source_file": "jeannie", "source_location": "L3823", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_wait_for_deployment_ready", "label": "wait_for_deployment_ready()", "file_type": "code", "source_file": "jeannie", "source_location": "L3851", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_deploy_gitea", "label": "deploy_gitea()", "file_type": "code", "source_file": "jeannie", "source_location": "L3876", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_install_missing_debian_packages", "label": "install_missing_debian_packages()", "file_type": "code", "source_file": "jeannie", "source_location": "L3984", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_ensure_local_docker_compose", "label": "ensure_local_docker_compose()", "file_type": "code", "source_file": "jeannie", "source_location": "L4000", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_repair_local_docker_iptables", "label": "repair_local_docker_iptables()", "file_type": "code", "source_file": "jeannie", "source_location": "L4020", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_deploy_heimdall", "label": "deploy_heimdall()", "file_type": "code", "source_file": "jeannie", "source_location": "L4039", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_deploy_matrix", "label": "deploy_matrix()", "file_type": "code", "source_file": "jeannie", "source_location": "L4120", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_deploy_omniroute", "label": "deploy_omniroute()", "file_type": "code", "source_file": "jeannie", "source_location": "L4211", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_deploy_hermes", "label": "deploy_hermes()", "file_type": "code", "source_file": "jeannie", "source_location": "L4253", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_deploy_rpi_services", "label": "deploy_rpi_services()", "file_type": "code", "source_file": "jeannie", "source_location": "L4347", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_gitea_bootstrap_password", "label": "gitea_bootstrap_password()", "file_type": "code", "source_file": "jeannie", "source_location": "L4408", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_gitea_api_base_url", "label": "gitea_api_base_url()", "file_type": "code", "source_file": "jeannie", "source_location": "L4421", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_gitea_repo_exists", "label": "gitea_repo_exists()", "file_type": "code", "source_file": "jeannie", "source_location": "L4443", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_gitea_branch_exists", "label": "gitea_branch_exists()", "file_type": "code", "source_file": "jeannie", "source_location": "L4470", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_create_gitea_repo", "label": "create_gitea_repo()", "file_type": "code", "source_file": "jeannie", "source_location": "L4498", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_gitea_public_key_registered", "label": "gitea_public_key_registered()", "file_type": "code", "source_file": "jeannie", "source_location": "L4529", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_create_gitea_repo_deploy_key", "label": "create_gitea_repo_deploy_key()", "file_type": "code", "source_file": "jeannie", "source_location": "L4559", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_ensure_gitea_repo_ssh_access", "label": "ensure_gitea_repo_ssh_access()", "file_type": "code", "source_file": "jeannie", "source_location": "L4594", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_bootstrap_gitea_repo", "label": "bootstrap_gitea_repo()", "file_type": "code", "source_file": "jeannie", "source_location": "L4659", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_install_gitea_backup_timer", "label": "install_gitea_backup_timer()", "file_type": "code", "source_file": "jeannie", "source_location": "L4868", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_backup_gitea", "label": "backup_gitea()", "file_type": "code", "source_file": "jeannie", "source_location": "L5062", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_drill_gitea_restore", "label": "drill_gitea_restore()", "file_type": "code", "source_file": "jeannie", "source_location": "L5069", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_install_gitea_runner", "label": "install_gitea_runner()", "file_type": "code", "source_file": "jeannie", "source_location": "L5076", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_recreate_pods_for_selector", "label": "recreate_pods_for_selector()", "file_type": "code", "source_file": "jeannie", "source_location": "L5164", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_refresh_argocd_application", "label": "refresh_argocd_application()", "file_type": "code", "source_file": "jeannie", "source_location": "L5177", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_website_translation_model", "label": "website_translation_model()", "file_type": "code", "source_file": "jeannie", "source_location": "L5183", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_website_ollama_listen", "label": "website_ollama_listen()", "file_type": "code", "source_file": "jeannie", "source_location": "L5210", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_ollama_linux_arch", "label": "ollama_linux_arch()", "file_type": "code", "source_file": "jeannie", "source_location": "L5254", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_ollama_write_systemd_service", "label": "ollama_write_systemd_service()", "file_type": "code", "source_file": "jeannie", "source_location": "L5269", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_ollama_install_from_tgz", "label": "ollama_install_from_tgz()", "file_type": "code", "source_file": "jeannie", "source_location": "L5288", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_ollama_setup", "label": "ollama_setup()", "file_type": "code", "source_file": "jeannie", "source_location": "L5310", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_require_argocd_application_controller", "label": "require_argocd_application_controller()", "file_type": "code", "source_file": "jeannie", "source_location": "L5376", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_require_pimox_app_worker_capacity", "label": "require_pimox_app_worker_capacity()", "file_type": "code", "source_file": "jeannie", "source_location": "L5397", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_apps", "label": "apps()", "file_type": "code", "source_file": "jeannie", "source_location": "L5440", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_platform_apply", "label": "platform_apply()", "file_type": "code", "source_file": "jeannie", "source_location": "L5601", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_edge_apply", "label": "edge_apply()", "file_type": "code", "source_file": "jeannie", "source_location": "L5607", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_edge_haproxy_stats_password_valid", "label": "edge_haproxy_stats_password_valid()", "file_type": "code", "source_file": "jeannie", "source_location": "L5613", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_ensure_edge_tailscale_routes", "label": "ensure_edge_tailscale_routes()", "file_type": "code", "source_file": "jeannie", "source_location": "L5619", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_edge_haproxy_stats_credentials_file", "label": "edge_haproxy_stats_credentials_file()", "file_type": "code", "source_file": "jeannie", "source_location": "L5694", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_generate_edge_haproxy_stats_password", "label": "generate_edge_haproxy_stats_password()", "file_type": "code", "source_file": "jeannie", "source_location": "L5698", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_write_edge_haproxy_stats_credentials", "label": "write_edge_haproxy_stats_credentials()", "file_type": "code", "source_file": "jeannie", "source_location": "L5713", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_recover_edge_haproxy_stats_password", "label": "recover_edge_haproxy_stats_password()", "file_type": "code", "source_file": "jeannie", "source_location": "L5729", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_ensure_edge_haproxy_stats_password", "label": "ensure_edge_haproxy_stats_password()", "file_type": "code", "source_file": "jeannie", "source_location": "L5756", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_ensure_cluster_worker_var_file", "label": "ensure_cluster_worker_var_file()", "file_type": "code", "source_file": "jeannie", "source_location": "L5790", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_run_up_parallel_stage", "label": "run_up_parallel_stage()", "file_type": "code", "source_file": "jeannie", "source_location": "L5804", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_up_task", "label": "up_task()", "file_type": "code", "source_file": "jeannie", "source_location": "L5889", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_up", "label": "up()", "file_type": "code", "source_file": "jeannie", "source_location": "L5930", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_tofu_stack_from_plan_target", "label": "tofu_stack_from_plan_target()", "file_type": "code", "source_file": "jeannie", "source_location": "L5954", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_plan_homelab", "label": "plan_homelab()", "file_type": "code", "source_file": "jeannie", "source_location": "L5978", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_rebuild_cluster", "label": "rebuild_cluster()", "file_type": "code", "source_file": "jeannie", "source_location": "L6011", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_nuke_for_rebuild", "label": "nuke_for_rebuild()", "file_type": "code", "source_file": "jeannie", "source_location": "L6040", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_cluster_worker_targets", "label": "cluster_worker_targets()", "file_type": "code", "source_file": "jeannie", "source_location": "L6044", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_stop_local_kubernetes_services", "label": "stop_local_kubernetes_services()", "file_type": "code", "source_file": "jeannie", "source_location": "L6075", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_start_local_kubernetes_services", "label": "start_local_kubernetes_services()", "file_type": "code", "source_file": "jeannie", "source_location": "L6101", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_stop_remote_kubernetes_services", "label": "stop_remote_kubernetes_services()", "file_type": "code", "source_file": "jeannie", "source_location": "L6108", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_start_remote_kubernetes_services", "label": "start_remote_kubernetes_services()", "file_type": "code", "source_file": "jeannie", "source_location": "L6134", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_pimox_worker_count_default", "label": "pimox_worker_count_default()", "file_type": "code", "source_file": "jeannie", "source_location": "L6142", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_pimox_worker_count_effective", "label": "pimox_worker_count_effective()", "file_type": "code", "source_file": "jeannie", "source_location": "L6208", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_stop_pimox_worker_vms", "label": "stop_pimox_worker_vms()", "file_type": "code", "source_file": "jeannie", "source_location": "L6220", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_verify_pimox_worker_vms_stopped", "label": "verify_pimox_worker_vms_stopped()", "file_type": "code", "source_file": "jeannie", "source_location": "L6276", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_destroy_pimox_worker_vms", "label": "destroy_pimox_worker_vms()", "file_type": "code", "source_file": "jeannie", "source_location": "L6303", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_start_pimox_worker_vms", "label": "start_pimox_worker_vms()", "file_type": "code", "source_file": "jeannie", "source_location": "L6348", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_stop_cluster", "label": "stop_cluster()", "file_type": "code", "source_file": "jeannie", "source_location": "L6389", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_start_cluster", "label": "start_cluster()", "file_type": "code", "source_file": "jeannie", "source_location": "L6417", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_kubernetes_api_reachable", "label": "kubernetes_api_reachable()", "file_type": "code", "source_file": "jeannie", "source_location": "L6433", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_wait_for_kubernetes_api_stable", "label": "wait_for_kubernetes_api_stable()", "file_type": "code", "source_file": "jeannie", "source_location": "L6437", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_ensure_kubernetes_api_ready_for_tofu_stack", "label": "ensure_kubernetes_api_ready_for_tofu_stack()", "file_type": "code", "source_file": "jeannie", "source_location": "L6465", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_cluster_control_plane_tracked", "label": "cluster_control_plane_tracked()", "file_type": "code", "source_file": "jeannie", "source_location": "L6478", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_cluster_admin_kubeconfig_present", "label": "cluster_admin_kubeconfig_present()", "file_type": "code", "source_file": "jeannie", "source_location": "L6482", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_wait_for_kubernetes_api", "label": "wait_for_kubernetes_api()", "file_type": "code", "source_file": "jeannie", "source_location": "L6488", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_ensure_existing_cluster_started_for_up", "label": "ensure_existing_cluster_started_for_up()", "file_type": "code", "source_file": "jeannie", "source_location": "L6502", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_section", "label": "status_section()", "file_type": "code", "source_file": "jeannie", "source_location": "L6528", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_run", "label": "status_run()", "file_type": "code", "source_file": "jeannie", "source_location": "L6536", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_check_pimox_worker_tailnet_egress", "label": "check_pimox_worker_tailnet_egress()", "file_type": "code", "source_file": "jeannie", "source_location": "L6546", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_http", "label": "status_http()", "file_type": "code", "source_file": "jeannie", "source_location": "L6596", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_http_ok", "label": "status_http_ok()", "file_type": "code", "source_file": "jeannie", "source_location": "L6609", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_http_reachable", "label": "status_http_reachable()", "file_type": "code", "source_file": "jeannie", "source_location": "L6633", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_gitea_public_ok", "label": "status_gitea_public_ok()", "file_type": "code", "source_file": "jeannie", "source_location": "L6657", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_cascade_check", "label": "status_cascade_check()", "file_type": "code", "source_file": "jeannie", "source_location": "L6663", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_cascade_warn", "label": "status_cascade_warn()", "file_type": "code", "source_file": "jeannie", "source_location": "L6689", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_container_running", "label": "status_container_running()", "file_type": "code", "source_file": "jeannie", "source_location": "L6715", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_kubernetes_api_ok", "label": "status_kubernetes_api_ok()", "file_type": "code", "source_file": "jeannie", "source_location": "L6728", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_kubernetes_nodes_ready", "label": "status_kubernetes_nodes_ready()", "file_type": "code", "source_file": "jeannie", "source_location": "L6740", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_kubernetes_deployment_ready", "label": "status_kubernetes_deployment_ready()", "file_type": "code", "source_file": "jeannie", "source_location": "L6756", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_no_problem_pods", "label": "status_no_problem_pods()", "file_type": "code", "source_file": "jeannie", "source_location": "L6763", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_recent_deployments", "label": "status_recent_deployments()", "file_type": "code", "source_file": "jeannie", "source_location": "L6776", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_pod_restart_pressure", "label": "status_pod_restart_pressure()", "file_type": "code", "source_file": "jeannie", "source_location": "L6791", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_node_pressure", "label": "status_node_pressure()", "file_type": "code", "source_file": "jeannie", "source_location": "L6805", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_disk_pressure", "label": "status_disk_pressure()", "file_type": "code", "source_file": "jeannie", "source_location": "L6818", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_traefik_error_rates", "label": "status_traefik_error_rates()", "file_type": "code", "source_file": "jeannie", "source_location": "L6829", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_gitea_recent_errors", "label": "status_gitea_recent_errors()", "file_type": "code", "source_file": "jeannie", "source_location": "L6850", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_registry_ok", "label": "status_registry_ok()", "file_type": "code", "source_file": "jeannie", "source_location": "L6873", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_rpi_uptime_kuma_ok", "label": "status_rpi_uptime_kuma_ok()", "file_type": "code", "source_file": "jeannie", "source_location": "L6877", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_pimox_workers_running", "label": "status_pimox_workers_running()", "file_type": "code", "source_file": "jeannie", "source_location": "L6887", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_cascade_report", "label": "status_cascade_report()", "file_type": "code", "source_file": "jeannie", "source_location": "L6919", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_backstage_brain_enabled", "label": "backstage_brain_enabled()", "file_type": "code", "source_file": "jeannie", "source_location": "L6983", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_backstage_brain_note", "label": "backstage_brain_note()", "file_type": "code", "source_file": "jeannie", "source_location": "L6990", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_systemd_units", "label": "status_systemd_units()", "file_type": "code", "source_file": "jeannie", "source_location": "L7077", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_compose_stack", "label": "status_compose_stack()", "file_type": "code", "source_file": "jeannie", "source_location": "L7089", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_kubernetes", "label": "status_kubernetes()", "file_type": "code", "source_file": "jeannie", "source_location": "L7110", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_kubernetes_problem_pods", "label": "status_kubernetes_problem_pods()", "file_type": "code", "source_file": "jeannie", "source_location": "L7132", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_pimox_workers", "label": "status_pimox_workers()", "file_type": "code", "source_file": "jeannie", "source_location": "L7147", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_rpi_services", "label": "status_rpi_services()", "file_type": "code", "source_file": "jeannie", "source_location": "L7182", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_status_report", "label": "status_report()", "file_type": "code", "source_file": "jeannie", "source_location": "L7283", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_check_edge_traefik_backend", "label": "check_edge_traefik_backend()", "file_type": "code", "source_file": "jeannie", "source_location": "L7391", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_check_edge_gitea_backend", "label": "check_edge_gitea_backend()", "file_type": "code", "source_file": "jeannie", "source_location": "L7400", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_check_edge_heimdall_backend", "label": "check_edge_heimdall_backend()", "file_type": "code", "source_file": "jeannie", "source_location": "L7410", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_check_gitea_git_remote", "label": "check_gitea_git_remote()", "file_type": "code", "source_file": "jeannie", "source_location": "L7420", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_check_gitea_ssh", "label": "check_gitea_ssh()", "file_type": "code", "source_file": "jeannie", "source_location": "L7424", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_doctor_edge", "label": "doctor_edge()", "file_type": "code", "source_file": "jeannie", "source_location": "L7432", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_doctor_gitea", "label": "doctor_gitea()", "file_type": "code", "source_file": "jeannie", "source_location": "L7501", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_doctor_rpi", "label": "doctor_rpi()", "file_type": "code", "source_file": "jeannie", "source_location": "L7564", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_doctor_cluster", "label": "doctor_cluster()", "file_type": "code", "source_file": "jeannie", "source_location": "L7605", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_nuke", "label": "nuke()", "file_type": "code", "source_file": "jeannie", "source_location": "L7664", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_ensure_sops_age_tools", "label": "ensure_sops_age_tools()", "file_type": "code", "source_file": "jeannie", "source_location": "L7828", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_sops_age_key_file", "label": "sops_age_key_file()", "file_type": "code", "source_file": "jeannie", "source_location": "L7867", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_sops_age_recipient", "label": "sops_age_recipient()", "file_type": "code", "source_file": "jeannie", "source_location": "L7871", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_sops_load_secrets", "label": "sops_load_secrets()", "file_type": "code", "source_file": "jeannie", "source_location": "L7880", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_sops_available", "label": "sops_available()", "file_type": "code", "source_file": "jeannie", "source_location": "L7923", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_secrets_init", "label": "secrets_init()", "file_type": "code", "source_file": "jeannie", "source_location": "L7927", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_secrets_check_file", "label": "secrets_check_file()", "file_type": "code", "source_file": "jeannie", "source_location": "L7977", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_secrets_check", "label": "secrets_check()", "file_type": "code", "source_file": "jeannie", "source_location": "L8001", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_tailnet_policy_check", "label": "tailnet_policy_check()", "file_type": "code", "source_file": "jeannie", "source_location": "L8049", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_ai_index", "label": "ai_index()", "file_type": "code", "source_file": "jeannie", "source_location": "L8053", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_ai_check", "label": "ai_check()", "file_type": "code", "source_file": "jeannie", "source_location": "L8065", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_ask_homelab", "label": "ask_homelab()", "file_type": "code", "source_file": "jeannie", "source_location": "L8130", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_ai_evals", "label": "ai_evals()", "file_type": "code", "source_file": "jeannie", "source_location": "L8135", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_impact", "label": "impact()", "file_type": "code", "source_file": "jeannie", "source_location": "L8139", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_review_last_change", "label": "review_last_change()", "file_type": "code", "source_file": "jeannie", "source_location": "L8143", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_security_scan", "label": "security_scan()", "file_type": "code", "source_file": "jeannie", "source_location": "L8147", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_security_prepare", "label": "security_prepare()", "file_type": "code", "source_file": "jeannie", "source_location": "L8152", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_security_zap", "label": "security_zap()", "file_type": "code", "source_file": "jeannie", "source_location": "L8157", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_security_k8s", "label": "security_k8s()", "file_type": "code", "source_file": "jeannie", "source_location": "L8162", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_security_host", "label": "security_host()", "file_type": "code", "source_file": "jeannie", "source_location": "L8167", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_security_trivy", "label": "security_trivy()", "file_type": "code", "source_file": "jeannie", "source_location": "L8172", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_security_secrets", "label": "security_secrets()", "file_type": "code", "source_file": "jeannie", "source_location": "L8177", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_security_nuclei", "label": "security_nuclei()", "file_type": "code", "source_file": "jeannie", "source_location": "L8182", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_security_web", "label": "security_web()", "file_type": "code", "source_file": "jeannie", "source_location": "L8187", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_security_logs", "label": "security_logs()", "file_type": "code", "source_file": "jeannie", "source_location": "L8192", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_security_runtime", "label": "security_runtime()", "file_type": "code", "source_file": "jeannie", "source_location": "L8197", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_security_attack_path", "label": "security_attack_path()", "file_type": "code", "source_file": "jeannie", "source_location": "L8216", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_prompt_injection_lab", "label": "prompt_injection_lab()", "file_type": "code", "source_file": "jeannie", "source_location": "L8221", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_incident_commander", "label": "incident_commander()", "file_type": "code", "source_file": "jeannie", "source_location": "L8225", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_safety_case", "label": "safety_case()", "file_type": "code", "source_file": "jeannie", "source_location": "L8229", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_agent_sandbox", "label": "agent_sandbox()", "file_type": "code", "source_file": "jeannie", "source_location": "L8233", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_ai_scheduler", "label": "ai_scheduler()", "file_type": "code", "source_file": "jeannie", "source_location": "L8237", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_ai_memory", "label": "ai_memory()", "file_type": "code", "source_file": "jeannie", "source_location": "L8241", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_red_blue_loop", "label": "red_blue_loop()", "file_type": "code", "source_file": "jeannie", "source_location": "L8245", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_promote", "label": "promote()", "file_type": "code", "source_file": "jeannie", "source_location": "L8249", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_model_observe", "label": "model_observe()", "file_type": "code", "source_file": "jeannie", "source_location": "L8253", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_heal", "label": "heal()", "file_type": "code", "source_file": "jeannie", "source_location": "L8257", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_validate_homelab", "label": "validate_homelab()", "file_type": "code", "source_file": "jeannie", "source_location": "L8262", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_access_audit", "label": "access_audit()", "file_type": "code", "source_file": "jeannie", "source_location": "L8266", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_drill_restore", "label": "drill_restore()", "file_type": "code", "source_file": "jeannie", "source_location": "L8271", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_drill_pihole_restore", "label": "drill_pihole_restore()", "file_type": "code", "source_file": "jeannie", "source_location": "L8276", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_kubeconfig_readonly", "label": "kubeconfig_readonly()", "file_type": "code", "source_file": "jeannie", "source_location": "L8280", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_capacity_report", "label": "capacity_report()", "file_type": "code", "source_file": "jeannie", "source_location": "L8285", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_recover_plan", "label": "recover_plan()", "file_type": "code", "source_file": "jeannie", "source_location": "L8290", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_gitops_status", "label": "gitops_status()", "file_type": "code", "source_file": "jeannie", "source_location": "L8295", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_cert_check", "label": "cert_check()", "file_type": "code", "source_file": "jeannie", "source_location": "L8300", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_release_snapshot", "label": "release_snapshot()", "file_type": "code", "source_file": "jeannie", "source_location": "L8304", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_backup_status", "label": "backup_status()", "file_type": "code", "source_file": "jeannie", "source_location": "L8309", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_synthetic_checks", "label": "synthetic_checks()", "file_type": "code", "source_file": "jeannie", "source_location": "L8314", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_resource_budget", "label": "resource_budget()", "file_type": "code", "source_file": "jeannie", "source_location": "L8319", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_capacity_advisor", "label": "capacity_advisor()", "file_type": "code", "source_file": "jeannie", "source_location": "L8324", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_capacity_limits", "label": "capacity_limits()", "file_type": "code", "source_file": "jeannie", "source_location": "L8329", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_control_plane", "label": "control_plane()", "file_type": "code", "source_file": "jeannie", "source_location": "L8334", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_artifact_cache", "label": "artifact_cache()", "file_type": "code", "source_file": "jeannie", "source_location": "L8339", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_blockchain_devnet", "label": "blockchain_devnet()", "file_type": "code", "source_file": "jeannie", "source_location": "L8344", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_blockchain_test", "label": "blockchain_test()", "file_type": "code", "source_file": "jeannie", "source_location": "L8349", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_blockchain_wallet", "label": "blockchain_wallet()", "file_type": "code", "source_file": "jeannie", "source_location": "L8353", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_golden_ledger", "label": "golden_ledger()", "file_type": "code", "source_file": "jeannie", "source_location": "L8357", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_route_inventory", "label": "route_inventory()", "file_type": "code", "source_file": "jeannie", "source_location": "L8361", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_explain", "label": "explain()", "file_type": "code", "source_file": "jeannie", "source_location": "L8366", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_recover_power", "label": "recover_power()", "file_type": "code", "source_file": "jeannie", "source_location": "L8373", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_scorecard", "label": "scorecard()", "file_type": "code", "source_file": "jeannie", "source_location": "L8379", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_grafana_dashboards", "label": "grafana_dashboards()", "file_type": "code", "source_file": "jeannie", "source_location": "L8384", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_workers_manage", "label": "workers_manage()", "file_type": "code", "source_file": "jeannie", "source_location": "L8389", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_record_change_journal", "label": "record_change_journal()", "file_type": "code", "source_file": "jeannie", "source_location": "L8394", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_change_journal", "label": "change_journal()", "file_type": "code", "source_file": "jeannie", "source_location": "L8401", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_homelab_map", "label": "homelab_map()", "file_type": "code", "source_file": "jeannie", "source_location": "L8405", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_jeannie_print_usage", "label": "print_usage()", "file_type": "code", "source_file": "jeannie", "source_location": "L8409", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_scripts_report_ui", "relation": "imports_from", "confidence": "INFERRED", "source_file": "jeannie", "source_location": "L22", "weight": 1.0, "context": "import", "target_file": "$graphify-root$/scripts/report-ui"}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_load_homelab_inventory_defaults", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L26", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_export_if_unset", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L170", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_export_homelab_inventory_tf_vars", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L184", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L217", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_tofu_state_has_resource", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L236", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_helm_release_secret_exists", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L243", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_kubernetes_resource_exists", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L255", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_adopt_tofu_helm_release", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L268", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_adopt_tofu_kubernetes_resource", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L300", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_adopt_tofu_kubernetes_manifest", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L319", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_adopt_platform_existing_resources", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L341", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_adopt_apps_existing_resources", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L371", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_ensure_homelab_node_labels", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L425", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_delete_prometheus_stack_storage", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L471", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_run_tofu_stack", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L496", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_run_tofu_plan_stack", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L532", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_backup_tofu_state", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L548", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_move_prometheus_stack_workers", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L588", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_doctor_versions_report", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L624", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_doctor_versions_compact", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L702", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_doctor_versions", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L775", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_truthy", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L788", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_disabled_value", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L802", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_jeannie_log_start", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L816", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_jeannie_step_plan", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L834", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_jeannie_verbose_enabled", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L839", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_jeannie_step_prefix", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L843", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_jeannie_compact_text", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L853", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_jeannie_step_progress", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L866", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_jeannie_step_latest_progress_line", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L883", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_redact_sensitive_output", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L894", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_run_step", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L907", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_worker_index_is_skipped", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L992", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_ensure_python3", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1012", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_ensure_go_toolchain", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1021", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_detect_route_interface", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1038", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_pimox_ssh", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1053", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_pimox_guest_ipv4", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1062", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_pimox_worker_vm_debug", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1102", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_pimox_worker_guest_agent_recovery_hint", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1139", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_pimox_guest_exec_exitcode", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1161", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_pimox_worker_guest_ssh_repair", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1181", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_wait_for_pimox_guest_ssh", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1248", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_pimox_generated_mac", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1387", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_pimox_worker_static_ip", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1396", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_pimox_worker_net0_config", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1414", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_validate_ipv4_cidr_or_host", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1435", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_configure_pimox_worker_guest_network", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1441", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_configure_pimox_worker_forwarding", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1599", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_cpuset_cpu_count", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1688", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_pimox_worker_cpu_affinity", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1715", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_pimox_start_vm_with_cpuset", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1743", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_pimox_shutdown_vm_gracefully", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1800", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_pimox_guest_cpu_count", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1821", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_ensure_pimox_worker_node", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1837", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_write_cluster_worker_var_file", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2079", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_prepare_cluster_worker_var_file", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2152", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_ensure_static_pimox_worker_spec_file", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2175", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_cluster_worker_var_file_has_workers", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2219", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_preflight_check", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2233", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_preflight_warn", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2251", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_check_gitea_reachable", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2269", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_check_debian_docker_root", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2285", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_fix_debian_docker_root", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2300", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_check_debian_tailscale_ip", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2354", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_check_edge_ssh", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2371", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_check_rpi_ssh", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2378", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_check_rpi_docker_root_state", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2386", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_check_rpi_tailscale_ip", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2407", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_check_pimox_storage", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2419", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_check_local_disk_free_gib", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2442", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_check_systemd_active", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2456", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_check_rpi_docker_writable", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2462", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_check_edge_disk_free", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2474", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_check_pihole_dns_query", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2488", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_homelab_preflight", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2514", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_doctor_preapply", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2555", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_inventory_check", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2578", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_run_pimox_pipeline", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2582", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_run_openwrt_pipeline", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2805", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_openwrt", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3141", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_cleanup_calico_links", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3147", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_cleanup_iptables", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3156", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_cleanup_calico_runtime_files", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3170", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_restore_node_dns", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3181", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_cleanup_mounts", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3190", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_cleanup_node", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3207", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_image_ref_tag", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3240", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_website_image_tag", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3253", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_apps_registry_endpoint", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3259", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_demos_registry_endpoint", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3268", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_website_source_hash", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3280", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_demos_source_hash", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3287", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_registry_image_exists", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3294", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_image_state_value", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3310", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_website_image_is_current", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3317", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_ensure_website_image_tag_not_reused", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3342", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_demos_image_is_current", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3361", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_write_website_image_state", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3384", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_write_demos_image_state", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3398", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_path_available_mb", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3412", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_docker_root_dir", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3422", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_prune_unused_docker_build_data", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3426", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_ensure_docker_build_space", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3433", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_prepare_buildx_builder", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3458", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_ensure_cosign_available", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3480", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_ensure_cosign_password", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3535", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_run_cosign", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3564", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_ensure_cosign_keypair", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3571", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_publish_cosign_public_key_config_map", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3591", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_cosign_registry_flags", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3601", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_image_supply_chain_metadata_exists", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3610", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_write_image_sbom_predicate", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3635", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_image_digest_ref", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3701", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_publish_image_supply_chain_metadata", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3725", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_dump_argocd_debug", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3767", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_dump_namespace_debug", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3777", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_wait_for_namespace", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3786", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_wait_for_namespaced_resource", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3803", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_wait_for_cluster_resource", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3823", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_wait_for_deployment_ready", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3851", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_deploy_gitea", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3876", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_install_missing_debian_packages", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3984", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_ensure_local_docker_compose", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4000", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_repair_local_docker_iptables", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4020", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_deploy_heimdall", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4039", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_deploy_matrix", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4120", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_deploy_omniroute", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4211", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_deploy_hermes", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4253", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_deploy_rpi_services", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4347", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_gitea_bootstrap_password", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4408", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_gitea_api_base_url", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4421", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_gitea_repo_exists", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4443", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_gitea_branch_exists", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4470", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_create_gitea_repo", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4498", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_gitea_public_key_registered", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4529", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_create_gitea_repo_deploy_key", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4559", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_ensure_gitea_repo_ssh_access", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4594", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_bootstrap_gitea_repo", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4659", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_install_gitea_backup_timer", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4868", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_backup_gitea", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5062", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_drill_gitea_restore", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5069", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_install_gitea_runner", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5076", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_recreate_pods_for_selector", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5164", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_refresh_argocd_application", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5177", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_website_translation_model", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5183", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_website_ollama_listen", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5210", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_ollama_linux_arch", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5254", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_ollama_write_systemd_service", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5269", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_ollama_install_from_tgz", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5288", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_ollama_setup", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5310", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_require_argocd_application_controller", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5376", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_require_pimox_app_worker_capacity", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5397", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_apps", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5440", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_platform_apply", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5601", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_edge_apply", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5607", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_edge_haproxy_stats_password_valid", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5613", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_ensure_edge_tailscale_routes", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5619", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_edge_haproxy_stats_credentials_file", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5694", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_generate_edge_haproxy_stats_password", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5698", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_write_edge_haproxy_stats_credentials", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5713", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_recover_edge_haproxy_stats_password", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5729", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_ensure_edge_haproxy_stats_password", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5756", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_ensure_cluster_worker_var_file", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5790", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_run_up_parallel_stage", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5804", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_up_task", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5889", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_up", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5930", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_tofu_stack_from_plan_target", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5954", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_plan_homelab", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5978", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_rebuild_cluster", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6011", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_nuke_for_rebuild", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6040", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_cluster_worker_targets", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6044", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_stop_local_kubernetes_services", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6075", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_start_local_kubernetes_services", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6101", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_stop_remote_kubernetes_services", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6108", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_start_remote_kubernetes_services", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6134", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_pimox_worker_count_default", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6142", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_pimox_worker_count_effective", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6208", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_stop_pimox_worker_vms", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6220", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_verify_pimox_worker_vms_stopped", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6276", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_destroy_pimox_worker_vms", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6303", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_start_pimox_worker_vms", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6348", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_stop_cluster", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6389", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_start_cluster", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6417", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_kubernetes_api_reachable", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6433", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_wait_for_kubernetes_api_stable", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6437", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_ensure_kubernetes_api_ready_for_tofu_stack", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6465", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_cluster_control_plane_tracked", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6478", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_cluster_admin_kubeconfig_present", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6482", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_wait_for_kubernetes_api", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6488", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_ensure_existing_cluster_started_for_up", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6502", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_section", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6528", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_run", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6536", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_check_pimox_worker_tailnet_egress", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6546", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_http", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6596", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_http_ok", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6609", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_http_reachable", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6633", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_gitea_public_ok", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6657", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_cascade_check", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6663", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_cascade_warn", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6689", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_container_running", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6715", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_kubernetes_api_ok", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6728", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_kubernetes_nodes_ready", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6740", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_kubernetes_deployment_ready", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6756", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_no_problem_pods", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6763", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_recent_deployments", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6776", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_pod_restart_pressure", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6791", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_node_pressure", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6805", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_disk_pressure", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6818", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_traefik_error_rates", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6829", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_gitea_recent_errors", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6850", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_registry_ok", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6873", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_rpi_uptime_kuma_ok", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6877", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_pimox_workers_running", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6887", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_cascade_report", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6919", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_backstage_brain_enabled", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6983", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_backstage_brain_note", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6990", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_systemd_units", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7077", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_compose_stack", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7089", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_kubernetes", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7110", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_kubernetes_problem_pods", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7132", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_pimox_workers", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7147", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_rpi_services", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7182", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_status_report", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7283", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_check_edge_traefik_backend", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7391", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_check_edge_gitea_backend", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7400", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_check_edge_heimdall_backend", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7410", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_check_gitea_git_remote", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7420", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_check_gitea_ssh", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7424", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_doctor_edge", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7432", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_doctor_gitea", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7501", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_doctor_rpi", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7564", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_doctor_cluster", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7605", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_nuke", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7664", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_ensure_sops_age_tools", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7828", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_sops_age_key_file", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7867", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_sops_age_recipient", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7871", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_sops_load_secrets", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7880", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_sops_available", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7923", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_secrets_init", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7927", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_secrets_check_file", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7977", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_secrets_check", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8001", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_tailnet_policy_check", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8049", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_ai_index", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8053", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_ai_check", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8065", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_ask_homelab", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8130", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_ai_evals", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8135", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_impact", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8139", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_review_last_change", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8143", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_security_scan", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8147", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_security_prepare", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8152", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_security_zap", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8157", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_security_k8s", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8162", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_security_host", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8167", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_security_trivy", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8172", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_security_secrets", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8177", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_security_nuclei", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8182", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_security_web", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8187", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_security_logs", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8192", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_security_runtime", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8197", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_security_attack_path", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8216", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_prompt_injection_lab", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8221", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_incident_commander", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8225", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_safety_case", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8229", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_agent_sandbox", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8233", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_ai_scheduler", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8237", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_ai_memory", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8241", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_red_blue_loop", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8245", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_promote", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8249", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_model_observe", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8253", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_heal", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8257", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_validate_homelab", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8262", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_access_audit", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8266", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_drill_restore", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8271", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_drill_pihole_restore", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8276", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_kubeconfig_readonly", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8280", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_capacity_report", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8285", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_recover_plan", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8290", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_gitops_status", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8295", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_cert_check", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8300", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_release_snapshot", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8304", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_backup_status", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8309", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_synthetic_checks", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8314", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_resource_budget", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8319", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_capacity_advisor", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8324", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_capacity_limits", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8329", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_control_plane", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8334", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_artifact_cache", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8339", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_blockchain_devnet", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8344", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_blockchain_test", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8349", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_blockchain_wallet", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8353", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_golden_ledger", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8357", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_route_inventory", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8361", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_explain", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8366", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_recover_power", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8373", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_scorecard", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8379", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_grafana_dashboards", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8384", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_workers_manage", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8389", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_record_change_journal", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8394", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_change_journal", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8401", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_homelab_map", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8405", "weight": 1.0}, {"source": "$graphify-root$_jeannie", "target": "$graphify-root$_jeannie_print_usage", "relation": "defines", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8409", "weight": 1.0}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_load_homelab_inventory_defaults", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L168", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_export_homelab_inventory_tf_vars", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L213", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_up_task", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8555", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_print_usage", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8558", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_record_change_journal", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8561", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_up", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8562", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_plan_homelab", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8565", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_rebuild_cluster", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8569", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_stop_cluster", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8573", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_start_cluster", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8577", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_status_report", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8580", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_capacity_report", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8583", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_capacity_advisor", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8586", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_capacity_limits", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8589", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_recover_plan", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8592", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_gitops_status", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8595", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8599", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_jeannie_log_start", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8600", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_jeannie_step_plan", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8601", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_run_step", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8602", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_edge_apply", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8607", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_promote", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8610", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_cert_check", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8613", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_release_snapshot", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8617", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_backup_status", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8620", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_synthetic_checks", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8623", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_resource_budget", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8626", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_control_plane", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8629", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_artifact_cache", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8632", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_blockchain_devnet", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8635", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_blockchain_test", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8638", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_blockchain_wallet", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8641", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_golden_ledger", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8644", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_route_inventory", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8647", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_explain", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8650", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_recover_power", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8653", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_heal", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8656", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_incident_commander", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8659", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_safety_case", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8662", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_agent_sandbox", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8665", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_scorecard", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8668", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_grafana_dashboards", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8671", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_workers_manage", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8674", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_change_journal", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8677", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_homelab_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8680", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_validate_homelab", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8683", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_access_audit", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8686", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_kubeconfig_readonly", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8689", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_website_translation_model", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8700", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_website_ollama_listen", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8703", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_ollama_setup", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8706", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_deploy_gitea", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8710", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_deploy_heimdall", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8714", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_deploy_matrix", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8718", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_deploy_omniroute", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8722", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_deploy_hermes", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8726", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_deploy_rpi_services", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8730", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_bootstrap_gitea_repo", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8733", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_backup_gitea", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8736", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_drill_restore", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8739", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_drill_gitea_restore", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8742", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_drill_pihole_restore", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8745", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_install_gitea_runner", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8748", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_move_prometheus_stack_workers", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8751", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_doctor_versions", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8754", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_doctor_edge", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8757", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_doctor_gitea", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8760", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_doctor_rpi", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8763", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_doctor_cluster", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8766", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_homelab_preflight", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8769", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_doctor_preapply", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8772", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_inventory_check", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8775", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_backup_tofu_state", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8778", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_fix_debian_docker_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8781", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_secrets_init", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8784", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_secrets_check", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8787", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_tailnet_policy_check", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8790", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_ai_index", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8793", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_ai_check", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8796", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_ask_homelab", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8799", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_ai_evals", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8802", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_ai_scheduler", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8805", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_ai_memory", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8808", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_model_observe", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8811", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_impact", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8814", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_review_last_change", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8817", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_security_scan", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8820", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_security_prepare", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8823", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_security_zap", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8826", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_security_k8s", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8829", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_security_host", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8832", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_security_trivy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8835", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_security_secrets", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8838", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_security_nuclei", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8841", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_security_web", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8844", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_security_logs", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8847", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_security_runtime", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8850", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_security_attack_path", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8853", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_prompt_injection_lab", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8856", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_red_blue_loop", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8859", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie__entry", "target": "$graphify-root$_jeannie_openwrt", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8862", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_export_homelab_inventory_tf_vars", "target": "$graphify-root$_jeannie_export_if_unset", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L185", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_adopt_tofu_helm_release", "target": "$graphify-root$_jeannie_tofu_state_has_resource", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L276", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_adopt_tofu_helm_release", "target": "$graphify-root$_jeannie_helm_release_secret_exists", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L279", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_adopt_tofu_kubernetes_resource", "target": "$graphify-root$_jeannie_tofu_state_has_resource", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L308", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_adopt_tofu_kubernetes_resource", "target": "$graphify-root$_jeannie_kubernetes_resource_exists", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L311", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_adopt_tofu_kubernetes_manifest", "target": "$graphify-root$_jeannie_tofu_state_has_resource", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L329", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_adopt_tofu_kubernetes_manifest", "target": "$graphify-root$_jeannie_kubernetes_resource_exists", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L332", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_adopt_platform_existing_resources", "target": "$graphify-root$_jeannie_adopt_tofu_helm_release", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L344", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_adopt_platform_existing_resources", "target": "$graphify-root$_jeannie_adopt_tofu_kubernetes_resource", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L355", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_adopt_apps_existing_resources", "target": "$graphify-root$_jeannie_adopt_tofu_kubernetes_manifest", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L375", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_tofu_stack", "target": "$graphify-root$_jeannie_ensure_cluster_worker_var_file", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L502", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_tofu_stack", "target": "$graphify-root$_jeannie_ensure_edge_tailscale_routes", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L505", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_tofu_stack", "target": "$graphify-root$_jeannie_ensure_edge_haproxy_stats_password", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L506", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_tofu_stack", "target": "$graphify-root$_jeannie_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L509", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_tofu_stack", "target": "$graphify-root$_jeannie_disabled_value", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L511", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_tofu_stack", "target": "$graphify-root$_jeannie_ensure_kubernetes_api_ready_for_tofu_stack", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L521", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_tofu_stack", "target": "$graphify-root$_jeannie_adopt_platform_existing_resources", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L523", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_tofu_stack", "target": "$graphify-root$_jeannie_adopt_apps_existing_resources", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L526", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_tofu_plan_stack", "target": "$graphify-root$_jeannie_ensure_cluster_worker_var_file", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L537", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_move_prometheus_stack_workers", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L594", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_move_prometheus_stack_workers", "target": "$graphify-root$_jeannie_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L604", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_move_prometheus_stack_workers", "target": "$graphify-root$_jeannie_disabled_value", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L606", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_move_prometheus_stack_workers", "target": "$graphify-root$_jeannie_ensure_homelab_node_labels", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L615", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_move_prometheus_stack_workers", "target": "$graphify-root$_jeannie_adopt_platform_existing_resources", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L617", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_move_prometheus_stack_workers", "target": "$graphify-root$_jeannie_delete_prometheus_stack_storage", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L619", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_versions_report", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L632", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_versions_report", "target": "$graphify-root$_jeannie_ensure_python3", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L633", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_versions_compact", "target": "$graphify-root$_jeannie_ensure_python3", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L711", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_versions_compact", "target": "$graphify-root$_jeannie_status_kubernetes_api_ok", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L714", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_versions", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L776", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_versions", "target": "$graphify-root$_jeannie_doctor_versions_report", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L781", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_versions", "target": "$graphify-root$_jeannie_doctor_versions_compact", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L784", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_jeannie_verbose_enabled", "target": "$graphify-root$_jeannie_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L840", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_jeannie_step_progress", "target": "$graphify-root$_jeannie_jeannie_step_prefix", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L874", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_jeannie_step_latest_progress_line", "target": "$graphify-root$_jeannie_jeannie_compact_text", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L889", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_step", "target": "$graphify-root$_jeannie_jeannie_step_prefix", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L921", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_step", "target": "$graphify-root$_jeannie_jeannie_verbose_enabled", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L930", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_step", "target": "$graphify-root$_jeannie_redact_sensitive_output", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L932", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_step", "target": "$graphify-root$_jeannie_jeannie_step_latest_progress_line", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L950", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_step", "target": "$graphify-root$_jeannie_jeannie_step_progress", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L953", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_go_toolchain", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1022", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_pimox_guest_ipv4", "target": "$graphify-root$_jeannie_pimox_ssh", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1071", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_pimox_worker_vm_debug", "target": "$graphify-root$_jeannie_pimox_ssh", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1128", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_pimox_worker_guest_ssh_repair", "target": "$graphify-root$_jeannie_pimox_ssh", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1231", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_pimox_worker_guest_ssh_repair", "target": "$graphify-root$_jeannie_pimox_guest_exec_exitcode", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1238", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_wait_for_pimox_guest_ssh", "target": "$graphify-root$_jeannie_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1289", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_wait_for_pimox_guest_ssh", "target": "$graphify-root$_jeannie_disabled_value", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1289", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_wait_for_pimox_guest_ssh", "target": "$graphify-root$_jeannie_pimox_guest_ipv4", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1300", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_wait_for_pimox_guest_ssh", "target": "$graphify-root$_jeannie_pimox_worker_vm_debug", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1325", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_wait_for_pimox_guest_ssh", "target": "$graphify-root$_jeannie_pimox_worker_guest_ssh_repair", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1343", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_pimox_worker_net0_config", "target": "$graphify-root$_jeannie_pimox_generated_mac", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1425", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_configure_pimox_worker_guest_network", "target": "$graphify-root$_jeannie_validate_ipv4_cidr_or_host", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1462", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_configure_pimox_worker_guest_network", "target": "$graphify-root$_jeannie_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1490", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_configure_pimox_worker_guest_network", "target": "$graphify-root$_jeannie_disabled_value", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1490", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_configure_pimox_worker_guest_network", "target": "$graphify-root$_jeannie_pimox_ssh", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1577", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_configure_pimox_worker_guest_network", "target": "$graphify-root$_jeannie_pimox_guest_exec_exitcode", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1579", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_configure_pimox_worker_guest_network", "target": "$graphify-root$_jeannie_pimox_worker_guest_agent_recovery_hint", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1595", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_configure_pimox_worker_forwarding", "target": "$graphify-root$_jeannie_disabled_value", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1608", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_configure_pimox_worker_forwarding", "target": "$graphify-root$_jeannie_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1611", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_configure_pimox_worker_forwarding", "target": "$graphify-root$_jeannie_validate_ipv4_cidr_or_host", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1615", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_configure_pimox_worker_forwarding", "target": "$graphify-root$_jeannie_pimox_ssh", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1621", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_pimox_worker_cpu_affinity", "target": "$graphify-root$_jeannie_cpuset_cpu_count", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1725", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_pimox_start_vm_with_cpuset", "target": "$graphify-root$_jeannie_pimox_ssh", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1752", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_pimox_start_vm_with_cpuset", "target": "$graphify-root$_jeannie_cpuset_cpu_count", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1755", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_pimox_shutdown_vm_gracefully", "target": "$graphify-root$_jeannie_pimox_ssh", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1807", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_pimox_worker_node", "target": "$graphify-root$_jeannie_pimox_worker_net0_config", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1880", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_pimox_worker_node", "target": "$graphify-root$_jeannie_pimox_ssh", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1883", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_pimox_worker_node", "target": "$graphify-root$_jeannie_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L1888", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_pimox_worker_node", "target": "$graphify-root$_jeannie_pimox_start_vm_with_cpuset", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2014", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_pimox_worker_node", "target": "$graphify-root$_jeannie_pimox_worker_static_ip", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2022", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_pimox_worker_node", "target": "$graphify-root$_jeannie_configure_pimox_worker_forwarding", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2027", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_pimox_worker_node", "target": "$graphify-root$_jeannie_configure_pimox_worker_guest_network", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2032", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_pimox_worker_node", "target": "$graphify-root$_jeannie_pimox_worker_vm_debug", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2042", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_pimox_worker_node", "target": "$graphify-root$_jeannie_wait_for_pimox_guest_ssh", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2054", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_pimox_worker_node", "target": "$graphify-root$_jeannie_pimox_guest_cpu_count", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2059", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_pimox_worker_node", "target": "$graphify-root$_jeannie_pimox_shutdown_vm_gracefully", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2062", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_prepare_cluster_worker_var_file", "target": "$graphify-root$_jeannie_ensure_static_pimox_worker_spec_file", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2163", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_prepare_cluster_worker_var_file", "target": "$graphify-root$_jeannie_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2164", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_prepare_cluster_worker_var_file", "target": "$graphify-root$_jeannie_disabled_value", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2166", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_prepare_cluster_worker_var_file", "target": "$graphify-root$_jeannie_write_cluster_worker_var_file", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2171", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_static_pimox_worker_spec_file", "target": "$graphify-root$_jeannie_worker_index_is_skipped", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2205", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_static_pimox_worker_spec_file", "target": "$graphify-root$_jeannie_pimox_worker_static_ip", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2208", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_fix_debian_docker_root", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2305", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_fix_debian_docker_root", "target": "$graphify-root$_jeannie_check_debian_docker_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2350", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_check_pimox_storage", "target": "$graphify-root$_jeannie_disabled_value", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2426", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_check_pimox_storage", "target": "$graphify-root$_jeannie_pimox_ssh", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2430", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_homelab_preflight", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2518", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_homelab_preflight", "target": "$graphify-root$_jeannie_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2520", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_homelab_preflight", "target": "$graphify-root$_jeannie_preflight_check", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2536", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_homelab_preflight", "target": "$graphify-root$_jeannie_preflight_warn", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2543", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_preapply", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2558", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_preapply", "target": "$graphify-root$_jeannie_preflight_check", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2561", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_pimox_pipeline", "target": "$graphify-root$_jeannie_disabled_value", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2625", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_pimox_pipeline", "target": "$graphify-root$_jeannie_cpuset_cpu_count", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2654", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_pimox_pipeline", "target": "$graphify-root$_jeannie_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2675", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_pimox_pipeline", "target": "$graphify-root$_jeannie_pimox_ssh", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2689", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_pimox_pipeline", "target": "$graphify-root$_jeannie_ensure_python3", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2725", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_pimox_pipeline", "target": "$graphify-root$_jeannie_detect_route_interface", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2726", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_pimox_pipeline", "target": "$graphify-root$_jeannie_run_tofu_stack", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2751", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_pimox_pipeline", "target": "$graphify-root$_jeannie_worker_index_is_skipped", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2767", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_pimox_pipeline", "target": "$graphify-root$_jeannie_pimox_worker_cpu_affinity", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2774", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_pimox_pipeline", "target": "$graphify-root$_jeannie_ensure_pimox_worker_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2776", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_pimox_pipeline", "target": "$graphify-root$_jeannie_write_cluster_worker_var_file", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2801", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_openwrt_pipeline", "target": "$graphify-root$_jeannie_disabled_value", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2831", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_openwrt_pipeline", "target": "$graphify-root$_jeannie_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2834", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_openwrt_pipeline", "target": "$graphify-root$_jeannie_pimox_ssh", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L2884", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_openwrt", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3142", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_openwrt", "target": "$graphify-root$_jeannie_run_openwrt_pipeline", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3144", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_cleanup_node", "target": "$graphify-root$_jeannie_cleanup_mounts", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3213", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_cleanup_node", "target": "$graphify-root$_jeannie_cleanup_calico_runtime_files", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3228", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_cleanup_node", "target": "$graphify-root$_jeannie_cleanup_iptables", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3231", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_cleanup_node", "target": "$graphify-root$_jeannie_cleanup_calico_links", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3232", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_cleanup_node", "target": "$graphify-root$_jeannie_restore_node_dns", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3233", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_apps_registry_endpoint", "target": "$graphify-root$_jeannie_demos_registry_endpoint", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3265", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_website_image_is_current", "target": "$graphify-root$_jeannie_image_state_value", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3330", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_website_image_is_current", "target": "$graphify-root$_jeannie_image_ref_tag", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3338", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_website_image_is_current", "target": "$graphify-root$_jeannie_registry_image_exists", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3339", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_website_image_tag_not_reused", "target": "$graphify-root$_jeannie_image_state_value", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3351", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_demos_image_is_current", "target": "$graphify-root$_jeannie_image_state_value", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3373", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_demos_image_is_current", "target": "$graphify-root$_jeannie_registry_image_exists", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3381", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_docker_build_space", "target": "$graphify-root$_jeannie_docker_root_dir", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3439", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_docker_build_space", "target": "$graphify-root$_jeannie_path_available_mb", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3440", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_docker_build_space", "target": "$graphify-root$_jeannie_prune_unused_docker_build_data", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3447", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_cosign", "target": "$graphify-root$_jeannie_ensure_cosign_available", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3565", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_run_cosign", "target": "$graphify-root$_jeannie_ensure_cosign_password", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3566", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_cosign_keypair", "target": "$graphify-root$_jeannie_ensure_cosign_available", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3572", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_cosign_keypair", "target": "$graphify-root$_jeannie_ensure_cosign_password", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3573", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_image_supply_chain_metadata_exists", "target": "$graphify-root$_jeannie_image_digest_ref", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3616", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_image_supply_chain_metadata_exists", "target": "$graphify-root$_jeannie_run_cosign", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3622", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_publish_image_supply_chain_metadata", "target": "$graphify-root$_jeannie_image_supply_chain_metadata_exists", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3733", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_publish_image_supply_chain_metadata", "target": "$graphify-root$_jeannie_image_digest_ref", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3738", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_publish_image_supply_chain_metadata", "target": "$graphify-root$_jeannie_write_image_sbom_predicate", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3741", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_publish_image_supply_chain_metadata", "target": "$graphify-root$_jeannie_run_cosign", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3744", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_wait_for_namespace", "target": "$graphify-root$_jeannie_dump_argocd_debug", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3795", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_wait_for_namespaced_resource", "target": "$graphify-root$_jeannie_dump_argocd_debug", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3814", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_wait_for_cluster_resource", "target": "$graphify-root$_jeannie_dump_argocd_debug", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3836", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_wait_for_deployment_ready", "target": "$graphify-root$_jeannie_dump_argocd_debug", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3867", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_wait_for_deployment_ready", "target": "$graphify-root$_jeannie_dump_namespace_debug", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3868", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_deploy_gitea", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3891", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_deploy_gitea", "target": "$graphify-root$_jeannie_disabled_value", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3893", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_deploy_gitea", "target": "$graphify-root$_jeannie_install_gitea_backup_timer", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L3894", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_local_docker_compose", "target": "$graphify-root$_jeannie_install_missing_debian_packages", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4004", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_deploy_heimdall", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4057", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_deploy_heimdall", "target": "$graphify-root$_jeannie_disabled_value", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4059", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_deploy_heimdall", "target": "$graphify-root$_jeannie_ensure_local_docker_compose", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4078", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_deploy_heimdall", "target": "$graphify-root$_jeannie_repair_local_docker_iptables", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4079", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_deploy_matrix", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4133", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_deploy_matrix", "target": "$graphify-root$_jeannie_disabled_value", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4135", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_deploy_matrix", "target": "$graphify-root$_jeannie_ensure_local_docker_compose", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4154", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_deploy_matrix", "target": "$graphify-root$_jeannie_repair_local_docker_iptables", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4155", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_deploy_matrix", "target": "$graphify-root$_jeannie_sops_load_secrets", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4170", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_deploy_omniroute", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4217", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_deploy_omniroute", "target": "$graphify-root$_jeannie_disabled_value", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4219", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_deploy_omniroute", "target": "$graphify-root$_jeannie_ensure_local_docker_compose", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4230", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_deploy_omniroute", "target": "$graphify-root$_jeannie_repair_local_docker_iptables", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4231", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_deploy_hermes", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4262", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_deploy_hermes", "target": "$graphify-root$_jeannie_disabled_value", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4264", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_deploy_hermes", "target": "$graphify-root$_jeannie_ensure_local_docker_compose", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4278", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_deploy_hermes", "target": "$graphify-root$_jeannie_sops_load_secrets", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4305", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_deploy_rpi_services", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4363", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_deploy_rpi_services", "target": "$graphify-root$_jeannie_disabled_value", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4365", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_gitea_repo_ssh_access", "target": "$graphify-root$_jeannie_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4633", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_gitea_repo_ssh_access", "target": "$graphify-root$_jeannie_gitea_public_key_registered", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4637", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_gitea_repo_ssh_access", "target": "$graphify-root$_jeannie_create_gitea_repo_deploy_key", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4640", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_bootstrap_gitea_repo", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4689", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_bootstrap_gitea_repo", "target": "$graphify-root$_jeannie_disabled_value", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4691", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_bootstrap_gitea_repo", "target": "$graphify-root$_jeannie_ensure_python3", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4695", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_bootstrap_gitea_repo", "target": "$graphify-root$_jeannie_gitea_bootstrap_password", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4721", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_bootstrap_gitea_repo", "target": "$graphify-root$_jeannie_gitea_api_base_url", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4797", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_bootstrap_gitea_repo", "target": "$graphify-root$_jeannie_gitea_repo_exists", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4799", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_bootstrap_gitea_repo", "target": "$graphify-root$_jeannie_create_gitea_repo", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4806", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_bootstrap_gitea_repo", "target": "$graphify-root$_jeannie_gitea_branch_exists", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4822", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_bootstrap_gitea_repo", "target": "$graphify-root$_jeannie_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4826", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_bootstrap_gitea_repo", "target": "$graphify-root$_jeannie_ensure_gitea_repo_ssh_access", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L4854", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_backup_gitea", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5063", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_backup_gitea", "target": "$graphify-root$_jeannie_install_gitea_backup_timer", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5065", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_drill_gitea_restore", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5070", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_drill_gitea_restore", "target": "$graphify-root$_jeannie_install_gitea_backup_timer", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5072", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_install_gitea_runner", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5087", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_recreate_pods_for_selector", "target": "$graphify-root$_jeannie_dump_argocd_debug", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5171", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_recreate_pods_for_selector", "target": "$graphify-root$_jeannie_dump_namespace_debug", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5172", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_website_translation_model", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5187", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_website_ollama_listen", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5218", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ollama_install_from_tgz", "target": "$graphify-root$_jeannie_ollama_write_systemd_service", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5307", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ollama_setup", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5323", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ollama_setup", "target": "$graphify-root$_jeannie_ollama_install_from_tgz", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5335", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ollama_setup", "target": "$graphify-root$_jeannie_ollama_linux_arch", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5341", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ollama_setup", "target": "$graphify-root$_jeannie_website_ollama_listen", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5364", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_require_pimox_app_worker_capacity", "target": "$graphify-root$_jeannie_disabled_value", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5410", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_apps", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5455", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_apps", "target": "$graphify-root$_jeannie_apps_registry_endpoint", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5457", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_apps", "target": "$graphify-root$_jeannie_demos_registry_endpoint", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5458", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_apps", "target": "$graphify-root$_jeannie_demos_source_hash", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5462", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_apps", "target": "$graphify-root$_jeannie_website_source_hash", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5465", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_apps", "target": "$graphify-root$_jeannie_website_image_tag", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5466", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_apps", "target": "$graphify-root$_jeannie_require_argocd_application_controller", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5472", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_apps", "target": "$graphify-root$_jeannie_require_pimox_app_worker_capacity", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5473", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_apps", "target": "$graphify-root$_jeannie_ensure_cosign_keypair", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5475", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_apps", "target": "$graphify-root$_jeannie_publish_cosign_public_key_config_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5476", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_apps", "target": "$graphify-root$_jeannie_ensure_website_image_tag_not_reused", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5497", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_apps", "target": "$graphify-root$_jeannie_run_tofu_stack", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5501", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_apps", "target": "$graphify-root$_jeannie_refresh_argocd_application", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5503", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_apps", "target": "$graphify-root$_jeannie_wait_for_cluster_resource", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5506", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_apps", "target": "$graphify-root$_jeannie_wait_for_namespace", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5507", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_apps", "target": "$graphify-root$_jeannie_wait_for_namespaced_resource", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5508", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_apps", "target": "$graphify-root$_jeannie_wait_for_deployment_ready", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5509", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_apps", "target": "$graphify-root$_jeannie_website_image_is_current", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5511", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_apps", "target": "$graphify-root$_jeannie_image_supply_chain_metadata_exists", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5512", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_apps", "target": "$graphify-root$_jeannie_ensure_docker_build_space", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5516", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_apps", "target": "$graphify-root$_jeannie_prepare_buildx_builder", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5518", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_apps", "target": "$graphify-root$_jeannie_publish_image_supply_chain_metadata", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5534", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_apps", "target": "$graphify-root$_jeannie_demos_image_is_current", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5536", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_apps", "target": "$graphify-root$_jeannie_recreate_pods_for_selector", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5565", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_apps", "target": "$graphify-root$_jeannie_write_website_image_state", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5571", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_apps", "target": "$graphify-root$_jeannie_write_demos_image_state", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5584", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_platform_apply", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5602", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_platform_apply", "target": "$graphify-root$_jeannie_run_tofu_stack", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5604", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_edge_apply", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5608", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_edge_apply", "target": "$graphify-root$_jeannie_run_tofu_stack", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5610", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_edge_tailscale_routes", "target": "$graphify-root$_jeannie_disabled_value", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5630", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_edge_tailscale_routes", "target": "$graphify-root$_jeannie_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5633", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_edge_tailscale_routes", "target": "$graphify-root$_jeannie_validate_ipv4_cidr_or_host", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5637", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_recover_edge_haproxy_stats_password", "target": "$graphify-root$_jeannie_edge_haproxy_stats_password_valid", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5749", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_edge_haproxy_stats_password", "target": "$graphify-root$_jeannie_edge_haproxy_stats_password_valid", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5760", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_edge_haproxy_stats_password", "target": "$graphify-root$_jeannie_edge_haproxy_stats_credentials_file", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5765", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_edge_haproxy_stats_password", "target": "$graphify-root$_jeannie_recover_edge_haproxy_stats_password", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5776", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_edge_haproxy_stats_password", "target": "$graphify-root$_jeannie_write_edge_haproxy_stats_credentials", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5779", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_edge_haproxy_stats_password", "target": "$graphify-root$_jeannie_generate_edge_haproxy_stats_password", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5784", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_cluster_worker_var_file", "target": "$graphify-root$_jeannie_prepare_cluster_worker_var_file", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5792", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_cluster_worker_var_file", "target": "$graphify-root$_jeannie_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5794", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_cluster_worker_var_file", "target": "$graphify-root$_jeannie_cluster_worker_var_file_has_workers", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5797", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_up_task", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5890", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_up_task", "target": "$graphify-root$_jeannie_deploy_gitea", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5894", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_up_task", "target": "$graphify-root$_jeannie_bootstrap_gitea_repo", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5897", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_up_task", "target": "$graphify-root$_jeannie_deploy_heimdall", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5900", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_up_task", "target": "$graphify-root$_jeannie_deploy_matrix", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5903", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_up_task", "target": "$graphify-root$_jeannie_deploy_omniroute", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5906", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_up_task", "target": "$graphify-root$_jeannie_deploy_hermes", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5909", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_up_task", "target": "$graphify-root$_jeannie_deploy_rpi_services", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5912", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_up_task", "target": "$graphify-root$_jeannie_run_pimox_pipeline", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5915", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_up_task", "target": "$graphify-root$_jeannie_run_openwrt_pipeline", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5918", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_up_task", "target": "$graphify-root$_jeannie_check_edge_ssh", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5921", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_up", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5931", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_up", "target": "$graphify-root$_jeannie_jeannie_log_start", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5934", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_up", "target": "$graphify-root$_jeannie_jeannie_step_plan", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5935", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_up", "target": "$graphify-root$_jeannie_run_step", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5937", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_plan_homelab", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5983", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_plan_homelab", "target": "$graphify-root$_jeannie_prepare_cluster_worker_var_file", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5987", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_plan_homelab", "target": "$graphify-root$_jeannie_tofu_stack_from_plan_target", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L5997", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_plan_homelab", "target": "$graphify-root$_jeannie_run_tofu_plan_stack", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6007", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_rebuild_cluster", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6012", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_rebuild_cluster", "target": "$graphify-root$_jeannie_jeannie_log_start", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6022", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_rebuild_cluster", "target": "$graphify-root$_jeannie_jeannie_step_plan", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6023", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_rebuild_cluster", "target": "$graphify-root$_jeannie_run_step", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6025", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_nuke_for_rebuild", "target": "$graphify-root$_jeannie_nuke", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6041", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_stop_local_kubernetes_services", "target": "$graphify-root$_jeannie_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6094", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_pimox_worker_count_effective", "target": "$graphify-root$_jeannie_pimox_worker_count_default", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6212", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_stop_pimox_worker_vms", "target": "$graphify-root$_jeannie_pimox_worker_count_effective", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6233", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_stop_pimox_worker_vms", "target": "$graphify-root$_jeannie_worker_index_is_skipped", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6248", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_stop_pimox_worker_vms", "target": "$graphify-root$_jeannie_pimox_ssh", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6253", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_verify_pimox_worker_vms_stopped", "target": "$graphify-root$_jeannie_pimox_worker_count_effective", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6288", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_verify_pimox_worker_vms_stopped", "target": "$graphify-root$_jeannie_worker_index_is_skipped", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6290", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_verify_pimox_worker_vms_stopped", "target": "$graphify-root$_jeannie_pimox_ssh", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6294", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_destroy_pimox_worker_vms", "target": "$graphify-root$_jeannie_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6314", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_destroy_pimox_worker_vms", "target": "$graphify-root$_jeannie_pimox_worker_count_effective", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6318", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_destroy_pimox_worker_vms", "target": "$graphify-root$_jeannie_worker_index_is_skipped", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6329", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_destroy_pimox_worker_vms", "target": "$graphify-root$_jeannie_pimox_ssh", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6334", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_start_pimox_worker_vms", "target": "$graphify-root$_jeannie_pimox_worker_count_effective", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6359", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_start_pimox_worker_vms", "target": "$graphify-root$_jeannie_worker_index_is_skipped", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6370", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_start_pimox_worker_vms", "target": "$graphify-root$_jeannie_pimox_ssh", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6375", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_stop_cluster", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6394", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_stop_cluster", "target": "$graphify-root$_jeannie_cluster_worker_targets", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6395", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_stop_cluster", "target": "$graphify-root$_jeannie_stop_remote_kubernetes_services", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6399", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_stop_cluster", "target": "$graphify-root$_jeannie_stop_pimox_worker_vms", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6401", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_stop_cluster", "target": "$graphify-root$_jeannie_stop_local_kubernetes_services", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6402", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_stop_cluster", "target": "$graphify-root$_jeannie_kubernetes_api_reachable", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6403", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_stop_cluster", "target": "$graphify-root$_jeannie_verify_pimox_worker_vms_stopped", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6407", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_start_cluster", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6421", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_start_cluster", "target": "$graphify-root$_jeannie_cluster_worker_targets", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6422", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_start_cluster", "target": "$graphify-root$_jeannie_start_local_kubernetes_services", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6425", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_start_cluster", "target": "$graphify-root$_jeannie_start_pimox_worker_vms", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6426", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_start_cluster", "target": "$graphify-root$_jeannie_start_remote_kubernetes_services", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6428", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_wait_for_kubernetes_api_stable", "target": "$graphify-root$_jeannie_kubernetes_api_reachable", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6446", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_kubernetes_api_ready_for_tofu_stack", "target": "$graphify-root$_jeannie_wait_for_kubernetes_api_stable", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6470", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_cluster_control_plane_tracked", "target": "$graphify-root$_jeannie_tofu_state_has_resource", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6479", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_wait_for_kubernetes_api", "target": "$graphify-root$_jeannie_kubernetes_api_reachable", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6492", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_existing_cluster_started_for_up", "target": "$graphify-root$_jeannie_cluster_control_plane_tracked", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6503", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_existing_cluster_started_for_up", "target": "$graphify-root$_jeannie_cluster_admin_kubeconfig_present", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6508", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_existing_cluster_started_for_up", "target": "$graphify-root$_jeannie_kubernetes_api_reachable", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6517", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_existing_cluster_started_for_up", "target": "$graphify-root$_jeannie_start_cluster", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6523", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ensure_existing_cluster_started_for_up", "target": "$graphify-root$_jeannie_wait_for_kubernetes_api", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6524", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_section", "target": "$graphify-root$_jeannie_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6530", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_gitea_public_ok", "target": "$graphify-root$_jeannie_status_http_reachable", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6660", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_cascade_check", "target": "$graphify-root$_jeannie_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6668", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_cascade_warn", "target": "$graphify-root$_jeannie_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6694", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_registry_ok", "target": "$graphify-root$_jeannie_status_http_ok", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6874", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_pimox_workers_running", "target": "$graphify-root$_jeannie_pimox_worker_count_effective", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6899", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_pimox_workers_running", "target": "$graphify-root$_jeannie_worker_index_is_skipped", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6906", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_pimox_workers_running", "target": "$graphify-root$_jeannie_pimox_ssh", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6910", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_cascade_report", "target": "$graphify-root$_jeannie_status_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6922", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_cascade_report", "target": "$graphify-root$_jeannie_status_cascade_check", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6923", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_cascade_report", "target": "$graphify-root$_jeannie_status_cascade_warn", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6932", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_cascade_report", "target": "$graphify-root$_jeannie_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6971", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_backstage_brain_enabled", "target": "$graphify-root$_jeannie_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6987", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_backstage_brain_note", "target": "$graphify-root$_jeannie_backstage_brain_enabled", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L6999", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_kubernetes", "target": "$graphify-root$_jeannie_status_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7111", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_kubernetes", "target": "$graphify-root$_jeannie_status_run", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7126", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_kubernetes", "target": "$graphify-root$_jeannie_status_kubernetes_problem_pods", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7127", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_pimox_workers", "target": "$graphify-root$_jeannie_status_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7158", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_pimox_workers", "target": "$graphify-root$_jeannie_pimox_worker_count_effective", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7160", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_pimox_workers", "target": "$graphify-root$_jeannie_worker_index_is_skipped", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7171", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_pimox_workers", "target": "$graphify-root$_jeannie_pimox_ssh", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7177", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_rpi_services", "target": "$graphify-root$_jeannie_status_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7193", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_report", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7289", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_report", "target": "$graphify-root$_jeannie_status_cascade_report", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7319", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_report", "target": "$graphify-root$_jeannie_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7341", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_report", "target": "$graphify-root$_jeannie_status_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7345", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_report", "target": "$graphify-root$_jeannie_status_run", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7349", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_report", "target": "$graphify-root$_jeannie_status_systemd_units", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7353", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_report", "target": "$graphify-root$_jeannie_status_compose_stack", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7361", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_report", "target": "$graphify-root$_jeannie_status_kubernetes", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7365", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_report", "target": "$graphify-root$_jeannie_status_pimox_workers", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7366", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_report", "target": "$graphify-root$_jeannie_status_rpi_services", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7367", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_status_report", "target": "$graphify-root$_jeannie_status_http", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7378", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_edge", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7442", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_edge", "target": "$graphify-root$_jeannie_status_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7460", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_edge", "target": "$graphify-root$_jeannie_status_http", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7461", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_edge", "target": "$graphify-root$_jeannie_backstage_brain_note", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7490", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_gitea", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7510", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_gitea", "target": "$graphify-root$_jeannie_status_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7528", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_gitea", "target": "$graphify-root$_jeannie_status_http", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7529", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_gitea", "target": "$graphify-root$_jeannie_status_compose_stack", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7531", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_gitea", "target": "$graphify-root$_jeannie_status_run", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7533", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_gitea", "target": "$graphify-root$_jeannie_backstage_brain_note", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7553", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_rpi", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7567", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_rpi", "target": "$graphify-root$_jeannie_status_rpi_services", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7584", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_rpi", "target": "$graphify-root$_jeannie_backstage_brain_note", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7595", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_cluster", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7608", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_cluster", "target": "$graphify-root$_jeannie_status_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7629", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_cluster", "target": "$graphify-root$_jeannie_status_systemd_units", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7630", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_cluster", "target": "$graphify-root$_jeannie_status_kubernetes", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7631", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_cluster", "target": "$graphify-root$_jeannie_status_pimox_workers", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7632", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_cluster", "target": "$graphify-root$_jeannie_status_run", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7633", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_cluster", "target": "$graphify-root$_jeannie_status_http", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7634", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_doctor_cluster", "target": "$graphify-root$_jeannie_backstage_brain_note", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7653", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_nuke", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7670", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_nuke", "target": "$graphify-root$_jeannie_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7672", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_nuke", "target": "$graphify-root$_jeannie_cluster_worker_targets", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7681", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_nuke", "target": "$graphify-root$_jeannie_cleanup_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7693", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_nuke", "target": "$graphify-root$_jeannie_destroy_pimox_worker_vms", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7801", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_nuke", "target": "$graphify-root$_jeannie_backup_tofu_state", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7808", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_sops_load_secrets", "target": "$graphify-root$_jeannie_sops_available", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7889", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_sops_load_secrets", "target": "$graphify-root$_jeannie_sops_age_key_file", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7894", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_secrets_init", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7934", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_secrets_init", "target": "$graphify-root$_jeannie_ensure_sops_age_tools", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7935", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_secrets_init", "target": "$graphify-root$_jeannie_sops_age_key_file", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7937", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_secrets_init", "target": "$graphify-root$_jeannie_sops_age_recipient", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L7951", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_secrets_check", "target": "$graphify-root$_jeannie_sops_age_key_file", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8009", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_secrets_check", "target": "$graphify-root$_jeannie_sops_age_recipient", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8020", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_secrets_check", "target": "$graphify-root$_jeannie_secrets_check_file", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8033", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ai_index", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8056", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ai_index", "target": "$graphify-root$_jeannie_ensure_python3", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8057", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ai_check", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8071", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ai_check", "target": "$graphify-root$_jeannie_status_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8073", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ai_check", "target": "$graphify-root$_jeannie_backstage_brain_enabled", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8095", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_ask_homelab", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8131", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_security_scan", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8148", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_security_prepare", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8153", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_security_zap", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8158", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_security_k8s", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8163", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_security_host", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8168", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_security_trivy", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8173", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_security_secrets", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8178", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_security_nuclei", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8183", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_security_web", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8188", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_security_logs", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8193", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_security_runtime", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8198", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_security_attack_path", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8217", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_heal", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8258", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_access_audit", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8267", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_drill_restore", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8272", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_kubeconfig_readonly", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8281", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_capacity_report", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8286", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_recover_plan", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8291", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_gitops_status", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8296", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_release_snapshot", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8305", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_backup_status", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8310", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_synthetic_checks", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8315", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_resource_budget", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8320", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_capacity_advisor", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8325", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_capacity_limits", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8330", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_control_plane", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8335", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_artifact_cache", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8340", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_blockchain_devnet", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8345", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_route_inventory", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8362", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_explain", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8368", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_recover_power", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8374", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_recover_power", "target": "$graphify-root$_jeannie_record_change_journal", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8375", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_scorecard", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8380", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_grafana_dashboards", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8385", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_jeannie_workers_manage", "target": "$graphify-root$_jeannie_require_debian_server", "relation": "calls", "confidence": "EXTRACTED", "source_file": "jeannie", "source_location": "L8390", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_jeannie__entry", "source_file": "jeannie", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_jeannie__entry", "source_file": "jeannie", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_jeannie__entry", "source_file": "jeannie", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_jeannie__entry", "source_file": "jeannie", "source_location": "L4"}, {"language": "bash", "callee": "trap", "caller_nid": "$graphify-root$_jeannie__entry", "source_file": "jeannie", "source_location": "L24"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie__entry", "source_file": "jeannie", "source_location": "L8550"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie__entry", "source_file": "jeannie", "source_location": "L8550"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie__entry", "source_file": "jeannie", "source_location": "L8603"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie__entry", "source_file": "jeannie", "source_location": "L8873"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_load_homelab_inventory_defaults", "source_file": "jeannie", "source_location": "L30"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_load_homelab_inventory_defaults", "source_file": "jeannie", "source_location": "L31"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_jeannie_load_homelab_inventory_defaults", "source_file": "jeannie", "source_location": "L34"}, {"language": "bash", "callee": "eval", "caller_nid": "$graphify-root$_jeannie_load_homelab_inventory_defaults", "source_file": "jeannie", "source_location": "L164"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_export_if_unset", "source_file": "jeannie", "source_location": "L175"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_export_if_unset", "source_file": "jeannie", "source_location": "L178"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_require_debian_server", "source_file": "jeannie", "source_location": "L222"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_require_debian_server", "source_file": "jeannie", "source_location": "L223"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_jeannie_require_debian_server", "source_file": "jeannie", "source_location": "L227"}, {"language": "bash", "callee": "tofu", "caller_nid": "$graphify-root$_jeannie_tofu_state_has_resource", "source_file": "jeannie", "source_location": "L240"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_helm_release_secret_exists", "source_file": "jeannie", "source_location": "L248"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_helm_release_secret_exists", "source_file": "jeannie", "source_location": "L250"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_kubernetes_resource_exists", "source_file": "jeannie", "source_location": "L261"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_kubernetes_resource_exists", "source_file": "jeannie", "source_location": "L262"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_adopt_tofu_helm_release", "source_file": "jeannie", "source_location": "L284"}, {"language": "bash", "callee": "tofu", "caller_nid": "$graphify-root$_jeannie_adopt_tofu_helm_release", "source_file": "jeannie", "source_location": "L285"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_adopt_tofu_helm_release", "source_file": "jeannie", "source_location": "L286"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_adopt_tofu_kubernetes_resource", "source_file": "jeannie", "source_location": "L309"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_adopt_tofu_kubernetes_resource", "source_file": "jeannie", "source_location": "L315"}, {"language": "bash", "callee": "tofu", "caller_nid": "$graphify-root$_jeannie_adopt_tofu_kubernetes_resource", "source_file": "jeannie", "source_location": "L316"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_adopt_tofu_kubernetes_manifest", "source_file": "jeannie", "source_location": "L330"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_adopt_tofu_kubernetes_manifest", "source_file": "jeannie", "source_location": "L337"}, {"language": "bash", "callee": "tofu", "caller_nid": "$graphify-root$_jeannie_adopt_tofu_kubernetes_manifest", "source_file": "jeannie", "source_location": "L338"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_ensure_homelab_node_labels", "source_file": "jeannie", "source_location": "L432"}, {"language": "bash", "callee": "read", "caller_nid": "$graphify-root$_jeannie_ensure_homelab_node_labels", "source_file": "jeannie", "source_location": "L433"}, {"language": "bash", "callee": "continue", "caller_nid": "$graphify-root$_jeannie_ensure_homelab_node_labels", "source_file": "jeannie", "source_location": "L434"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_ensure_homelab_node_labels", "source_file": "jeannie", "source_location": "L437"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_ensure_homelab_node_labels", "source_file": "jeannie", "source_location": "L467"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_delete_prometheus_stack_storage", "source_file": "jeannie", "source_location": "L477"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_jeannie_delete_prometheus_stack_storage", "source_file": "jeannie", "source_location": "L478"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_delete_prometheus_stack_storage", "source_file": "jeannie", "source_location": "L484"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_delete_prometheus_stack_storage", "source_file": "jeannie", "source_location": "L485"}, {"language": "bash", "callee": "xargs", "caller_nid": "$graphify-root$_jeannie_delete_prometheus_stack_storage", "source_file": "jeannie", "source_location": "L486"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_run_tofu_stack", "source_file": "jeannie", "source_location": "L512"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_run_tofu_stack", "source_file": "jeannie", "source_location": "L513"}, {"language": "bash", "callee": "tofu", "caller_nid": "$graphify-root$_jeannie_run_tofu_stack", "source_file": "jeannie", "source_location": "L520"}, {"language": "bash", "callee": "tofu", "caller_nid": "$graphify-root$_jeannie_run_tofu_plan_stack", "source_file": "jeannie", "source_location": "L544"}, {"language": "bash", "callee": "date", "caller_nid": "$graphify-root$_jeannie_backup_tofu_state", "source_file": "jeannie", "source_location": "L555"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_jeannie_backup_tofu_state", "source_file": "jeannie", "source_location": "L557"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_backup_tofu_state", "source_file": "jeannie", "source_location": "L579"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_backup_tofu_state", "source_file": "jeannie", "source_location": "L580"}, {"language": "bash", "callee": "tar", "caller_nid": "$graphify-root$_jeannie_backup_tofu_state", "source_file": "jeannie", "source_location": "L583"}, {"language": "bash", "callee": "chmod", "caller_nid": "$graphify-root$_jeannie_backup_tofu_state", "source_file": "jeannie", "source_location": "L584"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_jeannie_move_prometheus_stack_workers", "source_file": "jeannie", "source_location": "L597"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_move_prometheus_stack_workers", "source_file": "jeannie", "source_location": "L601"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_move_prometheus_stack_workers", "source_file": "jeannie", "source_location": "L607"}, {"language": "bash", "callee": "tofu", "caller_nid": "$graphify-root$_jeannie_move_prometheus_stack_workers", "source_file": "jeannie", "source_location": "L616"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_move_prometheus_stack_workers", "source_file": "jeannie", "source_location": "L621"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_doctor_versions_report", "source_file": "jeannie", "source_location": "L636"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_jeannie_doctor_versions_report", "source_file": "jeannie", "source_location": "L637"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_doctor_versions_report", "source_file": "jeannie", "source_location": "L639"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_jeannie_doctor_versions_report", "source_file": "jeannie", "source_location": "L639"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_doctor_versions_report", "source_file": "jeannie", "source_location": "L646"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_doctor_versions_report", "source_file": "jeannie", "source_location": "L647"}, {"language": "bash", "callee": "sort", "caller_nid": "$graphify-root$_jeannie_doctor_versions_report", "source_file": "jeannie", "source_location": "L663"}, {"language": "bash", "callee": "wc", "caller_nid": "$graphify-root$_jeannie_doctor_versions_report", "source_file": "jeannie", "source_location": "L664"}, {"language": "bash", "callee": "tr", "caller_nid": "$graphify-root$_jeannie_doctor_versions_report", "source_file": "jeannie", "source_location": "L665"}, {"language": "bash", "callee": "report_ui_begin", "caller_nid": "$graphify-root$_jeannie_doctor_versions_compact", "source_file": "jeannie", "source_location": "L712"}, {"language": "bash", "callee": "report_ui_emit", "caller_nid": "$graphify-root$_jeannie_doctor_versions_compact", "source_file": "jeannie", "source_location": "L715"}, {"language": "bash", "callee": "report_ui_render", "caller_nid": "$graphify-root$_jeannie_doctor_versions_compact", "source_file": "jeannie", "source_location": "L716"}, {"language": "bash", "callee": "report_ui_cleanup", "caller_nid": "$graphify-root$_jeannie_doctor_versions_compact", "source_file": "jeannie", "source_location": "L717"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_doctor_versions_compact", "source_file": "jeannie", "source_location": "L718"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_doctor_versions_compact", "source_file": "jeannie", "source_location": "L722"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_jeannie_doctor_versions_compact", "source_file": "jeannie", "source_location": "L723"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_doctor_versions_compact", "source_file": "jeannie", "source_location": "L725"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_jeannie_doctor_versions_compact", "source_file": "jeannie", "source_location": "L725"}, {"language": "bash", "callee": "sort", "caller_nid": "$graphify-root$_jeannie_doctor_versions_compact", "source_file": "jeannie", "source_location": "L741"}, {"language": "bash", "callee": "wc", "caller_nid": "$graphify-root$_jeannie_doctor_versions_compact", "source_file": "jeannie", "source_location": "L742"}, {"language": "bash", "callee": "tr", "caller_nid": "$graphify-root$_jeannie_doctor_versions_compact", "source_file": "jeannie", "source_location": "L743"}, {"language": "bash", "callee": "report_ui_parse_args", "caller_nid": "$graphify-root$_jeannie_doctor_versions", "source_file": "jeannie", "source_location": "L777"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_doctor_versions", "source_file": "jeannie", "source_location": "L778"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_doctor_versions", "source_file": "jeannie", "source_location": "L782"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_truthy", "source_file": "jeannie", "source_location": "L791"}, {"language": "bash", "callee": "tr", "caller_nid": "$graphify-root$_jeannie_truthy", "source_file": "jeannie", "source_location": "L791"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_truthy", "source_file": "jeannie", "source_location": "L794"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_disabled_value", "source_file": "jeannie", "source_location": "L805"}, {"language": "bash", "callee": "tr", "caller_nid": "$graphify-root$_jeannie_disabled_value", "source_file": "jeannie", "source_location": "L805"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_disabled_value", "source_file": "jeannie", "source_location": "L808"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_jeannie_log_start", "source_file": "jeannie", "source_location": "L821"}, {"language": "bash", "callee": "date", "caller_nid": "$graphify-root$_jeannie_jeannie_log_start", "source_file": "jeannie", "source_location": "L824"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_jeannie_jeannie_log_start", "source_file": "jeannie", "source_location": "L825"}, {"language": "bash", "callee": ":", "caller_nid": "$graphify-root$_jeannie_jeannie_log_start", "source_file": "jeannie", "source_location": "L828"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_jeannie_log_start", "source_file": "jeannie", "source_location": "L830"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_jeannie_step_prefix", "source_file": "jeannie", "source_location": "L847"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_jeannie_compact_text", "source_file": "jeannie", "source_location": "L859"}, {"language": "bash", "callee": "sed", "caller_nid": "$graphify-root$_jeannie_jeannie_compact_text", "source_file": "jeannie", "source_location": "L859"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_jeannie_step_progress", "source_file": "jeannie", "source_location": "L873"}, {"language": "bash", "callee": "tail", "caller_nid": "$graphify-root$_jeannie_jeannie_step_latest_progress_line", "source_file": "jeannie", "source_location": "L888"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_jeannie_step_latest_progress_line", "source_file": "jeannie", "source_location": "L888"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_jeannie_step_latest_progress_line", "source_file": "jeannie", "source_location": "L891"}, {"language": "bash", "callee": "sed", "caller_nid": "$graphify-root$_jeannie_redact_sensitive_output", "source_file": "jeannie", "source_location": "L895"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_jeannie_run_step", "source_file": "jeannie", "source_location": "L918"}, {"language": "bash", "callee": "mktemp", "caller_nid": "$graphify-root$_jeannie_run_step", "source_file": "jeannie", "source_location": "L923"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_run_step", "source_file": "jeannie", "source_location": "L926"}, {"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_jeannie_run_step", "source_file": "jeannie", "source_location": "L931"}, {"language": "bash", "callee": "tee", "caller_nid": "$graphify-root$_jeannie_run_step", "source_file": "jeannie", "source_location": "L932"}, {"language": "bash", "callee": "kill", "caller_nid": "$graphify-root$_jeannie_run_step", "source_file": "jeannie", "source_location": "L947"}, {"language": "bash", "callee": "sleep", "caller_nid": "$graphify-root$_jeannie_run_step", "source_file": "jeannie", "source_location": "L948"}, {"language": "bash", "callee": "wait", "caller_nid": "$graphify-root$_jeannie_run_step", "source_file": "jeannie", "source_location": "L959"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_run_step", "source_file": "jeannie", "source_location": "L959"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_jeannie_run_step", "source_file": "jeannie", "source_location": "L960"}, {"language": "bash", "callee": "rm", "caller_nid": "$graphify-root$_jeannie_run_step", "source_file": "jeannie", "source_location": "L970"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_run_step", "source_file": "jeannie", "source_location": "L971"}, {"language": "bash", "callee": "sed", "caller_nid": "$graphify-root$_jeannie_run_step", "source_file": "jeannie", "source_location": "L980"}, {"language": "bash", "callee": "continue", "caller_nid": "$graphify-root$_jeannie_worker_index_is_skipped", "source_file": "jeannie", "source_location": "L999"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_worker_index_is_skipped", "source_file": "jeannie", "source_location": "L1001"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_worker_index_is_skipped", "source_file": "jeannie", "source_location": "L1002"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_worker_index_is_skipped", "source_file": "jeannie", "source_location": "L1005"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_ensure_python3", "source_file": "jeannie", "source_location": "L1013"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_ensure_python3", "source_file": "jeannie", "source_location": "L1014"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_ensure_python3", "source_file": "jeannie", "source_location": "L1017"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_ensure_go_toolchain", "source_file": "jeannie", "source_location": "L1024"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_ensure_go_toolchain", "source_file": "jeannie", "source_location": "L1025"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_ensure_go_toolchain", "source_file": "jeannie", "source_location": "L1028"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_ensure_go_toolchain", "source_file": "jeannie", "source_location": "L1029"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_ensure_go_toolchain", "source_file": "jeannie", "source_location": "L1034"}, {"language": "bash", "callee": "ip", "caller_nid": "$graphify-root$_jeannie_detect_route_interface", "source_file": "jeannie", "source_location": "L1041"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_jeannie_detect_route_interface", "source_file": "jeannie", "source_location": "L1041"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_jeannie_pimox_ssh", "source_file": "jeannie", "source_location": "L1058"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_jeannie_pimox_ssh", "source_file": "jeannie", "source_location": "L1059"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_pimox_guest_ipv4", "source_file": "jeannie", "source_location": "L1071"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_pimox_guest_ipv4", "source_file": "jeannie", "source_location": "L1073"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_jeannie_pimox_guest_ipv4", "source_file": "jeannie", "source_location": "L1076"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_jeannie_pimox_worker_vm_debug", "source_file": "jeannie", "source_location": "L1111"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_pimox_worker_vm_debug", "source_file": "jeannie", "source_location": "L1127"}, {"language": "bash", "callee": "base64", "caller_nid": "$graphify-root$_jeannie_pimox_worker_vm_debug", "source_file": "jeannie", "source_location": "L1127"}, {"language": "bash", "callee": "tr", "caller_nid": "$graphify-root$_jeannie_pimox_worker_vm_debug", "source_file": "jeannie", "source_location": "L1127"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_pimox_worker_vm_debug", "source_file": "jeannie", "source_location": "L1136"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_jeannie_pimox_worker_guest_agent_recovery_hint", "source_file": "jeannie", "source_location": "L1145"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_jeannie_pimox_guest_exec_exitcode", "source_file": "jeannie", "source_location": "L1164"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_jeannie_pimox_worker_guest_ssh_repair", "source_file": "jeannie", "source_location": "L1192"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_pimox_worker_guest_ssh_repair", "source_file": "jeannie", "source_location": "L1230"}, {"language": "bash", "callee": "base64", "caller_nid": "$graphify-root$_jeannie_pimox_worker_guest_ssh_repair", "source_file": "jeannie", "source_location": "L1230"}, {"language": "bash", "callee": "tr", "caller_nid": "$graphify-root$_jeannie_pimox_worker_guest_ssh_repair", "source_file": "jeannie", "source_location": "L1230"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_pimox_worker_guest_ssh_repair", "source_file": "jeannie", "source_location": "L1232"}, {"language": "bash", "callee": "sed", "caller_nid": "$graphify-root$_jeannie_pimox_worker_guest_ssh_repair", "source_file": "jeannie", "source_location": "L1233"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_pimox_worker_guest_ssh_repair", "source_file": "jeannie", "source_location": "L1234"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_wait_for_pimox_guest_ssh", "source_file": "jeannie", "source_location": "L1282"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_wait_for_pimox_guest_ssh", "source_file": "jeannie", "source_location": "L1283"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_jeannie_wait_for_pimox_guest_ssh", "source_file": "jeannie", "source_location": "L1293"}, {"language": "bash", "callee": "touch", "caller_nid": "$graphify-root$_jeannie_wait_for_pimox_guest_ssh", "source_file": "jeannie", "source_location": "L1294"}, {"language": "bash", "callee": "chmod", "caller_nid": "$graphify-root$_jeannie_wait_for_pimox_guest_ssh", "source_file": "jeannie", "source_location": "L1295"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_wait_for_pimox_guest_ssh", "source_file": "jeannie", "source_location": "L1300"}, {"language": "bash", "callee": "break", "caller_nid": "$graphify-root$_jeannie_wait_for_pimox_guest_ssh", "source_file": "jeannie", "source_location": "L1305"}, {"language": "bash", "callee": "ssh-keygen", "caller_nid": "$graphify-root$_jeannie_wait_for_pimox_guest_ssh", "source_file": "jeannie", "source_location": "L1309"}, {"language": "bash", "callee": "ping", "caller_nid": "$graphify-root$_jeannie_wait_for_pimox_guest_ssh", "source_file": "jeannie", "source_location": "L1313"}, {"language": "bash", "callee": "sleep", "caller_nid": "$graphify-root$_jeannie_wait_for_pimox_guest_ssh", "source_file": "jeannie", "source_location": "L1328"}, {"language": "bash", "callee": "continue", "caller_nid": "$graphify-root$_jeannie_wait_for_pimox_guest_ssh", "source_file": "jeannie", "source_location": "L1329"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_jeannie_wait_for_pimox_guest_ssh", "source_file": "jeannie", "source_location": "L1332"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_wait_for_pimox_guest_ssh", "source_file": "jeannie", "source_location": "L1333"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_pimox_generated_mac", "source_file": "jeannie", "source_location": "L1390"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_pimox_worker_static_ip", "source_file": "jeannie", "source_location": "L1405"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_pimox_worker_static_ip", "source_file": "jeannie", "source_location": "L1406"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_pimox_worker_net0_config", "source_file": "jeannie", "source_location": "L1422"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_pimox_worker_net0_config", "source_file": "jeannie", "source_location": "L1429"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_pimox_worker_net0_config", "source_file": "jeannie", "source_location": "L1430"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_configure_pimox_worker_guest_network", "source_file": "jeannie", "source_location": "L1463"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_configure_pimox_worker_guest_network", "source_file": "jeannie", "source_location": "L1464"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_jeannie_configure_pimox_worker_guest_network", "source_file": "jeannie", "source_location": "L1496"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_configure_pimox_worker_guest_network", "source_file": "jeannie", "source_location": "L1573"}, {"language": "bash", "callee": "base64", "caller_nid": "$graphify-root$_jeannie_configure_pimox_worker_guest_network", "source_file": "jeannie", "source_location": "L1573"}, {"language": "bash", "callee": "tr", "caller_nid": "$graphify-root$_jeannie_configure_pimox_worker_guest_network", "source_file": "jeannie", "source_location": "L1573"}, {"language": "bash", "callee": "sed", "caller_nid": "$graphify-root$_jeannie_configure_pimox_worker_guest_network", "source_file": "jeannie", "source_location": "L1578"}, {"language": "bash", "callee": "sleep", "caller_nid": "$graphify-root$_jeannie_configure_pimox_worker_guest_network", "source_file": "jeannie", "source_location": "L1588"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_configure_pimox_worker_forwarding", "source_file": "jeannie", "source_location": "L1609"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_configure_pimox_worker_forwarding", "source_file": "jeannie", "source_location": "L1612"}, {"language": "bash", "callee": "read", "caller_nid": "$graphify-root$_jeannie_cpuset_cpu_count", "source_file": "jeannie", "source_location": "L1696"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_cpuset_cpu_count", "source_file": "jeannie", "source_location": "L1702"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_cpuset_cpu_count", "source_file": "jeannie", "source_location": "L1712"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_pimox_worker_cpu_affinity", "source_file": "jeannie", "source_location": "L1726"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_pimox_worker_cpu_affinity", "source_file": "jeannie", "source_location": "L1727"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_pimox_worker_cpu_affinity", "source_file": "jeannie", "source_location": "L1733"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_pimox_worker_cpu_affinity", "source_file": "jeannie", "source_location": "L1734"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_pimox_start_vm_with_cpuset", "source_file": "jeannie", "source_location": "L1753"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_pimox_start_vm_with_cpuset", "source_file": "jeannie", "source_location": "L1756"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_pimox_start_vm_with_cpuset", "source_file": "jeannie", "source_location": "L1757"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_jeannie_pimox_guest_cpu_count", "source_file": "jeannie", "source_location": "L1827"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_ensure_pimox_worker_node", "source_file": "jeannie", "source_location": "L1875"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_ensure_pimox_worker_node", "source_file": "jeannie", "source_location": "L1881"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_ensure_pimox_worker_node", "source_file": "jeannie", "source_location": "L1885"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_ensure_pimox_worker_node", "source_file": "jeannie", "source_location": "L2059"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_jeannie_write_cluster_worker_var_file", "source_file": "jeannie", "source_location": "L2084"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_jeannie_write_cluster_worker_var_file", "source_file": "jeannie", "source_location": "L2086"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_jeannie_prepare_cluster_worker_var_file", "source_file": "jeannie", "source_location": "L2162"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_prepare_cluster_worker_var_file", "source_file": "jeannie", "source_location": "L2167"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_prepare_cluster_worker_var_file", "source_file": "jeannie", "source_location": "L2168"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_ensure_static_pimox_worker_spec_file", "source_file": "jeannie", "source_location": "L2192"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_ensure_static_pimox_worker_spec_file", "source_file": "jeannie", "source_location": "L2195"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_jeannie_ensure_static_pimox_worker_spec_file", "source_file": "jeannie", "source_location": "L2202"}, {"language": "bash", "callee": ":", "caller_nid": "$graphify-root$_jeannie_ensure_static_pimox_worker_spec_file", "source_file": "jeannie", "source_location": "L2203"}, {"language": "bash", "callee": "continue", "caller_nid": "$graphify-root$_jeannie_ensure_static_pimox_worker_spec_file", "source_file": "jeannie", "source_location": "L2206"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_ensure_static_pimox_worker_spec_file", "source_file": "jeannie", "source_location": "L2212"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_cluster_worker_var_file_has_workers", "source_file": "jeannie", "source_location": "L2222"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_jeannie_cluster_worker_var_file_has_workers", "source_file": "jeannie", "source_location": "L2223"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_jeannie_preflight_check", "source_file": "jeannie", "source_location": "L2236"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_preflight_check", "source_file": "jeannie", "source_location": "L2238"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_preflight_check", "source_file": "jeannie", "source_location": "L2241"}, {"language": "bash", "callee": "sed", "caller_nid": "$graphify-root$_jeannie_preflight_check", "source_file": "jeannie", "source_location": "L2246"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_jeannie_preflight_warn", "source_file": "jeannie", "source_location": "L2254"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_preflight_warn", "source_file": "jeannie", "source_location": "L2256"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_preflight_warn", "source_file": "jeannie", "source_location": "L2259"}, {"language": "bash", "callee": "sed", "caller_nid": "$graphify-root$_jeannie_preflight_warn", "source_file": "jeannie", "source_location": "L2264"}, {"language": "bash", "callee": "curl", "caller_nid": "$graphify-root$_jeannie_check_gitea_reachable", "source_file": "jeannie", "source_location": "L2273"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_check_gitea_reachable", "source_file": "jeannie", "source_location": "L2274"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_check_gitea_reachable", "source_file": "jeannie", "source_location": "L2277"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_jeannie_check_gitea_reachable", "source_file": "jeannie", "source_location": "L2278"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_check_debian_docker_root", "source_file": "jeannie", "source_location": "L2289"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_check_debian_docker_root", "source_file": "jeannie", "source_location": "L2290"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_check_debian_docker_root", "source_file": "jeannie", "source_location": "L2291"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_check_debian_docker_root", "source_file": "jeannie", "source_location": "L2293"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_fix_debian_docker_root", "source_file": "jeannie", "source_location": "L2307"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_fix_debian_docker_root", "source_file": "jeannie", "source_location": "L2308"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_fix_debian_docker_root", "source_file": "jeannie", "source_location": "L2309"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_fix_debian_docker_root", "source_file": "jeannie", "source_location": "L2312"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_fix_debian_docker_root", "source_file": "jeannie", "source_location": "L2312"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_fix_debian_docker_root", "source_file": "jeannie", "source_location": "L2315"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_check_debian_tailscale_ip", "source_file": "jeannie", "source_location": "L2358"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_check_debian_tailscale_ip", "source_file": "jeannie", "source_location": "L2360"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_check_debian_tailscale_ip", "source_file": "jeannie", "source_location": "L2361"}, {"language": "bash", "callee": "tailscale", "caller_nid": "$graphify-root$_jeannie_check_debian_tailscale_ip", "source_file": "jeannie", "source_location": "L2364"}, {"language": "bash", "callee": "grep", "caller_nid": "$graphify-root$_jeannie_check_debian_tailscale_ip", "source_file": "jeannie", "source_location": "L2364"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_check_debian_tailscale_ip", "source_file": "jeannie", "source_location": "L2366"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_jeannie_check_edge_ssh", "source_file": "jeannie", "source_location": "L2375"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_jeannie_check_rpi_ssh", "source_file": "jeannie", "source_location": "L2383"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_jeannie_check_rpi_docker_root_state", "source_file": "jeannie", "source_location": "L2393"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_check_rpi_tailscale_ip", "source_file": "jeannie", "source_location": "L2414"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_jeannie_check_rpi_tailscale_ip", "source_file": "jeannie", "source_location": "L2416"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_check_pimox_storage", "source_file": "jeannie", "source_location": "L2427"}, {"language": "bash", "callee": "df", "caller_nid": "$graphify-root$_jeannie_check_local_disk_free_gib", "source_file": "jeannie", "source_location": "L2448"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_jeannie_check_local_disk_free_gib", "source_file": "jeannie", "source_location": "L2448"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_check_local_disk_free_gib", "source_file": "jeannie", "source_location": "L2451"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_check_local_disk_free_gib", "source_file": "jeannie", "source_location": "L2452"}, {"language": "bash", "callee": "systemctl", "caller_nid": "$graphify-root$_jeannie_check_systemd_active", "source_file": "jeannie", "source_location": "L2459"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_jeannie_check_rpi_docker_writable", "source_file": "jeannie", "source_location": "L2467"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_jeannie_check_edge_disk_free", "source_file": "jeannie", "source_location": "L2479"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_check_pihole_dns_query", "source_file": "jeannie", "source_location": "L2493"}, {"language": "bash", "callee": "dig", "caller_nid": "$graphify-root$_jeannie_check_pihole_dns_query", "source_file": "jeannie", "source_location": "L2494"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_check_pihole_dns_query", "source_file": "jeannie", "source_location": "L2495"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_check_pihole_dns_query", "source_file": "jeannie", "source_location": "L2496"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_check_pihole_dns_query", "source_file": "jeannie", "source_location": "L2497"}, {"language": "bash", "callee": "nslookup", "caller_nid": "$graphify-root$_jeannie_check_pihole_dns_query", "source_file": "jeannie", "source_location": "L2506"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_homelab_preflight", "source_file": "jeannie", "source_location": "L2521"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_homelab_preflight", "source_file": "jeannie", "source_location": "L2522"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_homelab_preflight", "source_file": "jeannie", "source_location": "L2530"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_doctor_preapply", "source_file": "jeannie", "source_location": "L2560"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_doctor_preapply", "source_file": "jeannie", "source_location": "L2572"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_run_pimox_pipeline", "source_file": "jeannie", "source_location": "L2626"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_run_pimox_pipeline", "source_file": "jeannie", "source_location": "L2634"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_run_pimox_pipeline", "source_file": "jeannie", "source_location": "L2635"}, {"language": "bash", "callee": "continue", "caller_nid": "$graphify-root$_jeannie_run_pimox_pipeline", "source_file": "jeannie", "source_location": "L2652"}, {"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_jeannie_run_pimox_pipeline", "source_file": "jeannie", "source_location": "L2688"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_jeannie_run_pimox_pipeline", "source_file": "jeannie", "source_location": "L2764"}, {"language": "bash", "callee": ":", "caller_nid": "$graphify-root$_jeannie_run_pimox_pipeline", "source_file": "jeannie", "source_location": "L2765"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_run_openwrt_pipeline", "source_file": "jeannie", "source_location": "L2832"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_run_openwrt_pipeline", "source_file": "jeannie", "source_location": "L2835"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_run_openwrt_pipeline", "source_file": "jeannie", "source_location": "L2836"}, {"language": "bash", "callee": "base64", "caller_nid": "$graphify-root$_jeannie_run_openwrt_pipeline", "source_file": "jeannie", "source_location": "L2880"}, {"language": "bash", "callee": "tr", "caller_nid": "$graphify-root$_jeannie_run_openwrt_pipeline", "source_file": "jeannie", "source_location": "L2880"}, {"language": "bash", "callee": "ip", "caller_nid": "$graphify-root$_jeannie_cleanup_calico_links", "source_file": "jeannie", "source_location": "L3148"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_jeannie_cleanup_calico_links", "source_file": "jeannie", "source_location": "L3148"}, {"language": "bash", "callee": "cut", "caller_nid": "$graphify-root$_jeannie_cleanup_calico_links", "source_file": "jeannie", "source_location": "L3148"}, {"language": "bash", "callee": "xargs", "caller_nid": "$graphify-root$_jeannie_cleanup_calico_links", "source_file": "jeannie", "source_location": "L3148"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_cleanup_calico_links", "source_file": "jeannie", "source_location": "L3148"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_cleanup_calico_links", "source_file": "jeannie", "source_location": "L3149"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_cleanup_iptables", "source_file": "jeannie", "source_location": "L3157"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_cleanup_iptables", "source_file": "jeannie", "source_location": "L3157"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_cleanup_iptables", "source_file": "jeannie", "source_location": "L3165"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_cleanup_calico_runtime_files", "source_file": "jeannie", "source_location": "L3174"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_cleanup_calico_runtime_files", "source_file": "jeannie", "source_location": "L3175"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_restore_node_dns", "source_file": "jeannie", "source_location": "L3182"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_restore_node_dns", "source_file": "jeannie", "source_location": "L3187"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_cleanup_mounts", "source_file": "jeannie", "source_location": "L3191"}, {"language": "bash", "callee": "read", "caller_nid": "$graphify-root$_jeannie_cleanup_mounts", "source_file": "jeannie", "source_location": "L3193"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_cleanup_mounts", "source_file": "jeannie", "source_location": "L3194"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_cleanup_mounts", "source_file": "jeannie", "source_location": "L3194"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_cleanup_node", "source_file": "jeannie", "source_location": "L3208"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_cleanup_node", "source_file": "jeannie", "source_location": "L3208"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_image_ref_tag", "source_file": "jeannie", "source_location": "L3246"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_image_ref_tag", "source_file": "jeannie", "source_location": "L3247"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_image_ref_tag", "source_file": "jeannie", "source_location": "L3250"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_website_image_tag", "source_file": "jeannie", "source_location": "L3256"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_apps_registry_endpoint", "source_file": "jeannie", "source_location": "L3261"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_apps_registry_endpoint", "source_file": "jeannie", "source_location": "L3262"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_jeannie_demos_registry_endpoint", "source_file": "jeannie", "source_location": "L3271"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_demos_registry_endpoint", "source_file": "jeannie", "source_location": "L3273"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_demos_registry_endpoint", "source_file": "jeannie", "source_location": "L3274"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_demos_registry_endpoint", "source_file": "jeannie", "source_location": "L3277"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_jeannie_website_source_hash", "source_file": "jeannie", "source_location": "L3282"}, {"language": "bash", "callee": "find", "caller_nid": "$graphify-root$_jeannie_website_source_hash", "source_file": "jeannie", "source_location": "L3283"}, {"language": "bash", "callee": "sort", "caller_nid": "$graphify-root$_jeannie_website_source_hash", "source_file": "jeannie", "source_location": "L3283"}, {"language": "bash", "callee": "xargs", "caller_nid": "$graphify-root$_jeannie_website_source_hash", "source_file": "jeannie", "source_location": "L3283"}, {"language": "bash", "callee": "sha256sum", "caller_nid": "$graphify-root$_jeannie_website_source_hash", "source_file": "jeannie", "source_location": "L3283"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_jeannie_website_source_hash", "source_file": "jeannie", "source_location": "L3283"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_jeannie_demos_source_hash", "source_file": "jeannie", "source_location": "L3289"}, {"language": "bash", "callee": "find", "caller_nid": "$graphify-root$_jeannie_demos_source_hash", "source_file": "jeannie", "source_location": "L3290"}, {"language": "bash", "callee": "sort", "caller_nid": "$graphify-root$_jeannie_demos_source_hash", "source_file": "jeannie", "source_location": "L3290"}, {"language": "bash", "callee": "xargs", "caller_nid": "$graphify-root$_jeannie_demos_source_hash", "source_file": "jeannie", "source_location": "L3290"}, {"language": "bash", "callee": "sha256sum", "caller_nid": "$graphify-root$_jeannie_demos_source_hash", "source_file": "jeannie", "source_location": "L3290"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_jeannie_demos_source_hash", "source_file": "jeannie", "source_location": "L3290"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_registry_image_exists", "source_file": "jeannie", "source_location": "L3300"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_registry_image_exists", "source_file": "jeannie", "source_location": "L3301"}, {"language": "bash", "callee": "curl", "caller_nid": "$graphify-root$_jeannie_registry_image_exists", "source_file": "jeannie", "source_location": "L3305"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_jeannie_image_state_value", "source_file": "jeannie", "source_location": "L3314"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_image_state_value", "source_file": "jeannie", "source_location": "L3314"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_website_image_is_current", "source_file": "jeannie", "source_location": "L3328"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_ensure_website_image_tag_not_reused", "source_file": "jeannie", "source_location": "L3349"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_ensure_website_image_tag_not_reused", "source_file": "jeannie", "source_location": "L3355"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_ensure_website_image_tag_not_reused", "source_file": "jeannie", "source_location": "L3357"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_demos_image_is_current", "source_file": "jeannie", "source_location": "L3371"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_jeannie_write_website_image_state", "source_file": "jeannie", "source_location": "L3390"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_write_website_image_state", "source_file": "jeannie", "source_location": "L3392"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_jeannie_write_demos_image_state", "source_file": "jeannie", "source_location": "L3404"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_write_demos_image_state", "source_file": "jeannie", "source_location": "L3406"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_jeannie_path_available_mb", "source_file": "jeannie", "source_location": "L3416"}, {"language": "bash", "callee": "df", "caller_nid": "$graphify-root$_jeannie_path_available_mb", "source_file": "jeannie", "source_location": "L3419"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_jeannie_path_available_mb", "source_file": "jeannie", "source_location": "L3419"}, {"language": "bash", "callee": "docker", "caller_nid": "$graphify-root$_jeannie_docker_root_dir", "source_file": "jeannie", "source_location": "L3423"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_docker_root_dir", "source_file": "jeannie", "source_location": "L3423"}, {"language": "bash", "callee": "docker", "caller_nid": "$graphify-root$_jeannie_prune_unused_docker_build_data", "source_file": "jeannie", "source_location": "L3427"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_prune_unused_docker_build_data", "source_file": "jeannie", "source_location": "L3427"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_ensure_docker_build_space", "source_file": "jeannie", "source_location": "L3443"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_ensure_docker_build_space", "source_file": "jeannie", "source_location": "L3446"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_ensure_docker_build_space", "source_file": "jeannie", "source_location": "L3454"}, {"language": "bash", "callee": "docker", "caller_nid": "$graphify-root$_jeannie_prepare_buildx_builder", "source_file": "jeannie", "source_location": "L3461"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_jeannie_prepare_buildx_builder", "source_file": "jeannie", "source_location": "L3463"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_prepare_buildx_builder", "source_file": "jeannie", "source_location": "L3475"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_ensure_cosign_available", "source_file": "jeannie", "source_location": "L3489"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_ensure_cosign_available", "source_file": "jeannie", "source_location": "L3491"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_ensure_cosign_available", "source_file": "jeannie", "source_location": "L3492"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_ensure_cosign_available", "source_file": "jeannie", "source_location": "L3495"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_jeannie_ensure_cosign_available", "source_file": "jeannie", "source_location": "L3525"}, {"language": "bash", "callee": "curl", "caller_nid": "$graphify-root$_jeannie_ensure_cosign_available", "source_file": "jeannie", "source_location": "L3529"}, {"language": "bash", "callee": "chmod", "caller_nid": "$graphify-root$_jeannie_ensure_cosign_available", "source_file": "jeannie", "source_location": "L3530"}, {"language": "bash", "callee": "mv", "caller_nid": "$graphify-root$_jeannie_ensure_cosign_available", "source_file": "jeannie", "source_location": "L3531"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_ensure_cosign_password", "source_file": "jeannie", "source_location": "L3537"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_jeannie_ensure_cosign_password", "source_file": "jeannie", "source_location": "L3546"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_ensure_cosign_password", "source_file": "jeannie", "source_location": "L3547"}, {"language": "bash", "callee": "openssl", "caller_nid": "$graphify-root$_jeannie_ensure_cosign_password", "source_file": "jeannie", "source_location": "L3548"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_jeannie_ensure_cosign_password", "source_file": "jeannie", "source_location": "L3550"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_ensure_cosign_password", "source_file": "jeannie", "source_location": "L3556"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_ensure_cosign_password", "source_file": "jeannie", "source_location": "L3557"}, {"language": "bash", "callee": "chmod", "caller_nid": "$graphify-root$_jeannie_ensure_cosign_password", "source_file": "jeannie", "source_location": "L3559"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_ensure_cosign_keypair", "source_file": "jeannie", "source_location": "L3576"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_ensure_cosign_keypair", "source_file": "jeannie", "source_location": "L3580"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_ensure_cosign_keypair", "source_file": "jeannie", "source_location": "L3581"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_jeannie_ensure_cosign_keypair", "source_file": "jeannie", "source_location": "L3584"}, {"language": "bash", "callee": "chmod", "caller_nid": "$graphify-root$_jeannie_ensure_cosign_keypair", "source_file": "jeannie", "source_location": "L3587"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_publish_cosign_public_key_config_map", "source_file": "jeannie", "source_location": "L3592"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_cosign_registry_flags", "source_file": "jeannie", "source_location": "L3606"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_image_supply_chain_metadata_exists", "source_file": "jeannie", "source_location": "L3617"}, {"language": "bash", "callee": "mapfile", "caller_nid": "$graphify-root$_jeannie_image_supply_chain_metadata_exists", "source_file": "jeannie", "source_location": "L3620"}, {"language": "bash", "callee": "docker", "caller_nid": "$graphify-root$_jeannie_write_image_sbom_predicate", "source_file": "jeannie", "source_location": "L3640"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_jeannie_write_image_sbom_predicate", "source_file": "jeannie", "source_location": "L3641"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_image_digest_ref", "source_file": "jeannie", "source_location": "L3707"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_image_digest_ref", "source_file": "jeannie", "source_location": "L3708"}, {"language": "bash", "callee": "docker", "caller_nid": "$graphify-root$_jeannie_image_digest_ref", "source_file": "jeannie", "source_location": "L3711"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_image_digest_ref", "source_file": "jeannie", "source_location": "L3713"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_publish_image_supply_chain_metadata", "source_file": "jeannie", "source_location": "L3734"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_publish_image_supply_chain_metadata", "source_file": "jeannie", "source_location": "L3735"}, {"language": "bash", "callee": "mapfile", "caller_nid": "$graphify-root$_jeannie_publish_image_supply_chain_metadata", "source_file": "jeannie", "source_location": "L3739"}, {"language": "bash", "callee": "mktemp", "caller_nid": "$graphify-root$_jeannie_publish_image_supply_chain_metadata", "source_file": "jeannie", "source_location": "L3740"}, {"language": "bash", "callee": "rm", "caller_nid": "$graphify-root$_jeannie_publish_image_supply_chain_metadata", "source_file": "jeannie", "source_location": "L3759"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_publish_image_supply_chain_metadata", "source_file": "jeannie", "source_location": "L3763"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_dump_argocd_debug", "source_file": "jeannie", "source_location": "L3770"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_dump_argocd_debug", "source_file": "jeannie", "source_location": "L3770"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_dump_namespace_debug", "source_file": "jeannie", "source_location": "L3780"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_dump_namespace_debug", "source_file": "jeannie", "source_location": "L3780"}, {"language": "bash", "callee": "tail", "caller_nid": "$graphify-root$_jeannie_dump_namespace_debug", "source_file": "jeannie", "source_location": "L3783"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_wait_for_namespace", "source_file": "jeannie", "source_location": "L3792"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_wait_for_namespace", "source_file": "jeannie", "source_location": "L3794"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_wait_for_namespace", "source_file": "jeannie", "source_location": "L3796"}, {"language": "bash", "callee": "sleep", "caller_nid": "$graphify-root$_jeannie_wait_for_namespace", "source_file": "jeannie", "source_location": "L3798"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_wait_for_namespaced_resource", "source_file": "jeannie", "source_location": "L3811"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_wait_for_namespaced_resource", "source_file": "jeannie", "source_location": "L3813"}, {"language": "bash", "callee": "tail", "caller_nid": "$graphify-root$_jeannie_wait_for_namespaced_resource", "source_file": "jeannie", "source_location": "L3815"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_wait_for_namespaced_resource", "source_file": "jeannie", "source_location": "L3815"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_wait_for_namespaced_resource", "source_file": "jeannie", "source_location": "L3816"}, {"language": "bash", "callee": "sleep", "caller_nid": "$graphify-root$_jeannie_wait_for_namespaced_resource", "source_file": "jeannie", "source_location": "L3818"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_wait_for_cluster_resource", "source_file": "jeannie", "source_location": "L3832"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_wait_for_cluster_resource", "source_file": "jeannie", "source_location": "L3833"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_wait_for_cluster_resource", "source_file": "jeannie", "source_location": "L3835"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_wait_for_cluster_resource", "source_file": "jeannie", "source_location": "L3837"}, {"language": "bash", "callee": "sleep", "caller_nid": "$graphify-root$_jeannie_wait_for_cluster_resource", "source_file": "jeannie", "source_location": "L3846"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_wait_for_deployment_ready", "source_file": "jeannie", "source_location": "L3860"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_wait_for_deployment_ready", "source_file": "jeannie", "source_location": "L3860"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_wait_for_deployment_ready", "source_file": "jeannie", "source_location": "L3866"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_wait_for_deployment_ready", "source_file": "jeannie", "source_location": "L3869"}, {"language": "bash", "callee": "sleep", "caller_nid": "$graphify-root$_jeannie_wait_for_deployment_ready", "source_file": "jeannie", "source_location": "L3871"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_deploy_gitea", "source_file": "jeannie", "source_location": "L3895"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_deploy_gitea", "source_file": "jeannie", "source_location": "L3899"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_deploy_gitea", "source_file": "jeannie", "source_location": "L3900"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_jeannie_deploy_gitea", "source_file": "jeannie", "source_location": "L3905"}, {"language": "bash", "callee": "scp", "caller_nid": "$graphify-root$_jeannie_deploy_gitea", "source_file": "jeannie", "source_location": "L3906"}, {"language": "bash", "callee": "dpkg-query", "caller_nid": "$graphify-root$_jeannie_install_missing_debian_packages", "source_file": "jeannie", "source_location": "L3989"}, {"language": "bash", "callee": "grep", "caller_nid": "$graphify-root$_jeannie_install_missing_debian_packages", "source_file": "jeannie", "source_location": "L3989"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_install_missing_debian_packages", "source_file": "jeannie", "source_location": "L3995"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_ensure_local_docker_compose", "source_file": "jeannie", "source_location": "L4006"}, {"language": "bash", "callee": "curl", "caller_nid": "$graphify-root$_jeannie_ensure_local_docker_compose", "source_file": "jeannie", "source_location": "L4008"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_ensure_local_docker_compose", "source_file": "jeannie", "source_location": "L4008"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_ensure_local_docker_compose", "source_file": "jeannie", "source_location": "L4010"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_ensure_local_docker_compose", "source_file": "jeannie", "source_location": "L4011"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_repair_local_docker_iptables", "source_file": "jeannie", "source_location": "L4021"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_repair_local_docker_iptables", "source_file": "jeannie", "source_location": "L4022"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_repair_local_docker_iptables", "source_file": "jeannie", "source_location": "L4025"}, {"language": "bash", "callee": "sleep", "caller_nid": "$graphify-root$_jeannie_repair_local_docker_iptables", "source_file": "jeannie", "source_location": "L4027"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_repair_local_docker_iptables", "source_file": "jeannie", "source_location": "L4034"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_repair_local_docker_iptables", "source_file": "jeannie", "source_location": "L4036"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_deploy_heimdall", "source_file": "jeannie", "source_location": "L4060"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_deploy_heimdall", "source_file": "jeannie", "source_location": "L4066"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_deploy_heimdall", "source_file": "jeannie", "source_location": "L4067"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_deploy_heimdall", "source_file": "jeannie", "source_location": "L4081"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_jeannie_deploy_heimdall", "source_file": "jeannie", "source_location": "L4101"}, {"language": "bash", "callee": "curl", "caller_nid": "$graphify-root$_jeannie_deploy_heimdall", "source_file": "jeannie", "source_location": "L4107"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_deploy_heimdall", "source_file": "jeannie", "source_location": "L4110"}, {"language": "bash", "callee": "sleep", "caller_nid": "$graphify-root$_jeannie_deploy_heimdall", "source_file": "jeannie", "source_location": "L4113"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_deploy_matrix", "source_file": "jeannie", "source_location": "L4136"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_deploy_matrix", "source_file": "jeannie", "source_location": "L4142"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_deploy_matrix", "source_file": "jeannie", "source_location": "L4143"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_deploy_matrix", "source_file": "jeannie", "source_location": "L4157"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_jeannie_deploy_matrix", "source_file": "jeannie", "source_location": "L4203"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_deploy_omniroute", "source_file": "jeannie", "source_location": "L4220"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_deploy_omniroute", "source_file": "jeannie", "source_location": "L4224"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_deploy_omniroute", "source_file": "jeannie", "source_location": "L4225"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_deploy_omniroute", "source_file": "jeannie", "source_location": "L4233"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_jeannie_deploy_omniroute", "source_file": "jeannie", "source_location": "L4245"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_deploy_hermes", "source_file": "jeannie", "source_location": "L4265"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_deploy_hermes", "source_file": "jeannie", "source_location": "L4271"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_deploy_hermes", "source_file": "jeannie", "source_location": "L4272"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_jeannie_deploy_hermes", "source_file": "jeannie", "source_location": "L4282"}, {"language": "bash", "callee": "curl", "caller_nid": "$graphify-root$_jeannie_deploy_hermes", "source_file": "jeannie", "source_location": "L4284"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_deploy_hermes", "source_file": "jeannie", "source_location": "L4286"}, {"language": "bash", "callee": "cp", "caller_nid": "$graphify-root$_jeannie_deploy_hermes", "source_file": "jeannie", "source_location": "L4287"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_jeannie_deploy_hermes", "source_file": "jeannie", "source_location": "L4299"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_deploy_hermes", "source_file": "jeannie", "source_location": "L4310"}, {"language": "bash", "callee": "docker", "caller_nid": "$graphify-root$_jeannie_deploy_hermes", "source_file": "jeannie", "source_location": "L4326"}, {"language": "bash", "callee": "grep", "caller_nid": "$graphify-root$_jeannie_deploy_hermes", "source_file": "jeannie", "source_location": "L4326"}, {"language": "bash", "callee": "systemctl", "caller_nid": "$graphify-root$_jeannie_deploy_hermes", "source_file": "jeannie", "source_location": "L4341"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_deploy_hermes", "source_file": "jeannie", "source_location": "L4342"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_deploy_rpi_services", "source_file": "jeannie", "source_location": "L4366"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_deploy_rpi_services", "source_file": "jeannie", "source_location": "L4370"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_deploy_rpi_services", "source_file": "jeannie", "source_location": "L4371"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_jeannie_deploy_rpi_services", "source_file": "jeannie", "source_location": "L4384"}, {"language": "bash", "callee": "scp", "caller_nid": "$graphify-root$_jeannie_deploy_rpi_services", "source_file": "jeannie", "source_location": "L4385"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_gitea_bootstrap_password", "source_file": "jeannie", "source_location": "L4409"}, {"language": "bash", "callee": "openssl", "caller_nid": "$graphify-root$_jeannie_gitea_bootstrap_password", "source_file": "jeannie", "source_location": "L4410"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_gitea_bootstrap_password", "source_file": "jeannie", "source_location": "L4411"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_jeannie_gitea_bootstrap_password", "source_file": "jeannie", "source_location": "L4414"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_gitea_api_base_url", "source_file": "jeannie", "source_location": "L4428"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_gitea_api_base_url", "source_file": "jeannie", "source_location": "L4429"}, {"language": "bash", "callee": "curl", "caller_nid": "$graphify-root$_jeannie_gitea_api_base_url", "source_file": "jeannie", "source_location": "L4433"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_gitea_api_base_url", "source_file": "jeannie", "source_location": "L4439"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_gitea_api_base_url", "source_file": "jeannie", "source_location": "L4440"}, {"language": "bash", "callee": "curl", "caller_nid": "$graphify-root$_jeannie_gitea_repo_exists", "source_file": "jeannie", "source_location": "L4451"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_gitea_repo_exists", "source_file": "jeannie", "source_location": "L4454"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_gitea_repo_exists", "source_file": "jeannie", "source_location": "L4460"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_gitea_repo_exists", "source_file": "jeannie", "source_location": "L4461"}, {"language": "bash", "callee": "curl", "caller_nid": "$graphify-root$_jeannie_gitea_branch_exists", "source_file": "jeannie", "source_location": "L4479"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_gitea_branch_exists", "source_file": "jeannie", "source_location": "L4482"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_gitea_branch_exists", "source_file": "jeannie", "source_location": "L4488"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_gitea_branch_exists", "source_file": "jeannie", "source_location": "L4489"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_jeannie_create_gitea_repo", "source_file": "jeannie", "source_location": "L4506"}, {"language": "bash", "callee": "curl", "caller_nid": "$graphify-root$_jeannie_create_gitea_repo", "source_file": "jeannie", "source_location": "L4521"}, {"language": "bash", "callee": "curl", "caller_nid": "$graphify-root$_jeannie_gitea_public_key_registered", "source_file": "jeannie", "source_location": "L4539"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_jeannie_gitea_public_key_registered", "source_file": "jeannie", "source_location": "L4542"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_jeannie_create_gitea_repo_deploy_key", "source_file": "jeannie", "source_location": "L4571"}, {"language": "bash", "callee": "curl", "caller_nid": "$graphify-root$_jeannie_create_gitea_repo_deploy_key", "source_file": "jeannie", "source_location": "L4586"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_ensure_gitea_repo_ssh_access", "source_file": "jeannie", "source_location": "L4612"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_ensure_gitea_repo_ssh_access", "source_file": "jeannie", "source_location": "L4613"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_jeannie_ensure_gitea_repo_ssh_access", "source_file": "jeannie", "source_location": "L4616"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_jeannie_ensure_gitea_repo_ssh_access", "source_file": "jeannie", "source_location": "L4618"}, {"language": "bash", "callee": "chmod", "caller_nid": "$graphify-root$_jeannie_ensure_gitea_repo_ssh_access", "source_file": "jeannie", "source_location": "L4619"}, {"language": "bash", "callee": "ssh-keygen", "caller_nid": "$graphify-root$_jeannie_ensure_gitea_repo_ssh_access", "source_file": "jeannie", "source_location": "L4622"}, {"language": "bash", "callee": "touch", "caller_nid": "$graphify-root$_jeannie_ensure_gitea_repo_ssh_access", "source_file": "jeannie", "source_location": "L4645"}, {"language": "bash", "callee": "ssh-keyscan", "caller_nid": "$graphify-root$_jeannie_ensure_gitea_repo_ssh_access", "source_file": "jeannie", "source_location": "L4648"}, {"language": "bash", "callee": "git", "caller_nid": "$graphify-root$_jeannie_ensure_gitea_repo_ssh_access", "source_file": "jeannie", "source_location": "L4652"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_bootstrap_gitea_repo", "source_file": "jeannie", "source_location": "L4692"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_bootstrap_gitea_repo", "source_file": "jeannie", "source_location": "L4699"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_bootstrap_gitea_repo", "source_file": "jeannie", "source_location": "L4700"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_jeannie_bootstrap_gitea_repo", "source_file": "jeannie", "source_location": "L4722"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_jeannie_bootstrap_gitea_repo", "source_file": "jeannie", "source_location": "L4723"}, {"language": "bash", "callee": "chmod", "caller_nid": "$graphify-root$_jeannie_bootstrap_gitea_repo", "source_file": "jeannie", "source_location": "L4724"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_bootstrap_gitea_repo", "source_file": "jeannie", "source_location": "L4726"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_jeannie_bootstrap_gitea_repo", "source_file": "jeannie", "source_location": "L4752"}, {"language": "bash", "callee": "git", "caller_nid": "$graphify-root$_jeannie_bootstrap_gitea_repo", "source_file": "jeannie", "source_location": "L4818"}, {"language": "bash", "callee": "mktemp", "caller_nid": "$graphify-root$_jeannie_bootstrap_gitea_repo", "source_file": "jeannie", "source_location": "L4832"}, {"language": "bash", "callee": "trap", "caller_nid": "$graphify-root$_jeannie_bootstrap_gitea_repo", "source_file": "jeannie", "source_location": "L4833"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_jeannie_bootstrap_gitea_repo", "source_file": "jeannie", "source_location": "L4834"}, {"language": "bash", "callee": "rm", "caller_nid": "$graphify-root$_jeannie_bootstrap_gitea_repo", "source_file": "jeannie", "source_location": "L4846"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_install_gitea_backup_timer", "source_file": "jeannie", "source_location": "L4877"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_backup_gitea", "source_file": "jeannie", "source_location": "L5066"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_drill_gitea_restore", "source_file": "jeannie", "source_location": "L5073"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_install_gitea_runner", "source_file": "jeannie", "source_location": "L5097"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_install_gitea_runner", "source_file": "jeannie", "source_location": "L5098"}, {"language": "bash", "callee": "dpkg-query", "caller_nid": "$graphify-root$_jeannie_install_gitea_runner", "source_file": "jeannie", "source_location": "L5103"}, {"language": "bash", "callee": "grep", "caller_nid": "$graphify-root$_jeannie_install_gitea_runner", "source_file": "jeannie", "source_location": "L5103"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_install_gitea_runner", "source_file": "jeannie", "source_location": "L5108"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_recreate_pods_for_selector", "source_file": "jeannie", "source_location": "L5169"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_recreate_pods_for_selector", "source_file": "jeannie", "source_location": "L5170"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_recreate_pods_for_selector", "source_file": "jeannie", "source_location": "L5173"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_refresh_argocd_application", "source_file": "jeannie", "source_location": "L5180"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_website_translation_model", "source_file": "jeannie", "source_location": "L5189"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_website_translation_model", "source_file": "jeannie", "source_location": "L5190"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_website_translation_model", "source_file": "jeannie", "source_location": "L5191"}, {"language": "bash", "callee": "ollama", "caller_nid": "$graphify-root$_jeannie_website_translation_model", "source_file": "jeannie", "source_location": "L5200"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_jeannie_website_translation_model", "source_file": "jeannie", "source_location": "L5202"}, {"language": "bash", "callee": "systemctl", "caller_nid": "$graphify-root$_jeannie_website_ollama_listen", "source_file": "jeannie", "source_location": "L5223"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_website_ollama_listen", "source_file": "jeannie", "source_location": "L5224"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_website_ollama_listen", "source_file": "jeannie", "source_location": "L5225"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_website_ollama_listen", "source_file": "jeannie", "source_location": "L5229"}, {"language": "bash", "callee": "id", "caller_nid": "$graphify-root$_jeannie_website_ollama_listen", "source_file": "jeannie", "source_location": "L5231"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_website_ollama_listen", "source_file": "jeannie", "source_location": "L5234"}, {"language": "bash", "callee": "curl", "caller_nid": "$graphify-root$_jeannie_website_ollama_listen", "source_file": "jeannie", "source_location": "L5241"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_website_ollama_listen", "source_file": "jeannie", "source_location": "L5246"}, {"language": "bash", "callee": "sleep", "caller_nid": "$graphify-root$_jeannie_website_ollama_listen", "source_file": "jeannie", "source_location": "L5249"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_ollama_linux_arch", "source_file": "jeannie", "source_location": "L5257"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_ollama_linux_arch", "source_file": "jeannie", "source_location": "L5263"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_ollama_linux_arch", "source_file": "jeannie", "source_location": "L5264"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_ollama_write_systemd_service", "source_file": "jeannie", "source_location": "L5270"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_ollama_install_from_tgz", "source_file": "jeannie", "source_location": "L5292"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_ollama_install_from_tgz", "source_file": "jeannie", "source_location": "L5293"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_ollama_install_from_tgz", "source_file": "jeannie", "source_location": "L5297"}, {"language": "bash", "callee": "id", "caller_nid": "$graphify-root$_jeannie_ollama_install_from_tgz", "source_file": "jeannie", "source_location": "L5298"}, {"language": "bash", "callee": "getent", "caller_nid": "$graphify-root$_jeannie_ollama_install_from_tgz", "source_file": "jeannie", "source_location": "L5301"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_ollama_setup", "source_file": "jeannie", "source_location": "L5325"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_ollama_setup", "source_file": "jeannie", "source_location": "L5326"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_ollama_setup", "source_file": "jeannie", "source_location": "L5327"}, {"language": "bash", "callee": "mktemp", "caller_nid": "$graphify-root$_jeannie_ollama_setup", "source_file": "jeannie", "source_location": "L5338"}, {"language": "bash", "callee": "curl", "caller_nid": "$graphify-root$_jeannie_ollama_setup", "source_file": "jeannie", "source_location": "L5339"}, {"language": "bash", "callee": "rm", "caller_nid": "$graphify-root$_jeannie_ollama_setup", "source_file": "jeannie", "source_location": "L5340"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_ollama_setup", "source_file": "jeannie", "source_location": "L5341"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_jeannie_ollama_setup", "source_file": "jeannie", "source_location": "L5342"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_ollama_setup", "source_file": "jeannie", "source_location": "L5357"}, {"language": "bash", "callee": "ollama", "caller_nid": "$graphify-root$_jeannie_ollama_setup", "source_file": "jeannie", "source_location": "L5367"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_jeannie_ollama_setup", "source_file": "jeannie", "source_location": "L5367"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_require_argocd_application_controller", "source_file": "jeannie", "source_location": "L5381"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_require_argocd_application_controller", "source_file": "jeannie", "source_location": "L5382"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_require_argocd_application_controller", "source_file": "jeannie", "source_location": "L5383"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_require_argocd_application_controller", "source_file": "jeannie", "source_location": "L5385"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_require_pimox_app_worker_capacity", "source_file": "jeannie", "source_location": "L5411"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_require_pimox_app_worker_capacity", "source_file": "jeannie", "source_location": "L5412"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_require_pimox_app_worker_capacity", "source_file": "jeannie", "source_location": "L5420"}, {"language": "bash", "callee": "read", "caller_nid": "$graphify-root$_jeannie_require_pimox_app_worker_capacity", "source_file": "jeannie", "source_location": "L5423"}, {"language": "bash", "callee": "continue", "caller_nid": "$graphify-root$_jeannie_require_pimox_app_worker_capacity", "source_file": "jeannie", "source_location": "L5424"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_require_pimox_app_worker_capacity", "source_file": "jeannie", "source_location": "L5425"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_require_pimox_app_worker_capacity", "source_file": "jeannie", "source_location": "L5425"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_apps", "source_file": "jeannie", "source_location": "L5479"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_apps", "source_file": "jeannie", "source_location": "L5480"}, {"language": "bash", "callee": "docker", "caller_nid": "$graphify-root$_jeannie_apps", "source_file": "jeannie", "source_location": "L5522"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_ensure_edge_tailscale_routes", "source_file": "jeannie", "source_location": "L5631"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_ensure_edge_tailscale_routes", "source_file": "jeannie", "source_location": "L5634"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_ensure_edge_tailscale_routes", "source_file": "jeannie", "source_location": "L5635"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_ensure_edge_tailscale_routes", "source_file": "jeannie", "source_location": "L5649"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_ensure_edge_tailscale_routes", "source_file": "jeannie", "source_location": "L5653"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_ensure_edge_tailscale_routes", "source_file": "jeannie", "source_location": "L5654"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_jeannie_ensure_edge_tailscale_routes", "source_file": "jeannie", "source_location": "L5660"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_edge_haproxy_stats_credentials_file", "source_file": "jeannie", "source_location": "L5695"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_generate_edge_haproxy_stats_password", "source_file": "jeannie", "source_location": "L5699"}, {"language": "bash", "callee": "openssl", "caller_nid": "$graphify-root$_jeannie_generate_edge_haproxy_stats_password", "source_file": "jeannie", "source_location": "L5700"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_jeannie_generate_edge_haproxy_stats_password", "source_file": "jeannie", "source_location": "L5702"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_generate_edge_haproxy_stats_password", "source_file": "jeannie", "source_location": "L5708"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_generate_edge_haproxy_stats_password", "source_file": "jeannie", "source_location": "L5709"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_jeannie_write_edge_haproxy_stats_credentials", "source_file": "jeannie", "source_location": "L5718"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_jeannie_write_edge_haproxy_stats_credentials", "source_file": "jeannie", "source_location": "L5719"}, {"language": "bash", "callee": "chmod", "caller_nid": "$graphify-root$_jeannie_write_edge_haproxy_stats_credentials", "source_file": "jeannie", "source_location": "L5720"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_write_edge_haproxy_stats_credentials", "source_file": "jeannie", "source_location": "L5722"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_recover_edge_haproxy_stats_password", "source_file": "jeannie", "source_location": "L5738"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_jeannie_recover_edge_haproxy_stats_password", "source_file": "jeannie", "source_location": "L5741"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_recover_edge_haproxy_stats_password", "source_file": "jeannie", "source_location": "L5742"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_recover_edge_haproxy_stats_password", "source_file": "jeannie", "source_location": "L5753"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_ensure_edge_haproxy_stats_password", "source_file": "jeannie", "source_location": "L5762"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_ensure_edge_haproxy_stats_password", "source_file": "jeannie", "source_location": "L5773"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_ensure_cluster_worker_var_file", "source_file": "jeannie", "source_location": "L5795"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_ensure_cluster_worker_var_file", "source_file": "jeannie", "source_location": "L5798"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_run_up_parallel_stage", "source_file": "jeannie", "source_location": "L5810"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_run_up_parallel_stage", "source_file": "jeannie", "source_location": "L5811"}, {"language": "bash", "callee": "mktemp", "caller_nid": "$graphify-root$_jeannie_run_up_parallel_stage", "source_file": "jeannie", "source_location": "L5814"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_jeannie_run_up_parallel_stage", "source_file": "jeannie", "source_location": "L5815"}, {"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_jeannie_run_up_parallel_stage", "source_file": "jeannie", "source_location": "L5881"}, {"language": "bash", "callee": "rm", "caller_nid": "$graphify-root$_jeannie_run_up_parallel_stage", "source_file": "jeannie", "source_location": "L5885"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_up_task", "source_file": "jeannie", "source_location": "L5924"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_up_task", "source_file": "jeannie", "source_location": "L5925"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_up", "source_file": "jeannie", "source_location": "L5933"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_tofu_stack_from_plan_target", "source_file": "jeannie", "source_location": "L5957"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_tofu_stack_from_plan_target", "source_file": "jeannie", "source_location": "L5972"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_tofu_stack_from_plan_target", "source_file": "jeannie", "source_location": "L5973"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_plan_homelab", "source_file": "jeannie", "source_location": "L6005"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_rebuild_cluster", "source_file": "jeannie", "source_location": "L6021"}, {"language": "bash", "callee": "read", "caller_nid": "$graphify-root$_jeannie_cluster_worker_targets", "source_file": "jeannie", "source_location": "L6049"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_cluster_worker_targets", "source_file": "jeannie", "source_location": "L6051"}, {"language": "bash", "callee": "continue", "caller_nid": "$graphify-root$_jeannie_cluster_worker_targets", "source_file": "jeannie", "source_location": "L6053"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_stop_local_kubernetes_services", "source_file": "jeannie", "source_location": "L6076"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_stop_local_kubernetes_services", "source_file": "jeannie", "source_location": "L6077"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_stop_local_kubernetes_services", "source_file": "jeannie", "source_location": "L6077"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_stop_local_kubernetes_services", "source_file": "jeannie", "source_location": "L6078"}, {"language": "bash", "callee": "read", "caller_nid": "$graphify-root$_jeannie_stop_local_kubernetes_services", "source_file": "jeannie", "source_location": "L6082"}, {"language": "bash", "callee": "continue", "caller_nid": "$graphify-root$_jeannie_stop_local_kubernetes_services", "source_file": "jeannie", "source_location": "L6083"}, {"language": "bash", "callee": "sleep", "caller_nid": "$graphify-root$_jeannie_stop_local_kubernetes_services", "source_file": "jeannie", "source_location": "L6086"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_start_local_kubernetes_services", "source_file": "jeannie", "source_location": "L6102"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_start_local_kubernetes_services", "source_file": "jeannie", "source_location": "L6103"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_start_local_kubernetes_services", "source_file": "jeannie", "source_location": "L6104"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_stop_remote_kubernetes_services", "source_file": "jeannie", "source_location": "L6111"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_jeannie_stop_remote_kubernetes_services", "source_file": "jeannie", "source_location": "L6112"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_start_remote_kubernetes_services", "source_file": "jeannie", "source_location": "L6137"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_jeannie_start_remote_kubernetes_services", "source_file": "jeannie", "source_location": "L6138"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_jeannie_pimox_worker_count_default", "source_file": "jeannie", "source_location": "L6152"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_pimox_worker_count_default", "source_file": "jeannie", "source_location": "L6168"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_jeannie_pimox_worker_count_default", "source_file": "jeannie", "source_location": "L6169"}, {"language": "bash", "callee": "tofu", "caller_nid": "$graphify-root$_jeannie_pimox_worker_count_default", "source_file": "jeannie", "source_location": "L6194"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_pimox_worker_count_default", "source_file": "jeannie", "source_location": "L6195"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_pimox_worker_count_default", "source_file": "jeannie", "source_location": "L6205"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_pimox_worker_count_effective", "source_file": "jeannie", "source_location": "L6214"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_pimox_worker_count_effective", "source_file": "jeannie", "source_location": "L6215"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_stop_pimox_worker_vms", "source_file": "jeannie", "source_location": "L6235"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_stop_pimox_worker_vms", "source_file": "jeannie", "source_location": "L6236"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_stop_pimox_worker_vms", "source_file": "jeannie", "source_location": "L6243"}, {"language": "bash", "callee": "continue", "caller_nid": "$graphify-root$_jeannie_stop_pimox_worker_vms", "source_file": "jeannie", "source_location": "L6250"}, {"language": "bash", "callee": "continue", "caller_nid": "$graphify-root$_jeannie_verify_pimox_worker_vms_stopped", "source_file": "jeannie", "source_location": "L6291"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_verify_pimox_worker_vms_stopped", "source_file": "jeannie", "source_location": "L6295"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_destroy_pimox_worker_vms", "source_file": "jeannie", "source_location": "L6315"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_destroy_pimox_worker_vms", "source_file": "jeannie", "source_location": "L6316"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_destroy_pimox_worker_vms", "source_file": "jeannie", "source_location": "L6321"}, {"language": "bash", "callee": "continue", "caller_nid": "$graphify-root$_jeannie_destroy_pimox_worker_vms", "source_file": "jeannie", "source_location": "L6331"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_start_pimox_worker_vms", "source_file": "jeannie", "source_location": "L6361"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_start_pimox_worker_vms", "source_file": "jeannie", "source_location": "L6362"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_start_pimox_worker_vms", "source_file": "jeannie", "source_location": "L6365"}, {"language": "bash", "callee": "continue", "caller_nid": "$graphify-root$_jeannie_start_pimox_worker_vms", "source_file": "jeannie", "source_location": "L6372"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_stop_cluster", "source_file": "jeannie", "source_location": "L6397"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_stop_cluster", "source_file": "jeannie", "source_location": "L6412"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_start_cluster", "source_file": "jeannie", "source_location": "L6424"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_kubernetes_api_reachable", "source_file": "jeannie", "source_location": "L6434"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_wait_for_kubernetes_api_stable", "source_file": "jeannie", "source_location": "L6444"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_wait_for_kubernetes_api_stable", "source_file": "jeannie", "source_location": "L6453"}, {"language": "bash", "callee": "sleep", "caller_nid": "$graphify-root$_jeannie_wait_for_kubernetes_api_stable", "source_file": "jeannie", "source_location": "L6460"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_cluster_admin_kubeconfig_present", "source_file": "jeannie", "source_location": "L6484"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_wait_for_kubernetes_api", "source_file": "jeannie", "source_location": "L6494"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_wait_for_kubernetes_api", "source_file": "jeannie", "source_location": "L6495"}, {"language": "bash", "callee": "sleep", "caller_nid": "$graphify-root$_jeannie_wait_for_kubernetes_api", "source_file": "jeannie", "source_location": "L6497"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_ensure_existing_cluster_started_for_up", "source_file": "jeannie", "source_location": "L6504"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_ensure_existing_cluster_started_for_up", "source_file": "jeannie", "source_location": "L6505"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_jeannie_ensure_existing_cluster_started_for_up", "source_file": "jeannie", "source_location": "L6509"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_status_section", "source_file": "jeannie", "source_location": "L6531"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_status_section", "source_file": "jeannie", "source_location": "L6533"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_jeannie_status_run", "source_file": "jeannie", "source_location": "L6538"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_status_run", "source_file": "jeannie", "source_location": "L6540"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_check_pimox_worker_tailnet_egress", "source_file": "jeannie", "source_location": "L6560"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_check_pimox_worker_tailnet_egress", "source_file": "jeannie", "source_location": "L6561"}, {"language": "bash", "callee": "read", "caller_nid": "$graphify-root$_jeannie_check_pimox_worker_tailnet_egress", "source_file": "jeannie", "source_location": "L6568"}, {"language": "bash", "callee": "continue", "caller_nid": "$graphify-root$_jeannie_check_pimox_worker_tailnet_egress", "source_file": "jeannie", "source_location": "L6569"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_check_pimox_worker_tailnet_egress", "source_file": "jeannie", "source_location": "L6571"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_jeannie_check_pimox_worker_tailnet_egress", "source_file": "jeannie", "source_location": "L6572"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_status_http", "source_file": "jeannie", "source_location": "L6600"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_status_http", "source_file": "jeannie", "source_location": "L6601"}, {"language": "bash", "callee": "curl", "caller_nid": "$graphify-root$_jeannie_status_http", "source_file": "jeannie", "source_location": "L6602"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_status_http_ok", "source_file": "jeannie", "source_location": "L6613"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_status_http_ok", "source_file": "jeannie", "source_location": "L6614"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_status_http_ok", "source_file": "jeannie", "source_location": "L6615"}, {"language": "bash", "callee": "curl", "caller_nid": "$graphify-root$_jeannie_status_http_ok", "source_file": "jeannie", "source_location": "L6618"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_status_http_reachable", "source_file": "jeannie", "source_location": "L6637"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_status_http_reachable", "source_file": "jeannie", "source_location": "L6638"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_status_http_reachable", "source_file": "jeannie", "source_location": "L6639"}, {"language": "bash", "callee": "curl", "caller_nid": "$graphify-root$_jeannie_status_http_reachable", "source_file": "jeannie", "source_location": "L6642"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_jeannie_status_cascade_check", "source_file": "jeannie", "source_location": "L6666"}, {"language": "bash", "callee": "report_ui_check", "caller_nid": "$graphify-root$_jeannie_status_cascade_check", "source_file": "jeannie", "source_location": "L6669"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_status_cascade_check", "source_file": "jeannie", "source_location": "L6669"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_status_cascade_check", "source_file": "jeannie", "source_location": "L6673"}, {"language": "bash", "callee": "sed", "caller_nid": "$graphify-root$_jeannie_status_cascade_check", "source_file": "jeannie", "source_location": "L6677"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_jeannie_status_cascade_warn", "source_file": "jeannie", "source_location": "L6692"}, {"language": "bash", "callee": "report_ui_check", "caller_nid": "$graphify-root$_jeannie_status_cascade_warn", "source_file": "jeannie", "source_location": "L6695"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_status_cascade_warn", "source_file": "jeannie", "source_location": "L6696"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_status_cascade_warn", "source_file": "jeannie", "source_location": "L6699"}, {"language": "bash", "callee": "sed", "caller_nid": "$graphify-root$_jeannie_status_cascade_warn", "source_file": "jeannie", "source_location": "L6703"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_status_container_running", "source_file": "jeannie", "source_location": "L6718"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_status_container_running", "source_file": "jeannie", "source_location": "L6719"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_status_container_running", "source_file": "jeannie", "source_location": "L6720"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_status_container_running", "source_file": "jeannie", "source_location": "L6722"}, {"language": "bash", "callee": "grep", "caller_nid": "$graphify-root$_jeannie_status_container_running", "source_file": "jeannie", "source_location": "L6722"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_status_kubernetes_api_ok", "source_file": "jeannie", "source_location": "L6729"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_status_kubernetes_api_ok", "source_file": "jeannie", "source_location": "L6730"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_status_kubernetes_api_ok", "source_file": "jeannie", "source_location": "L6731"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_status_kubernetes_api_ok", "source_file": "jeannie", "source_location": "L6737"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_status_kubernetes_nodes_ready", "source_file": "jeannie", "source_location": "L6744"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_status_kubernetes_nodes_ready", "source_file": "jeannie", "source_location": "L6744"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_status_kubernetes_nodes_ready", "source_file": "jeannie", "source_location": "L6746"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_jeannie_status_kubernetes_nodes_ready", "source_file": "jeannie", "source_location": "L6749"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_status_kubernetes_deployment_ready", "source_file": "jeannie", "source_location": "L6760"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_status_no_problem_pods", "source_file": "jeannie", "source_location": "L6767"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_jeannie_status_no_problem_pods", "source_file": "jeannie", "source_location": "L6768"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_status_no_problem_pods", "source_file": "jeannie", "source_location": "L6771"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_status_no_problem_pods", "source_file": "jeannie", "source_location": "L6772"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_status_recent_deployments", "source_file": "jeannie", "source_location": "L6780"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_jeannie_status_recent_deployments", "source_file": "jeannie", "source_location": "L6783"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_status_recent_deployments", "source_file": "jeannie", "source_location": "L6786"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_status_recent_deployments", "source_file": "jeannie", "source_location": "L6787"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_status_pod_restart_pressure", "source_file": "jeannie", "source_location": "L6796"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_jeannie_status_pod_restart_pressure", "source_file": "jeannie", "source_location": "L6797"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_status_pod_restart_pressure", "source_file": "jeannie", "source_location": "L6800"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_status_pod_restart_pressure", "source_file": "jeannie", "source_location": "L6801"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_status_node_pressure", "source_file": "jeannie", "source_location": "L6809"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_jeannie_status_node_pressure", "source_file": "jeannie", "source_location": "L6810"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_status_node_pressure", "source_file": "jeannie", "source_location": "L6813"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_status_node_pressure", "source_file": "jeannie", "source_location": "L6814"}, {"language": "bash", "callee": "df", "caller_nid": "$graphify-root$_jeannie_status_disk_pressure", "source_file": "jeannie", "source_location": "L6822"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_jeannie_status_disk_pressure", "source_file": "jeannie", "source_location": "L6822"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_status_disk_pressure", "source_file": "jeannie", "source_location": "L6824"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_status_disk_pressure", "source_file": "jeannie", "source_location": "L6825"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_status_traefik_error_rates", "source_file": "jeannie", "source_location": "L6835"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_status_traefik_error_rates", "source_file": "jeannie", "source_location": "L6835"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_status_traefik_error_rates", "source_file": "jeannie", "source_location": "L6837"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_status_traefik_error_rates", "source_file": "jeannie", "source_location": "L6838"}, {"language": "bash", "callee": "grep", "caller_nid": "$graphify-root$_jeannie_status_traefik_error_rates", "source_file": "jeannie", "source_location": "L6841"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_status_traefik_error_rates", "source_file": "jeannie", "source_location": "L6844"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_status_gitea_recent_errors", "source_file": "jeannie", "source_location": "L6856"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_status_gitea_recent_errors", "source_file": "jeannie", "source_location": "L6857"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_status_gitea_recent_errors", "source_file": "jeannie", "source_location": "L6858"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_status_gitea_recent_errors", "source_file": "jeannie", "source_location": "L6860"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_status_gitea_recent_errors", "source_file": "jeannie", "source_location": "L6865"}, {"language": "bash", "callee": "grep", "caller_nid": "$graphify-root$_jeannie_status_gitea_recent_errors", "source_file": "jeannie", "source_location": "L6866"}, {"language": "bash", "callee": "tail", "caller_nid": "$graphify-root$_jeannie_status_gitea_recent_errors", "source_file": "jeannie", "source_location": "L6866"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_status_gitea_recent_errors", "source_file": "jeannie", "source_location": "L6868"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_jeannie_status_rpi_uptime_kuma_ok", "source_file": "jeannie", "source_location": "L6883"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_status_pimox_workers_running", "source_file": "jeannie", "source_location": "L6901"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_status_pimox_workers_running", "source_file": "jeannie", "source_location": "L6902"}, {"language": "bash", "callee": "continue", "caller_nid": "$graphify-root$_jeannie_status_pimox_workers_running", "source_file": "jeannie", "source_location": "L6907"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_status_cascade_report", "source_file": "jeannie", "source_location": "L6972"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_status_cascade_report", "source_file": "jeannie", "source_location": "L6976"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_backstage_brain_note", "source_file": "jeannie", "source_location": "L7000"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_backstage_brain_note", "source_file": "jeannie", "source_location": "L7002"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_jeannie_backstage_brain_note", "source_file": "jeannie", "source_location": "L7006"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_backstage_brain_note", "source_file": "jeannie", "source_location": "L7008"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_jeannie_backstage_brain_note", "source_file": "jeannie", "source_location": "L7016"}, {"language": "bash", "callee": "systemctl", "caller_nid": "$graphify-root$_jeannie_status_systemd_units", "source_file": "jeannie", "source_location": "L7081"}, {"language": "bash", "callee": "grep", "caller_nid": "$graphify-root$_jeannie_status_systemd_units", "source_file": "jeannie", "source_location": "L7081"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_status_systemd_units", "source_file": "jeannie", "source_location": "L7082"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_status_compose_stack", "source_file": "jeannie", "source_location": "L7093"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_status_compose_stack", "source_file": "jeannie", "source_location": "L7096"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_status_compose_stack", "source_file": "jeannie", "source_location": "L7098"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_status_compose_stack", "source_file": "jeannie", "source_location": "L7102"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_jeannie_status_compose_stack", "source_file": "jeannie", "source_location": "L7107"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_status_compose_stack", "source_file": "jeannie", "source_location": "L7107"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_status_kubernetes", "source_file": "jeannie", "source_location": "L7113"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_status_kubernetes", "source_file": "jeannie", "source_location": "L7114"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_status_kubernetes", "source_file": "jeannie", "source_location": "L7115"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_status_kubernetes", "source_file": "jeannie", "source_location": "L7121"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_status_kubernetes_problem_pods", "source_file": "jeannie", "source_location": "L7135"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_status_kubernetes_problem_pods", "source_file": "jeannie", "source_location": "L7137"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_jeannie_status_kubernetes_problem_pods", "source_file": "jeannie", "source_location": "L7138"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_status_pimox_workers", "source_file": "jeannie", "source_location": "L7162"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_status_pimox_workers", "source_file": "jeannie", "source_location": "L7163"}, {"language": "bash", "callee": "continue", "caller_nid": "$graphify-root$_jeannie_status_pimox_workers", "source_file": "jeannie", "source_location": "L7173"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_jeannie_status_rpi_services", "source_file": "jeannie", "source_location": "L7194"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_status_rpi_services", "source_file": "jeannie", "source_location": "L7280"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_jeannie_status_report", "source_file": "jeannie", "source_location": "L7295"}, {"language": "bash", "callee": "report_ui_parse_args", "caller_nid": "$graphify-root$_jeannie_status_report", "source_file": "jeannie", "source_location": "L7308"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_status_report", "source_file": "jeannie", "source_location": "L7309"}, {"language": "bash", "callee": "mktemp", "caller_nid": "$graphify-root$_jeannie_status_report", "source_file": "jeannie", "source_location": "L7313"}, {"language": "bash", "callee": "report_ui_begin", "caller_nid": "$graphify-root$_jeannie_status_report", "source_file": "jeannie", "source_location": "L7318"}, {"language": "bash", "callee": "report_ui_render", "caller_nid": "$graphify-root$_jeannie_status_report", "source_file": "jeannie", "source_location": "L7320"}, {"language": "bash", "callee": "report_ui_cleanup", "caller_nid": "$graphify-root$_jeannie_status_report", "source_file": "jeannie", "source_location": "L7321"}, {"language": "bash", "callee": "rm", "caller_nid": "$graphify-root$_jeannie_status_report", "source_file": "jeannie", "source_location": "L7327"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_status_report", "source_file": "jeannie", "source_location": "L7346"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_status_report", "source_file": "jeannie", "source_location": "L7356"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_jeannie_check_edge_traefik_backend", "source_file": "jeannie", "source_location": "L7396"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_jeannie_check_edge_gitea_backend", "source_file": "jeannie", "source_location": "L7406"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_jeannie_check_edge_heimdall_backend", "source_file": "jeannie", "source_location": "L7416"}, {"language": "bash", "callee": "git", "caller_nid": "$graphify-root$_jeannie_check_gitea_git_remote", "source_file": "jeannie", "source_location": "L7421"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_jeannie_check_gitea_ssh", "source_file": "jeannie", "source_location": "L7428"}, {"language": "bash", "callee": "grep", "caller_nid": "$graphify-root$_jeannie_check_gitea_ssh", "source_file": "jeannie", "source_location": "L7429"}, {"language": "bash", "callee": "report_ui_parse_args", "caller_nid": "$graphify-root$_jeannie_doctor_edge", "source_file": "jeannie", "source_location": "L7443"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_doctor_edge", "source_file": "jeannie", "source_location": "L7444"}, {"language": "bash", "callee": "report_ui_begin", "caller_nid": "$graphify-root$_jeannie_doctor_edge", "source_file": "jeannie", "source_location": "L7448"}, {"language": "bash", "callee": "report_ui_check", "caller_nid": "$graphify-root$_jeannie_doctor_edge", "source_file": "jeannie", "source_location": "L7449"}, {"language": "bash", "callee": "report_ui_render", "caller_nid": "$graphify-root$_jeannie_doctor_edge", "source_file": "jeannie", "source_location": "L7455"}, {"language": "bash", "callee": "report_ui_cleanup", "caller_nid": "$graphify-root$_jeannie_doctor_edge", "source_file": "jeannie", "source_location": "L7456"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_doctor_edge", "source_file": "jeannie", "source_location": "L7465"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_jeannie_doctor_edge", "source_file": "jeannie", "source_location": "L7466"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_jeannie_doctor_edge", "source_file": "jeannie", "source_location": "L7480"}, {"language": "bash", "callee": "report_ui_parse_args", "caller_nid": "$graphify-root$_jeannie_doctor_gitea", "source_file": "jeannie", "source_location": "L7511"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_doctor_gitea", "source_file": "jeannie", "source_location": "L7512"}, {"language": "bash", "callee": "report_ui_begin", "caller_nid": "$graphify-root$_jeannie_doctor_gitea", "source_file": "jeannie", "source_location": "L7516"}, {"language": "bash", "callee": "report_ui_check", "caller_nid": "$graphify-root$_jeannie_doctor_gitea", "source_file": "jeannie", "source_location": "L7517"}, {"language": "bash", "callee": "report_ui_render", "caller_nid": "$graphify-root$_jeannie_doctor_gitea", "source_file": "jeannie", "source_location": "L7523"}, {"language": "bash", "callee": "report_ui_cleanup", "caller_nid": "$graphify-root$_jeannie_doctor_gitea", "source_file": "jeannie", "source_location": "L7524"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_doctor_gitea", "source_file": "jeannie", "source_location": "L7535"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_jeannie_doctor_gitea", "source_file": "jeannie", "source_location": "L7536"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_doctor_gitea", "source_file": "jeannie", "source_location": "L7536"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_jeannie_doctor_gitea", "source_file": "jeannie", "source_location": "L7544"}, {"language": "bash", "callee": "report_ui_parse_args", "caller_nid": "$graphify-root$_jeannie_doctor_rpi", "source_file": "jeannie", "source_location": "L7568"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_doctor_rpi", "source_file": "jeannie", "source_location": "L7569"}, {"language": "bash", "callee": "report_ui_begin", "caller_nid": "$graphify-root$_jeannie_doctor_rpi", "source_file": "jeannie", "source_location": "L7573"}, {"language": "bash", "callee": "report_ui_check", "caller_nid": "$graphify-root$_jeannie_doctor_rpi", "source_file": "jeannie", "source_location": "L7574"}, {"language": "bash", "callee": "report_ui_render", "caller_nid": "$graphify-root$_jeannie_doctor_rpi", "source_file": "jeannie", "source_location": "L7579"}, {"language": "bash", "callee": "report_ui_cleanup", "caller_nid": "$graphify-root$_jeannie_doctor_rpi", "source_file": "jeannie", "source_location": "L7580"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_jeannie_doctor_rpi", "source_file": "jeannie", "source_location": "L7586"}, {"language": "bash", "callee": "report_ui_parse_args", "caller_nid": "$graphify-root$_jeannie_doctor_cluster", "source_file": "jeannie", "source_location": "L7609"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_doctor_cluster", "source_file": "jeannie", "source_location": "L7610"}, {"language": "bash", "callee": "report_ui_begin", "caller_nid": "$graphify-root$_jeannie_doctor_cluster", "source_file": "jeannie", "source_location": "L7614"}, {"language": "bash", "callee": "report_ui_check", "caller_nid": "$graphify-root$_jeannie_doctor_cluster", "source_file": "jeannie", "source_location": "L7615"}, {"language": "bash", "callee": "report_ui_render", "caller_nid": "$graphify-root$_jeannie_doctor_cluster", "source_file": "jeannie", "source_location": "L7624"}, {"language": "bash", "callee": "report_ui_cleanup", "caller_nid": "$graphify-root$_jeannie_doctor_cluster", "source_file": "jeannie", "source_location": "L7625"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_doctor_cluster", "source_file": "jeannie", "source_location": "L7636"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_doctor_cluster", "source_file": "jeannie", "source_location": "L7637"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_doctor_cluster", "source_file": "jeannie", "source_location": "L7638"}, {"language": "bash", "callee": "head", "caller_nid": "$graphify-root$_jeannie_doctor_cluster", "source_file": "jeannie", "source_location": "L7638"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_doctor_cluster", "source_file": "jeannie", "source_location": "L7638"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_jeannie_doctor_cluster", "source_file": "jeannie", "source_location": "L7643"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_jeannie_nuke", "source_file": "jeannie", "source_location": "L7673"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_nuke", "source_file": "jeannie", "source_location": "L7677"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_nuke", "source_file": "jeannie", "source_location": "L7680"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_jeannie_nuke", "source_file": "jeannie", "source_location": "L7684"}, {"language": "bash", "callee": "touch", "caller_nid": "$graphify-root$_jeannie_nuke", "source_file": "jeannie", "source_location": "L7685"}, {"language": "bash", "callee": "chmod", "caller_nid": "$graphify-root$_jeannie_nuke", "source_file": "jeannie", "source_location": "L7686"}, {"language": "bash", "callee": "killall", "caller_nid": "$graphify-root$_jeannie_nuke", "source_file": "jeannie", "source_location": "L7690"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_nuke", "source_file": "jeannie", "source_location": "L7690"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_nuke", "source_file": "jeannie", "source_location": "L7694"}, {"language": "bash", "callee": "ssh-keygen", "caller_nid": "$graphify-root$_jeannie_nuke", "source_file": "jeannie", "source_location": "L7700"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_jeannie_nuke", "source_file": "jeannie", "source_location": "L7701"}, {"language": "bash", "callee": "docker", "caller_nid": "$graphify-root$_jeannie_nuke", "source_file": "jeannie", "source_location": "L7803"}, {"language": "bash", "callee": "rm", "caller_nid": "$graphify-root$_jeannie_nuke", "source_file": "jeannie", "source_location": "L7805"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_ensure_sops_age_tools", "source_file": "jeannie", "source_location": "L7831"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_ensure_sops_age_tools", "source_file": "jeannie", "source_location": "L7836"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_ensure_sops_age_tools", "source_file": "jeannie", "source_location": "L7837"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_ensure_sops_age_tools", "source_file": "jeannie", "source_location": "L7844"}, {"language": "bash", "callee": "curl", "caller_nid": "$graphify-root$_jeannie_ensure_sops_age_tools", "source_file": "jeannie", "source_location": "L7851"}, {"language": "bash", "callee": "grep", "caller_nid": "$graphify-root$_jeannie_ensure_sops_age_tools", "source_file": "jeannie", "source_location": "L7851"}, {"language": "bash", "callee": "head", "caller_nid": "$graphify-root$_jeannie_ensure_sops_age_tools", "source_file": "jeannie", "source_location": "L7851"}, {"language": "bash", "callee": "rm", "caller_nid": "$graphify-root$_jeannie_ensure_sops_age_tools", "source_file": "jeannie", "source_location": "L7859"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_sops_age_key_file", "source_file": "jeannie", "source_location": "L7868"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_jeannie_sops_age_recipient", "source_file": "jeannie", "source_location": "L7874"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_sops_load_secrets", "source_file": "jeannie", "source_location": "L7886"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_sops_load_secrets", "source_file": "jeannie", "source_location": "L7887"}, {"language": "bash", "callee": "sops", "caller_nid": "$graphify-root$_jeannie_sops_load_secrets", "source_file": "jeannie", "source_location": "L7900"}, {"language": "bash", "callee": "read", "caller_nid": "$graphify-root$_jeannie_sops_load_secrets", "source_file": "jeannie", "source_location": "L7907"}, {"language": "bash", "callee": "continue", "caller_nid": "$graphify-root$_jeannie_sops_load_secrets", "source_file": "jeannie", "source_location": "L7908"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_sops_available", "source_file": "jeannie", "source_location": "L7924"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_jeannie_secrets_init", "source_file": "jeannie", "source_location": "L7938"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_jeannie_secrets_init", "source_file": "jeannie", "source_location": "L7939"}, {"language": "bash", "callee": "chmod", "caller_nid": "$graphify-root$_jeannie_secrets_init", "source_file": "jeannie", "source_location": "L7940"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_secrets_init", "source_file": "jeannie", "source_location": "L7943"}, {"language": "bash", "callee": "age-keygen", "caller_nid": "$graphify-root$_jeannie_secrets_init", "source_file": "jeannie", "source_location": "L7944"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_secrets_init", "source_file": "jeannie", "source_location": "L7954"}, {"language": "bash", "callee": "grep", "caller_nid": "$graphify-root$_jeannie_secrets_init", "source_file": "jeannie", "source_location": "L7958"}, {"language": "bash", "callee": "sed", "caller_nid": "$graphify-root$_jeannie_secrets_init", "source_file": "jeannie", "source_location": "L7968"}, {"language": "bash", "callee": "grep", "caller_nid": "$graphify-root$_jeannie_secrets_check_file", "source_file": "jeannie", "source_location": "L7983"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_secrets_check_file", "source_file": "jeannie", "source_location": "L7984"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_jeannie_secrets_check_file", "source_file": "jeannie", "source_location": "L7985"}, {"language": "bash", "callee": "sops", "caller_nid": "$graphify-root$_jeannie_secrets_check_file", "source_file": "jeannie", "source_location": "L7997"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_secrets_check", "source_file": "jeannie", "source_location": "L8012"}, {"language": "bash", "callee": "grep", "caller_nid": "$graphify-root$_jeannie_secrets_check", "source_file": "jeannie", "source_location": "L8014"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_secrets_check", "source_file": "jeannie", "source_location": "L8029"}, {"language": "bash", "callee": "read", "caller_nid": "$graphify-root$_jeannie_secrets_check", "source_file": "jeannie", "source_location": "L8030"}, {"language": "bash", "callee": "continue", "caller_nid": "$graphify-root$_jeannie_secrets_check", "source_file": "jeannie", "source_location": "L8031"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_secrets_check", "source_file": "jeannie", "source_location": "L8039"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_jeannie_ai_index", "source_file": "jeannie", "source_location": "L8059"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_ai_check", "source_file": "jeannie", "source_location": "L8074"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_jeannie_ai_check", "source_file": "jeannie", "source_location": "L8075"}, {"language": "bash", "callee": "curl", "caller_nid": "$graphify-root$_jeannie_ai_check", "source_file": "jeannie", "source_location": "L8096"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_jeannie_ai_check", "source_file": "jeannie", "source_location": "L8098"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_ai_check", "source_file": "jeannie", "source_location": "L8124"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_ai_check", "source_file": "jeannie", "source_location": "L8125"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_jeannie_security_runtime", "source_file": "jeannie", "source_location": "L8199"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_jeannie_security_runtime", "source_file": "jeannie", "source_location": "L8200"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_jeannie_security_runtime", "source_file": "jeannie", "source_location": "L8201"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_jeannie_security_runtime", "source_file": "jeannie", "source_location": "L8204"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_jeannie_security_runtime", "source_file": "jeannie", "source_location": "L8206"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_jeannie_record_change_journal", "source_file": "jeannie", "source_location": "L8396"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_jeannie_record_change_journal", "source_file": "jeannie", "source_location": "L8396"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_jeannie_print_usage", "source_file": "jeannie", "source_location": "L8410"}], "bash_sources": [{"target_path": "$graphify-root$/scripts/report-ui", "source_file": "$graphify-root$/jeannie", "source_location": "L22"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/425fc0d94bef4c38aca0f67a23d5fc5a939a00534454f4ed0eb8961f15132047.json b/graphify-out/cache/ast/v0.9.64-s4/425fc0d94bef4c38aca0f67a23d5fc5a939a00534454f4ed0eb8961f15132047.json
new file mode 100644
index 0000000..a174055
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/425fc0d94bef4c38aca0f67a23d5fc5a939a00534454f4ed0eb8961f15132047.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_report_ui", "label": "report-ui", "file_type": "code", "source_file": "scripts/report-ui", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_report_ui__entry", "label": "report-ui script", "file_type": "code", "source_file": "scripts/report-ui", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_report_ui_report_ui_usage_flags", "label": "report_ui_usage_flags()", "file_type": "code", "source_file": "scripts/report-ui", "source_location": "L10", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_report_ui_report_ui_parse_args", "label": "report_ui_parse_args()", "file_type": "code", "source_file": "scripts/report-ui", "source_location": "L20", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_report_ui_report_ui_begin", "label": "report_ui_begin()", "file_type": "code", "source_file": "scripts/report-ui", "source_location": "L56", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_report_ui_report_ui_cleanup", "label": "report_ui_cleanup()", "file_type": "code", "source_file": "scripts/report-ui", "source_location": "L60", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_report_ui_report_ui_one_line", "label": "report_ui_one_line()", "file_type": "code", "source_file": "scripts/report-ui", "source_location": "L67", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_report_ui_report_ui_first_line", "label": "report_ui_first_line()", "file_type": "code", "source_file": "scripts/report-ui", "source_location": "L75", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_report_ui_report_ui_trim_detail", "label": "report_ui_trim_detail()", "file_type": "code", "source_file": "scripts/report-ui", "source_location": "L79", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_report_ui_report_ui_emit", "label": "report_ui_emit()", "file_type": "code", "source_file": "scripts/report-ui", "source_location": "L83", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_report_ui_report_ui_check", "label": "report_ui_check()", "file_type": "code", "source_file": "scripts/report-ui", "source_location": "L109", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_report_ui_report_ui_render", "label": "report_ui_render()", "file_type": "code", "source_file": "scripts/report-ui", "source_location": "L145", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_report_ui", "target": "$graphify-root$_scripts_report_ui__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/report-ui", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_report_ui", "target": "$graphify-root$_scripts_report_ui_report_ui_usage_flags", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/report-ui", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_scripts_report_ui", "target": "$graphify-root$_scripts_report_ui_report_ui_parse_args", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/report-ui", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_scripts_report_ui", "target": "$graphify-root$_scripts_report_ui_report_ui_begin", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/report-ui", "source_location": "L56", "weight": 1.0}, {"source": "$graphify-root$_scripts_report_ui", "target": "$graphify-root$_scripts_report_ui_report_ui_cleanup", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/report-ui", "source_location": "L60", "weight": 1.0}, {"source": "$graphify-root$_scripts_report_ui", "target": "$graphify-root$_scripts_report_ui_report_ui_one_line", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/report-ui", "source_location": "L67", "weight": 1.0}, {"source": "$graphify-root$_scripts_report_ui", "target": "$graphify-root$_scripts_report_ui_report_ui_first_line", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/report-ui", "source_location": "L75", "weight": 1.0}, {"source": "$graphify-root$_scripts_report_ui", "target": "$graphify-root$_scripts_report_ui_report_ui_trim_detail", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/report-ui", "source_location": "L79", "weight": 1.0}, {"source": "$graphify-root$_scripts_report_ui", "target": "$graphify-root$_scripts_report_ui_report_ui_emit", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/report-ui", "source_location": "L83", "weight": 1.0}, {"source": "$graphify-root$_scripts_report_ui", "target": "$graphify-root$_scripts_report_ui_report_ui_check", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/report-ui", "source_location": "L109", "weight": 1.0}, {"source": "$graphify-root$_scripts_report_ui", "target": "$graphify-root$_scripts_report_ui_report_ui_render", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/report-ui", "source_location": "L145", "weight": 1.0}, {"source": "$graphify-root$_scripts_report_ui_report_ui_parse_args", "target": "$graphify-root$_scripts_report_ui_report_ui_usage_flags", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/report-ui", "source_location": "L45", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_report_ui_report_ui_check", "target": "$graphify-root$_scripts_report_ui_report_ui_emit", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/report-ui", "source_location": "L128", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_report_ui_report_ui_check", "target": "$graphify-root$_scripts_report_ui_report_ui_first_line", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/report-ui", "source_location": "L132", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_report_ui_report_ui_check", "target": "$graphify-root$_scripts_report_ui_report_ui_trim_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/report-ui", "source_location": "L136", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_report_ui_report_ui_usage_flags", "source_file": "scripts/report-ui", "source_location": "L11"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_scripts_report_ui_report_ui_parse_args", "source_file": "scripts/report-ui", "source_location": "L29"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_report_ui_report_ui_parse_args", "source_file": "scripts/report-ui", "source_location": "L46"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_report_ui_report_ui_parse_args", "source_file": "scripts/report-ui", "source_location": "L49"}, {"language": "bash", "callee": "mktemp", "caller_nid": "$graphify-root$_scripts_report_ui_report_ui_begin", "source_file": "scripts/report-ui", "source_location": "L57"}, {"language": "bash", "callee": "rm", "caller_nid": "$graphify-root$_scripts_report_ui_report_ui_cleanup", "source_file": "scripts/report-ui", "source_location": "L62"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_report_ui_report_ui_one_line", "source_file": "scripts/report-ui", "source_location": "L72"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_scripts_report_ui_report_ui_first_line", "source_file": "scripts/report-ui", "source_location": "L76"}, {"language": "bash", "callee": "sed", "caller_nid": "$graphify-root$_scripts_report_ui_report_ui_trim_detail", "source_file": "scripts/report-ui", "source_location": "L80"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_report_ui_report_ui_emit", "source_file": "scripts/report-ui", "source_location": "L94"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_report_ui_report_ui_emit", "source_file": "scripts/report-ui", "source_location": "L95"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_report_ui_report_ui_emit", "source_file": "scripts/report-ui", "source_location": "L98"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_scripts_report_ui_report_ui_check", "source_file": "scripts/report-ui", "source_location": "L116"}, {"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_report_ui_report_ui_check", "source_file": "scripts/report-ui", "source_location": "L122"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_report_ui_report_ui_check", "source_file": "scripts/report-ui", "source_location": "L129"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_report_ui_report_ui_check", "source_file": "scripts/report-ui", "source_location": "L132"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/469670deb2ea52c32a110d0e506e7b29e610ffc49af94a5109167f332ccf2eb5.json b/graphify-out/cache/ast/v0.9.64-s4/469670deb2ea52c32a110d0e506e7b29e610ffc49af94a5109167f332ccf2eb5.json
new file mode 100644
index 0000000..9455bd0
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/469670deb2ea52c32a110d0e506e7b29e610ffc49af94a5109167f332ccf2eb5.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_apps_website_save_idea_php", "label": "save_idea.php", "file_type": "code", "source_file": "apps/website/save_idea.php", "source_location": "L1"}, {"id": "$graphify-root$_apps_website_save_idea_idea_redirect", "label": "idea_redirect()", "file_type": "code", "source_file": "apps/website/save_idea.php", "source_location": "L4", "_callable": true}], "edges": [{"source": "$graphify-root$_apps_website_save_idea_php", "target": "$graphify-root$_apps_website_save_idea_idea_redirect", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/save_idea.php", "source_location": "L4", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_apps_website_save_idea_idea_redirect", "callee": "preg_replace", "is_member_call": false, "source_file": "apps/website/save_idea.php", "source_location": "L5", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_save_idea_idea_redirect", "callee": "strtolower", "is_member_call": false, "source_file": "apps/website/save_idea.php", "source_location": "L5", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_save_idea_idea_redirect", "callee": "header", "is_member_call": false, "source_file": "apps/website/save_idea.php", "source_location": "L9", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_save_idea_idea_redirect", "callee": "rawurlencode", "is_member_call": false, "source_file": "apps/website/save_idea.php", "source_location": "L9", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_save_idea_idea_redirect", "callee": "rawurlencode", "is_member_call": false, "source_file": "apps/website/save_idea.php", "source_location": "L9", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_save_idea_idea_redirect", "callee": "time", "is_member_call": false, "source_file": "apps/website/save_idea.php", "source_location": "L9", "receiver": null}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/47d62b0f8e2634796be93e59c2779b42fcc947f9e66bb5c45695efc1be52617c.json b/graphify-out/cache/ast/v0.9.64-s4/47d62b0f8e2634796be93e59c2779b42fcc947f9e66bb5c45695efc1be52617c.json
new file mode 100644
index 0000000..b543dbe
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/47d62b0f8e2634796be93e59c2779b42fcc947f9e66bb5c45695efc1be52617c.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_red_blue_loop", "label": "red-blue-loop", "file_type": "code", "source_file": "scripts/red-blue-loop", "source_location": "L1"}, {"id": "$graphify-root$_scripts_red_blue_loop_checks", "label": "checks()", "file_type": "code", "source_file": "scripts/red-blue-loop", "source_location": "L17", "_callable": true}, {"id": "$graphify-root$_scripts_red_blue_loop_plan", "label": "plan()", "file_type": "code", "source_file": "scripts/red-blue-loop", "source_location": "L22", "_callable": true}, {"id": "$graphify-root$_scripts_red_blue_loop_run", "label": "run()", "file_type": "code", "source_file": "scripts/red-blue-loop", "source_location": "L33", "_callable": true}, {"id": "$graphify-root$_scripts_red_blue_loop_ledger", "label": "ledger()", "file_type": "code", "source_file": "scripts/red-blue-loop", "source_location": "L60", "_callable": true}, {"id": "$graphify-root$_scripts_red_blue_loop_main", "label": "main()", "file_type": "code", "source_file": "scripts/red-blue-loop", "source_location": "L65", "_callable": true}, {"id": "$graphify-root$_scripts_red_blue_loop_rationale_2", "label": "Run or plan the homelab red-team/blue-team loop.", "file_type": "rationale", "source_file": "scripts/red-blue-loop", "source_location": "L2"}], "edges": [{"source": "$graphify-root$_scripts_red_blue_loop", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/red-blue-loop", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_scripts_red_blue_loop", "target": "csv", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/red-blue-loop", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_scripts_red_blue_loop", "target": "subprocess", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/red-blue-loop", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_scripts_red_blue_loop", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/red-blue-loop", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_scripts_red_blue_loop", "target": "$graphify-root$_scripts_red_blue_loop_checks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/red-blue-loop", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_scripts_red_blue_loop", "target": "$graphify-root$_scripts_red_blue_loop_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/red-blue-loop", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_scripts_red_blue_loop", "target": "$graphify-root$_scripts_red_blue_loop_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/red-blue-loop", "source_location": "L33", "weight": 1.0}, {"source": "$graphify-root$_scripts_red_blue_loop", "target": "$graphify-root$_scripts_red_blue_loop_ledger", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/red-blue-loop", "source_location": "L60", "weight": 1.0}, {"source": "$graphify-root$_scripts_red_blue_loop", "target": "$graphify-root$_scripts_red_blue_loop_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/red-blue-loop", "source_location": "L65", "weight": 1.0}, {"source": "$graphify-root$_scripts_red_blue_loop_plan", "target": "$graphify-root$_scripts_red_blue_loop_checks", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/red-blue-loop", "source_location": "L25", "weight": 1.0}, {"source": "$graphify-root$_scripts_red_blue_loop_run", "target": "$graphify-root$_scripts_red_blue_loop_checks", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/red-blue-loop", "source_location": "L35", "weight": 1.0}, {"source": "$graphify-root$_scripts_red_blue_loop_main", "target": "$graphify-root$_scripts_red_blue_loop_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/red-blue-loop", "source_location": "L74", "weight": 1.0}, {"source": "$graphify-root$_scripts_red_blue_loop_main", "target": "$graphify-root$_scripts_red_blue_loop_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/red-blue-loop", "source_location": "L76", "weight": 1.0}, {"source": "$graphify-root$_scripts_red_blue_loop_main", "target": "$graphify-root$_scripts_red_blue_loop_ledger", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/red-blue-loop", "source_location": "L78", "weight": 1.0}, {"source": "$graphify-root$_scripts_red_blue_loop_rationale_2", "target": "$graphify-root$_scripts_red_blue_loop", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/red-blue-loop", "source_location": "L2", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_red_blue_loop_checks", "callee": "open", "is_member_call": true, "source_file": "scripts/red-blue-loop", "source_location": "L18", "receiver": "CHECKS_FILE"}, {"caller_nid": "$graphify-root$_scripts_red_blue_loop_checks", "callee": "DictReader", "is_member_call": true, "source_file": "scripts/red-blue-loop", "source_location": "L19", "receiver": "csv"}, {"caller_nid": "$graphify-root$_scripts_red_blue_loop_checks", "callee": "handle", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/red-blue-loop", "source_location": "L19"}, {"caller_nid": "$graphify-root$_scripts_red_blue_loop_plan", "callee": "relative_to", "is_member_call": true, "source_file": "scripts/red-blue-loop", "source_location": "L29", "receiver": "LEDGER_FILE"}, {"caller_nid": "$graphify-root$_scripts_red_blue_loop_plan", "callee": "REPO_ROOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/red-blue-loop", "source_location": "L29"}, {"caller_nid": "$graphify-root$_scripts_red_blue_loop_run", "callee": "run", "is_member_call": true, "source_file": "scripts/red-blue-loop", "source_location": "L43", "receiver": "subprocess"}, {"caller_nid": "$graphify-root$_scripts_red_blue_loop_run", "callee": "REPO_ROOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/red-blue-loop", "source_location": "L45"}, {"caller_nid": "$graphify-root$_scripts_red_blue_loop_run", "callee": "split", "is_member_call": true, "source_file": "scripts/red-blue-loop", "source_location": "L44", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_red_blue_loop_run", "callee": "rstrip", "is_member_call": true, "source_file": "scripts/red-blue-loop", "source_location": "L51", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_red_blue_loop_run", "callee": "relative_to", "is_member_call": true, "source_file": "scripts/red-blue-loop", "source_location": "L56", "receiver": "LEDGER_FILE"}, {"caller_nid": "$graphify-root$_scripts_red_blue_loop_run", "callee": "REPO_ROOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/red-blue-loop", "source_location": "L56"}, {"caller_nid": "$graphify-root$_scripts_red_blue_loop_ledger", "callee": "rstrip", "is_member_call": true, "source_file": "scripts/red-blue-loop", "source_location": "L61", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_red_blue_loop_ledger", "callee": "read_text", "is_member_call": true, "source_file": "scripts/red-blue-loop", "source_location": "L61", "receiver": "LEDGER_FILE"}, {"caller_nid": "$graphify-root$_scripts_red_blue_loop_main", "callee": "ArgumentParser", "is_member_call": true, "source_file": "scripts/red-blue-loop", "source_location": "L66", "receiver": "argparse"}, {"caller_nid": "$graphify-root$_scripts_red_blue_loop_main", "callee": "__doc__", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/red-blue-loop", "source_location": "L66"}, {"caller_nid": "$graphify-root$_scripts_red_blue_loop_main", "callee": "add_subparsers", "is_member_call": true, "source_file": "scripts/red-blue-loop", "source_location": "L67", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_red_blue_loop_main", "callee": "add_parser", "is_member_call": true, "source_file": "scripts/red-blue-loop", "source_location": "L68", "receiver": "subparsers"}, {"caller_nid": "$graphify-root$_scripts_red_blue_loop_main", "callee": "add_parser", "is_member_call": true, "source_file": "scripts/red-blue-loop", "source_location": "L69", "receiver": "subparsers"}, {"caller_nid": "$graphify-root$_scripts_red_blue_loop_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/red-blue-loop", "source_location": "L70", "receiver": "run_parser"}, {"caller_nid": "$graphify-root$_scripts_red_blue_loop_main", "callee": "add_parser", "is_member_call": true, "source_file": "scripts/red-blue-loop", "source_location": "L71", "receiver": "subparsers"}, {"caller_nid": "$graphify-root$_scripts_red_blue_loop_main", "callee": "parse_args", "is_member_call": true, "source_file": "scripts/red-blue-loop", "source_location": "L72", "receiver": "parser"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/484424ebb0c750728c8d03a7ee5db024d7d17312040322e2b7a65ba4e7633ff3.json b/graphify-out/cache/ast/v0.9.64-s4/484424ebb0c750728c8d03a7ee5db024d7d17312040322e2b7a65ba4e7633ff3.json
new file mode 100644
index 0000000..e765fb6
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/484424ebb0c750728c8d03a7ee5db024d7d17312040322e2b7a65ba4e7633ff3.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_infra_arr_stack_configure_arr_py", "label": "configure-arr.py", "file_type": "code", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L1"}, {"id": "$graphify-root$_infra_arr_stack_configure_arr_load_env", "label": "load_env()", "file_type": "code", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L19", "_callable": true}, {"id": "path", "label": "Path", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/infra/arr-stack/configure-arr.py"}, {"id": "$graphify-root$_infra_arr_stack_configure_arr_request_json", "label": "request_json()", "file_type": "code", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L30", "_callable": true}, {"id": "$graphify-root$_infra_arr_stack_configure_arr_wait_for_app", "label": "wait_for_app()", "file_type": "code", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L44", "_callable": true}, {"id": "$graphify-root$_infra_arr_stack_configure_arr_ensure_root_folder", "label": "ensure_root_folder()", "file_type": "code", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L55", "_callable": true}, {"id": "$graphify-root$_infra_arr_stack_configure_arr_schema_fields", "label": "schema_fields()", "file_type": "code", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L64", "_callable": true}, {"id": "$graphify-root$_infra_arr_stack_configure_arr_fill_fields", "label": "fill_fields()", "file_type": "code", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L75", "_callable": true}, {"id": "$graphify-root$_infra_arr_stack_configure_arr_ensure_qbittorrent", "label": "ensure_qbittorrent()", "file_type": "code", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L88", "_callable": true}, {"id": "$graphify-root$_infra_arr_stack_configure_arr_apply_import_lists", "label": "apply_import_lists()", "file_type": "code", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L133", "_callable": true}, {"id": "$graphify-root$_infra_arr_stack_configure_arr_required_env", "label": "required_env()", "file_type": "code", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L159", "_callable": true}, {"id": "$graphify-root$_infra_arr_stack_configure_arr_main", "label": "main()", "file_type": "code", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L166", "_callable": true}, {"id": "$graphify-root$_infra_arr_stack_configure_arr_rationale_2", "label": "Configure safe baseline ARR app settings from local environment values.", "file_type": "rationale", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L2"}], "edges": [{"source": "$graphify-root$_infra_arr_stack_configure_arr_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_py", "target": "urllib_error", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_py", "target": "urllib_request", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_py", "target": "$graphify-root$_infra_arr_stack_configure_arr_load_env", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L19", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_load_env", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L19", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_py", "target": "$graphify-root$_infra_arr_stack_configure_arr_request_json", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L30", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_py", "target": "$graphify-root$_infra_arr_stack_configure_arr_wait_for_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L44", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_py", "target": "$graphify-root$_infra_arr_stack_configure_arr_ensure_root_folder", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L55", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_py", "target": "$graphify-root$_infra_arr_stack_configure_arr_schema_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L64", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_py", "target": "$graphify-root$_infra_arr_stack_configure_arr_fill_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L75", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_py", "target": "$graphify-root$_infra_arr_stack_configure_arr_ensure_qbittorrent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L88", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_py", "target": "$graphify-root$_infra_arr_stack_configure_arr_apply_import_lists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L133", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_py", "target": "$graphify-root$_infra_arr_stack_configure_arr_required_env", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L159", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_py", "target": "$graphify-root$_infra_arr_stack_configure_arr_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L166", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_wait_for_app", "target": "$graphify-root$_infra_arr_stack_configure_arr_request_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L47", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_ensure_root_folder", "target": "$graphify-root$_infra_arr_stack_configure_arr_request_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L56", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_schema_fields", "target": "$graphify-root$_infra_arr_stack_configure_arr_request_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L65", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_ensure_qbittorrent", "target": "$graphify-root$_infra_arr_stack_configure_arr_request_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L89", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_ensure_qbittorrent", "target": "$graphify-root$_infra_arr_stack_configure_arr_schema_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L96", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_ensure_qbittorrent", "target": "$graphify-root$_infra_arr_stack_configure_arr_fill_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L126", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_apply_import_lists", "target": "$graphify-root$_infra_arr_stack_configure_arr_request_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L145", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_main", "target": "$graphify-root$_infra_arr_stack_configure_arr_load_env", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L167", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_main", "target": "$graphify-root$_infra_arr_stack_configure_arr_required_env", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L168", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_main", "target": "$graphify-root$_infra_arr_stack_configure_arr_wait_for_app", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L174", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_main", "target": "$graphify-root$_infra_arr_stack_configure_arr_ensure_root_folder", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L176", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_main", "target": "$graphify-root$_infra_arr_stack_configure_arr_ensure_qbittorrent", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L178", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_main", "target": "$graphify-root$_infra_arr_stack_configure_arr_apply_import_lists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L180", "weight": 1.0}, {"source": "$graphify-root$_infra_arr_stack_configure_arr_rationale_2", "target": "$graphify-root$_infra_arr_stack_configure_arr_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L2", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_load_env", "callee": "exists", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L20", "receiver": "path"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_load_env", "callee": "splitlines", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L22", "receiver": null}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_load_env", "callee": "read_text", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L22", "receiver": "path"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_load_env", "callee": "strip", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L23", "receiver": "raw_line"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_load_env", "callee": "startswith", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L24", "receiver": "line"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_load_env", "callee": "split", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L26", "receiver": "line"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_load_env", "callee": "setdefault", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L27", "receiver": null}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_load_env", "callee": "strip", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L27", "receiver": "key"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_load_env", "callee": "strip", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L27", "receiver": null}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_load_env", "callee": "strip", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L27", "receiver": null}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_load_env", "callee": "strip", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L27", "receiver": "value"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_request_json", "callee": "encode", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L34", "receiver": null}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_request_json", "callee": "dumps", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L34", "receiver": "json"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_request_json", "callee": "Request", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L36", "receiver": null}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_request_json", "callee": "urlopen", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L37", "receiver": null}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_request_json", "callee": "read", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L38", "receiver": "response"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_request_json", "callee": "loads", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L41", "receiver": "json"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_request_json", "callee": "decode", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L41", "receiver": "body"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_wait_for_app", "callee": "RuntimeError", "is_member_call": false, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L51", "receiver": null}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_wait_for_app", "callee": "sleep", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L52", "receiver": "time"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_ensure_root_folder", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L57"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_ensure_root_folder", "callee": "get", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L57", "receiver": "item"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_ensure_root_folder", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L57"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_schema_fields", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L66"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_schema_fields", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L69"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_schema_fields", "callee": "get", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L69", "receiver": "schema"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_schema_fields", "callee": "get", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L70", "receiver": "schema"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_schema_fields", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L71"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_fill_fields", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L78"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_fill_fields", "callee": "get", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L81", "receiver": "item"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_fill_fields", "callee": "append", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L84", "receiver": "hydrated"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_ensure_qbittorrent", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L90"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_ensure_qbittorrent", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L91"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_ensure_qbittorrent", "callee": "get", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L91", "receiver": "item"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_ensure_qbittorrent", "callee": "RuntimeError", "is_member_call": false, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L98", "receiver": null}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_ensure_qbittorrent", "callee": "get", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L100", "receiver": null}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_ensure_qbittorrent", "callee": "get", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L105", "receiver": null}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_ensure_qbittorrent", "callee": "get", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L106", "receiver": null}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_apply_import_lists", "callee": "get", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L134", "receiver": null}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_apply_import_lists", "callee": "exists", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L138", "receiver": "path"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_apply_import_lists", "callee": "RuntimeError", "is_member_call": false, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L139", "receiver": null}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_apply_import_lists", "callee": "loads", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L141", "receiver": "json"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_apply_import_lists", "callee": "read_text", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L141", "receiver": "path"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_apply_import_lists", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L142"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_apply_import_lists", "callee": "RuntimeError", "is_member_call": false, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L143", "receiver": null}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_apply_import_lists", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L147"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_apply_import_lists", "callee": "get", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L148", "receiver": "item"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_apply_import_lists", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L148"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_apply_import_lists", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L150"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_apply_import_lists", "callee": "get", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L150", "receiver": "item"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_apply_import_lists", "callee": "RuntimeError", "is_member_call": false, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L151", "receiver": null}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_required_env", "callee": "get", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L160", "receiver": null}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_required_env", "callee": "RuntimeError", "is_member_call": false, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L162", "receiver": null}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_main", "callee": "ENV_FILE", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L167"}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_main", "callee": "get", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L171", "receiver": null}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_main", "callee": "get", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L172", "receiver": null}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_main", "callee": "get", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L176", "receiver": null}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_main", "callee": "get", "is_member_call": true, "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L177", "receiver": null}, {"caller_nid": "$graphify-root$_infra_arr_stack_configure_arr_py", "callee": "RuntimeError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "infra/arr-stack/configure-arr.py", "source_location": "L188"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/49f7dedf3bb93c068779c0455d26622527d0368e0dfb7b4eec2cce68c02e6c51.json b/graphify-out/cache/ast/v0.9.64-s4/49f7dedf3bb93c068779c0455d26622527d0368e0dfb7b4eec2cce68c02e6c51.json
new file mode 100644
index 0000000..dacf0b7
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/49f7dedf3bb93c068779c0455d26622527d0368e0dfb7b4eec2cce68c02e6c51.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_query_homelab_ai_index", "label": "query-homelab-ai-index", "file_type": "code", "source_file": "scripts/query-homelab-ai-index", "source_location": "L1"}, {"id": "$graphify-root$_scripts_query_homelab_ai_index_tokenise", "label": "tokenise()", "file_type": "code", "source_file": "scripts/query-homelab-ai-index", "source_location": "L22", "_callable": true}, {"id": "$graphify-root$_scripts_query_homelab_ai_index_load_index", "label": "load_index()", "file_type": "code", "source_file": "scripts/query-homelab-ai-index", "source_location": "L26", "_callable": true}, {"id": "path", "label": "Path", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/query-homelab-ai-index"}, {"id": "$graphify-root$_scripts_query_homelab_ai_index_score_chunks", "label": "score_chunks()", "file_type": "code", "source_file": "scripts/query-homelab-ai-index", "source_location": "L33", "_callable": true}, {"id": "$graphify-root$_scripts_query_homelab_ai_index_render_context", "label": "render_context()", "file_type": "code", "source_file": "scripts/query-homelab-ai-index", "source_location": "L71", "_callable": true}, {"id": "$graphify-root$_scripts_query_homelab_ai_index_render_citations", "label": "render_citations()", "file_type": "code", "source_file": "scripts/query-homelab-ai-index", "source_location": "L89", "_callable": true}, {"id": "$graphify-root$_scripts_query_homelab_ai_index_ask_ollama", "label": "ask_ollama()", "file_type": "code", "source_file": "scripts/query-homelab-ai-index", "source_location": "L114", "_callable": true}, {"id": "$graphify-root$_scripts_query_homelab_ai_index_main", "label": "main()", "file_type": "code", "source_file": "scripts/query-homelab-ai-index", "source_location": "L145", "_callable": true}, {"id": "$graphify-root$_scripts_query_homelab_ai_index_rationale_2", "label": "Query the local homelab retrieval index and optionally ask Ollama.", "file_type": "rationale", "source_file": "scripts/query-homelab-ai-index", "source_location": "L2"}], "edges": [{"source": "$graphify-root$_scripts_query_homelab_ai_index", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/query-homelab-ai-index", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_scripts_query_homelab_ai_index", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/query-homelab-ai-index", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_scripts_query_homelab_ai_index", "target": "math", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/query-homelab-ai-index", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_scripts_query_homelab_ai_index", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/query-homelab-ai-index", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_scripts_query_homelab_ai_index", "target": "pathlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/query-homelab-ai-index", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_scripts_query_homelab_ai_index", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/query-homelab-ai-index", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_scripts_query_homelab_ai_index", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/query-homelab-ai-index", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_scripts_query_homelab_ai_index", "target": "urllib_error", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/query-homelab-ai-index", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_scripts_query_homelab_ai_index", "target": "urllib_request", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/query-homelab-ai-index", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_scripts_query_homelab_ai_index", "target": "collections", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/query-homelab-ai-index", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_scripts_query_homelab_ai_index", "target": "$graphify-root$_scripts_query_homelab_ai_index_tokenise", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/query-homelab-ai-index", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_scripts_query_homelab_ai_index", "target": "$graphify-root$_scripts_query_homelab_ai_index_load_index", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/query-homelab-ai-index", "source_location": "L26", "weight": 1.0}, {"source": "$graphify-root$_scripts_query_homelab_ai_index_load_index", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/query-homelab-ai-index", "source_location": "L26", "weight": 1.0}, {"source": "$graphify-root$_scripts_query_homelab_ai_index", "target": "$graphify-root$_scripts_query_homelab_ai_index_score_chunks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/query-homelab-ai-index", "source_location": "L33", "weight": 1.0}, {"source": "$graphify-root$_scripts_query_homelab_ai_index", "target": "$graphify-root$_scripts_query_homelab_ai_index_render_context", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/query-homelab-ai-index", "source_location": "L71", "weight": 1.0}, {"source": "$graphify-root$_scripts_query_homelab_ai_index", "target": "$graphify-root$_scripts_query_homelab_ai_index_render_citations", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/query-homelab-ai-index", "source_location": "L89", "weight": 1.0}, {"source": "$graphify-root$_scripts_query_homelab_ai_index", "target": "$graphify-root$_scripts_query_homelab_ai_index_ask_ollama", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/query-homelab-ai-index", "source_location": "L114", "weight": 1.0}, {"source": "$graphify-root$_scripts_query_homelab_ai_index", "target": "$graphify-root$_scripts_query_homelab_ai_index_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/query-homelab-ai-index", "source_location": "L145", "weight": 1.0}, {"source": "$graphify-root$_scripts_query_homelab_ai_index_score_chunks", "target": "$graphify-root$_scripts_query_homelab_ai_index_tokenise", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/query-homelab-ai-index", "source_location": "L34", "weight": 1.0}, {"source": "$graphify-root$_scripts_query_homelab_ai_index_main", "target": "$graphify-root$_scripts_query_homelab_ai_index_load_index", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/query-homelab-ai-index", "source_location": "L161", "weight": 1.0}, {"source": "$graphify-root$_scripts_query_homelab_ai_index_main", "target": "$graphify-root$_scripts_query_homelab_ai_index_score_chunks", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/query-homelab-ai-index", "source_location": "L166", "weight": 1.0}, {"source": "$graphify-root$_scripts_query_homelab_ai_index_main", "target": "$graphify-root$_scripts_query_homelab_ai_index_render_context", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/query-homelab-ai-index", "source_location": "L171", "weight": 1.0}, {"source": "$graphify-root$_scripts_query_homelab_ai_index_main", "target": "$graphify-root$_scripts_query_homelab_ai_index_render_citations", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/query-homelab-ai-index", "source_location": "L173", "weight": 1.0}, {"source": "$graphify-root$_scripts_query_homelab_ai_index_main", "target": "$graphify-root$_scripts_query_homelab_ai_index_ask_ollama", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/query-homelab-ai-index", "source_location": "L182", "weight": 1.0}, {"source": "$graphify-root$_scripts_query_homelab_ai_index_rationale_2", "target": "$graphify-root$_scripts_query_homelab_ai_index", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/query-homelab-ai-index", "source_location": "L2", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_tokenise", "callee": "lower", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L23", "receiver": "token"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_tokenise", "callee": "findall", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L23", "receiver": "TOKEN_RE"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_load_index", "callee": "is_file", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L28", "receiver": "index_path"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_load_index", "callee": "FileNotFoundError", "is_member_call": false, "source_file": "scripts/query-homelab-ai-index", "source_location": "L29", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_load_index", "callee": "loads", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L30", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_load_index", "callee": "read_text", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L30", "receiver": "index_path"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_score_chunks", "callee": "Counter", "is_member_call": false, "source_file": "scripts/query-homelab-ai-index", "source_location": "L38", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_score_chunks", "callee": "get", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L39", "receiver": "index"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_score_chunks", "callee": "get", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L40", "receiver": "index"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_score_chunks", "callee": "get", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L41", "receiver": "index"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_score_chunks", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/query-homelab-ai-index", "source_location": "L46"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_score_chunks", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/query-homelab-ai-index", "source_location": "L46"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_score_chunks", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/query-homelab-ai-index", "source_location": "L50"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_score_chunks", "callee": "get", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L52", "receiver": "chunk"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_score_chunks", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/query-homelab-ai-index", "source_location": "L53"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_score_chunks", "callee": "Counter", "is_member_call": false, "source_file": "scripts/query-homelab-ai-index", "source_location": "L55", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_score_chunks", "callee": "items", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L58", "receiver": "query_counts"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_score_chunks", "callee": "get", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L59", "receiver": "term_counts"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_score_chunks", "callee": "get", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L62", "receiver": "idf"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_score_chunks", "callee": "append", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L66", "receiver": "results"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_render_context", "callee": "get", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L76", "receiver": "chunk"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_render_context", "callee": "get", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L76", "receiver": "chunk"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_render_context", "callee": "strip", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L77", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_render_context", "callee": "get", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L77", "receiver": "chunk"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_render_context", "callee": "rstrip", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L80", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_render_context", "callee": "append", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L81", "receiver": "sections"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_render_context", "callee": "join", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L86", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_render_citations", "callee": "get", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L93", "receiver": "chunk"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_render_citations", "callee": "get", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L94", "receiver": "chunk"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_render_citations", "callee": "get", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L95", "receiver": "chunk"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_render_citations", "callee": "strip", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L96", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_render_citations", "callee": "get", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L96", "receiver": "chunk"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_render_citations", "callee": "rstrip", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L97", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_render_citations", "callee": "join", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L102", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_render_citations", "callee": "rstrip", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L104", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_render_citations", "callee": "append", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L105", "receiver": "sections"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_render_citations", "callee": "append", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L106", "receiver": "sections"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_render_citations", "callee": "append", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L110", "receiver": "sections"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_render_citations", "callee": "join", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L111", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_ask_ollama", "callee": "Request", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L134", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_ask_ollama", "callee": "rstrip", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L135", "receiver": "endpoint"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_ask_ollama", "callee": "encode", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L136", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_ask_ollama", "callee": "dumps", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L136", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_ask_ollama", "callee": "urlopen", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L140", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_ask_ollama", "callee": "loads", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L141", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_ask_ollama", "callee": "decode", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L141", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_ask_ollama", "callee": "read", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L141", "receiver": "response"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_ask_ollama", "callee": "strip", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L142", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_ask_ollama", "callee": "get", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L142", "receiver": "result"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_main", "callee": "ArgumentParser", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L146", "receiver": "argparse"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_main", "callee": "__doc__", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/query-homelab-ai-index", "source_location": "L146"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L147", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L148", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_main", "callee": "DEFAULT_INDEX_DIR", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/query-homelab-ai-index", "source_location": "L148"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L149", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_main", "callee": "int", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/query-homelab-ai-index", "source_location": "L149"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L150", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_main", "callee": "int", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/query-homelab-ai-index", "source_location": "L150"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L151", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L152", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L153", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L154", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_main", "callee": "get", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L154", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L155", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_main", "callee": "get", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L155", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L156", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_main", "callee": "int", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/query-homelab-ai-index", "source_location": "L156"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_main", "callee": "get", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L156", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_main", "callee": "parse_args", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L157", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_main", "callee": "join", "is_member_call": true, "source_file": "scripts/query-homelab-ai-index", "source_location": "L159", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_main", "callee": "exc", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/query-homelab-ai-index", "source_location": "L163"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_main", "callee": "OSError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "scripts/query-homelab-ai-index", "source_location": "L183"}, {"caller_nid": "$graphify-root$_scripts_query_homelab_ai_index_main", "callee": "TimeoutError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "scripts/query-homelab-ai-index", "source_location": "L183"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/50b4db9c2afbe92ab0d6147dcf7d7bc0055baee68d1997a19ce19fe37525dca5.json b/graphify-out/cache/ast/v0.9.64-s4/50b4db9c2afbe92ab0d6147dcf7d7bc0055baee68d1997a19ce19fe37525dca5.json
new file mode 100644
index 0000000..1b220fc
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/50b4db9c2afbe92ab0d6147dcf7d7bc0055baee68d1997a19ce19fe37525dca5.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_tests_jeannie_unit", "label": "jeannie-unit", "file_type": "code", "source_file": "tests/jeannie-unit", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_tests_jeannie_unit__entry", "label": "jeannie-unit script", "file_type": "code", "source_file": "tests/jeannie-unit", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_tests_jeannie_unit_cleanup", "label": "cleanup()", "file_type": "code", "source_file": "tests/jeannie-unit", "source_location": "L13", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_tests_jeannie_unit_path", "label": "PATH", "file_type": "code", "source_file": "tests/jeannie-unit", "source_location": "L35", "metadata": {"language": "bash", "kind": "code"}}, {"id": "$graphify-root$_tests_jeannie_unit_jeannie_library_mode", "label": "JEANNIE_LIBRARY_MODE", "file_type": "code", "source_file": "tests/jeannie-unit", "source_location": "L78", "metadata": {"language": "bash", "kind": "code"}}, {"id": "$graphify-root$_tests_jeannie_unit_pass", "label": "pass()", "file_type": "code", "source_file": "tests/jeannie-unit", "source_location": "L82", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_tests_jeannie_unit_fail", "label": "fail()", "file_type": "code", "source_file": "tests/jeannie-unit", "source_location": "L86", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_tests_jeannie_unit_assert_eq", "label": "assert_eq()", "file_type": "code", "source_file": "tests/jeannie-unit", "source_location": "L91", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_tests_jeannie_unit_assert_contains", "label": "assert_contains()", "file_type": "code", "source_file": "tests/jeannie-unit", "source_location": "L103", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_tests_jeannie_unit_assert_command_success", "label": "assert_command_success()", "file_type": "code", "source_file": "tests/jeannie-unit", "source_location": "L115", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_tests_jeannie_unit_assert_command_failure_contains", "label": "assert_command_failure_contains()", "file_type": "code", "source_file": "tests/jeannie-unit", "source_location": "L126", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_tests_jeannie_unit_test_pimox_worker_count_detects_generated_topology", "label": "test_pimox_worker_count_detects_generated_topology()", "file_type": "code", "source_file": "tests/jeannie-unit", "source_location": "L144", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_tests_jeannie_unit_test_configured_worker_count_cannot_hide_existing_workers", "label": "test_configured_worker_count_cannot_hide_existing_workers()", "file_type": "code", "source_file": "tests/jeannie-unit", "source_location": "L149", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_tests_jeannie_unit_test_configured_worker_count_can_expand_target_set", "label": "test_configured_worker_count_can_expand_target_set()", "file_type": "code", "source_file": "tests/jeannie-unit", "source_location": "L155", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_tests_jeannie_unit_test_cluster_worker_targets_include_pimox_and_manual_workers", "label": "test_cluster_worker_targets_include_pimox_and_manual_workers()", "file_type": "code", "source_file": "tests/jeannie-unit", "source_location": "L161", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_tests_jeannie_unit_test_prepare_cluster_worker_var_file_merges_manual_and_pimox_workers", "label": "test_prepare_cluster_worker_var_file_merges_manual_and_pimox_workers()", "file_type": "code", "source_file": "tests/jeannie-unit", "source_location": "L169", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_tests_jeannie_unit_test_prepare_cluster_worker_var_file_excludes_manual_by_default", "label": "test_prepare_cluster_worker_var_file_excludes_manual_by_default()", "file_type": "code", "source_file": "tests/jeannie-unit", "source_location": "L197", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_tests_jeannie_unit_test_prepare_cluster_worker_var_file_can_include_raspberry_worker", "label": "test_prepare_cluster_worker_var_file_can_include_raspberry_worker()", "file_type": "code", "source_file": "tests/jeannie-unit", "source_location": "L216", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_tests_jeannie_unit_test_prepare_cluster_worker_var_file_rebuilds_static_pimox_spec", "label": "test_prepare_cluster_worker_var_file_rebuilds_static_pimox_spec()", "file_type": "code", "source_file": "tests/jeannie-unit", "source_location": "L237", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_tests_jeannie_unit_test_report_renderer_hides_ok_links", "label": "test_report_renderer_hides_ok_links()", "file_type": "code", "source_file": "tests/jeannie-unit", "source_location": "L268", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_tests_jeannie_unit_test_report_renderer_problems_only_hides_ok_rows", "label": "test_report_renderer_problems_only_hides_ok_rows()", "file_type": "code", "source_file": "tests/jeannie-unit", "source_location": "L281", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_tests_jeannie_unit_test_report_renderer_empty_problems_message", "label": "test_report_renderer_empty_problems_message()", "file_type": "code", "source_file": "tests/jeannie-unit", "source_location": "L296", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_tests_jeannie_unit_test_inventory_validator_accepts_current_inventory", "label": "test_inventory_validator_accepts_current_inventory()", "file_type": "code", "source_file": "tests/jeannie-unit", "source_location": "L305", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_tests_jeannie_unit_test_inventory_validator_rejects_ip_drift", "label": "test_inventory_validator_rejects_ip_drift()", "file_type": "code", "source_file": "tests/jeannie-unit", "source_location": "L309", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_tests_jeannie_unit_test_heal_cooldown_escalates_to_diagnostics", "label": "test_heal_cooldown_escalates_to_diagnostics()", "file_type": "code", "source_file": "tests/jeannie-unit", "source_location": "L323", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_tests_jeannie_unit_test_pimox_worker_static_ip_selection", "label": "test_pimox_worker_static_ip_selection()", "file_type": "code", "source_file": "tests/jeannie-unit", "source_location": "L374", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_tests_jeannie_unit_test_pimox_guest_exec_exitcode_parser", "label": "test_pimox_guest_exec_exitcode_parser()", "file_type": "code", "source_file": "tests/jeannie-unit", "source_location": "L384", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_tests_jeannie_unit_test_pimox_worker_net0_config_defaults_to_deterministic_mac", "label": "test_pimox_worker_net0_config_defaults_to_deterministic_mac()", "file_type": "code", "source_file": "tests/jeannie-unit", "source_location": "L390", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_tests_jeannie_unit", "target": "$graphify-root$_tests_jeannie_unit__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_tests_jeannie_unit", "target": "$graphify-root$_tests_jeannie_unit_cleanup", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_tests_jeannie_unit", "target": "$graphify-root$_tests_jeannie_unit_path", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L35", "weight": 1.0}, {"source": "$graphify-root$_tests_jeannie_unit", "target": "$graphify-root$_tests_jeannie_unit_jeannie_library_mode", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L78", "weight": 1.0}, {"source": "$graphify-root$_tests_jeannie_unit", "target": "$graphify-root$_jeannie", "relation": "imports_from", "confidence": "INFERRED", "source_file": "tests/jeannie-unit", "source_location": "L80", "weight": 1.0, "context": "import", "target_file": "$graphify-root$/jeannie"}, {"source": "$graphify-root$_tests_jeannie_unit", "target": "$graphify-root$_tests_jeannie_unit_pass", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L82", "weight": 1.0}, {"source": "$graphify-root$_tests_jeannie_unit", "target": "$graphify-root$_tests_jeannie_unit_fail", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L86", "weight": 1.0}, {"source": "$graphify-root$_tests_jeannie_unit", "target": "$graphify-root$_tests_jeannie_unit_assert_eq", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L91", "weight": 1.0}, {"source": "$graphify-root$_tests_jeannie_unit", "target": "$graphify-root$_tests_jeannie_unit_assert_contains", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L103", "weight": 1.0}, {"source": "$graphify-root$_tests_jeannie_unit", "target": "$graphify-root$_tests_jeannie_unit_assert_command_success", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L115", "weight": 1.0}, {"source": "$graphify-root$_tests_jeannie_unit", "target": "$graphify-root$_tests_jeannie_unit_assert_command_failure_contains", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L126", "weight": 1.0}, {"source": "$graphify-root$_tests_jeannie_unit", "target": "$graphify-root$_tests_jeannie_unit_test_pimox_worker_count_detects_generated_topology", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L144", "weight": 1.0}, {"source": "$graphify-root$_tests_jeannie_unit", "target": "$graphify-root$_tests_jeannie_unit_test_configured_worker_count_cannot_hide_existing_workers", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L149", "weight": 1.0}, {"source": "$graphify-root$_tests_jeannie_unit", "target": "$graphify-root$_tests_jeannie_unit_test_configured_worker_count_can_expand_target_set", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L155", "weight": 1.0}, {"source": "$graphify-root$_tests_jeannie_unit", "target": "$graphify-root$_tests_jeannie_unit_test_cluster_worker_targets_include_pimox_and_manual_workers", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L161", "weight": 1.0}, {"source": "$graphify-root$_tests_jeannie_unit", "target": "$graphify-root$_tests_jeannie_unit_test_prepare_cluster_worker_var_file_merges_manual_and_pimox_workers", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L169", "weight": 1.0}, {"source": "$graphify-root$_tests_jeannie_unit", "target": "$graphify-root$_tests_jeannie_unit_test_prepare_cluster_worker_var_file_excludes_manual_by_default", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L197", "weight": 1.0}, {"source": "$graphify-root$_tests_jeannie_unit", "target": "$graphify-root$_tests_jeannie_unit_test_prepare_cluster_worker_var_file_can_include_raspberry_worker", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L216", "weight": 1.0}, {"source": "$graphify-root$_tests_jeannie_unit", "target": "$graphify-root$_tests_jeannie_unit_test_prepare_cluster_worker_var_file_rebuilds_static_pimox_spec", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L237", "weight": 1.0}, {"source": "$graphify-root$_tests_jeannie_unit", "target": "$graphify-root$_tests_jeannie_unit_test_report_renderer_hides_ok_links", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L268", "weight": 1.0}, {"source": "$graphify-root$_tests_jeannie_unit", "target": "$graphify-root$_tests_jeannie_unit_test_report_renderer_problems_only_hides_ok_rows", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L281", "weight": 1.0}, {"source": "$graphify-root$_tests_jeannie_unit", "target": "$graphify-root$_tests_jeannie_unit_test_report_renderer_empty_problems_message", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L296", "weight": 1.0}, {"source": "$graphify-root$_tests_jeannie_unit", "target": "$graphify-root$_tests_jeannie_unit_test_inventory_validator_accepts_current_inventory", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L305", "weight": 1.0}, {"source": "$graphify-root$_tests_jeannie_unit", "target": "$graphify-root$_tests_jeannie_unit_test_inventory_validator_rejects_ip_drift", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L309", "weight": 1.0}, {"source": "$graphify-root$_tests_jeannie_unit", "target": "$graphify-root$_tests_jeannie_unit_test_heal_cooldown_escalates_to_diagnostics", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L323", "weight": 1.0}, {"source": "$graphify-root$_tests_jeannie_unit", "target": "$graphify-root$_tests_jeannie_unit_test_pimox_worker_static_ip_selection", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L374", "weight": 1.0}, {"source": "$graphify-root$_tests_jeannie_unit", "target": "$graphify-root$_tests_jeannie_unit_test_pimox_guest_exec_exitcode_parser", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L384", "weight": 1.0}, {"source": "$graphify-root$_tests_jeannie_unit", "target": "$graphify-root$_tests_jeannie_unit_test_pimox_worker_net0_config_defaults_to_deterministic_mac", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L390", "weight": 1.0}, {"source": "$graphify-root$_tests_jeannie_unit__entry", "target": "$graphify-root$_tests_jeannie_unit_test_pimox_worker_count_detects_generated_topology", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L398", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit__entry", "target": "$graphify-root$_tests_jeannie_unit_test_configured_worker_count_cannot_hide_existing_workers", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L399", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit__entry", "target": "$graphify-root$_tests_jeannie_unit_test_configured_worker_count_can_expand_target_set", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L400", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit__entry", "target": "$graphify-root$_tests_jeannie_unit_test_cluster_worker_targets_include_pimox_and_manual_workers", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L401", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit__entry", "target": "$graphify-root$_tests_jeannie_unit_test_prepare_cluster_worker_var_file_merges_manual_and_pimox_workers", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L402", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit__entry", "target": "$graphify-root$_tests_jeannie_unit_test_prepare_cluster_worker_var_file_excludes_manual_by_default", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L403", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit__entry", "target": "$graphify-root$_tests_jeannie_unit_test_prepare_cluster_worker_var_file_can_include_raspberry_worker", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L404", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit__entry", "target": "$graphify-root$_tests_jeannie_unit_test_prepare_cluster_worker_var_file_rebuilds_static_pimox_spec", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L405", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit__entry", "target": "$graphify-root$_tests_jeannie_unit_test_report_renderer_hides_ok_links", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L406", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit__entry", "target": "$graphify-root$_tests_jeannie_unit_test_report_renderer_problems_only_hides_ok_rows", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L407", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit__entry", "target": "$graphify-root$_tests_jeannie_unit_test_report_renderer_empty_problems_message", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L408", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit__entry", "target": "$graphify-root$_tests_jeannie_unit_test_inventory_validator_accepts_current_inventory", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L409", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit__entry", "target": "$graphify-root$_tests_jeannie_unit_test_inventory_validator_rejects_ip_drift", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L410", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit__entry", "target": "$graphify-root$_tests_jeannie_unit_test_heal_cooldown_escalates_to_diagnostics", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L411", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit__entry", "target": "$graphify-root$_tests_jeannie_unit_test_pimox_worker_static_ip_selection", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L412", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit__entry", "target": "$graphify-root$_tests_jeannie_unit_test_pimox_guest_exec_exitcode_parser", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L413", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit__entry", "target": "$graphify-root$_tests_jeannie_unit_test_pimox_worker_net0_config_defaults_to_deterministic_mac", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L414", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_assert_eq", "target": "$graphify-root$_tests_jeannie_unit_pass", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L97", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_assert_eq", "target": "$graphify-root$_tests_jeannie_unit_fail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L99", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_assert_contains", "target": "$graphify-root$_tests_jeannie_unit_pass", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L109", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_assert_contains", "target": "$graphify-root$_tests_jeannie_unit_fail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L111", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_assert_command_success", "target": "$graphify-root$_tests_jeannie_unit_pass", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L120", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_assert_command_success", "target": "$graphify-root$_tests_jeannie_unit_fail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L122", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_assert_command_failure_contains", "target": "$graphify-root$_tests_jeannie_unit_fail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L138", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_assert_command_failure_contains", "target": "$graphify-root$_tests_jeannie_unit_assert_contains", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L141", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_test_pimox_worker_count_detects_generated_topology", "target": "$graphify-root$_tests_jeannie_unit_assert_eq", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L146", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_test_configured_worker_count_cannot_hide_existing_workers", "target": "$graphify-root$_tests_jeannie_unit_assert_eq", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L151", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_test_configured_worker_count_can_expand_target_set", "target": "$graphify-root$_tests_jeannie_unit_assert_eq", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L157", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_test_cluster_worker_targets_include_pimox_and_manual_workers", "target": "$graphify-root$_tests_jeannie_unit_assert_eq", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L166", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_test_prepare_cluster_worker_var_file_merges_manual_and_pimox_workers", "target": "$graphify-root$_tests_jeannie_unit_pass", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L193", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_test_prepare_cluster_worker_var_file_excludes_manual_by_default", "target": "$graphify-root$_tests_jeannie_unit_pass", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L212", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_test_prepare_cluster_worker_var_file_can_include_raspberry_worker", "target": "$graphify-root$_tests_jeannie_unit_pass", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L233", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_test_prepare_cluster_worker_var_file_rebuilds_static_pimox_spec", "target": "$graphify-root$_tests_jeannie_unit_pass", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L264", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_test_report_renderer_hides_ok_links", "target": "$graphify-root$_tests_jeannie_unit_fail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L275", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_test_report_renderer_hides_ok_links", "target": "$graphify-root$_tests_jeannie_unit_pass", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L277", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_test_report_renderer_problems_only_hides_ok_rows", "target": "$graphify-root$_tests_jeannie_unit_fail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L288", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_test_report_renderer_problems_only_hides_ok_rows", "target": "$graphify-root$_tests_jeannie_unit_pass", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L290", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_test_report_renderer_problems_only_hides_ok_rows", "target": "$graphify-root$_tests_jeannie_unit_assert_contains", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L292", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_test_report_renderer_empty_problems_message", "target": "$graphify-root$_tests_jeannie_unit_assert_contains", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L302", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_test_inventory_validator_accepts_current_inventory", "target": "$graphify-root$_tests_jeannie_unit_assert_command_success", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L306", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_test_inventory_validator_rejects_ip_drift", "target": "$graphify-root$_tests_jeannie_unit_assert_command_failure_contains", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L320", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_test_heal_cooldown_escalates_to_diagnostics", "target": "$graphify-root$_tests_jeannie_unit_assert_contains", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L370", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_test_pimox_worker_static_ip_selection", "target": "$graphify-root$_tests_jeannie_unit_assert_eq", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L375", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_test_pimox_worker_static_ip_selection", "target": "$graphify-root$_tests_jeannie_unit_fail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L378", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_test_pimox_worker_static_ip_selection", "target": "$graphify-root$_tests_jeannie_unit_pass", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L380", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_test_pimox_guest_exec_exitcode_parser", "target": "$graphify-root$_tests_jeannie_unit_assert_eq", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L385", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_test_pimox_guest_exec_exitcode_parser", "target": "$graphify-root$_tests_jeannie_unit_assert_command_failure_contains", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L387", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_tests_jeannie_unit_test_pimox_worker_net0_config_defaults_to_deterministic_mac", "target": "$graphify-root$_tests_jeannie_unit_assert_eq", "relation": "calls", "confidence": "EXTRACTED", "source_file": "tests/jeannie-unit", "source_location": "L392", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_tests_jeannie_unit__entry", "source_file": "tests/jeannie-unit", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_tests_jeannie_unit__entry", "source_file": "tests/jeannie-unit", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_tests_jeannie_unit__entry", "source_file": "tests/jeannie-unit", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_tests_jeannie_unit__entry", "source_file": "tests/jeannie-unit", "source_location": "L4"}, {"language": "bash", "callee": "mktemp", "caller_nid": "$graphify-root$_tests_jeannie_unit__entry", "source_file": "tests/jeannie-unit", "source_location": "L6"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_tests_jeannie_unit__entry", "source_file": "tests/jeannie-unit", "source_location": "L11"}, {"language": "bash", "callee": "trap", "caller_nid": "$graphify-root$_tests_jeannie_unit__entry", "source_file": "tests/jeannie-unit", "source_location": "L22"}, {"language": "bash", "callee": "cp", "caller_nid": "$graphify-root$_tests_jeannie_unit__entry", "source_file": "tests/jeannie-unit", "source_location": "L26"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_tests_jeannie_unit__entry", "source_file": "tests/jeannie-unit", "source_location": "L30"}, {"language": "bash", "callee": "chmod", "caller_nid": "$graphify-root$_tests_jeannie_unit__entry", "source_file": "tests/jeannie-unit", "source_location": "L34"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_tests_jeannie_unit__entry", "source_file": "tests/jeannie-unit", "source_location": "L417"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_tests_jeannie_unit__entry", "source_file": "tests/jeannie-unit", "source_location": "L418"}, {"language": "bash", "callee": "rm", "caller_nid": "$graphify-root$_tests_jeannie_unit_cleanup", "source_file": "tests/jeannie-unit", "source_location": "L15"}, {"language": "bash", "callee": "cp", "caller_nid": "$graphify-root$_tests_jeannie_unit_cleanup", "source_file": "tests/jeannie-unit", "source_location": "L17"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_tests_jeannie_unit_pass", "source_file": "tests/jeannie-unit", "source_location": "L83"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_tests_jeannie_unit_fail", "source_file": "tests/jeannie-unit", "source_location": "L87"}, {"language": "bash", "callee": "grep", "caller_nid": "$graphify-root$_tests_jeannie_unit_assert_contains", "source_file": "tests/jeannie-unit", "source_location": "L108"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_tests_jeannie_unit_assert_command_success", "source_file": "tests/jeannie-unit", "source_location": "L117"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_tests_jeannie_unit_assert_command_failure_contains", "source_file": "tests/jeannie-unit", "source_location": "L129"}, {"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_tests_jeannie_unit_assert_command_failure_contains", "source_file": "tests/jeannie-unit", "source_location": "L133"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_tests_jeannie_unit_assert_command_failure_contains", "source_file": "tests/jeannie-unit", "source_location": "L139"}, {"language": "bash", "callee": "cluster_worker_targets", "caller_nid": "$graphify-root$_tests_jeannie_unit_test_cluster_worker_targets_include_pimox_and_manual_workers", "source_file": "tests/jeannie-unit", "source_location": "L163"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_tests_jeannie_unit_test_cluster_worker_targets_include_pimox_and_manual_workers", "source_file": "tests/jeannie-unit", "source_location": "L165"}, {"language": "bash", "callee": "sort", "caller_nid": "$graphify-root$_tests_jeannie_unit_test_cluster_worker_targets_include_pimox_and_manual_workers", "source_file": "tests/jeannie-unit", "source_location": "L165"}, {"language": "bash", "callee": "paste", "caller_nid": "$graphify-root$_tests_jeannie_unit_test_cluster_worker_targets_include_pimox_and_manual_workers", "source_file": "tests/jeannie-unit", "source_location": "L165"}, {"language": "bash", "callee": "prepare_cluster_worker_var_file", "caller_nid": "$graphify-root$_tests_jeannie_unit_test_prepare_cluster_worker_var_file_merges_manual_and_pimox_workers", "source_file": "tests/jeannie-unit", "source_location": "L174"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_tests_jeannie_unit_test_prepare_cluster_worker_var_file_merges_manual_and_pimox_workers", "source_file": "tests/jeannie-unit", "source_location": "L175"}, {"language": "bash", "callee": "prepare_cluster_worker_var_file", "caller_nid": "$graphify-root$_tests_jeannie_unit_test_prepare_cluster_worker_var_file_excludes_manual_by_default", "source_file": "tests/jeannie-unit", "source_location": "L199"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_tests_jeannie_unit_test_prepare_cluster_worker_var_file_excludes_manual_by_default", "source_file": "tests/jeannie-unit", "source_location": "L200"}, {"language": "bash", "callee": "prepare_cluster_worker_var_file", "caller_nid": "$graphify-root$_tests_jeannie_unit_test_prepare_cluster_worker_var_file_can_include_raspberry_worker", "source_file": "tests/jeannie-unit", "source_location": "L220"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_tests_jeannie_unit_test_prepare_cluster_worker_var_file_can_include_raspberry_worker", "source_file": "tests/jeannie-unit", "source_location": "L221"}, {"language": "bash", "callee": "rm", "caller_nid": "$graphify-root$_tests_jeannie_unit_test_prepare_cluster_worker_var_file_rebuilds_static_pimox_spec", "source_file": "tests/jeannie-unit", "source_location": "L238"}, {"language": "bash", "callee": "prepare_cluster_worker_var_file", "caller_nid": "$graphify-root$_tests_jeannie_unit_test_prepare_cluster_worker_var_file_rebuilds_static_pimox_spec", "source_file": "tests/jeannie-unit", "source_location": "L245"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_tests_jeannie_unit_test_prepare_cluster_worker_var_file_rebuilds_static_pimox_spec", "source_file": "tests/jeannie-unit", "source_location": "L246"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_tests_jeannie_unit_test_report_renderer_hides_ok_links", "source_file": "tests/jeannie-unit", "source_location": "L271"}, {"language": "bash", "callee": "grep", "caller_nid": "$graphify-root$_tests_jeannie_unit_test_report_renderer_hides_ok_links", "source_file": "tests/jeannie-unit", "source_location": "L274"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_tests_jeannie_unit_test_report_renderer_problems_only_hides_ok_rows", "source_file": "tests/jeannie-unit", "source_location": "L284"}, {"language": "bash", "callee": "grep", "caller_nid": "$graphify-root$_tests_jeannie_unit_test_report_renderer_problems_only_hides_ok_rows", "source_file": "tests/jeannie-unit", "source_location": "L287"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_tests_jeannie_unit_test_report_renderer_empty_problems_message", "source_file": "tests/jeannie-unit", "source_location": "L299"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_tests_jeannie_unit_test_inventory_validator_rejects_ip_drift", "source_file": "tests/jeannie-unit", "source_location": "L311"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_tests_jeannie_unit_test_heal_cooldown_escalates_to_diagnostics", "source_file": "tests/jeannie-unit", "source_location": "L328"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_tests_jeannie_unit_test_heal_cooldown_escalates_to_diagnostics", "source_file": "tests/jeannie-unit", "source_location": "L347"}, {"language": "bash", "callee": "pimox_worker_static_ip", "caller_nid": "$graphify-root$_tests_jeannie_unit_test_pimox_worker_static_ip_selection", "source_file": "tests/jeannie-unit", "source_location": "L377"}], "bash_sources": [{"target_path": "$graphify-root$/jeannie", "source_file": "$graphify-root$/tests/jeannie-unit", "source_location": "L80"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/5146b85d8a0229d718f58c9f979c38d4919857a3516ae2878378ac9d70c8d815.json b/graphify-out/cache/ast/v0.9.64-s4/5146b85d8a0229d718f58c9f979c38d4919857a3516ae2878378ac9d70c8d815.json
new file mode 100644
index 0000000..c17f634
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/5146b85d8a0229d718f58c9f979c38d4919857a3516ae2878378ac9d70c8d815.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_ai_scheduler", "label": "ai-scheduler", "file_type": "code", "source_file": "scripts/ai-scheduler", "source_location": "L1"}, {"id": "$graphify-root$_scripts_ai_scheduler_read_tsv", "label": "read_tsv()", "file_type": "code", "source_file": "scripts/ai-scheduler", "source_location": "L17", "_callable": true}, {"id": "path", "label": "Path", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/ai-scheduler"}, {"id": "$graphify-root$_scripts_ai_scheduler_as_bool", "label": "as_bool()", "file_type": "code", "source_file": "scripts/ai-scheduler", "source_location": "L22", "_callable": true}, {"id": "$graphify-root$_scripts_ai_scheduler_score_node", "label": "score_node()", "file_type": "code", "source_file": "scripts/ai-scheduler", "source_location": "L26", "_callable": true}, {"id": "$graphify-root$_scripts_ai_scheduler_recommend", "label": "recommend()", "file_type": "code", "source_file": "scripts/ai-scheduler", "source_location": "L64", "_callable": true}, {"id": "$graphify-root$_scripts_ai_scheduler_simulate", "label": "simulate()", "file_type": "code", "source_file": "scripts/ai-scheduler", "source_location": "L100", "_callable": true}, {"id": "$graphify-root$_scripts_ai_scheduler_main", "label": "main()", "file_type": "code", "source_file": "scripts/ai-scheduler", "source_location": "L109", "_callable": true}, {"id": "$graphify-root$_scripts_ai_scheduler_rationale_2", "label": "Simulate placement for AI-ish homelab workloads.", "file_type": "rationale", "source_file": "scripts/ai-scheduler", "source_location": "L2"}], "edges": [{"source": "$graphify-root$_scripts_ai_scheduler", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/ai-scheduler", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_scheduler", "target": "csv", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/ai-scheduler", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_scheduler", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/ai-scheduler", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_scheduler", "target": "$graphify-root$_scripts_ai_scheduler_read_tsv", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/ai-scheduler", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_scheduler_read_tsv", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/ai-scheduler", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_scheduler", "target": "$graphify-root$_scripts_ai_scheduler_as_bool", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/ai-scheduler", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_scheduler", "target": "$graphify-root$_scripts_ai_scheduler_score_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/ai-scheduler", "source_location": "L26", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_scheduler", "target": "$graphify-root$_scripts_ai_scheduler_recommend", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/ai-scheduler", "source_location": "L64", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_scheduler", "target": "$graphify-root$_scripts_ai_scheduler_simulate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/ai-scheduler", "source_location": "L100", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_scheduler", "target": "$graphify-root$_scripts_ai_scheduler_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/ai-scheduler", "source_location": "L109", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_scheduler_score_node", "target": "$graphify-root$_scripts_ai_scheduler_as_bool", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/ai-scheduler", "source_location": "L45", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_scheduler_recommend", "target": "$graphify-root$_scripts_ai_scheduler_read_tsv", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/ai-scheduler", "source_location": "L65", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_scheduler_recommend", "target": "$graphify-root$_scripts_ai_scheduler_score_node", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/ai-scheduler", "source_location": "L76", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_scheduler_simulate", "target": "$graphify-root$_scripts_ai_scheduler_read_tsv", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/ai-scheduler", "source_location": "L102", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_scheduler_simulate", "target": "$graphify-root$_scripts_ai_scheduler_recommend", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/ai-scheduler", "source_location": "L104", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_scheduler_main", "target": "$graphify-root$_scripts_ai_scheduler_simulate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/ai-scheduler", "source_location": "L117", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_scheduler_main", "target": "$graphify-root$_scripts_ai_scheduler_recommend", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/ai-scheduler", "source_location": "L119", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_scheduler_rationale_2", "target": "$graphify-root$_scripts_ai_scheduler", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/ai-scheduler", "source_location": "L2", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_ai_scheduler_read_tsv", "callee": "open", "is_member_call": true, "source_file": "scripts/ai-scheduler", "source_location": "L18", "receiver": "path"}, {"caller_nid": "$graphify-root$_scripts_ai_scheduler_read_tsv", "callee": "DictReader", "is_member_call": true, "source_file": "scripts/ai-scheduler", "source_location": "L19", "receiver": "csv"}, {"caller_nid": "$graphify-root$_scripts_ai_scheduler_read_tsv", "callee": "handle", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/ai-scheduler", "source_location": "L19"}, {"caller_nid": "$graphify-root$_scripts_ai_scheduler_as_bool", "callee": "lower", "is_member_call": true, "source_file": "scripts/ai-scheduler", "source_location": "L23", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_ai_scheduler_as_bool", "callee": "strip", "is_member_call": true, "source_file": "scripts/ai-scheduler", "source_location": "L23", "receiver": "value"}, {"caller_nid": "$graphify-root$_scripts_ai_scheduler_score_node", "callee": "append", "is_member_call": true, "source_file": "scripts/ai-scheduler", "source_location": "L36", "receiver": "blockers"}, {"caller_nid": "$graphify-root$_scripts_ai_scheduler_score_node", "callee": "append", "is_member_call": true, "source_file": "scripts/ai-scheduler", "source_location": "L38", "receiver": "reasons"}, {"caller_nid": "$graphify-root$_scripts_ai_scheduler_score_node", "callee": "append", "is_member_call": true, "source_file": "scripts/ai-scheduler", "source_location": "L41", "receiver": "blockers"}, {"caller_nid": "$graphify-root$_scripts_ai_scheduler_score_node", "callee": "append", "is_member_call": true, "source_file": "scripts/ai-scheduler", "source_location": "L43", "receiver": "reasons"}, {"caller_nid": "$graphify-root$_scripts_ai_scheduler_score_node", "callee": "append", "is_member_call": true, "source_file": "scripts/ai-scheduler", "source_location": "L46", "receiver": "blockers"}, {"caller_nid": "$graphify-root$_scripts_ai_scheduler_score_node", "callee": "append", "is_member_call": true, "source_file": "scripts/ai-scheduler", "source_location": "L48", "receiver": "reasons"}, {"caller_nid": "$graphify-root$_scripts_ai_scheduler_score_node", "callee": "append", "is_member_call": true, "source_file": "scripts/ai-scheduler", "source_location": "L52", "receiver": "reasons"}, {"caller_nid": "$graphify-root$_scripts_ai_scheduler_score_node", "callee": "append", "is_member_call": true, "source_file": "scripts/ai-scheduler", "source_location": "L54", "receiver": "reasons"}, {"caller_nid": "$graphify-root$_scripts_ai_scheduler_score_node", "callee": "append", "is_member_call": true, "source_file": "scripts/ai-scheduler", "source_location": "L57", "receiver": "reasons"}, {"caller_nid": "$graphify-root$_scripts_ai_scheduler_score_node", "callee": "append", "is_member_call": true, "source_file": "scripts/ai-scheduler", "source_location": "L60", "receiver": "reasons"}, {"caller_nid": "$graphify-root$_scripts_ai_scheduler_recommend", "callee": "WORKLOADS_FILE", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/ai-scheduler", "source_location": "L65"}, {"caller_nid": "$graphify-root$_scripts_ai_scheduler_recommend", "callee": "NODES_FILE", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/ai-scheduler", "source_location": "L66"}, {"caller_nid": "$graphify-root$_scripts_ai_scheduler_recommend", "callee": "append", "is_member_call": true, "source_file": "scripts/ai-scheduler", "source_location": "L77", "receiver": "rows"}, {"caller_nid": "$graphify-root$_scripts_ai_scheduler_recommend", "callee": "sort", "is_member_call": true, "source_file": "scripts/ai-scheduler", "source_location": "L78", "receiver": "rows"}, {"caller_nid": "$graphify-root$_scripts_ai_scheduler_recommend", "callee": "join", "is_member_call": true, "source_file": "scripts/ai-scheduler", "source_location": "L88", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_ai_scheduler_recommend", "callee": "join", "is_member_call": true, "source_file": "scripts/ai-scheduler", "source_location": "L89", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_ai_scheduler_simulate", "callee": "WORKLOADS_FILE", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/ai-scheduler", "source_location": "L102"}, {"caller_nid": "$graphify-root$_scripts_ai_scheduler_main", "callee": "ArgumentParser", "is_member_call": true, "source_file": "scripts/ai-scheduler", "source_location": "L110", "receiver": "argparse"}, {"caller_nid": "$graphify-root$_scripts_ai_scheduler_main", "callee": "__doc__", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/ai-scheduler", "source_location": "L110"}, {"caller_nid": "$graphify-root$_scripts_ai_scheduler_main", "callee": "add_subparsers", "is_member_call": true, "source_file": "scripts/ai-scheduler", "source_location": "L111", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_ai_scheduler_main", "callee": "add_parser", "is_member_call": true, "source_file": "scripts/ai-scheduler", "source_location": "L112", "receiver": "subparsers"}, {"caller_nid": "$graphify-root$_scripts_ai_scheduler_main", "callee": "add_parser", "is_member_call": true, "source_file": "scripts/ai-scheduler", "source_location": "L113", "receiver": "subparsers"}, {"caller_nid": "$graphify-root$_scripts_ai_scheduler_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/ai-scheduler", "source_location": "L114", "receiver": "rec"}, {"caller_nid": "$graphify-root$_scripts_ai_scheduler_main", "callee": "parse_args", "is_member_call": true, "source_file": "scripts/ai-scheduler", "source_location": "L115", "receiver": "parser"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/52df0ec5b199fa739ecc25a73ea373344370f9974b04b3514bfca9c8512b9978.json b/graphify-out/cache/ast/v0.9.64-s4/52df0ec5b199fa739ecc25a73ea373344370f9974b04b3514bfca9c8512b9978.json
new file mode 100644
index 0000000..6febcc2
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/52df0ec5b199fa739ecc25a73ea373344370f9974b04b3514bfca9c8512b9978.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_security_scan", "label": "security-scan", "file_type": "code", "source_file": "scripts/security-scan", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_security_scan__entry", "label": "security-scan script", "file_type": "code", "source_file": "scripts/security-scan", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_security_scan_truthy", "label": "truthy()", "file_type": "code", "source_file": "scripts/security-scan", "source_location": "L14", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_scan_usage", "label": "usage()", "file_type": "code", "source_file": "scripts/security-scan", "source_location": "L25", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_scan_timestamp", "label": "timestamp()", "file_type": "code", "source_file": "scripts/security-scan", "source_location": "L39", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_scan_ensure_report_dir", "label": "ensure_report_dir()", "file_type": "code", "source_file": "scripts/security-scan", "source_location": "L43", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_scan_require_docker", "label": "require_docker()", "file_type": "code", "source_file": "scripts/security-scan", "source_location": "L47", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_scan_prepare_security_scans", "label": "prepare_security_scans()", "file_type": "code", "source_file": "scripts/security-scan", "source_location": "L54", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_scan_run_trivy", "label": "run_trivy()", "file_type": "code", "source_file": "scripts/security-scan", "source_location": "L90", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_scan_run_gitleaks", "label": "run_gitleaks()", "file_type": "code", "source_file": "scripts/security-scan", "source_location": "L114", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_scan_scan_targets", "label": "scan_targets()", "file_type": "code", "source_file": "scripts/security-scan", "source_location": "L143", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_scan_safe_target_name", "label": "safe_target_name()", "file_type": "code", "source_file": "scripts/security-scan", "source_location": "L159", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_scan_run_zap", "label": "run_zap()", "file_type": "code", "source_file": "scripts/security-scan", "source_location": "L163", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_scan_run_nuclei", "label": "run_nuclei()", "file_type": "code", "source_file": "scripts/security-scan", "source_location": "L188", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_scan_header_value", "label": "header_value()", "file_type": "code", "source_file": "scripts/security-scan", "source_location": "L215", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_scan_run_security_web", "label": "run_security_web()", "file_type": "code", "source_file": "scripts/security-scan", "source_location": "L230", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_scan_run_kube_bench", "label": "run_kube_bench()", "file_type": "code", "source_file": "scripts/security-scan", "source_location": "L316", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_scan_lynis_findings", "label": "lynis_findings()", "file_type": "code", "source_file": "scripts/security-scan", "source_location": "L330", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_scan_print_lynis_fallback_focus", "label": "print_lynis_fallback_focus()", "file_type": "code", "source_file": "scripts/security-scan", "source_location": "L337", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_scan_print_lynis_llm_focus", "label": "print_lynis_llm_focus()", "file_type": "code", "source_file": "scripts/security-scan", "source_location": "L359", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_scan_print_lynis_focus", "label": "print_lynis_focus()", "file_type": "code", "source_file": "scripts/security-scan", "source_location": "L459", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_scan_run_lynis_host", "label": "run_lynis_host()", "file_type": "code", "source_file": "scripts/security-scan", "source_location": "L479", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_security_scan", "target": "$graphify-root$_scripts_security_scan__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_scan", "target": "$graphify-root$_scripts_security_scan_truthy", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_scan", "target": "$graphify-root$_scripts_security_scan_usage", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L25", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_scan", "target": "$graphify-root$_scripts_security_scan_timestamp", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L39", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_scan", "target": "$graphify-root$_scripts_security_scan_ensure_report_dir", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L43", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_scan", "target": "$graphify-root$_scripts_security_scan_require_docker", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L47", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_scan", "target": "$graphify-root$_scripts_security_scan_prepare_security_scans", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L54", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_scan", "target": "$graphify-root$_scripts_security_scan_run_trivy", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L90", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_scan", "target": "$graphify-root$_scripts_security_scan_run_gitleaks", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L114", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_scan", "target": "$graphify-root$_scripts_security_scan_scan_targets", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L143", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_scan", "target": "$graphify-root$_scripts_security_scan_safe_target_name", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L159", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_scan", "target": "$graphify-root$_scripts_security_scan_run_zap", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L163", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_scan", "target": "$graphify-root$_scripts_security_scan_run_nuclei", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L188", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_scan", "target": "$graphify-root$_scripts_security_scan_header_value", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L215", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_scan", "target": "$graphify-root$_scripts_security_scan_run_security_web", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L230", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_scan", "target": "$graphify-root$_scripts_security_scan_run_kube_bench", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L316", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_scan", "target": "$graphify-root$_scripts_security_scan_lynis_findings", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L330", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_scan", "target": "$graphify-root$_scripts_security_scan_print_lynis_fallback_focus", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L337", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_scan", "target": "$graphify-root$_scripts_security_scan_print_lynis_llm_focus", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L359", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_scan", "target": "$graphify-root$_scripts_security_scan_print_lynis_focus", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L459", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_scan", "target": "$graphify-root$_scripts_security_scan_run_lynis_host", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L479", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_scan__entry", "target": "$graphify-root$_scripts_security_scan_run_trivy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L516", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan__entry", "target": "$graphify-root$_scripts_security_scan_run_gitleaks", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L517", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan__entry", "target": "$graphify-root$_scripts_security_scan_run_zap", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L518", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan__entry", "target": "$graphify-root$_scripts_security_scan_prepare_security_scans", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L521", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan__entry", "target": "$graphify-root$_scripts_security_scan_run_nuclei", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L533", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan__entry", "target": "$graphify-root$_scripts_security_scan_run_security_web", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L536", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan__entry", "target": "$graphify-root$_scripts_security_scan_run_kube_bench", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L539", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan__entry", "target": "$graphify-root$_scripts_security_scan_run_lynis_host", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L542", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan__entry", "target": "$graphify-root$_scripts_security_scan_usage", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L545", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_prepare_security_scans", "target": "$graphify-root$_scripts_security_scan_ensure_report_dir", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L64", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_prepare_security_scans", "target": "$graphify-root$_scripts_security_scan_require_docker", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L65", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_run_trivy", "target": "$graphify-root$_scripts_security_scan_timestamp", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L92", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_run_trivy", "target": "$graphify-root$_scripts_security_scan_ensure_report_dir", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L93", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_run_trivy", "target": "$graphify-root$_scripts_security_scan_require_docker", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L100", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_run_gitleaks", "target": "$graphify-root$_scripts_security_scan_timestamp", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L117", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_run_gitleaks", "target": "$graphify-root$_scripts_security_scan_ensure_report_dir", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L118", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_run_gitleaks", "target": "$graphify-root$_scripts_security_scan_require_docker", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L129", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_run_zap", "target": "$graphify-root$_scripts_security_scan_timestamp", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L167", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_run_zap", "target": "$graphify-root$_scripts_security_scan_ensure_report_dir", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L168", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_run_zap", "target": "$graphify-root$_scripts_security_scan_require_docker", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L169", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_run_zap", "target": "$graphify-root$_scripts_security_scan_safe_target_name", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L174", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_run_nuclei", "target": "$graphify-root$_scripts_security_scan_timestamp", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L192", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_run_nuclei", "target": "$graphify-root$_scripts_security_scan_ensure_report_dir", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L193", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_run_nuclei", "target": "$graphify-root$_scripts_security_scan_require_docker", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L194", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_run_nuclei", "target": "$graphify-root$_scripts_security_scan_safe_target_name", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L199", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_run_security_web", "target": "$graphify-root$_scripts_security_scan_timestamp", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L247", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_run_security_web", "target": "$graphify-root$_scripts_security_scan_ensure_report_dir", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L248", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_run_security_web", "target": "$graphify-root$_scripts_security_scan_safe_target_name", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L259", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_run_kube_bench", "target": "$graphify-root$_scripts_security_scan_timestamp", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L318", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_run_kube_bench", "target": "$graphify-root$_scripts_security_scan_ensure_report_dir", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L319", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_run_kube_bench", "target": "$graphify-root$_scripts_security_scan_require_docker", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L320", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_print_lynis_llm_focus", "target": "$graphify-root$_scripts_security_scan_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L367", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_print_lynis_focus", "target": "$graphify-root$_scripts_security_scan_lynis_findings", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L472", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_print_lynis_focus", "target": "$graphify-root$_scripts_security_scan_print_lynis_llm_focus", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L473", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_print_lynis_focus", "target": "$graphify-root$_scripts_security_scan_print_lynis_fallback_focus", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L474", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_run_lynis_host", "target": "$graphify-root$_scripts_security_scan_timestamp", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L483", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_run_lynis_host", "target": "$graphify-root$_scripts_security_scan_ensure_report_dir", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L484", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_scan_run_lynis_host", "target": "$graphify-root$_scripts_security_scan_print_lynis_focus", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-scan", "source_location": "L509", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_security_scan__entry", "source_file": "scripts/security-scan", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_security_scan__entry", "source_file": "scripts/security-scan", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_security_scan__entry", "source_file": "scripts/security-scan", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_security_scan__entry", "source_file": "scripts/security-scan", "source_location": "L4"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_security_scan__entry", "source_file": "scripts/security-scan", "source_location": "L549"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_security_scan_truthy", "source_file": "scripts/security-scan", "source_location": "L17"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_security_scan_usage", "source_file": "scripts/security-scan", "source_location": "L26"}, {"language": "bash", "callee": "date", "caller_nid": "$graphify-root$_scripts_security_scan_timestamp", "source_file": "scripts/security-scan", "source_location": "L40"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_scripts_security_scan_ensure_report_dir", "source_file": "scripts/security-scan", "source_location": "L44"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_security_scan_require_docker", "source_file": "scripts/security-scan", "source_location": "L48"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_security_scan_require_docker", "source_file": "scripts/security-scan", "source_location": "L49"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_security_scan_require_docker", "source_file": "scripts/security-scan", "source_location": "L50"}, {"language": "bash", "callee": "docker", "caller_nid": "$graphify-root$_scripts_security_scan_prepare_security_scans", "source_file": "scripts/security-scan", "source_location": "L67"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_security_scan_prepare_security_scans", "source_file": "scripts/security-scan", "source_location": "L68"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_security_scan_prepare_security_scans", "source_file": "scripts/security-scan", "source_location": "L69"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_security_scan_run_trivy", "source_file": "scripts/security-scan", "source_location": "L95"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_security_scan_run_trivy", "source_file": "scripts/security-scan", "source_location": "L96"}, {"language": "bash", "callee": "trivy", "caller_nid": "$graphify-root$_scripts_security_scan_run_trivy", "source_file": "scripts/security-scan", "source_location": "L97"}, {"language": "bash", "callee": "docker", "caller_nid": "$graphify-root$_scripts_security_scan_run_trivy", "source_file": "scripts/security-scan", "source_location": "L101"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_security_scan_run_gitleaks", "source_file": "scripts/security-scan", "source_location": "L121"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_security_scan_run_gitleaks", "source_file": "scripts/security-scan", "source_location": "L122"}, {"language": "bash", "callee": "gitleaks", "caller_nid": "$graphify-root$_scripts_security_scan_run_gitleaks", "source_file": "scripts/security-scan", "source_location": "L123"}, {"language": "bash", "callee": "docker", "caller_nid": "$graphify-root$_scripts_security_scan_run_gitleaks", "source_file": "scripts/security-scan", "source_location": "L130"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_security_scan_scan_targets", "source_file": "scripts/security-scan", "source_location": "L147"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_security_scan_scan_targets", "source_file": "scripts/security-scan", "source_location": "L148"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_security_scan_scan_targets", "source_file": "scripts/security-scan", "source_location": "L152"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_security_scan_scan_targets", "source_file": "scripts/security-scan", "source_location": "L153"}, {"language": "bash", "callee": "sed", "caller_nid": "$graphify-root$_scripts_security_scan_scan_targets", "source_file": "scripts/security-scan", "source_location": "L156"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_security_scan_safe_target_name", "source_file": "scripts/security-scan", "source_location": "L160"}, {"language": "bash", "callee": "sed", "caller_nid": "$graphify-root$_scripts_security_scan_safe_target_name", "source_file": "scripts/security-scan", "source_location": "L160"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_security_scan_run_zap", "source_file": "scripts/security-scan", "source_location": "L171"}, {"language": "bash", "callee": "read", "caller_nid": "$graphify-root$_scripts_security_scan_run_zap", "source_file": "scripts/security-scan", "source_location": "L172"}, {"language": "bash", "callee": "continue", "caller_nid": "$graphify-root$_scripts_security_scan_run_zap", "source_file": "scripts/security-scan", "source_location": "L173"}, {"language": "bash", "callee": "docker", "caller_nid": "$graphify-root$_scripts_security_scan_run_zap", "source_file": "scripts/security-scan", "source_location": "L176"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_security_scan_run_nuclei", "source_file": "scripts/security-scan", "source_location": "L196"}, {"language": "bash", "callee": "read", "caller_nid": "$graphify-root$_scripts_security_scan_run_nuclei", "source_file": "scripts/security-scan", "source_location": "L197"}, {"language": "bash", "callee": "continue", "caller_nid": "$graphify-root$_scripts_security_scan_run_nuclei", "source_file": "scripts/security-scan", "source_location": "L198"}, {"language": "bash", "callee": "docker", "caller_nid": "$graphify-root$_scripts_security_scan_run_nuclei", "source_file": "scripts/security-scan", "source_location": "L201"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_scripts_security_scan_header_value", "source_file": "scripts/security-scan", "source_location": "L219"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_security_scan_run_security_web", "source_file": "scripts/security-scan", "source_location": "L252"}, {"language": "bash", "callee": "read", "caller_nid": "$graphify-root$_scripts_security_scan_run_security_web", "source_file": "scripts/security-scan", "source_location": "L257"}, {"language": "bash", "callee": "continue", "caller_nid": "$graphify-root$_scripts_security_scan_run_security_web", "source_file": "scripts/security-scan", "source_location": "L258"}, {"language": "bash", "callee": "tee", "caller_nid": "$graphify-root$_scripts_security_scan_run_security_web", "source_file": "scripts/security-scan", "source_location": "L263"}, {"language": "bash", "callee": "curl", "caller_nid": "$graphify-root$_scripts_security_scan_run_security_web", "source_file": "scripts/security-scan", "source_location": "L270"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_security_scan_run_security_web", "source_file": "scripts/security-scan", "source_location": "L276"}, {"language": "bash", "callee": "rm", "caller_nid": "$graphify-root$_scripts_security_scan_run_security_web", "source_file": "scripts/security-scan", "source_location": "L306"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_security_scan_run_security_web", "source_file": "scripts/security-scan", "source_location": "L312"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_security_scan_run_kube_bench", "source_file": "scripts/security-scan", "source_location": "L322"}, {"language": "bash", "callee": "docker", "caller_nid": "$graphify-root$_scripts_security_scan_run_kube_bench", "source_file": "scripts/security-scan", "source_location": "L323"}, {"language": "bash", "callee": "tee", "caller_nid": "$graphify-root$_scripts_security_scan_run_kube_bench", "source_file": "scripts/security-scan", "source_location": "L327"}, {"language": "bash", "callee": "sed", "caller_nid": "$graphify-root$_scripts_security_scan_lynis_findings", "source_file": "scripts/security-scan", "source_location": "L333"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_scripts_security_scan_lynis_findings", "source_file": "scripts/security-scan", "source_location": "L334"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_scripts_security_scan_print_lynis_fallback_focus", "source_file": "scripts/security-scan", "source_location": "L341"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_security_scan_print_lynis_fallback_focus", "source_file": "scripts/security-scan", "source_location": "L347"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_security_scan_print_lynis_fallback_focus", "source_file": "scripts/security-scan", "source_location": "L349"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_security_scan_print_lynis_llm_focus", "source_file": "scripts/security-scan", "source_location": "L368"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_security_scan_print_lynis_llm_focus", "source_file": "scripts/security-scan", "source_location": "L370"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_security_scan_print_lynis_llm_focus", "source_file": "scripts/security-scan", "source_location": "L375"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_scripts_security_scan_print_lynis_llm_focus", "source_file": "scripts/security-scan", "source_location": "L378"}, {"language": "bash", "callee": "head", "caller_nid": "$graphify-root$_scripts_security_scan_print_lynis_llm_focus", "source_file": "scripts/security-scan", "source_location": "L378"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_scripts_security_scan_print_lynis_focus", "source_file": "scripts/security-scan", "source_location": "L464"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_security_scan_print_lynis_focus", "source_file": "scripts/security-scan", "source_location": "L464"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_security_scan_print_lynis_focus", "source_file": "scripts/security-scan", "source_location": "L466"}, {"language": "bash", "callee": "mktemp", "caller_nid": "$graphify-root$_scripts_security_scan_print_lynis_focus", "source_file": "scripts/security-scan", "source_location": "L471"}, {"language": "bash", "callee": "rm", "caller_nid": "$graphify-root$_scripts_security_scan_print_lynis_focus", "source_file": "scripts/security-scan", "source_location": "L476"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_security_scan_run_lynis_host", "source_file": "scripts/security-scan", "source_location": "L488"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_security_scan_run_lynis_host", "source_file": "scripts/security-scan", "source_location": "L489"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_security_scan_run_lynis_host", "source_file": "scripts/security-scan", "source_location": "L499"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_security_scan_run_lynis_host", "source_file": "scripts/security-scan", "source_location": "L502"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_scripts_security_scan_run_lynis_host", "source_file": "scripts/security-scan", "source_location": "L503"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_security_scan_run_lynis_host", "source_file": "scripts/security-scan", "source_location": "L510"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/56550540462c4064120ff997e7950c4e9c414ede0b5e2984ffb55896d15dd8ef.json b/graphify-out/cache/ast/v0.9.64-s4/56550540462c4064120ff997e7950c4e9c414ede0b5e2984ffb55896d15dd8ef.json
new file mode 100644
index 0000000..3c29cde
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/56550540462c4064120ff997e7950c4e9c414ede0b5e2984ffb55896d15dd8ef.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_access_audit", "label": "access-audit", "file_type": "code", "source_file": "scripts/access-audit", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_access_audit__entry", "label": "access-audit script", "file_type": "code", "source_file": "scripts/access-audit", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_access_audit_section", "label": "section()", "file_type": "code", "source_file": "scripts/access-audit", "source_location": "L7", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_access_audit_warn_file_mode", "label": "warn_file_mode()", "file_type": "code", "source_file": "scripts/access-audit", "source_location": "L11", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_access_audit_ssh_inventory", "label": "ssh_inventory()", "file_type": "code", "source_file": "scripts/access-audit", "source_location": "L30", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_access_audit_git_access", "label": "git_access()", "file_type": "code", "source_file": "scripts/access-audit", "source_location": "L40", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_access_audit_tailnet_access", "label": "tailnet_access()", "file_type": "code", "source_file": "scripts/access-audit", "source_location": "L55", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_access_audit_kubernetes_access", "label": "kubernetes_access()", "file_type": "code", "source_file": "scripts/access-audit", "source_location": "L68", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_access_audit_runner_access", "label": "runner_access()", "file_type": "code", "source_file": "scripts/access-audit", "source_location": "L104", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_access_audit_main", "label": "main()", "file_type": "code", "source_file": "scripts/access-audit", "source_location": "L114", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_access_audit", "target": "$graphify-root$_scripts_access_audit__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/access-audit", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_access_audit", "target": "$graphify-root$_scripts_access_audit_section", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/access-audit", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_scripts_access_audit", "target": "$graphify-root$_scripts_access_audit_warn_file_mode", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/access-audit", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_scripts_access_audit", "target": "$graphify-root$_scripts_access_audit_ssh_inventory", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/access-audit", "source_location": "L30", "weight": 1.0}, {"source": "$graphify-root$_scripts_access_audit", "target": "$graphify-root$_scripts_access_audit_git_access", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/access-audit", "source_location": "L40", "weight": 1.0}, {"source": "$graphify-root$_scripts_access_audit", "target": "$graphify-root$_scripts_access_audit_tailnet_access", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/access-audit", "source_location": "L55", "weight": 1.0}, {"source": "$graphify-root$_scripts_access_audit", "target": "$graphify-root$_scripts_access_audit_kubernetes_access", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/access-audit", "source_location": "L68", "weight": 1.0}, {"source": "$graphify-root$_scripts_access_audit", "target": "$graphify-root$_scripts_access_audit_runner_access", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/access-audit", "source_location": "L104", "weight": 1.0}, {"source": "$graphify-root$_scripts_access_audit", "target": "$graphify-root$_scripts_access_audit_main", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/access-audit", "source_location": "L114", "weight": 1.0}, {"source": "$graphify-root$_scripts_access_audit__entry", "target": "$graphify-root$_scripts_access_audit_main", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/access-audit", "source_location": "L122", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_access_audit_ssh_inventory", "target": "$graphify-root$_scripts_access_audit_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/access-audit", "source_location": "L31", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_access_audit_ssh_inventory", "target": "$graphify-root$_scripts_access_audit_warn_file_mode", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/access-audit", "source_location": "L37", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_access_audit_git_access", "target": "$graphify-root$_scripts_access_audit_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/access-audit", "source_location": "L41", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_access_audit_tailnet_access", "target": "$graphify-root$_scripts_access_audit_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/access-audit", "source_location": "L56", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_access_audit_kubernetes_access", "target": "$graphify-root$_scripts_access_audit_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/access-audit", "source_location": "L69", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_access_audit_runner_access", "target": "$graphify-root$_scripts_access_audit_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/access-audit", "source_location": "L105", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_access_audit_main", "target": "$graphify-root$_scripts_access_audit_ssh_inventory", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/access-audit", "source_location": "L115", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_access_audit_main", "target": "$graphify-root$_scripts_access_audit_git_access", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/access-audit", "source_location": "L116", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_access_audit_main", "target": "$graphify-root$_scripts_access_audit_tailnet_access", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/access-audit", "source_location": "L117", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_access_audit_main", "target": "$graphify-root$_scripts_access_audit_kubernetes_access", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/access-audit", "source_location": "L118", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_access_audit_main", "target": "$graphify-root$_scripts_access_audit_runner_access", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/access-audit", "source_location": "L119", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_access_audit__entry", "source_file": "scripts/access-audit", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_access_audit__entry", "source_file": "scripts/access-audit", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_access_audit__entry", "source_file": "scripts/access-audit", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_access_audit__entry", "source_file": "scripts/access-audit", "source_location": "L4"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_access_audit_section", "source_file": "scripts/access-audit", "source_location": "L8"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_access_audit_warn_file_mode", "source_file": "scripts/access-audit", "source_location": "L16"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_access_audit_warn_file_mode", "source_file": "scripts/access-audit", "source_location": "L17"}, {"language": "bash", "callee": "stat", "caller_nid": "$graphify-root$_scripts_access_audit_warn_file_mode", "source_file": "scripts/access-audit", "source_location": "L19"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_access_audit_warn_file_mode", "source_file": "scripts/access-audit", "source_location": "L19"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_access_audit_ssh_inventory", "source_file": "scripts/access-audit", "source_location": "L32"}, {"language": "bash", "callee": "git", "caller_nid": "$graphify-root$_scripts_access_audit_git_access", "source_file": "scripts/access-audit", "source_location": "L42"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_access_audit_git_access", "source_file": "scripts/access-audit", "source_location": "L42"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_access_audit_git_access", "source_file": "scripts/access-audit", "source_location": "L44"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_access_audit_tailnet_access", "source_file": "scripts/access-audit", "source_location": "L57"}, {"language": "bash", "callee": "tailscale", "caller_nid": "$graphify-root$_scripts_access_audit_tailnet_access", "source_file": "scripts/access-audit", "source_location": "L58"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_access_audit_tailnet_access", "source_file": "scripts/access-audit", "source_location": "L58"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_access_audit_tailnet_access", "source_file": "scripts/access-audit", "source_location": "L61"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_access_audit_kubernetes_access", "source_file": "scripts/access-audit", "source_location": "L70"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_access_audit_kubernetes_access", "source_file": "scripts/access-audit", "source_location": "L71"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_access_audit_kubernetes_access", "source_file": "scripts/access-audit", "source_location": "L72"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_scripts_access_audit_kubernetes_access", "source_file": "scripts/access-audit", "source_location": "L80"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_access_audit_kubernetes_access", "source_file": "scripts/access-audit", "source_location": "L80"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_scripts_access_audit_kubernetes_access", "source_file": "scripts/access-audit", "source_location": "L93"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_access_audit_kubernetes_access", "source_file": "scripts/access-audit", "source_location": "L95"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_access_audit_runner_access", "source_file": "scripts/access-audit", "source_location": "L106"}, {"language": "bash", "callee": "systemctl", "caller_nid": "$graphify-root$_scripts_access_audit_runner_access", "source_file": "scripts/access-audit", "source_location": "L107"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_access_audit_runner_access", "source_file": "scripts/access-audit", "source_location": "L107"}, {"language": "bash", "callee": "sed", "caller_nid": "$graphify-root$_scripts_access_audit_runner_access", "source_file": "scripts/access-audit", "source_location": "L108"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_access_audit_runner_access", "source_file": "scripts/access-audit", "source_location": "L110"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/5b1da870ed79c8bf396c09a4b1a1077336f73d30e2f89f5d2eb57410e9d7bc93.json b/graphify-out/cache/ast/v0.9.64-s4/5b1da870ed79c8bf396c09a4b1a1077336f73d30e2f89f5d2eb57410e9d7bc93.json
new file mode 100644
index 0000000..e55203f
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/5b1da870ed79c8bf396c09a4b1a1077336f73d30e2f89f5d2eb57410e9d7bc93.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_bootstrap_provisioning_terraform_lock_hcl", "label": ".terraform.lock.hcl", "file_type": "code", "source_file": "bootstrap/provisioning/.terraform.lock.hcl", "source_location": null, "type": "terraform_file"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_provider_registry_opentofu_org_hashicorp_null", "label": "provider.registry.opentofu.org/hashicorp/null", "file_type": "code", "source_file": "bootstrap/provisioning/.terraform.lock.hcl", "source_location": "L4", "attributes": {"version": "3.3.0", "constraints": "~> 3.2", "hashes": ["h1:0r7+t8CqzjfBgHgEiJGBCw+McEUdRXliMdF+Hk29d8o=", "h1:EvvCOc4FJY3NitSm6BpzCcUPU53LayVCB/tPOxYmy7U=", "h1:IDVnZXNCh0u4LfeSazc9z1v/kNz+92Eej7ePWV6SbyE=", "h1:Iw2c0n9/4fS92N5WnJ3CCSwSUXZO953oHp9gj3pWCaM=", "h1:JofS1og3hPN0ANjH+gNjxrJyyk6znodpC/F0qhp4eEk=", "h1:QIBhsJ4+5+t0vFEgJwtezNLT31tsptFHOEyGAAhLR1o=", "h1:RjjoL9qRPwNTwLdtJsYUaFvunbPM2/oujf2DcUcitOE=", "h1:SSirA+z2VWTs1s+TCAx8vVKg9jh6cRjxqc8LYi2iQTI=", "h1:U2XZc7hxcpcWp/C2S9LtuGUimhMOD2UT5xAEJJQQQaU=", "h1:bPG+xE5UonkJv3y/Yn9Q7OfbP2qHU/QKiS31nwfe7S0=", "h1:eODLdk/pARc4yxChAFtwseVmBr+r5fF9yGOvUhwGEyM=", "h1:iFj1oM5ZPENspsPqK1kcvZzyP95jJE/CM0rlu0MfIss=", "h1:mdu+qpyVmjDDLMrcL1JFy+cSyF58I3TFJwB5NssCZ58=", "h1:tJmep6aoBeDH77XsYU65HAbi0RAjxtsmbCOXmnqT13U=", "h1:tdMTn1evBLd6KCeLqWdQXCpF07hBu3n5rY6N3rXw3Rc=", "zh:083dcc0bec53f8abfa3f2aa2ce9d732a9675338fd60ae7d61162e25db7cb08bf", "zh:19f7456b5a2ad16595860974714bfdb25b87bc16356ea9d5c7453892aaa27864", "zh:222c0ed1fed4e4c677ebe626104dbfdba66763e264de0d9c27c58ce60104ee69", "zh:271711d6caa7dd5a4e9b79fe8c679fab61a840bcf80040a0f5ebb425d1b27d97", "zh:5adcf35f30baaea13f80c2a2c774deb9369892719493049687e23476c9dff40f", "zh:5bcfd19df16e73d7f0ad75bd09e2b3b86cf6700d09822d585d68304b71de1d97", "zh:604edecf263e38674decb35bb4e0e048fdc951f26fa103c33065ff9728f0313b", "zh:782acbfb4fa4807e273e588fe45b4aaea9dd0fd1136f76ec3200f6f4db3af8d6", "zh:84411a596d528fe67294e5c1cfd0c2036b08802497bcc4215ce518924f3c9a4a", "zh:85e79eecf3f5348975cffec3016b0eba3baf605646102d4348796ccd2df2e5f6", "zh:95669535ca17aeefef307ebfd59ce6930953173baae5637e8cbbf0297ec7ad58", "zh:d04d9b177747bfd66b4a45b5d911a2a7822aa8451f5e35621971fb7a4206b530", "zh:e6d9c924475283e90833450a14a732f4deb6d9bb131db8f86ab856e894270836", "zh:ebcab0c8a1334c86ed7cfa53f571a17ad6d27e9901f27a8854ea622a74b54bb6", "zh:ef9c757bb2c83d2103811a3d86b6ec5be06b0ffc337b84db1582d023bce7cdcd"]}}], "edges": [{"source": "$graphify-root$_bootstrap_provisioning_terraform_lock_hcl", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_provider_registry_opentofu_org_hashicorp_null", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/.terraform.lock.hcl", "source_location": "L4", "weight": 1.0}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/5cd1a305d010033b880e2b811d9c4ba6d773b9d74d60f185c8ee6a8f2d456d54.json b/graphify-out/cache/ast/v0.9.64-s4/5cd1a305d010033b880e2b811d9c4ba6d773b9d74d60f185c8ee6a8f2d456d54.json
new file mode 100644
index 0000000..bd158d1
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/5cd1a305d010033b880e2b811d9c4ba6d773b9d74d60f185c8ee6a8f2d456d54.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_bootstrap_platform_main_tf", "label": "main.tf", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": null, "type": "terraform_file"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_provider_kubernetes", "label": "provider.kubernetes", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L19", "attributes": {"config_path": "var.kubeconfig_path"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_provider_helm", "label": "provider.helm", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L23"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_nodelocal_dns_corefile", "label": "local.nodelocal_dns_corefile", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L30"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_metallb_ip_address_pool_manifest", "label": "local.metallb_ip_address_pool_manifest", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L79"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_metallb_l2_advertisement_manifest", "label": "local.metallb_l2_advertisement_manifest", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L91"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_metallb_l2_manifests", "label": "local.metallb_l2_manifests", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L103"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_platform_topology_key", "label": "local.platform_topology_key", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L108"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_prometheus_stack_node_selector", "label": "local.prometheus_stack_node_selector", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L109"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_grafana_dashboard_files", "label": "local.grafana_dashboard_files", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L110"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_argocd_node_selector", "label": "local.argocd_node_selector", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L111"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kyverno_node_selector", "label": "local.kyverno_node_selector", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L115"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_traefik_node_selector", "label": "local.traefik_node_selector", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L119"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_argocd_component_label_values", "label": "local.argocd_component_label_values", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L124"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_argocd_component_match_labels", "label": "local.argocd_component_match_labels", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L134"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_argocd_component_affinity", "label": "local.argocd_component_affinity", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L140"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_argocd_component_topology_spread_constraints", "label": "local.argocd_component_topology_spread_constraints", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L158"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kyverno_component_label_values", "label": "local.kyverno_component_label_values", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L171"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kyverno_component_match_labels", "label": "local.kyverno_component_match_labels", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L178"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kyverno_component_pod_anti_affinity", "label": "local.kyverno_component_pod_anti_affinity", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L184"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kyverno_component_topology_spread_constraints", "label": "local.kyverno_component_topology_spread_constraints", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L200"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_prometheus_operator_match_labels", "label": "local.prometheus_operator_match_labels", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L213"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kube_state_metrics_match_labels", "label": "local.kube_state_metrics_match_labels", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L218"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_prometheus_operator_affinity", "label": "local.prometheus_operator_affinity", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L223"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kube_state_metrics_affinity", "label": "local.kube_state_metrics_affinity", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L239"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_prometheus_operator_topology_spread_constraints", "label": "local.prometheus_operator_topology_spread_constraints", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L255"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kube_state_metrics_topology_spread_constraints", "label": "local.kube_state_metrics_topology_spread_constraints", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L266"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_calico_crds", "label": "helm_release.calico_crds", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L278", "attributes": {"name": "calico-crds", "repository": "var.calico.repository", "chart": "crd.projectcalico.org.v1", "version": "var.calico.version", "namespace": "var.calico.namespace", "create_namespace": true}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_calico_helm_recovery", "label": "null_resource.calico_helm_recovery", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L287", "attributes": {"depends_on": ["helm_release.calico_crds"], "triggers": {"kubeconfig_path": "var.kubeconfig_path", "namespace": "var.calico.namespace", "release_name": "calico", "release_version": "var.calico.version"}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_calico", "label": "helm_release.calico", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L316", "attributes": {"depends_on": ["null_resource.calico_helm_recovery"], "name": "calico", "repository": "var.calico.repository", "chart": "tigera-operator", "version": "var.calico.version", "namespace": "var.calico.namespace", "create_namespace": true, "timeout": 900, "wait": false, "cleanup_on_fail": true, "values": ["yamlencode({ manageCRDs = false nodeSelector = { \"kubernetes.io/os\" = \"linux\" \"kubernetes.io/hostname\" = var.calico_operator_node_name } resources = { requests = { cpu = \"50m\" memory = \"128Mi\" } limits = { cpu = \"200m\" memory = \"256Mi\" } } apiServer = { enabled = false } goldmane = { enabled = false } whisker = { enabled = false } installa"]}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_calico_ready", "label": "null_resource.calico_ready", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L446", "attributes": {"depends_on": ["helm_release.calico"], "triggers": {"kubeconfig_path": "var.kubeconfig_path", "calico_version": "var.calico.version", "pod_network_cidr": "var.pod_network_cidr", "calico_node_address_autodetection_cidrs": "join(\",\", var.calico_node_address_autodetection_cidrs)"}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_metrics_server", "label": "helm_release.metrics_server", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L507", "attributes": {"for_each": "var.metrics_server.enabled ? { enabled = true } : {}", "depends_on": ["null_resource.calico_ready"], "name": "metrics-server", "repository": "var.metrics_server.repository", "chart": "var.metrics_server.chart", "version": "var.metrics_server.version", "namespace": "var.metrics_server.namespace", "create_namespace": false, "timeout": 600, "wait": true, "values": ["yamlencode({ args = [ \"--kubelet-insecure-tls\", ] nodeSelector = local.prometheus_stack_node_selector resources = { requests = { cpu = \"50m\" memory = \"128Mi\" } limits = { cpu = \"200m\" memory = \"256Mi\" } } })"]}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_metrics_server_ready", "label": "null_resource.metrics_server_ready", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L540", "attributes": {"for_each": "var.metrics_server.enabled ? { enabled = true } : {}", "depends_on": ["helm_release.metrics_server"], "triggers": {"kubeconfig_path": "var.kubeconfig_path", "namespace": "var.metrics_server.namespace", "version": "var.metrics_server.version"}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_manifest_nodelocal_dns_service_account", "label": "kubernetes_manifest.nodelocal_dns_service_account", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L575", "attributes": {"for_each": "var.nodelocal_dns.enabled ? { enabled = true } : {}", "depends_on": ["null_resource.calico_ready"], "manifest": {"apiVersion": "v1", "kind": "ServiceAccount", "metadata": {"name": "node-local-dns", "namespace": "kube-system", "labels": {"kubernetes.io/cluster-service": "true", "addonmanager.kubernetes.io/mode": "Reconcile", "app.kubernetes.io/managed-by": "opentofu", "app.kubernetes.io/part-of": "nodelocal-dns", "app.kubernetes.io/name": "node-local-dns", "homelab.dev/platform-component": "nodelocal-dns", "homelab.dev/platform-component-id": "dns-cache"}}}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_manifest_nodelocal_dns_upstream_service", "label": "kubernetes_manifest.nodelocal_dns_upstream_service", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L599", "attributes": {"for_each": "var.nodelocal_dns.enabled ? { enabled = true } : {}", "depends_on": ["null_resource.calico_ready"], "manifest": {"apiVersion": "v1", "kind": "Service", "metadata": {"name": "kube-dns-upstream", "namespace": "kube-system", "labels": {"k8s-app": "kube-dns", "kubernetes.io/cluster-service": "true", "addonmanager.kubernetes.io/mode": "Reconcile", "kubernetes.io/name": "KubeDNSUpstream"}}, "spec": {"ports": [{"name": "dns", "port": 53, "protocol": "UDP", "targetPort": 53}, {"name": "dns-tcp", "port": 53, "protocol": "TCP", "targetPort": 53}], "selector": {"k8s-app": "kube-dns"}}}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_manifest_nodelocal_dns_config_map", "label": "kubernetes_manifest.nodelocal_dns_config_map", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L639", "attributes": {"for_each": "var.nodelocal_dns.enabled ? { enabled = true } : {}", "depends_on": ["null_resource.calico_ready"], "manifest": {"apiVersion": "v1", "kind": "ConfigMap", "metadata": {"name": "node-local-dns", "namespace": "kube-system", "labels": {"addonmanager.kubernetes.io/mode": "Reconcile", "app.kubernetes.io/managed-by": "opentofu", "app.kubernetes.io/name": "node-local-dns", "app.kubernetes.io/part-of": "nodelocal-dns"}}, "data": {"Corefile": "local.nodelocal_dns_corefile"}}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_manifest_nodelocal_dns_daemonset", "label": "kubernetes_manifest.nodelocal_dns_daemonset", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L663", "attributes": {"for_each": "var.nodelocal_dns.enabled ? { enabled = true } : {}", "depends_on": ["kubernetes_manifest.nodelocal_dns_service_account", "kubernetes_manifest.nodelocal_dns_upstream_service", "kubernetes_manifest.nodelocal_dns_config_map"], "manifest": {"apiVersion": "apps/v1", "kind": "DaemonSet", "metadata": {"name": "node-local-dns", "namespace": "kube-system", "labels": {"k8s-app": "node-local-dns", "kubernetes.io/cluster-service": "true", "addonmanager.kubernetes.io/mode": "Reconcile"}}, "spec": {"updateStrategy": {"rollingUpdate": {"maxUnavailable": "10%"}}, "selector": {"matchLabels": {"k8s-app": "node-local-dns"}}, "template": {"metadata": {"labels": {"k8s-app": "node-local-dns"}, "annotations": {"prometheus.io/port": "9253", "prometheus.io/scrape": "true"}}, "spec": {"priorityClassName": "system-node-critical", "serviceAccountName": "node-local-dns", "hostNetwork": true, "dnsPolicy": "Default", "nodeSelector": {"kubernetes.io/os": "linux"}, "tolerations": [{"key": "\"CriticalAddonsOnly\"", "operator": "\"Exists\""}, {"effect": "\"NoExecute\"", "operator": "\"Exists\""}, {"effect": "\"NoSchedule\"", "operator": "\"Exists\""}], "containers": [{"name": "\"node-cache\"", "image": "var.nodelocal_dns.image", "resources": "{ requests = { cpu = \"25m\" memory = \"5Mi\" } }", "args": "[ \"-localip\", \"${var.nodelocal_dns.local_ip},${var.nodelocal_dns.cluster_dns_ip}\", \"-conf\", \"/etc/Corefile\", \"-upstreamsvc\", \"kube-dns-upstream\", ]", "securityContext": "{ capabilities = { add = [\"NET_ADMIN\"] } }", "ports": "[ { containerPort = 53 name = \"dns\" protocol = \"UDP\" }, { containerPort = 53 name = \"dns-tcp\" protocol = \"TCP\" }, { containerPort = 9253 name = \"metrics\" protocol = \"TCP\" }, ]", "livenessProbe": "{ httpGet = { host = var.nodelocal_dns.local_ip path = \"/health\" port = 8080 } initialDelaySeconds = 60 timeoutSeconds = 5 }", "volumeMounts": "[ { mountPath = \"/run/xtables.lock\" name = \"xtables-lock\" }, { mountPath = \"/etc/coredns\" name = \"config-volume\" }, { mountPath = \"/etc/kube-dns\" name = \"kube-dns-config\" }, ]"}], "volumes": [{"name": "\"xtables-lock\"", "hostPath": "{ path = \"/run/xtables.lock\" type = \"FileOrCreate\" }"}, {"name": "\"kube-dns-config\"", "configMap": "{ name = \"kube-dns\" optional = true }"}, {"name": "\"config-volume\"", "configMap": "{ name = \"node-local-dns\" items = [ { key = \"Corefile\" path = \"Corefile.base\" }, ] }"}]}}}}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_manifest_nodelocal_dns_metrics_service", "label": "kubernetes_manifest.nodelocal_dns_metrics_service", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L826", "attributes": {"for_each": "var.nodelocal_dns.enabled ? { enabled = true } : {}", "depends_on": ["kubernetes_manifest.nodelocal_dns_daemonset"], "manifest": {"apiVersion": "v1", "kind": "Service", "metadata": {"name": "node-local-dns", "namespace": "kube-system", "annotations": {"prometheus.io/port": "9253", "prometheus.io/scrape": "true"}, "labels": {"k8s-app": "node-local-dns"}}, "spec": {"clusterIP": "None", "ports": [{"name": "metrics", "port": 9253, "targetPort": 9253}], "selector": {"k8s-app": "node-local-dns"}}}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_metallb", "label": "helm_release.metallb", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L861", "attributes": {"for_each": "var.metallb.enabled ? { enabled = true } : {}", "depends_on": ["null_resource.calico_ready"], "name": "metallb", "repository": "var.metallb.repository", "chart": "metallb", "version": "var.metallb.version", "namespace": "var.metallb.namespace", "create_namespace": true, "timeout": 600, "wait": true, "values": ["yamlencode({ controller = { resources = { requests = { cpu = \"50m\" memory = \"128Mi\" } limits = { cpu = \"200m\" memory = \"256Mi\" } } } frrk8s = { enabled = false } speaker = { resources = { requests = { cpu = \"50m\" memory = \"128Mi\" } limits = { cpu = \"200m\" memory = \"256Mi\" } } "]}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_metallb_l2_config", "label": "null_resource.metallb_l2_config", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L907", "attributes": {"for_each": "var.metallb.enabled && length(var.metallb.address_pool) > 0 ? { enabled = true } : {}", "depends_on": ["helm_release.metallb"], "triggers": {"kubeconfig_path": "var.kubeconfig_path", "manifest_hash": "sha256(local.metallb_l2_manifests)"}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_traefik", "label": "helm_release.traefik", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L932", "attributes": {"for_each": "var.traefik.enabled ? { enabled = true } : {}", "depends_on": ["null_resource.metallb_l2_config"], "name": "traefik", "repository": "var.traefik.repository", "chart": "traefik", "version": "var.traefik.chart_version", "namespace": "var.traefik.namespace", "create_namespace": true, "timeout": 600, "wait": true, "values": ["yamlencode({ deployment = { replicas = 1 } nodeSelector = local.traefik_node_selector ingressClass = { enabled = true isDefaultClass = true name = var.traefik.ingress_class } gateway = { enabled = false } gatewayClass = { enabled = false } providers = { kubernetesCRD = { enabled = true } kubernetesIngress = { enabled = true } } ports = { "]}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_openebs", "label": "helm_release.openebs", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L1009", "attributes": {"depends_on": ["null_resource.calico_ready"], "name": "openebs", "repository": "var.openebs.repository", "chart": "openebs", "version": "var.openebs.version", "namespace": "var.openebs.namespace", "create_namespace": true, "timeout": 600, "values": ["yamlencode({ \"localpv-provisioner\" = { localpv = { resources = { requests = { cpu = \"50m\" memory = \"128Mi\" } limits = { cpu = \"200m\" memory = \"256Mi\" } } } } engines = { local = { lvm = { enabled = false } zfs = { enabled = false } } replicated = { mayastor = { en"]}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_storage_class_v1_openebs_hostpath_retain", "label": "kubernetes_storage_class_v1.openebs_hostpath_retain", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L1060", "attributes": {"depends_on": ["helm_release.openebs"], "storage_provisioner": "openebs.io/local", "reclaim_policy": "Retain", "volume_binding_mode": "WaitForFirstConsumer", "allow_volume_expansion": true}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_namespace_v1_monitoring", "label": "kubernetes_namespace_v1.monitoring", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L1078", "attributes": {"depends_on": ["kubernetes_storage_class_v1.openebs_hostpath_retain"]}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_argocd", "label": "helm_release.argocd", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L1086", "attributes": {"depends_on": ["helm_release.openebs"], "name": "argocd", "repository": "var.argocd.repository", "chart": "argo-cd", "version": "var.argocd.version", "namespace": "var.argocd.namespace", "create_namespace": true, "timeout": 1200, "wait": false, "values": ["yamlencode({ global = { nodeSelector = local.argocd_node_selector } configs = { params = { \"server.insecure\" = true } } applicationSet = { nodeSelector = local.argocd_node_selector affinity = local.argocd_component_affinity.application_set topologySpreadConstraints = local.argocd_component_topology_spread_constraints.application_set resources = { requests = { cpu = \"100m\" "]}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_argocd_ready", "label": "null_resource.argocd_ready", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L1216", "attributes": {"depends_on": ["helm_release.argocd"], "triggers": {"kubeconfig_path": "var.kubeconfig_path", "namespace": "var.argocd.namespace", "version": "var.argocd.version", "node_selector": "jsonencode(local.argocd_node_selector)", "controller_resource_profile": "10m|1|2Gi", "readiness_check": "8"}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_argocd_private_repo", "label": "null_resource.argocd_private_repo", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L1295", "attributes": {"depends_on": ["null_resource.argocd_ready"], "triggers": {"kubeconfig_path": "var.kubeconfig_path", "namespace": "var.argocd.namespace", "secret_name": "[redacted]", "repo_url": "var.gitops_repo_url", "ssh_key_path": "var.gitops_ssh_key_path", "scan_revision": "timestamp()"}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_kyverno", "label": "helm_release.kyverno", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L1386", "attributes": {"depends_on": ["null_resource.calico_ready"], "name": "kyverno", "repository": "var.kyverno.repository", "chart": "kyverno", "version": "var.kyverno.chart_version", "namespace": "var.kyverno.namespace", "create_namespace": true, "timeout": 900, "wait": true, "values": ["yamlencode({ crds = { migration = { nodeSelector = local.kyverno_node_selector } } admissionController = { nodeSelector = local.kyverno_node_selector podAntiAffinity = local.kyverno_component_pod_anti_affinity.admissionController replicas = 1 topologySpreadConstraints = local.kyverno_component_topology_spread_constraints.admissionController resources = { requests = { cpu = "]}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_kyverno_policies", "label": "helm_release.kyverno_policies", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L1475", "attributes": {"depends_on": ["helm_release.kyverno"], "name": "kyverno-policies", "repository": "var.kyverno.repository", "chart": "kyverno-policies", "version": "var.kyverno.policies_version", "namespace": "var.kyverno.namespace", "create_namespace": false, "timeout": 600, "wait": true, "values": ["yamlencode({ podSecurityStandard = \"baseline\" podSecuritySeverity = \"medium\" validationFailureAction = \"Audit\" validationAllowExistingViolations = true failurePolicy = \"Ignore\" })"]}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_loki", "label": "helm_release.loki", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L1497", "attributes": {"depends_on": ["kubernetes_namespace_v1.monitoring"], "name": "loki", "repository": "var.observability.loki.repository", "chart": "var.observability.loki.chart", "version": "var.observability.loki.version", "namespace": "var.observability.namespace", "create_namespace": false, "timeout": 900, "wait": true, "values": ["yamlencode({ deploymentMode = \"SingleBinary\" loki = { auth_enabled = false commonConfig = { replication_factor = 1 } storage = { type = \"filesystem\" } schemaConfig = { configs = [ { from = \"2024-04-01\" store = \"tsdb\" object_store = \"filesystem\" schema = \"v13\" index = { prefix = \"loki_index_\" period = \"24h"]}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_mimir", "label": "helm_release.mimir", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L1604", "attributes": {"count": "var.observability.mimir.enabled ? 1 : 0", "depends_on": ["kubernetes_namespace_v1.monitoring"], "name": "mimir", "repository": "var.observability.mimir.repository", "chart": "var.observability.mimir.chart", "version": "var.observability.mimir.version", "namespace": "var.observability.namespace", "create_namespace": false, "timeout": 1200, "wait": true, "values": ["yamlencode({ mimir = { structuredConfig = { multitenancy_enabled = false ingester = { ring = { replication_factor = 1 } } } } alertmanager = { persistentVolume = { storageClass = var.openebs.retain_storage_class size = var.observability.mimir.alertmanager_storage_size } zoneAwareReplication = { enabled = false } } ingester = { replicas = 1"]}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_promtail", "label": "helm_release.promtail", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L1717", "attributes": {"depends_on": ["helm_release.loki"], "name": "promtail", "repository": "var.observability.promtail.repository", "chart": "var.observability.promtail.chart", "version": "var.observability.promtail.version", "namespace": "var.observability.namespace", "create_namespace": false, "timeout": 600, "wait": true, "values": ["yamlencode({ config = { clients = [ { url = \"http://loki.${var.observability.namespace}.svc:3100/loki/api/v1/push\" } ] } resources = { requests = { cpu = \"25m\" memory = \"64Mi\" } limits = { cpu = \"100m\" memory = \"128Mi\" } } })"]}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_prometheus_stack_helm_recovery", "label": "null_resource.prometheus_stack_helm_recovery", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L1751", "attributes": {"depends_on": ["helm_release.loki", "helm_release.mimir"], "triggers": {"kubeconfig_path": "var.kubeconfig_path", "namespace": "var.observability.namespace", "release_name": "prometheus-stack", "release_version": "var.observability.prometheus.version"}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_prometheus_stack", "label": "helm_release.prometheus_stack", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L1780", "attributes": {"depends_on": ["null_resource.prometheus_stack_helm_recovery"], "name": "prometheus-stack", "repository": "var.observability.prometheus.repository", "chart": "var.observability.prometheus.chart", "version": "var.observability.prometheus.version", "namespace": "var.observability.namespace", "create_namespace": false, "timeout": 600, "wait": false, "cleanup_on_fail": true, "values": ["yamlencode({ kubeControllerManager = { enabled = false } kubeEtcd = { enabled = false } kubeProxy = { enabled = false } kubeScheduler = { enabled = false } prometheusOperator = { affinity = local.prometheus_operator_affinity nodeSelector = local.prometheus_stack_node_selector topologySpreadConstraints = local.prometheus_operator_topology_spread_constraints tls = { enabl"]}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_prometheus_stack_readiness", "label": "null_resource.prometheus_stack_readiness", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L2033", "attributes": {"depends_on": ["helm_release.prometheus_stack"], "triggers": {"kubeconfig_path": "var.kubeconfig_path", "namespace": "var.observability.namespace", "release_version": "var.observability.prometheus.version"}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_config_map_grafana_dashboards", "label": "kubernetes_config_map.grafana_dashboards", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L2076", "attributes": {"for_each": "local.grafana_dashboard_files", "data": {"each.key": "file(\"${path.module}/grafana-dashboards/${each.key}\")"}, "depends_on": ["null_resource.prometheus_stack_readiness"]}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_extra_tools", "label": "helm_release.extra_tools", "file_type": "code", "source_file": "bootstrap/platform/main.tf", "source_location": "L2097", "attributes": {"for_each": "var.extra_helm_releases", "depends_on": ["null_resource.calico_ready"], "name": "each.key", "repository": "each.value.repository", "chart": "each.value.chart", "version": "each.value.version != \"\" ? each.value.version : null", "namespace": "each.value.namespace", "create_namespace": "each.value.create_namespace", "timeout": "each.value.timeout", "values": "each.value.values_yaml != \"\" ? [each.value.values_yaml] : []"}}], "edges": [{"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_provider_kubernetes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L19", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_provider_kubernetes", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_kubeconfig_path", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_provider_helm", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L23", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_provider_helm", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_kubeconfig_path", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L25", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_nodelocal_dns_corefile", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L30", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_nodelocal_dns_corefile", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_nodelocal_dns", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L31", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_metallb_ip_address_pool_manifest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L79", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_metallb_ip_address_pool_manifest", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_metallb", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L83", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_metallb_l2_advertisement_manifest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L91", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_metallb_l2_advertisement_manifest", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_metallb", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L95", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_metallb_l2_manifests", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L103", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_metallb_l2_manifests", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_metallb_ip_address_pool_manifest", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L104", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_metallb_l2_manifests", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_metallb", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L105", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_metallb_l2_manifests", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_metallb_l2_advertisement_manifest", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L105", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_platform_topology_key", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L108", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_prometheus_stack_node_selector", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L109", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_prometheus_stack_node_selector", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_prometheus_stack_node_selector", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L109", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_grafana_dashboard_files", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L110", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_argocd_node_selector", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L111", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kyverno_node_selector", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L115", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_traefik_node_selector", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L119", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_argocd_component_label_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L124", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_argocd_component_match_labels", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L134", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_argocd_component_match_labels", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_argocd_component_label_values", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L135", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_argocd_component_affinity", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L140", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_argocd_component_affinity", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_argocd_component_match_labels", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L141", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_argocd_component_affinity", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_platform_topology_key", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L150", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_argocd_component_topology_spread_constraints", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L158", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_argocd_component_topology_spread_constraints", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_argocd_component_match_labels", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L159", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_argocd_component_topology_spread_constraints", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_platform_topology_key", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L162", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kyverno_component_label_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L171", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kyverno_component_match_labels", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L178", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kyverno_component_match_labels", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kyverno_component_label_values", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L179", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kyverno_component_pod_anti_affinity", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L184", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kyverno_component_pod_anti_affinity", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kyverno_component_match_labels", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L185", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kyverno_component_pod_anti_affinity", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_platform_topology_key", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L193", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kyverno_component_topology_spread_constraints", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L200", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kyverno_component_topology_spread_constraints", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kyverno_component_match_labels", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L201", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kyverno_component_topology_spread_constraints", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_platform_topology_key", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L204", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_prometheus_operator_match_labels", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L213", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kube_state_metrics_match_labels", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L218", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_prometheus_operator_affinity", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L223", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_prometheus_operator_affinity", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_prometheus_operator_match_labels", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L230", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_prometheus_operator_affinity", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_platform_topology_key", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L232", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kube_state_metrics_affinity", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L239", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kube_state_metrics_affinity", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kube_state_metrics_match_labels", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L246", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kube_state_metrics_affinity", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_platform_topology_key", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L248", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_prometheus_operator_topology_spread_constraints", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L255", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_prometheus_operator_topology_spread_constraints", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_platform_topology_key", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L258", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_prometheus_operator_topology_spread_constraints", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_prometheus_operator_match_labels", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L261", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kube_state_metrics_topology_spread_constraints", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L266", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kube_state_metrics_topology_spread_constraints", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_platform_topology_key", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L269", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kube_state_metrics_topology_spread_constraints", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kube_state_metrics_match_labels", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L272", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_calico_crds", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L278", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_calico_crds", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_calico", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L280", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_calico_helm_recovery", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L287", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_calico_helm_recovery", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_calico_crds", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L288", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_calico_helm_recovery", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_kubeconfig_path", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L291", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_calico_helm_recovery", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_calico", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L292", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_calico", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L316", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_calico", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_calico_helm_recovery", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L317", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_calico", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_calico", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L319", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_calico", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_calico_operator_node_name", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L333", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_calico", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_calico_node_address_autodetection_cidrs", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L408", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_calico", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_pod_network_cidr", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L413", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_calico_ready", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L446", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_calico_ready", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_calico", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L447", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_calico_ready", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_kubeconfig_path", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L450", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_calico_ready", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_calico", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L451", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_calico_ready", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_pod_network_cidr", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L452", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_calico_ready", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_calico_node_address_autodetection_cidrs", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L453", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_metrics_server", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L507", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_metrics_server", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_metrics_server", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L508", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_metrics_server", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_calico_ready", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L510", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_metrics_server", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_prometheus_stack_node_selector", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L525", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_metrics_server_ready", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L540", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_metrics_server_ready", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_metrics_server", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L541", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_metrics_server_ready", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_metrics_server", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L543", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_metrics_server_ready", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_kubeconfig_path", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L546", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_manifest_nodelocal_dns_service_account", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L575", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_manifest_nodelocal_dns_service_account", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_nodelocal_dns", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L576", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_manifest_nodelocal_dns_service_account", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_calico_ready", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L578", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_manifest_nodelocal_dns_upstream_service", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L599", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_manifest_nodelocal_dns_upstream_service", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_nodelocal_dns", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L600", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_manifest_nodelocal_dns_upstream_service", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_calico_ready", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L602", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_manifest_nodelocal_dns_config_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L639", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_manifest_nodelocal_dns_config_map", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_nodelocal_dns", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L640", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_manifest_nodelocal_dns_config_map", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_calico_ready", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L642", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_manifest_nodelocal_dns_config_map", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_nodelocal_dns_corefile", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L658", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_manifest_nodelocal_dns_daemonset", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L663", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_manifest_nodelocal_dns_daemonset", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_nodelocal_dns", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L664", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_manifest_nodelocal_dns_daemonset", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_manifest_nodelocal_dns_service_account", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L667", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_manifest_nodelocal_dns_daemonset", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_manifest_nodelocal_dns_upstream_service", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L668", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_manifest_nodelocal_dns_daemonset", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_manifest_nodelocal_dns_config_map", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L669", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_manifest_nodelocal_dns_metrics_service", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L826", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_manifest_nodelocal_dns_metrics_service", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_nodelocal_dns", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L827", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_manifest_nodelocal_dns_metrics_service", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_manifest_nodelocal_dns_daemonset", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L829", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_metallb", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L861", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_metallb", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_metallb", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L862", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_metallb", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_calico_ready", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L864", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_metallb_l2_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L907", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_metallb_l2_config", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_metallb", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L908", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_metallb_l2_config", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_metallb", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L910", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_metallb_l2_config", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_kubeconfig_path", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L913", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_metallb_l2_config", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_metallb_l2_manifests", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L914", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_traefik", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L932", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_traefik", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_traefik", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L933", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_traefik", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_metallb_l2_config", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L935", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_traefik", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_traefik_node_selector", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L950", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_traefik", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_metallb", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L983", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_openebs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1009", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_openebs", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_calico_ready", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1010", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_openebs", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_openebs", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1012", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_storage_class_v1_openebs_hostpath_retain", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1060", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_storage_class_v1_openebs_hostpath_retain", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_openebs", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1061", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_storage_class_v1_openebs_hostpath_retain", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_openebs", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1064", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_namespace_v1_monitoring", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1078", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_namespace_v1_monitoring", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_storage_class_v1_openebs_hostpath_retain", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1079", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_namespace_v1_monitoring", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_observability", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1082", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_argocd", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1086", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_argocd", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_openebs", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1087", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_argocd", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_argocd", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1089", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_argocd", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_argocd_node_selector", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1100", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_argocd", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_argocd_component_affinity", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1109", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_argocd", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_argocd_component_topology_spread_constraints", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1110", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_argocd_ready", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1216", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_argocd_ready", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_argocd", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1217", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_argocd_ready", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_kubeconfig_path", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1220", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_argocd_ready", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_argocd", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1221", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_argocd_ready", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_argocd_node_selector", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1223", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_argocd_private_repo", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1295", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_argocd_private_repo", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_argocd_ready", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1296", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_argocd_private_repo", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_kubeconfig_path", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1299", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_argocd_private_repo", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_argocd", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1300", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_argocd_private_repo", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_gitops_repo_url", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1302", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_argocd_private_repo", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_gitops_ssh_key_path", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1303", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_kyverno", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1386", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_kyverno", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_calico_ready", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1387", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_kyverno", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_kyverno", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1389", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_kyverno", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kyverno_node_selector", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1401", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_kyverno", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kyverno_component_pod_anti_affinity", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1406", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_kyverno", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kyverno_component_topology_spread_constraints", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1408", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_kyverno_policies", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1475", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_kyverno_policies", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_kyverno", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1476", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_kyverno_policies", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_kyverno", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1478", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_loki", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1497", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_loki", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_namespace_v1_monitoring", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1498", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_loki", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_observability", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1500", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_loki", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_openebs", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1550", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_mimir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1604", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_mimir", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_observability", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1605", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_mimir", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_namespace_v1_monitoring", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1607", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_mimir", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_openebs", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1631", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_promtail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1717", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_promtail", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_loki", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1718", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_promtail", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_observability", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1720", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_prometheus_stack_helm_recovery", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1751", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_prometheus_stack_helm_recovery", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_loki", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1752", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_prometheus_stack_helm_recovery", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_mimir", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1752", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_prometheus_stack_helm_recovery", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_kubeconfig_path", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1755", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_prometheus_stack_helm_recovery", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_observability", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1756", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_prometheus_stack", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1780", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_prometheus_stack", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_prometheus_stack_helm_recovery", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1781", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_prometheus_stack", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_observability", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1783", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_prometheus_stack", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_prometheus_operator_affinity", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1809", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_prometheus_stack", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_prometheus_stack_node_selector", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1810", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_prometheus_stack", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_prometheus_operator_topology_spread_constraints", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1811", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_prometheus_stack", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_openebs", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L1857", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_prometheus_stack", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kube_state_metrics_affinity", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L2003", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_prometheus_stack", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_kube_state_metrics_topology_spread_constraints", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L2005", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_prometheus_stack_readiness", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L2033", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_prometheus_stack_readiness", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_prometheus_stack", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L2034", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_prometheus_stack_readiness", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_kubeconfig_path", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L2037", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_prometheus_stack_readiness", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_observability", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L2038", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_config_map_grafana_dashboards", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L2076", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_config_map_grafana_dashboards", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_local_grafana_dashboard_files", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L2077", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_config_map_grafana_dashboards", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_observability", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L2081", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_kubernetes_config_map_grafana_dashboards", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_prometheus_stack_readiness", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L2094", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_extra_tools", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L2097", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_extra_tools", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_extra_helm_releases", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L2098", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_extra_tools", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_null_resource_calico_ready", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L2100", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_extra_tools", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_set_key", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L2113", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_helm_release_extra_tools", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_set_value", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/main.tf", "source_location": "L2114", "weight": 1.0}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/5e05c4d7363c0e207a985688a6d92a512e9f85a654253d53d97a42fdf0cd3286.json b/graphify-out/cache/ast/v0.9.64-s4/5e05c4d7363c0e207a985688a6d92a512e9f85a654253d53d97a42fdf0cd3286.json
new file mode 100644
index 0000000..3e14e76
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/5e05c4d7363c0e207a985688a6d92a512e9f85a654253d53d97a42fdf0cd3286.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_blockchain_test", "label": "blockchain-test", "file_type": "code", "source_file": "scripts/blockchain-test", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_blockchain_test__entry", "label": "blockchain-test script", "file_type": "code", "source_file": "scripts/blockchain-test", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_blockchain_test_usage", "label": "usage()", "file_type": "code", "source_file": "scripts/blockchain-test", "source_location": "L8", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_blockchain_test", "target": "$graphify-root$_scripts_blockchain_test__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/blockchain-test", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_blockchain_test", "target": "$graphify-root$_scripts_blockchain_test_usage", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/blockchain-test", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_scripts_blockchain_test__entry", "target": "$graphify-root$_scripts_blockchain_test_usage", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/blockchain-test", "source_location": "L18", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_blockchain_test__entry", "source_file": "scripts/blockchain-test", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_blockchain_test__entry", "source_file": "scripts/blockchain-test", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_blockchain_test__entry", "source_file": "scripts/blockchain-test", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_blockchain_test__entry", "source_file": "scripts/blockchain-test", "source_location": "L4"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_blockchain_test__entry", "source_file": "scripts/blockchain-test", "source_location": "L19"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_blockchain_test__entry", "source_file": "scripts/blockchain-test", "source_location": "L23"}, {"language": "bash", "callee": "exec", "caller_nid": "$graphify-root$_scripts_blockchain_test__entry", "source_file": "scripts/blockchain-test", "source_location": "L25"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_blockchain_test__entry", "source_file": "scripts/blockchain-test", "source_location": "L29"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_blockchain_test_usage", "source_file": "scripts/blockchain-test", "source_location": "L9"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/664d4e25d51be9d33c09df730c56a494e785f8c3fd0e3e48d6e1e88dd63648f5.json b/graphify-out/cache/ast/v0.9.64-s4/664d4e25d51be9d33c09df730c56a494e785f8c3fd0e3e48d6e1e88dd63648f5.json
new file mode 100644
index 0000000..0649fff
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/664d4e25d51be9d33c09df730c56a494e785f8c3fd0e3e48d6e1e88dd63648f5.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_control_plane", "label": "control-plane", "file_type": "code", "source_file": "scripts/control-plane", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_control_plane__entry", "label": "control-plane script", "file_type": "code", "source_file": "scripts/control-plane", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_control_plane_usage", "label": "usage()", "file_type": "code", "source_file": "scripts/control-plane", "source_location": "L9", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_control_plane_require_kubectl", "label": "require_kubectl()", "file_type": "code", "source_file": "scripts/control-plane", "source_location": "L23", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_control_plane_show_taints", "label": "show_taints()", "file_type": "code", "source_file": "scripts/control-plane", "source_location": "L39", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_control_plane_show_non_system_pods", "label": "show_non_system_pods()", "file_type": "code", "source_file": "scripts/control-plane", "source_location": "L45", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_control_plane", "target": "$graphify-root$_scripts_control_plane__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/control-plane", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_control_plane", "target": "$graphify-root$_scripts_control_plane_usage", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/control-plane", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_scripts_control_plane", "target": "$graphify-root$_scripts_control_plane_require_kubectl", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/control-plane", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_scripts_control_plane", "target": "$graphify-root$_scripts_control_plane_show_taints", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/control-plane", "source_location": "L39", "weight": 1.0}, {"source": "$graphify-root$_scripts_control_plane", "target": "$graphify-root$_scripts_control_plane_show_non_system_pods", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/control-plane", "source_location": "L45", "weight": 1.0}, {"source": "$graphify-root$_scripts_control_plane__entry", "target": "$graphify-root$_scripts_control_plane_require_kubectl", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/control-plane", "source_location": "L54", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_control_plane__entry", "target": "$graphify-root$_scripts_control_plane_show_taints", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/control-plane", "source_location": "L58", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_control_plane__entry", "target": "$graphify-root$_scripts_control_plane_show_non_system_pods", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/control-plane", "source_location": "L63", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_control_plane__entry", "target": "$graphify-root$_scripts_control_plane_usage", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/control-plane", "source_location": "L86", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_control_plane__entry", "source_file": "scripts/control-plane", "source_location": "L2"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_control_plane__entry", "source_file": "scripts/control-plane", "source_location": "L55"}, {"language": "bash", "callee": "sed", "caller_nid": "$graphify-root$_scripts_control_plane__entry", "source_file": "scripts/control-plane", "source_location": "L58"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_control_plane__entry", "source_file": "scripts/control-plane", "source_location": "L59"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_scripts_control_plane__entry", "source_file": "scripts/control-plane", "source_location": "L69"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_control_plane__entry", "source_file": "scripts/control-plane", "source_location": "L90"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_control_plane_usage", "source_file": "scripts/control-plane", "source_location": "L10"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_control_plane_require_kubectl", "source_file": "scripts/control-plane", "source_location": "L24"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_control_plane_require_kubectl", "source_file": "scripts/control-plane", "source_location": "L25"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_control_plane_require_kubectl", "source_file": "scripts/control-plane", "source_location": "L26"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_scripts_control_plane_require_kubectl", "source_file": "scripts/control-plane", "source_location": "L32"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_scripts_control_plane_show_taints", "source_file": "scripts/control-plane", "source_location": "L40"}, {"language": "bash", "callee": "sed", "caller_nid": "$graphify-root$_scripts_control_plane_show_taints", "source_file": "scripts/control-plane", "source_location": "L42"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_control_plane_show_taints", "source_file": "scripts/control-plane", "source_location": "L42"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_scripts_control_plane_show_non_system_pods", "source_file": "scripts/control-plane", "source_location": "L46"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_scripts_control_plane_show_non_system_pods", "source_file": "scripts/control-plane", "source_location": "L49"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/678587b4c40c0dd735ff34997ece37fbb51f8e8e8ccdb0c3062af3760687430f.json b/graphify-out/cache/ast/v0.9.64-s4/678587b4c40c0dd735ff34997ece37fbb51f8e8e8ccdb0c3062af3760687430f.json
new file mode 100644
index 0000000..185f771
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/678587b4c40c0dd735ff34997ece37fbb51f8e8e8ccdb0c3062af3760687430f.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_bootstrap_cluster_main_tf", "label": "main.tf", "file_type": "code", "source_file": "bootstrap/cluster/main.tf", "source_location": null, "type": "terraform_file"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_control_plane", "label": "null_resource.kubeadm_control_plane", "file_type": "code", "source_file": "bootstrap/cluster/main.tf", "source_location": "L15", "attributes": {"triggers": {"node_name": "var.control_plane_node_name", "advertise_address": "var.control_plane_advertise_address", "pod_network_cidr": "var.pod_network_cidr", "kubeconfig_path": "var.kubeconfig_path", "kubeconfig_owner": "var.kubeconfig_owner", "registry_endpoint": "var.registry_endpoint", "registry_config_version": "8", "containerd_runtime": "docker-containerd-io", "cni_plugins_version": "2", "node_dns_servers": "join(\" \", var.node_dns_servers)", "persistent_volume_dirs": "join(\",\", var.persistent_volume_dirs)"}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kube_system_resource_policy", "label": "null_resource.kube_system_resource_policy", "file_type": "code", "source_file": "bootstrap/cluster/main.tf", "source_location": "L438", "attributes": {"depends_on": ["null_resource.kubeadm_control_plane"], "triggers": {"kubeconfig_path": "var.kubeconfig_path", "resource_policy_version": "2"}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_worker_nodes_required", "label": "null_resource.worker_nodes_required", "file_type": "code", "source_file": "bootstrap/cluster/main.tf", "source_location": "L528", "attributes": {"triggers": {"worker_count": "tostring(length(var.worker_nodes))"}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_worker", "label": "null_resource.kubeadm_worker", "file_type": "code", "source_file": "bootstrap/cluster/main.tf", "source_location": "L541", "attributes": {"for_each": "var.worker_nodes", "depends_on": ["null_resource.kubeadm_control_plane", "null_resource.kube_system_resource_policy", "null_resource.worker_nodes_required"], "triggers": {"node_name": "each.value.node_name", "host": "each.value.host", "user": "each.value.user", "ssh_key_path": "each.value.ssh_key_path", "kubeconfig_path": "var.kubeconfig_path", "registry_endpoint": "var.registry_endpoint", "registry_config_version": "8", "containerd_runtime": "docker-containerd-io", "cni_plugins_version": "2", "force_rejoin": "tostring(var.force_worker_rejoin)", "worker_rejoin_reset_version": "2", "node_dns_servers": "join(\" \", var.node_dns_servers)", "persistent_volume_dirs": "join(\",\", var.persistent_volume_dirs)", "worker_tailscale_version": "1", "worker_tailscale_enabled": "tostring(var.worker_tailscale_enabled)", "worker_tailscale_accept_routes": "tostring(var.worker_tailscale_accept_routes)", "worker_tailscale_pod_egress_snat": "tostring(var.worker_tailscale_pod_egress_snat)", "tailscale_nodeport_version": "3", "tailscale_nodeport_enabled": "var.tailscale_nodeport_access.enabled && each.key == var.tailscale_nodeport_access.worker_key ? \"true\" : \"false\"", "tailscale_nodeport_peer_ip": "var.tailscale_nodeport_access.peer_ip", "tailscale_nodeport_node_tailscale_ip": "var.tailscale_nodeport_access.node_tailscale_ip", "tailscale_nodeport_pod_cidr": "var.tailscale_nodeport_access.pod_cidr", "tailscale_nodeport_node_ports": "join(\" \", distinct(concat([var.tailscale_nodeport_access.node_port], var.tailscale_nodeport_extra_ports)))", "tailscale_nodeport_target_ports": "join(\" \", distinct(concat([var.tailscale_nodeport_access.target_port], var.tailscale_nodeport_extra_target_ports)))", "tailscale_subnet_routes_version": "1", "tailscale_subnet_routes_enabled": "var.tailscale_subnet_routes.enabled && each.key == var.tailscale_subnet_routes.worker_key ? \"true\" : \"false\"", "tailscale_subnet_routes": "join(\",\", var.tailscale_subnet_routes.routes)"}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_local_control_plane_node_label_pairs", "label": "local.control_plane_node_label_pairs", "file_type": "code", "source_file": "bootstrap/cluster/main.tf", "source_location": "L1303"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_local_worker_node_label_pairs", "label": "local.worker_node_label_pairs", "file_type": "code", "source_file": "bootstrap/cluster/main.tf", "source_location": "L1311"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_local_node_label_pairs", "label": "local.node_label_pairs", "file_type": "code", "source_file": "bootstrap/cluster/main.tf", "source_location": "L1321"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_node_labels", "label": "null_resource.node_labels", "file_type": "code", "source_file": "bootstrap/cluster/main.tf", "source_location": "L1324", "attributes": {"for_each": "{ for pair in local.node_label_pairs : \"${pair.node_name}/${pair.label}\" => pair }", "depends_on": ["null_resource.kubeadm_control_plane", "null_resource.kubeadm_worker"], "triggers": {"kubeconfig_path": "var.kubeconfig_path", "node_name": "each.value.node_name", "label": "each.value.label", "value": "each.value.value"}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_output_kubeconfig_path", "label": "output.kubeconfig_path", "file_type": "code", "source_file": "bootstrap/cluster/main.tf", "source_location": "L1365", "attributes": {"value": "var.kubeconfig_path"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_output_pod_network_cidr", "label": "output.pod_network_cidr", "file_type": "code", "source_file": "bootstrap/cluster/main.tf", "source_location": "L1369", "attributes": {"value": "var.pod_network_cidr"}}], "edges": [{"source": "$graphify-root$_bootstrap_cluster_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_control_plane", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L15", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_control_plane", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_control_plane_node_name", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L17", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_control_plane", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_control_plane_advertise_address", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L18", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_control_plane", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_pod_network_cidr", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L19", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_control_plane", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_kubeconfig_path", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L20", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_control_plane", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_kubeconfig_owner", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L21", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_control_plane", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_registry_endpoint", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L22", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_control_plane", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_node_dns_servers", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L26", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_control_plane", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_persistent_volume_dirs", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L27", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kube_system_resource_policy", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L438", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kube_system_resource_policy", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_control_plane", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L439", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kube_system_resource_policy", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_kubeconfig_path", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L442", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_worker_nodes_required", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L528", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_worker_nodes_required", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_worker_nodes", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L530", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_worker_nodes_required", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_allow_empty_worker_nodes", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L535", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_worker", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L541", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_worker", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_worker_nodes", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L542", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_worker", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_control_plane", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L545", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_worker", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kube_system_resource_policy", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L546", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_worker", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_worker_nodes_required", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L547", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_worker", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_kubeconfig_path", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L555", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_worker", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_registry_endpoint", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L556", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_worker", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_force_worker_rejoin", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L560", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_worker", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_node_dns_servers", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L562", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_worker", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_persistent_volume_dirs", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L563", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_worker", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_worker_tailscale_enabled", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L565", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_worker", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_worker_tailscale_accept_routes", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L566", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_worker", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_worker_tailscale_pod_egress_snat", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L567", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_worker", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_tailscale_nodeport_access", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L569", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_worker", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_tailscale_nodeport_extra_ports", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L573", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_worker", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_tailscale_nodeport_extra_target_ports", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L574", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_worker", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_tailscale_subnet_routes", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L576", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_local_control_plane_node_label_pairs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L1303", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_local_control_plane_node_label_pairs", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_control_plane_node_labels", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L1304", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_local_control_plane_node_label_pairs", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_control_plane_node_name", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L1305", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_local_worker_node_label_pairs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L1311", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_local_worker_node_label_pairs", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_worker_nodes", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L1312", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_local_worker_node_label_pairs", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_worker_node_labels", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L1313", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_local_worker_node_label_pairs", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_worker_node_name", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L1314", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_local_node_label_pairs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L1321", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_local_node_label_pairs", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_local_control_plane_node_label_pairs", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L1321", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_local_node_label_pairs", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_local_worker_node_label_pairs", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L1321", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_node_labels", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L1324", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_node_labels", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_local_node_label_pairs", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L1326", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_node_labels", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_pair_node_name", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L1326", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_node_labels", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_pair_label", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L1326", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_node_labels", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_control_plane", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L1330", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_node_labels", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_kubeadm_worker", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L1331", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_null_resource_node_labels", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_kubeconfig_path", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L1335", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_output_kubeconfig_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L1365", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_output_kubeconfig_path", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_kubeconfig_path", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L1366", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_output_pod_network_cidr", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L1369", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_output_pod_network_cidr", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_pod_network_cidr", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/main.tf", "source_location": "L1370", "weight": 1.0}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/68c6cadd6060be92cb5e37b4c7f2fd15ca7b0f773de586796fc03e5d0f504488.json b/graphify-out/cache/ast/v0.9.64-s4/68c6cadd6060be92cb5e37b4c7f2fd15ca7b0f773de586796fc03e5d0f504488.json
new file mode 100644
index 0000000..61b283a
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/68c6cadd6060be92cb5e37b4c7f2fd15ca7b0f773de586796fc03e5d0f504488.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_bootstrap_apps_terraform_lock_hcl", "label": ".terraform.lock.hcl", "file_type": "code", "source_file": "bootstrap/apps/.terraform.lock.hcl", "source_location": null, "type": "terraform_file"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_provider_registry_opentofu_org_hashicorp_kubernetes", "label": "provider.registry.opentofu.org/hashicorp/kubernetes", "file_type": "code", "source_file": "bootstrap/apps/.terraform.lock.hcl", "source_location": "L4", "attributes": {"version": "2.38.0", "constraints": "~> 2.26", "hashes": ["h1:3VVgWmwdwXFT54fjrplnq+N4+4LZ3ZeLHAlr/0jhPiA=", "h1:9LfHMXiMOboc6PhcEEelKjA3VL94l3MCj7RlbKO1PQM=", "h1:AkW6iAcMGHS+P2BIc2nvQe3PZCHtDL4m6+80tEDLge0=", "h1:HGkB9bCmUqMRcR5/bAUOSqPBsx6DAIEnbT1fZ8vzI78=", "h1:eCV78xGlh9eay+62U4gAgCEMohuiBJXN9XTIZNn+rX4=", "h1:ems+O2dA7atxMWpbtqIrsH7Oa+u+ERWSfpMaFnZPbh0=", "h1:iEDf790HE0h3kz58zfj5IhTVODCDqWF1hISPHz210Uw=", "h1:nY7J9jFXcsRINog0KYagiWZw1GVYF9D2JmtIB7Wnrao=", "h1:yw6JHRONXmiTumaQfJBxl1ierFnNNT/Qio8+ttfMcG4=", "zh:1096b41c4e5b2ee6c1980916fb9a8579bc1892071396f7a9432be058aabf3cbc", "zh:2959fde9ae3d1deb5e317df0d7b02ea4977951ee6b9c4beb083c148ca8f3681c", "zh:5082f98fcb3389c73339365f7df39fc6912bf2bd1a46d5f97778f441a67fd337", "zh:620fd5d0fbc2d7a24ac6b420a4922e6093020358162a62fa8cbd37b2bac1d22e", "zh:7f47c2de179bba35d759147c53082cad6c3449d19b0ec0c5a4ca8db5b06393e1", "zh:89c3aa2a87e29febf100fd21cead34f9a4c0e6e7ae5f383b5cef815c677eb52a", "zh:96eecc9f94938a0bc35b8a63d2c4a5f972395e44206620db06760b730d0471fc", "zh:e15567c1095f898af173c281b66bffdc4f3068afdd9f84bb5b5b5521d9f29584", "zh:ecc6b912629734a9a41a7cf1c4c73fb13b4b510afc9e7b2e0011d290bcd6d77f"]}}], "edges": [{"source": "$graphify-root$_bootstrap_apps_terraform_lock_hcl", "target": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_provider_registry_opentofu_org_hashicorp_kubernetes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/apps/.terraform.lock.hcl", "source_location": "L4", "weight": 1.0}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/6a2bdb11e1666af835c315fafbde2fca66a201efb1ec74517f0d5248344dd47d.json b/graphify-out/cache/ast/v0.9.64-s4/6a2bdb11e1666af835c315fafbde2fca66a201efb1ec74517f0d5248344dd47d.json
new file mode 100644
index 0000000..6b61769
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/6a2bdb11e1666af835c315fafbde2fca66a201efb1ec74517f0d5248344dd47d.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_jeannie_core", "label": "jeannie-core", "file_type": "code", "source_file": "scripts/jeannie-core", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_jeannie_core__entry", "label": "jeannie-core script", "file_type": "code", "source_file": "scripts/jeannie-core", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_jeannie_core_core_sources_newer", "label": "core_sources_newer()", "file_type": "code", "source_file": "scripts/jeannie-core", "source_location": "L7", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_jeannie_core", "target": "$graphify-root$_scripts_jeannie_core__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/jeannie-core", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_jeannie_core", "target": "$graphify-root$_scripts_jeannie_core_core_sources_newer", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/jeannie-core", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_scripts_jeannie_core__entry", "target": "$graphify-root$_scripts_jeannie_core_core_sources_newer", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/jeannie-core", "source_location": "L18", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_jeannie_core__entry", "source_file": "scripts/jeannie-core", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_jeannie_core__entry", "source_file": "scripts/jeannie-core", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_jeannie_core__entry", "source_file": "scripts/jeannie-core", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_jeannie_core__entry", "source_file": "scripts/jeannie-core", "source_location": "L4"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_jeannie_core__entry", "source_file": "scripts/jeannie-core", "source_location": "L19"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_jeannie_core__entry", "source_file": "scripts/jeannie-core", "source_location": "L20"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_jeannie_core__entry", "source_file": "scripts/jeannie-core", "source_location": "L21"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_scripts_jeannie_core__entry", "source_file": "scripts/jeannie-core", "source_location": "L23"}, {"language": "bash", "callee": "go", "caller_nid": "$graphify-root$_scripts_jeannie_core__entry", "source_file": "scripts/jeannie-core", "source_location": "L24"}, {"language": "bash", "callee": "exec", "caller_nid": "$graphify-root$_scripts_jeannie_core__entry", "source_file": "scripts/jeannie-core", "source_location": "L27"}, {"language": "bash", "callee": "read", "caller_nid": "$graphify-root$_scripts_jeannie_core_core_sources_newer", "source_file": "scripts/jeannie-core", "source_location": "L10"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_jeannie_core_core_sources_newer", "source_file": "scripts/jeannie-core", "source_location": "L12"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/71bc1df3e555850ee3273eea88260f416ece1ce246cc83bb22fc35da53c3b3e5.json b/graphify-out/cache/ast/v0.9.64-s4/71bc1df3e555850ee3273eea88260f416ece1ce246cc83bb22fc35da53c3b3e5.json
new file mode 100644
index 0000000..efbc339
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/71bc1df3e555850ee3273eea88260f416ece1ce246cc83bb22fc35da53c3b3e5.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_validate_tailnet_policy", "label": "validate-tailnet-policy", "file_type": "code", "source_file": "scripts/validate-tailnet-policy", "source_location": "L1"}, {"id": "$graphify-root$_scripts_validate_tailnet_policy_strip_hujson", "label": "strip_hujson()", "file_type": "code", "source_file": "scripts/validate-tailnet-policy", "source_location": "L17", "_callable": true}, {"id": "$graphify-root$_scripts_validate_tailnet_policy_parse_simple_inventory", "label": "parse_simple_inventory()", "file_type": "code", "source_file": "scripts/validate-tailnet-policy", "source_location": "L98", "_callable": true}, {"id": "path", "label": "Path", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/validate-tailnet-policy"}, {"id": "$graphify-root$_scripts_validate_tailnet_policy_require", "label": "require()", "file_type": "code", "source_file": "scripts/validate-tailnet-policy", "source_location": "L125", "_callable": true}, {"id": "$graphify-root$_scripts_validate_tailnet_policy_main", "label": "main()", "file_type": "code", "source_file": "scripts/validate-tailnet-policy", "source_location": "L130", "_callable": true}, {"id": "$graphify-root$_scripts_validate_tailnet_policy_rationale_2", "label": "Validate the repo-managed Tailscale policy without contacting Tailscale.", "file_type": "rationale", "source_file": "scripts/validate-tailnet-policy", "source_location": "L2"}], "edges": [{"source": "$graphify-root$_scripts_validate_tailnet_policy", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/validate-tailnet-policy", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_scripts_validate_tailnet_policy", "target": "pathlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/validate-tailnet-policy", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_scripts_validate_tailnet_policy", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/validate-tailnet-policy", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_scripts_validate_tailnet_policy", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/validate-tailnet-policy", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_scripts_validate_tailnet_policy", "target": "$graphify-root$_scripts_validate_tailnet_policy_strip_hujson", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/validate-tailnet-policy", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_scripts_validate_tailnet_policy", "target": "$graphify-root$_scripts_validate_tailnet_policy_parse_simple_inventory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/validate-tailnet-policy", "source_location": "L98", "weight": 1.0}, {"source": "$graphify-root$_scripts_validate_tailnet_policy_parse_simple_inventory", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/validate-tailnet-policy", "source_location": "L98", "weight": 1.0}, {"source": "$graphify-root$_scripts_validate_tailnet_policy", "target": "$graphify-root$_scripts_validate_tailnet_policy_require", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/validate-tailnet-policy", "source_location": "L125", "weight": 1.0}, {"source": "$graphify-root$_scripts_validate_tailnet_policy", "target": "$graphify-root$_scripts_validate_tailnet_policy_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/validate-tailnet-policy", "source_location": "L130", "weight": 1.0}, {"source": "$graphify-root$_scripts_validate_tailnet_policy_main", "target": "$graphify-root$_scripts_validate_tailnet_policy_strip_hujson", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/validate-tailnet-policy", "source_location": "L132", "weight": 1.0}, {"source": "$graphify-root$_scripts_validate_tailnet_policy_main", "target": "$graphify-root$_scripts_validate_tailnet_policy_parse_simple_inventory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/validate-tailnet-policy", "source_location": "L133", "weight": 1.0}, {"source": "$graphify-root$_scripts_validate_tailnet_policy_main", "target": "$graphify-root$_scripts_validate_tailnet_policy_require", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/validate-tailnet-policy", "source_location": "L135", "weight": 1.0}, {"source": "$graphify-root$_scripts_validate_tailnet_policy_rationale_2", "target": "$graphify-root$_scripts_validate_tailnet_policy", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/validate-tailnet-policy", "source_location": "L2", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_strip_hujson", "callee": "append", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L28", "receiver": "output"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_strip_hujson", "callee": "append", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L40", "receiver": "output"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_strip_hujson", "callee": "append", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L57", "receiver": "output"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_strip_hujson", "callee": "join", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L60", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_strip_hujson", "callee": "append", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L68", "receiver": "cleaned"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_strip_hujson", "callee": "append", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L80", "receiver": "cleaned"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_strip_hujson", "callee": "isspace", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L86", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_strip_hujson", "callee": "append", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L92", "receiver": "cleaned"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_strip_hujson", "callee": "join", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L95", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_parse_simple_inventory", "callee": "compile", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L101", "receiver": "re"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_parse_simple_inventory", "callee": "splitlines", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L103", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_parse_simple_inventory", "callee": "read_text", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L103", "receiver": "path"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_parse_simple_inventory", "callee": "strip", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L104", "receiver": "raw_line"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_parse_simple_inventory", "callee": "startswith", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L104", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_parse_simple_inventory", "callee": "lstrip", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L104", "receiver": "raw_line"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_parse_simple_inventory", "callee": "startswith", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L104", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_parse_simple_inventory", "callee": "lstrip", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L104", "receiver": "raw_line"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_parse_simple_inventory", "callee": "match", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L106", "receiver": "pattern"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_parse_simple_inventory", "callee": "group", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L109", "receiver": "match"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_parse_simple_inventory", "callee": "group", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L110", "receiver": "match"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_parse_simple_inventory", "callee": "strip", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L111", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_parse_simple_inventory", "callee": "group", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L111", "receiver": "match"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_parse_simple_inventory", "callee": "pop", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L113", "receiver": "stack"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_parse_simple_inventory", "callee": "join", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L114", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_parse_simple_inventory", "callee": "append", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L116", "receiver": "stack"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_parse_simple_inventory", "callee": "strip", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L119", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_parse_simple_inventory", "callee": "split", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L119", "receiver": "value"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_parse_simple_inventory", "callee": "strip", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L120", "receiver": "value"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_require", "callee": "append", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L127", "receiver": "failures"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_main", "callee": "loads", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L132", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_main", "callee": "read_text", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L132", "receiver": "POLICY_PATH"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_main", "callee": "INVENTORY_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/validate-tailnet-policy", "source_location": "L133"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_main", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/validate-tailnet-policy", "source_location": "L135"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_main", "callee": "get", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L135", "receiver": "policy"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_main", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/validate-tailnet-policy", "source_location": "L136"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_main", "callee": "get", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L136", "receiver": "policy"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_main", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/validate-tailnet-policy", "source_location": "L137"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_main", "callee": "get", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L137", "receiver": "policy"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_main", "callee": "get", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L139", "receiver": "policy"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_main", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/validate-tailnet-policy", "source_location": "L140"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_main", "callee": "get", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L142", "receiver": "inventory"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_main", "callee": "get", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L143", "receiver": "inventory"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_main", "callee": "get", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L144", "receiver": "inventory"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_main", "callee": "get", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L145", "receiver": "inventory"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_main", "callee": "items", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L147", "receiver": "expected_hosts"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_main", "callee": "get", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L149", "receiver": "hosts"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_main", "callee": "get", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L149", "receiver": "hosts"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_main", "callee": "get", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L151", "receiver": "policy"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_main", "callee": "get", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L152", "receiver": "acl"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_main", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/validate-tailnet-policy", "source_location": "L153"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_main", "callee": "get", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L153", "receiver": "acl"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_main", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/validate-tailnet-policy", "source_location": "L154"}, {"caller_nid": "$graphify-root$_scripts_validate_tailnet_policy_main", "callee": "get", "is_member_call": true, "source_file": "scripts/validate-tailnet-policy", "source_location": "L154", "receiver": "acl"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/74a64b1523abd19571b5ed31d5e85dfa6b21ac3a2a0d54be0070b47ff4359040.json b/graphify-out/cache/ast/v0.9.64-s4/74a64b1523abd19571b5ed31d5e85dfa6b21ac3a2a0d54be0070b47ff4359040.json
new file mode 100644
index 0000000..94a4f16
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/74a64b1523abd19571b5ed31d5e85dfa6b21ac3a2a0d54be0070b47ff4359040.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_apps_website_blog_php", "label": "blog.php", "file_type": "code", "source_file": "apps/website/blog.php", "source_location": "L1"}, {"id": "$graphify-root$_apps_website_blog_renderstacksourcelinks", "label": "renderStackSourceLinks()", "file_type": "code", "source_file": "apps/website/blog.php", "source_location": "L186", "_callable": true}], "edges": [{"source": "$graphify-root$_apps_website_blog_php", "target": "$graphify-root$_apps_website_blog_renderstacksourcelinks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/blog.php", "source_location": "L186", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_apps_website_blog_renderstacksourcelinks", "callee": "isset", "is_member_call": false, "source_file": "apps/website/blog.php", "source_location": "L187", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_blog_renderstacksourcelinks", "callee": "htmlspecialchars", "is_member_call": false, "source_file": "apps/website/blog.php", "source_location": "L193", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_blog_renderstacksourcelinks", "callee": "htmlspecialchars", "is_member_call": false, "source_file": "apps/website/blog.php", "source_location": "L193", "receiver": null}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/74f4786a99a0a14dc52b9060cceb80ed951b062aa40d55769c6595277b39830e.json b/graphify-out/cache/ast/v0.9.64-s4/74f4786a99a0a14dc52b9060cceb80ed951b062aa40d55769c6595277b39830e.json
new file mode 100644
index 0000000..f934fb9
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/74f4786a99a0a14dc52b9060cceb80ed951b062aa40d55769c6595277b39830e.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_infra_omniroute_bootstrap_sh", "label": "bootstrap.sh", "file_type": "code", "source_file": "infra/omniroute/bootstrap.sh", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_infra_omniroute_bootstrap_sh__entry", "label": "bootstrap.sh script", "file_type": "code", "source_file": "infra/omniroute/bootstrap.sh", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}], "edges": [{"source": "$graphify-root$_infra_omniroute_bootstrap_sh", "target": "$graphify-root$_infra_omniroute_bootstrap_sh__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/omniroute/bootstrap.sh", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_infra_omniroute_bootstrap_sh__entry", "source_file": "infra/omniroute/bootstrap.sh", "source_location": "L5"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_infra_omniroute_bootstrap_sh__entry", "source_file": "infra/omniroute/bootstrap.sh", "source_location": "L7"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_infra_omniroute_bootstrap_sh__entry", "source_file": "infra/omniroute/bootstrap.sh", "source_location": "L7"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_infra_omniroute_bootstrap_sh__entry", "source_file": "infra/omniroute/bootstrap.sh", "source_location": "L7"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_infra_omniroute_bootstrap_sh__entry", "source_file": "infra/omniroute/bootstrap.sh", "source_location": "L11"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_infra_omniroute_bootstrap_sh__entry", "source_file": "infra/omniroute/bootstrap.sh", "source_location": "L12"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_infra_omniroute_bootstrap_sh__entry", "source_file": "infra/omniroute/bootstrap.sh", "source_location": "L20"}, {"language": "bash", "callee": "docker", "caller_nid": "$graphify-root$_infra_omniroute_bootstrap_sh__entry", "source_file": "infra/omniroute/bootstrap.sh", "source_location": "L21"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/776b8896e1d9b779b2b9a7581a450dc3f0371efbb66582edb0089c186cb45e68.json b/graphify-out/cache/ast/v0.9.64-s4/776b8896e1d9b779b2b9a7581a450dc3f0371efbb66582edb0089c186cb45e68.json
new file mode 100644
index 0000000..82b1dbc
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/776b8896e1d9b779b2b9a7581a450dc3f0371efbb66582edb0089c186cb45e68.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_bootstrap_cluster_terraform_lock_hcl", "label": ".terraform.lock.hcl", "file_type": "code", "source_file": "bootstrap/cluster/.terraform.lock.hcl", "source_location": null, "type": "terraform_file"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_provider_registry_opentofu_org_hashicorp_external", "label": "provider.registry.opentofu.org/hashicorp/external", "file_type": "code", "source_file": "bootstrap/cluster/.terraform.lock.hcl", "source_location": "L4", "attributes": {"version": "2.4.0", "constraints": "~> 2.3", "hashes": ["h1:/+SUsgcSNW/RVmImj/m1Z+hSUU5BUMu8CMbLwyuhMMU=", "h1:/MpYrEgBd7Gu/lyuyViR4ccaYSpHHIiHZfIxy7AGy2U=", "h1:0SJyK1GT4ma4uTSUz8Y619fc1xRTzJ9FKFvcpvZlSIo=", "h1:4WFLgDJ0NXqNlKJ2UFniW8/GMMterkrWBXmi/+yW2do=", "h1:5vgd2l3wLBjETL3h0npHKNm8efKSE7Xb2uxh+8cysm8=", "h1:6dSIL7ou4oq3hcuRUx4OLRc31PQ1oAC1d885hnQlOh0=", "h1:7OLUuwL6BIhAYehzbDX5NVTIoDAIBf2dYZGrpSKe0r0=", "h1:9PmuE7y6euSGJtnl7W0TIBvZBU1pNojfa615jnJAiIs=", "h1:ME8EoyLapCOOAzPP8uPTm+OSF7nil1r0wOeJ+Q9KNZ8=", "h1:PxaDF/WKlkCtfmiqzws5/23jq3QgcoJ5TMeEIimtvDQ=", "h1:auXuC9e9AsQxrYQj6OyYgqKHgjry0IkJnKHpPShoLHM=", "h1:eBAcMZAh1wmCyYQMCIPyXljazVRYAHkEu/31RbZD6Sw=", "h1:jkfHEdIUc6uxIm8zuw0lVZliedeqgzDE9qb1Y608VUI=", "h1:mC6Rw0cABPfsBZLVXfdOByUUW1hHkfscaQufTzVM+rw=", "h1:nE1mN6A/5lJVLiNQmVm43m9ME2uHlqwIYUVxlZgblSk=", "zh:483962b782cee2c970f4bdf6118e4bb665f37a0d488024c660b7a7c9853afc93", "zh:4a8b42651f6de0ea93854ece3ccdf8e2b21b911145859402a9a6ec6ecf31a23c", "zh:56836ea1468cb328e98cccc76cccc208fb7336513bc76de76309541b8e5ceef2", "zh:6d30c2c1aff7e0ddcfffdf815e570f5ed8b77d1ce2d31440c7c50c6f3e7cbe97", "zh:80a21a23bd9bfafb74e4fc5f2a0e2bc33517c418d5f16dc020b7febba9ef6cd2", "zh:95d9ce0e6407f199f7e9d3aefc3345a6e67c18f0c8280207417272cbb3f973ad", "zh:98e46c6504da5f1020489730d23f03a1337e643ed452f271c2a13e6af4687a16", "zh:a3f59b81da319a87bb3ac4a31e669874a090f082959da29975fa6f11f53b4731", "zh:a5793f88bb25000d6e6b8b2cd5ca71366a8d4e373e17a247089a80331ccf824e", "zh:cfc9af183162936b2e9a726c4a68d773b4511ada23b2c764f5add90f080e747d", "zh:d85e722d771fb7865d9d5b591334d0f2b7598b7e66f534f93923effe6d5134ed", "zh:de6e5d954ef91bb0ad41f30305ab8c31718ea39308523529f528babd0b27db71", "zh:fca19dda5e05221e231d400fc39fda4f9e9abfe33e8e833a215eb094fe226ed8", "zh:fcf67b347f2dc3c609c819ad5f27078fa3d0235311cfe5e33242eb49b3a4a6a8", "zh:fea69a81ffcd63cb776b0f2c13a99a8a6d64e0b9de111ea1926bc4e713023ece"]}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_provider_registry_opentofu_org_hashicorp_null", "label": "provider.registry.opentofu.org/hashicorp/null", "file_type": "code", "source_file": "bootstrap/cluster/.terraform.lock.hcl", "source_location": "L41", "attributes": {"version": "3.3.0", "constraints": "~> 3.2", "hashes": ["h1:0r7+t8CqzjfBgHgEiJGBCw+McEUdRXliMdF+Hk29d8o=", "h1:EvvCOc4FJY3NitSm6BpzCcUPU53LayVCB/tPOxYmy7U=", "h1:IDVnZXNCh0u4LfeSazc9z1v/kNz+92Eej7ePWV6SbyE=", "h1:Iw2c0n9/4fS92N5WnJ3CCSwSUXZO953oHp9gj3pWCaM=", "h1:JofS1og3hPN0ANjH+gNjxrJyyk6znodpC/F0qhp4eEk=", "h1:QIBhsJ4+5+t0vFEgJwtezNLT31tsptFHOEyGAAhLR1o=", "h1:RjjoL9qRPwNTwLdtJsYUaFvunbPM2/oujf2DcUcitOE=", "h1:SSirA+z2VWTs1s+TCAx8vVKg9jh6cRjxqc8LYi2iQTI=", "h1:U2XZc7hxcpcWp/C2S9LtuGUimhMOD2UT5xAEJJQQQaU=", "h1:bPG+xE5UonkJv3y/Yn9Q7OfbP2qHU/QKiS31nwfe7S0=", "h1:eODLdk/pARc4yxChAFtwseVmBr+r5fF9yGOvUhwGEyM=", "h1:iFj1oM5ZPENspsPqK1kcvZzyP95jJE/CM0rlu0MfIss=", "h1:mdu+qpyVmjDDLMrcL1JFy+cSyF58I3TFJwB5NssCZ58=", "h1:tJmep6aoBeDH77XsYU65HAbi0RAjxtsmbCOXmnqT13U=", "h1:tdMTn1evBLd6KCeLqWdQXCpF07hBu3n5rY6N3rXw3Rc=", "zh:083dcc0bec53f8abfa3f2aa2ce9d732a9675338fd60ae7d61162e25db7cb08bf", "zh:19f7456b5a2ad16595860974714bfdb25b87bc16356ea9d5c7453892aaa27864", "zh:222c0ed1fed4e4c677ebe626104dbfdba66763e264de0d9c27c58ce60104ee69", "zh:271711d6caa7dd5a4e9b79fe8c679fab61a840bcf80040a0f5ebb425d1b27d97", "zh:5adcf35f30baaea13f80c2a2c774deb9369892719493049687e23476c9dff40f", "zh:5bcfd19df16e73d7f0ad75bd09e2b3b86cf6700d09822d585d68304b71de1d97", "zh:604edecf263e38674decb35bb4e0e048fdc951f26fa103c33065ff9728f0313b", "zh:782acbfb4fa4807e273e588fe45b4aaea9dd0fd1136f76ec3200f6f4db3af8d6", "zh:84411a596d528fe67294e5c1cfd0c2036b08802497bcc4215ce518924f3c9a4a", "zh:85e79eecf3f5348975cffec3016b0eba3baf605646102d4348796ccd2df2e5f6", "zh:95669535ca17aeefef307ebfd59ce6930953173baae5637e8cbbf0297ec7ad58", "zh:d04d9b177747bfd66b4a45b5d911a2a7822aa8451f5e35621971fb7a4206b530", "zh:e6d9c924475283e90833450a14a732f4deb6d9bb131db8f86ab856e894270836", "zh:ebcab0c8a1334c86ed7cfa53f571a17ad6d27e9901f27a8854ea622a74b54bb6", "zh:ef9c757bb2c83d2103811a3d86b6ec5be06b0ffc337b84db1582d023bce7cdcd"]}}], "edges": [{"source": "$graphify-root$_bootstrap_cluster_terraform_lock_hcl", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_provider_registry_opentofu_org_hashicorp_external", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/.terraform.lock.hcl", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_terraform_lock_hcl", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_provider_registry_opentofu_org_hashicorp_null", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/.terraform.lock.hcl", "source_location": "L41", "weight": 1.0}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/7d56820cc90a0f4237c6064259bfeb5e398c453e95b30fd10e85b6ca097f19f9.json b/graphify-out/cache/ast/v0.9.64-s4/7d56820cc90a0f4237c6064259bfeb5e398c453e95b30fd10e85b6ca097f19f9.json
new file mode 100644
index 0000000..3d71fd2
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/7d56820cc90a0f4237c6064259bfeb5e398c453e95b30fd10e85b6ca097f19f9.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_infra_rpi_services_bootstrap_sh", "label": "bootstrap.sh", "file_type": "code", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_infra_rpi_services_bootstrap_sh__entry", "label": "bootstrap.sh script", "file_type": "code", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_infra_rpi_services_bootstrap_install_missing_packages", "label": "install_missing_packages()", "file_type": "code", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L12", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_infra_rpi_services_bootstrap_docker_root_target", "label": "docker_root_target()", "file_type": "code", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L28", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_infra_rpi_services_bootstrap_configure_docker_root", "label": "configure_docker_root()", "file_type": "code", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L40", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_infra_rpi_services_bootstrap_stop_legacy_pihole", "label": "stop_legacy_pihole()", "file_type": "code", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L89", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_infra_rpi_services_bootstrap_resolve_pihole_webpassword", "label": "resolve_pihole_webpassword()", "file_type": "code", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L104", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_infra_rpi_services_bootstrap_write_env_file", "label": "write_env_file()", "file_type": "code", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L133", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_infra_rpi_services_bootstrap_sync_pihole_adlists", "label": "sync_pihole_adlists()", "file_type": "code", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L163", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_infra_rpi_services_bootstrap_sync_pihole_managed_dns", "label": "sync_pihole_managed_dns()", "file_type": "code", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L212", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_infra_rpi_services_bootstrap_seed_uptime_kuma_monitors", "label": "seed_uptime_kuma_monitors()", "file_type": "code", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L261", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_infra_rpi_services_bootstrap_sh", "target": "$graphify-root$_infra_rpi_services_bootstrap_sh__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_infra_rpi_services_bootstrap_sh", "target": "$graphify-root$_infra_rpi_services_bootstrap_install_missing_packages", "relation": "defines", "confidence": "EXTRACTED", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_infra_rpi_services_bootstrap_sh", "target": "$graphify-root$_infra_rpi_services_bootstrap_docker_root_target", "relation": "defines", "confidence": "EXTRACTED", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L28", "weight": 1.0}, {"source": "$graphify-root$_infra_rpi_services_bootstrap_sh", "target": "$graphify-root$_infra_rpi_services_bootstrap_configure_docker_root", "relation": "defines", "confidence": "EXTRACTED", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L40", "weight": 1.0}, {"source": "$graphify-root$_infra_rpi_services_bootstrap_sh", "target": "$graphify-root$_infra_rpi_services_bootstrap_stop_legacy_pihole", "relation": "defines", "confidence": "EXTRACTED", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L89", "weight": 1.0}, {"source": "$graphify-root$_infra_rpi_services_bootstrap_sh", "target": "$graphify-root$_infra_rpi_services_bootstrap_resolve_pihole_webpassword", "relation": "defines", "confidence": "EXTRACTED", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L104", "weight": 1.0}, {"source": "$graphify-root$_infra_rpi_services_bootstrap_sh", "target": "$graphify-root$_infra_rpi_services_bootstrap_write_env_file", "relation": "defines", "confidence": "EXTRACTED", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L133", "weight": 1.0}, {"source": "$graphify-root$_infra_rpi_services_bootstrap_sh", "target": "$graphify-root$_infra_rpi_services_bootstrap_sync_pihole_adlists", "relation": "defines", "confidence": "EXTRACTED", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L163", "weight": 1.0}, {"source": "$graphify-root$_infra_rpi_services_bootstrap_sh", "target": "$graphify-root$_infra_rpi_services_bootstrap_sync_pihole_managed_dns", "relation": "defines", "confidence": "EXTRACTED", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L212", "weight": 1.0}, {"source": "$graphify-root$_infra_rpi_services_bootstrap_sh", "target": "$graphify-root$_infra_rpi_services_bootstrap_seed_uptime_kuma_monitors", "relation": "defines", "confidence": "EXTRACTED", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L261", "weight": 1.0}, {"source": "$graphify-root$_infra_rpi_services_bootstrap_sh__entry", "target": "$graphify-root$_infra_rpi_services_bootstrap_install_missing_packages", "relation": "calls", "confidence": "EXTRACTED", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L290", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_infra_rpi_services_bootstrap_sh__entry", "target": "$graphify-root$_infra_rpi_services_bootstrap_configure_docker_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L302", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_infra_rpi_services_bootstrap_sh__entry", "target": "$graphify-root$_infra_rpi_services_bootstrap_write_env_file", "relation": "calls", "confidence": "EXTRACTED", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L316", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_infra_rpi_services_bootstrap_sh__entry", "target": "$graphify-root$_infra_rpi_services_bootstrap_stop_legacy_pihole", "relation": "calls", "confidence": "EXTRACTED", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L318", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_infra_rpi_services_bootstrap_sh__entry", "target": "$graphify-root$_infra_rpi_services_bootstrap_sync_pihole_adlists", "relation": "calls", "confidence": "EXTRACTED", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L323", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_infra_rpi_services_bootstrap_sh__entry", "target": "$graphify-root$_infra_rpi_services_bootstrap_sync_pihole_managed_dns", "relation": "calls", "confidence": "EXTRACTED", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L324", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_infra_rpi_services_bootstrap_sh__entry", "target": "$graphify-root$_infra_rpi_services_bootstrap_seed_uptime_kuma_monitors", "relation": "calls", "confidence": "EXTRACTED", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L325", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_infra_rpi_services_bootstrap_write_env_file", "target": "$graphify-root$_infra_rpi_services_bootstrap_resolve_pihole_webpassword", "relation": "calls", "confidence": "EXTRACTED", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L134", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_sh__entry", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_sh__entry", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_sh__entry", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_sh__entry", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L4"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_sh__entry", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L292"}, {"language": "bash", "callee": "curl", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_sh__entry", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L294"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_sh__entry", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L294"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_sh__entry", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L296"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_sh__entry", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L297"}, {"language": "bash", "callee": "dpkg-query", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_install_missing_packages", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L17"}, {"language": "bash", "callee": "grep", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_install_missing_packages", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L17"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_install_missing_packages", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L23"}, {"language": "bash", "callee": "mountpoint", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_docker_root_target", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L29"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_docker_root_target", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L30"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_docker_root_target", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L32"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_docker_root_target", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L33"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_configure_docker_root", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L46"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_configure_docker_root", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L49"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_configure_docker_root", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L52"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_configure_docker_root", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L67"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_configure_docker_root", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L70"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_stop_legacy_pihole", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L93"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_stop_legacy_pihole", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L97"}, {"language": "bash", "callee": "grep", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_stop_legacy_pihole", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L97"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_stop_legacy_pihole", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L98"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_stop_legacy_pihole", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L99"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_resolve_pihole_webpassword", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L109"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_resolve_pihole_webpassword", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L110"}, {"language": "bash", "callee": "grep", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_resolve_pihole_webpassword", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L114"}, {"language": "bash", "callee": "tail", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_resolve_pihole_webpassword", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L114"}, {"language": "bash", "callee": "cut", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_resolve_pihole_webpassword", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L114"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_resolve_pihole_webpassword", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L114"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_resolve_pihole_webpassword", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L121"}, {"language": "bash", "callee": "openssl", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_resolve_pihole_webpassword", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L122"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_resolve_pihole_webpassword", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L126"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_write_env_file", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L135"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_sync_pihole_adlists", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L170"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_sync_pihole_adlists", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L173"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_sync_pihole_adlists", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L175"}, {"language": "bash", "callee": "sleep", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_sync_pihole_adlists", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L178"}, {"language": "bash", "callee": "mktemp", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_sync_pihole_adlists", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L182"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_sync_pihole_adlists", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L183"}, {"language": "bash", "callee": "rm", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_sync_pihole_adlists", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L208"}, {"language": "bash", "callee": "mktemp", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_sync_pihole_managed_dns", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L219"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_sync_pihole_managed_dns", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L220"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_sync_pihole_managed_dns", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L256"}, {"language": "bash", "callee": "rm", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_sync_pihole_managed_dns", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L257"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_seed_uptime_kuma_monitors", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L268"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_seed_uptime_kuma_monitors", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L269"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_seed_uptime_kuma_monitors", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L272"}, {"language": "bash", "callee": "sleep", "caller_nid": "$graphify-root$_infra_rpi_services_bootstrap_seed_uptime_kuma_monitors", "source_file": "infra/rpi-services/bootstrap.sh", "source_location": "L277"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/7eb878a36d2c62a0d79cde4882bf16b9cf7280f44e8f931b0897c88d5c17bd9c.json b/graphify-out/cache/ast/v0.9.64-s4/7eb878a36d2c62a0d79cde4882bf16b9cf7280f44e8f931b0897c88d5c17bd9c.json
new file mode 100644
index 0000000..725be0b
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/7eb878a36d2c62a0d79cde4882bf16b9cf7280f44e8f931b0897c88d5c17bd9c.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_apps_website_lang_nah_php", "label": "nah.php", "file_type": "code", "source_file": "apps/website/lang/nah.php", "source_location": "L1"}], "edges": [], "raw_calls": [], "parse_errors": {"first_error_line": 153, "multiline_error": false}}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/7ed7d0a98cb3d69986d9aebb6f48af5d6b1c3103207b7857390a6667f80f1766.json b/graphify-out/cache/ast/v0.9.64-s4/7ed7d0a98cb3d69986d9aebb6f48af5d6b1c3103207b7857390a6667f80f1766.json
new file mode 100644
index 0000000..cb5f291
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/7ed7d0a98cb3d69986d9aebb6f48af5d6b1c3103207b7857390a6667f80f1766.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_security_attack_path", "label": "security-attack-path", "file_type": "code", "source_file": "scripts/security-attack-path", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_security_attack_path__entry", "label": "security-attack-path script", "file_type": "code", "source_file": "scripts/security-attack-path", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_security_attack_path_usage", "label": "usage()", "file_type": "code", "source_file": "scripts/security-attack-path", "source_location": "L8", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_attack_path_require_kubectl", "label": "require_kubectl()", "file_type": "code", "source_file": "scripts/security-attack-path", "source_location": "L21", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_attack_path_section", "label": "section()", "file_type": "code", "source_file": "scripts/security-attack-path", "source_location": "L32", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_attack_path_kubectl_ro", "label": "kubectl_ro()", "file_type": "code", "source_file": "scripts/security-attack-path", "source_location": "L36", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_attack_path_jsonpath_or_unknown", "label": "jsonpath_or_unknown()", "file_type": "code", "source_file": "scripts/security-attack-path", "source_location": "L40", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_attack_path_main", "label": "main()", "file_type": "code", "source_file": "scripts/security-attack-path", "source_location": "L49", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_security_attack_path", "target": "$graphify-root$_scripts_security_attack_path__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/security-attack-path", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_attack_path", "target": "$graphify-root$_scripts_security_attack_path_usage", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-attack-path", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_attack_path", "target": "$graphify-root$_scripts_security_attack_path_require_kubectl", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-attack-path", "source_location": "L21", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_attack_path", "target": "$graphify-root$_scripts_security_attack_path_section", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-attack-path", "source_location": "L32", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_attack_path", "target": "$graphify-root$_scripts_security_attack_path_kubectl_ro", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-attack-path", "source_location": "L36", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_attack_path", "target": "$graphify-root$_scripts_security_attack_path_jsonpath_or_unknown", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-attack-path", "source_location": "L40", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_attack_path", "target": "$graphify-root$_scripts_security_attack_path_main", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-attack-path", "source_location": "L49", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_attack_path__entry", "target": "$graphify-root$_scripts_security_attack_path_main", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-attack-path", "source_location": "L121", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_attack_path_jsonpath_or_unknown", "target": "$graphify-root$_scripts_security_attack_path_kubectl_ro", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-attack-path", "source_location": "L45", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_attack_path_main", "target": "$graphify-root$_scripts_security_attack_path_usage", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-attack-path", "source_location": "L56", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_attack_path_main", "target": "$graphify-root$_scripts_security_attack_path_require_kubectl", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-attack-path", "source_location": "L61", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_attack_path_main", "target": "$graphify-root$_scripts_security_attack_path_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-attack-path", "source_location": "L63", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_attack_path_main", "target": "$graphify-root$_scripts_security_attack_path_kubectl_ro", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-attack-path", "source_location": "L67", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_attack_path_main", "target": "$graphify-root$_scripts_security_attack_path_jsonpath_or_unknown", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-attack-path", "source_location": "L73", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_security_attack_path__entry", "source_file": "scripts/security-attack-path", "source_location": "L2"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_security_attack_path_usage", "source_file": "scripts/security-attack-path", "source_location": "L9"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_security_attack_path_require_kubectl", "source_file": "scripts/security-attack-path", "source_location": "L22"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_security_attack_path_require_kubectl", "source_file": "scripts/security-attack-path", "source_location": "L23"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_security_attack_path_require_kubectl", "source_file": "scripts/security-attack-path", "source_location": "L24"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_security_attack_path_section", "source_file": "scripts/security-attack-path", "source_location": "L33"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_scripts_security_attack_path_kubectl_ro", "source_file": "scripts/security-attack-path", "source_location": "L37"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_security_attack_path_jsonpath_or_unknown", "source_file": "scripts/security-attack-path", "source_location": "L45"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_security_attack_path_jsonpath_or_unknown", "source_file": "scripts/security-attack-path", "source_location": "L46"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_security_attack_path_main", "source_file": "scripts/security-attack-path", "source_location": "L57"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_security_attack_path_main", "source_file": "scripts/security-attack-path", "source_location": "L64"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_security_attack_path_main", "source_file": "scripts/security-attack-path", "source_location": "L68"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_security_attack_path_main", "source_file": "scripts/security-attack-path", "source_location": "L69"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_security_attack_path_main", "source_file": "scripts/security-attack-path", "source_location": "L84"}, {"language": "bash", "callee": "grep", "caller_nid": "$graphify-root$_scripts_security_attack_path_main", "source_file": "scripts/security-attack-path", "source_location": "L90"}, {"language": "bash", "callee": "sed", "caller_nid": "$graphify-root$_scripts_security_attack_path_main", "source_file": "scripts/security-attack-path", "source_location": "L103"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_security_attack_path_main", "source_file": "scripts/security-attack-path", "source_location": "L111"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/840227f93a23d35aa5955f53f597339119a1c7306ae5157d391b6f3cf08760ef.json b/graphify-out/cache/ast/v0.9.64-s4/840227f93a23d35aa5955f53f597339119a1c7306ae5157d391b6f3cf08760ef.json
new file mode 100644
index 0000000..4b6bf38
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/840227f93a23d35aa5955f53f597339119a1c7306ae5157d391b6f3cf08760ef.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_apps_website_translate_php", "label": "translate.php", "file_type": "code", "source_file": "apps/website/translate.php", "source_location": "L1"}, {"id": "$graphify-root$_apps_website_translate_translate_response", "label": "translate_response()", "file_type": "code", "source_file": "apps/website/translate.php", "source_location": "L7", "_callable": true}, {"id": "$graphify-root$_apps_website_translate_clean_translate_text", "label": "clean_translate_text()", "file_type": "code", "source_file": "apps/website/translate.php", "source_location": "L13", "_callable": true}, {"id": "$graphify-root$_apps_website_translate_elapsed_ms", "label": "elapsed_ms()", "file_type": "code", "source_file": "apps/website/translate.php", "source_location": "L23", "_callable": true}, {"id": "$graphify-root$_apps_website_translate_translation_log", "label": "translation_log()", "file_type": "code", "source_file": "apps/website/translate.php", "source_location": "L27", "_callable": true}, {"id": "$graphify-root$_apps_website_translate_redis_encode_command", "label": "redis_encode_command()", "file_type": "code", "source_file": "apps/website/translate.php", "source_location": "L39", "_callable": true}, {"id": "$graphify-root$_apps_website_translate_redis_read_line", "label": "redis_read_line()", "file_type": "code", "source_file": "apps/website/translate.php", "source_location": "L48", "_callable": true}, {"id": "$graphify-root$_apps_website_translate_redis_read_response", "label": "redis_read_response()", "file_type": "code", "source_file": "apps/website/translate.php", "source_location": "L56", "_callable": true}, {"id": "$graphify-root$_apps_website_translate_redis_connect", "label": "redis_connect()", "file_type": "code", "source_file": "apps/website/translate.php", "source_location": "L111", "_callable": true}, {"id": "$graphify-root$_apps_website_translate_translation_cache_key", "label": "translation_cache_key()", "file_type": "code", "source_file": "apps/website/translate.php", "source_location": "L126", "_callable": true}, {"id": "$graphify-root$_apps_website_translate_translation_cache_read", "label": "translation_cache_read()", "file_type": "code", "source_file": "apps/website/translate.php", "source_location": "L131", "_callable": true}, {"id": "$graphify-root$_apps_website_translate_translation_cache_write", "label": "translation_cache_write()", "file_type": "code", "source_file": "apps/website/translate.php", "source_location": "L158", "_callable": true}], "edges": [{"source": "$graphify-root$_apps_website_translate_php", "target": "$graphify-root$_apps_website_translate_translate_response", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/translate.php", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_apps_website_translate_php", "target": "$graphify-root$_apps_website_translate_clean_translate_text", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/translate.php", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_apps_website_translate_php", "target": "$graphify-root$_apps_website_translate_elapsed_ms", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/translate.php", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_apps_website_translate_php", "target": "$graphify-root$_apps_website_translate_translation_log", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/translate.php", "source_location": "L27", "weight": 1.0}, {"source": "$graphify-root$_apps_website_translate_php", "target": "$graphify-root$_apps_website_translate_redis_encode_command", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/translate.php", "source_location": "L39", "weight": 1.0}, {"source": "$graphify-root$_apps_website_translate_php", "target": "$graphify-root$_apps_website_translate_redis_read_line", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/translate.php", "source_location": "L48", "weight": 1.0}, {"source": "$graphify-root$_apps_website_translate_php", "target": "$graphify-root$_apps_website_translate_redis_read_response", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/translate.php", "source_location": "L56", "weight": 1.0}, {"source": "$graphify-root$_apps_website_translate_php", "target": "$graphify-root$_apps_website_translate_redis_connect", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/translate.php", "source_location": "L111", "weight": 1.0}, {"source": "$graphify-root$_apps_website_translate_php", "target": "$graphify-root$_apps_website_translate_translation_cache_key", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/translate.php", "source_location": "L126", "weight": 1.0}, {"source": "$graphify-root$_apps_website_translate_php", "target": "$graphify-root$_apps_website_translate_translation_cache_read", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/translate.php", "source_location": "L131", "weight": 1.0}, {"source": "$graphify-root$_apps_website_translate_php", "target": "$graphify-root$_apps_website_translate_translation_cache_write", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/translate.php", "source_location": "L158", "weight": 1.0}, {"source": "$graphify-root$_apps_website_translate_redis_read_response", "target": "$graphify-root$_apps_website_translate_redis_read_line", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "apps/website/translate.php", "source_location": "L63", "weight": 1.0}, {"source": "$graphify-root$_apps_website_translate_redis_read_response", "target": "$graphify-root$_apps_website_translate_redis_read_response", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "apps/website/translate.php", "source_location": "L103", "weight": 1.0}, {"source": "$graphify-root$_apps_website_translate_translation_cache_read", "target": "$graphify-root$_apps_website_translate_redis_connect", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "apps/website/translate.php", "source_location": "L136", "weight": 1.0}, {"source": "$graphify-root$_apps_website_translate_translation_cache_read", "target": "$graphify-root$_apps_website_translate_redis_encode_command", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "apps/website/translate.php", "source_location": "L141", "weight": 1.0}, {"source": "$graphify-root$_apps_website_translate_translation_cache_read", "target": "$graphify-root$_apps_website_translate_redis_read_response", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "apps/website/translate.php", "source_location": "L142", "weight": 1.0}, {"source": "$graphify-root$_apps_website_translate_translation_cache_read", "target": "$graphify-root$_apps_website_translate_clean_translate_text", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "apps/website/translate.php", "source_location": "L152", "weight": 1.0}, {"source": "$graphify-root$_apps_website_translate_translation_cache_write", "target": "$graphify-root$_apps_website_translate_redis_connect", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "apps/website/translate.php", "source_location": "L168", "weight": 1.0}, {"source": "$graphify-root$_apps_website_translate_translation_cache_write", "target": "$graphify-root$_apps_website_translate_redis_encode_command", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "apps/website/translate.php", "source_location": "L174", "weight": 1.0}, {"source": "$graphify-root$_apps_website_translate_translation_cache_write", "target": "$graphify-root$_apps_website_translate_redis_read_response", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "apps/website/translate.php", "source_location": "L175", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_apps_website_translate_translate_response", "callee": "http_response_code", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L8", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_translate_response", "callee": "json_encode", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L9", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_clean_translate_text", "callee": "strip_tags", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L14", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_clean_translate_text", "callee": "preg_replace", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L15", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_clean_translate_text", "callee": "trim", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L16", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_clean_translate_text", "callee": "strlen", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L17", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_clean_translate_text", "callee": "substr", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L18", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_elapsed_ms", "callee": "microtime", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L24", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_translation_log", "callee": "array_merge", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L28", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_translation_log", "callee": "gmdate", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L30", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_translation_log", "callee": "json_encode", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L33", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_translation_log", "callee": "error_log", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L35", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_redis_encode_command", "callee": "count", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L40", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_redis_encode_command", "callee": "strlen", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L43", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_redis_read_line", "callee": "fgets", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L49", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_redis_read_line", "callee": "rtrim", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L53", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_redis_read_response", "callee": "fgetc", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L57", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_redis_read_response", "callee": "strlen", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L81", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_redis_read_response", "callee": "fread", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L82", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_redis_read_response", "callee": "strlen", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L82", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_redis_read_response", "callee": "fread", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L88", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_redis_connect", "callee": "trim", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L112", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_redis_connect", "callee": "getenv", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L112", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_redis_connect", "callee": "getenv", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L117", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_redis_connect", "callee": "fsockopen", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L118", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_redis_connect", "callee": "stream_set_timeout", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L122", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_translation_cache_key", "callee": "preg_replace", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L127", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_translation_cache_read", "callee": "fwrite", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L141", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_translation_cache_read", "callee": "array_merge", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L141", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_translation_cache_read", "callee": "fclose", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L143", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_translation_cache_read", "callee": "is_array", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L145", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_translation_cache_read", "callee": "count", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L145", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_translation_cache_read", "callee": "count", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L145", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_translation_cache_read", "callee": "is_string", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L151", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_translation_cache_write", "callee": "getenv", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L163", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_translation_cache_write", "callee": "fwrite", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L174", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_translate_translation_cache_write", "callee": "fclose", "is_member_call": false, "source_file": "apps/website/translate.php", "source_location": "L177", "receiver": null}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/845db495f90d0b292ea49fb1768be6e2c0a0f0a5d5433883d5793510a96b5251.json b/graphify-out/cache/ast/v0.9.64-s4/845db495f90d0b292ea49fb1768be6e2c0a0f0a5d5433883d5793510a96b5251.json
new file mode 100644
index 0000000..23599f1
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/845db495f90d0b292ea49fb1768be6e2c0a0f0a5d5433883d5793510a96b5251.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_labs_mlops_platform_training_export_model_py", "label": "export_model.py", "file_type": "code", "source_file": "labs/mlops-platform/training/export_model.py", "source_location": "L1"}, {"id": "$graphify-root$_labs_mlops_platform_training_export_model_export_model", "label": "export_model()", "file_type": "code", "source_file": "labs/mlops-platform/training/export_model.py", "source_location": "L19", "_callable": true}], "edges": [{"source": "$graphify-root$_labs_mlops_platform_training_export_model_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/training/export_model.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_training_export_model_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/training/export_model.py", "source_location": "L2", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_training_export_model_py", "target": "numpy", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/training/export_model.py", "source_location": "L4", "weight": 1.0, "local_alias": "np"}, {"source": "$graphify-root$_labs_mlops_platform_training_export_model_py", "target": "sklearn_linear_model", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/training/export_model.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_training_export_model_py", "target": "sklearn_pipeline", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/training/export_model.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_training_export_model_py", "target": "sklearn_preprocessing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/training/export_model.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_training_export_model_py", "target": "$graphify-root$_labs_mlops_platform_training_export_model_export_model", "relation": "contains", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/training/export_model.py", "source_location": "L19", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_labs_mlops_platform_training_export_model_export_model", "callee": "default_rng", "is_member_call": true, "source_file": "labs/mlops-platform/training/export_model.py", "source_location": "L20", "receiver": null}, {"caller_nid": "$graphify-root$_labs_mlops_platform_training_export_model_export_model", "callee": "normal", "is_member_call": true, "source_file": "labs/mlops-platform/training/export_model.py", "source_location": "L21", "receiver": "rng"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_training_export_model_export_model", "callee": "normal", "is_member_call": true, "source_file": "labs/mlops-platform/training/export_model.py", "source_location": "L22", "receiver": "rng"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_training_export_model_export_model", "callee": "vstack", "is_member_call": true, "source_file": "labs/mlops-platform/training/export_model.py", "source_location": "L23", "receiver": "np"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_training_export_model_export_model", "callee": "array", "is_member_call": true, "source_file": "labs/mlops-platform/training/export_model.py", "source_location": "L24", "receiver": "np"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_training_export_model_export_model", "callee": "make_pipeline", "is_member_call": false, "source_file": "labs/mlops-platform/training/export_model.py", "source_location": "L26", "receiver": null}, {"caller_nid": "$graphify-root$_labs_mlops_platform_training_export_model_export_model", "callee": "StandardScaler", "is_member_call": false, "source_file": "labs/mlops-platform/training/export_model.py", "source_location": "L26", "receiver": null}, {"caller_nid": "$graphify-root$_labs_mlops_platform_training_export_model_export_model", "callee": "LogisticRegression", "is_member_call": false, "source_file": "labs/mlops-platform/training/export_model.py", "source_location": "L26", "receiver": null}, {"caller_nid": "$graphify-root$_labs_mlops_platform_training_export_model_export_model", "callee": "fit", "is_member_call": true, "source_file": "labs/mlops-platform/training/export_model.py", "source_location": "L27", "receiver": "pipeline"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_training_export_model_export_model", "callee": "FEATURES", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "labs/mlops-platform/training/export_model.py", "source_location": "L36"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_training_export_model_export_model", "callee": "FEATURES", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "labs/mlops-platform/training/export_model.py", "source_location": "L40"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_training_export_model_export_model", "callee": "mkdir", "is_member_call": true, "source_file": "labs/mlops-platform/training/export_model.py", "source_location": "L44", "receiver": "OUTPUT_DIR"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_training_export_model_export_model", "callee": "open", "is_member_call": true, "source_file": "labs/mlops-platform/training/export_model.py", "source_location": "L45", "receiver": null}, {"caller_nid": "$graphify-root$_labs_mlops_platform_training_export_model_export_model", "callee": "dump", "is_member_call": true, "source_file": "labs/mlops-platform/training/export_model.py", "source_location": "L46", "receiver": "json"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_training_export_model_export_model", "callee": "handle", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "labs/mlops-platform/training/export_model.py", "source_location": "L46"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_training_export_model_export_model", "callee": "write", "is_member_call": true, "source_file": "labs/mlops-platform/training/export_model.py", "source_location": "L47", "receiver": "handle"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/87705ae4a2f669356d407248279ac83aa427c9ea723c965db1a4445524a72433.json b/graphify-out/cache/ast/v0.9.64-s4/87705ae4a2f669356d407248279ac83aa427c9ea723c965db1a4445524a72433.json
new file mode 100644
index 0000000..a8fd153
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/87705ae4a2f669356d407248279ac83aa427c9ea723c965db1a4445524a72433.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_cert_check", "label": "cert-check", "file_type": "code", "source_file": "scripts/cert-check", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_cert_check__entry", "label": "cert-check script", "file_type": "code", "source_file": "scripts/cert-check", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_cert_check_cleanup", "label": "cleanup()", "file_type": "code", "source_file": "scripts/cert-check", "source_location": "L14", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_cert_check_section", "label": "section()", "file_type": "code", "source_file": "scripts/cert-check", "source_location": "L21", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_cert_check_have", "label": "have()", "file_type": "code", "source_file": "scripts/cert-check", "source_location": "L25", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_cert_check_mark_fail", "label": "mark_fail()", "file_type": "code", "source_file": "scripts/cert-check", "source_location": "L29", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_cert_check_inventory_scalar", "label": "inventory_scalar()", "file_type": "code", "source_file": "scripts/cert-check", "source_location": "L34", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_cert_check_inventory_hosts", "label": "inventory_hosts()", "file_type": "code", "source_file": "scripts/cert-check", "source_location": "L46", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_cert_check", "target": "$graphify-root$_scripts_cert_check__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/cert-check", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_cert_check", "target": "$graphify-root$_scripts_cert_check_cleanup", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/cert-check", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_scripts_cert_check", "target": "$graphify-root$_scripts_cert_check_section", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/cert-check", "source_location": "L21", "weight": 1.0}, {"source": "$graphify-root$_scripts_cert_check", "target": "$graphify-root$_scripts_cert_check_have", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/cert-check", "source_location": "L25", "weight": 1.0}, {"source": "$graphify-root$_scripts_cert_check", "target": "$graphify-root$_scripts_cert_check_mark_fail", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/cert-check", "source_location": "L29", "weight": 1.0}, {"source": "$graphify-root$_scripts_cert_check", "target": "$graphify-root$_scripts_cert_check_inventory_scalar", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/cert-check", "source_location": "L34", "weight": 1.0}, {"source": "$graphify-root$_scripts_cert_check", "target": "$graphify-root$_scripts_cert_check_inventory_hosts", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/cert-check", "source_location": "L46", "weight": 1.0}, {"source": "$graphify-root$_scripts_cert_check__entry", "target": "$graphify-root$_scripts_cert_check_inventory_scalar", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/cert-check", "source_location": "L57", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_cert_check__entry", "target": "$graphify-root$_scripts_cert_check_inventory_hosts", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/cert-check", "source_location": "L65", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_cert_check__entry", "target": "$graphify-root$_scripts_cert_check_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/cert-check", "source_location": "L73", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_cert_check__entry", "target": "$graphify-root$_scripts_cert_check_have", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/cert-check", "source_location": "L76", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_cert_check__entry", "target": "$graphify-root$_scripts_cert_check_mark_fail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/cert-check", "source_location": "L157", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_cert_check_inventory_scalar", "target": "$graphify-root$_scripts_cert_check_have", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/cert-check", "source_location": "L37", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_cert_check_inventory_hosts", "target": "$graphify-root$_scripts_cert_check_have", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/cert-check", "source_location": "L47", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_cert_check__entry", "source_file": "scripts/cert-check", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_cert_check__entry", "source_file": "scripts/cert-check", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_cert_check__entry", "source_file": "scripts/cert-check", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_cert_check__entry", "source_file": "scripts/cert-check", "source_location": "L4"}, {"language": "bash", "callee": "trap", "caller_nid": "$graphify-root$_scripts_cert_check__entry", "source_file": "scripts/cert-check", "source_location": "L19"}, {"language": "bash", "callee": "mktemp", "caller_nid": "$graphify-root$_scripts_cert_check__entry", "source_file": "scripts/cert-check", "source_location": "L70"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_cert_check__entry", "source_file": "scripts/cert-check", "source_location": "L71"}, {"language": "bash", "callee": "read", "caller_nid": "$graphify-root$_scripts_cert_check__entry", "source_file": "scripts/cert-check", "source_location": "L74"}, {"language": "bash", "callee": "continue", "caller_nid": "$graphify-root$_scripts_cert_check__entry", "source_file": "scripts/cert-check", "source_location": "L75"}, {"language": "bash", "callee": "getent", "caller_nid": "$graphify-root$_scripts_cert_check__entry", "source_file": "scripts/cert-check", "source_location": "L77"}, {"language": "bash", "callee": "dig", "caller_nid": "$graphify-root$_scripts_cert_check__entry", "source_file": "scripts/cert-check", "source_location": "L84"}, {"language": "bash", "callee": "grep", "caller_nid": "$graphify-root$_scripts_cert_check__entry", "source_file": "scripts/cert-check", "source_location": "L84"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_cert_check__entry", "source_file": "scripts/cert-check", "source_location": "L91"}, {"language": "bash", "callee": "break", "caller_nid": "$graphify-root$_scripts_cert_check__entry", "source_file": "scripts/cert-check", "source_location": "L93"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_scripts_cert_check__entry", "source_file": "scripts/cert-check", "source_location": "L100"}, {"language": "bash", "callee": ":", "caller_nid": "$graphify-root$_scripts_cert_check__entry", "source_file": "scripts/cert-check", "source_location": "L130"}, {"language": "bash", "callee": "curl", "caller_nid": "$graphify-root$_scripts_cert_check__entry", "source_file": "scripts/cert-check", "source_location": "L138"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_cert_check__entry", "source_file": "scripts/cert-check", "source_location": "L138"}, {"language": "bash", "callee": "tail", "caller_nid": "$graphify-root$_scripts_cert_check__entry", "source_file": "scripts/cert-check", "source_location": "L153"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_cert_check__entry", "source_file": "scripts/cert-check", "source_location": "L165"}, {"language": "bash", "callee": "rm", "caller_nid": "$graphify-root$_scripts_cert_check_cleanup", "source_file": "scripts/cert-check", "source_location": "L16"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_cert_check_section", "source_file": "scripts/cert-check", "source_location": "L22"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_cert_check_have", "source_file": "scripts/cert-check", "source_location": "L26"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_cert_check_mark_fail", "source_file": "scripts/cert-check", "source_location": "L31"}, {"language": "bash", "callee": "ruby", "caller_nid": "$graphify-root$_scripts_cert_check_inventory_scalar", "source_file": "scripts/cert-check", "source_location": "L38"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_cert_check_inventory_scalar", "source_file": "scripts/cert-check", "source_location": "L42"}, {"language": "bash", "callee": "ruby", "caller_nid": "$graphify-root$_scripts_cert_check_inventory_hosts", "source_file": "scripts/cert-check", "source_location": "L48"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_cert_check_inventory_hosts", "source_file": "scripts/cert-check", "source_location": "L53"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/892b84d31b92438b79511a1370a82711a58d33a351edd65ccee457c05cfde73a.json b/graphify-out/cache/ast/v0.9.64-s4/892b84d31b92438b79511a1370a82711a58d33a351edd65ccee457c05cfde73a.json
new file mode 100644
index 0000000..7684174
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/892b84d31b92438b79511a1370a82711a58d33a351edd65ccee457c05cfde73a.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_labs_mlops_platform_app_main_py", "label": "main.py", "file_type": "code", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L1"}, {"id": "$graphify-root$_labs_mlops_platform_app_main_predictrequest", "label": "PredictRequest", "file_type": "code", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L62", "_callable": true, "_callable_class": true}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/labs/mlops-platform/app/main.py"}, {"id": "$graphify-root$_labs_mlops_platform_app_main_load_model", "label": "load_model()", "file_type": "code", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L72", "_callable": true}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/labs/mlops-platform/app/main.py"}, {"id": "middleware", "label": "middleware", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/labs/mlops-platform/app/main.py"}, {"id": "$graphify-root$_labs_mlops_platform_app_main_record_http_metrics", "label": "record_http_metrics()", "file_type": "code", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L112", "_callable": true}, {"id": "request", "label": "Request", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/labs/mlops-platform/app/main.py"}, {"id": "response", "label": "Response", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/labs/mlops-platform/app/main.py"}, {"id": "$graphify-root$_labs_mlops_platform_app_main_normalized_features", "label": "normalized_features()", "file_type": "code", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L127", "_callable": true}, {"id": "$graphify-root$_labs_mlops_platform_app_main_logistic", "label": "logistic()", "file_type": "code", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L137", "_callable": true}, {"id": "$graphify-root$_labs_mlops_platform_app_main_score_prediction", "label": "score_prediction()", "file_type": "code", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L141", "_callable": true}, {"id": "$graphify-root$_labs_mlops_platform_app_main_drift_score", "label": "drift_score()", "file_type": "code", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L148", "_callable": true}, {"id": "get", "label": "get", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/labs/mlops-platform/app/main.py"}, {"id": "$graphify-root$_labs_mlops_platform_app_main_root", "label": "root()", "file_type": "code", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L154", "_callable": true}, {"id": "$graphify-root$_labs_mlops_platform_app_main_healthz", "label": "healthz()", "file_type": "code", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L164", "_callable": true}, {"id": "post", "label": "post", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/labs/mlops-platform/app/main.py"}, {"id": "$graphify-root$_labs_mlops_platform_app_main_predict", "label": "predict()", "file_type": "code", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L174", "_callable": true}, {"id": "$graphify-root$_labs_mlops_platform_app_main_metrics", "label": "metrics()", "file_type": "code", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L204", "_callable": true}], "edges": [{"source": "$graphify-root$_labs_mlops_platform_app_main_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_py", "target": "math", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L2", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L3", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_py", "target": "fastapi_middleware_cors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_py", "target": "prometheus_client", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_py", "target": "$graphify-root$_labs_mlops_platform_app_main_predictrequest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L62", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_predictrequest", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L62", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_py", "target": "$graphify-root$_labs_mlops_platform_app_main_load_model", "relation": "contains", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L72", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_load_model", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L72", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_record_http_metrics", "target": "middleware", "relation": "references", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L111", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_labs_mlops_platform_app_main_py", "target": "$graphify-root$_labs_mlops_platform_app_main_record_http_metrics", "relation": "contains", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L112", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_record_http_metrics", "target": "request", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L112", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_record_http_metrics", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L112", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_record_http_metrics", "target": "response", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L112", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_py", "target": "$graphify-root$_labs_mlops_platform_app_main_normalized_features", "relation": "contains", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L127", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_py", "target": "$graphify-root$_labs_mlops_platform_app_main_logistic", "relation": "contains", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L137", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_py", "target": "$graphify-root$_labs_mlops_platform_app_main_score_prediction", "relation": "contains", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L141", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_py", "target": "$graphify-root$_labs_mlops_platform_app_main_drift_score", "relation": "contains", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L148", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_root", "target": "get", "relation": "references", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L153", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_labs_mlops_platform_app_main_py", "target": "$graphify-root$_labs_mlops_platform_app_main_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L154", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_root", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L154", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_healthz", "target": "get", "relation": "references", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L163", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_labs_mlops_platform_app_main_py", "target": "$graphify-root$_labs_mlops_platform_app_main_healthz", "relation": "contains", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L164", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_healthz", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L164", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_predict", "target": "post", "relation": "references", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L173", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_labs_mlops_platform_app_main_py", "target": "$graphify-root$_labs_mlops_platform_app_main_predict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L174", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_predict", "target": "$graphify-root$_labs_mlops_platform_app_main_predictrequest", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L174", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_predict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L174", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_metrics", "target": "get", "relation": "references", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L203", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_labs_mlops_platform_app_main_py", "target": "$graphify-root$_labs_mlops_platform_app_main_metrics", "relation": "contains", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L204", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_metrics", "target": "response", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L204", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_score_prediction", "target": "$graphify-root$_labs_mlops_platform_app_main_normalized_features", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L143", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_score_prediction", "target": "$graphify-root$_labs_mlops_platform_app_main_logistic", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L145", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_drift_score", "target": "$graphify-root$_labs_mlops_platform_app_main_normalized_features", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L149", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_predict", "target": "$graphify-root$_labs_mlops_platform_app_main_score_prediction", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L178", "weight": 1.0}, {"source": "$graphify-root$_labs_mlops_platform_app_main_predict", "target": "$graphify-root$_labs_mlops_platform_app_main_drift_score", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L179", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_load_model", "callee": "exists", "is_member_call": true, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L74", "receiver": "model_path"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_load_model", "callee": "exists", "is_member_call": true, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L77", "receiver": "model_path"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_load_model", "callee": "RuntimeError", "is_member_call": false, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L78", "receiver": null}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_load_model", "callee": "open", "is_member_call": true, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L80", "receiver": "model_path"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_load_model", "callee": "load", "is_member_call": true, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L81", "receiver": "json"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_load_model", "callee": "handle", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L81"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_load_model", "callee": "difference", "is_member_call": true, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L84", "receiver": "required"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_load_model", "callee": "RuntimeError", "is_member_call": false, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L86", "receiver": null}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_load_model", "callee": "join", "is_member_call": true, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L86", "receiver": null}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_load_model", "callee": "RuntimeError", "is_member_call": false, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L89", "receiver": null}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_record_http_metrics", "callee": "perf_counter", "is_member_call": true, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L113", "receiver": "time"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_record_http_metrics", "callee": "path", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L121"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_record_http_metrics", "callee": "get", "is_member_call": true, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L121", "receiver": null}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_record_http_metrics", "callee": "perf_counter", "is_member_call": true, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L122", "receiver": "time"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_record_http_metrics", "callee": "inc", "is_member_call": true, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L123", "receiver": null}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_record_http_metrics", "callee": "labels", "is_member_call": true, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L123", "receiver": "REQUESTS"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_record_http_metrics", "callee": "MODEL_TRACK", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L123"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_record_http_metrics", "callee": "observe", "is_member_call": true, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L124", "receiver": null}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_record_http_metrics", "callee": "labels", "is_member_call": true, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L124", "receiver": "REQUEST_LATENCY"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_record_http_metrics", "callee": "MODEL_TRACK", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L124"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_normalized_features", "callee": "append", "is_member_call": true, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L133", "receiver": "values"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_logistic", "callee": "exp", "is_member_call": true, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L138", "receiver": "math"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_root", "callee": "MODEL_TRACK", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L158"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_healthz", "callee": "MODEL_TRACK", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L168"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_predict", "callee": "perf_counter", "is_member_call": true, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L175", "receiver": "time"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_predict", "callee": "model_dump", "is_member_call": true, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L177", "receiver": "payload"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_predict", "callee": "inc", "is_member_call": true, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L183", "receiver": null}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_predict", "callee": "labels", "is_member_call": true, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L183", "receiver": "PREDICTIONS"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_predict", "callee": "MODEL_TRACK", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L183"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_predict", "callee": "set", "is_member_call": true, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L184", "receiver": null}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_predict", "callee": "labels", "is_member_call": true, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L184", "receiver": "CONFIDENCE"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_predict", "callee": "MODEL_TRACK", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L184"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_predict", "callee": "set", "is_member_call": true, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L185", "receiver": null}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_predict", "callee": "labels", "is_member_call": true, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L185", "receiver": "DRIFT"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_predict", "callee": "MODEL_TRACK", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L185"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_predict", "callee": "observe", "is_member_call": true, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L186", "receiver": null}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_predict", "callee": "labels", "is_member_call": true, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L186", "receiver": "PREDICTION_LATENCY"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_predict", "callee": "MODEL_TRACK", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L186"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_predict", "callee": "perf_counter", "is_member_call": true, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L186", "receiver": "time"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_predict", "callee": "MODEL_TRACK", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L190"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_predict", "callee": "inc", "is_member_call": true, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L199", "receiver": null}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_predict", "callee": "labels", "is_member_call": true, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L199", "receiver": "ERRORS"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_predict", "callee": "MODEL_TRACK", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L199"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_predict", "callee": "HTTPException", "is_member_call": false, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L200", "receiver": null}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_metrics", "callee": "CONTENT_TYPE_LATEST", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "labs/mlops-platform/app/main.py", "source_location": "L205"}, {"caller_nid": "$graphify-root$_labs_mlops_platform_app_main_metrics", "callee": "generate_latest", "is_member_call": false, "source_file": "labs/mlops-platform/app/main.py", "source_location": "L205", "receiver": null}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/8ba29c646c9c512811a89f92885bfa3f0d128173eb134eb11e6148282bbb7dd2.json b/graphify-out/cache/ast/v0.9.64-s4/8ba29c646c9c512811a89f92885bfa3f0d128173eb134eb11e6148282bbb7dd2.json
new file mode 100644
index 0000000..eb7328d
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/8ba29c646c9c512811a89f92885bfa3f0d128173eb134eb11e6148282bbb7dd2.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_apps_website_index_php", "label": "index.php", "file_type": "code", "source_file": "apps/website/index.php", "source_location": "L1"}], "edges": [], "raw_calls": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/8bc666855fa364692bdc5f810b353c3f3d6b4901579d1edf98e15952ce0e920c.json b/graphify-out/cache/ast/v0.9.64-s4/8bc666855fa364692bdc5f810b353c3f3d6b4901579d1edf98e15952ce0e920c.json
new file mode 100644
index 0000000..6a81db6
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/8bc666855fa364692bdc5f810b353c3f3d6b4901579d1edf98e15952ce0e920c.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_ai_memory", "label": "ai-memory", "file_type": "code", "source_file": "scripts/ai-memory", "source_location": "L1"}, {"id": "$graphify-root$_scripts_ai_memory_check", "label": "check()", "file_type": "code", "source_file": "scripts/ai-memory", "source_location": "L16", "_callable": true}, {"id": "path", "label": "Path", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/ai-memory"}, {"id": "$graphify-root$_scripts_ai_memory_main", "label": "main()", "file_type": "code", "source_file": "scripts/ai-memory", "source_location": "L54", "_callable": true}, {"id": "$graphify-root$_scripts_ai_memory_rationale_2", "label": "Check local homelab AI memory provenance and freshness.", "file_type": "rationale", "source_file": "scripts/ai-memory", "source_location": "L2"}], "edges": [{"source": "$graphify-root$_scripts_ai_memory", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/ai-memory", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_memory", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/ai-memory", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_memory", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/ai-memory", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_memory", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/ai-memory", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_memory", "target": "$graphify-root$_scripts_ai_memory_check", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/ai-memory", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_memory_check", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/ai-memory", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_memory", "target": "$graphify-root$_scripts_ai_memory_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/ai-memory", "source_location": "L54", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_memory_main", "target": "$graphify-root$_scripts_ai_memory_check", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/ai-memory", "source_location": "L61", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_memory_rationale_2", "target": "$graphify-root$_scripts_ai_memory", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/ai-memory", "source_location": "L2", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_ai_memory_check", "callee": "is_file", "is_member_call": true, "source_file": "scripts/ai-memory", "source_location": "L18", "receiver": "manifest_path"}, {"caller_nid": "$graphify-root$_scripts_ai_memory_check", "callee": "loads", "is_member_call": true, "source_file": "scripts/ai-memory", "source_location": "L22", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_ai_memory_check", "callee": "read_text", "is_member_call": true, "source_file": "scripts/ai-memory", "source_location": "L22", "receiver": "manifest_path"}, {"caller_nid": "$graphify-root$_scripts_ai_memory_check", "callee": "items", "is_member_call": true, "source_file": "scripts/ai-memory", "source_location": "L25", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_ai_memory_check", "callee": "get", "is_member_call": true, "source_file": "scripts/ai-memory", "source_location": "L25", "receiver": "manifest"}, {"caller_nid": "$graphify-root$_scripts_ai_memory_check", "callee": "is_file", "is_member_call": true, "source_file": "scripts/ai-memory", "source_location": "L27", "receiver": "path"}, {"caller_nid": "$graphify-root$_scripts_ai_memory_check", "callee": "append", "is_member_call": true, "source_file": "scripts/ai-memory", "source_location": "L28", "receiver": "missing"}, {"caller_nid": "$graphify-root$_scripts_ai_memory_check", "callee": "stat", "is_member_call": true, "source_file": "scripts/ai-memory", "source_location": "L30", "receiver": "path"}, {"caller_nid": "$graphify-root$_scripts_ai_memory_check", "callee": "append", "is_member_call": true, "source_file": "scripts/ai-memory", "source_location": "L31", "receiver": "stale"}, {"caller_nid": "$graphify-root$_scripts_ai_memory_check", "callee": "get", "is_member_call": true, "source_file": "scripts/ai-memory", "source_location": "L36", "receiver": "manifest"}, {"caller_nid": "$graphify-root$_scripts_ai_memory_check", "callee": "get", "is_member_call": true, "source_file": "scripts/ai-memory", "source_location": "L37", "receiver": "manifest"}, {"caller_nid": "$graphify-root$_scripts_ai_memory_main", "callee": "ArgumentParser", "is_member_call": true, "source_file": "scripts/ai-memory", "source_location": "L55", "receiver": "argparse"}, {"caller_nid": "$graphify-root$_scripts_ai_memory_main", "callee": "__doc__", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/ai-memory", "source_location": "L55"}, {"caller_nid": "$graphify-root$_scripts_ai_memory_main", "callee": "add_subparsers", "is_member_call": true, "source_file": "scripts/ai-memory", "source_location": "L56", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_ai_memory_main", "callee": "add_parser", "is_member_call": true, "source_file": "scripts/ai-memory", "source_location": "L57", "receiver": "subparsers"}, {"caller_nid": "$graphify-root$_scripts_ai_memory_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/ai-memory", "source_location": "L58", "receiver": "check_parser"}, {"caller_nid": "$graphify-root$_scripts_ai_memory_main", "callee": "Path", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/ai-memory", "source_location": "L58"}, {"caller_nid": "$graphify-root$_scripts_ai_memory_main", "callee": "DEFAULT_INDEX_DIR", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/ai-memory", "source_location": "L58"}, {"caller_nid": "$graphify-root$_scripts_ai_memory_main", "callee": "parse_args", "is_member_call": true, "source_file": "scripts/ai-memory", "source_location": "L59", "receiver": "parser"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/8ca683dc95a5ccfe596fe14c4cc10578a1a46a3e4a4233fa109d95fd5eb5212f.json b/graphify-out/cache/ast/v0.9.64-s4/8ca683dc95a5ccfe596fe14c4cc10578a1a46a3e4a4233fa109d95fd5eb5212f.json
new file mode 100644
index 0000000..388e67d
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/8ca683dc95a5ccfe596fe14c4cc10578a1a46a3e4a4233fa109d95fd5eb5212f.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_impact", "label": "impact", "file_type": "code", "source_file": "scripts/impact", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_impact__entry", "label": "impact script", "file_type": "code", "source_file": "scripts/impact", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_impact_usage", "label": "usage()", "file_type": "code", "source_file": "scripts/impact", "source_location": "L7", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_impact", "target": "$graphify-root$_scripts_impact__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/impact", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_impact", "target": "$graphify-root$_scripts_impact_usage", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/impact", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_scripts_impact__entry", "target": "$graphify-root$_scripts_impact_usage", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/impact", "source_location": "L25", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_impact__entry", "source_file": "scripts/impact", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_impact__entry", "source_file": "scripts/impact", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_impact__entry", "source_file": "scripts/impact", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_impact__entry", "source_file": "scripts/impact", "source_location": "L4"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_scripts_impact__entry", "source_file": "scripts/impact", "source_location": "L22"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_impact__entry", "source_file": "scripts/impact", "source_location": "L26"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_impact__entry", "source_file": "scripts/impact", "source_location": "L36"}, {"language": "bash", "callee": "mapfile", "caller_nid": "$graphify-root$_scripts_impact__entry", "source_file": "scripts/impact", "source_location": "L42"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_scripts_impact__entry", "source_file": "scripts/impact", "source_location": "L53"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_impact_usage", "source_file": "scripts/impact", "source_location": "L8"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/914b97e97e4432d387ba7fc777cf9c7a6dc8bd50f16d5b14a67d1ba4e5ed51a6.json b/graphify-out/cache/ast/v0.9.64-s4/914b97e97e4432d387ba7fc777cf9c7a6dc8bd50f16d5b14a67d1ba4e5ed51a6.json
new file mode 100644
index 0000000..88c7c5c
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/914b97e97e4432d387ba7fc777cf9c7a6dc8bd50f16d5b14a67d1ba4e5ed51a6.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_apps_website_lang_helper_php", "label": "lang_helper.php", "file_type": "code", "source_file": "apps/website/lang_helper.php", "source_location": "L1"}, {"id": "$graphify-root$_apps_website_lang_helper_getlang", "label": "getLang()", "file_type": "code", "source_file": "apps/website/lang_helper.php", "source_location": "L20", "_callable": true}, {"id": "$graphify-root$_apps_website_lang_helper_cleanruntimetranslation", "label": "cleanRuntimeTranslation()", "file_type": "code", "source_file": "apps/website/lang_helper.php", "source_location": "L28", "_callable": true}, {"id": "$graphify-root$_apps_website_lang_helper_loadruntimetranslations", "label": "loadRuntimeTranslations()", "file_type": "code", "source_file": "apps/website/lang_helper.php", "source_location": "L38", "_callable": true}, {"id": "$graphify-root$_apps_website_lang_helper_asset_url", "label": "asset_url()", "file_type": "code", "source_file": "apps/website/lang_helper.php", "source_location": "L59", "_callable": true}], "edges": [{"source": "$graphify-root$_apps_website_lang_helper_php", "target": "$graphify-root$_apps_website_lang_helper_getlang", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/lang_helper.php", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_apps_website_lang_helper_php", "target": "$graphify-root$_apps_website_lang_helper_cleanruntimetranslation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/lang_helper.php", "source_location": "L28", "weight": 1.0}, {"source": "$graphify-root$_apps_website_lang_helper_php", "target": "$graphify-root$_apps_website_lang_helper_loadruntimetranslations", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/lang_helper.php", "source_location": "L38", "weight": 1.0}, {"source": "$graphify-root$_apps_website_lang_helper_php", "target": "$graphify-root$_apps_website_lang_helper_asset_url", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/lang_helper.php", "source_location": "L59", "weight": 1.0}, {"source": "$graphify-root$_apps_website_lang_helper_loadruntimetranslations", "target": "$graphify-root$_apps_website_lang_helper_cleanruntimetranslation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "apps/website/lang_helper.php", "source_location": "L54", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_apps_website_lang_helper_getlang", "callee": "isset", "is_member_call": false, "source_file": "apps/website/lang_helper.php", "source_location": "L21", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_lang_helper_getlang", "callee": "in_array", "is_member_call": false, "source_file": "apps/website/lang_helper.php", "source_location": "L21", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_lang_helper_getlang", "callee": "strtolower", "is_member_call": false, "source_file": "apps/website/lang_helper.php", "source_location": "L24", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_lang_helper_getlang", "callee": "substr", "is_member_call": false, "source_file": "apps/website/lang_helper.php", "source_location": "L24", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_lang_helper_getlang", "callee": "in_array", "is_member_call": false, "source_file": "apps/website/lang_helper.php", "source_location": "L25", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_lang_helper_cleanruntimetranslation", "callee": "strip_tags", "is_member_call": false, "source_file": "apps/website/lang_helper.php", "source_location": "L29", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_lang_helper_cleanruntimetranslation", "callee": "preg_replace", "is_member_call": false, "source_file": "apps/website/lang_helper.php", "source_location": "L30", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_lang_helper_cleanruntimetranslation", "callee": "trim", "is_member_call": false, "source_file": "apps/website/lang_helper.php", "source_location": "L31", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_lang_helper_cleanruntimetranslation", "callee": "strlen", "is_member_call": false, "source_file": "apps/website/lang_helper.php", "source_location": "L32", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_lang_helper_cleanruntimetranslation", "callee": "substr", "is_member_call": false, "source_file": "apps/website/lang_helper.php", "source_location": "L33", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_lang_helper_loadruntimetranslations", "callee": "file_get_contents", "is_member_call": false, "source_file": "apps/website/lang_helper.php", "source_location": "L39", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_lang_helper_loadruntimetranslations", "callee": "strlen", "is_member_call": false, "source_file": "apps/website/lang_helper.php", "source_location": "L40", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_lang_helper_loadruntimetranslations", "callee": "json_decode", "is_member_call": false, "source_file": "apps/website/lang_helper.php", "source_location": "L44", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_lang_helper_loadruntimetranslations", "callee": "is_array", "is_member_call": false, "source_file": "apps/website/lang_helper.php", "source_location": "L45", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_lang_helper_loadruntimetranslations", "callee": "is_string", "is_member_call": false, "source_file": "apps/website/lang_helper.php", "source_location": "L51", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_lang_helper_loadruntimetranslations", "callee": "array_key_exists", "is_member_call": false, "source_file": "apps/website/lang_helper.php", "source_location": "L51", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_lang_helper_loadruntimetranslations", "callee": "is_string", "is_member_call": false, "source_file": "apps/website/lang_helper.php", "source_location": "L51", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_lang_helper_loadruntimetranslations", "callee": "is_numeric", "is_member_call": false, "source_file": "apps/website/lang_helper.php", "source_location": "L51", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_lang_helper_asset_url", "callee": "ltrim", "is_member_call": false, "source_file": "apps/website/lang_helper.php", "source_location": "L60", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_lang_helper_asset_url", "callee": "is_file", "is_member_call": false, "source_file": "apps/website/lang_helper.php", "source_location": "L61", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_lang_helper_asset_url", "callee": "filemtime", "is_member_call": false, "source_file": "apps/website/lang_helper.php", "source_location": "L61", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_lang_helper_asset_url", "callee": "htmlspecialchars", "is_member_call": false, "source_file": "apps/website/lang_helper.php", "source_location": "L62", "receiver": null}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/92c5c7b06d0850a763ef0d951fccd1e4318484e11e8756f3b1d18dd4ed569698.json b/graphify-out/cache/ast/v0.9.64-s4/92c5c7b06d0850a763ef0d951fccd1e4318484e11e8756f3b1d18dd4ed569698.json
new file mode 100644
index 0000000..df0a364
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/92c5c7b06d0850a763ef0d951fccd1e4318484e11e8756f3b1d18dd4ed569698.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_homelab_map", "label": "homelab-map", "file_type": "code", "source_file": "scripts/homelab-map", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_homelab_map__entry", "label": "homelab-map script", "file_type": "code", "source_file": "scripts/homelab-map", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_homelab_map_inventory", "label": "inventory()", "file_type": "code", "source_file": "scripts/homelab-map", "source_location": "L8", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_homelab_map", "target": "$graphify-root$_scripts_homelab_map__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/homelab-map", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_homelab_map", "target": "$graphify-root$_scripts_homelab_map_inventory", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/homelab-map", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_scripts_homelab_map__entry", "target": "$graphify-root$_scripts_homelab_map_inventory", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/homelab-map", "source_location": "L29", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_homelab_map__entry", "source_file": "scripts/homelab-map", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_homelab_map__entry", "source_file": "scripts/homelab-map", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_homelab_map__entry", "source_file": "scripts/homelab-map", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_homelab_map__entry", "source_file": "scripts/homelab-map", "source_location": "L4"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_homelab_map__entry", "source_file": "scripts/homelab-map", "source_location": "L44"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_homelab_map__entry", "source_file": "scripts/homelab-map", "source_location": "L66"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_homelab_map_inventory", "source_file": "scripts/homelab-map", "source_location": "L12"}, {"language": "bash", "callee": "ruby", "caller_nid": "$graphify-root$_scripts_homelab_map_inventory", "source_file": "scripts/homelab-map", "source_location": "L14"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_homelab_map_inventory", "source_file": "scripts/homelab-map", "source_location": "L18"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_homelab_map_inventory", "source_file": "scripts/homelab-map", "source_location": "L21"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_homelab_map_inventory", "source_file": "scripts/homelab-map", "source_location": "L22"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/92db7434eb2e8deb8a5eeee8d243d4e77e5fbe0c0e15812385223ef2ed141ccc.json b/graphify-out/cache/ast/v0.9.64-s4/92db7434eb2e8deb8a5eeee8d243d4e77e5fbe0c0e15812385223ef2ed141ccc.json
new file mode 100644
index 0000000..5a6826d
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/92db7434eb2e8deb8a5eeee8d243d4e77e5fbe0c0e15812385223ef2ed141ccc.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_workers", "label": "workers", "file_type": "code", "source_file": "scripts/workers", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_workers__entry", "label": "workers script", "file_type": "code", "source_file": "scripts/workers", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_workers_usage", "label": "usage()", "file_type": "code", "source_file": "scripts/workers", "source_location": "L15", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_workers_have", "label": "have()", "file_type": "code", "source_file": "scripts/workers", "source_location": "L32", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_workers_is_skipped", "label": "is_skipped()", "file_type": "code", "source_file": "scripts/workers", "source_location": "L36", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_workers_validate_index", "label": "validate_index()", "file_type": "code", "source_file": "scripts/workers", "source_location": "L49", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_workers_vmid_for_index", "label": "vmid_for_index()", "file_type": "code", "source_file": "scripts/workers", "source_location": "L58", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_workers_node_for_index", "label": "node_for_index()", "file_type": "code", "source_file": "scripts/workers", "source_location": "L63", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_workers_pimox_ssh", "label": "pimox_ssh()", "file_type": "code", "source_file": "scripts/workers", "source_location": "L68", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_workers_kubectl_cmd", "label": "kubectl_cmd()", "file_type": "code", "source_file": "scripts/workers", "source_location": "L72", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_workers_target_indexes", "label": "target_indexes()", "file_type": "code", "source_file": "scripts/workers", "source_location": "L76", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_workers_list_workers", "label": "list_workers()", "file_type": "code", "source_file": "scripts/workers", "source_location": "L92", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_workers_start_workers", "label": "start_workers()", "file_type": "code", "source_file": "scripts/workers", "source_location": "L117", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_workers_stop_workers", "label": "stop_workers()", "file_type": "code", "source_file": "scripts/workers", "source_location": "L128", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_workers_restart_workers", "label": "restart_workers()", "file_type": "code", "source_file": "scripts/workers", "source_location": "L142", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_workers_drain_node", "label": "drain_node()", "file_type": "code", "source_file": "scripts/workers", "source_location": "L165", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_workers_uncordon_node", "label": "uncordon_node()", "file_type": "code", "source_file": "scripts/workers", "source_location": "L175", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_workers_recreate_plan", "label": "recreate_plan()", "file_type": "code", "source_file": "scripts/workers", "source_location": "L185", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_workers_rebalance", "label": "rebalance()", "file_type": "code", "source_file": "scripts/workers", "source_location": "L217", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_workers_tailnet_setup", "label": "tailnet_setup()", "file_type": "code", "source_file": "scripts/workers", "source_location": "L231", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_workers", "target": "$graphify-root$_scripts_workers__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_workers", "target": "$graphify-root$_scripts_workers_usage", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_scripts_workers", "target": "$graphify-root$_scripts_workers_have", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L32", "weight": 1.0}, {"source": "$graphify-root$_scripts_workers", "target": "$graphify-root$_scripts_workers_is_skipped", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L36", "weight": 1.0}, {"source": "$graphify-root$_scripts_workers", "target": "$graphify-root$_scripts_workers_validate_index", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L49", "weight": 1.0}, {"source": "$graphify-root$_scripts_workers", "target": "$graphify-root$_scripts_workers_vmid_for_index", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L58", "weight": 1.0}, {"source": "$graphify-root$_scripts_workers", "target": "$graphify-root$_scripts_workers_node_for_index", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L63", "weight": 1.0}, {"source": "$graphify-root$_scripts_workers", "target": "$graphify-root$_scripts_workers_pimox_ssh", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L68", "weight": 1.0}, {"source": "$graphify-root$_scripts_workers", "target": "$graphify-root$_scripts_workers_kubectl_cmd", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L72", "weight": 1.0}, {"source": "$graphify-root$_scripts_workers", "target": "$graphify-root$_scripts_workers_target_indexes", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L76", "weight": 1.0}, {"source": "$graphify-root$_scripts_workers", "target": "$graphify-root$_scripts_workers_list_workers", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L92", "weight": 1.0}, {"source": "$graphify-root$_scripts_workers", "target": "$graphify-root$_scripts_workers_start_workers", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L117", "weight": 1.0}, {"source": "$graphify-root$_scripts_workers", "target": "$graphify-root$_scripts_workers_stop_workers", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L128", "weight": 1.0}, {"source": "$graphify-root$_scripts_workers", "target": "$graphify-root$_scripts_workers_restart_workers", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L142", "weight": 1.0}, {"source": "$graphify-root$_scripts_workers", "target": "$graphify-root$_scripts_workers_drain_node", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L165", "weight": 1.0}, {"source": "$graphify-root$_scripts_workers", "target": "$graphify-root$_scripts_workers_uncordon_node", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L175", "weight": 1.0}, {"source": "$graphify-root$_scripts_workers", "target": "$graphify-root$_scripts_workers_recreate_plan", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L185", "weight": 1.0}, {"source": "$graphify-root$_scripts_workers", "target": "$graphify-root$_scripts_workers_rebalance", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L217", "weight": 1.0}, {"source": "$graphify-root$_scripts_workers", "target": "$graphify-root$_scripts_workers_tailnet_setup", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L231", "weight": 1.0}, {"source": "$graphify-root$_scripts_workers__entry", "target": "$graphify-root$_scripts_workers_list_workers", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L293", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers__entry", "target": "$graphify-root$_scripts_workers_tailnet_setup", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L296", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers__entry", "target": "$graphify-root$_scripts_workers_start_workers", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L299", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers__entry", "target": "$graphify-root$_scripts_workers_stop_workers", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L302", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers__entry", "target": "$graphify-root$_scripts_workers_restart_workers", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L305", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers__entry", "target": "$graphify-root$_scripts_workers_drain_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L308", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers__entry", "target": "$graphify-root$_scripts_workers_uncordon_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L311", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers__entry", "target": "$graphify-root$_scripts_workers_recreate_plan", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L314", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers__entry", "target": "$graphify-root$_scripts_workers_rebalance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L317", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers__entry", "target": "$graphify-root$_scripts_workers_usage", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L320", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers_target_indexes", "target": "$graphify-root$_scripts_workers_is_skipped", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L82", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers_target_indexes", "target": "$graphify-root$_scripts_workers_validate_index", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L87", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers_list_workers", "target": "$graphify-root$_scripts_workers_vmid_for_index", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L101", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers_list_workers", "target": "$graphify-root$_scripts_workers_node_for_index", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L102", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers_list_workers", "target": "$graphify-root$_scripts_workers_is_skipped", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L103", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers_list_workers", "target": "$graphify-root$_scripts_workers_pimox_ssh", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L107", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers_list_workers", "target": "$graphify-root$_scripts_workers_have", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L108", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers_list_workers", "target": "$graphify-root$_scripts_workers_kubectl_cmd", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L109", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers_start_workers", "target": "$graphify-root$_scripts_workers_vmid_for_index", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L122", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers_start_workers", "target": "$graphify-root$_scripts_workers_pimox_ssh", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L124", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers_stop_workers", "target": "$graphify-root$_scripts_workers_vmid_for_index", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L133", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers_stop_workers", "target": "$graphify-root$_scripts_workers_pimox_ssh", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L135", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers_restart_workers", "target": "$graphify-root$_scripts_workers_vmid_for_index", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L148", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers_restart_workers", "target": "$graphify-root$_scripts_workers_pimox_ssh", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L150", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers_drain_node", "target": "$graphify-root$_scripts_workers_kubectl_cmd", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L172", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers_uncordon_node", "target": "$graphify-root$_scripts_workers_kubectl_cmd", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L182", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers_recreate_plan", "target": "$graphify-root$_scripts_workers_validate_index", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L190", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers_recreate_plan", "target": "$graphify-root$_scripts_workers_vmid_for_index", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L191", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers_recreate_plan", "target": "$graphify-root$_scripts_workers_node_for_index", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L192", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers_rebalance", "target": "$graphify-root$_scripts_workers_have", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L218", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_workers_rebalance", "target": "$graphify-root$_scripts_workers_kubectl_cmd", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/workers", "source_location": "L223", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_workers__entry", "source_file": "scripts/workers", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_workers__entry", "source_file": "scripts/workers", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_workers__entry", "source_file": "scripts/workers", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_workers__entry", "source_file": "scripts/workers", "source_location": "L4"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_workers__entry", "source_file": "scripts/workers", "source_location": "L324"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_workers_usage", "source_file": "scripts/workers", "source_location": "L16"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_workers_have", "source_file": "scripts/workers", "source_location": "L33"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_workers_is_skipped", "source_file": "scripts/workers", "source_location": "L43"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_workers_validate_index", "source_file": "scripts/workers", "source_location": "L53"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_workers_validate_index", "source_file": "scripts/workers", "source_location": "L54"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_workers_vmid_for_index", "source_file": "scripts/workers", "source_location": "L60"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_workers_node_for_index", "source_file": "scripts/workers", "source_location": "L65"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_scripts_workers_pimox_ssh", "source_file": "scripts/workers", "source_location": "L69"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_scripts_workers_kubectl_cmd", "source_file": "scripts/workers", "source_location": "L73"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_workers_target_indexes", "source_file": "scripts/workers", "source_location": "L83"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_workers_list_workers", "source_file": "scripts/workers", "source_location": "L99"}, {"language": "bash", "callee": "continue", "caller_nid": "$graphify-root$_scripts_workers_list_workers", "source_file": "scripts/workers", "source_location": "L105"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_scripts_workers_list_workers", "source_file": "scripts/workers", "source_location": "L107"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_workers_list_workers", "source_file": "scripts/workers", "source_location": "L107"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_workers_start_workers", "source_file": "scripts/workers", "source_location": "L123"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_workers_stop_workers", "source_file": "scripts/workers", "source_location": "L134"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_workers_stop_workers", "source_file": "scripts/workers", "source_location": "L137"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_workers_restart_workers", "source_file": "scripts/workers", "source_location": "L149"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_workers_drain_node", "source_file": "scripts/workers", "source_location": "L169"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_workers_drain_node", "source_file": "scripts/workers", "source_location": "L170"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_workers_uncordon_node", "source_file": "scripts/workers", "source_location": "L179"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_workers_uncordon_node", "source_file": "scripts/workers", "source_location": "L180"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_workers_recreate_plan", "source_file": "scripts/workers", "source_location": "L193"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_workers_rebalance", "source_file": "scripts/workers", "source_location": "L219"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_workers_rebalance", "source_file": "scripts/workers", "source_location": "L220"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_workers_rebalance", "source_file": "scripts/workers", "source_location": "L226"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_workers_tailnet_setup", "source_file": "scripts/workers", "source_location": "L242"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_workers_tailnet_setup", "source_file": "scripts/workers", "source_location": "L244"}, {"language": "bash", "callee": "read", "caller_nid": "$graphify-root$_scripts_workers_tailnet_setup", "source_file": "scripts/workers", "source_location": "L252"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_workers_tailnet_setup", "source_file": "scripts/workers", "source_location": "L277"}, {"language": "bash", "callee": "env", "caller_nid": "$graphify-root$_scripts_workers_tailnet_setup", "source_file": "scripts/workers", "source_location": "L284"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/94ad69972a304219956449b2418aae3bcb1dc1afc791311b055510b99153f728.json b/graphify-out/cache/ast/v0.9.64-s4/94ad69972a304219956449b2418aae3bcb1dc1afc791311b055510b99153f728.json
new file mode 100644
index 0000000..180e10f
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/94ad69972a304219956449b2418aae3bcb1dc1afc791311b055510b99153f728.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_bootstrap_platform_terraform_lock_hcl", "label": ".terraform.lock.hcl", "file_type": "code", "source_file": "bootstrap/platform/.terraform.lock.hcl", "source_location": null, "type": "terraform_file"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_provider_registry_opentofu_org_hashicorp_helm", "label": "provider.registry.opentofu.org/hashicorp/helm", "file_type": "code", "source_file": "bootstrap/platform/.terraform.lock.hcl", "source_location": "L4", "attributes": {"version": "2.17.0", "constraints": "~> 2.12", "hashes": ["h1:+NIiFaAqUKl8JBJNk11tfXE4reXce5e3D3V0MOl7/SI=", "h1:/1qQSZBcGfGdSJ1PVDIIRLHF6cCNQDpFnZHA8Z1h5Hg=", "h1:69PnHoYrrDrm7C8+8PiSvRGPI55taqL14SvQR/FGM+g=", "h1:CaN+iT1/mgn062wIkmcZyqhIQEvUQYpGcBYZ7Y7sM84=", "h1:RMCFME+dnIAfqWesdTwaktFf5TCa9shMDtlLWwpJjAw=", "h1:ShIag7wqd5Rs+zYpVMpjAh+T0ozr4XGYfSTKWqceQBY=", "h1:WX5D6JJke4iG8ecGoUt1Gml/ggLHTFhswesyQqxKKG0=", "h1:gy5bFfc81+K/Mi5KRQ6LfRJmgyaTxJnLTzDK+OYJAQg=", "h1:kzDwclZLK5tIKJo3ATWM7a5ODmeczfWkvQDZkr9dVro=", "h1:ojHGbVqPy4ShrUnNL7jif6AnEwgc8vC8sP7f37/VBC8=", "zh:02690815e35131a42cb9851f63a3369c216af30ad093d05b39001d43da04b56b", "zh:27a62f12b29926387f4d71aeeee9f7ffa0ccb81a1b6066ee895716ad050d1b7a", "zh:2d0a5babfa73604b3fefc9dab9c87f91c77fce756c2e32b294e9f1290aed26c0", "zh:3976400ceba6dda4636e1d297e3097e1831de5628afa534a166de98a70d1dcbe", "zh:54440ef14f342b41d75c1aded7487bfcc3f76322b75894235b47b7e89ac4bfa4", "zh:6512e2ab9f2fa31cbb90d9249647b5c5798f62eb1215ec44da2cdaa24e38ad25", "zh:795f327ca0b8c5368af0ed03d5d4f6da7260692b4b3ca0bd004ed542e683464d", "zh:ba659e1d94f224bc3f1fd34cbb9d2663e3a8e734108e5a58eb49eda84b140978", "zh:c5c8575c4458835c2acbc3d1ed5570589b14baa2525d8fbd04295c097caf41eb", "zh:e0877a5dac3de138e61eefa26b2f5a13305a17259779465899880f70e11314e0"]}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_provider_registry_opentofu_org_hashicorp_kubernetes", "label": "provider.registry.opentofu.org/hashicorp/kubernetes", "file_type": "code", "source_file": "bootstrap/platform/.terraform.lock.hcl", "source_location": "L31", "attributes": {"version": "2.38.0", "constraints": "~> 2.26", "hashes": ["h1:3VVgWmwdwXFT54fjrplnq+N4+4LZ3ZeLHAlr/0jhPiA=", "h1:9LfHMXiMOboc6PhcEEelKjA3VL94l3MCj7RlbKO1PQM=", "h1:AkW6iAcMGHS+P2BIc2nvQe3PZCHtDL4m6+80tEDLge0=", "h1:HGkB9bCmUqMRcR5/bAUOSqPBsx6DAIEnbT1fZ8vzI78=", "h1:eCV78xGlh9eay+62U4gAgCEMohuiBJXN9XTIZNn+rX4=", "h1:ems+O2dA7atxMWpbtqIrsH7Oa+u+ERWSfpMaFnZPbh0=", "h1:iEDf790HE0h3kz58zfj5IhTVODCDqWF1hISPHz210Uw=", "h1:nY7J9jFXcsRINog0KYagiWZw1GVYF9D2JmtIB7Wnrao=", "h1:yw6JHRONXmiTumaQfJBxl1ierFnNNT/Qio8+ttfMcG4=", "zh:1096b41c4e5b2ee6c1980916fb9a8579bc1892071396f7a9432be058aabf3cbc", "zh:2959fde9ae3d1deb5e317df0d7b02ea4977951ee6b9c4beb083c148ca8f3681c", "zh:5082f98fcb3389c73339365f7df39fc6912bf2bd1a46d5f97778f441a67fd337", "zh:620fd5d0fbc2d7a24ac6b420a4922e6093020358162a62fa8cbd37b2bac1d22e", "zh:7f47c2de179bba35d759147c53082cad6c3449d19b0ec0c5a4ca8db5b06393e1", "zh:89c3aa2a87e29febf100fd21cead34f9a4c0e6e7ae5f383b5cef815c677eb52a", "zh:96eecc9f94938a0bc35b8a63d2c4a5f972395e44206620db06760b730d0471fc", "zh:e15567c1095f898af173c281b66bffdc4f3068afdd9f84bb5b5b5521d9f29584", "zh:ecc6b912629734a9a41a7cf1c4c73fb13b4b510afc9e7b2e0011d290bcd6d77f"]}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_provider_registry_opentofu_org_hashicorp_null", "label": "provider.registry.opentofu.org/hashicorp/null", "file_type": "code", "source_file": "bootstrap/platform/.terraform.lock.hcl", "source_location": "L56", "attributes": {"version": "3.3.0", "constraints": "~> 3.2", "hashes": ["h1:0r7+t8CqzjfBgHgEiJGBCw+McEUdRXliMdF+Hk29d8o=", "h1:EvvCOc4FJY3NitSm6BpzCcUPU53LayVCB/tPOxYmy7U=", "h1:IDVnZXNCh0u4LfeSazc9z1v/kNz+92Eej7ePWV6SbyE=", "h1:Iw2c0n9/4fS92N5WnJ3CCSwSUXZO953oHp9gj3pWCaM=", "h1:JofS1og3hPN0ANjH+gNjxrJyyk6znodpC/F0qhp4eEk=", "h1:QIBhsJ4+5+t0vFEgJwtezNLT31tsptFHOEyGAAhLR1o=", "h1:RjjoL9qRPwNTwLdtJsYUaFvunbPM2/oujf2DcUcitOE=", "h1:SSirA+z2VWTs1s+TCAx8vVKg9jh6cRjxqc8LYi2iQTI=", "h1:U2XZc7hxcpcWp/C2S9LtuGUimhMOD2UT5xAEJJQQQaU=", "h1:bPG+xE5UonkJv3y/Yn9Q7OfbP2qHU/QKiS31nwfe7S0=", "h1:eODLdk/pARc4yxChAFtwseVmBr+r5fF9yGOvUhwGEyM=", "h1:iFj1oM5ZPENspsPqK1kcvZzyP95jJE/CM0rlu0MfIss=", "h1:mdu+qpyVmjDDLMrcL1JFy+cSyF58I3TFJwB5NssCZ58=", "h1:tJmep6aoBeDH77XsYU65HAbi0RAjxtsmbCOXmnqT13U=", "h1:tdMTn1evBLd6KCeLqWdQXCpF07hBu3n5rY6N3rXw3Rc=", "zh:083dcc0bec53f8abfa3f2aa2ce9d732a9675338fd60ae7d61162e25db7cb08bf", "zh:19f7456b5a2ad16595860974714bfdb25b87bc16356ea9d5c7453892aaa27864", "zh:222c0ed1fed4e4c677ebe626104dbfdba66763e264de0d9c27c58ce60104ee69", "zh:271711d6caa7dd5a4e9b79fe8c679fab61a840bcf80040a0f5ebb425d1b27d97", "zh:5adcf35f30baaea13f80c2a2c774deb9369892719493049687e23476c9dff40f", "zh:5bcfd19df16e73d7f0ad75bd09e2b3b86cf6700d09822d585d68304b71de1d97", "zh:604edecf263e38674decb35bb4e0e048fdc951f26fa103c33065ff9728f0313b", "zh:782acbfb4fa4807e273e588fe45b4aaea9dd0fd1136f76ec3200f6f4db3af8d6", "zh:84411a596d528fe67294e5c1cfd0c2036b08802497bcc4215ce518924f3c9a4a", "zh:85e79eecf3f5348975cffec3016b0eba3baf605646102d4348796ccd2df2e5f6", "zh:95669535ca17aeefef307ebfd59ce6930953173baae5637e8cbbf0297ec7ad58", "zh:d04d9b177747bfd66b4a45b5d911a2a7822aa8451f5e35621971fb7a4206b530", "zh:e6d9c924475283e90833450a14a732f4deb6d9bb131db8f86ab856e894270836", "zh:ebcab0c8a1334c86ed7cfa53f571a17ad6d27e9901f27a8854ea622a74b54bb6", "zh:ef9c757bb2c83d2103811a3d86b6ec5be06b0ffc337b84db1582d023bce7cdcd"]}}], "edges": [{"source": "$graphify-root$_bootstrap_platform_terraform_lock_hcl", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_provider_registry_opentofu_org_hashicorp_helm", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/.terraform.lock.hcl", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_terraform_lock_hcl", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_provider_registry_opentofu_org_hashicorp_kubernetes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/.terraform.lock.hcl", "source_location": "L31", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_terraform_lock_hcl", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_provider_registry_opentofu_org_hashicorp_null", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/.terraform.lock.hcl", "source_location": "L56", "weight": 1.0}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/94d866c52b4c20da29517d544731de81c2ae69f429c83731ff83f289b5bc281b.json b/graphify-out/cache/ast/v0.9.64-s4/94d866c52b4c20da29517d544731de81c2ae69f429c83731ff83f289b5bc281b.json
new file mode 100644
index 0000000..1f0bd5e
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/94d866c52b4c20da29517d544731de81c2ae69f429c83731ff83f289b5bc281b.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_backup_status", "label": "backup-status", "file_type": "code", "source_file": "scripts/backup-status", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_backup_status__entry", "label": "backup-status script", "file_type": "code", "source_file": "scripts/backup-status", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_backup_status_section", "label": "section()", "file_type": "code", "source_file": "scripts/backup-status", "source_location": "L16", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_backup_status_latest_file", "label": "latest_file()", "file_type": "code", "source_file": "scripts/backup-status", "source_location": "L20", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_backup_status_file_age_hours", "label": "file_age_hours()", "file_type": "code", "source_file": "scripts/backup-status", "source_location": "L32", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_backup_status_check_latest", "label": "check_latest()", "file_type": "code", "source_file": "scripts/backup-status", "source_location": "L45", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_backup_status", "target": "$graphify-root$_scripts_backup_status__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/backup-status", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_backup_status", "target": "$graphify-root$_scripts_backup_status_section", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/backup-status", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_scripts_backup_status", "target": "$graphify-root$_scripts_backup_status_latest_file", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/backup-status", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_scripts_backup_status", "target": "$graphify-root$_scripts_backup_status_file_age_hours", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/backup-status", "source_location": "L32", "weight": 1.0}, {"source": "$graphify-root$_scripts_backup_status", "target": "$graphify-root$_scripts_backup_status_check_latest", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/backup-status", "source_location": "L45", "weight": 1.0}, {"source": "$graphify-root$_scripts_backup_status__entry", "target": "$graphify-root$_scripts_backup_status_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/backup-status", "source_location": "L79", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_backup_status__entry", "target": "$graphify-root$_scripts_backup_status_check_latest", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/backup-status", "source_location": "L80", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_backup_status_check_latest", "target": "$graphify-root$_scripts_backup_status_latest_file", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/backup-status", "source_location": "L54", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_backup_status_check_latest", "target": "$graphify-root$_scripts_backup_status_file_age_hours", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/backup-status", "source_location": "L66", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_backup_status__entry", "source_file": "scripts/backup-status", "source_location": "L2"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_backup_status__entry", "source_file": "scripts/backup-status", "source_location": "L86"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_backup_status__entry", "source_file": "scripts/backup-status", "source_location": "L99"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_backup_status_section", "source_file": "scripts/backup-status", "source_location": "L17"}, {"language": "bash", "callee": "find", "caller_nid": "$graphify-root$_scripts_backup_status_latest_file", "source_file": "scripts/backup-status", "source_location": "L25"}, {"language": "bash", "callee": "sort", "caller_nid": "$graphify-root$_scripts_backup_status_latest_file", "source_file": "scripts/backup-status", "source_location": "L26"}, {"language": "bash", "callee": "tail", "caller_nid": "$graphify-root$_scripts_backup_status_latest_file", "source_file": "scripts/backup-status", "source_location": "L27"}, {"language": "bash", "callee": "sed", "caller_nid": "$graphify-root$_scripts_backup_status_latest_file", "source_file": "scripts/backup-status", "source_location": "L28"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_scripts_backup_status_file_age_hours", "source_file": "scripts/backup-status", "source_location": "L34"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_backup_status_check_latest", "source_file": "scripts/backup-status", "source_location": "L54"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_backup_status_check_latest", "source_file": "scripts/backup-status", "source_location": "L55"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_backup_status_check_latest", "source_file": "scripts/backup-status", "source_location": "L63"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/959ccdfd82c85b136fb9d2688cbf764a30d872a7536df06b8fb30ee0cebf16b3.json b/graphify-out/cache/ast/v0.9.64-s4/959ccdfd82c85b136fb9d2688cbf764a30d872a7536df06b8fb30ee0cebf16b3.json
new file mode 100644
index 0000000..1ad0bf3
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/959ccdfd82c85b136fb9d2688cbf764a30d872a7536df06b8fb30ee0cebf16b3.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_bootstrap_cluster_variables_tf", "label": "variables.tf", "file_type": "code", "source_file": "bootstrap/cluster/variables.tf", "source_location": null, "type": "terraform_file"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_control_plane_node_name", "label": "var.control_plane_node_name", "file_type": "code", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L1", "attributes": {"type": "string", "default": "debian"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_control_plane_node_labels", "label": "var.control_plane_node_labels", "file_type": "code", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L6", "attributes": {"type": "map(string)", "default": {"homelab.dev/node-role": "control-plane", "homelab.dev/storage": "data-vg", "homelab.dev/workload-class": "control-plane"}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_control_plane_advertise_address", "label": "var.control_plane_advertise_address", "file_type": "code", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L15", "attributes": {"type": "string", "default": "192.168.100.73"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_pod_network_cidr", "label": "var.pod_network_cidr", "file_type": "code", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L20", "attributes": {"type": "string", "default": "10.244.0.0/16"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_kubeconfig_path", "label": "var.kubeconfig_path", "file_type": "code", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L25", "attributes": {"type": "string", "default": "/home/jv/.kube/config"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_kubeconfig_owner", "label": "var.kubeconfig_owner", "file_type": "code", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L30", "attributes": {"type": "string", "default": "jv:jv"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_registry_endpoint", "label": "var.registry_endpoint", "file_type": "code", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L35", "attributes": {"type": "string", "default": "192.168.100.73:30500"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_node_dns_servers", "label": "var.node_dns_servers", "file_type": "code", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L40", "attributes": {"type": "list(string)", "default": ["1.1.1.1", "8.8.8.8"]}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_persistent_volume_dirs", "label": "var.persistent_volume_dirs", "file_type": "code", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L48", "attributes": {"type": "list(string)", "default": ["/data/openebs/local/registry"]}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_worker_nodes", "label": "var.worker_nodes", "file_type": "code", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L55", "attributes": {"type": "map(object({ host = string user = string node_name = string ssh_key_path = string }))", "default": {}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_allow_empty_worker_nodes", "label": "var.allow_empty_worker_nodes", "file_type": "code", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L66", "attributes": {"type": "bool", "default": false}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_worker_node_labels", "label": "var.worker_node_labels", "file_type": "code", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L71", "attributes": {"type": "map(map(string))", "default": {}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_force_worker_rejoin", "label": "var.force_worker_rejoin", "file_type": "code", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L77", "attributes": {"type": "bool", "default": false}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_worker_tailscale_enabled", "label": "var.worker_tailscale_enabled", "file_type": "code", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L82", "attributes": {"type": "bool", "default": false}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_worker_tailscale_accept_routes", "label": "var.worker_tailscale_accept_routes", "file_type": "code", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L87", "attributes": {"type": "bool", "default": false}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_worker_tailscale_pod_egress_snat", "label": "var.worker_tailscale_pod_egress_snat", "file_type": "code", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L92", "attributes": {"type": "bool", "default": true}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_tailscale_nodeport_access", "label": "var.tailscale_nodeport_access", "file_type": "code", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L97", "attributes": {"type": "object({ enabled = bool worker_key = string peer_ip = string node_tailscale_ip = string pod_cidr = string node_port = number target_port = number })", "default": {"enabled": false, "worker_key": "raspberrypi", "peer_ip": "100.118.255.19", "node_tailscale_ip": "100.77.80.72", "pod_cidr": "10.244.0.0/16", "node_port": 30080, "target_port": 8080}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_tailscale_nodeport_extra_ports", "label": "var.tailscale_nodeport_extra_ports", "file_type": "code", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L119", "attributes": {"type": "list(number)", "default": []}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_tailscale_nodeport_extra_target_ports", "label": "var.tailscale_nodeport_extra_target_ports", "file_type": "code", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L124", "attributes": {"type": "list(number)", "default": []}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_tailscale_subnet_routes", "label": "var.tailscale_subnet_routes", "file_type": "code", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L129", "attributes": {"type": "object({ enabled = bool worker_key = string routes = list(string) })", "default": {"enabled": true, "worker_key": "raspberrypi", "routes": ["192.168.100.0/24"]}}}], "edges": [{"source": "$graphify-root$_bootstrap_cluster_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_control_plane_node_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_control_plane_node_labels", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_control_plane_advertise_address", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_pod_network_cidr", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_kubeconfig_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L25", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_kubeconfig_owner", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L30", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_registry_endpoint", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L35", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_node_dns_servers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L40", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_persistent_volume_dirs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L48", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_worker_nodes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L55", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_allow_empty_worker_nodes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L66", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_worker_node_labels", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L71", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_force_worker_rejoin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L77", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_worker_tailscale_enabled", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L82", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_worker_tailscale_accept_routes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L87", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_worker_tailscale_pod_egress_snat", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L92", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_tailscale_nodeport_access", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L97", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_tailscale_nodeport_extra_ports", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L119", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_tailscale_nodeport_extra_target_ports", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L124", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_cluster_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_cluster_744634bbad3e0b7a_var_tailscale_subnet_routes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/cluster/variables.tf", "source_location": "L129", "weight": 1.0}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/9657e7c2a79b7eb6f75b70b558bc6092a19bb99549e9aca3a4d8fdc55cabc58f.json b/graphify-out/cache/ast/v0.9.64-s4/9657e7c2a79b7eb6f75b70b558bc6092a19bb99549e9aca3a4d8fdc55cabc58f.json
new file mode 100644
index 0000000..68ddc93
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/9657e7c2a79b7eb6f75b70b558bc6092a19bb99549e9aca3a4d8fdc55cabc58f.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_apps_website_ideas_helper_php", "label": "ideas_helper.php", "file_type": "code", "source_file": "apps/website/ideas_helper.php", "source_location": "L1"}, {"id": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_dir", "label": "visitor_ideas_dir()", "file_type": "code", "source_file": "apps/website/ideas_helper.php", "source_location": "L3", "_callable": true}, {"id": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_file", "label": "visitor_ideas_file()", "file_type": "code", "source_file": "apps/website/ideas_helper.php", "source_location": "L7", "_callable": true}, {"id": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_rate_file", "label": "visitor_ideas_rate_file()", "file_type": "code", "source_file": "apps/website/ideas_helper.php", "source_location": "L11", "_callable": true}, {"id": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_ensure_dir", "label": "visitor_ideas_ensure_dir()", "file_type": "code", "source_file": "apps/website/ideas_helper.php", "source_location": "L15", "_callable": true}, {"id": "$graphify-root$_apps_website_ideas_helper_visitor_idea_clean", "label": "visitor_idea_clean()", "file_type": "code", "source_file": "apps/website/ideas_helper.php", "source_location": "L20", "_callable": true}, {"id": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_recently_submitted", "label": "visitor_ideas_recently_submitted()", "file_type": "code", "source_file": "apps/website/ideas_helper.php", "source_location": "L34", "_callable": true}, {"id": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_append", "label": "visitor_ideas_append()", "file_type": "code", "source_file": "apps/website/ideas_helper.php", "source_location": "L79", "_callable": true}, {"id": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_read", "label": "visitor_ideas_read()", "file_type": "code", "source_file": "apps/website/ideas_helper.php", "source_location": "L97", "_callable": true}], "edges": [{"source": "$graphify-root$_apps_website_ideas_helper_php", "target": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/ideas_helper.php", "source_location": "L3", "weight": 1.0}, {"source": "$graphify-root$_apps_website_ideas_helper_php", "target": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/ideas_helper.php", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_apps_website_ideas_helper_php", "target": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_rate_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/ideas_helper.php", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_apps_website_ideas_helper_php", "target": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_ensure_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/ideas_helper.php", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_apps_website_ideas_helper_php", "target": "$graphify-root$_apps_website_ideas_helper_visitor_idea_clean", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/ideas_helper.php", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_apps_website_ideas_helper_php", "target": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_recently_submitted", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/ideas_helper.php", "source_location": "L34", "weight": 1.0}, {"source": "$graphify-root$_apps_website_ideas_helper_php", "target": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_append", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/ideas_helper.php", "source_location": "L79", "weight": 1.0}, {"source": "$graphify-root$_apps_website_ideas_helper_php", "target": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_read", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/ideas_helper.php", "source_location": "L97", "weight": 1.0}, {"source": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_file", "target": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_dir", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "apps/website/ideas_helper.php", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_rate_file", "target": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_dir", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "apps/website/ideas_helper.php", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_ensure_dir", "target": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_dir", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "apps/website/ideas_helper.php", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_recently_submitted", "target": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_ensure_dir", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "apps/website/ideas_helper.php", "source_location": "L35", "weight": 1.0}, {"source": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_recently_submitted", "target": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_rate_file", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "apps/website/ideas_helper.php", "source_location": "L39", "weight": 1.0}, {"source": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_append", "target": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_ensure_dir", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "apps/website/ideas_helper.php", "source_location": "L80", "weight": 1.0}, {"source": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_append", "target": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_file", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "apps/website/ideas_helper.php", "source_location": "L91", "weight": 1.0}, {"source": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_read", "target": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_file", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "apps/website/ideas_helper.php", "source_location": "L98", "weight": 1.0}, {"source": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_read", "target": "$graphify-root$_apps_website_ideas_helper_visitor_idea_clean", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "apps/website/ideas_helper.php", "source_location": "L115", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_dir", "callee": "getenv", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L4", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_dir", "callee": "sys_get_temp_dir", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L4", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_ensure_dir", "callee": "is_dir", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L17", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_ensure_dir", "callee": "mkdir", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L17", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_idea_clean", "callee": "preg_replace", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L21", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_idea_clean", "callee": "strip_tags", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L22", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_idea_clean", "callee": "str_replace", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L23", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_idea_clean", "callee": "preg_replace", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L24", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_idea_clean", "callee": "preg_replace", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L25", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_idea_clean", "callee": "preg_replace", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L26", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_idea_clean", "callee": "trim", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L27", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_idea_clean", "callee": "strlen", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L28", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_idea_clean", "callee": "substr", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L29", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_recently_submitted", "callee": "time", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L41", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_recently_submitted", "callee": "fopen", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L42", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_recently_submitted", "callee": "flock", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L47", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_recently_submitted", "callee": "stream_get_contents", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L48", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_recently_submitted", "callee": "json_decode", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L49", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_recently_submitted", "callee": "is_array", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L50", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_recently_submitted", "callee": "is_int", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L55", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_recently_submitted", "callee": "ctype_digit", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L55", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_recently_submitted", "callee": "rewind", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L68", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_recently_submitted", "callee": "ftruncate", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L69", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_recently_submitted", "callee": "fwrite", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L70", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_recently_submitted", "callee": "json_encode", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L70", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_recently_submitted", "callee": "fflush", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L72", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_recently_submitted", "callee": "flock", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L73", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_recently_submitted", "callee": "fclose", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L74", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_append", "callee": "gmdate", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L87", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_append", "callee": "file_put_contents", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L90", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_append", "callee": "json_encode", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L92", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_read", "callee": "is_readable", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L99", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_read", "callee": "file", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L103", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_read", "callee": "array_reverse", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L109", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_read", "callee": "json_decode", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L110", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_read", "callee": "is_array", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L111", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_read", "callee": "isset", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L111", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_ideas_helper_visitor_ideas_read", "callee": "count", "is_member_call": false, "source_file": "apps/website/ideas_helper.php", "source_location": "L119", "receiver": null}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/98d340b5e8c14cc18259e68ab2618374957c8d70235e18a2c062b1d0f2d24fb2.json b/graphify-out/cache/ast/v0.9.64-s4/98d340b5e8c14cc18259e68ab2618374957c8d70235e18a2c062b1d0f2d24fb2.json
new file mode 100644
index 0000000..a50f255
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/98d340b5e8c14cc18259e68ab2618374957c8d70235e18a2c062b1d0f2d24fb2.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_capacity_report", "label": "capacity-report", "file_type": "code", "source_file": "scripts/capacity-report", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_capacity_report__entry", "label": "capacity-report script", "file_type": "code", "source_file": "scripts/capacity-report", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_capacity_report_emit", "label": "emit()", "file_type": "code", "source_file": "scripts/capacity-report", "source_location": "L43", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_capacity_report_grafana_explore_url", "label": "grafana_explore_url()", "file_type": "code", "source_file": "scripts/capacity-report", "source_location": "L56", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_capacity_report_section", "label": "section()", "file_type": "code", "source_file": "scripts/capacity-report", "source_location": "L82", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_capacity_report_run_optional", "label": "run_optional()", "file_type": "code", "source_file": "scripts/capacity-report", "source_location": "L86", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_capacity_report_host_capacity", "label": "host_capacity()", "file_type": "code", "source_file": "scripts/capacity-report", "source_location": "L94", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_capacity_report_kubernetes_capacity", "label": "kubernetes_capacity()", "file_type": "code", "source_file": "scripts/capacity-report", "source_location": "L106", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_capacity_report_pimox_capacity", "label": "pimox_capacity()", "file_type": "code", "source_file": "scripts/capacity-report", "source_location": "L125", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_capacity_report_rpi_capacity", "label": "rpi_capacity()", "file_type": "code", "source_file": "scripts/capacity-report", "source_location": "L153", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_capacity_report_summary", "label": "summary()", "file_type": "code", "source_file": "scripts/capacity-report", "source_location": "L176", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_capacity_report_verbose_main", "label": "verbose_main()", "file_type": "code", "source_file": "scripts/capacity-report", "source_location": "L188", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_capacity_report_compact_host_capacity", "label": "compact_host_capacity()", "file_type": "code", "source_file": "scripts/capacity-report", "source_location": "L196", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_capacity_report_compact_kubernetes_capacity", "label": "compact_kubernetes_capacity()", "file_type": "code", "source_file": "scripts/capacity-report", "source_location": "L250", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_capacity_report_compact_pimox_capacity", "label": "compact_pimox_capacity()", "file_type": "code", "source_file": "scripts/capacity-report", "source_location": "L304", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_capacity_report_compact_rpi_capacity", "label": "compact_rpi_capacity()", "file_type": "code", "source_file": "scripts/capacity-report", "source_location": "L345", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_capacity_report_compact_guidance", "label": "compact_guidance()", "file_type": "code", "source_file": "scripts/capacity-report", "source_location": "L393", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_capacity_report_compact_main", "label": "compact_main()", "file_type": "code", "source_file": "scripts/capacity-report", "source_location": "L398", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_capacity_report", "target": "$graphify-root$_scripts_capacity_report__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_capacity_report", "target": "$graphify-root$_scripts_capacity_report_emit", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L43", "weight": 1.0}, {"source": "$graphify-root$_scripts_capacity_report", "target": "$graphify-root$_scripts_capacity_report_grafana_explore_url", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L56", "weight": 1.0}, {"source": "$graphify-root$_scripts_capacity_report", "target": "$graphify-root$_scripts_capacity_report_section", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L82", "weight": 1.0}, {"source": "$graphify-root$_scripts_capacity_report", "target": "$graphify-root$_scripts_capacity_report_run_optional", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L86", "weight": 1.0}, {"source": "$graphify-root$_scripts_capacity_report", "target": "$graphify-root$_scripts_capacity_report_host_capacity", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L94", "weight": 1.0}, {"source": "$graphify-root$_scripts_capacity_report", "target": "$graphify-root$_scripts_capacity_report_kubernetes_capacity", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L106", "weight": 1.0}, {"source": "$graphify-root$_scripts_capacity_report", "target": "$graphify-root$_scripts_capacity_report_pimox_capacity", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L125", "weight": 1.0}, {"source": "$graphify-root$_scripts_capacity_report", "target": "$graphify-root$_scripts_capacity_report_rpi_capacity", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L153", "weight": 1.0}, {"source": "$graphify-root$_scripts_capacity_report", "target": "$graphify-root$_scripts_capacity_report_summary", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L176", "weight": 1.0}, {"source": "$graphify-root$_scripts_capacity_report", "target": "$graphify-root$_scripts_capacity_report_verbose_main", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L188", "weight": 1.0}, {"source": "$graphify-root$_scripts_capacity_report", "target": "$graphify-root$_scripts_capacity_report_compact_host_capacity", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L196", "weight": 1.0}, {"source": "$graphify-root$_scripts_capacity_report", "target": "$graphify-root$_scripts_capacity_report_compact_kubernetes_capacity", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L250", "weight": 1.0}, {"source": "$graphify-root$_scripts_capacity_report", "target": "$graphify-root$_scripts_capacity_report_compact_pimox_capacity", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L304", "weight": 1.0}, {"source": "$graphify-root$_scripts_capacity_report", "target": "$graphify-root$_scripts_capacity_report_compact_rpi_capacity", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L345", "weight": 1.0}, {"source": "$graphify-root$_scripts_capacity_report", "target": "$graphify-root$_scripts_capacity_report_compact_guidance", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L393", "weight": 1.0}, {"source": "$graphify-root$_scripts_capacity_report", "target": "$graphify-root$_scripts_capacity_report_compact_main", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L398", "weight": 1.0}, {"source": "$graphify-root$_scripts_capacity_report__entry", "target": "$graphify-root$_scripts_capacity_report_verbose_main", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L409", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_capacity_report__entry", "target": "$graphify-root$_scripts_capacity_report_compact_main", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L411", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_capacity_report_host_capacity", "target": "$graphify-root$_scripts_capacity_report_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L95", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_capacity_report_host_capacity", "target": "$graphify-root$_scripts_capacity_report_run_optional", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L96", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_capacity_report_kubernetes_capacity", "target": "$graphify-root$_scripts_capacity_report_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L107", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_capacity_report_kubernetes_capacity", "target": "$graphify-root$_scripts_capacity_report_run_optional", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L113", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_capacity_report_pimox_capacity", "target": "$graphify-root$_scripts_capacity_report_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L130", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_capacity_report_rpi_capacity", "target": "$graphify-root$_scripts_capacity_report_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L158", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_capacity_report_summary", "target": "$graphify-root$_scripts_capacity_report_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L177", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_capacity_report_verbose_main", "target": "$graphify-root$_scripts_capacity_report_host_capacity", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L189", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_capacity_report_verbose_main", "target": "$graphify-root$_scripts_capacity_report_kubernetes_capacity", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L190", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_capacity_report_verbose_main", "target": "$graphify-root$_scripts_capacity_report_pimox_capacity", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L191", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_capacity_report_verbose_main", "target": "$graphify-root$_scripts_capacity_report_rpi_capacity", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L192", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_capacity_report_verbose_main", "target": "$graphify-root$_scripts_capacity_report_summary", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L193", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_capacity_report_compact_host_capacity", "target": "$graphify-root$_scripts_capacity_report_emit", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L210", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_capacity_report_compact_kubernetes_capacity", "target": "$graphify-root$_scripts_capacity_report_grafana_explore_url", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L260", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_capacity_report_compact_kubernetes_capacity", "target": "$graphify-root$_scripts_capacity_report_emit", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L266", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_capacity_report_compact_pimox_capacity", "target": "$graphify-root$_scripts_capacity_report_emit", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L321", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_capacity_report_compact_rpi_capacity", "target": "$graphify-root$_scripts_capacity_report_emit", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L366", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_capacity_report_compact_guidance", "target": "$graphify-root$_scripts_capacity_report_emit", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L394", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_capacity_report_compact_main", "target": "$graphify-root$_scripts_capacity_report_compact_host_capacity", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L400", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_capacity_report_compact_main", "target": "$graphify-root$_scripts_capacity_report_compact_kubernetes_capacity", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L401", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_capacity_report_compact_main", "target": "$graphify-root$_scripts_capacity_report_compact_pimox_capacity", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L402", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_capacity_report_compact_main", "target": "$graphify-root$_scripts_capacity_report_compact_rpi_capacity", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L403", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_capacity_report_compact_main", "target": "$graphify-root$_scripts_capacity_report_compact_guidance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/capacity-report", "source_location": "L404", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_capacity_report__entry", "source_file": "scripts/capacity-report", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_capacity_report__entry", "source_file": "scripts/capacity-report", "source_location": "L5"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_capacity_report__entry", "source_file": "scripts/capacity-report", "source_location": "L5"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_capacity_report__entry", "source_file": "scripts/capacity-report", "source_location": "L5"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_scripts_capacity_report__entry", "source_file": "scripts/capacity-report", "source_location": "L17"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_capacity_report__entry", "source_file": "scripts/capacity-report", "source_location": "L28"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_capacity_report__entry", "source_file": "scripts/capacity-report", "source_location": "L34"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_capacity_report__entry", "source_file": "scripts/capacity-report", "source_location": "L37"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_capacity_report_emit", "source_file": "scripts/capacity-report", "source_location": "L53"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_scripts_capacity_report_grafana_explore_url", "source_file": "scripts/capacity-report", "source_location": "L58"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_capacity_report_section", "source_file": "scripts/capacity-report", "source_location": "L83"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_scripts_capacity_report_run_optional", "source_file": "scripts/capacity-report", "source_location": "L88"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_capacity_report_run_optional", "source_file": "scripts/capacity-report", "source_location": "L90"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_capacity_report_run_optional", "source_file": "scripts/capacity-report", "source_location": "L91"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_capacity_report_host_capacity", "source_file": "scripts/capacity-report", "source_location": "L98"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_capacity_report_host_capacity", "source_file": "scripts/capacity-report", "source_location": "L102"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_capacity_report_kubernetes_capacity", "source_file": "scripts/capacity-report", "source_location": "L108"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_capacity_report_kubernetes_capacity", "source_file": "scripts/capacity-report", "source_location": "L109"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_capacity_report_kubernetes_capacity", "source_file": "scripts/capacity-report", "source_location": "L110"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_scripts_capacity_report_kubernetes_capacity", "source_file": "scripts/capacity-report", "source_location": "L121"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_scripts_capacity_report_kubernetes_capacity", "source_file": "scripts/capacity-report", "source_location": "L122"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_capacity_report_kubernetes_capacity", "source_file": "scripts/capacity-report", "source_location": "L122"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_scripts_capacity_report_pimox_capacity", "source_file": "scripts/capacity-report", "source_location": "L131"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_capacity_report_pimox_capacity", "source_file": "scripts/capacity-report", "source_location": "L150"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_scripts_capacity_report_rpi_capacity", "source_file": "scripts/capacity-report", "source_location": "L159"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_capacity_report_rpi_capacity", "source_file": "scripts/capacity-report", "source_location": "L173"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_capacity_report_summary", "source_file": "scripts/capacity-report", "source_location": "L178"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_capacity_report_compact_host_capacity", "source_file": "scripts/capacity-report", "source_location": "L205"}, {"language": "bash", "callee": "read", "caller_nid": "$graphify-root$_scripts_capacity_report_compact_host_capacity", "source_file": "scripts/capacity-report", "source_location": "L206"}, {"language": "bash", "callee": "df", "caller_nid": "$graphify-root$_scripts_capacity_report_compact_host_capacity", "source_file": "scripts/capacity-report", "source_location": "L222"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_scripts_capacity_report_compact_host_capacity", "source_file": "scripts/capacity-report", "source_location": "L222"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_capacity_report_compact_host_capacity", "source_file": "scripts/capacity-report", "source_location": "L222"}, {"language": "bash", "callee": "continue", "caller_nid": "$graphify-root$_scripts_capacity_report_compact_host_capacity", "source_file": "scripts/capacity-report", "source_location": "L225"}, {"language": "bash", "callee": "docker", "caller_nid": "$graphify-root$_scripts_capacity_report_compact_host_capacity", "source_file": "scripts/capacity-report", "source_location": "L239"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_capacity_report_compact_kubernetes_capacity", "source_file": "scripts/capacity-report", "source_location": "L265"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_capacity_report_compact_kubernetes_capacity", "source_file": "scripts/capacity-report", "source_location": "L267"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_scripts_capacity_report_compact_kubernetes_capacity", "source_file": "scripts/capacity-report", "source_location": "L269"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_scripts_capacity_report_compact_kubernetes_capacity", "source_file": "scripts/capacity-report", "source_location": "L274"}, {"language": "bash", "callee": "paste", "caller_nid": "$graphify-root$_scripts_capacity_report_compact_kubernetes_capacity", "source_file": "scripts/capacity-report", "source_location": "L296"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_capacity_report_compact_kubernetes_capacity", "source_file": "scripts/capacity-report", "source_location": "L296"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_scripts_capacity_report_compact_pimox_capacity", "source_file": "scripts/capacity-report", "source_location": "L311"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_capacity_report_compact_pimox_capacity", "source_file": "scripts/capacity-report", "source_location": "L318"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_capacity_report_compact_pimox_capacity", "source_file": "scripts/capacity-report", "source_location": "L322"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_capacity_report_compact_pimox_capacity", "source_file": "scripts/capacity-report", "source_location": "L328"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_scripts_capacity_report_compact_pimox_capacity", "source_file": "scripts/capacity-report", "source_location": "L328"}, {"language": "bash", "callee": "ssh", "caller_nid": "$graphify-root$_scripts_capacity_report_compact_rpi_capacity", "source_file": "scripts/capacity-report", "source_location": "L353"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_capacity_report_compact_rpi_capacity", "source_file": "scripts/capacity-report", "source_location": "L363"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_capacity_report_compact_rpi_capacity", "source_file": "scripts/capacity-report", "source_location": "L367"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_capacity_report_compact_rpi_capacity", "source_file": "scripts/capacity-report", "source_location": "L374"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_scripts_capacity_report_compact_rpi_capacity", "source_file": "scripts/capacity-report", "source_location": "L374"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/995bd15f7f90994afe65a8b133bde5ed7c0d731dc697f1443fa98517c7f324f5.json b/graphify-out/cache/ast/v0.9.64-s4/995bd15f7f90994afe65a8b133bde5ed7c0d731dc697f1443fa98517c7f324f5.json
new file mode 100644
index 0000000..0434b89
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/995bd15f7f90994afe65a8b133bde5ed7c0d731dc697f1443fa98517c7f324f5.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_ai_evals", "label": "ai-evals", "file_type": "code", "source_file": "scripts/ai-evals", "source_location": "L1"}, {"id": "$graphify-root$_scripts_ai_evals_case", "label": "Case", "file_type": "code", "source_file": "scripts/ai-evals", "source_location": "L21", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_scripts_ai_evals_split_terms", "label": "split_terms()", "file_type": "code", "source_file": "scripts/ai-evals", "source_location": "L31", "_callable": true}, {"id": "$graphify-root$_scripts_ai_evals_load_cases", "label": "load_cases()", "file_type": "code", "source_file": "scripts/ai-evals", "source_location": "L35", "_callable": true}, {"id": "$graphify-root$_scripts_ai_evals_fixture_text", "label": "fixture_text()", "file_type": "code", "source_file": "scripts/ai-evals", "source_location": "L52", "_callable": true}, {"id": "$graphify-root$_scripts_ai_evals_run_explain_output", "label": "run_explain_output()", "file_type": "code", "source_file": "scripts/ai-evals", "source_location": "L59", "_callable": true}, {"id": "$graphify-root$_scripts_ai_evals_run_repo_scan", "label": "run_repo_scan()", "file_type": "code", "source_file": "scripts/ai-evals", "source_location": "L72", "_callable": true}, {"id": "$graphify-root$_scripts_ai_evals_run_case", "label": "run_case()", "file_type": "code", "source_file": "scripts/ai-evals", "source_location": "L97", "_callable": true}, {"id": "$graphify-root$_scripts_ai_evals_print_list", "label": "print_list()", "file_type": "code", "source_file": "scripts/ai-evals", "source_location": "L129", "_callable": true}, {"id": "$graphify-root$_scripts_ai_evals_print_show", "label": "print_show()", "file_type": "code", "source_file": "scripts/ai-evals", "source_location": "L135", "_callable": true}, {"id": "$graphify-root$_scripts_ai_evals_print_run", "label": "print_run()", "file_type": "code", "source_file": "scripts/ai-evals", "source_location": "L150", "_callable": true}, {"id": "$graphify-root$_scripts_ai_evals_main", "label": "main()", "file_type": "code", "source_file": "scripts/ai-evals", "source_location": "L178", "_callable": true}, {"id": "$graphify-root$_scripts_ai_evals_rationale_2", "label": "Deterministic eval harness for Jeannie and homelab RAG behavior.", "file_type": "rationale", "source_file": "scripts/ai-evals", "source_location": "L2"}], "edges": [{"source": "$graphify-root$_scripts_ai_evals", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals", "target": "csv", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals", "target": "subprocess", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals", "target": "$graphify-root$_scripts_ai_evals_case", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L21", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals", "target": "$graphify-root$_scripts_ai_evals_split_terms", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L31", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals", "target": "$graphify-root$_scripts_ai_evals_load_cases", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L35", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals_load_cases", "target": "$graphify-root$_scripts_ai_evals_case", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L35", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals", "target": "$graphify-root$_scripts_ai_evals_fixture_text", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L52", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals_fixture_text", "target": "$graphify-root$_scripts_ai_evals_case", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L52", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals", "target": "$graphify-root$_scripts_ai_evals_run_explain_output", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L59", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals_run_explain_output", "target": "$graphify-root$_scripts_ai_evals_case", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L59", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals", "target": "$graphify-root$_scripts_ai_evals_run_repo_scan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L72", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals_run_repo_scan", "target": "$graphify-root$_scripts_ai_evals_case", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L72", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals", "target": "$graphify-root$_scripts_ai_evals_run_case", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L97", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals_run_case", "target": "$graphify-root$_scripts_ai_evals_case", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L97", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals", "target": "$graphify-root$_scripts_ai_evals_print_list", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L129", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals_print_list", "target": "$graphify-root$_scripts_ai_evals_case", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L129", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals", "target": "$graphify-root$_scripts_ai_evals_print_show", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L135", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals_print_show", "target": "$graphify-root$_scripts_ai_evals_case", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L135", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals", "target": "$graphify-root$_scripts_ai_evals_print_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L150", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals_print_run", "target": "$graphify-root$_scripts_ai_evals_case", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L150", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals", "target": "$graphify-root$_scripts_ai_evals_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L178", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals_load_cases", "target": "$graphify-root$_scripts_ai_evals_case", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L39", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals_load_cases", "target": "$graphify-root$_scripts_ai_evals_split_terms", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L44", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals_run_explain_output", "target": "$graphify-root$_scripts_ai_evals_fixture_text", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L62", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals_run_repo_scan", "target": "$graphify-root$_scripts_ai_evals_fixture_text", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L73", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals_run_case", "target": "$graphify-root$_scripts_ai_evals_run_explain_output", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L99", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals_run_case", "target": "$graphify-root$_scripts_ai_evals_run_repo_scan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L101", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals_print_run", "target": "$graphify-root$_scripts_ai_evals_run_case", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L156", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals_main", "target": "$graphify-root$_scripts_ai_evals_load_cases", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L190", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals_main", "target": "$graphify-root$_scripts_ai_evals_print_list", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L192", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals_main", "target": "$graphify-root$_scripts_ai_evals_print_show", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L194", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals_main", "target": "$graphify-root$_scripts_ai_evals_print_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L196", "weight": 1.0}, {"source": "$graphify-root$_scripts_ai_evals_rationale_2", "target": "$graphify-root$_scripts_ai_evals", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/ai-evals", "source_location": "L2", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_ai_evals_split_terms", "callee": "strip", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L32", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_split_terms", "callee": "split", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L32", "receiver": "value"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_split_terms", "callee": "strip", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L32", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_load_cases", "callee": "open", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L36", "receiver": "CASES_FILE"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_load_cases", "callee": "DictReader", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L37", "receiver": "csv"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_load_cases", "callee": "handle", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/ai-evals", "source_location": "L37"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_fixture_text", "callee": "is_file", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L54", "receiver": "path"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_fixture_text", "callee": "SystemExit", "is_member_call": false, "source_file": "scripts/ai-evals", "source_location": "L55", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_ai_evals_fixture_text", "callee": "read_text", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L56", "receiver": "path"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_run_explain_output", "callee": "run", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L60", "receiver": "subprocess"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_run_explain_output", "callee": "REPO_ROOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/ai-evals", "source_location": "L66"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_run_repo_scan", "callee": "is_file", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L81", "receiver": "path"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_run_repo_scan", "callee": "relative_to", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L82", "receiver": "path"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_run_repo_scan", "callee": "REPO_ROOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/ai-evals", "source_location": "L82"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_run_repo_scan", "callee": "splitlines", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L83", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_ai_evals_run_repo_scan", "callee": "read_text", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L83", "receiver": "path"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_run_repo_scan", "callee": "lower", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L86", "receiver": "line"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_run_repo_scan", "callee": "lower", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L87", "receiver": "term"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_run_repo_scan", "callee": "extend", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L90", "receiver": "matches"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_run_repo_scan", "callee": "append", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L92", "receiver": "haystack_parts"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_run_repo_scan", "callee": "extend", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L93", "receiver": "haystack_parts"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_run_repo_scan", "callee": "join", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L94", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_ai_evals_run_case", "callee": "lower", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L112", "receiver": "output"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_run_case", "callee": "lower", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L113", "receiver": "term"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_run_case", "callee": "lower", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L114", "receiver": "term"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_print_show", "callee": "join", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L142", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_ai_evals_print_show", "callee": "join", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L143", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_ai_evals_print_run", "callee": "dumps", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L158", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_print_run", "callee": "join", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L168", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_ai_evals_print_run", "callee": "join", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L170", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_ai_evals_print_run", "callee": "splitlines", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L173", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_ai_evals_main", "callee": "ArgumentParser", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L179", "receiver": "argparse"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_main", "callee": "__doc__", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/ai-evals", "source_location": "L179"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_main", "callee": "add_subparsers", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L180", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_main", "callee": "add_parser", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L181", "receiver": "subparsers"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_main", "callee": "add_parser", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L182", "receiver": "subparsers"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L183", "receiver": "show_parser"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_main", "callee": "add_parser", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L184", "receiver": "subparsers"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L185", "receiver": "run_parser"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L186", "receiver": "run_parser"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L187", "receiver": "run_parser"}, {"caller_nid": "$graphify-root$_scripts_ai_evals_main", "callee": "parse_args", "is_member_call": true, "source_file": "scripts/ai-evals", "source_location": "L188", "receiver": "parser"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/9c3b6ef8087a12c7f8157f6dd6c9ab6fd378ea7a90719bc90ad28574afcd752b.json b/graphify-out/cache/ast/v0.9.64-s4/9c3b6ef8087a12c7f8157f6dd6c9ab6fd378ea7a90719bc90ad28574afcd752b.json
new file mode 100644
index 0000000..3f58378
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/9c3b6ef8087a12c7f8157f6dd6c9ab6fd378ea7a90719bc90ad28574afcd752b.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_apps_website_partials_header_php", "label": "header.php", "file_type": "code", "source_file": "apps/website/partials/header.php", "source_location": "L1"}], "edges": [], "raw_calls": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/a07f952798719a4d5bdfd48403e24f6bd7d60aa96c23b4c177d96eafcf37c61b.json b/graphify-out/cache/ast/v0.9.64-s4/a07f952798719a4d5bdfd48403e24f6bd7d60aa96c23b4c177d96eafcf37c61b.json
new file mode 100644
index 0000000..91f7b1c
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/a07f952798719a4d5bdfd48403e24f6bd7d60aa96c23b4c177d96eafcf37c61b.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_heal", "label": "heal", "file_type": "code", "source_file": "scripts/heal", "source_location": "L1"}, {"id": "$graphify-root$_scripts_heal_healrule", "label": "HealRule", "file_type": "code", "source_file": "scripts/heal", "source_location": "L25", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_scripts_heal_load_status", "label": "load_status()", "file_type": "code", "source_file": "scripts/heal", "source_location": "L55", "_callable": true}, {"id": "path", "label": "Path", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/heal"}, {"id": "$graphify-root$_scripts_heal_status_rows", "label": "status_rows()", "file_type": "code", "source_file": "scripts/heal", "source_location": "L73", "_callable": true}, {"id": "$graphify-root$_scripts_heal_rule_for", "label": "rule_for()", "file_type": "code", "source_file": "scripts/heal", "source_location": "L80", "_callable": true}, {"id": "$graphify-root$_scripts_heal_pimox_worker_index", "label": "pimox_worker_index()", "file_type": "code", "source_file": "scripts/heal", "source_location": "L88", "_callable": true}, {"id": "$graphify-root$_scripts_heal_command_for", "label": "command_for()", "file_type": "code", "source_file": "scripts/heal", "source_location": "L96", "_callable": true}, {"id": "$graphify-root$_scripts_heal_build_plan", "label": "build_plan()", "file_type": "code", "source_file": "scripts/heal", "source_location": "L108", "_callable": true}, {"id": "$graphify-root$_scripts_heal_impact_sort_key", "label": "impact_sort_key()", "file_type": "code", "source_file": "scripts/heal", "source_location": "L156", "_callable": true}, {"id": "$graphify-root$_scripts_heal_highest_impact", "label": "highest_impact()", "file_type": "code", "source_file": "scripts/heal", "source_location": "L161", "_callable": true}, {"id": "$graphify-root$_scripts_heal_print_plan", "label": "print_plan()", "file_type": "code", "source_file": "scripts/heal", "source_location": "L168", "_callable": true}, {"id": "$graphify-root$_scripts_heal_print_ai_context", "label": "print_ai_context()", "file_type": "code", "source_file": "scripts/heal", "source_location": "L198", "_callable": true}, {"id": "$graphify-root$_scripts_heal_apply_plan", "label": "apply_plan()", "file_type": "code", "source_file": "scripts/heal", "source_location": "L217", "_callable": true}, {"id": "$graphify-root$_scripts_heal_load_heal_state", "label": "load_heal_state()", "file_type": "code", "source_file": "scripts/heal", "source_location": "L267", "_callable": true}, {"id": "$graphify-root$_scripts_heal_write_heal_state", "label": "write_heal_state()", "file_type": "code", "source_file": "scripts/heal", "source_location": "L281", "_callable": true}, {"id": "$graphify-root$_scripts_heal_recent_failed_commands", "label": "recent_failed_commands()", "file_type": "code", "source_file": "scripts/heal", "source_location": "L286", "_callable": true}, {"id": "$graphify-root$_scripts_heal_record_failed_action", "label": "record_failed_action()", "file_type": "code", "source_file": "scripts/heal", "source_location": "L309", "_callable": true}, {"id": "$graphify-root$_scripts_heal_clear_failed_action", "label": "clear_failed_action()", "file_type": "code", "source_file": "scripts/heal", "source_location": "L322", "_callable": true}, {"id": "$graphify-root$_scripts_heal_verify_healed", "label": "verify_healed()", "file_type": "code", "source_file": "scripts/heal", "source_location": "L330", "_callable": true}, {"id": "$graphify-root$_scripts_heal_target_is_healed", "label": "target_is_healed()", "file_type": "code", "source_file": "scripts/heal", "source_location": "L344", "_callable": true}, {"id": "$graphify-root$_scripts_heal_pimox_worker_ready", "label": "pimox_worker_ready()", "file_type": "code", "source_file": "scripts/heal", "source_location": "L362", "_callable": true}, {"id": "$graphify-root$_scripts_heal_main", "label": "main()", "file_type": "code", "source_file": "scripts/heal", "source_location": "L386", "_callable": true}, {"id": "$graphify-root$_scripts_heal_rationale_2", "label": "Plan and apply guarded self-healing actions from Jeannie status findings.", "file_type": "rationale", "source_file": "scripts/heal", "source_location": "L2"}], "edges": [{"source": "$graphify-root$_scripts_heal", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "subprocess", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "$graphify-root$_scripts_heal_healrule", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L25", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "$graphify-root$_scripts_heal_load_status", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L55", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_load_status", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L55", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "$graphify-root$_scripts_heal_status_rows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L73", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "$graphify-root$_scripts_heal_rule_for", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L80", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_rule_for", "target": "$graphify-root$_scripts_heal_healrule", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L80", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "$graphify-root$_scripts_heal_pimox_worker_index", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L88", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "$graphify-root$_scripts_heal_command_for", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L96", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_command_for", "target": "$graphify-root$_scripts_heal_healrule", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L96", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "$graphify-root$_scripts_heal_build_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L108", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "$graphify-root$_scripts_heal_impact_sort_key", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L156", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "$graphify-root$_scripts_heal_highest_impact", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L161", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "$graphify-root$_scripts_heal_print_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L168", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "$graphify-root$_scripts_heal_print_ai_context", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L198", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "$graphify-root$_scripts_heal_apply_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L217", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "$graphify-root$_scripts_heal_load_heal_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L267", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "$graphify-root$_scripts_heal_write_heal_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L281", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "$graphify-root$_scripts_heal_recent_failed_commands", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L286", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "$graphify-root$_scripts_heal_record_failed_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L309", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "$graphify-root$_scripts_heal_clear_failed_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L322", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "$graphify-root$_scripts_heal_verify_healed", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L330", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "$graphify-root$_scripts_heal_target_is_healed", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L344", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "$graphify-root$_scripts_heal_pimox_worker_ready", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L362", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal", "target": "$graphify-root$_scripts_heal_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L386", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_command_for", "target": "$graphify-root$_scripts_heal_pimox_worker_index", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L98", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_build_plan", "target": "$graphify-root$_scripts_heal_recent_failed_commands", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L111", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_build_plan", "target": "$graphify-root$_scripts_heal_status_rows", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L112", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_build_plan", "target": "$graphify-root$_scripts_heal_rule_for", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L113", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_build_plan", "target": "$graphify-root$_scripts_heal_command_for", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L129", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_highest_impact", "target": "$graphify-root$_scripts_heal_impact_sort_key", "relation": "indirect_call", "context": "argument", "confidence": "INFERRED", "confidence_score": 0.85, "source_file": "scripts/heal", "source_location": "L165", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_print_plan", "target": "$graphify-root$_scripts_heal_highest_impact", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L169", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_print_plan", "target": "$graphify-root$_scripts_heal_impact_sort_key", "relation": "indirect_call", "context": "argument", "confidence": "INFERRED", "confidence_score": 0.85, "source_file": "scripts/heal", "source_location": "L171", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_print_plan", "target": "$graphify-root$_scripts_heal_print_ai_context", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L195", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_apply_plan", "target": "$graphify-root$_scripts_heal_highest_impact", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L218", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_apply_plan", "target": "$graphify-root$_scripts_heal_record_failed_action", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L248", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_apply_plan", "target": "$graphify-root$_scripts_heal_verify_healed", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L250", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_apply_plan", "target": "$graphify-root$_scripts_heal_clear_failed_action", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L252", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_recent_failed_commands", "target": "$graphify-root$_scripts_heal_load_heal_state", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L288", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_recent_failed_commands", "target": "$graphify-root$_scripts_heal_write_heal_state", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L305", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_record_failed_action", "target": "$graphify-root$_scripts_heal_load_heal_state", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L310", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_record_failed_action", "target": "$graphify-root$_scripts_heal_write_heal_state", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L318", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_clear_failed_action", "target": "$graphify-root$_scripts_heal_load_heal_state", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L323", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_clear_failed_action", "target": "$graphify-root$_scripts_heal_write_heal_state", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L327", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_verify_healed", "target": "$graphify-root$_scripts_heal_target_is_healed", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L335", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_target_is_healed", "target": "$graphify-root$_scripts_heal_pimox_worker_ready", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L348", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_target_is_healed", "target": "$graphify-root$_scripts_heal_load_status", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L351", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_target_is_healed", "target": "$graphify-root$_scripts_heal_status_rows", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L356", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_main", "target": "$graphify-root$_scripts_heal_load_status", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L398", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_main", "target": "$graphify-root$_scripts_heal_build_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L399", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_main", "target": "$graphify-root$_scripts_heal_print_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L401", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_main", "target": "$graphify-root$_scripts_heal_apply_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L406", "weight": 1.0}, {"source": "$graphify-root$_scripts_heal_rationale_2", "target": "$graphify-root$_scripts_heal", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/heal", "source_location": "L2", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_heal_load_status", "callee": "loads", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L57", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_heal_load_status", "callee": "read_text", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L57", "receiver": "path"}, {"caller_nid": "$graphify-root$_scripts_heal_load_status", "callee": "run", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L59", "receiver": "subprocess"}, {"caller_nid": "$graphify-root$_scripts_heal_load_status", "callee": "REPO_ROOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/heal", "source_location": "L61"}, {"caller_nid": "$graphify-root$_scripts_heal_load_status", "callee": "strip", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L67", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_heal_load_status", "callee": "strip", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L68", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_heal_load_status", "callee": "SystemExit", "is_member_call": false, "source_file": "scripts/heal", "source_location": "L69", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_heal_load_status", "callee": "loads", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L70", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_heal_status_rows", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L74", "receiver": "status"}, {"caller_nid": "$graphify-root$_scripts_heal_status_rows", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/heal", "source_location": "L75"}, {"caller_nid": "$graphify-root$_scripts_heal_status_rows", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/heal", "source_location": "L77"}, {"caller_nid": "$graphify-root$_scripts_heal_status_rows", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L77", "receiver": "row"}, {"caller_nid": "$graphify-root$_scripts_heal_rule_for", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L81", "receiver": "row"}, {"caller_nid": "$graphify-root$_scripts_heal_pimox_worker_index", "callee": "join", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L89", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_heal_pimox_worker_index", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L89", "receiver": "row"}, {"caller_nid": "$graphify-root$_scripts_heal_pimox_worker_index", "callee": "search", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L90", "receiver": "re"}, {"caller_nid": "$graphify-root$_scripts_heal_pimox_worker_index", "callee": "group", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L93", "receiver": "match"}, {"caller_nid": "$graphify-root$_scripts_heal_build_plan", "callee": "append", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L115", "receiver": "planned"}, {"caller_nid": "$graphify-root$_scripts_heal_build_plan", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L117", "receiver": "row"}, {"caller_nid": "$graphify-root$_scripts_heal_build_plan", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L118", "receiver": "row"}, {"caller_nid": "$graphify-root$_scripts_heal_build_plan", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L119", "receiver": "row"}, {"caller_nid": "$graphify-root$_scripts_heal_build_plan", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L125", "receiver": "row"}, {"caller_nid": "$graphify-root$_scripts_heal_build_plan", "callee": "add", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L139", "receiver": "seen_commands"}, {"caller_nid": "$graphify-root$_scripts_heal_build_plan", "callee": "append", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L140", "receiver": "planned"}, {"caller_nid": "$graphify-root$_scripts_heal_build_plan", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L142", "receiver": "row"}, {"caller_nid": "$graphify-root$_scripts_heal_build_plan", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L143", "receiver": "row"}, {"caller_nid": "$graphify-root$_scripts_heal_build_plan", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L144", "receiver": "row"}, {"caller_nid": "$graphify-root$_scripts_heal_build_plan", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L150", "receiver": "row"}, {"caller_nid": "$graphify-root$_scripts_heal_impact_sort_key", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L157", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_heal_impact_sort_key", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L158", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_heal_impact_sort_key", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L158", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_heal_impact_sort_key", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L158", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_heal_highest_impact", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L162", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_heal_print_plan", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L192", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_heal_print_ai_context", "callee": "join", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L199", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_heal_print_ai_context", "callee": "run", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L202", "receiver": "subprocess"}, {"caller_nid": "$graphify-root$_scripts_heal_print_ai_context", "callee": "REPO_ROOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/heal", "source_location": "L204"}, {"caller_nid": "$graphify-root$_scripts_heal_print_ai_context", "callee": "strip", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L210", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_heal_print_ai_context", "callee": "strip", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L214", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_heal_apply_plan", "callee": "run", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L226", "receiver": "subprocess"}, {"caller_nid": "$graphify-root$_scripts_heal_apply_plan", "callee": "REPO_ROOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/heal", "source_location": "L228"}, {"caller_nid": "$graphify-root$_scripts_heal_apply_plan", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L235", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_heal_apply_plan", "callee": "loads", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L235", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_heal_apply_plan", "callee": "run", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L246", "receiver": "subprocess"}, {"caller_nid": "$graphify-root$_scripts_heal_apply_plan", "callee": "REPO_ROOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/heal", "source_location": "L246"}, {"caller_nid": "$graphify-root$_scripts_heal_apply_plan", "callee": "split", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L246", "receiver": "command"}, {"caller_nid": "$graphify-root$_scripts_heal_load_heal_state", "callee": "is_file", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L268", "receiver": "HEAL_STATE_FILE"}, {"caller_nid": "$graphify-root$_scripts_heal_load_heal_state", "callee": "loads", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L271", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_heal_load_heal_state", "callee": "read_text", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L271", "receiver": "HEAL_STATE_FILE"}, {"caller_nid": "$graphify-root$_scripts_heal_load_heal_state", "callee": "OSError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "scripts/heal", "source_location": "L272"}, {"caller_nid": "$graphify-root$_scripts_heal_load_heal_state", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/heal", "source_location": "L274"}, {"caller_nid": "$graphify-root$_scripts_heal_load_heal_state", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/heal", "source_location": "L276"}, {"caller_nid": "$graphify-root$_scripts_heal_load_heal_state", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L276", "receiver": "document"}, {"caller_nid": "$graphify-root$_scripts_heal_write_heal_state", "callee": "mkdir", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L282", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_heal_write_heal_state", "callee": "write_text", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L283", "receiver": "HEAL_STATE_FILE"}, {"caller_nid": "$graphify-root$_scripts_heal_write_heal_state", "callee": "dumps", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L283", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_heal_recent_failed_commands", "callee": "time", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L287", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_heal_recent_failed_commands", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L289", "receiver": "document"}, {"caller_nid": "$graphify-root$_scripts_heal_recent_failed_commands", "callee": "items", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L292", "receiver": "failed"}, {"caller_nid": "$graphify-root$_scripts_heal_recent_failed_commands", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/heal", "source_location": "L293"}, {"caller_nid": "$graphify-root$_scripts_heal_recent_failed_commands", "callee": "pop", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L294", "receiver": "failed"}, {"caller_nid": "$graphify-root$_scripts_heal_recent_failed_commands", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L297", "receiver": "info"}, {"caller_nid": "$graphify-root$_scripts_heal_recent_failed_commands", "callee": "pop", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L299", "receiver": "failed"}, {"caller_nid": "$graphify-root$_scripts_heal_recent_failed_commands", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L302", "receiver": "info"}, {"caller_nid": "$graphify-root$_scripts_heal_record_failed_action", "callee": "setdefault", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L311", "receiver": "document"}, {"caller_nid": "$graphify-root$_scripts_heal_record_failed_action", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/heal", "source_location": "L312"}, {"caller_nid": "$graphify-root$_scripts_heal_record_failed_action", "callee": "time", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L314", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_heal_record_failed_action", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L315", "receiver": "target"}, {"caller_nid": "$graphify-root$_scripts_heal_record_failed_action", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L315", "receiver": "target"}, {"caller_nid": "$graphify-root$_scripts_heal_record_failed_action", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L316", "receiver": "target"}, {"caller_nid": "$graphify-root$_scripts_heal_clear_failed_action", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L324", "receiver": "document"}, {"caller_nid": "$graphify-root$_scripts_heal_clear_failed_action", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/heal", "source_location": "L325"}, {"caller_nid": "$graphify-root$_scripts_heal_clear_failed_action", "callee": "pop", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L326", "receiver": "failed"}, {"caller_nid": "$graphify-root$_scripts_heal_verify_healed", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L331", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_heal_verify_healed", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L332", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_heal_verify_healed", "callee": "monotonic", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L333", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_heal_verify_healed", "callee": "monotonic", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L337", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_heal_verify_healed", "callee": "monotonic", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L339", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_heal_verify_healed", "callee": "sleep", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L341", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_heal_target_is_healed", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L345", "receiver": "target"}, {"caller_nid": "$graphify-root$_scripts_heal_target_is_healed", "callee": "search", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L346", "receiver": "re"}, {"caller_nid": "$graphify-root$_scripts_heal_target_is_healed", "callee": "group", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L348", "receiver": "worker_match"}, {"caller_nid": "$graphify-root$_scripts_heal_target_is_healed", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L354", "receiver": "target"}, {"caller_nid": "$graphify-root$_scripts_heal_target_is_healed", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L355", "receiver": "target"}, {"caller_nid": "$graphify-root$_scripts_heal_target_is_healed", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L357", "receiver": "row"}, {"caller_nid": "$graphify-root$_scripts_heal_target_is_healed", "callee": "get", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L357", "receiver": "row"}, {"caller_nid": "$graphify-root$_scripts_heal_pimox_worker_ready", "callee": "run", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L364", "receiver": "subprocess"}, {"caller_nid": "$graphify-root$_scripts_heal_pimox_worker_ready", "callee": "REPO_ROOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/heal", "source_location": "L374"}, {"caller_nid": "$graphify-root$_scripts_heal_pimox_worker_ready", "callee": "DEFAULT_KUBECONFIG", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/heal", "source_location": "L368"}, {"caller_nid": "$graphify-root$_scripts_heal_pimox_worker_ready", "callee": "split", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L382", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_heal_main", "callee": "ArgumentParser", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L387", "receiver": "argparse"}, {"caller_nid": "$graphify-root$_scripts_heal_main", "callee": "__doc__", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/heal", "source_location": "L387"}, {"caller_nid": "$graphify-root$_scripts_heal_main", "callee": "add_subparsers", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L388", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_heal_main", "callee": "add_parser", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L389", "receiver": "subparsers"}, {"caller_nid": "$graphify-root$_scripts_heal_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L390", "receiver": "plan_parser"}, {"caller_nid": "$graphify-root$_scripts_heal_main", "callee": "Path", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/heal", "source_location": "L390"}, {"caller_nid": "$graphify-root$_scripts_heal_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L391", "receiver": "plan_parser"}, {"caller_nid": "$graphify-root$_scripts_heal_main", "callee": "add_parser", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L392", "receiver": "subparsers"}, {"caller_nid": "$graphify-root$_scripts_heal_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L393", "receiver": "apply_parser"}, {"caller_nid": "$graphify-root$_scripts_heal_main", "callee": "Path", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/heal", "source_location": "L393"}, {"caller_nid": "$graphify-root$_scripts_heal_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L394", "receiver": "apply_parser"}, {"caller_nid": "$graphify-root$_scripts_heal_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L395", "receiver": "apply_parser"}, {"caller_nid": "$graphify-root$_scripts_heal_main", "callee": "parse_args", "is_member_call": true, "source_file": "scripts/heal", "source_location": "L396", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_heal_main", "callee": "status_json", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "scripts/heal", "source_location": "L398"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/a0fb069f7740b986a37319510219f12570ee970e3cb13f564d2b4dba3f5521a2.json b/graphify-out/cache/ast/v0.9.64-s4/a0fb069f7740b986a37319510219f12570ee970e3cb13f564d2b4dba3f5521a2.json
new file mode 100644
index 0000000..0a1aefd
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/a0fb069f7740b986a37319510219f12570ee970e3cb13f564d2b4dba3f5521a2.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_scorecard", "label": "scorecard", "file_type": "code", "source_file": "scripts/scorecard", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_scorecard__entry", "label": "scorecard script", "file_type": "code", "source_file": "scripts/scorecard", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_scorecard_score", "label": "score()", "file_type": "code", "source_file": "scripts/scorecard", "source_location": "L8", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_scorecard_docs_fresh", "label": "docs_fresh()", "file_type": "code", "source_file": "scripts/scorecard", "source_location": "L43", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_scorecard_inventory_ok", "label": "inventory_ok()", "file_type": "code", "source_file": "scripts/scorecard", "source_location": "L47", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_scorecard_security_static_ok", "label": "security_static_ok()", "file_type": "code", "source_file": "scripts/scorecard", "source_location": "L51", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_scorecard", "target": "$graphify-root$_scripts_scorecard__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/scorecard", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_scorecard", "target": "$graphify-root$_scripts_scorecard_score", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/scorecard", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_scripts_scorecard", "target": "$graphify-root$_scripts_scorecard_docs_fresh", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/scorecard", "source_location": "L43", "weight": 1.0}, {"source": "$graphify-root$_scripts_scorecard", "target": "$graphify-root$_scripts_scorecard_inventory_ok", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/scorecard", "source_location": "L47", "weight": 1.0}, {"source": "$graphify-root$_scripts_scorecard", "target": "$graphify-root$_scripts_scorecard_security_static_ok", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/scorecard", "source_location": "L51", "weight": 1.0}, {"source": "$graphify-root$_scripts_scorecard__entry", "target": "$graphify-root$_scripts_scorecard_score", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/scorecard", "source_location": "L58", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_scorecard__entry", "source_file": "scripts/scorecard", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_scorecard__entry", "source_file": "scripts/scorecard", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_scorecard__entry", "source_file": "scripts/scorecard", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_scorecard__entry", "source_file": "scripts/scorecard", "source_location": "L4"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_scorecard__entry", "source_file": "scripts/scorecard", "source_location": "L55"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_scorecard__entry", "source_file": "scripts/scorecard", "source_location": "L72"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_scripts_scorecard_score", "source_file": "scripts/scorecard", "source_location": "L11"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_scorecard_score", "source_file": "scripts/scorecard", "source_location": "L16"}, {"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_scorecard_score", "source_file": "scripts/scorecard", "source_location": "L17"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_scorecard_score", "source_file": "scripts/scorecard", "source_location": "L23"}, {"language": "bash", "callee": "awk", "caller_nid": "$graphify-root$_scripts_scorecard_score", "source_file": "scripts/scorecard", "source_location": "L34"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/a17ba4c0ba24b56c53f577597ef5ecc3736cf577427c1edeadae677d637da9b6.json b/graphify-out/cache/ast/v0.9.64-s4/a17ba4c0ba24b56c53f577597ef5ecc3736cf577427c1edeadae677d637da9b6.json
new file mode 100644
index 0000000..bce4dff
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/a17ba4c0ba24b56c53f577597ef5ecc3736cf577427c1edeadae677d637da9b6.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_apps_website_homelab_tree_php", "label": "homelab-tree.php", "file_type": "code", "source_file": "apps/website/homelab-tree.php", "source_location": "L1"}, {"id": "$graphify-root$_apps_website_homelab_tree_other_pages", "label": "OTHER_PAGES", "file_type": "code", "source_file": "apps/website/homelab-tree.php", "source_location": "L256"}], "edges": [{"source": "$graphify-root$_apps_website_homelab_tree_php", "target": "$graphify-root$_apps_website_homelab_tree_other_pages", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/homelab-tree.php", "source_location": "L256", "weight": 1.0}], "raw_calls": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/a2c81a821ce5c1e698001eecc6fe990042d82aadc3fdbeadad9e504dff419bd2.json b/graphify-out/cache/ast/v0.9.64-s4/a2c81a821ce5c1e698001eecc6fe990042d82aadc3fdbeadad9e504dff419bd2.json
new file mode 100644
index 0000000..4de24dd
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/a2c81a821ce5c1e698001eecc6fe990042d82aadc3fdbeadad9e504dff419bd2.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_apps_website_partials_translation_ui_php", "label": "translation_ui.php", "file_type": "code", "source_file": "apps/website/partials/translation_ui.php", "source_location": "L1"}, {"id": "$graphify-root$_apps_website_partials_translation_ui_static_langs", "label": "STATIC_LANGS", "file_type": "code", "source_file": "apps/website/partials/translation_ui.php", "source_location": "L45"}], "edges": [{"source": "$graphify-root$_apps_website_partials_translation_ui_php", "target": "$graphify-root$_apps_website_partials_translation_ui_static_langs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/partials/translation_ui.php", "source_location": "L45", "weight": 1.0}], "raw_calls": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/a2e246c4296167bd739667192d6e295fbd297e2cba858695b5c5b02444303dd2.json b/graphify-out/cache/ast/v0.9.64-s4/a2e246c4296167bd739667192d6e295fbd297e2cba858695b5c5b02444303dd2.json
new file mode 100644
index 0000000..d4e16dc
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/a2e246c4296167bd739667192d6e295fbd297e2cba858695b5c5b02444303dd2.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_bootstrap_platform_variables_tf", "label": "variables.tf", "file_type": "code", "source_file": "bootstrap/platform/variables.tf", "source_location": null, "type": "terraform_file"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_kubeconfig_path", "label": "var.kubeconfig_path", "file_type": "code", "source_file": "bootstrap/platform/variables.tf", "source_location": "L1", "attributes": {"type": "string", "default": "/home/jv/.kube/config"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_pod_network_cidr", "label": "var.pod_network_cidr", "file_type": "code", "source_file": "bootstrap/platform/variables.tf", "source_location": "L6", "attributes": {"type": "string", "default": "10.244.0.0/16"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_calico_node_address_autodetection_cidrs", "label": "var.calico_node_address_autodetection_cidrs", "file_type": "code", "source_file": "bootstrap/platform/variables.tf", "source_location": "L11", "attributes": {"type": "list(string)", "default": ["192.168.100.0/24"]}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_calico_operator_node_name", "label": "var.calico_operator_node_name", "file_type": "code", "source_file": "bootstrap/platform/variables.tf", "source_location": "L16", "attributes": {"type": "string", "default": "debian"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_gitops_repo_url", "label": "var.gitops_repo_url", "file_type": "code", "source_file": "bootstrap/platform/variables.tf", "source_location": "L21", "attributes": {"type": "string", "default": "ssh://git@192.168.100.73:32222/jv/my-homelab-configs.git"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_gitops_ssh_key_path", "label": "var.gitops_ssh_key_path", "file_type": "code", "source_file": "bootstrap/platform/variables.tf", "source_location": "L26", "attributes": {"type": "string", "default": "/home/jv/.ssh/id_ed25519"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_calico", "label": "var.calico", "file_type": "code", "source_file": "bootstrap/platform/variables.tf", "source_location": "L31", "attributes": {"type": "object({ repository = string version = string namespace = string })", "default": {"repository": "https://docs.tigera.io/calico/charts", "version": "v3.32.0", "namespace": "tigera-operator"}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_openebs", "label": "var.openebs", "file_type": "code", "source_file": "bootstrap/platform/variables.tf", "source_location": "L45", "attributes": {"type": "object({ repository = string version = string namespace = string retain_storage_class = string base_path = string })", "default": {"repository": "https://openebs.github.io/openebs", "version": "4.3.3", "namespace": "openebs", "retain_storage_class": "openebs-hostpath-retain", "base_path": "/data/openebs/local"}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_argocd", "label": "var.argocd", "file_type": "code", "source_file": "bootstrap/platform/variables.tf", "source_location": "L63", "attributes": {"type": "object({ repository = string version = string namespace = string repo_secret_name = string })", "default": {"repository": "https://argoproj.github.io/argo-helm", "version": "8.5.8", "namespace": "argocd", "repo_secret_name": "[redacted]"}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_kyverno", "label": "var.kyverno", "file_type": "code", "source_file": "bootstrap/platform/variables.tf", "source_location": "L79", "attributes": {"type": "object({ repository = string chart_version = string policies_version = string namespace = string })", "default": {"repository": "https://kyverno.github.io/kyverno/", "chart_version": "3.8.1", "policies_version": "3.8.0", "namespace": "kyverno"}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_nodelocal_dns", "label": "var.nodelocal_dns", "file_type": "code", "source_file": "bootstrap/platform/variables.tf", "source_location": "L95", "attributes": {"type": "object({ enabled = bool image = string local_ip = string cluster_dns_ip = string cluster_domain = string upstream_dns_servers = list(string) })", "default": {"enabled": false, "image": "registry.k8s.io/dns/k8s-dns-node-cache:1.26.8", "local_ip": "169.254.20.10", "cluster_dns_ip": "10.96.0.10", "cluster_domain": "cluster.local", "upstream_dns_servers": ["1.1.1.1", "8.8.8.8"]}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_metrics_server", "label": "var.metrics_server", "file_type": "code", "source_file": "bootstrap/platform/variables.tf", "source_location": "L115", "attributes": {"type": "object({ enabled = bool repository = string chart = string version = string namespace = string })", "default": {"enabled": true, "repository": "https://kubernetes-sigs.github.io/metrics-server/", "chart": "metrics-server", "version": "3.13.1", "namespace": "kube-system"}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_metallb", "label": "var.metallb", "file_type": "code", "source_file": "bootstrap/platform/variables.tf", "source_location": "L133", "attributes": {"type": "object({ enabled = bool repository = string version = string namespace = string address_pool = list(string) l2_advertisement_enabled = bool pool_name = string })", "default": {"enabled": true, "repository": "https://metallb.github.io/metallb", "version": "0.16.0", "namespace": "metallb-system", "address_pool": ["192.168.100.240-192.168.100.240"], "l2_advertisement_enabled": true, "pool_name": "homelab-lan"}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_traefik", "label": "var.traefik", "file_type": "code", "source_file": "bootstrap/platform/variables.tf", "source_location": "L155", "attributes": {"type": "object({ enabled = bool repository = string chart_version = string namespace = string load_balancer_ip = string ingress_class = string })", "default": {"enabled": true, "repository": "https://helm.traefik.io/traefik", "chart_version": "40.2.0", "namespace": "traefik", "load_balancer_ip": "192.168.100.240", "ingress_class": "traefik"}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_observability", "label": "var.observability", "file_type": "code", "source_file": "bootstrap/platform/variables.tf", "source_location": "L175", "attributes": {"type": "object({ namespace = string prometheus = object({ repository = string chart = string version = string retention = string storage_size = string alertmanager_storage_size = string grafana_storage_size = string remote_write_mimir_enabled = bool }) loki = object({ repository = string chart = string version = string storage", "default": {"namespace": "monitoring", "prometheus": {"repository": "https://prometheus-community.github.io/helm-charts", "chart": "kube-prometheus-stack", "version": "85.3.3", "retention": "7d", "storage_size": "15Gi", "alertmanager_storage_size": "1Gi", "grafana_storage_size": "2Gi", "remote_write_mimir_enabled": true}, "loki": {"repository": "https://grafana.github.io/helm-charts", "chart": "loki", "version": "7.0.0", "storage_size": "10Gi", "retention_period": "168h"}, "promtail": {"repository": "https://grafana.github.io/helm-charts", "chart": "promtail", "version": "6.17.1"}, "mimir": {"enabled": false, "repository": "https://grafana.github.io/helm-charts", "chart": "mimir-distributed", "version": "5.8.0", "minio_storage_size": "10Gi", "alertmanager_storage_size": "1Gi", "ingester_storage_size": "4Gi", "store_gateway_storage_size": "4Gi", "compactor_storage_size": "4Gi"}}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_prometheus_stack_node_selector", "label": "var.prometheus_stack_node_selector", "file_type": "code", "source_file": "bootstrap/platform/variables.tf", "source_location": "L251", "attributes": {"description": "Node selector applied to kube-prometheus-stack control workloads so they stay off the control plane.", "type": "map(string)", "default": {"kubernetes.io/os": "linux", "homelab.dev/workload-class": "platform"}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_extra_helm_releases", "label": "var.extra_helm_releases", "file_type": "code", "source_file": "bootstrap/platform/variables.tf", "source_location": "L260", "attributes": {"type": "map(object({ repository = string chart = string version = string namespace = string create_namespace = bool timeout = number values_yaml = string set_values = map(string) }))", "default": {"tetragon": {"repository": "https://helm.cilium.io", "chart": "tetragon", "version": "", "namespace": "kube-system", "create_namespace": false, "timeout": 600, "values_yaml": "<<-EOT tetragon: enableProcessCred: true enableProcessNs: true exportFilename: /var/run/cilium/tetragon/tetragon.log resources: requests: cpu: 100m memory: 128Mi limits: cpu: 500m memory: 512Mi export: resources: requests: cpu: 25m memory: 64Mi limits: cpu: 100m memory: 128Mi EOT", "set_values": {}}}}}], "edges": [{"source": "$graphify-root$_bootstrap_platform_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_kubeconfig_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/variables.tf", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_pod_network_cidr", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/variables.tf", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_calico_node_address_autodetection_cidrs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/variables.tf", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_calico_operator_node_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/variables.tf", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_gitops_repo_url", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/variables.tf", "source_location": "L21", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_gitops_ssh_key_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/variables.tf", "source_location": "L26", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_calico", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/variables.tf", "source_location": "L31", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_openebs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/variables.tf", "source_location": "L45", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_argocd", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/variables.tf", "source_location": "L63", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_kyverno", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/variables.tf", "source_location": "L79", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_nodelocal_dns", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/variables.tf", "source_location": "L95", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_metrics_server", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/variables.tf", "source_location": "L115", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_metallb", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/variables.tf", "source_location": "L133", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_traefik", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/variables.tf", "source_location": "L155", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_observability", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/variables.tf", "source_location": "L175", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_prometheus_stack_node_selector", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/variables.tf", "source_location": "L251", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_platform_variables_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_platform_0a251e831dcbba4e_var_extra_helm_releases", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/platform/variables.tf", "source_location": "L260", "weight": 1.0}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/a7133de9e2c456b746295f06c624474e5c29815358bb5181d279fe43cdf3d594.json b/graphify-out/cache/ast/v0.9.64-s4/a7133de9e2c456b746295f06c624474e5c29815358bb5181d279fe43cdf3d594.json
new file mode 100644
index 0000000..591070d
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/a7133de9e2c456b746295f06c624474e5c29815358bb5181d279fe43cdf3d594.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_recover_power", "label": "recover-power", "file_type": "code", "source_file": "scripts/recover-power", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_recover_power__entry", "label": "recover-power script", "file_type": "code", "source_file": "scripts/recover-power", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_recover_power_run_step", "label": "run_step()", "file_type": "code", "source_file": "scripts/recover-power", "source_location": "L11", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_recover_power_run_optional", "label": "run_optional()", "file_type": "code", "source_file": "scripts/recover-power", "source_location": "L23", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_recover_power", "target": "$graphify-root$_scripts_recover_power__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/recover-power", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_recover_power", "target": "$graphify-root$_scripts_recover_power_run_step", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/recover-power", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_scripts_recover_power", "target": "$graphify-root$_scripts_recover_power_run_optional", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/recover-power", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_scripts_recover_power__entry", "target": "$graphify-root$_scripts_recover_power_run_optional", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/recover-power", "source_location": "L40", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_recover_power_run_optional", "target": "$graphify-root$_scripts_recover_power_run_step", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/recover-power", "source_location": "L27", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_recover_power__entry", "source_file": "scripts/recover-power", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_recover_power__entry", "source_file": "scripts/recover-power", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_recover_power__entry", "source_file": "scripts/recover-power", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_recover_power__entry", "source_file": "scripts/recover-power", "source_location": "L4"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_recover_power__entry", "source_file": "scripts/recover-power", "source_location": "L32"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_recover_power__entry", "source_file": "scripts/recover-power", "source_location": "L50"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_scripts_recover_power_run_step", "source_file": "scripts/recover-power", "source_location": "L13"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_recover_power_run_step", "source_file": "scripts/recover-power", "source_location": "L15"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_recover_power_run_step", "source_file": "scripts/recover-power", "source_location": "L18"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_scripts_recover_power_run_optional", "source_file": "scripts/recover-power", "source_location": "L25"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_recover_power_run_optional", "source_file": "scripts/recover-power", "source_location": "L28"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/a9d7963ccc66c8ad1f16897cf7906be1692645bd63de78bd3a595664097dfb64.json b/graphify-out/cache/ast/v0.9.64-s4/a9d7963ccc66c8ad1f16897cf7906be1692645bd63de78bd3a595664097dfb64.json
new file mode 100644
index 0000000..62ce4b0
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/a9d7963ccc66c8ad1f16897cf7906be1692645bd63de78bd3a595664097dfb64.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_apps_website_save_lang_php", "label": "save_lang.php", "file_type": "code", "source_file": "apps/website/save_lang.php", "source_location": "L1"}, {"id": "$graphify-root$_apps_website_save_lang_translation_response", "label": "translation_response()", "file_type": "code", "source_file": "apps/website/save_lang.php", "source_location": "L5", "_callable": true}, {"id": "$graphify-root$_apps_website_save_lang_clean_translation_value", "label": "clean_translation_value()", "file_type": "code", "source_file": "apps/website/save_lang.php", "source_location": "L11", "_callable": true}], "edges": [{"source": "$graphify-root$_apps_website_save_lang_php", "target": "$graphify-root$_apps_website_save_lang_translation_response", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/save_lang.php", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_apps_website_save_lang_php", "target": "$graphify-root$_apps_website_save_lang_clean_translation_value", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/save_lang.php", "source_location": "L11", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_apps_website_save_lang_translation_response", "callee": "http_response_code", "is_member_call": false, "source_file": "apps/website/save_lang.php", "source_location": "L6", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_save_lang_translation_response", "callee": "json_encode", "is_member_call": false, "source_file": "apps/website/save_lang.php", "source_location": "L7", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_save_lang_clean_translation_value", "callee": "strip_tags", "is_member_call": false, "source_file": "apps/website/save_lang.php", "source_location": "L12", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_save_lang_clean_translation_value", "callee": "preg_replace", "is_member_call": false, "source_file": "apps/website/save_lang.php", "source_location": "L13", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_save_lang_clean_translation_value", "callee": "trim", "is_member_call": false, "source_file": "apps/website/save_lang.php", "source_location": "L14", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_save_lang_clean_translation_value", "callee": "strlen", "is_member_call": false, "source_file": "apps/website/save_lang.php", "source_location": "L15", "receiver": null}, {"caller_nid": "$graphify-root$_apps_website_save_lang_clean_translation_value", "callee": "substr", "is_member_call": false, "source_file": "apps/website/save_lang.php", "source_location": "L16", "receiver": null}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/aa93bd41c60315b7fc93f3d6c92715a4d1d19d20a12fc87bf5197ced661c9fc6.json b/graphify-out/cache/ast/v0.9.64-s4/aa93bd41c60315b7fc93f3d6c92715a4d1d19d20a12fc87bf5197ced661c9fc6.json
new file mode 100644
index 0000000..a68da39
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/aa93bd41c60315b7fc93f3d6c92715a4d1d19d20a12fc87bf5197ced661c9fc6.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_change_journal", "label": "change-journal", "file_type": "code", "source_file": "scripts/change-journal", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_change_journal__entry", "label": "change-journal script", "file_type": "code", "source_file": "scripts/change-journal", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_change_journal_timestamp", "label": "timestamp()", "file_type": "code", "source_file": "scripts/change-journal", "source_location": "L11", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_change_journal_latest_entries", "label": "latest_entries()", "file_type": "code", "source_file": "scripts/change-journal", "source_location": "L15", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_change_journal_append_entry", "label": "append_entry()", "file_type": "code", "source_file": "scripts/change-journal", "source_location": "L27", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_change_journal", "target": "$graphify-root$_scripts_change_journal__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/change-journal", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_change_journal", "target": "$graphify-root$_scripts_change_journal_timestamp", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/change-journal", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_scripts_change_journal", "target": "$graphify-root$_scripts_change_journal_latest_entries", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/change-journal", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_scripts_change_journal", "target": "$graphify-root$_scripts_change_journal_append_entry", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/change-journal", "source_location": "L27", "weight": 1.0}, {"source": "$graphify-root$_scripts_change_journal__entry", "target": "$graphify-root$_scripts_change_journal_append_entry", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/change-journal", "source_location": "L54", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_change_journal__entry", "target": "$graphify-root$_scripts_change_journal_latest_entries", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/change-journal", "source_location": "L57", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_change_journal_append_entry", "target": "$graphify-root$_scripts_change_journal_timestamp", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/change-journal", "source_location": "L33", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_change_journal__entry", "source_file": "scripts/change-journal", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_change_journal__entry", "source_file": "scripts/change-journal", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_change_journal__entry", "source_file": "scripts/change-journal", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_change_journal__entry", "source_file": "scripts/change-journal", "source_location": "L4"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_scripts_change_journal__entry", "source_file": "scripts/change-journal", "source_location": "L9"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_change_journal__entry", "source_file": "scripts/change-journal", "source_location": "L60"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_change_journal__entry", "source_file": "scripts/change-journal", "source_location": "L63"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_change_journal__entry", "source_file": "scripts/change-journal", "source_location": "L65"}, {"language": "bash", "callee": "date", "caller_nid": "$graphify-root$_scripts_change_journal_timestamp", "source_file": "scripts/change-journal", "source_location": "L12"}, {"language": "bash", "callee": "find", "caller_nid": "$graphify-root$_scripts_change_journal_latest_entries", "source_file": "scripts/change-journal", "source_location": "L18"}, {"language": "bash", "callee": "sort", "caller_nid": "$graphify-root$_scripts_change_journal_latest_entries", "source_file": "scripts/change-journal", "source_location": "L19"}, {"language": "bash", "callee": "tail", "caller_nid": "$graphify-root$_scripts_change_journal_latest_entries", "source_file": "scripts/change-journal", "source_location": "L20"}, {"language": "bash", "callee": "read", "caller_nid": "$graphify-root$_scripts_change_journal_latest_entries", "source_file": "scripts/change-journal", "source_location": "L21"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_change_journal_latest_entries", "source_file": "scripts/change-journal", "source_location": "L22"}, {"language": "bash", "callee": "sed", "caller_nid": "$graphify-root$_scripts_change_journal_latest_entries", "source_file": "scripts/change-journal", "source_location": "L23"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_change_journal_append_entry", "source_file": "scripts/change-journal", "source_location": "L37"}, {"language": "bash", "callee": "git", "caller_nid": "$graphify-root$_scripts_change_journal_append_entry", "source_file": "scripts/change-journal", "source_location": "L46"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_change_journal_append_entry", "source_file": "scripts/change-journal", "source_location": "L46"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/ad833ed681866f7052dc28f04abd7056170d319a98ffc354306ef85a883b902e.json b/graphify-out/cache/ast/v0.9.64-s4/ad833ed681866f7052dc28f04abd7056170d319a98ffc354306ef85a883b902e.json
new file mode 100644
index 0000000..2b5e44b
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/ad833ed681866f7052dc28f04abd7056170d319a98ffc354306ef85a883b902e.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_golden_ledger", "label": "golden-ledger", "file_type": "code", "source_file": "scripts/golden-ledger", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_golden_ledger__entry", "label": "golden-ledger script", "file_type": "code", "source_file": "scripts/golden-ledger", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}], "edges": [{"source": "$graphify-root$_scripts_golden_ledger", "target": "$graphify-root$_scripts_golden_ledger__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/golden-ledger", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_golden_ledger__entry", "source_file": "scripts/golden-ledger", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_golden_ledger__entry", "source_file": "scripts/golden-ledger", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_golden_ledger__entry", "source_file": "scripts/golden-ledger", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_golden_ledger__entry", "source_file": "scripts/golden-ledger", "source_location": "L4"}, {"language": "bash", "callee": "sed", "caller_nid": "$graphify-root$_scripts_golden_ledger__entry", "source_file": "scripts/golden-ledger", "source_location": "L9"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_golden_ledger__entry", "source_file": "scripts/golden-ledger", "source_location": "L13"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_golden_ledger__entry", "source_file": "scripts/golden-ledger", "source_location": "L14"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_scripts_golden_ledger__entry", "source_file": "scripts/golden-ledger", "source_location": "L16"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/ae2c5a28fd5f343224641c82b51aafe573fb64a7ce6462a0ae73ff8f06bf0a60.json b/graphify-out/cache/ast/v0.9.64-s4/ae2c5a28fd5f343224641c82b51aafe573fb64a7ce6462a0ae73ff8f06bf0a60.json
new file mode 100644
index 0000000..48fc33e
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/ae2c5a28fd5f343224641c82b51aafe573fb64a7ce6462a0ae73ff8f06bf0a60.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_apps_website_demos_php", "label": "demos.php", "file_type": "code", "source_file": "apps/website/demos.php", "source_location": "L1"}], "edges": [], "raw_calls": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/aeff7193450e5f443db063954cad83d4d62b253b53ac670f0512619085b552d8.json b/graphify-out/cache/ast/v0.9.64-s4/aeff7193450e5f443db063954cad83d4d62b253b53ac670f0512619085b552d8.json
new file mode 100644
index 0000000..67deecf
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/aeff7193450e5f443db063954cad83d4d62b253b53ac670f0512619085b552d8.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_release_snapshot", "label": "release-snapshot", "file_type": "code", "source_file": "scripts/release-snapshot", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_release_snapshot__entry", "label": "release-snapshot script", "file_type": "code", "source_file": "scripts/release-snapshot", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_release_snapshot_section", "label": "section()", "file_type": "code", "source_file": "scripts/release-snapshot", "source_location": "L13", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_release_snapshot_have", "label": "have()", "file_type": "code", "source_file": "scripts/release-snapshot", "source_location": "L17", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_release_snapshot_run_optional", "label": "run_optional()", "file_type": "code", "source_file": "scripts/release-snapshot", "source_location": "L21", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_release_snapshot_latest_file", "label": "latest_file()", "file_type": "code", "source_file": "scripts/release-snapshot", "source_location": "L33", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_release_snapshot", "target": "$graphify-root$_scripts_release_snapshot__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/release-snapshot", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_release_snapshot", "target": "$graphify-root$_scripts_release_snapshot_section", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/release-snapshot", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_scripts_release_snapshot", "target": "$graphify-root$_scripts_release_snapshot_have", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/release-snapshot", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_scripts_release_snapshot", "target": "$graphify-root$_scripts_release_snapshot_run_optional", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/release-snapshot", "source_location": "L21", "weight": 1.0}, {"source": "$graphify-root$_scripts_release_snapshot", "target": "$graphify-root$_scripts_release_snapshot_latest_file", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/release-snapshot", "source_location": "L33", "weight": 1.0}, {"source": "$graphify-root$_scripts_release_snapshot__entry", "target": "$graphify-root$_scripts_release_snapshot_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/release-snapshot", "source_location": "L42", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_release_snapshot__entry", "target": "$graphify-root$_scripts_release_snapshot_have", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/release-snapshot", "source_location": "L54", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_release_snapshot__entry", "target": "$graphify-root$_scripts_release_snapshot_run_optional", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/release-snapshot", "source_location": "L55", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_release_snapshot__entry", "target": "$graphify-root$_scripts_release_snapshot_latest_file", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/release-snapshot", "source_location": "L75", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_release_snapshot_run_optional", "target": "$graphify-root$_scripts_release_snapshot_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/release-snapshot", "source_location": "L25", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_release_snapshot__entry", "source_file": "scripts/release-snapshot", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_release_snapshot__entry", "source_file": "scripts/release-snapshot", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_release_snapshot__entry", "source_file": "scripts/release-snapshot", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_release_snapshot__entry", "source_file": "scripts/release-snapshot", "source_location": "L4"}, {"language": "bash", "callee": "date", "caller_nid": "$graphify-root$_scripts_release_snapshot__entry", "source_file": "scripts/release-snapshot", "source_location": "L7"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_scripts_release_snapshot__entry", "source_file": "scripts/release-snapshot", "source_location": "L10"}, {"language": "bash", "callee": "exec", "caller_nid": "$graphify-root$_scripts_release_snapshot__entry", "source_file": "scripts/release-snapshot", "source_location": "L11"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_release_snapshot__entry", "source_file": "scripts/release-snapshot", "source_location": "L43"}, {"language": "bash", "callee": "git", "caller_nid": "$graphify-root$_scripts_release_snapshot__entry", "source_file": "scripts/release-snapshot", "source_location": "L49"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_release_snapshot__entry", "source_file": "scripts/release-snapshot", "source_location": "L64"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_release_snapshot__entry", "source_file": "scripts/release-snapshot", "source_location": "L75"}, {"language": "bash", "callee": "curl", "caller_nid": "$graphify-root$_scripts_release_snapshot__entry", "source_file": "scripts/release-snapshot", "source_location": "L83"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_release_snapshot__entry", "source_file": "scripts/release-snapshot", "source_location": "L91"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_release_snapshot_section", "source_file": "scripts/release-snapshot", "source_location": "L14"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_release_snapshot_have", "source_file": "scripts/release-snapshot", "source_location": "L18"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_scripts_release_snapshot_run_optional", "source_file": "scripts/release-snapshot", "source_location": "L23"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_release_snapshot_run_optional", "source_file": "scripts/release-snapshot", "source_location": "L27"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_release_snapshot_run_optional", "source_file": "scripts/release-snapshot", "source_location": "L30"}, {"language": "bash", "callee": "find", "caller_nid": "$graphify-root$_scripts_release_snapshot_latest_file", "source_file": "scripts/release-snapshot", "source_location": "L38"}, {"language": "bash", "callee": "sort", "caller_nid": "$graphify-root$_scripts_release_snapshot_latest_file", "source_file": "scripts/release-snapshot", "source_location": "L38"}, {"language": "bash", "callee": "tail", "caller_nid": "$graphify-root$_scripts_release_snapshot_latest_file", "source_file": "scripts/release-snapshot", "source_location": "L38"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/b28e8ff46b8643e33b25d98145849f3ff42921daedfedfbb7126a4418d97b68f.json b/graphify-out/cache/ast/v0.9.64-s4/b28e8ff46b8643e33b25d98145849f3ff42921daedfedfbb7126a4418d97b68f.json
new file mode 100644
index 0000000..d935138
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/b28e8ff46b8643e33b25d98145849f3ff42921daedfedfbb7126a4418d97b68f.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_infra_matrix_server_bootstrap_sh", "label": "bootstrap.sh", "file_type": "code", "source_file": "infra/matrix-server/bootstrap.sh", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_infra_matrix_server_bootstrap_sh__entry", "label": "bootstrap.sh script", "file_type": "code", "source_file": "infra/matrix-server/bootstrap.sh", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_infra_matrix_server_bootstrap_render_homeserver", "label": "render_homeserver()", "file_type": "code", "source_file": "infra/matrix-server/bootstrap.sh", "source_location": "L29", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_infra_matrix_server_bootstrap_sh", "target": "$graphify-root$_infra_matrix_server_bootstrap_sh__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/matrix-server/bootstrap.sh", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_infra_matrix_server_bootstrap_sh", "target": "$graphify-root$_infra_matrix_server_bootstrap_render_homeserver", "relation": "defines", "confidence": "EXTRACTED", "source_file": "infra/matrix-server/bootstrap.sh", "source_location": "L29", "weight": 1.0}, {"source": "$graphify-root$_infra_matrix_server_bootstrap_sh__entry", "target": "$graphify-root$_infra_matrix_server_bootstrap_render_homeserver", "relation": "calls", "confidence": "EXTRACTED", "source_file": "infra/matrix-server/bootstrap.sh", "source_location": "L58", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_infra_matrix_server_bootstrap_sh__entry", "source_file": "infra/matrix-server/bootstrap.sh", "source_location": "L8"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_infra_matrix_server_bootstrap_sh__entry", "source_file": "infra/matrix-server/bootstrap.sh", "source_location": "L10"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_infra_matrix_server_bootstrap_sh__entry", "source_file": "infra/matrix-server/bootstrap.sh", "source_location": "L10"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_infra_matrix_server_bootstrap_sh__entry", "source_file": "infra/matrix-server/bootstrap.sh", "source_location": "L10"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_infra_matrix_server_bootstrap_sh__entry", "source_file": "infra/matrix-server/bootstrap.sh", "source_location": "L14"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_infra_matrix_server_bootstrap_sh__entry", "source_file": "infra/matrix-server/bootstrap.sh", "source_location": "L15"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_infra_matrix_server_bootstrap_sh__entry", "source_file": "infra/matrix-server/bootstrap.sh", "source_location": "L47"}, {"language": "bash", "callee": "docker", "caller_nid": "$graphify-root$_infra_matrix_server_bootstrap_sh__entry", "source_file": "infra/matrix-server/bootstrap.sh", "source_location": "L54"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_infra_matrix_server_bootstrap_sh__entry", "source_file": "infra/matrix-server/bootstrap.sh", "source_location": "L71"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_infra_matrix_server_bootstrap_render_homeserver", "source_file": "infra/matrix-server/bootstrap.sh", "source_location": "L36"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_infra_matrix_server_bootstrap_render_homeserver", "source_file": "infra/matrix-server/bootstrap.sh", "source_location": "L37"}, {"language": "bash", "callee": "envsubst", "caller_nid": "$graphify-root$_infra_matrix_server_bootstrap_render_homeserver", "source_file": "infra/matrix-server/bootstrap.sh", "source_location": "L41"}, {"language": "bash", "callee": "cp", "caller_nid": "$graphify-root$_infra_matrix_server_bootstrap_render_homeserver", "source_file": "infra/matrix-server/bootstrap.sh", "source_location": "L44"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/b6e3c44b180eb630ebb502517d1d659873fea77f9e2332c71a24d98efc488f6a.json b/graphify-out/cache/ast/v0.9.64-s4/b6e3c44b180eb630ebb502517d1d659873fea77f9e2332c71a24d98efc488f6a.json
new file mode 100644
index 0000000..231f793
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/b6e3c44b180eb630ebb502517d1d659873fea77f9e2332c71a24d98efc488f6a.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_security_logs", "label": "security-logs", "file_type": "code", "source_file": "scripts/security-logs", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_security_logs__entry", "label": "security-logs script", "file_type": "code", "source_file": "scripts/security-logs", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_security_logs_timestamp", "label": "timestamp()", "file_type": "code", "source_file": "scripts/security-logs", "source_location": "L10", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_logs_ensure_report_dir", "label": "ensure_report_dir()", "file_type": "code", "source_file": "scripts/security-logs", "source_location": "L14", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_logs_print_matches", "label": "print_matches()", "file_type": "code", "source_file": "scripts/security-logs", "source_location": "L18", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_logs_collect_gitea_logs", "label": "collect_gitea_logs()", "file_type": "code", "source_file": "scripts/security-logs", "source_location": "L37", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_logs_collect_traefik_logs", "label": "collect_traefik_logs()", "file_type": "code", "source_file": "scripts/security-logs", "source_location": "L50", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_security_logs_main", "label": "main()", "file_type": "code", "source_file": "scripts/security-logs", "source_location": "L66", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_security_logs", "target": "$graphify-root$_scripts_security_logs__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/security-logs", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_logs", "target": "$graphify-root$_scripts_security_logs_timestamp", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-logs", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_logs", "target": "$graphify-root$_scripts_security_logs_ensure_report_dir", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-logs", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_logs", "target": "$graphify-root$_scripts_security_logs_print_matches", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-logs", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_logs", "target": "$graphify-root$_scripts_security_logs_collect_gitea_logs", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-logs", "source_location": "L37", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_logs", "target": "$graphify-root$_scripts_security_logs_collect_traefik_logs", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-logs", "source_location": "L50", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_logs", "target": "$graphify-root$_scripts_security_logs_main", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/security-logs", "source_location": "L66", "weight": 1.0}, {"source": "$graphify-root$_scripts_security_logs__entry", "target": "$graphify-root$_scripts_security_logs_main", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-logs", "source_location": "L103", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_logs_main", "target": "$graphify-root$_scripts_security_logs_timestamp", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-logs", "source_location": "L74", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_logs_main", "target": "$graphify-root$_scripts_security_logs_ensure_report_dir", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-logs", "source_location": "L75", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_logs_main", "target": "$graphify-root$_scripts_security_logs_collect_gitea_logs", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-logs", "source_location": "L82", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_logs_main", "target": "$graphify-root$_scripts_security_logs_collect_traefik_logs", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-logs", "source_location": "L83", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_security_logs_main", "target": "$graphify-root$_scripts_security_logs_print_matches", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/security-logs", "source_location": "L90", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_security_logs__entry", "source_file": "scripts/security-logs", "source_location": "L2"}, {"language": "bash", "callee": "date", "caller_nid": "$graphify-root$_scripts_security_logs_timestamp", "source_file": "scripts/security-logs", "source_location": "L11"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_scripts_security_logs_ensure_report_dir", "source_file": "scripts/security-logs", "source_location": "L15"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_security_logs_print_matches", "source_file": "scripts/security-logs", "source_location": "L24"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_security_logs_print_matches", "source_file": "scripts/security-logs", "source_location": "L27"}, {"language": "bash", "callee": "grep", "caller_nid": "$graphify-root$_scripts_security_logs_print_matches", "source_file": "scripts/security-logs", "source_location": "L30"}, {"language": "bash", "callee": "tail", "caller_nid": "$graphify-root$_scripts_security_logs_print_matches", "source_file": "scripts/security-logs", "source_location": "L31"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_security_logs_collect_gitea_logs", "source_file": "scripts/security-logs", "source_location": "L40"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_security_logs_collect_gitea_logs", "source_file": "scripts/security-logs", "source_location": "L41"}, {"language": "bash", "callee": "docker", "caller_nid": "$graphify-root$_scripts_security_logs_collect_gitea_logs", "source_file": "scripts/security-logs", "source_location": "L43"}, {"language": "bash", "callee": "grep", "caller_nid": "$graphify-root$_scripts_security_logs_collect_gitea_logs", "source_file": "scripts/security-logs", "source_location": "L43"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_security_logs_collect_gitea_logs", "source_file": "scripts/security-logs", "source_location": "L47"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_security_logs_collect_traefik_logs", "source_file": "scripts/security-logs", "source_location": "L53"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_security_logs_collect_traefik_logs", "source_file": "scripts/security-logs", "source_location": "L54"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_scripts_security_logs_collect_traefik_logs", "source_file": "scripts/security-logs", "source_location": "L60"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_security_logs_collect_traefik_logs", "source_file": "scripts/security-logs", "source_location": "L63"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_security_logs_main", "source_file": "scripts/security-logs", "source_location": "L86"}, {"language": "bash", "callee": "tee", "caller_nid": "$graphify-root$_scripts_security_logs_main", "source_file": "scripts/security-logs", "source_location": "L98"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/b761424abc5a319228e68ecdb95f2b5a85fd98025328da9cd01fe8fcee914b05.json b/graphify-out/cache/ast/v0.9.64-s4/b761424abc5a319228e68ecdb95f2b5a85fd98025328da9cd01fe8fcee914b05.json
new file mode 100644
index 0000000..831a79d
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/b761424abc5a319228e68ecdb95f2b5a85fd98025328da9cd01fe8fcee914b05.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_bootstrap_edge_terraform_lock_hcl", "label": ".terraform.lock.hcl", "file_type": "code", "source_file": "bootstrap/edge/.terraform.lock.hcl", "source_location": null, "type": "terraform_file"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_provider_registry_opentofu_org_hashicorp_null", "label": "provider.registry.opentofu.org/hashicorp/null", "file_type": "code", "source_file": "bootstrap/edge/.terraform.lock.hcl", "source_location": "L4", "attributes": {"version": "3.3.0", "constraints": "~> 3.2", "hashes": ["h1:0r7+t8CqzjfBgHgEiJGBCw+McEUdRXliMdF+Hk29d8o=", "h1:EvvCOc4FJY3NitSm6BpzCcUPU53LayVCB/tPOxYmy7U=", "h1:IDVnZXNCh0u4LfeSazc9z1v/kNz+92Eej7ePWV6SbyE=", "h1:Iw2c0n9/4fS92N5WnJ3CCSwSUXZO953oHp9gj3pWCaM=", "h1:JofS1og3hPN0ANjH+gNjxrJyyk6znodpC/F0qhp4eEk=", "h1:QIBhsJ4+5+t0vFEgJwtezNLT31tsptFHOEyGAAhLR1o=", "h1:RjjoL9qRPwNTwLdtJsYUaFvunbPM2/oujf2DcUcitOE=", "h1:SSirA+z2VWTs1s+TCAx8vVKg9jh6cRjxqc8LYi2iQTI=", "h1:U2XZc7hxcpcWp/C2S9LtuGUimhMOD2UT5xAEJJQQQaU=", "h1:bPG+xE5UonkJv3y/Yn9Q7OfbP2qHU/QKiS31nwfe7S0=", "h1:eODLdk/pARc4yxChAFtwseVmBr+r5fF9yGOvUhwGEyM=", "h1:iFj1oM5ZPENspsPqK1kcvZzyP95jJE/CM0rlu0MfIss=", "h1:mdu+qpyVmjDDLMrcL1JFy+cSyF58I3TFJwB5NssCZ58=", "h1:tJmep6aoBeDH77XsYU65HAbi0RAjxtsmbCOXmnqT13U=", "h1:tdMTn1evBLd6KCeLqWdQXCpF07hBu3n5rY6N3rXw3Rc=", "zh:083dcc0bec53f8abfa3f2aa2ce9d732a9675338fd60ae7d61162e25db7cb08bf", "zh:19f7456b5a2ad16595860974714bfdb25b87bc16356ea9d5c7453892aaa27864", "zh:222c0ed1fed4e4c677ebe626104dbfdba66763e264de0d9c27c58ce60104ee69", "zh:271711d6caa7dd5a4e9b79fe8c679fab61a840bcf80040a0f5ebb425d1b27d97", "zh:5adcf35f30baaea13f80c2a2c774deb9369892719493049687e23476c9dff40f", "zh:5bcfd19df16e73d7f0ad75bd09e2b3b86cf6700d09822d585d68304b71de1d97", "zh:604edecf263e38674decb35bb4e0e048fdc951f26fa103c33065ff9728f0313b", "zh:782acbfb4fa4807e273e588fe45b4aaea9dd0fd1136f76ec3200f6f4db3af8d6", "zh:84411a596d528fe67294e5c1cfd0c2036b08802497bcc4215ce518924f3c9a4a", "zh:85e79eecf3f5348975cffec3016b0eba3baf605646102d4348796ccd2df2e5f6", "zh:95669535ca17aeefef307ebfd59ce6930953173baae5637e8cbbf0297ec7ad58", "zh:d04d9b177747bfd66b4a45b5d911a2a7822aa8451f5e35621971fb7a4206b530", "zh:e6d9c924475283e90833450a14a732f4deb6d9bb131db8f86ab856e894270836", "zh:ebcab0c8a1334c86ed7cfa53f571a17ad6d27e9901f27a8854ea622a74b54bb6", "zh:ef9c757bb2c83d2103811a3d86b6ec5be06b0ffc337b84db1582d023bce7cdcd"]}}], "edges": [{"source": "$graphify-root$_bootstrap_edge_terraform_lock_hcl", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_provider_registry_opentofu_org_hashicorp_null", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/.terraform.lock.hcl", "source_location": "L4", "weight": 1.0}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/bb977f4fa65e471b233241e227536150292f2d7845311d1050b6dbb37246e3ea.json b/graphify-out/cache/ast/v0.9.64-s4/bb977f4fa65e471b233241e227536150292f2d7845311d1050b6dbb37246e3ea.json
new file mode 100644
index 0000000..f6fe3fe
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/bb977f4fa65e471b233241e227536150292f2d7845311d1050b6dbb37246e3ea.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_recover_plan", "label": "recover-plan", "file_type": "code", "source_file": "scripts/recover-plan", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_recover_plan__entry", "label": "recover-plan script", "file_type": "code", "source_file": "scripts/recover-plan", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_recover_plan_check", "label": "check()", "file_type": "code", "source_file": "scripts/recover-plan", "source_location": "L7", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_recover_plan_has_gitea_backup", "label": "has_gitea_backup()", "file_type": "code", "source_file": "scripts/recover-plan", "source_location": "L21", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_recover_plan_has_state_backup", "label": "has_state_backup()", "file_type": "code", "source_file": "scripts/recover-plan", "source_location": "L25", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_recover_plan_main", "label": "main()", "file_type": "code", "source_file": "scripts/recover-plan", "source_location": "L29", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_recover_plan", "target": "$graphify-root$_scripts_recover_plan__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/recover-plan", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_recover_plan", "target": "$graphify-root$_scripts_recover_plan_check", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/recover-plan", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_scripts_recover_plan", "target": "$graphify-root$_scripts_recover_plan_has_gitea_backup", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/recover-plan", "source_location": "L21", "weight": 1.0}, {"source": "$graphify-root$_scripts_recover_plan", "target": "$graphify-root$_scripts_recover_plan_has_state_backup", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/recover-plan", "source_location": "L25", "weight": 1.0}, {"source": "$graphify-root$_scripts_recover_plan", "target": "$graphify-root$_scripts_recover_plan_main", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/recover-plan", "source_location": "L29", "weight": 1.0}, {"source": "$graphify-root$_scripts_recover_plan__entry", "target": "$graphify-root$_scripts_recover_plan_main", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/recover-plan", "source_location": "L93", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_recover_plan_main", "target": "$graphify-root$_scripts_recover_plan_check", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/recover-plan", "source_location": "L78", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_recover_plan__entry", "source_file": "scripts/recover-plan", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_recover_plan__entry", "source_file": "scripts/recover-plan", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_recover_plan__entry", "source_file": "scripts/recover-plan", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_recover_plan__entry", "source_file": "scripts/recover-plan", "source_location": "L4"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_scripts_recover_plan_check", "source_file": "scripts/recover-plan", "source_location": "L9"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_recover_plan_check", "source_file": "scripts/recover-plan", "source_location": "L11"}, {"language": "bash", "callee": "sed", "caller_nid": "$graphify-root$_scripts_recover_plan_check", "source_file": "scripts/recover-plan", "source_location": "L16"}, {"language": "bash", "callee": "rm", "caller_nid": "$graphify-root$_scripts_recover_plan_check", "source_file": "scripts/recover-plan", "source_location": "L18"}, {"language": "bash", "callee": "find", "caller_nid": "$graphify-root$_scripts_recover_plan_has_gitea_backup", "source_file": "scripts/recover-plan", "source_location": "L22"}, {"language": "bash", "callee": "grep", "caller_nid": "$graphify-root$_scripts_recover_plan_has_gitea_backup", "source_file": "scripts/recover-plan", "source_location": "L22"}, {"language": "bash", "callee": "find", "caller_nid": "$graphify-root$_scripts_recover_plan_has_state_backup", "source_file": "scripts/recover-plan", "source_location": "L26"}, {"language": "bash", "callee": "grep", "caller_nid": "$graphify-root$_scripts_recover_plan_has_state_backup", "source_file": "scripts/recover-plan", "source_location": "L26"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_recover_plan_main", "source_file": "scripts/recover-plan", "source_location": "L30"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_recover_plan_main", "source_file": "scripts/recover-plan", "source_location": "L77"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/bdb65deaaaffb94297667458482388ea41b8a899e2fbc1ca50d161b343b52e35.json b/graphify-out/cache/ast/v0.9.64-s4/bdb65deaaaffb94297667458482388ea41b8a899e2fbc1ca50d161b343b52e35.json
new file mode 100644
index 0000000..9a1bb64
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/bdb65deaaaffb94297667458482388ea41b8a899e2fbc1ca50d161b343b52e35.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_review_last_change", "label": "review-last-change", "file_type": "code", "source_file": "scripts/review-last-change", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_review_last_change__entry", "label": "review-last-change script", "file_type": "code", "source_file": "scripts/review-last-change", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_review_last_change_usage", "label": "usage()", "file_type": "code", "source_file": "scripts/review-last-change", "source_location": "L8", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_review_last_change", "target": "$graphify-root$_scripts_review_last_change__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/review-last-change", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_review_last_change", "target": "$graphify-root$_scripts_review_last_change_usage", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/review-last-change", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_scripts_review_last_change__entry", "target": "$graphify-root$_scripts_review_last_change_usage", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/review-last-change", "source_location": "L19", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_review_last_change__entry", "source_file": "scripts/review-last-change", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_review_last_change__entry", "source_file": "scripts/review-last-change", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_review_last_change__entry", "source_file": "scripts/review-last-change", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_review_last_change__entry", "source_file": "scripts/review-last-change", "source_location": "L4"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_review_last_change__entry", "source_file": "scripts/review-last-change", "source_location": "L20"}, {"language": "bash", "callee": "git", "caller_nid": "$graphify-root$_scripts_review_last_change__entry", "source_file": "scripts/review-last-change", "source_location": "L24"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_review_last_change__entry", "source_file": "scripts/review-last-change", "source_location": "L25"}, {"language": "bash", "callee": "mapfile", "caller_nid": "$graphify-root$_scripts_review_last_change__entry", "source_file": "scripts/review-last-change", "source_location": "L36"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_review_last_change__entry", "source_file": "scripts/review-last-change", "source_location": "L37"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_review_last_change__entry", "source_file": "scripts/review-last-change", "source_location": "L42"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_review_last_change_usage", "source_file": "scripts/review-last-change", "source_location": "L9"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/bece62a4d53af64434e868725ca826627fbbfae6ae7c52a6c7eff3ba3ebffc39.json b/graphify-out/cache/ast/v0.9.64-s4/bece62a4d53af64434e868725ca826627fbbfae6ae7c52a6c7eff3ba3ebffc39.json
new file mode 100644
index 0000000..57b102b
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/bece62a4d53af64434e868725ca826627fbbfae6ae7c52a6c7eff3ba3ebffc39.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_validate_homelab", "label": "validate-homelab", "file_type": "code", "source_file": "scripts/validate-homelab", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_validate_homelab__entry", "label": "validate-homelab script", "file_type": "code", "source_file": "scripts/validate-homelab", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_validate_homelab_run_step", "label": "run_step()", "file_type": "code", "source_file": "scripts/validate-homelab", "source_location": "L6", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_validate_homelab_shell_files", "label": "shell_files()", "file_type": "code", "source_file": "scripts/validate-homelab", "source_location": "L14", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_validate_homelab_validate_bash_syntax", "label": "validate_bash_syntax()", "file_type": "code", "source_file": "scripts/validate-homelab", "source_location": "L31", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_validate_homelab_validate_shellcheck", "label": "validate_shellcheck()", "file_type": "code", "source_file": "scripts/validate-homelab", "source_location": "L46", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_validate_homelab_validate_yaml", "label": "validate_yaml()", "file_type": "code", "source_file": "scripts/validate-homelab", "source_location": "L65", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_validate_homelab_validate_tofu_fmt", "label": "validate_tofu_fmt()", "file_type": "code", "source_file": "scripts/validate-homelab", "source_location": "L73", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_validate_homelab_validate_go", "label": "validate_go()", "file_type": "code", "source_file": "scripts/validate-homelab", "source_location": "L81", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_validate_homelab_validate_security_static", "label": "validate_security_static()", "file_type": "code", "source_file": "scripts/validate-homelab", "source_location": "L90", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_validate_homelab_validate_unit_tests", "label": "validate_unit_tests()", "file_type": "code", "source_file": "scripts/validate-homelab", "source_location": "L99", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_validate_homelab_main", "label": "main()", "file_type": "code", "source_file": "scripts/validate-homelab", "source_location": "L103", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_validate_homelab", "target": "$graphify-root$_scripts_validate_homelab__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/validate-homelab", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_validate_homelab", "target": "$graphify-root$_scripts_validate_homelab_run_step", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/validate-homelab", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_scripts_validate_homelab", "target": "$graphify-root$_scripts_validate_homelab_shell_files", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/validate-homelab", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_scripts_validate_homelab", "target": "$graphify-root$_scripts_validate_homelab_validate_bash_syntax", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/validate-homelab", "source_location": "L31", "weight": 1.0}, {"source": "$graphify-root$_scripts_validate_homelab", "target": "$graphify-root$_scripts_validate_homelab_validate_shellcheck", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/validate-homelab", "source_location": "L46", "weight": 1.0}, {"source": "$graphify-root$_scripts_validate_homelab", "target": "$graphify-root$_scripts_validate_homelab_validate_yaml", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/validate-homelab", "source_location": "L65", "weight": 1.0}, {"source": "$graphify-root$_scripts_validate_homelab", "target": "$graphify-root$_scripts_validate_homelab_validate_tofu_fmt", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/validate-homelab", "source_location": "L73", "weight": 1.0}, {"source": "$graphify-root$_scripts_validate_homelab", "target": "$graphify-root$_scripts_validate_homelab_validate_go", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/validate-homelab", "source_location": "L81", "weight": 1.0}, {"source": "$graphify-root$_scripts_validate_homelab", "target": "$graphify-root$_scripts_validate_homelab_validate_security_static", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/validate-homelab", "source_location": "L90", "weight": 1.0}, {"source": "$graphify-root$_scripts_validate_homelab", "target": "$graphify-root$_scripts_validate_homelab_validate_unit_tests", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/validate-homelab", "source_location": "L99", "weight": 1.0}, {"source": "$graphify-root$_scripts_validate_homelab", "target": "$graphify-root$_scripts_validate_homelab_main", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/validate-homelab", "source_location": "L103", "weight": 1.0}, {"source": "$graphify-root$_scripts_validate_homelab__entry", "target": "$graphify-root$_scripts_validate_homelab_main", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/validate-homelab", "source_location": "L116", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_validate_homelab_main", "target": "$graphify-root$_scripts_validate_homelab_run_step", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/validate-homelab", "source_location": "L105", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_validate_homelab__entry", "source_file": "scripts/validate-homelab", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_validate_homelab__entry", "source_file": "scripts/validate-homelab", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_validate_homelab__entry", "source_file": "scripts/validate-homelab", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_validate_homelab__entry", "source_file": "scripts/validate-homelab", "source_location": "L4"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_scripts_validate_homelab_run_step", "source_file": "scripts/validate-homelab", "source_location": "L8"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_validate_homelab_run_step", "source_file": "scripts/validate-homelab", "source_location": "L10"}, {"language": "bash", "callee": "git", "caller_nid": "$graphify-root$_scripts_validate_homelab_shell_files", "source_file": "scripts/validate-homelab", "source_location": "L17"}, {"language": "bash", "callee": "read", "caller_nid": "$graphify-root$_scripts_validate_homelab_shell_files", "source_file": "scripts/validate-homelab", "source_location": "L17"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_validate_homelab_shell_files", "source_file": "scripts/validate-homelab", "source_location": "L20"}, {"language": "bash", "callee": "head", "caller_nid": "$graphify-root$_scripts_validate_homelab_shell_files", "source_file": "scripts/validate-homelab", "source_location": "L23"}, {"language": "bash", "callee": "grep", "caller_nid": "$graphify-root$_scripts_validate_homelab_shell_files", "source_file": "scripts/validate-homelab", "source_location": "L23"}, {"language": "bash", "callee": "read", "caller_nid": "$graphify-root$_scripts_validate_homelab_validate_bash_syntax", "source_file": "scripts/validate-homelab", "source_location": "L35"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_validate_homelab_validate_bash_syntax", "source_file": "scripts/validate-homelab", "source_location": "L40"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_validate_homelab_validate_bash_syntax", "source_file": "scripts/validate-homelab", "source_location": "L41"}, {"language": "bash", "callee": "read", "caller_nid": "$graphify-root$_scripts_validate_homelab_validate_shellcheck", "source_file": "scripts/validate-homelab", "source_location": "L50"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_validate_homelab_validate_shellcheck", "source_file": "scripts/validate-homelab", "source_location": "L54"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_validate_homelab_validate_shellcheck", "source_file": "scripts/validate-homelab", "source_location": "L55"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_validate_homelab_validate_shellcheck", "source_file": "scripts/validate-homelab", "source_location": "L56"}, {"language": "bash", "callee": "shellcheck", "caller_nid": "$graphify-root$_scripts_validate_homelab_validate_shellcheck", "source_file": "scripts/validate-homelab", "source_location": "L62"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_validate_homelab_validate_yaml", "source_file": "scripts/validate-homelab", "source_location": "L66"}, {"language": "bash", "callee": "ruby", "caller_nid": "$graphify-root$_scripts_validate_homelab_validate_yaml", "source_file": "scripts/validate-homelab", "source_location": "L67"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_validate_homelab_validate_yaml", "source_file": "scripts/validate-homelab", "source_location": "L68"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_validate_homelab_validate_yaml", "source_file": "scripts/validate-homelab", "source_location": "L70"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_validate_homelab_validate_tofu_fmt", "source_file": "scripts/validate-homelab", "source_location": "L74"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_validate_homelab_validate_tofu_fmt", "source_file": "scripts/validate-homelab", "source_location": "L75"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_validate_homelab_validate_tofu_fmt", "source_file": "scripts/validate-homelab", "source_location": "L76"}, {"language": "bash", "callee": "tofu", "caller_nid": "$graphify-root$_scripts_validate_homelab_validate_tofu_fmt", "source_file": "scripts/validate-homelab", "source_location": "L78"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_validate_homelab_validate_go", "source_file": "scripts/validate-homelab", "source_location": "L82"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_validate_homelab_validate_go", "source_file": "scripts/validate-homelab", "source_location": "L83"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_validate_homelab_validate_go", "source_file": "scripts/validate-homelab", "source_location": "L84"}, {"language": "bash", "callee": "test", "caller_nid": "$graphify-root$_scripts_validate_homelab_validate_go", "source_file": "scripts/validate-homelab", "source_location": "L86"}, {"language": "bash", "callee": "go", "caller_nid": "$graphify-root$_scripts_validate_homelab_validate_go", "source_file": "scripts/validate-homelab", "source_location": "L87"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_validate_homelab_validate_security_static", "source_file": "scripts/validate-homelab", "source_location": "L92"}, {"language": "bash", "callee": "trivy", "caller_nid": "$graphify-root$_scripts_validate_homelab_validate_security_static", "source_file": "scripts/validate-homelab", "source_location": "L93"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_validate_homelab_validate_security_static", "source_file": "scripts/validate-homelab", "source_location": "L95"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_validate_homelab_main", "source_file": "scripts/validate-homelab", "source_location": "L104"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/bff4cd9d7e7892fc50ab12aecd2309f9f827eb3ee1b89a4a5952026b2b0fcbf3.json b/graphify-out/cache/ast/v0.9.64-s4/bff4cd9d7e7892fc50ab12aecd2309f9f827eb3ee1b89a4a5952026b2b0fcbf3.json
new file mode 100644
index 0000000..86865f4
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/bff4cd9d7e7892fc50ab12aecd2309f9f827eb3ee1b89a4a5952026b2b0fcbf3.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "pkg_my_homelab_configs", "label": "my-homelab-configs", "file_type": "code", "type": "package", "ecosystem": "go", "source_file": "go.mod", "source_location": "L1"}], "edges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/c3bbc34f4cf0831691b88dfa98cbe754ef82d36fa7ef9a55edd402cd1a3fa8c8.json b/graphify-out/cache/ast/v0.9.64-s4/c3bbc34f4cf0831691b88dfa98cbe754ef82d36fa7ef9a55edd402cd1a3fa8c8.json
new file mode 100644
index 0000000..c9333ca
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/c3bbc34f4cf0831691b88dfa98cbe754ef82d36fa7ef9a55edd402cd1a3fa8c8.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_apps_website_render_static_pages_sh", "label": "render-static-pages.sh", "file_type": "code", "source_file": "apps/website/render-static-pages.sh", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_apps_website_render_static_pages_sh__entry", "label": "render-static-pages.sh script", "file_type": "code", "source_file": "apps/website/render-static-pages.sh", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_apps_website_render_static_pages_render_page", "label": "render_page()", "file_type": "code", "source_file": "apps/website/render-static-pages.sh", "source_location": "L6", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_apps_website_render_static_pages_sh", "target": "$graphify-root$_apps_website_render_static_pages_sh__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "apps/website/render-static-pages.sh", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_apps_website_render_static_pages_sh", "target": "$graphify-root$_apps_website_render_static_pages_render_page", "relation": "defines", "confidence": "EXTRACTED", "source_file": "apps/website/render-static-pages.sh", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_apps_website_render_static_pages_sh__entry", "target": "$graphify-root$_apps_website_render_static_pages_render_page", "relation": "calls", "confidence": "EXTRACTED", "source_file": "apps/website/render-static-pages.sh", "source_location": "L27", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_apps_website_render_static_pages_sh__entry", "source_file": "apps/website/render-static-pages.sh", "source_location": "L2"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_apps_website_render_static_pages_render_page", "source_file": "apps/website/render-static-pages.sh", "source_location": "L12"}, {"language": "bash", "callee": "php", "caller_nid": "$graphify-root$_apps_website_render_static_pages_render_page", "source_file": "apps/website/render-static-pages.sh", "source_location": "L14"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/c40259ad9f4f305010c788091b2fc83c3e9eea96aca709de8157d7bef607054c.json b/graphify-out/cache/ast/v0.9.64-s4/c40259ad9f4f305010c788091b2fc83c3e9eea96aca709de8157d7bef607054c.json
new file mode 100644
index 0000000..3ed1b23
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/c40259ad9f4f305010c788091b2fc83c3e9eea96aca709de8157d7bef607054c.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_bootstrap_apps_main_tf", "label": "main.tf", "file_type": "code", "source_file": "bootstrap/apps/main.tf", "source_location": null, "type": "terraform_file"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_provider_kubernetes", "label": "provider.kubernetes", "file_type": "code", "source_file": "bootstrap/apps/main.tf", "source_location": "L11", "attributes": {"config_path": "var.kubeconfig_path"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_local_application_sources", "label": "local.application_sources", "file_type": "code", "source_file": "bootstrap/apps/main.tf", "source_location": "L16"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_kubernetes_manifest_argocd_application", "label": "kubernetes_manifest.argocd_application", "file_type": "code", "source_file": "bootstrap/apps/main.tf", "source_location": "L32", "attributes": {"for_each": "var.applications", "manifest": {"apiVersion": "argoproj.io/v1alpha1", "kind": "Application", "metadata": {"name": "each.key", "namespace": "var.argocd_namespace"}, "spec": {"project": "each.value.project", "source": "local.application_sources[each.key]", "destination": {"server": "https://kubernetes.default.svc", "namespace": "each.value.namespace"}, "syncPolicy": {"automated": {"prune": "each.value.prune", "selfHeal": "each.value.self_heal"}, "syncOptions": "each.value.create_namespace ? [\"CreateNamespace=true\"] : []"}}}}}], "edges": [{"source": "$graphify-root$_bootstrap_apps_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_provider_kubernetes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/apps/main.tf", "source_location": "L11", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_provider_kubernetes", "target": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_var_kubeconfig_path", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/apps/main.tf", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_apps_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_local_application_sources", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/apps/main.tf", "source_location": "L16", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_local_application_sources", "target": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_var_applications", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/apps/main.tf", "source_location": "L17", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_local_application_sources", "target": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_var_gitops_repo_url", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/apps/main.tf", "source_location": "L19", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_local_application_sources", "target": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_application_target_revision", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/apps/main.tf", "source_location": "L20", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_local_application_sources", "target": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_application_path", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/apps/main.tf", "source_location": "L21", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_local_application_sources", "target": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_var_website_image_ref", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/apps/main.tf", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_apps_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_kubernetes_manifest_argocd_application", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/apps/main.tf", "source_location": "L32", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_kubernetes_manifest_argocd_application", "target": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_var_applications", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/apps/main.tf", "source_location": "L33", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_kubernetes_manifest_argocd_application", "target": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_var_argocd_namespace", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/apps/main.tf", "source_location": "L44", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_kubernetes_manifest_argocd_application", "target": "terraform_home_jv_my_homelab_configs_bootstrap_apps_fe6ea83e9f87752c_local_application_sources", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/apps/main.tf", "source_location": "L48", "weight": 1.0}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/c47172d0860a112a78762ae9752cdfdeeb1467762c81a5e95bc4e1697388cb3b.json b/graphify-out/cache/ast/v0.9.64-s4/c47172d0860a112a78762ae9752cdfdeeb1467762c81a5e95bc4e1697388cb3b.json
new file mode 100644
index 0000000..b89ac5a
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/c47172d0860a112a78762ae9752cdfdeeb1467762c81a5e95bc4e1697388cb3b.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_cmd_jeannie_core_main_go", "label": "main.go", "file_type": "code", "source_file": "cmd/jeannie-core/main.go", "source_location": "L1"}, {"id": "jeannie_core_reportrow", "label": "reportRow", "file_type": "code", "source_file": "cmd/jeannie-core/main.go", "source_location": "L18"}, {"id": "$graphify-root$_cmd_jeannie_core_main_main", "label": "main()", "file_type": "code", "source_file": "cmd/jeannie-core/main.go", "source_location": "L29"}, {"id": "$graphify-root$_cmd_jeannie_core_main_usage", "label": "usage()", "file_type": "code", "source_file": "cmd/jeannie-core/main.go", "source_location": "L54"}, {"id": "io_writer", "label": "io.Writer", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/cmd/jeannie-core/main.go"}, {"id": "jeannie_core_dagspec", "label": "dagSpec", "file_type": "code", "source_file": "cmd/jeannie-core/main.go", "source_location": "L58"}, {"id": "dagtask", "label": "dagTask", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/cmd/jeannie-core/main.go"}, {"id": "jeannie_core_dagtask", "label": "dagTask", "file_type": "code", "source_file": "cmd/jeannie-core/main.go", "source_location": "L63"}, {"id": "jeannie_core_dagtaskresult", "label": "dagTaskResult", "file_type": "code", "source_file": "cmd/jeannie-core/main.go", "source_location": "L70"}, {"id": "$graphify-root$_cmd_jeannie_core_main_rundag", "label": "runDAG()", "file_type": "code", "source_file": "cmd/jeannie-core/main.go", "source_location": "L76"}, {"id": "$graphify-root$_cmd_jeannie_core_main_executedag", "label": "executeDAG()", "file_type": "code", "source_file": "cmd/jeannie-core/main.go", "source_location": "L98"}, {"id": "context_context", "label": "context.Context", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/cmd/jeannie-core/main.go"}, {"id": "$graphify-root$_cmd_jeannie_core_main_rundagtask", "label": "runDAGTask()", "file_type": "code", "source_file": "cmd/jeannie-core/main.go", "source_location": "L186"}, {"id": "sync_mutex", "label": "sync.Mutex", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/cmd/jeannie-core/main.go"}, {"id": "$graphify-root$_cmd_jeannie_core_main_writedagline", "label": "writeDAGLine()", "file_type": "code", "source_file": "cmd/jeannie-core/main.go", "source_location": "L229"}, {"id": "$graphify-root$_cmd_jeannie_core_main_runreportrender", "label": "runReportRender()", "file_type": "code", "source_file": "cmd/jeannie-core/main.go", "source_location": "L235"}, {"id": "io_reader", "label": "io.Reader", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/cmd/jeannie-core/main.go"}, {"id": "$graphify-root$_cmd_jeannie_core_main_envdefault", "label": "envDefault()", "file_type": "code", "source_file": "cmd/jeannie-core/main.go", "source_location": "L263"}, {"id": "$graphify-root$_cmd_jeannie_core_main_parsereportrows", "label": "parseReportRows()", "file_type": "code", "source_file": "cmd/jeannie-core/main.go", "source_location": "L270"}, {"id": "$graphify-root$_cmd_jeannie_core_main_normalizestatus", "label": "normalizeStatus()", "file_type": "code", "source_file": "cmd/jeannie-core/main.go", "source_location": "L309"}, {"id": "$graphify-root$_cmd_jeannie_core_main_filterreportrows", "label": "filterReportRows()", "file_type": "code", "source_file": "cmd/jeannie-core/main.go", "source_location": "L317"}, {"id": "$graphify-root$_cmd_jeannie_core_main_includereportrow", "label": "includeReportRow()", "file_type": "code", "source_file": "cmd/jeannie-core/main.go", "source_location": "L327"}, {"id": "$graphify-root$_cmd_jeannie_core_main_renderreporttext", "label": "renderReportText()", "file_type": "code", "source_file": "cmd/jeannie-core/main.go", "source_location": "L342"}, {"id": "$graphify-root$_cmd_jeannie_core_main_orderedreportareas", "label": "orderedReportAreas()", "file_type": "code", "source_file": "cmd/jeannie-core/main.go", "source_location": "L410"}, {"id": "$graphify-root$_cmd_jeannie_core_main_rowsforreportarea", "label": "rowsForReportArea()", "file_type": "code", "source_file": "cmd/jeannie-core/main.go", "source_location": "L422"}, {"id": "$graphify-root$_cmd_jeannie_core_main_reportstatusrank", "label": "reportStatusRank()", "file_type": "code", "source_file": "cmd/jeannie-core/main.go", "source_location": "L432"}, {"id": "$graphify-root$_cmd_jeannie_core_main_truncate", "label": "truncate()", "file_type": "code", "source_file": "cmd/jeannie-core/main.go", "source_location": "L447"}], "edges": [{"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "go_pkg_bufio", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L4", "weight": 1.0, "context": "import"}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "go_pkg_context", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L5", "weight": 1.0, "context": "import"}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "go_pkg_encoding_json", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L6", "weight": 1.0, "context": "import"}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "go_pkg_flag", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L7", "weight": 1.0, "context": "import"}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "go_pkg_fmt", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L8", "weight": 1.0, "context": "import"}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "go_pkg_io", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L9", "weight": 1.0, "context": "import"}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "go_pkg_os", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L10", "weight": 1.0, "context": "import"}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "go_pkg_os_exec", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L11", "weight": 1.0, "context": "import"}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "go_pkg_sort", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L12", "weight": 1.0, "context": "import"}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "go_pkg_strings", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L13", "weight": 1.0, "context": "import"}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "go_pkg_sync", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L14", "weight": 1.0, "context": "import"}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "go_pkg_time", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L15", "weight": 1.0, "context": "import"}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "jeannie_core_reportrow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "$graphify-root$_cmd_jeannie_core_main_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L29", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "$graphify-root$_cmd_jeannie_core_main_usage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L54", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_usage", "target": "io_writer", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L54", "weight": 1.0, "context": "parameter_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "jeannie_core_dagspec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L58", "weight": 1.0}, {"source": "jeannie_core_dagspec", "target": "dagtask", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L59", "weight": 1.0, "context": "field"}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "jeannie_core_dagtask", "relation": "contains", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L63", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "jeannie_core_dagtaskresult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L70", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "$graphify-root$_cmd_jeannie_core_main_rundag", "relation": "contains", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L76", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_rundag", "target": "io_writer", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L76", "weight": 1.0, "context": "parameter_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_rundag", "target": "io_writer", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L76", "weight": 1.0, "context": "parameter_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "$graphify-root$_cmd_jeannie_core_main_executedag", "relation": "contains", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L98", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_executedag", "target": "context_context", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L98", "weight": 1.0, "context": "parameter_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_executedag", "target": "jeannie_core_dagspec", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L98", "weight": 1.0, "context": "parameter_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_executedag", "target": "io_writer", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L98", "weight": 1.0, "context": "parameter_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_executedag", "target": "io_writer", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L98", "weight": 1.0, "context": "parameter_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "$graphify-root$_cmd_jeannie_core_main_rundagtask", "relation": "contains", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L186", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_rundagtask", "target": "context_context", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L186", "weight": 1.0, "context": "parameter_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_rundagtask", "target": "jeannie_core_dagtask", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L186", "weight": 1.0, "context": "parameter_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_rundagtask", "target": "io_writer", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L186", "weight": 1.0, "context": "parameter_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_rundagtask", "target": "io_writer", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L186", "weight": 1.0, "context": "parameter_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_rundagtask", "target": "sync_mutex", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L186", "weight": 1.0, "context": "parameter_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_rundagtask", "target": "jeannie_core_dagtaskresult", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L186", "weight": 1.0, "context": "return_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "$graphify-root$_cmd_jeannie_core_main_writedagline", "relation": "contains", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L229", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_writedagline", "target": "io_writer", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L229", "weight": 1.0, "context": "parameter_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_writedagline", "target": "sync_mutex", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L229", "weight": 1.0, "context": "parameter_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "$graphify-root$_cmd_jeannie_core_main_runreportrender", "relation": "contains", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L235", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_runreportrender", "target": "io_reader", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L235", "weight": 1.0, "context": "parameter_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_runreportrender", "target": "io_writer", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L235", "weight": 1.0, "context": "parameter_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "$graphify-root$_cmd_jeannie_core_main_envdefault", "relation": "contains", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L263", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "$graphify-root$_cmd_jeannie_core_main_parsereportrows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L270", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_parsereportrows", "target": "io_reader", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L270", "weight": 1.0, "context": "parameter_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_parsereportrows", "target": "jeannie_core_reportrow", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L270", "weight": 1.0, "context": "return_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "$graphify-root$_cmd_jeannie_core_main_normalizestatus", "relation": "contains", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L309", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "$graphify-root$_cmd_jeannie_core_main_filterreportrows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L317", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_filterreportrows", "target": "jeannie_core_reportrow", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L317", "weight": 1.0, "context": "parameter_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_filterreportrows", "target": "jeannie_core_reportrow", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L317", "weight": 1.0, "context": "return_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "$graphify-root$_cmd_jeannie_core_main_includereportrow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L327", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_includereportrow", "target": "jeannie_core_reportrow", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L327", "weight": 1.0, "context": "parameter_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "$graphify-root$_cmd_jeannie_core_main_renderreporttext", "relation": "contains", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L342", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_renderreporttext", "target": "io_writer", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L342", "weight": 1.0, "context": "parameter_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_renderreporttext", "target": "jeannie_core_reportrow", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L342", "weight": 1.0, "context": "parameter_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "$graphify-root$_cmd_jeannie_core_main_orderedreportareas", "relation": "contains", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L410", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_orderedreportareas", "target": "jeannie_core_reportrow", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L410", "weight": 1.0, "context": "parameter_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "$graphify-root$_cmd_jeannie_core_main_rowsforreportarea", "relation": "contains", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L422", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_rowsforreportarea", "target": "jeannie_core_reportrow", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L422", "weight": 1.0, "context": "parameter_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_rowsforreportarea", "target": "jeannie_core_reportrow", "relation": "references", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L422", "weight": 1.0, "context": "return_type"}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "$graphify-root$_cmd_jeannie_core_main_reportstatusrank", "relation": "contains", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L432", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_go", "target": "$graphify-root$_cmd_jeannie_core_main_truncate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L447", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_main", "target": "$graphify-root$_cmd_jeannie_core_main_usage", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L31", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_main", "target": "$graphify-root$_cmd_jeannie_core_main_runreportrender", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L37", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_main", "target": "$graphify-root$_cmd_jeannie_core_main_rundag", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L42", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_rundag", "target": "$graphify-root$_cmd_jeannie_core_main_executedag", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L95", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_executedag", "target": "$graphify-root$_cmd_jeannie_core_main_rundagtask", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L161", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_rundagtask", "target": "$graphify-root$_cmd_jeannie_core_main_writedagline", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L192", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_runreportrender", "target": "$graphify-root$_cmd_jeannie_core_main_envdefault", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L238", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_runreportrender", "target": "$graphify-root$_cmd_jeannie_core_main_usage", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L243", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_runreportrender", "target": "$graphify-root$_cmd_jeannie_core_main_parsereportrows", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L247", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_runreportrender", "target": "$graphify-root$_cmd_jeannie_core_main_filterreportrows", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L251", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_runreportrender", "target": "$graphify-root$_cmd_jeannie_core_main_renderreporttext", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L259", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_parsereportrows", "target": "$graphify-root$_cmd_jeannie_core_main_normalizestatus", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L288", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_filterreportrows", "target": "$graphify-root$_cmd_jeannie_core_main_includereportrow", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L320", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_renderreporttext", "target": "$graphify-root$_cmd_jeannie_core_main_orderedreportareas", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L366", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_renderreporttext", "target": "$graphify-root$_cmd_jeannie_core_main_rowsforreportarea", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L368", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_renderreporttext", "target": "$graphify-root$_cmd_jeannie_core_main_reportstatusrank", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L370", "weight": 1.0}, {"source": "$graphify-root$_cmd_jeannie_core_main_renderreporttext", "target": "$graphify-root$_cmd_jeannie_core_main_truncate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "cmd/jeannie-core/main.go", "source_location": "L379", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_cmd_jeannie_core_main_main", "callee": "Exit", "is_member_call": false, "language": "go", "receiver": "os", "import_path": "os", "source_file": "cmd/jeannie-core/main.go", "source_location": "L32"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_main", "callee": "Fprintln", "is_member_call": false, "language": "go", "receiver": "fmt", "import_path": "fmt", "source_file": "cmd/jeannie-core/main.go", "source_location": "L38"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_main", "callee": "Exit", "is_member_call": false, "language": "go", "receiver": "os", "import_path": "os", "source_file": "cmd/jeannie-core/main.go", "source_location": "L39"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_main", "callee": "Fprintln", "is_member_call": false, "language": "go", "receiver": "fmt", "import_path": "fmt", "source_file": "cmd/jeannie-core/main.go", "source_location": "L43"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_main", "callee": "Exit", "is_member_call": false, "language": "go", "receiver": "os", "import_path": "os", "source_file": "cmd/jeannie-core/main.go", "source_location": "L44"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_main", "callee": "Exit", "is_member_call": false, "language": "go", "receiver": "os", "import_path": "os", "source_file": "cmd/jeannie-core/main.go", "source_location": "L50"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_usage", "callee": "Fprintln", "is_member_call": false, "language": "go", "receiver": "fmt", "import_path": "fmt", "source_file": "cmd/jeannie-core/main.go", "source_location": "L55"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_rundag", "callee": "NewFlagSet", "is_member_call": false, "language": "go", "receiver": "flag", "import_path": "flag", "source_file": "cmd/jeannie-core/main.go", "source_location": "L77"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_rundag", "callee": "SetOutput", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main.go", "source_location": "L78"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_rundag", "callee": "Parse", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main.go", "source_location": "L80"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_rundag", "callee": "Errorf", "is_member_call": false, "language": "go", "receiver": "fmt", "import_path": "fmt", "source_file": "cmd/jeannie-core/main.go", "source_location": "L84"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_rundag", "callee": "ReadFile", "is_member_call": false, "language": "go", "receiver": "os", "import_path": "os", "source_file": "cmd/jeannie-core/main.go", "source_location": "L87"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_rundag", "callee": "Unmarshal", "is_member_call": false, "language": "go", "receiver": "json", "import_path": "encoding/json", "source_file": "cmd/jeannie-core/main.go", "source_location": "L92"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_rundag", "callee": "Background", "is_member_call": false, "language": "go", "receiver": "context", "import_path": "context", "source_file": "cmd/jeannie-core/main.go", "source_location": "L95"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_executedag", "callee": "Errorf", "is_member_call": false, "language": "go", "receiver": "fmt", "import_path": "fmt", "source_file": "cmd/jeannie-core/main.go", "source_location": "L108"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_executedag", "callee": "Errorf", "is_member_call": false, "language": "go", "receiver": "fmt", "import_path": "fmt", "source_file": "cmd/jeannie-core/main.go", "source_location": "L111"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_executedag", "callee": "Errorf", "is_member_call": false, "language": "go", "receiver": "fmt", "import_path": "fmt", "source_file": "cmd/jeannie-core/main.go", "source_location": "L114"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_executedag", "callee": "Errorf", "is_member_call": false, "language": "go", "receiver": "fmt", "import_path": "fmt", "source_file": "cmd/jeannie-core/main.go", "source_location": "L125"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_executedag", "callee": "WithCancel", "is_member_call": false, "language": "go", "receiver": "context", "import_path": "context", "source_file": "cmd/jeannie-core/main.go", "source_location": "L130"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_executedag", "callee": "cancel", "is_member_call": false, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main.go", "source_location": "L131"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_executedag", "callee": "Add", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main.go", "source_location": "L156"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_executedag", "callee": "Done", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main.go", "source_location": "L158"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_executedag", "callee": "cancel", "is_member_call": false, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main.go", "source_location": "L167"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_executedag", "callee": "Wait", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main.go", "source_location": "L168"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_executedag", "callee": "Errorf", "is_member_call": false, "language": "go", "receiver": "fmt", "import_path": "fmt", "source_file": "cmd/jeannie-core/main.go", "source_location": "L172"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_executedag", "callee": "Wait", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main.go", "source_location": "L182"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_rundagtask", "callee": "Now", "is_member_call": false, "language": "go", "receiver": "time", "import_path": "time", "source_file": "cmd/jeannie-core/main.go", "source_location": "L191"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_rundagtask", "callee": "CommandContext", "is_member_call": false, "language": "go", "receiver": "exec", "import_path": "os/exec", "source_file": "cmd/jeannie-core/main.go", "source_location": "L194"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_rundagtask", "callee": "Environ", "is_member_call": false, "language": "go", "receiver": "os", "import_path": "os", "source_file": "cmd/jeannie-core/main.go", "source_location": "L195"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_rundagtask", "callee": "StdoutPipe", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main.go", "source_location": "L196"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_rundagtask", "callee": "Start", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main.go", "source_location": "L201"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_rundagtask", "callee": "NewScanner", "is_member_call": false, "language": "go", "receiver": "bufio", "import_path": "bufio", "source_file": "cmd/jeannie-core/main.go", "source_location": "L205"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_rundagtask", "callee": "Buffer", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main.go", "source_location": "L206"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_rundagtask", "callee": "Scan", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main.go", "source_location": "L207"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_rundagtask", "callee": "Text", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main.go", "source_location": "L208"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_rundagtask", "callee": "Err", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main.go", "source_location": "L210"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_rundagtask", "callee": "Wait", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main.go", "source_location": "L214"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_rundagtask", "callee": "Round", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main.go", "source_location": "L215"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_rundagtask", "callee": "Since", "is_member_call": false, "language": "go", "receiver": "time", "import_path": "time", "source_file": "cmd/jeannie-core/main.go", "source_location": "L215"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_rundagtask", "callee": "ExitCode", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main.go", "source_location": "L220"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_rundagtask", "callee": "Sprintf", "is_member_call": false, "language": "go", "receiver": "fmt", "import_path": "fmt", "source_file": "cmd/jeannie-core/main.go", "source_location": "L222"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_rundagtask", "callee": "Sprintf", "is_member_call": false, "language": "go", "receiver": "fmt", "import_path": "fmt", "source_file": "cmd/jeannie-core/main.go", "source_location": "L225"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_writedagline", "callee": "Lock", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main.go", "source_location": "L230"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_writedagline", "callee": "Unlock", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main.go", "source_location": "L231"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_writedagline", "callee": "Fprintf", "is_member_call": false, "language": "go", "receiver": "fmt", "import_path": "fmt", "source_file": "cmd/jeannie-core/main.go", "source_location": "L232"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_runreportrender", "callee": "NewFlagSet", "is_member_call": false, "language": "go", "receiver": "flag", "import_path": "flag", "source_file": "cmd/jeannie-core/main.go", "source_location": "L236"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_runreportrender", "callee": "SetOutput", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main.go", "source_location": "L237"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_runreportrender", "callee": "Parse", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main.go", "source_location": "L242"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_runreportrender", "callee": "NewEncoder", "is_member_call": false, "language": "go", "receiver": "json", "import_path": "encoding/json", "source_file": "cmd/jeannie-core/main.go", "source_location": "L254"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_runreportrender", "callee": "SetIndent", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main.go", "source_location": "L255"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_runreportrender", "callee": "Encode", "is_member_call": true, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main.go", "source_location": "L256"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_envdefault", "callee": "Getenv", "is_member_call": false, "language": "go", "receiver": "os", "import_path": "os", "source_file": "cmd/jeannie-core/main.go", "source_location": "L264"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_parsereportrows", "callee": "ReadAll", "is_member_call": false, "language": "go", "receiver": "io", "import_path": "io", "source_file": "cmd/jeannie-core/main.go", "source_location": "L271"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_parsereportrows", "callee": "Split", "is_member_call": false, "language": "go", "receiver": "strings", "import_path": "strings", "source_file": "cmd/jeannie-core/main.go", "source_location": "L277"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_parsereportrows", "callee": "string", "is_member_call": false, "language": "go", "receiver": null, "import_path": null, "source_file": "cmd/jeannie-core/main.go", "source_location": "L277"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_parsereportrows", "callee": "TrimSuffix", "is_member_call": false, "language": "go", "receiver": "strings", "import_path": "strings", "source_file": "cmd/jeannie-core/main.go", "source_location": "L278"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_parsereportrows", "callee": "TrimSpace", "is_member_call": false, "language": "go", "receiver": "strings", "import_path": "strings", "source_file": "cmd/jeannie-core/main.go", "source_location": "L279"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_parsereportrows", "callee": "Split", "is_member_call": false, "language": "go", "receiver": "strings", "import_path": "strings", "source_file": "cmd/jeannie-core/main.go", "source_location": "L282"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_parsereportrows", "callee": "TrimSpace", "is_member_call": false, "language": "go", "receiver": "strings", "import_path": "strings", "source_file": "cmd/jeannie-core/main.go", "source_location": "L289"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_parsereportrows", "callee": "TrimSpace", "is_member_call": false, "language": "go", "receiver": "strings", "import_path": "strings", "source_file": "cmd/jeannie-core/main.go", "source_location": "L290"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_parsereportrows", "callee": "TrimSpace", "is_member_call": false, "language": "go", "receiver": "strings", "import_path": "strings", "source_file": "cmd/jeannie-core/main.go", "source_location": "L291"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_parsereportrows", "callee": "TrimSpace", "is_member_call": false, "language": "go", "receiver": "strings", "import_path": "strings", "source_file": "cmd/jeannie-core/main.go", "source_location": "L292"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_parsereportrows", "callee": "TrimSpace", "is_member_call": false, "language": "go", "receiver": "strings", "import_path": "strings", "source_file": "cmd/jeannie-core/main.go", "source_location": "L293"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_parsereportrows", "callee": "TrimSpace", "is_member_call": false, "language": "go", "receiver": "strings", "import_path": "strings", "source_file": "cmd/jeannie-core/main.go", "source_location": "L294"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_parsereportrows", "callee": "TrimSpace", "is_member_call": false, "language": "go", "receiver": "strings", "import_path": "strings", "source_file": "cmd/jeannie-core/main.go", "source_location": "L295"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_normalizestatus", "callee": "ToLower", "is_member_call": false, "language": "go", "receiver": "strings", "import_path": "strings", "source_file": "cmd/jeannie-core/main.go", "source_location": "L310"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_normalizestatus", "callee": "TrimSpace", "is_member_call": false, "language": "go", "receiver": "strings", "import_path": "strings", "source_file": "cmd/jeannie-core/main.go", "source_location": "L310"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_renderreporttext", "callee": "Fprintln", "is_member_call": false, "language": "go", "receiver": "fmt", "import_path": "fmt", "source_file": "cmd/jeannie-core/main.go", "source_location": "L348"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_renderreporttext", "callee": "Fprintln", "is_member_call": false, "language": "go", "receiver": "fmt", "import_path": "fmt", "source_file": "cmd/jeannie-core/main.go", "source_location": "L349"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_renderreporttext", "callee": "Repeat", "is_member_call": false, "language": "go", "receiver": "strings", "import_path": "strings", "source_file": "cmd/jeannie-core/main.go", "source_location": "L349"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_renderreporttext", "callee": "Fprintf", "is_member_call": false, "language": "go", "receiver": "fmt", "import_path": "fmt", "source_file": "cmd/jeannie-core/main.go", "source_location": "L350"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_renderreporttext", "callee": "Fprintln", "is_member_call": false, "language": "go", "receiver": "fmt", "import_path": "fmt", "source_file": "cmd/jeannie-core/main.go", "source_location": "L355"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_renderreporttext", "callee": "Fprintln", "is_member_call": false, "language": "go", "receiver": "fmt", "import_path": "fmt", "source_file": "cmd/jeannie-core/main.go", "source_location": "L357"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_renderreporttext", "callee": "Fprintln", "is_member_call": false, "language": "go", "receiver": "fmt", "import_path": "fmt", "source_file": "cmd/jeannie-core/main.go", "source_location": "L359"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_renderreporttext", "callee": "Fprintln", "is_member_call": false, "language": "go", "receiver": "fmt", "import_path": "fmt", "source_file": "cmd/jeannie-core/main.go", "source_location": "L361"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_renderreporttext", "callee": "Fprintf", "is_member_call": false, "language": "go", "receiver": "fmt", "import_path": "fmt", "source_file": "cmd/jeannie-core/main.go", "source_location": "L367"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_renderreporttext", "callee": "SliceStable", "is_member_call": false, "language": "go", "receiver": "sort", "import_path": "sort", "source_file": "cmd/jeannie-core/main.go", "source_location": "L369"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_renderreporttext", "callee": "Fprintf", "is_member_call": false, "language": "go", "receiver": "fmt", "import_path": "fmt", "source_file": "cmd/jeannie-core/main.go", "source_location": "L379"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_renderreporttext", "callee": "Fprintf", "is_member_call": false, "language": "go", "receiver": "fmt", "import_path": "fmt", "source_file": "cmd/jeannie-core/main.go", "source_location": "L382"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_renderreporttext", "callee": "Fprintf", "is_member_call": false, "language": "go", "receiver": "fmt", "import_path": "fmt", "source_file": "cmd/jeannie-core/main.go", "source_location": "L385"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_renderreporttext", "callee": "Fprintf", "is_member_call": false, "language": "go", "receiver": "fmt", "import_path": "fmt", "source_file": "cmd/jeannie-core/main.go", "source_location": "L388"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_renderreporttext", "callee": "Fprintf", "is_member_call": false, "language": "go", "receiver": "fmt", "import_path": "fmt", "source_file": "cmd/jeannie-core/main.go", "source_location": "L391"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_renderreporttext", "callee": "Fprintln", "is_member_call": false, "language": "go", "receiver": "fmt", "import_path": "fmt", "source_file": "cmd/jeannie-core/main.go", "source_location": "L399"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_renderreporttext", "callee": "Fprintln", "is_member_call": false, "language": "go", "receiver": "fmt", "import_path": "fmt", "source_file": "cmd/jeannie-core/main.go", "source_location": "L401"}, {"caller_nid": "$graphify-root$_cmd_jeannie_core_main_renderreporttext", "callee": "Fprintf", "is_member_call": false, "language": "go", "receiver": "fmt", "import_path": "fmt", "source_file": "cmd/jeannie-core/main.go", "source_location": "L403"}], "go_imports": {"bufio": "bufio", "context": "context", "json": "encoding/json", "flag": "flag", "fmt": "fmt", "io": "io", "os": "os", "exec": "os/exec", "sort": "sort", "strings": "strings", "sync": "sync", "time": "time"}}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/c64178b22f7814e04a7ae1ef15866e591e4d73062c1f58bfc70ea2747d561a2a.json b/graphify-out/cache/ast/v0.9.64-s4/c64178b22f7814e04a7ae1ef15866e591e4d73062c1f58bfc70ea2747d561a2a.json
new file mode 100644
index 0000000..c2f26d2
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/c64178b22f7814e04a7ae1ef15866e591e4d73062c1f58bfc70ea2747d561a2a.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_validate_homelab_inventory", "label": "validate-homelab-inventory", "file_type": "code", "source_file": "scripts/validate-homelab-inventory", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_validate_homelab_inventory__entry", "label": "validate-homelab-inventory script", "file_type": "code", "source_file": "scripts/validate-homelab-inventory", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}], "edges": [{"source": "$graphify-root$_scripts_validate_homelab_inventory", "target": "$graphify-root$_scripts_validate_homelab_inventory__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/validate-homelab-inventory", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_validate_homelab_inventory__entry", "source_file": "scripts/validate-homelab-inventory", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_validate_homelab_inventory__entry", "source_file": "scripts/validate-homelab-inventory", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_validate_homelab_inventory__entry", "source_file": "scripts/validate-homelab-inventory", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_validate_homelab_inventory__entry", "source_file": "scripts/validate-homelab-inventory", "source_location": "L4"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_validate_homelab_inventory__entry", "source_file": "scripts/validate-homelab-inventory", "source_location": "L9"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_validate_homelab_inventory__entry", "source_file": "scripts/validate-homelab-inventory", "source_location": "L10"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_validate_homelab_inventory__entry", "source_file": "scripts/validate-homelab-inventory", "source_location": "L13"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_scripts_validate_homelab_inventory__entry", "source_file": "scripts/validate-homelab-inventory", "source_location": "L14"}, {"language": "bash", "callee": "ruby", "caller_nid": "$graphify-root$_scripts_validate_homelab_inventory__entry", "source_file": "scripts/validate-homelab-inventory", "source_location": "L133"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_validate_homelab_inventory__entry", "source_file": "scripts/validate-homelab-inventory", "source_location": "L230"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/c8c716b09bb4617ec3d0b432f4b64584d11268de8a1e55bf87e40d29e8dfe67e.json b/graphify-out/cache/ast/v0.9.64-s4/c8c716b09bb4617ec3d0b432f4b64584d11268de8a1e55bf87e40d29e8dfe67e.json
new file mode 100644
index 0000000..b73b3ef
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/c8c716b09bb4617ec3d0b432f4b64584d11268de8a1e55bf87e40d29e8dfe67e.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_kubeconfig_readonly", "label": "kubeconfig-readonly", "file_type": "code", "source_file": "scripts/kubeconfig-readonly", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_kubeconfig_readonly__entry", "label": "kubeconfig-readonly script", "file_type": "code", "source_file": "scripts/kubeconfig-readonly", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_kubeconfig_readonly_usage", "label": "usage()", "file_type": "code", "source_file": "scripts/kubeconfig-readonly", "source_location": "L10", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_kubeconfig_readonly_require_kubectl", "label": "require_kubectl()", "file_type": "code", "source_file": "scripts/kubeconfig-readonly", "source_location": "L19", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_kubeconfig_readonly_main", "label": "main()", "file_type": "code", "source_file": "scripts/kubeconfig-readonly", "source_location": "L30", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_kubeconfig_readonly", "target": "$graphify-root$_scripts_kubeconfig_readonly__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/kubeconfig-readonly", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_kubeconfig_readonly", "target": "$graphify-root$_scripts_kubeconfig_readonly_usage", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/kubeconfig-readonly", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_scripts_kubeconfig_readonly", "target": "$graphify-root$_scripts_kubeconfig_readonly_require_kubectl", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/kubeconfig-readonly", "source_location": "L19", "weight": 1.0}, {"source": "$graphify-root$_scripts_kubeconfig_readonly", "target": "$graphify-root$_scripts_kubeconfig_readonly_main", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/kubeconfig-readonly", "source_location": "L30", "weight": 1.0}, {"source": "$graphify-root$_scripts_kubeconfig_readonly__entry", "target": "$graphify-root$_scripts_kubeconfig_readonly_main", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/kubeconfig-readonly", "source_location": "L82", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_kubeconfig_readonly_main", "target": "$graphify-root$_scripts_kubeconfig_readonly_usage", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/kubeconfig-readonly", "source_location": "L40", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_kubeconfig_readonly_main", "target": "$graphify-root$_scripts_kubeconfig_readonly_require_kubectl", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/kubeconfig-readonly", "source_location": "L45", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_kubeconfig_readonly__entry", "source_file": "scripts/kubeconfig-readonly", "source_location": "L2"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_kubeconfig_readonly_usage", "source_file": "scripts/kubeconfig-readonly", "source_location": "L11"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_kubeconfig_readonly_require_kubectl", "source_file": "scripts/kubeconfig-readonly", "source_location": "L20"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_kubeconfig_readonly_require_kubectl", "source_file": "scripts/kubeconfig-readonly", "source_location": "L21"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_kubeconfig_readonly_require_kubectl", "source_file": "scripts/kubeconfig-readonly", "source_location": "L22"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_kubeconfig_readonly_main", "source_file": "scripts/kubeconfig-readonly", "source_location": "L41"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_scripts_kubeconfig_readonly_main", "source_file": "scripts/kubeconfig-readonly", "source_location": "L47"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_scripts_kubeconfig_readonly_main", "source_file": "scripts/kubeconfig-readonly", "source_location": "L53"}, {"language": "bash", "callee": "umask", "caller_nid": "$graphify-root$_scripts_kubeconfig_readonly_main", "source_file": "scripts/kubeconfig-readonly", "source_location": "L54"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_kubeconfig_readonly_main", "source_file": "scripts/kubeconfig-readonly", "source_location": "L55"}, {"language": "bash", "callee": "chmod", "caller_nid": "$graphify-root$_scripts_kubeconfig_readonly_main", "source_file": "scripts/kubeconfig-readonly", "source_location": "L75"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_kubeconfig_readonly_main", "source_file": "scripts/kubeconfig-readonly", "source_location": "L77"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/ca914218a4794108d3a7c91dc70abea382a47d4764473553fa04af3d0193a6a3.json b/graphify-out/cache/ast/v0.9.64-s4/ca914218a4794108d3a7c91dc70abea382a47d4764473553fa04af3d0193a6a3.json
new file mode 100644
index 0000000..6c222ca
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/ca914218a4794108d3a7c91dc70abea382a47d4764473553fa04af3d0193a6a3.json
@@ -0,0 +1 @@
+{"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"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/cba4c12a66d62c3c9ad45b329a97f57b7c7fbd6e312c909ea946c78583fa52db.json b/graphify-out/cache/ast/v0.9.64-s4/cba4c12a66d62c3c9ad45b329a97f57b7c7fbd6e312c909ea946c78583fa52db.json
new file mode 100644
index 0000000..100d593
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/cba4c12a66d62c3c9ad45b329a97f57b7c7fbd6e312c909ea946c78583fa52db.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_route_inventory", "label": "route-inventory", "file_type": "code", "source_file": "scripts/route-inventory", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_route_inventory__entry", "label": "route-inventory script", "file_type": "code", "source_file": "scripts/route-inventory", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_route_inventory_cleanup", "label": "cleanup()", "file_type": "code", "source_file": "scripts/route-inventory", "source_location": "L8", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_route_inventory_section", "label": "section()", "file_type": "code", "source_file": "scripts/route-inventory", "source_location": "L15", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_route_inventory", "target": "$graphify-root$_scripts_route_inventory__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/route-inventory", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_route_inventory", "target": "$graphify-root$_scripts_route_inventory_cleanup", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/route-inventory", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_scripts_route_inventory", "target": "$graphify-root$_scripts_route_inventory_section", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/route-inventory", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_scripts_route_inventory__entry", "target": "$graphify-root$_scripts_route_inventory_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/route-inventory", "source_location": "L28", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_route_inventory__entry", "source_file": "scripts/route-inventory", "source_location": "L2"}, {"language": "bash", "callee": "trap", "caller_nid": "$graphify-root$_scripts_route_inventory__entry", "source_file": "scripts/route-inventory", "source_location": "L13"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_route_inventory__entry", "source_file": "scripts/route-inventory", "source_location": "L19"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_route_inventory__entry", "source_file": "scripts/route-inventory", "source_location": "L20"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_route_inventory__entry", "source_file": "scripts/route-inventory", "source_location": "L21"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_scripts_route_inventory__entry", "source_file": "scripts/route-inventory", "source_location": "L23"}, {"language": "bash", "callee": "mktemp", "caller_nid": "$graphify-root$_scripts_route_inventory__entry", "source_file": "scripts/route-inventory", "source_location": "L29"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_scripts_route_inventory__entry", "source_file": "scripts/route-inventory", "source_location": "L31"}, {"language": "bash", "callee": "sed", "caller_nid": "$graphify-root$_scripts_route_inventory__entry", "source_file": "scripts/route-inventory", "source_location": "L83"}, {"language": "bash", "callee": "rm", "caller_nid": "$graphify-root$_scripts_route_inventory_cleanup", "source_file": "scripts/route-inventory", "source_location": "L10"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_route_inventory_section", "source_file": "scripts/route-inventory", "source_location": "L16"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/cef3e96fc7c26a4e3e9f67e98d83be2fc4dfd860c447c81804e1ce6ae7f368a2.json b/graphify-out/cache/ast/v0.9.64-s4/cef3e96fc7c26a4e3e9f67e98d83be2fc4dfd860c447c81804e1ce6ae7f368a2.json
new file mode 100644
index 0000000..3ca9ce4
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/cef3e96fc7c26a4e3e9f67e98d83be2fc4dfd860c447c81804e1ce6ae7f368a2.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_safety_case", "label": "safety-case", "file_type": "code", "source_file": "scripts/safety-case", "source_location": "L1"}, {"id": "$graphify-root$_scripts_safety_case_git_lines", "label": "git_lines()", "file_type": "code", "source_file": "scripts/safety-case", "source_location": "L17", "_callable": true}, {"id": "$graphify-root$_scripts_safety_case_changed_files", "label": "changed_files()", "file_type": "code", "source_file": "scripts/safety-case", "source_location": "L30", "_callable": true}, {"id": "$graphify-root$_scripts_safety_case_load_rules", "label": "load_rules()", "file_type": "code", "source_file": "scripts/safety-case", "source_location": "L37", "_callable": true}, {"id": "$graphify-root$_scripts_safety_case_matched_rules", "label": "matched_rules()", "file_type": "code", "source_file": "scripts/safety-case", "source_location": "L42", "_callable": true}, {"id": "$graphify-root$_scripts_safety_case_risk_order", "label": "risk_order()", "file_type": "code", "source_file": "scripts/safety-case", "source_location": "L58", "_callable": true}, {"id": "$graphify-root$_scripts_safety_case_print_safety_case", "label": "print_safety_case()", "file_type": "code", "source_file": "scripts/safety-case", "source_location": "L62", "_callable": true}, {"id": "$graphify-root$_scripts_safety_case_main", "label": "main()", "file_type": "code", "source_file": "scripts/safety-case", "source_location": "L106", "_callable": true}, {"id": "$graphify-root$_scripts_safety_case_rationale_2", "label": "Generate a read-only safety case for homelab changes.", "file_type": "rationale", "source_file": "scripts/safety-case", "source_location": "L2"}], "edges": [{"source": "$graphify-root$_scripts_safety_case", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/safety-case", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_scripts_safety_case", "target": "csv", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/safety-case", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_scripts_safety_case", "target": "subprocess", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/safety-case", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_scripts_safety_case", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/safety-case", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_scripts_safety_case", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/safety-case", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_scripts_safety_case", "target": "$graphify-root$_scripts_safety_case_git_lines", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/safety-case", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_scripts_safety_case", "target": "$graphify-root$_scripts_safety_case_changed_files", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/safety-case", "source_location": "L30", "weight": 1.0}, {"source": "$graphify-root$_scripts_safety_case", "target": "$graphify-root$_scripts_safety_case_load_rules", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/safety-case", "source_location": "L37", "weight": 1.0}, {"source": "$graphify-root$_scripts_safety_case", "target": "$graphify-root$_scripts_safety_case_matched_rules", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/safety-case", "source_location": "L42", "weight": 1.0}, {"source": "$graphify-root$_scripts_safety_case", "target": "$graphify-root$_scripts_safety_case_risk_order", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/safety-case", "source_location": "L58", "weight": 1.0}, {"source": "$graphify-root$_scripts_safety_case", "target": "$graphify-root$_scripts_safety_case_print_safety_case", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/safety-case", "source_location": "L62", "weight": 1.0}, {"source": "$graphify-root$_scripts_safety_case", "target": "$graphify-root$_scripts_safety_case_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/safety-case", "source_location": "L106", "weight": 1.0}, {"source": "$graphify-root$_scripts_safety_case_changed_files", "target": "$graphify-root$_scripts_safety_case_git_lines", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/safety-case", "source_location": "L32", "weight": 1.0}, {"source": "$graphify-root$_scripts_safety_case_matched_rules", "target": "$graphify-root$_scripts_safety_case_load_rules", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/safety-case", "source_location": "L43", "weight": 1.0}, {"source": "$graphify-root$_scripts_safety_case_print_safety_case", "target": "$graphify-root$_scripts_safety_case_risk_order", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/safety-case", "source_location": "L63", "weight": 1.0}, {"source": "$graphify-root$_scripts_safety_case_main", "target": "$graphify-root$_scripts_safety_case_changed_files", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/safety-case", "source_location": "L111", "weight": 1.0}, {"source": "$graphify-root$_scripts_safety_case_main", "target": "$graphify-root$_scripts_safety_case_print_safety_case", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/safety-case", "source_location": "L112", "weight": 1.0}, {"source": "$graphify-root$_scripts_safety_case_main", "target": "$graphify-root$_scripts_safety_case_matched_rules", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/safety-case", "source_location": "L112", "weight": 1.0}, {"source": "$graphify-root$_scripts_safety_case_rationale_2", "target": "$graphify-root$_scripts_safety_case", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/safety-case", "source_location": "L2", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_safety_case_git_lines", "callee": "run", "is_member_call": true, "source_file": "scripts/safety-case", "source_location": "L18", "receiver": "subprocess"}, {"caller_nid": "$graphify-root$_scripts_safety_case_git_lines", "callee": "REPO_ROOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/safety-case", "source_location": "L19"}, {"caller_nid": "$graphify-root$_scripts_safety_case_git_lines", "callee": "SystemExit", "is_member_call": false, "source_file": "scripts/safety-case", "source_location": "L26", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_safety_case_git_lines", "callee": "strip", "is_member_call": true, "source_file": "scripts/safety-case", "source_location": "L26", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_safety_case_git_lines", "callee": "strip", "is_member_call": true, "source_file": "scripts/safety-case", "source_location": "L27", "receiver": "line"}, {"caller_nid": "$graphify-root$_scripts_safety_case_git_lines", "callee": "splitlines", "is_member_call": true, "source_file": "scripts/safety-case", "source_location": "L27", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_safety_case_git_lines", "callee": "strip", "is_member_call": true, "source_file": "scripts/safety-case", "source_location": "L27", "receiver": "line"}, {"caller_nid": "$graphify-root$_scripts_safety_case_changed_files", "callee": "strip", "is_member_call": true, "source_file": "scripts/safety-case", "source_location": "L34", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_safety_case_load_rules", "callee": "open", "is_member_call": true, "source_file": "scripts/safety-case", "source_location": "L38", "receiver": "RULES_FILE"}, {"caller_nid": "$graphify-root$_scripts_safety_case_load_rules", "callee": "DictReader", "is_member_call": true, "source_file": "scripts/safety-case", "source_location": "L39", "receiver": "csv"}, {"caller_nid": "$graphify-root$_scripts_safety_case_load_rules", "callee": "handle", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/safety-case", "source_location": "L39"}, {"caller_nid": "$graphify-root$_scripts_safety_case_matched_rules", "callee": "removeprefix", "is_member_call": true, "source_file": "scripts/safety-case", "source_location": "L47", "receiver": "file_name"}, {"caller_nid": "$graphify-root$_scripts_safety_case_matched_rules", "callee": "rstrip", "is_member_call": true, "source_file": "scripts/safety-case", "source_location": "L50", "receiver": "pattern"}, {"caller_nid": "$graphify-root$_scripts_safety_case_matched_rules", "callee": "startswith", "is_member_call": true, "source_file": "scripts/safety-case", "source_location": "L50", "receiver": "normalized"}, {"caller_nid": "$graphify-root$_scripts_safety_case_matched_rules", "callee": "add", "is_member_call": true, "source_file": "scripts/safety-case", "source_location": "L53", "receiver": "seen"}, {"caller_nid": "$graphify-root$_scripts_safety_case_matched_rules", "callee": "append", "is_member_call": true, "source_file": "scripts/safety-case", "source_location": "L54", "receiver": "matches"}, {"caller_nid": "$graphify-root$_scripts_safety_case_risk_order", "callee": "get", "is_member_call": true, "source_file": "scripts/safety-case", "source_location": "L59", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_safety_case_risk_order", "callee": "lower", "is_member_call": true, "source_file": "scripts/safety-case", "source_location": "L59", "receiver": "risk"}, {"caller_nid": "$graphify-root$_scripts_safety_case_print_safety_case", "callee": "get", "is_member_call": true, "source_file": "scripts/safety-case", "source_location": "L64", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_safety_case_print_safety_case", "callee": "split", "is_member_call": true, "source_file": "scripts/safety-case", "source_location": "L81", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_safety_case_print_safety_case", "callee": "extend", "is_member_call": true, "source_file": "scripts/safety-case", "source_location": "L89", "receiver": "commands"}, {"caller_nid": "$graphify-root$_scripts_safety_case_print_safety_case", "callee": "split", "is_member_call": true, "source_file": "scripts/safety-case", "source_location": "L89", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_safety_case_print_safety_case", "callee": "fromkeys", "is_member_call": true, "source_file": "scripts/safety-case", "source_location": "L90", "receiver": "dict"}, {"caller_nid": "$graphify-root$_scripts_safety_case_main", "callee": "ArgumentParser", "is_member_call": true, "source_file": "scripts/safety-case", "source_location": "L107", "receiver": "argparse"}, {"caller_nid": "$graphify-root$_scripts_safety_case_main", "callee": "__doc__", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/safety-case", "source_location": "L107"}, {"caller_nid": "$graphify-root$_scripts_safety_case_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/safety-case", "source_location": "L108", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_safety_case_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/safety-case", "source_location": "L109", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_safety_case_main", "callee": "parse_args", "is_member_call": true, "source_file": "scripts/safety-case", "source_location": "L110", "receiver": "parser"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/cf7ca033dff559c07e2c58e650924588d7e9b20a271c68249e998829a9615a7a.json b/graphify-out/cache/ast/v0.9.64-s4/cf7ca033dff559c07e2c58e650924588d7e9b20a271c68249e998829a9615a7a.json
new file mode 100644
index 0000000..4ca5969
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/cf7ca033dff559c07e2c58e650924588d7e9b20a271c68249e998829a9615a7a.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_blockchain_devnet", "label": "blockchain-devnet", "file_type": "code", "source_file": "scripts/blockchain-devnet", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_blockchain_devnet__entry", "label": "blockchain-devnet script", "file_type": "code", "source_file": "scripts/blockchain-devnet", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_blockchain_devnet_usage", "label": "usage()", "file_type": "code", "source_file": "scripts/blockchain-devnet", "source_location": "L9", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_blockchain_devnet_rpc_call", "label": "rpc_call()", "file_type": "code", "source_file": "scripts/blockchain-devnet", "source_location": "L21", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_blockchain_devnet", "target": "$graphify-root$_scripts_blockchain_devnet__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/blockchain-devnet", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_blockchain_devnet", "target": "$graphify-root$_scripts_blockchain_devnet_usage", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/blockchain-devnet", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_scripts_blockchain_devnet", "target": "$graphify-root$_scripts_blockchain_devnet_rpc_call", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/blockchain-devnet", "source_location": "L21", "weight": 1.0}, {"source": "$graphify-root$_scripts_blockchain_devnet__entry", "target": "$graphify-root$_scripts_blockchain_devnet_rpc_call", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/blockchain-devnet", "source_location": "L41", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_blockchain_devnet__entry", "target": "$graphify-root$_scripts_blockchain_devnet_usage", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/blockchain-devnet", "source_location": "L70", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_blockchain_devnet__entry", "source_file": "scripts/blockchain-devnet", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_blockchain_devnet__entry", "source_file": "scripts/blockchain-devnet", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_blockchain_devnet__entry", "source_file": "scripts/blockchain-devnet", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_blockchain_devnet__entry", "source_file": "scripts/blockchain-devnet", "source_location": "L4"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_blockchain_devnet__entry", "source_file": "scripts/blockchain-devnet", "source_location": "L31"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_blockchain_devnet__entry", "source_file": "scripts/blockchain-devnet", "source_location": "L32"}, {"language": "bash", "callee": "docker", "caller_nid": "$graphify-root$_scripts_blockchain_devnet__entry", "source_file": "scripts/blockchain-devnet", "source_location": "L33"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_blockchain_devnet__entry", "source_file": "scripts/blockchain-devnet", "source_location": "L33"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_blockchain_devnet__entry", "source_file": "scripts/blockchain-devnet", "source_location": "L42"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_blockchain_devnet__entry", "source_file": "scripts/blockchain-devnet", "source_location": "L43"}, {"language": "bash", "callee": "sed", "caller_nid": "$graphify-root$_scripts_blockchain_devnet__entry", "source_file": "scripts/blockchain-devnet", "source_location": "L50"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_blockchain_devnet__entry", "source_file": "scripts/blockchain-devnet", "source_location": "L74"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_blockchain_devnet_usage", "source_file": "scripts/blockchain-devnet", "source_location": "L10"}, {"language": "bash", "callee": "curl", "caller_nid": "$graphify-root$_scripts_blockchain_devnet_rpc_call", "source_file": "scripts/blockchain-devnet", "source_location": "L24"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/cfcc6051f4d022f76c4bf91666ffef49471ea3222c7fe5e111aea18a805687f5.json b/graphify-out/cache/ast/v0.9.64-s4/cfcc6051f4d022f76c4bf91666ffef49471ea3222c7fe5e111aea18a805687f5.json
new file mode 100644
index 0000000..2df8301
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/cfcc6051f4d022f76c4bf91666ffef49471ea3222c7fe5e111aea18a805687f5.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_incident_commander", "label": "incident-commander", "file_type": "code", "source_file": "scripts/incident-commander", "source_location": "L1"}, {"id": "$graphify-root$_scripts_incident_commander_incident", "label": "Incident", "file_type": "code", "source_file": "scripts/incident-commander", "source_location": "L22", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_scripts_incident_commander_split_items", "label": "split_items()", "file_type": "code", "source_file": "scripts/incident-commander", "source_location": "L40", "_callable": true}, {"id": "$graphify-root$_scripts_incident_commander_load_incidents", "label": "load_incidents()", "file_type": "code", "source_file": "scripts/incident-commander", "source_location": "L44", "_callable": true}, {"id": "$graphify-root$_scripts_incident_commander_fixture_text", "label": "fixture_text()", "file_type": "code", "source_file": "scripts/incident-commander", "source_location": "L61", "_callable": true}, {"id": "$graphify-root$_scripts_incident_commander_classify", "label": "classify()", "file_type": "code", "source_file": "scripts/incident-commander", "source_location": "L68", "_callable": true}, {"id": "$graphify-root$_scripts_incident_commander_incident_for_class", "label": "incident_for_class()", "file_type": "code", "source_file": "scripts/incident-commander", "source_location": "L76", "_callable": true}, {"id": "$graphify-root$_scripts_incident_commander_render_triage", "label": "render_triage()", "file_type": "code", "source_file": "scripts/incident-commander", "source_location": "L83", "_callable": true}, {"id": "$graphify-root$_scripts_incident_commander_first_evidence_lines", "label": "first_evidence_lines()", "file_type": "code", "source_file": "scripts/incident-commander", "source_location": "L105", "_callable": true}, {"id": "$graphify-root$_scripts_incident_commander_print_triage", "label": "print_triage()", "file_type": "code", "source_file": "scripts/incident-commander", "source_location": "L110", "_callable": true}, {"id": "$graphify-root$_scripts_incident_commander_print_list", "label": "print_list()", "file_type": "code", "source_file": "scripts/incident-commander", "source_location": "L132", "_callable": true}, {"id": "$graphify-root$_scripts_incident_commander_replay", "label": "replay()", "file_type": "code", "source_file": "scripts/incident-commander", "source_location": "L138", "_callable": true}, {"id": "$graphify-root$_scripts_incident_commander_read_triage_input", "label": "read_triage_input()", "file_type": "code", "source_file": "scripts/incident-commander", "source_location": "L168", "_callable": true}, {"id": "namespace", "label": "Namespace", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/incident-commander"}, {"id": "$graphify-root$_scripts_incident_commander_main", "label": "main()", "file_type": "code", "source_file": "scripts/incident-commander", "source_location": "L178", "_callable": true}, {"id": "$graphify-root$_scripts_incident_commander_rationale_2", "label": "Read-only incident classification and triage for homelab failures.", "file_type": "rationale", "source_file": "scripts/incident-commander", "source_location": "L2"}], "edges": [{"source": "$graphify-root$_scripts_incident_commander", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander", "target": "csv", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander", "target": "$graphify-root$_scripts_incident_commander_incident", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander", "target": "$graphify-root$_scripts_incident_commander_split_items", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L40", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander", "target": "$graphify-root$_scripts_incident_commander_load_incidents", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L44", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander_load_incidents", "target": "$graphify-root$_scripts_incident_commander_incident", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L44", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander", "target": "$graphify-root$_scripts_incident_commander_fixture_text", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L61", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander_fixture_text", "target": "$graphify-root$_scripts_incident_commander_incident", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L61", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander", "target": "$graphify-root$_scripts_incident_commander_classify", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L68", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander", "target": "$graphify-root$_scripts_incident_commander_incident_for_class", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L76", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander_incident_for_class", "target": "$graphify-root$_scripts_incident_commander_incident", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L76", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander_incident_for_class", "target": "$graphify-root$_scripts_incident_commander_incident", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L76", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander", "target": "$graphify-root$_scripts_incident_commander_render_triage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L83", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander_render_triage", "target": "$graphify-root$_scripts_incident_commander_incident", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L83", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander", "target": "$graphify-root$_scripts_incident_commander_first_evidence_lines", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L105", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander", "target": "$graphify-root$_scripts_incident_commander_print_triage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L110", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander", "target": "$graphify-root$_scripts_incident_commander_print_list", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L132", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander_print_list", "target": "$graphify-root$_scripts_incident_commander_incident", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L132", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander", "target": "$graphify-root$_scripts_incident_commander_replay", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L138", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander_replay", "target": "$graphify-root$_scripts_incident_commander_incident", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L138", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander", "target": "$graphify-root$_scripts_incident_commander_read_triage_input", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L168", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander_read_triage_input", "target": "namespace", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L168", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander", "target": "$graphify-root$_scripts_incident_commander_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L178", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander_load_incidents", "target": "$graphify-root$_scripts_incident_commander_incident", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L48", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander_load_incidents", "target": "$graphify-root$_scripts_incident_commander_split_items", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L54", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander_render_triage", "target": "$graphify-root$_scripts_incident_commander_classify", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L84", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander_render_triage", "target": "$graphify-root$_scripts_incident_commander_incident_for_class", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L85", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander_render_triage", "target": "$graphify-root$_scripts_incident_commander_first_evidence_lines", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L93", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander_replay", "target": "$graphify-root$_scripts_incident_commander_fixture_text", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L146", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander_replay", "target": "$graphify-root$_scripts_incident_commander_render_triage", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L147", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander_main", "target": "$graphify-root$_scripts_incident_commander_load_incidents", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L192", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander_main", "target": "$graphify-root$_scripts_incident_commander_print_list", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L194", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander_main", "target": "$graphify-root$_scripts_incident_commander_replay", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L196", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander_main", "target": "$graphify-root$_scripts_incident_commander_render_triage", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L198", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander_main", "target": "$graphify-root$_scripts_incident_commander_read_triage_input", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L198", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander_main", "target": "$graphify-root$_scripts_incident_commander_print_triage", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L202", "weight": 1.0}, {"source": "$graphify-root$_scripts_incident_commander_rationale_2", "target": "$graphify-root$_scripts_incident_commander", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/incident-commander", "source_location": "L2", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_incident_commander_split_items", "callee": "strip", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L41", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_incident_commander_split_items", "callee": "split", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L41", "receiver": "value"}, {"caller_nid": "$graphify-root$_scripts_incident_commander_split_items", "callee": "strip", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L41", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_incident_commander_load_incidents", "callee": "open", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L45", "receiver": "INCIDENTS_FILE"}, {"caller_nid": "$graphify-root$_scripts_incident_commander_load_incidents", "callee": "DictReader", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L46", "receiver": "csv"}, {"caller_nid": "$graphify-root$_scripts_incident_commander_load_incidents", "callee": "handle", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/incident-commander", "source_location": "L46"}, {"caller_nid": "$graphify-root$_scripts_incident_commander_fixture_text", "callee": "is_file", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L63", "receiver": "path"}, {"caller_nid": "$graphify-root$_scripts_incident_commander_fixture_text", "callee": "SystemExit", "is_member_call": false, "source_file": "scripts/incident-commander", "source_location": "L64", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_incident_commander_fixture_text", "callee": "read_text", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L65", "receiver": "path"}, {"caller_nid": "$graphify-root$_scripts_incident_commander_classify", "callee": "lower", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L69", "receiver": "text"}, {"caller_nid": "$graphify-root$_scripts_incident_commander_classify", "callee": "search", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L71", "receiver": "re"}, {"caller_nid": "$graphify-root$_scripts_incident_commander_first_evidence_lines", "callee": "strip", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L106", "receiver": "line"}, {"caller_nid": "$graphify-root$_scripts_incident_commander_first_evidence_lines", "callee": "splitlines", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L106", "receiver": "text"}, {"caller_nid": "$graphify-root$_scripts_incident_commander_first_evidence_lines", "callee": "strip", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L106", "receiver": "line"}, {"caller_nid": "$graphify-root$_scripts_incident_commander_replay", "callee": "append", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L149", "receiver": "results"}, {"caller_nid": "$graphify-root$_scripts_incident_commander_replay", "callee": "dumps", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L152", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_incident_commander_read_triage_input", "callee": "read_text", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L172", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_incident_commander_read_triage_input", "callee": "Path", "is_member_call": false, "source_file": "scripts/incident-commander", "source_location": "L172", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_incident_commander_read_triage_input", "callee": "isatty", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L173", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_incident_commander_read_triage_input", "callee": "read", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L174", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_incident_commander_read_triage_input", "callee": "SystemExit", "is_member_call": false, "source_file": "scripts/incident-commander", "source_location": "L175", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_incident_commander_main", "callee": "ArgumentParser", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L179", "receiver": "argparse"}, {"caller_nid": "$graphify-root$_scripts_incident_commander_main", "callee": "__doc__", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/incident-commander", "source_location": "L179"}, {"caller_nid": "$graphify-root$_scripts_incident_commander_main", "callee": "add_subparsers", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L180", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_incident_commander_main", "callee": "add_parser", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L181", "receiver": "subparsers"}, {"caller_nid": "$graphify-root$_scripts_incident_commander_main", "callee": "add_parser", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L182", "receiver": "subparsers"}, {"caller_nid": "$graphify-root$_scripts_incident_commander_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L183", "receiver": "replay_parser"}, {"caller_nid": "$graphify-root$_scripts_incident_commander_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L184", "receiver": "replay_parser"}, {"caller_nid": "$graphify-root$_scripts_incident_commander_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L185", "receiver": "replay_parser"}, {"caller_nid": "$graphify-root$_scripts_incident_commander_main", "callee": "add_parser", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L186", "receiver": "subparsers"}, {"caller_nid": "$graphify-root$_scripts_incident_commander_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L187", "receiver": "triage_parser"}, {"caller_nid": "$graphify-root$_scripts_incident_commander_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L188", "receiver": "triage_parser"}, {"caller_nid": "$graphify-root$_scripts_incident_commander_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L189", "receiver": "triage_parser"}, {"caller_nid": "$graphify-root$_scripts_incident_commander_main", "callee": "parse_args", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L190", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_incident_commander_main", "callee": "dumps", "is_member_call": true, "source_file": "scripts/incident-commander", "source_location": "L200", "receiver": "json"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/d22e6c7285b0c468bb1538d9f753c799137a75f62bde2f6a56331cf81e065eda.json b/graphify-out/cache/ast/v0.9.64-s4/d22e6c7285b0c468bb1538d9f753c799137a75f62bde2f6a56331cf81e065eda.json
new file mode 100644
index 0000000..af617df
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/d22e6c7285b0c468bb1538d9f753c799137a75f62bde2f6a56331cf81e065eda.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_synthetic_checks", "label": "synthetic-checks", "file_type": "code", "source_file": "scripts/synthetic-checks", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_synthetic_checks__entry", "label": "synthetic-checks script", "file_type": "code", "source_file": "scripts/synthetic-checks", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_synthetic_checks_section", "label": "section()", "file_type": "code", "source_file": "scripts/synthetic-checks", "source_location": "L16", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_synthetic_checks_check", "label": "check()", "file_type": "code", "source_file": "scripts/synthetic-checks", "source_location": "L20", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_synthetic_checks_warn_check", "label": "warn_check()", "file_type": "code", "source_file": "scripts/synthetic-checks", "source_location": "L43", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_synthetic_checks_http_ok", "label": "http_ok()", "file_type": "code", "source_file": "scripts/synthetic-checks", "source_location": "L66", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_synthetic_checks_dns_query", "label": "dns_query()", "file_type": "code", "source_file": "scripts/synthetic-checks", "source_location": "L82", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_synthetic_checks_kubectl_ok", "label": "kubectl_ok()", "file_type": "code", "source_file": "scripts/synthetic-checks", "source_location": "L116", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_synthetic_checks", "target": "$graphify-root$_scripts_synthetic_checks__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/synthetic-checks", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_synthetic_checks", "target": "$graphify-root$_scripts_synthetic_checks_section", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/synthetic-checks", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_scripts_synthetic_checks", "target": "$graphify-root$_scripts_synthetic_checks_check", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/synthetic-checks", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_scripts_synthetic_checks", "target": "$graphify-root$_scripts_synthetic_checks_warn_check", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/synthetic-checks", "source_location": "L43", "weight": 1.0}, {"source": "$graphify-root$_scripts_synthetic_checks", "target": "$graphify-root$_scripts_synthetic_checks_http_ok", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/synthetic-checks", "source_location": "L66", "weight": 1.0}, {"source": "$graphify-root$_scripts_synthetic_checks", "target": "$graphify-root$_scripts_synthetic_checks_dns_query", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/synthetic-checks", "source_location": "L82", "weight": 1.0}, {"source": "$graphify-root$_scripts_synthetic_checks", "target": "$graphify-root$_scripts_synthetic_checks_kubectl_ok", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/synthetic-checks", "source_location": "L116", "weight": 1.0}, {"source": "$graphify-root$_scripts_synthetic_checks__entry", "target": "$graphify-root$_scripts_synthetic_checks_section", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/synthetic-checks", "source_location": "L121", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_synthetic_checks__entry", "target": "$graphify-root$_scripts_synthetic_checks_check", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/synthetic-checks", "source_location": "L122", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_synthetic_checks__entry", "target": "$graphify-root$_scripts_synthetic_checks_warn_check", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/synthetic-checks", "source_location": "L124", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_synthetic_checks__entry", "target": "$graphify-root$_scripts_synthetic_checks_kubectl_ok", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/synthetic-checks", "source_location": "L138", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_synthetic_checks__entry", "source_file": "scripts/synthetic-checks", "source_location": "L2"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_synthetic_checks__entry", "source_file": "scripts/synthetic-checks", "source_location": "L131"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_synthetic_checks__entry", "source_file": "scripts/synthetic-checks", "source_location": "L154"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_synthetic_checks_section", "source_file": "scripts/synthetic-checks", "source_location": "L17"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_scripts_synthetic_checks_check", "source_file": "scripts/synthetic-checks", "source_location": "L22"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_synthetic_checks_check", "source_file": "scripts/synthetic-checks", "source_location": "L26"}, {"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_synthetic_checks_check", "source_file": "scripts/synthetic-checks", "source_location": "L27"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_scripts_synthetic_checks_warn_check", "source_file": "scripts/synthetic-checks", "source_location": "L45"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_synthetic_checks_warn_check", "source_file": "scripts/synthetic-checks", "source_location": "L49"}, {"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_synthetic_checks_warn_check", "source_file": "scripts/synthetic-checks", "source_location": "L50"}, {"language": "bash", "callee": "curl", "caller_nid": "$graphify-root$_scripts_synthetic_checks_http_ok", "source_file": "scripts/synthetic-checks", "source_location": "L70"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_synthetic_checks_http_ok", "source_file": "scripts/synthetic-checks", "source_location": "L73"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_synthetic_checks_http_ok", "source_file": "scripts/synthetic-checks", "source_location": "L77"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_synthetic_checks_dns_query", "source_file": "scripts/synthetic-checks", "source_location": "L86"}, {"language": "bash", "callee": "dig", "caller_nid": "$graphify-root$_scripts_synthetic_checks_dns_query", "source_file": "scripts/synthetic-checks", "source_location": "L87"}, {"language": "bash", "callee": "grep", "caller_nid": "$graphify-root$_scripts_synthetic_checks_dns_query", "source_file": "scripts/synthetic-checks", "source_location": "L87"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_scripts_synthetic_checks_dns_query", "source_file": "scripts/synthetic-checks", "source_location": "L89"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_synthetic_checks_kubectl_ok", "source_file": "scripts/synthetic-checks", "source_location": "L117"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_scripts_synthetic_checks_kubectl_ok", "source_file": "scripts/synthetic-checks", "source_location": "L118"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/d240b05bb5d0b9deb73c280852cb49606278a2166c4de9c5da2acf4fd0da81d8.json b/graphify-out/cache/ast/v0.9.64-s4/d240b05bb5d0b9deb73c280852cb49606278a2166c4de9c5da2acf4fd0da81d8.json
new file mode 100644
index 0000000..2eca81f
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/d240b05bb5d0b9deb73c280852cb49606278a2166c4de9c5da2acf4fd0da81d8.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_capacity_limits", "label": "capacity-limits", "file_type": "code", "source_file": "scripts/capacity-limits", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_capacity_limits__entry", "label": "capacity-limits script", "file_type": "code", "source_file": "scripts/capacity-limits", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_capacity_limits_cleanup", "label": "cleanup()", "file_type": "code", "source_file": "scripts/capacity-limits", "source_location": "L10", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_capacity_limits_usage", "label": "usage()", "file_type": "code", "source_file": "scripts/capacity-limits", "source_location": "L17", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_capacity_limits", "target": "$graphify-root$_scripts_capacity_limits__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/capacity-limits", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_capacity_limits", "target": "$graphify-root$_scripts_capacity_limits_cleanup", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/capacity-limits", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_scripts_capacity_limits", "target": "$graphify-root$_scripts_capacity_limits_usage", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/capacity-limits", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_scripts_capacity_limits__entry", "target": "$graphify-root$_scripts_capacity_limits_usage", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/capacity-limits", "source_location": "L28", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_capacity_limits__entry", "source_file": "scripts/capacity-limits", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_capacity_limits__entry", "source_file": "scripts/capacity-limits", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_capacity_limits__entry", "source_file": "scripts/capacity-limits", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_capacity_limits__entry", "source_file": "scripts/capacity-limits", "source_location": "L4"}, {"language": "bash", "callee": "trap", "caller_nid": "$graphify-root$_scripts_capacity_limits__entry", "source_file": "scripts/capacity-limits", "source_location": "L15"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_capacity_limits__entry", "source_file": "scripts/capacity-limits", "source_location": "L29"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_scripts_capacity_limits__entry", "source_file": "scripts/capacity-limits", "source_location": "L33"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_capacity_limits__entry", "source_file": "scripts/capacity-limits", "source_location": "L34"}, {"language": "bash", "callee": "mktemp", "caller_nid": "$graphify-root$_scripts_capacity_limits__entry", "source_file": "scripts/capacity-limits", "source_location": "L42"}, {"language": "bash", "callee": "kubectl", "caller_nid": "$graphify-root$_scripts_capacity_limits__entry", "source_file": "scripts/capacity-limits", "source_location": "L44"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_scripts_capacity_limits__entry", "source_file": "scripts/capacity-limits", "source_location": "L49"}, {"language": "bash", "callee": "rm", "caller_nid": "$graphify-root$_scripts_capacity_limits_cleanup", "source_file": "scripts/capacity-limits", "source_location": "L12"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_capacity_limits_usage", "source_file": "scripts/capacity-limits", "source_location": "L18"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/d591db2d9adc11c573a58d6d6d546d73a067199f3c2f5aa8d04dcf013a4e4708.json b/graphify-out/cache/ast/v0.9.64-s4/d591db2d9adc11c573a58d6d6d546d73a067199f3c2f5aa8d04dcf013a4e4708.json
new file mode 100644
index 0000000..671522b
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/d591db2d9adc11c573a58d6d6d546d73a067199f3c2f5aa8d04dcf013a4e4708.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_render_docs", "label": "render-docs", "file_type": "code", "source_file": "scripts/render-docs", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_render_docs__entry", "label": "render-docs script", "file_type": "code", "source_file": "scripts/render-docs", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_render_docs_usage", "label": "usage()", "file_type": "code", "source_file": "scripts/render-docs", "source_location": "L12", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_render_docs_read_inventory_value", "label": "read_inventory_value()", "file_type": "code", "source_file": "scripts/render-docs", "source_location": "L23", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_render_docs_render_template", "label": "render_template()", "file_type": "code", "source_file": "scripts/render-docs", "source_location": "L62", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "$graphify-root$_scripts_render_docs_main", "label": "main()", "file_type": "code", "source_file": "scripts/render-docs", "source_location": "L74", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_render_docs", "target": "$graphify-root$_scripts_render_docs__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/render-docs", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_docs", "target": "$graphify-root$_scripts_render_docs_usage", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/render-docs", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_docs", "target": "$graphify-root$_scripts_render_docs_read_inventory_value", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/render-docs", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_docs", "target": "$graphify-root$_scripts_render_docs_render_template", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/render-docs", "source_location": "L62", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_docs", "target": "$graphify-root$_scripts_render_docs_main", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/render-docs", "source_location": "L74", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_docs__entry", "target": "$graphify-root$_scripts_render_docs_main", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/render-docs", "source_location": "L157", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_render_docs_main", "target": "$graphify-root$_scripts_render_docs_usage", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/render-docs", "source_location": "L86", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_render_docs_main", "target": "$graphify-root$_scripts_render_docs_read_inventory_value", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/render-docs", "source_location": "L100", "weight": 1.0, "context": "call"}, {"source": "$graphify-root$_scripts_render_docs_main", "target": "$graphify-root$_scripts_render_docs_render_template", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/render-docs", "source_location": "L108", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_render_docs__entry", "source_file": "scripts/render-docs", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_render_docs__entry", "source_file": "scripts/render-docs", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_render_docs__entry", "source_file": "scripts/render-docs", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_render_docs__entry", "source_file": "scripts/render-docs", "source_location": "L4"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_render_docs_usage", "source_file": "scripts/render-docs", "source_location": "L13"}, {"language": "bash", "callee": "python3", "caller_nid": "$graphify-root$_scripts_render_docs_read_inventory_value", "source_file": "scripts/render-docs", "source_location": "L26"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_render_docs_render_template", "source_file": "scripts/render-docs", "source_location": "L68"}, {"language": "bash", "callee": "sed", "caller_nid": "$graphify-root$_scripts_render_docs_render_template", "source_file": "scripts/render-docs", "source_location": "L71"}, {"language": "bash", "callee": "return", "caller_nid": "$graphify-root$_scripts_render_docs_main", "source_file": "scripts/render-docs", "source_location": "L87"}, {"language": "bash", "callee": "printf", "caller_nid": "$graphify-root$_scripts_render_docs_main", "source_file": "scripts/render-docs", "source_location": "L96"}, {"language": "bash", "callee": "mktemp", "caller_nid": "$graphify-root$_scripts_render_docs_main", "source_file": "scripts/render-docs", "source_location": "L107"}, {"language": "bash", "callee": "cmp", "caller_nid": "$graphify-root$_scripts_render_docs_main", "source_file": "scripts/render-docs", "source_location": "L111"}, {"language": "bash", "callee": "diff", "caller_nid": "$graphify-root$_scripts_render_docs_main", "source_file": "scripts/render-docs", "source_location": "L113"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_render_docs_main", "source_file": "scripts/render-docs", "source_location": "L113"}, {"language": "bash", "callee": "rm", "caller_nid": "$graphify-root$_scripts_render_docs_main", "source_file": "scripts/render-docs", "source_location": "L114"}, {"language": "bash", "callee": "mv", "caller_nid": "$graphify-root$_scripts_render_docs_main", "source_file": "scripts/render-docs", "source_location": "L118"}, {"language": "bash", "callee": "continue", "caller_nid": "$graphify-root$_scripts_render_docs_main", "source_file": "scripts/render-docs", "source_location": "L124"}, {"language": "bash", "callee": "basename", "caller_nid": "$graphify-root$_scripts_render_docs_main", "source_file": "scripts/render-docs", "source_location": "L125"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/d9c5c939780b6a451ca9270583c069894dd65453f6aecdf5d26cea25bd05a0ee.json b/graphify-out/cache/ast/v0.9.64-s4/d9c5c939780b6a451ca9270583c069894dd65453f6aecdf5d26cea25bd05a0ee.json
new file mode 100644
index 0000000..6e6b91e
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/d9c5c939780b6a451ca9270583c069894dd65453f6aecdf5d26cea25bd05a0ee.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_bootstrap_provisioning_main_tf", "label": "main.tf", "file_type": "code", "source_file": "bootstrap/provisioning/main.tf", "source_location": null, "type": "terraform_file"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_repo_root", "label": "local.repo_root", "file_type": "code", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L12"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_tftp_root", "label": "local.tftp_root", "file_type": "code", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L13"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_http_root", "label": "local.http_root", "file_type": "code", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L14"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_debian_netboot_base_url", "label": "local.debian_netboot_base_url", "file_type": "code", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L16"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_preseed_url", "label": "local.preseed_url", "file_type": "code", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L17"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_template_packages", "label": "local.template_packages", "file_type": "code", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L19"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_template_user_ssh_keys", "label": "local.template_user_ssh_keys", "file_type": "code", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L45"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_ssh_authorized_keys_base64", "label": "local.ssh_authorized_keys_base64", "file_type": "code", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L46"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_node_dns_servers", "label": "local.node_dns_servers", "file_type": "code", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L47"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_kernel_cgroup_boot_options", "label": "local.kernel_cgroup_boot_options", "file_type": "code", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L48"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_pimox_template_net0", "label": "local.pimox_template_net0", "file_type": "code", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L49"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_template_package_list", "label": "local.template_package_list", "file_type": "code", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L50"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_provisioning_http_base_url", "label": "local.provisioning_http_base_url", "file_type": "code", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L51"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_provisioning_script_url", "label": "local.provisioning_script_url", "file_type": "code", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L52"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_prepare_template_script_url", "label": "local.prepare_template_script_url", "file_type": "code", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L53"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_dnsmasq_conf", "label": "local.dnsmasq_conf", "file_type": "code", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L55"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_nginx_conf", "label": "local.nginx_conf", "file_type": "code", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L62"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_grub_cfg", "label": "local.grub_cfg", "file_type": "code", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L67"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_rescue_index", "label": "local.rescue_index", "file_type": "code", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L75"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_preseed_cfg", "label": "local.preseed_cfg", "file_type": "code", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L81"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_golden_node_prepare", "label": "local.golden_node_prepare", "file_type": "code", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L98"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_prepare_template", "label": "local.prepare_template", "file_type": "code", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L107"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_config_hash", "label": "local.config_hash", "file_type": "code", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L114"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_create", "label": "null_resource.pimox_template_vm_create", "file_type": "code", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L126", "attributes": {"count": "var.pimox_template_builder_enabled ? 1 : 0", "depends_on": ["null_resource.provisioning_host"], "triggers": {"pimox_host": "var.pimox_host", "pimox_user": "var.pimox_user", "ssh_key_path": "var.pimox_ssh_key_path", "qm_bin": "var.pimox_qm_bin", "builder_version": "6", "config_hash": "local.config_hash", "vmid": "tostring(var.pimox_template_vmid)", "name": "var.pimox_template_name", "cores": "tostring(var.pimox_template_cores)", "memory": "tostring(var.pimox_template_memory)", "bridge": "var.pimox_template_bridge", "net0": "local.pimox_template_net0", "kvm_cpuset": "var.pimox_template_kvm_cpuset", "scsi0": "var.pimox_template_scsi0", "efidisk0": "var.pimox_template_efidisk0"}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_seal", "label": "null_resource.pimox_template_vm_seal", "file_type": "code", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L287", "attributes": {"count": "var.pimox_template_builder_enabled ? 1 : 0", "depends_on": ["null_resource.pimox_template_vm_create"], "triggers": {"pimox_host": "var.pimox_host", "pimox_user": "var.pimox_user", "pimox_key_path": "var.pimox_ssh_key_path", "pimox_qm_bin": "var.pimox_qm_bin", "guest_host": "var.pimox_template_build_host", "guest_user": "var.pimox_template_build_user", "guest_key_path": "var.pimox_template_build_ssh_key_path", "known_hosts_file": "\"${local.repo_root}/.lab/pimox-template-known_hosts\"", "seal_version": "5", "create_id": "null_resource.pimox_template_vm_create[0].id", "config_hash": "local.config_hash", "timeout": "var.pimox_template_build_timeout", "timeout_seconds": "tostring(var.pimox_template_build_timeout_seconds)", "ssh_timeout_seconds": "tostring(var.pimox_template_guest_ssh_timeout_seconds)", "guest_ip_prefix": "var.pimox_template_guest_ip_prefix", "vmid": "tostring(var.pimox_template_vmid)"}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_finalize", "label": "null_resource.pimox_template_vm_finalize", "file_type": "code", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L466", "attributes": {"count": "var.pimox_template_builder_enabled ? 1 : 0", "depends_on": ["null_resource.pimox_template_vm_seal"], "triggers": {"pimox_host": "var.pimox_host", "pimox_user": "var.pimox_user", "ssh_key_path": "var.pimox_ssh_key_path", "qm_bin": "var.pimox_qm_bin", "finalizer_version": "5", "config_hash": "local.config_hash", "seal_id": "null_resource.pimox_template_vm_seal[0].id", "vmid": "tostring(var.pimox_template_vmid)"}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_provisioning_host", "label": "null_resource.provisioning_host", "file_type": "code", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L538", "attributes": {"triggers": {"host": "var.provisioning_host", "user": "var.provisioning_user", "ssh_key_path": "var.provisioning_ssh_key_path", "install_dir": "var.provisioning_install_dir", "tftp_root": "local.tftp_root", "http_root": "local.http_root", "netboot_base_url": "local.debian_netboot_base_url", "pxe_boot_file": "var.pxe_boot_file", "http_port": "tostring(var.http_port)", "config_hash": "local.config_hash", "provisioning_layer": "1", "provisioner_version": "4"}}}], "edges": [{"source": "$graphify-root$_bootstrap_provisioning_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_repo_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_tftp_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L13", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_tftp_root", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_provisioning_install_dir", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_http_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L14", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_http_root", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_provisioning_install_dir", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_debian_netboot_base_url", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L16", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_debian_netboot_base_url", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_debian_netboot_base_url", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L16", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_debian_netboot_base_url", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_debian_mirror_host", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L16", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_debian_netboot_base_url", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_debian_mirror_directory", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L16", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_debian_netboot_base_url", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_debian_suite", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_preseed_url", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L17", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_preseed_url", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_http_host", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L17", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_preseed_url", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_http_port", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_template_packages", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L19", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_template_packages", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_additional_template_packages", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L43", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_template_user_ssh_keys", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L45", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_template_user_ssh_keys", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_user_ssh_authorized_keys", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L45", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_template_user_ssh_keys", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_user_ssh_public_key_path", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L45", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_ssh_authorized_keys_base64", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L46", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_ssh_authorized_keys_base64", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_template_user_ssh_keys", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L46", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_node_dns_servers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L47", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_node_dns_servers", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_node_dns_servers", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L47", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_kernel_cgroup_boot_options", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L48", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_kernel_cgroup_boot_options", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_kernel_cgroup_boot_options", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L48", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_pimox_template_net0", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L49", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_pimox_template_net0", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_mac", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L49", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_pimox_template_net0", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_bridge", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L49", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_template_package_list", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L50", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_template_package_list", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_template_packages", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L50", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_provisioning_http_base_url", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L51", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_provisioning_http_base_url", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_http_host", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L51", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_provisioning_http_base_url", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_http_port", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L51", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_provisioning_script_url", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L52", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_provisioning_script_url", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_provisioning_http_base_url", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L52", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_prepare_template_script_url", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L53", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_prepare_template_script_url", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_provisioning_http_base_url", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L53", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_dnsmasq_conf", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L55", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_dnsmasq_conf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_provisioning_interface", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L56", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_dnsmasq_conf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_proxy_dhcp_range", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L57", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_dnsmasq_conf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pxe_boot_file", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L58", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_dnsmasq_conf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_tftp_root", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L59", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_nginx_conf", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L62", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_nginx_conf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_http_port", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L63", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_nginx_conf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_http_root", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L64", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_grub_cfg", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L67", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_grub_cfg", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_preseed_url", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L68", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_grub_cfg", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_hostname", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L69", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_grub_cfg", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_domain", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L70", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_grub_cfg", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pxe_default_menu_entry", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L71", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_grub_cfg", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pxe_menu_timeout", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L72", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_rescue_index", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L75", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_rescue_index", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_provisioning_http_base_url", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L76", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_rescue_index", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_preseed_url", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L77", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_rescue_index", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_tftp_root", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L78", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_preseed_cfg", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L81", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_preseed_cfg", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_locale", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L82", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_preseed_cfg", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_keyboard", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L83", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_preseed_cfg", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_timezone", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L84", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_preseed_cfg", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_hostname", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L85", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_preseed_cfg", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_domain", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L86", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_preseed_cfg", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_disk", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L87", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_preseed_cfg", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_user", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L88", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_preseed_cfg", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_user_full_name", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L89", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_preseed_cfg", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_user_password_hash", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L90", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_preseed_cfg", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_debian_mirror_host", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L91", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_preseed_cfg", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_debian_mirror_directory", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L92", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_preseed_cfg", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_template_package_list", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L93", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_preseed_cfg", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_provisioning_script_url", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L94", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_preseed_cfg", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_prepare_template_script_url", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L95", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_golden_node_prepare", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L98", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_golden_node_prepare", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_user", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L99", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_golden_node_prepare", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_ssh_authorized_keys_base64", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L100", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_golden_node_prepare", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_kubernetes_minor_version", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L101", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_golden_node_prepare", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_kernel_cgroup_boot_options", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L102", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_golden_node_prepare", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_registry_endpoint", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L103", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_golden_node_prepare", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_node_dns_servers", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L104", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_prepare_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L107", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_prepare_template", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_hostname", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L108", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_prepare_template", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_clone_hostname_prefix", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L109", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_prepare_template", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_template_domain", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L110", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_prepare_template", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_kernel_cgroup_boot_options", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L111", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_config_hash", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L114", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_config_hash", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_dnsmasq_conf", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L115", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_config_hash", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_nginx_conf", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L116", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_config_hash", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_grub_cfg", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L117", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_config_hash", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_rescue_index", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L118", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_config_hash", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_preseed_cfg", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L119", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_config_hash", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_golden_node_prepare", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L120", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_config_hash", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_prepare_template", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L121", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_config_hash", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_debian_netboot_base_url", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L122", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_create", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L126", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_create", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_builder_enabled", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L127", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_create", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_provisioning_host", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L129", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_create", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_host", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L132", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_create", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_user", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L133", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_create", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_ssh_key_path", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L134", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_create", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_qm_bin", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L135", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_create", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_config_hash", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L137", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_create", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_vmid", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L138", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_create", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_name", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L139", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_create", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_cores", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L140", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_create", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_memory", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L141", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_create", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_bridge", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L142", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_create", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_pimox_template_net0", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L143", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_create", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_kvm_cpuset", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L144", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_create", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_scsi0", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L145", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_create", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_efidisk0", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L146", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_create", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_replace_existing", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L162", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_seal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L287", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_seal", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_builder_enabled", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L288", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_seal", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_create", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L290", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_seal", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_host", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L293", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_seal", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_user", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L294", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_seal", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_ssh_key_path", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L295", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_seal", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_qm_bin", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L296", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_seal", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_build_host", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L297", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_seal", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_build_user", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L298", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_seal", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_build_ssh_key_path", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L299", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_seal", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_repo_root", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L300", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_seal", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_create", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L302", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_seal", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_config_hash", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L303", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_seal", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_build_timeout", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L304", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_seal", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_build_timeout_seconds", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L305", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_seal", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_guest_ssh_timeout_seconds", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L306", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_seal", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_guest_ip_prefix", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L307", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_seal", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_vmid", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L308", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_finalize", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L466", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_finalize", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_builder_enabled", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L467", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_finalize", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_seal", "relation": "depends_on", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L469", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_finalize", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_host", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L472", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_finalize", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_user", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L473", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_finalize", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_ssh_key_path", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L474", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_finalize", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_qm_bin", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L475", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_finalize", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_config_hash", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L477", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_finalize", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_seal", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L478", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_pimox_template_vm_finalize", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pimox_template_vmid", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L479", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_provisioning_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_provisioning_host", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L538", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_provisioning_host", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_provisioning_host", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L540", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_provisioning_host", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_provisioning_user", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L541", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_provisioning_host", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_provisioning_ssh_key_path", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L542", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_provisioning_host", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_provisioning_install_dir", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L543", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_provisioning_host", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_tftp_root", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L544", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_provisioning_host", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_http_root", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L545", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_provisioning_host", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_debian_netboot_base_url", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L546", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_provisioning_host", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_pxe_boot_file", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L547", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_provisioning_host", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_var_http_port", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L548", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_provisioning_host", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_config_hash", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L549", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_provisioning_host", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_dnsmasq_conf", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L569", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_provisioning_host", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_nginx_conf", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L574", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_provisioning_host", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_grub_cfg", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L579", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_provisioning_host", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_rescue_index", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L584", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_provisioning_host", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_preseed_cfg", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L589", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_provisioning_host", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_golden_node_prepare", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L594", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_null_resource_provisioning_host", "target": "terraform_home_jv_my_homelab_configs_bootstrap_provisioning_8f819ac6b7a40fe8_local_prepare_template", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/provisioning/main.tf", "source_location": "L599", "weight": 1.0}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/da933b4a2796414a162e4f59a98b3940dd21fbd53a1e04de6d4151d153069e83.json b/graphify-out/cache/ast/v0.9.64-s4/da933b4a2796414a162e4f59a98b3940dd21fbd53a1e04de6d4151d153069e83.json
new file mode 100644
index 0000000..a329766
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/da933b4a2796414a162e4f59a98b3940dd21fbd53a1e04de6d4151d153069e83.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_infra_arr_stack_bootstrap_sh", "label": "bootstrap.sh", "file_type": "code", "source_file": "infra/arr-stack/bootstrap.sh", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_infra_arr_stack_bootstrap_sh__entry", "label": "bootstrap.sh script", "file_type": "code", "source_file": "infra/arr-stack/bootstrap.sh", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}], "edges": [{"source": "$graphify-root$_infra_arr_stack_bootstrap_sh", "target": "$graphify-root$_infra_arr_stack_bootstrap_sh__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/arr-stack/bootstrap.sh", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_infra_arr_stack_bootstrap_sh__entry", "source_file": "infra/arr-stack/bootstrap.sh", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_infra_arr_stack_bootstrap_sh__entry", "source_file": "infra/arr-stack/bootstrap.sh", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_infra_arr_stack_bootstrap_sh__entry", "source_file": "infra/arr-stack/bootstrap.sh", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_infra_arr_stack_bootstrap_sh__entry", "source_file": "infra/arr-stack/bootstrap.sh", "source_location": "L4"}, {"language": "bash", "callee": "cp", "caller_nid": "$graphify-root$_infra_arr_stack_bootstrap_sh__entry", "source_file": "infra/arr-stack/bootstrap.sh", "source_location": "L8"}, {"language": "bash", "callee": "sudo", "caller_nid": "$graphify-root$_infra_arr_stack_bootstrap_sh__entry", "source_file": "infra/arr-stack/bootstrap.sh", "source_location": "L20"}, {"language": "bash", "callee": "docker", "caller_nid": "$graphify-root$_infra_arr_stack_bootstrap_sh__entry", "source_file": "infra/arr-stack/bootstrap.sh", "source_location": "L39"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_infra_arr_stack_bootstrap_sh__entry", "source_file": "infra/arr-stack/bootstrap.sh", "source_location": "L41"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/dfad3141e807d7a9590addc459a0064e810f35051d892b88c4be96b8289e57d7.json b/graphify-out/cache/ast/v0.9.64-s4/dfad3141e807d7a9590addc459a0064e810f35051d892b88c4be96b8289e57d7.json
new file mode 100644
index 0000000..486b01f
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/dfad3141e807d7a9590addc459a0064e810f35051d892b88c4be96b8289e57d7.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_ask", "label": "ask", "file_type": "code", "source_file": "scripts/ask", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_ask__entry", "label": "ask script", "file_type": "code", "source_file": "scripts/ask", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_ask_usage", "label": "usage()", "file_type": "code", "source_file": "scripts/ask", "source_location": "L6", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_ask", "target": "$graphify-root$_scripts_ask__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/ask", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_ask", "target": "$graphify-root$_scripts_ask_usage", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/ask", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_scripts_ask__entry", "target": "$graphify-root$_scripts_ask_usage", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/ask", "source_location": "L22", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_ask__entry", "source_file": "scripts/ask", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_ask__entry", "source_file": "scripts/ask", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_ask__entry", "source_file": "scripts/ask", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_ask__entry", "source_file": "scripts/ask", "source_location": "L4"}, {"language": "bash", "callee": "shift", "caller_nid": "$graphify-root$_scripts_ask__entry", "source_file": "scripts/ask", "source_location": "L19"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_ask__entry", "source_file": "scripts/ask", "source_location": "L23"}, {"language": "bash", "callee": "exec", "caller_nid": "$graphify-root$_scripts_ask__entry", "source_file": "scripts/ask", "source_location": "L28"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_ask_usage", "source_file": "scripts/ask", "source_location": "L7"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/e44a9269c5f862940de5f3af9d733f049564740141402292f7646f2d317d5da3.json b/graphify-out/cache/ast/v0.9.64-s4/e44a9269c5f862940de5f3af9d733f049564740141402292f7646f2d317d5da3.json
new file mode 100644
index 0000000..6bf4259
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/e44a9269c5f862940de5f3af9d733f049564740141402292f7646f2d317d5da3.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_infra_youtube_backup_backup_youtube_sh", "label": "backup-youtube.sh", "file_type": "code", "source_file": "infra/youtube-backup/backup-youtube.sh", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_infra_youtube_backup_backup_youtube_sh__entry", "label": "backup-youtube.sh script", "file_type": "code", "source_file": "infra/youtube-backup/backup-youtube.sh", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}], "edges": [{"source": "$graphify-root$_infra_youtube_backup_backup_youtube_sh", "target": "$graphify-root$_infra_youtube_backup_backup_youtube_sh__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "infra/youtube-backup/backup-youtube.sh", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_infra_youtube_backup_backup_youtube_sh__entry", "source_file": "infra/youtube-backup/backup-youtube.sh", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_infra_youtube_backup_backup_youtube_sh__entry", "source_file": "infra/youtube-backup/backup-youtube.sh", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_infra_youtube_backup_backup_youtube_sh__entry", "source_file": "infra/youtube-backup/backup-youtube.sh", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_infra_youtube_backup_backup_youtube_sh__entry", "source_file": "infra/youtube-backup/backup-youtube.sh", "source_location": "L4"}, {"language": "bash", "callee": "command", "caller_nid": "$graphify-root$_infra_youtube_backup_backup_youtube_sh__entry", "source_file": "infra/youtube-backup/backup-youtube.sh", "source_location": "L30"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_infra_youtube_backup_backup_youtube_sh__entry", "source_file": "infra/youtube-backup/backup-youtube.sh", "source_location": "L31"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_infra_youtube_backup_backup_youtube_sh__entry", "source_file": "infra/youtube-backup/backup-youtube.sh", "source_location": "L32"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_infra_youtube_backup_backup_youtube_sh__entry", "source_file": "infra/youtube-backup/backup-youtube.sh", "source_location": "L36"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_infra_youtube_backup_backup_youtube_sh__entry", "source_file": "infra/youtube-backup/backup-youtube.sh", "source_location": "L37"}, {"language": "bash", "callee": "grep", "caller_nid": "$graphify-root$_infra_youtube_backup_backup_youtube_sh__entry", "source_file": "infra/youtube-backup/backup-youtube.sh", "source_location": "L47"}, {"language": "bash", "callee": "touch", "caller_nid": "$graphify-root$_infra_youtube_backup_backup_youtube_sh__entry", "source_file": "infra/youtube-backup/backup-youtube.sh", "source_location": "L53"}, {"language": "bash", "callee": "date", "caller_nid": "$graphify-root$_infra_youtube_backup_backup_youtube_sh__entry", "source_file": "infra/youtube-backup/backup-youtube.sh", "source_location": "L55"}, {"language": "bash", "callee": "yt-dlp", "caller_nid": "$graphify-root$_infra_youtube_backup_backup_youtube_sh__entry", "source_file": "infra/youtube-backup/backup-youtube.sh", "source_location": "L105"}, {"language": "bash", "callee": "tee", "caller_nid": "$graphify-root$_infra_youtube_backup_backup_youtube_sh__entry", "source_file": "infra/youtube-backup/backup-youtube.sh", "source_location": "L105"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/e83d99e360dfac497f4cfda341797af75b94403b582300fbd6bfb2ae479137b0.json b/graphify-out/cache/ast/v0.9.64-s4/e83d99e360dfac497f4cfda341797af75b94403b582300fbd6bfb2ae479137b0.json
new file mode 100644
index 0000000..45b284d
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/e83d99e360dfac497f4cfda341797af75b94403b582300fbd6bfb2ae479137b0.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_render_service_catalog", "label": "render-service-catalog", "file_type": "code", "source_file": "scripts/render-service-catalog", "source_location": "L1"}, {"id": "$graphify-root$_scripts_render_service_catalog_parse_inventory", "label": "parse_inventory()", "file_type": "code", "source_file": "scripts/render-service-catalog", "source_location": "L19", "_callable": true}, {"id": "path", "label": "Path", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/render-service-catalog"}, {"id": "$graphify-root$_scripts_render_service_catalog_value", "label": "value()", "file_type": "code", "source_file": "scripts/render-service-catalog", "source_location": "L61", "_callable": true}, {"id": "$graphify-root$_scripts_render_service_catalog_host_ip", "label": "host_ip()", "file_type": "code", "source_file": "scripts/render-service-catalog", "source_location": "L70", "_callable": true}, {"id": "$graphify-root$_scripts_render_service_catalog_host_label", "label": "host_label()", "file_type": "code", "source_file": "scripts/render-service-catalog", "source_location": "L76", "_callable": true}, {"id": "$graphify-root$_scripts_render_service_catalog_service_rows", "label": "service_rows()", "file_type": "code", "source_file": "scripts/render-service-catalog", "source_location": "L88", "_callable": true}, {"id": "$graphify-root$_scripts_render_service_catalog_host_rows", "label": "host_rows()", "file_type": "code", "source_file": "scripts/render-service-catalog", "source_location": "L291", "_callable": true}, {"id": "$graphify-root$_scripts_render_service_catalog_markdown_table", "label": "markdown_table()", "file_type": "code", "source_file": "scripts/render-service-catalog", "source_location": "L308", "_callable": true}, {"id": "$graphify-root$_scripts_render_service_catalog_md_link", "label": "md_link()", "file_type": "code", "source_file": "scripts/render-service-catalog", "source_location": "L315", "_callable": true}, {"id": "$graphify-root$_scripts_render_service_catalog_render_markdown", "label": "render_markdown()", "file_type": "code", "source_file": "scripts/render-service-catalog", "source_location": "L323", "_callable": true}, {"id": "$graphify-root$_scripts_render_service_catalog_html_link", "label": "html_link()", "file_type": "code", "source_file": "scripts/render-service-catalog", "source_location": "L370", "_callable": true}, {"id": "$graphify-root$_scripts_render_service_catalog_render_html", "label": "render_html()", "file_type": "code", "source_file": "scripts/render-service-catalog", "source_location": "L379", "_callable": true}, {"id": "$graphify-root$_scripts_render_service_catalog_write_if_changed", "label": "write_if_changed()", "file_type": "code", "source_file": "scripts/render-service-catalog", "source_location": "L459", "_callable": true}, {"id": "$graphify-root$_scripts_render_service_catalog_check_file", "label": "check_file()", "file_type": "code", "source_file": "scripts/render-service-catalog", "source_location": "L464", "_callable": true}, {"id": "$graphify-root$_scripts_render_service_catalog_main", "label": "main()", "file_type": "code", "source_file": "scripts/render-service-catalog", "source_location": "L470", "_callable": true}, {"id": "$graphify-root$_scripts_render_service_catalog_rationale_2", "label": "Render homelab service catalog artifacts from homelab.yml.", "file_type": "rationale", "source_file": "scripts/render-service-catalog", "source_location": "L2"}], "edges": [{"source": "$graphify-root$_scripts_render_service_catalog", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog", "target": "html", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog", "target": "pathlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog", "target": "$graphify-root$_scripts_render_service_catalog_parse_inventory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L19", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog_parse_inventory", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L19", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog", "target": "$graphify-root$_scripts_render_service_catalog_value", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L61", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog", "target": "$graphify-root$_scripts_render_service_catalog_host_ip", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L70", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog", "target": "$graphify-root$_scripts_render_service_catalog_host_label", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L76", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog", "target": "$graphify-root$_scripts_render_service_catalog_service_rows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L88", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog", "target": "$graphify-root$_scripts_render_service_catalog_host_rows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L291", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog", "target": "$graphify-root$_scripts_render_service_catalog_markdown_table", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L308", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog", "target": "$graphify-root$_scripts_render_service_catalog_md_link", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L315", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog", "target": "$graphify-root$_scripts_render_service_catalog_render_markdown", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L323", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog", "target": "$graphify-root$_scripts_render_service_catalog_html_link", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L370", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog", "target": "$graphify-root$_scripts_render_service_catalog_render_html", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L379", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog", "target": "$graphify-root$_scripts_render_service_catalog_write_if_changed", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L459", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog_write_if_changed", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L459", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog", "target": "$graphify-root$_scripts_render_service_catalog_check_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L464", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog_check_file", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L464", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog", "target": "$graphify-root$_scripts_render_service_catalog_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L470", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog_host_ip", "target": "$graphify-root$_scripts_render_service_catalog_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L72", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog_host_label", "target": "$graphify-root$_scripts_render_service_catalog_host_ip", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L79", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog_host_label", "target": "$graphify-root$_scripts_render_service_catalog_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L80", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog_service_rows", "target": "$graphify-root$_scripts_render_service_catalog_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L89", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog_service_rows", "target": "$graphify-root$_scripts_render_service_catalog_host_ip", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L214", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog_host_rows", "target": "$graphify-root$_scripts_render_service_catalog_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L297", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog_render_markdown", "target": "$graphify-root$_scripts_render_service_catalog_host_rows", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L324", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog_render_markdown", "target": "$graphify-root$_scripts_render_service_catalog_service_rows", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L325", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog_render_markdown", "target": "$graphify-root$_scripts_render_service_catalog_markdown_table", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L326", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog_render_markdown", "target": "$graphify-root$_scripts_render_service_catalog_host_label", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L335", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog_render_markdown", "target": "$graphify-root$_scripts_render_service_catalog_md_link", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L337", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog_render_html", "target": "$graphify-root$_scripts_render_service_catalog_host_rows", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L380", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog_render_html", "target": "$graphify-root$_scripts_render_service_catalog_service_rows", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L381", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog_render_html", "target": "$graphify-root$_scripts_render_service_catalog_host_label", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L395", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog_render_html", "target": "$graphify-root$_scripts_render_service_catalog_html_link", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L397", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog_main", "target": "$graphify-root$_scripts_render_service_catalog_parse_inventory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L475", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog_main", "target": "$graphify-root$_scripts_render_service_catalog_render_markdown", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L476", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog_main", "target": "$graphify-root$_scripts_render_service_catalog_render_html", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L477", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog_main", "target": "$graphify-root$_scripts_render_service_catalog_check_file", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L481", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog_main", "target": "$graphify-root$_scripts_render_service_catalog_write_if_changed", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L493", "weight": 1.0}, {"source": "$graphify-root$_scripts_render_service_catalog_rationale_2", "target": "$graphify-root$_scripts_render_service_catalog", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/render-service-catalog", "source_location": "L2", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_render_service_catalog_parse_inventory", "callee": "compile", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L23", "receiver": "re"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_parse_inventory", "callee": "open", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L25", "receiver": "path"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_parse_inventory", "callee": "strip", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L27", "receiver": "raw_line"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_parse_inventory", "callee": "startswith", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L28", "receiver": "stripped"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_parse_inventory", "callee": "startswith", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L30", "receiver": "stripped"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_parse_inventory", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/render-service-catalog", "source_location": "L32"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_parse_inventory", "callee": "get", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L32", "receiver": "values"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_parse_inventory", "callee": "append", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L34", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_parse_inventory", "callee": "strip", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L34", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_parse_inventory", "callee": "strip", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L34", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_parse_inventory", "callee": "match", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L37", "receiver": "pattern"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_parse_inventory", "callee": "rstrip", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L37", "receiver": "raw_line"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_parse_inventory", "callee": "group", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L42", "receiver": "match"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_parse_inventory", "callee": "group", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L43", "receiver": "match"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_parse_inventory", "callee": "strip", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L44", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_parse_inventory", "callee": "group", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L44", "receiver": "match"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_parse_inventory", "callee": "pop", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L46", "receiver": "stack"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_parse_inventory", "callee": "join", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L47", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_parse_inventory", "callee": "append", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L49", "receiver": "stack"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_parse_inventory", "callee": "setdefault", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L50", "receiver": "values"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_parse_inventory", "callee": "strip", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L54", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_parse_inventory", "callee": "split", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L54", "receiver": "value"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_parse_inventory", "callee": "strip", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L55", "receiver": "value"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_value", "callee": "get", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L62", "receiver": "values"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_value", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/render-service-catalog", "source_location": "L63"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_value", "callee": "join", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L64", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_value", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/render-service-catalog", "source_location": "L65"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_service_rows", "callee": "get", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L270", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_service_rows", "callee": "capitalize", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L275", "receiver": "service_name"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_service_rows", "callee": "append", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L277", "receiver": "rows"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_host_rows", "callee": "append", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L294", "receiver": "rows"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_markdown_table", "callee": "join", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L309", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_markdown_table", "callee": "join", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L309", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_markdown_table", "callee": "append", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L311", "receiver": "lines"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_markdown_table", "callee": "join", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L311", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_markdown_table", "callee": "replace", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L311", "receiver": "cell"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_markdown_table", "callee": "join", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L312", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_md_link", "callee": "startswith", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L318", "receiver": "target"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_html_link", "callee": "escape", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L373", "receiver": "html"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_html_link", "callee": "startswith", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L374", "receiver": "target"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_render_html", "callee": "join", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L382", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_render_html", "callee": "escape", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L384", "receiver": "html"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_render_html", "callee": "escape", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L385", "receiver": "html"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_render_html", "callee": "escape", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L386", "receiver": "html"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_render_html", "callee": "escape", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L387", "receiver": "html"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_render_html", "callee": "escape", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L388", "receiver": "html"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_render_html", "callee": "join", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L392", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_render_html", "callee": "escape", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L394", "receiver": "html"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_render_html", "callee": "escape", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L395", "receiver": "html"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_render_html", "callee": "escape", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L396", "receiver": "html"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_write_if_changed", "callee": "mkdir", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L460", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_write_if_changed", "callee": "write_text", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L461", "receiver": "path"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_check_file", "callee": "exists", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L465", "receiver": "path"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_check_file", "callee": "read_text", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L467", "receiver": "path"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_main", "callee": "ArgumentParser", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L471", "receiver": "argparse"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_main", "callee": "__doc__", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/render-service-catalog", "source_location": "L471"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L472", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_main", "callee": "parse_args", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L473", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_main", "callee": "INVENTORY", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/render-service-catalog", "source_location": "L475"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_main", "callee": "DOC_OUTPUT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/render-service-catalog", "source_location": "L481"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_main", "callee": "append", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L482", "receiver": "stale"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_main", "callee": "relative_to", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L482", "receiver": "DOC_OUTPUT"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_main", "callee": "REPO_ROOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/render-service-catalog", "source_location": "L482"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_main", "callee": "HTML_OUTPUT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/render-service-catalog", "source_location": "L483"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_main", "callee": "append", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L484", "receiver": "stale"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_main", "callee": "relative_to", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L484", "receiver": "HTML_OUTPUT"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_main", "callee": "REPO_ROOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/render-service-catalog", "source_location": "L484"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_main", "callee": "DOC_OUTPUT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/render-service-catalog", "source_location": "L493"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_main", "callee": "HTML_OUTPUT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/render-service-catalog", "source_location": "L494"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_main", "callee": "relative_to", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L495", "receiver": "DOC_OUTPUT"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_main", "callee": "REPO_ROOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/render-service-catalog", "source_location": "L495"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_main", "callee": "relative_to", "is_member_call": true, "source_file": "scripts/render-service-catalog", "source_location": "L496", "receiver": "HTML_OUTPUT"}, {"caller_nid": "$graphify-root$_scripts_render_service_catalog_main", "callee": "REPO_ROOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/render-service-catalog", "source_location": "L496"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/ef4beca63f62ced8e4a88ed0b7912c36189861ce42f0b66a61bfc2ab47e1102a.json b/graphify-out/cache/ast/v0.9.64-s4/ef4beca63f62ced8e4a88ed0b7912c36189861ce42f0b66a61bfc2ab47e1102a.json
new file mode 100644
index 0000000..4fca713
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/ef4beca63f62ced8e4a88ed0b7912c36189861ce42f0b66a61bfc2ab47e1102a.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_gitops_status", "label": "gitops-status", "file_type": "code", "source_file": "scripts/gitops-status", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_gitops_status__entry", "label": "gitops-status script", "file_type": "code", "source_file": "scripts/gitops-status", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}], "edges": [{"source": "$graphify-root$_scripts_gitops_status", "target": "$graphify-root$_scripts_gitops_status__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/gitops-status", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_gitops_status__entry", "source_file": "scripts/gitops-status", "source_location": "L2"}, {"language": "bash", "callee": "tail", "caller_nid": "$graphify-root$_scripts_gitops_status__entry", "source_file": "scripts/gitops-status", "source_location": "L68"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/f036e2f3f6a127446395aacbcc51fd6fec73f07ef08466db92d99b432b3584c9.json b/graphify-out/cache/ast/v0.9.64-s4/f036e2f3f6a127446395aacbcc51fd6fec73f07ef08466db92d99b432b3584c9.json
new file mode 100644
index 0000000..bd27629
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/f036e2f3f6a127446395aacbcc51fd6fec73f07ef08466db92d99b432b3584c9.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_report_render", "label": "report-render", "file_type": "code", "source_file": "scripts/report-render", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_report_render__entry", "label": "report-render script", "file_type": "code", "source_file": "scripts/report-render", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_report_render_usage", "label": "usage()", "file_type": "code", "source_file": "scripts/report-render", "source_location": "L5", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "$graphify-root$_scripts_report_render", "target": "$graphify-root$_scripts_report_render__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/report-render", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_report_render", "target": "$graphify-root$_scripts_report_render_usage", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/report-render", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_scripts_report_render__entry", "target": "$graphify-root$_scripts_report_render_usage", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/report-render", "source_location": "L19", "weight": 1.0, "context": "call"}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_report_render__entry", "source_file": "scripts/report-render", "source_location": "L2"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_report_render__entry", "source_file": "scripts/report-render", "source_location": "L4"}, {"language": "bash", "callee": "dirname", "caller_nid": "$graphify-root$_scripts_report_render__entry", "source_file": "scripts/report-render", "source_location": "L4"}, {"language": "bash", "callee": "pwd", "caller_nid": "$graphify-root$_scripts_report_render__entry", "source_file": "scripts/report-render", "source_location": "L4"}, {"language": "bash", "callee": "exit", "caller_nid": "$graphify-root$_scripts_report_render__entry", "source_file": "scripts/report-render", "source_location": "L20"}, {"language": "bash", "callee": "exec", "caller_nid": "$graphify-root$_scripts_report_render__entry", "source_file": "scripts/report-render", "source_location": "L25"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_report_render_usage", "source_file": "scripts/report-render", "source_location": "L6"}], "bash_sources": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/f2e05d759c9a45c04a3870d66b331065e14f6a495cd5c6e5f7e329bdf722b751.json b/graphify-out/cache/ast/v0.9.64-s4/f2e05d759c9a45c04a3870d66b331065e14f6a495cd5c6e5f7e329bdf722b751.json
new file mode 100644
index 0000000..8775868
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/f2e05d759c9a45c04a3870d66b331065e14f6a495cd5c6e5f7e329bdf722b751.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_scripts_agent_sandbox", "label": "agent-sandbox", "file_type": "code", "source_file": "scripts/agent-sandbox", "source_location": "L1"}, {"id": "$graphify-root$_scripts_agent_sandbox_load_policy", "label": "load_policy()", "file_type": "code", "source_file": "scripts/agent-sandbox", "source_location": "L17", "_callable": true}, {"id": "$graphify-root$_scripts_agent_sandbox_classify", "label": "classify()", "file_type": "code", "source_file": "scripts/agent-sandbox", "source_location": "L22", "_callable": true}, {"id": "$graphify-root$_scripts_agent_sandbox_print_result", "label": "print_result()", "file_type": "code", "source_file": "scripts/agent-sandbox", "source_location": "L45", "_callable": true}, {"id": "$graphify-root$_scripts_agent_sandbox_main", "label": "main()", "file_type": "code", "source_file": "scripts/agent-sandbox", "source_location": "L59", "_callable": true}, {"id": "$graphify-root$_scripts_agent_sandbox_rationale_2", "label": "Classify proposed agent commands against the homelab sandbox policy.", "file_type": "rationale", "source_file": "scripts/agent-sandbox", "source_location": "L2"}], "edges": [{"source": "$graphify-root$_scripts_agent_sandbox", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/agent-sandbox", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_scripts_agent_sandbox", "target": "csv", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/agent-sandbox", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_scripts_agent_sandbox", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/agent-sandbox", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_scripts_agent_sandbox", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/agent-sandbox", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_scripts_agent_sandbox", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/agent-sandbox", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_scripts_agent_sandbox", "target": "$graphify-root$_scripts_agent_sandbox_load_policy", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/agent-sandbox", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_scripts_agent_sandbox", "target": "$graphify-root$_scripts_agent_sandbox_classify", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/agent-sandbox", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_scripts_agent_sandbox", "target": "$graphify-root$_scripts_agent_sandbox_print_result", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/agent-sandbox", "source_location": "L45", "weight": 1.0}, {"source": "$graphify-root$_scripts_agent_sandbox", "target": "$graphify-root$_scripts_agent_sandbox_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/agent-sandbox", "source_location": "L59", "weight": 1.0}, {"source": "$graphify-root$_scripts_agent_sandbox_classify", "target": "$graphify-root$_scripts_agent_sandbox_load_policy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/agent-sandbox", "source_location": "L25", "weight": 1.0}, {"source": "$graphify-root$_scripts_agent_sandbox_main", "target": "$graphify-root$_scripts_agent_sandbox_load_policy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/agent-sandbox", "source_location": "L69", "weight": 1.0}, {"source": "$graphify-root$_scripts_agent_sandbox_main", "target": "$graphify-root$_scripts_agent_sandbox_classify", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/agent-sandbox", "source_location": "L73", "weight": 1.0}, {"source": "$graphify-root$_scripts_agent_sandbox_main", "target": "$graphify-root$_scripts_agent_sandbox_print_result", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/agent-sandbox", "source_location": "L77", "weight": 1.0}, {"source": "$graphify-root$_scripts_agent_sandbox_rationale_2", "target": "$graphify-root$_scripts_agent_sandbox", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/agent-sandbox", "source_location": "L2", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_agent_sandbox_load_policy", "callee": "open", "is_member_call": true, "source_file": "scripts/agent-sandbox", "source_location": "L18", "receiver": "POLICY_FILE"}, {"caller_nid": "$graphify-root$_scripts_agent_sandbox_load_policy", "callee": "DictReader", "is_member_call": true, "source_file": "scripts/agent-sandbox", "source_location": "L19", "receiver": "csv"}, {"caller_nid": "$graphify-root$_scripts_agent_sandbox_load_policy", "callee": "handle", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/agent-sandbox", "source_location": "L19"}, {"caller_nid": "$graphify-root$_scripts_agent_sandbox_classify", "callee": "join", "is_member_call": true, "source_file": "scripts/agent-sandbox", "source_location": "L23", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_agent_sandbox_classify", "callee": "split", "is_member_call": true, "source_file": "scripts/agent-sandbox", "source_location": "L23", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_agent_sandbox_classify", "callee": "strip", "is_member_call": true, "source_file": "scripts/agent-sandbox", "source_location": "L23", "receiver": "command"}, {"caller_nid": "$graphify-root$_scripts_agent_sandbox_main", "callee": "ArgumentParser", "is_member_call": true, "source_file": "scripts/agent-sandbox", "source_location": "L60", "receiver": "argparse"}, {"caller_nid": "$graphify-root$_scripts_agent_sandbox_main", "callee": "__doc__", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/agent-sandbox", "source_location": "L60"}, {"caller_nid": "$graphify-root$_scripts_agent_sandbox_main", "callee": "add_subparsers", "is_member_call": true, "source_file": "scripts/agent-sandbox", "source_location": "L61", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_agent_sandbox_main", "callee": "add_parser", "is_member_call": true, "source_file": "scripts/agent-sandbox", "source_location": "L62", "receiver": "subparsers"}, {"caller_nid": "$graphify-root$_scripts_agent_sandbox_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/agent-sandbox", "source_location": "L63", "receiver": "check_parser"}, {"caller_nid": "$graphify-root$_scripts_agent_sandbox_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/agent-sandbox", "source_location": "L64", "receiver": "check_parser"}, {"caller_nid": "$graphify-root$_scripts_agent_sandbox_main", "callee": "add_parser", "is_member_call": true, "source_file": "scripts/agent-sandbox", "source_location": "L65", "receiver": "subparsers"}, {"caller_nid": "$graphify-root$_scripts_agent_sandbox_main", "callee": "parse_args", "is_member_call": true, "source_file": "scripts/agent-sandbox", "source_location": "L66", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_agent_sandbox_main", "callee": "join", "is_member_call": true, "source_file": "scripts/agent-sandbox", "source_location": "L73", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_agent_sandbox_main", "callee": "dumps", "is_member_call": true, "source_file": "scripts/agent-sandbox", "source_location": "L75", "receiver": "json"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/f9667bc3fe2bed91cd8cd3f93f0061ce2e22d12fe7f4a20b527b6c33569926ea.json b/graphify-out/cache/ast/v0.9.64-s4/f9667bc3fe2bed91cd8cd3f93f0061ce2e22d12fe7f4a20b527b6c33569926ea.json
new file mode 100644
index 0000000..c413a98
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/f9667bc3fe2bed91cd8cd3f93f0061ce2e22d12fe7f4a20b527b6c33569926ea.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_renovate_json", "label": "renovate.json", "file_type": "code", "source_file": "renovate.json", "source_location": "L1"}, {"id": "$graphify-root$_renovate_schema", "label": "$schema", "file_type": "code", "source_file": "renovate.json", "source_location": "L2"}, {"id": "$graphify-root$_renovate_extends", "label": "extends", "file_type": "code", "source_file": "renovate.json", "source_location": "L3"}, {"id": "ref_config_recommended", "label": "config:recommended", "file_type": "concept", "source_file": "renovate.json", "source_location": "L3"}, {"id": "$graphify-root$_renovate_timezone", "label": "timezone", "file_type": "code", "source_file": "renovate.json", "source_location": "L6"}, {"id": "$graphify-root$_renovate_dependencydashboard", "label": "dependencyDashboard", "file_type": "code", "source_file": "renovate.json", "source_location": "L7"}, {"id": "$graphify-root$_renovate_labels", "label": "labels", "file_type": "code", "source_file": "renovate.json", "source_location": "L8"}, {"id": "$graphify-root$_renovate_prconcurrentlimit", "label": "prConcurrentLimit", "file_type": "code", "source_file": "renovate.json", "source_location": "L11"}, {"id": "$graphify-root$_renovate_packagerules", "label": "packageRules", "file_type": "code", "source_file": "renovate.json", "source_location": "L12"}, {"id": "$graphify-root$_renovate_custommanagers", "label": "customManagers", "file_type": "code", "source_file": "renovate.json", "source_location": "L51"}], "edges": [{"source": "$graphify-root$_renovate_json", "target": "$graphify-root$_renovate_schema", "relation": "contains", "confidence": "EXTRACTED", "source_file": "renovate.json", "source_location": "L2", "weight": 1.0}, {"source": "$graphify-root$_renovate_json", "target": "$graphify-root$_renovate_extends", "relation": "contains", "confidence": "EXTRACTED", "source_file": "renovate.json", "source_location": "L3", "weight": 1.0}, {"source": "$graphify-root$_renovate_extends", "target": "ref_config_recommended", "relation": "extends", "confidence": "EXTRACTED", "source_file": "renovate.json", "source_location": "L3", "weight": 1.0, "context": "import"}, {"source": "$graphify-root$_renovate_json", "target": "$graphify-root$_renovate_timezone", "relation": "contains", "confidence": "EXTRACTED", "source_file": "renovate.json", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_renovate_json", "target": "$graphify-root$_renovate_dependencydashboard", "relation": "contains", "confidence": "EXTRACTED", "source_file": "renovate.json", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_renovate_json", "target": "$graphify-root$_renovate_labels", "relation": "contains", "confidence": "EXTRACTED", "source_file": "renovate.json", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_renovate_json", "target": "$graphify-root$_renovate_prconcurrentlimit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "renovate.json", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_renovate_json", "target": "$graphify-root$_renovate_packagerules", "relation": "contains", "confidence": "EXTRACTED", "source_file": "renovate.json", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_renovate_json", "target": "$graphify-root$_renovate_custommanagers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "renovate.json", "source_location": "L51", "weight": 1.0}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/f98647a78e1a262914eb6931d30eda1c6d71f34e3c037b751d4bb866cb936836.json b/graphify-out/cache/ast/v0.9.64-s4/f98647a78e1a262914eb6931d30eda1c6d71f34e3c037b751d4bb866cb936836.json
new file mode 100644
index 0000000..acd8666
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/f98647a78e1a262914eb6931d30eda1c6d71f34e3c037b751d4bb866cb936836.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_apps_website_visitor_ideas_php", "label": "visitor_ideas.php", "file_type": "code", "source_file": "apps/website/visitor_ideas.php", "source_location": "L1"}], "edges": [], "raw_calls": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/v0.9.64-s4/ff5b20a18dc9c8a7eda60db871e63071f425181f307151496bdae1f457ec8f05.json b/graphify-out/cache/ast/v0.9.64-s4/ff5b20a18dc9c8a7eda60db871e63071f425181f307151496bdae1f457ec8f05.json
new file mode 100644
index 0000000..8b368ff
--- /dev/null
+++ b/graphify-out/cache/ast/v0.9.64-s4/ff5b20a18dc9c8a7eda60db871e63071f425181f307151496bdae1f457ec8f05.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "$graphify-root$_bootstrap_edge_main_tf", "label": "main.tf", "file_type": "code", "source_file": "bootstrap/edge/main.tf", "source_location": null, "type": "terraform_file"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_compose_file", "label": "local.compose_file", "file_type": "code", "source_file": "bootstrap/edge/main.tf", "source_location": "L12"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_heimdall_server_name", "label": "local.heimdall_server_name", "file_type": "code", "source_file": "bootstrap/edge/main.tf", "source_location": "L13"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_heimdall_backend_host", "label": "local.heimdall_backend_host", "file_type": "code", "source_file": "bootstrap/edge/main.tf", "source_location": "L14"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_server_names", "label": "local.server_names", "file_type": "code", "source_file": "bootstrap/edge/main.tf", "source_location": "L15"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_main_server_names", "label": "local.main_server_names", "file_type": "code", "source_file": "bootstrap/edge/main.tf", "source_location": "L16"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_conf", "label": "local.default_conf", "file_type": "code", "source_file": "bootstrap/edge/main.tf", "source_location": "L17"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_vcl", "label": "local.default_vcl", "file_type": "code", "source_file": "bootstrap/edge/main.tf", "source_location": "L30"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_haproxy_cfg", "label": "local.haproxy_cfg", "file_type": "code", "source_file": "bootstrap/edge/main.tf", "source_location": "L34"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_squid_conf", "label": "local.squid_conf", "file_type": "code", "source_file": "bootstrap/edge/main.tf", "source_location": "L38"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_conf_matrix", "label": "local.default_conf_matrix", "file_type": "code", "source_file": "bootstrap/edge/main.tf", "source_location": "L42"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_config_hash", "label": "local.config_hash", "file_type": "code", "source_file": "bootstrap/edge/main.tf", "source_location": "L51"}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_null_resource_edge_services", "label": "null_resource.edge_services", "file_type": "code", "source_file": "bootstrap/edge/main.tf", "source_location": "L61", "attributes": {"triggers": {"host": "var.edge_host", "user": "var.edge_user", "install_dir": "var.edge_install_dir", "install_docker": "tostring(var.edge_install_docker)", "server_name": "var.server_name", "server_names": "join(\" \", local.server_names)", "certbot_domain_args": "join(\" \", [for name in local.server_names : \"-d ${name}\"])", "backend_host": "var.backend_host", "backend_port": "tostring(var.backend_port)", "gitea_backend_host": "var.gitea_backend_host", "gitea_backend_port": "tostring(var.gitea_backend_port)", "heimdall_host": "local.heimdall_backend_host", "heimdall_port": "tostring(var.heimdall_backend_port)", "enable_letsencrypt": "tostring(var.enable_letsencrypt)", "letsencrypt_email": "var.letsencrypt_email", "letsencrypt_staging": "tostring(var.letsencrypt_staging)", "certbot_version": "2", "config_hash": "local.config_hash"}}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_output_edge_host", "label": "output.edge_host", "file_type": "code", "source_file": "bootstrap/edge/main.tf", "source_location": "L376", "attributes": {"value": "var.edge_host"}}, {"id": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_output_edge_install_dir", "label": "output.edge_install_dir", "file_type": "code", "source_file": "bootstrap/edge/main.tf", "source_location": "L380", "attributes": {"value": "var.edge_install_dir"}}], "edges": [{"source": "$graphify-root$_bootstrap_edge_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_compose_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_heimdall_server_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L13", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_heimdall_server_name", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_server_name", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_heimdall_backend_host", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L14", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_heimdall_backend_host", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_heimdall_backend_host", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L14", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_heimdall_backend_host", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_gitea_backend_host", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_server_names", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L15", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_server_names", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_server_name", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L15", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_server_names", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_heimdall_server_name", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L15", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_server_names", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_additional_server_names", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_main_server_names", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L16", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_main_server_names", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_server_names", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L16", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_main_server_names", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_heimdall_server_name", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_conf", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L17", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_conf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_server_name", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L18", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_conf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_server_names", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L19", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_conf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_main_server_names", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L20", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_conf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_backend_host", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L21", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_conf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_backend_port", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L22", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_conf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_demos_backend_port", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L23", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_conf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_gitea_backend_host", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L24", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_conf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_gitea_backend_port", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L25", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_conf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_heimdall_server_name", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L26", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_conf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_heimdall_backend_host", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L27", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_conf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_heimdall_backend_port", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L28", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_vcl", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L30", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_vcl", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_backend_host", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L31", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_vcl", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_backend_port", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L32", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_haproxy_cfg", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L34", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_haproxy_cfg", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_haproxy_stats_user", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L35", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_haproxy_cfg", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_haproxy_stats_password", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L36", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_squid_conf", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L38", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_squid_conf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_backend_host", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L39", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_squid_conf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_backend_port", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L40", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_conf_matrix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L42", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_conf_matrix", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_matrix_enabled", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L42", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_conf_matrix", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_matrix_server_name", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L43", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_conf_matrix", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_matrix_backend_host", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L44", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_conf_matrix", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_matrix_backend_port", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L45", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_conf_matrix", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_matrix_cert_dir", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L46", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_conf_matrix", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_element_server_name", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L47", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_conf_matrix", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_element_backend_host", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L48", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_conf_matrix", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_element_backend_port", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L49", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_config_hash", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L51", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_config_hash", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_compose_file", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L52", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_config_hash", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_conf", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L53", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_config_hash", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_vcl", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L54", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_config_hash", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_haproxy_cfg", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L55", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_config_hash", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_squid_conf", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L56", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_config_hash", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_conf_matrix", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L57", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_null_resource_edge_services", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L61", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_null_resource_edge_services", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_edge_host", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L63", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_null_resource_edge_services", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_edge_user", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L64", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_null_resource_edge_services", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_edge_install_dir", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L65", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_null_resource_edge_services", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_edge_install_docker", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L66", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_null_resource_edge_services", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_server_name", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L67", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_null_resource_edge_services", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_server_names", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L68", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_null_resource_edge_services", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_backend_host", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L70", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_null_resource_edge_services", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_backend_port", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L71", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_null_resource_edge_services", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_gitea_backend_host", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L72", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_null_resource_edge_services", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_gitea_backend_port", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L73", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_null_resource_edge_services", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_heimdall_backend_host", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L74", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_null_resource_edge_services", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_heimdall_backend_port", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L75", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_null_resource_edge_services", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_enable_letsencrypt", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L76", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_null_resource_edge_services", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_letsencrypt_email", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L77", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_null_resource_edge_services", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_letsencrypt_staging", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L78", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_null_resource_edge_services", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_config_hash", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L80", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_null_resource_edge_services", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_edge_ssh_key_path", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L86", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_null_resource_edge_services", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_compose_file", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L98", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_null_resource_edge_services", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_conf", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L103", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_null_resource_edge_services", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_vcl", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L108", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_null_resource_edge_services", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_haproxy_cfg", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L113", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_null_resource_edge_services", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_squid_conf", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L118", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_null_resource_edge_services", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_local_default_conf_matrix", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L123", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_output_edge_host", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L376", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_output_edge_host", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_edge_host", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L377", "weight": 1.0}, {"source": "$graphify-root$_bootstrap_edge_main_tf", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_output_edge_install_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L380", "weight": 1.0}, {"source": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_output_edge_install_dir", "target": "terraform_home_jv_my_homelab_configs_bootstrap_edge_aae1842096caad3d_var_edge_install_dir", "relation": "references", "confidence": "EXTRACTED", "source_file": "bootstrap/edge/main.tf", "source_location": "L381", "weight": 1.0}]}
\ No newline at end of file
diff --git a/graphify-out/cache/stat-index.json b/graphify-out/cache/stat-index.json
new file mode 100644
index 0000000..4aa016c
--- /dev/null
+++ b/graphify-out/cache/stat-index.json
@@ -0,0 +1 @@
+{".gitea/workflows/homelab-main.yml":{"size":8647,"mtime_ns":1789761043422124227,"indexed_at_ns":1789785987819897638,"word_count":761,"hashes":{".gitea/workflows/homelab-main.yml":"64fc2b21e771332e9d1f85f0e534e59c057b1dfe1bd21e37ccef6612868b52e9"}},".sops.yaml":{"size":296,"mtime_ns":1789576321869408992,"indexed_at_ns":1789785987820077615,"word_count":30,"hashes":{".sops.yaml":"a5b687efdc57e579d51370771e7112a99f8e4a02795db6fdb6ba27c8d3d90ea2"}},"README.md":{"size":1300,"mtime_ns":1789615072564200466,"indexed_at_ns":1789785987820189498,"word_count":165,"hashes":{"readme.md":"812e6eaeb31aa63483315c95dbb6f6c11250a872175e6c1d1073137c17877ee5"}},"apps/access-control/kustomization.yaml":{"size":98,"mtime_ns":1782775001638222522,"indexed_at_ns":1789785987820329666,"word_count":7,"hashes":{"apps/access-control/kustomization.yaml":"a9168c2ade12c9469f55f1c3718d178b6f70e2648e1c560ec2be3c9d6a621e6a"}},"apps/access-control/readonly-rbac.yaml":{"size":1885,"mtime_ns":1782775001638222522,"indexed_at_ns":1789785987820460405,"word_count":193,"hashes":{"apps/access-control/readonly-rbac.yaml":"e797b3918f2066ad820f5695bc1d9f82b7c1b6379a35c45710eb2bf42d79ee8f"}},"apps/container-registry/namespace.yaml":{"size":68,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785987820591634,"word_count":7,"hashes":{"apps/container-registry/namespace.yaml":"03f9ce7f48e4bf4b310e8fe54e1717907fb91ca747cb4ea58a00ab4b39a422d8"}},"apps/container-registry/registry-deployment.yaml":{"size":2113,"mtime_ns":1783035152915247883,"indexed_at_ns":1789785987820720907,"word_count":149,"hashes":{"apps/container-registry/registry-deployment.yaml":"3d3ff1200670741ee964b7fce7b2e80d1d3fbc6c74753fa054cbce9b1026eae7"}},"apps/container-registry/registry-storage.yaml":{"size":781,"mtime_ns":1782524608096718832,"indexed_at_ns":1789785987820849272,"word_count":58,"hashes":{"apps/container-registry/registry-storage.yaml":"24f63cedd4ded3739cbbc609738897eb97631024780edfd529380c710bc5f46b"}},"apps/demos-static/kustomization.yaml":{"size":111,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785987820979453,"word_count":9,"hashes":{"apps/demos-static/kustomization.yaml":"554da1d67afbc58a9a72692afc61df1a785a3b3e27c68b7414fdbbd4c915fae9"}},"apps/demos-static/namespace.yaml":{"size":62,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785987821104745,"word_count":7,"hashes":{"apps/demos-static/namespace.yaml":"8c5e3e65eccb8d4dbed5f12495832ae61c2ac0f4458ae7d038bc86ae3d272f54"}},"apps/demos-static/public/architecture-simulator/architecture-simulator.js":{"size":2606,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785875501674121,"word_count":296},"apps/demos-static/public/architecture-simulator/index.html":{"size":984,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785987821251897,"word_count":67,"hashes":{"apps/demos-static/public/architecture-simulator/index.html":"0e3fcd39b0e39ab6a00588ddd43b5ca0290a5fd0b911e109b1112360af6397af"}},"apps/demos-static/public/dev-toolbelt/dev-toolbelt.js":{"size":1962,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785875503180909,"word_count":173},"apps/demos-static/public/dev-toolbelt/index.html":{"size":1198,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785987821398071,"word_count":87,"hashes":{"apps/demos-static/public/dev-toolbelt/index.html":"ae0b32db235efac4b555441540c3138b42e2d0f11625701ee85d0005b7551a63"}},"apps/demos-static/public/homelab-catalog/index.html":{"size":14406,"mtime_ns":1789615072616199561,"indexed_at_ns":1789785987821544734,"word_count":571,"hashes":{"apps/demos-static/public/homelab-catalog/index.html":"d54fd1a3e5cbda2c67d14378b49d2131025e3cc0206e3331a59f83aeea3cdeb5"}},"apps/demos-static/public/index.html":{"size":2234,"mtime_ns":1782604673863664667,"indexed_at_ns":1789785987821689930,"word_count":162,"hashes":{"apps/demos-static/public/index.html":"c2b7cd9baf5a0e301352a8000b7f42fa54a7ee99c2bf199f5494bc49734668b7"}},"apps/demos-static/public/media-cruncher/index.html":{"size":1579,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785987821832613,"word_count":125,"hashes":{"apps/demos-static/public/media-cruncher/index.html":"33ef468586fa4b55e31bca2ba4d5c3f5e4752477b2e83266ef3ce817d84f7186"}},"apps/demos-static/public/media-cruncher/media-cruncher.js":{"size":4613,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785875515328864,"word_count":441},"apps/demos-static/public/mlops-platform/index.html":{"size":642,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785987821975714,"word_count":55,"hashes":{"apps/demos-static/public/mlops-platform/index.html":"f11d93326872632ef7f93a1cb8e73443cbeee9928c8c78e91c9c151551390008"}},"apps/demos-static/public/model-drift/index.html":{"size":999,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785987822113647,"word_count":73,"hashes":{"apps/demos-static/public/model-drift/index.html":"4adc583164e16b4cb9e015cf7e3cb1ab4c85032905eb453c9da0363dd0882d4a"}},"apps/demos-static/public/model-drift/model-drift.js":{"size":1872,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785875517016466,"word_count":260},"apps/demos-static/public/network-quality/index.html":{"size":1141,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785987822250044,"word_count":83,"hashes":{"apps/demos-static/public/network-quality/index.html":"4ebbe66dae1a1301602eea0b5fdde3230db68b2cbc7869b0247b46d123c56889"}},"apps/demos-static/public/network-quality/network-quality.js":{"size":2188,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785875518145771,"word_count":260},"apps/demos-static/public/privacy-redactor/index.html":{"size":1120,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785987822394472,"word_count":86,"hashes":{"apps/demos-static/public/privacy-redactor/index.html":"c0be0aa24e5958554f9ff2c2f492ad353c99031663a45d52a9709e9ac79d2bd4"}},"apps/demos-static/public/privacy-redactor/privacy-redactor.js":{"size":1972,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785875520019216,"word_count":224},"apps/demos-static/public/sentiment-sandbox/index.html":{"size":995,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785987822535548,"word_count":83,"hashes":{"apps/demos-static/public/sentiment-sandbox/index.html":"2b510460ea401773ee4fc392f0a7d7b04a2eaa3e09cc6f71d9ef30d26fbeb383"}},"apps/demos-static/public/sentiment-sandbox/sentiment-sandbox.js":{"size":1226,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785875522164337,"word_count":137},"apps/demos-static/public/theme.js":{"size":2188,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785875523144604,"word_count":157},"apps/demos-static/public/traveler-tools/index.html":{"size":1553,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785987822694363,"word_count":109,"hashes":{"apps/demos-static/public/traveler-tools/index.html":"bf3ae636cb346c35c7c5c0d9619d986f2f259953fa76f9f0cc21dc2ebed47ed3"}},"apps/demos-static/public/traveler-tools/sw.js":{"size":655,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785875525288956,"word_count":49},"apps/demos-static/public/traveler-tools/traveler-tools.js":{"size":1385,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785875526061591,"word_count":124},"apps/demos-static/web-app.yaml":{"size":2289,"mtime_ns":1783035152915247883,"indexed_at_ns":1789785987822817979,"word_count":173,"hashes":{"apps/demos-static/web-app.yaml":"e56a8f0536fe6d9cbbe2b4d41801c6096185b5e0f440eaa8a6c9351d6245dcd3"}},"apps/gitea-runner/application.yaml":{"size":460,"mtime_ns":1789694707443141177,"indexed_at_ns":1789785987822951093,"word_count":33,"hashes":{"apps/gitea-runner/application.yaml":"4071790af5b99e0b782aa84498c9aed377c895932cf6338f3db8517403f8b469"}},"apps/gitea-runner/deployment.yaml":{"size":1169,"mtime_ns":1789699979644740036,"indexed_at_ns":1789785987823078410,"word_count":72,"hashes":{"apps/gitea-runner/deployment.yaml":"12658061550a6f486efbea00e55a1ea718a842bd8295a73467ab0a49ece3234a"}},"apps/gitea-runner/namespace.yaml":{"size":62,"mtime_ns":1789691826015168798,"indexed_at_ns":1789785987823199373,"word_count":7,"hashes":{"apps/gitea-runner/namespace.yaml":"16f523509552d0b44268ee60366c34ed1dba4e8c40c7c3912d98a6307b4e81e7"}},"apps/heimdall/README.md":{"size":370,"mtime_ns":1783028953569137065,"indexed_at_ns":1789785987823326201,"word_count":55,"hashes":{"apps/heimdall/readme.md":"3ae32f775ebf505f29b381f6148d66ba02bac7a4764c9d1b8c95774c5f19657b"}},"apps/heimdall/ingress.yaml":{"size":1642,"mtime_ns":1783028953569137065,"indexed_at_ns":1789785987823456522,"word_count":123,"hashes":{"apps/heimdall/ingress.yaml":"410928a25f159e2c49680dabc767d5669cb8912a7adb75d2c01f48fdbfe7ad65"}},"apps/heimdall/kustomization.yaml":{"size":92,"mtime_ns":1783028953569137065,"indexed_at_ns":1789785987823582443,"word_count":7,"hashes":{"apps/heimdall/kustomization.yaml":"6e03e14c8e446cb466ba18992ab676ff89f6926c73a3a0debea39824a012b5a1"}},"apps/homelab-alerts/kustomization.yaml":{"size":101,"mtime_ns":1782775001638222522,"indexed_at_ns":1789785987823709900,"word_count":7,"hashes":{"apps/homelab-alerts/kustomization.yaml":"4e80be5252e852c5419d1d8549956d405cc76cd90e4152c20309c731b7e26c99"}},"apps/homelab-alerts/prometheus-rules.yaml":{"size":4615,"mtime_ns":1789532238235009145,"indexed_at_ns":1789785987823837636,"word_count":402,"hashes":{"apps/homelab-alerts/prometheus-rules.yaml":"bfd8669042bdb1e9a83fb3e9a38fd8690ea32e4dad9d2d56c91c0d020ee16d08"}},"apps/n8n/ingress.yaml":{"size":362,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785987823971309,"word_count":30,"hashes":{"apps/n8n/ingress.yaml":"fc445d367bf1e10bd7be7a2f47bf8b97f464d0b6c86a95da1db4cfba3c17f813"}},"apps/n8n/kustomization.yaml":{"size":128,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785987824097649,"word_count":11,"hashes":{"apps/n8n/kustomization.yaml":"b139fc3b1d24a2d4cf8629bbc2882a45b60230c9505b4c3132ac142df30bc69d"}},"apps/n8n/namespace.yaml":{"size":53,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785987824223220,"word_count":7,"hashes":{"apps/n8n/namespace.yaml":"1a8ec3d54bd10b81e097ac908cb9574114179d24574f5c6813c7aab7234e38dd"}},"apps/n8n/web-app.yaml":{"size":2702,"mtime_ns":1783035152915247883,"indexed_at_ns":1789785987824347674,"word_count":203,"hashes":{"apps/n8n/web-app.yaml":"d8e9c2f68b37769ee9086231939db76909a7a711eccb927fceb2d775abb3676a"}},"apps/security-lab/README.md":{"size":510,"mtime_ns":1782774077221574162,"indexed_at_ns":1789785987824475900,"word_count":66,"hashes":{"apps/security-lab/readme.md":"8aadfa50e3b5b1d9b259706a603c6e41095077b01435645c5bf800254537fc0f"}},"apps/security-lab/juice-shop.yaml":{"size":1152,"mtime_ns":1782774077221574162,"indexed_at_ns":1789785987824603636,"word_count":85,"hashes":{"apps/security-lab/juice-shop.yaml":"7d1d3d0c9d8b4b4a106715a735932ab3e58344156796166b478e80b5ccefd854"}},"apps/security-lab/kustomization.yaml":{"size":155,"mtime_ns":1782774077221574162,"indexed_at_ns":1789785987824735843,"word_count":13,"hashes":{"apps/security-lab/kustomization.yaml":"c33b392da3263e110d819a8e7631fa0a8ba94766b507959b8a1bb831f6f5b5ff"}},"apps/security-lab/namespace.yaml":{"size":255,"mtime_ns":1782774077221574162,"indexed_at_ns":1789785987824863160,"word_count":16,"hashes":{"apps/security-lab/namespace.yaml":"ae58970c52c895362fe545763be45d15cdfa7e7c653f0cdfdffd5412fc0b0365"}},"apps/security-lab/network-policy.yaml":{"size":1555,"mtime_ns":1782775001638222522,"indexed_at_ns":1789785987824991036,"word_count":127,"hashes":{"apps/security-lab/network-policy.yaml":"153dd87663806fb97fcc5d2b6a66dcf6e8a9e7d1ea56519353749aa6c28a9bac"}},"apps/security-lab/webgoat.yaml":{"size":1123,"mtime_ns":1782774077221574162,"indexed_at_ns":1789785987825116468,"word_count":85,"hashes":{"apps/security-lab/webgoat.yaml":"67f826be1a2578e062568850f25bf45ae26db121a741cfc2217ee5e0c237faf0"}},"apps/supply-chain-policy/kustomization.yaml":{"size":174,"mtime_ns":1782774077221574162,"indexed_at_ns":1789785987825239316,"word_count":11,"hashes":{"apps/supply-chain-policy/kustomization.yaml":"931799278166f1495f2d29d25618030112f52f928bda0d05a8a27566e868f251"}},"apps/supply-chain-policy/kyverno-cosign-key-rbac.yaml":{"size":688,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785987825362234,"word_count":55,"hashes":{"apps/supply-chain-policy/kyverno-cosign-key-rbac.yaml":"a2b0ac0ef1ee6dbbf5a546602e7334670e32249c71e1449e23fac346b8b3c4b7"}},"apps/supply-chain-policy/local-registry-image-policy.yaml":{"size":2373,"mtime_ns":1782536470259274906,"indexed_at_ns":1789785987825491018,"word_count":191,"hashes":{"apps/supply-chain-policy/local-registry-image-policy.yaml":"c45465ffe1fefb45c1aa412d1405cff2c9fb7a7d017626f10a00599e687828cb"}},"apps/supply-chain-policy/pod-hardening-audit.yaml":{"size":4933,"mtime_ns":1782774077221574162,"indexed_at_ns":1789785987825618195,"word_count":360,"hashes":{"apps/supply-chain-policy/pod-hardening-audit.yaml":"7ceb452e7cadb2e104fc2f8b78020851b2b138ffa7ac8d6146ed1962b3b40b0a"}},"apps/website/README.md":{"size":3551,"mtime_ns":1782536470259274906,"indexed_at_ns":1789785987825757246,"word_count":468,"hashes":{"apps/website/readme.md":"af7c3d46d24f0982b63d6f41aeca2378891d9864149110f3a2898e104902ed50"}},"apps/website/blog.php":{"size":40002,"mtime_ns":1782596639836077963,"indexed_at_ns":1789785987307950634,"word_count":2909,"hashes":{"apps/website/blog.php":"74a64b1523abd19571b5ed31d5e85dfa6b21ac3a2a0d54be0070b47ff4359040"}},"apps/website/cv-theme.js":{"size":2157,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785875554110257,"word_count":179},"apps/website/cv.php":{"size":9592,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785987308335240,"word_count":698,"hashes":{"apps/website/cv.php":"223908f741a8cdeaf44341dcd67082c1164422c8ce8850c07484b9f14ca9447a"}},"apps/website/demos.php":{"size":5978,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785987308529953,"word_count":455,"hashes":{"apps/website/demos.php":"ae2c5a28fd5f343224641c82b51aafe573fb64a7ce6462a0ae73ff8f06bf0a60"}},"apps/website/gnu.webp":{"size":4086,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785987838177721,"word_count":149,"hashes":{"apps/website/gnu.webp":"d719bb83b119a6df2c4b2fd62aa82210b4a34e26f238e4687840b1ab8809fcb3"}},"apps/website/homelab-tree.php":{"size":11791,"mtime_ns":1782596639836077963,"indexed_at_ns":1789785987308709441,"word_count":937,"hashes":{"apps/website/homelab-tree.php":"a17ba4c0ba24b56c53f577597ef5ecc3736cf577427c1edeadae677d637da9b6"}},"apps/website/ideas_helper.php":{"size":3557,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785987308891722,"word_count":348,"hashes":{"apps/website/ideas_helper.php":"9657e7c2a79b7eb6f75b70b558bc6092a19bb99549e9aca3a4d8fdc55cabc58f"}},"apps/website/images/jv.webp":{"size":61307,"mtime_ns":1782523591836874523,"indexed_at_ns":1789785987838313140,"word_count":2182,"hashes":{"apps/website/images/jv.webp":"119e6a0d2fa7fb26127a9513afd235ca010dd32b834ea53e373e92fd99e54c97"}},"apps/website/images/profile.webp":{"size":61307,"mtime_ns":1782523591840874437,"indexed_at_ns":1789785987838488297,"word_count":2182,"hashes":{"apps/website/images/profile.webp":"d35c9a96f1ff15293eb720f8a56a6a073c3507c44e0ed877fb57535d87f788a2"}},"apps/website/index.php":{"size":5892,"mtime_ns":1782523591840874437,"indexed_at_ns":1789785987309073375,"word_count":438,"hashes":{"apps/website/index.php":"8ba29c646c9c512811a89f92885bfa3f0d128173eb134eb11e6148282bbb7dd2"}},"apps/website/kustomization.yaml":{"size":135,"mtime_ns":1782775001638222522,"indexed_at_ns":1789785987825896227,"word_count":11,"hashes":{"apps/website/kustomization.yaml":"01766bd7d44b51d4b96ce0bcdd6448f455fdf21122c143a282d856fee5ca3c8e"}},"apps/website/lang/en.php":{"size":32070,"mtime_ns":1789675932963888296,"indexed_at_ns":1789785987309260195,"word_count":4077,"hashes":{"apps/website/lang/en.php":"129044e892178bb46173dcfb856b52ec2cf72b5c53b0492db83e873b9228f0e3"}},"apps/website/lang/nah.php":{"size":31665,"mtime_ns":1789675936959817045,"indexed_at_ns":1789785987309463428,"word_count":3622,"hashes":{"apps/website/lang/nah.php":"7eb878a36d2c62a0d79cde4882bf16b9cf7280f44e8f931b0897c88d5c17bd9c"}},"apps/website/lang_helper.php":{"size":2585,"mtime_ns":1782523591840874437,"indexed_at_ns":1789785987309661214,"word_count":259,"hashes":{"apps/website/lang_helper.php":"914b97e97e4432d387ba7fc777cf9c7a6dc8bd50f16d5b14a67d1ba4e5ed51a6"}},"apps/website/namespace.yaml":{"size":68,"mtime_ns":1782523591840874437,"indexed_at_ns":1789785987826025779,"word_count":7,"hashes":{"apps/website/namespace.yaml":"9bfcc0f8ac5c6af84c6d6ea6765c3507af1aa6ea4daa6f6c955064cd2bdce436"}},"apps/website/network-policy.yaml":{"size":1134,"mtime_ns":1782775001638222522,"indexed_at_ns":1789785987826151420,"word_count":95,"hashes":{"apps/website/network-policy.yaml":"dcf094e92ef7c9dae9e3569c7d3344add2a94d2b36f0b05d73c07714218b2bfe"}},"apps/website/ollama/README.md":{"size":419,"mtime_ns":1782523591840874437,"indexed_at_ns":1789785987826290122,"word_count":57,"hashes":{"apps/website/ollama/readme.md":"26bb442a6c837ca7591c9846dc10e26f7ae8c216c0b613c7efc7479c2c691339"}},"apps/website/partials/footer.php":{"size":135,"mtime_ns":1782523591840874437,"indexed_at_ns":1789785987309846987,"word_count":13,"hashes":{"apps/website/partials/footer.php":"3b2a033d6e4730d7591adfa699d20294186a02e112eba3479566beb80f6eb80b"}},"apps/website/partials/header.php":{"size":543,"mtime_ns":1782523591840874437,"indexed_at_ns":1789785987310027732,"word_count":50,"hashes":{"apps/website/partials/header.php":"9c3b6ef8087a12c7f8157f6dd6c9ab6fd378ea7a90719bc90ad28574afcd752b"}},"apps/website/partials/theme_toolbar.php":{"size":887,"mtime_ns":1782523591840874437,"indexed_at_ns":1789785987310203658,"word_count":53,"hashes":{"apps/website/partials/theme_toolbar.php":"23d8c55a716781d8488774475b24b985fa2617abde477fe4e78fb09d79f7c22a"}},"apps/website/partials/translation_ui.php":{"size":1230,"mtime_ns":1782523591840874437,"indexed_at_ns":1789785987310389571,"word_count":115,"hashes":{"apps/website/partials/translation_ui.php":"a2c81a821ce5c1e698001eecc6fe990042d82aadc3fdbeadad9e504dff419bd2"}},"apps/website/render-static-pages.sh":{"size":1020,"mtime_ns":1782523591840874437,"indexed_at_ns":1789785987310648256,"word_count":85,"hashes":{"apps/website/render-static-pages.sh":"c3bbc34f4cf0831691b88dfa98cbe754ef82d36fa7ef9a55edd402cd1a3fa8c8"}},"apps/website/save_idea.php":{"size":1135,"mtime_ns":1782523591840874437,"indexed_at_ns":1789785987310861896,"word_count":118,"hashes":{"apps/website/save_idea.php":"469670deb2ea52c32a110d0e506e7b29e610ffc49af94a5109167f332ccf2eb5"}},"apps/website/save_lang.php":{"size":2440,"mtime_ns":1782523591840874437,"indexed_at_ns":1789785987311050392,"word_count":247,"hashes":{"apps/website/save_lang.php":"a9d7963ccc66c8ad1f16897cf7906be1692645bd63de78bd3a595664097dfb64"}},"apps/website/start-website.sh":{"size":225,"mtime_ns":1782523591840874437,"indexed_at_ns":1789785987311234490,"word_count":21,"hashes":{"apps/website/start-website.sh":"2fa193304cd18fce17cddc34ccc070579c58c399790f303d9640ff77911b06ac"}},"apps/website/translate.php":{"size":13228,"mtime_ns":1782536470259274906,"indexed_at_ns":1789785987311411672,"word_count":1226,"hashes":{"apps/website/translate.php":"840227f93a23d35aa5955f53f597339119a1c7306ae5157d391b6f3cf08760ef"}},"apps/website/translation.js":{"size":5062,"mtime_ns":1782523591840874437,"indexed_at_ns":1789785875582513848,"word_count":488},"apps/website/visitor-ideas.js":{"size":2333,"mtime_ns":1782523591840874437,"indexed_at_ns":1789785875583748332,"word_count":185},"apps/website/visitor_ideas.php":{"size":307,"mtime_ns":1782523591840874437,"indexed_at_ns":1789785987311602055,"word_count":25,"hashes":{"apps/website/visitor_ideas.php":"f98647a78e1a262914eb6931d30eda1c6d71f34e3c037b751d4bb866cb936836"}},"apps/website/web-app.yaml":{"size":5734,"mtime_ns":1783035152915247883,"indexed_at_ns":1789785987826420093,"word_count":415,"hashes":{"apps/website/web-app.yaml":"c0daa271acefddaf4bfadc30da0ce89f6ebde73130453be0d4d802da0bb2c63f"}},"archive/apps/arr-stack/ingress.yaml":{"size":2725,"mtime_ns":1782789038483446361,"indexed_at_ns":1789785987826572972,"word_count":216,"hashes":{"archive/apps/arr-stack/ingress.yaml":"f8e73616bcf5b774bca5b164fc9443479ee0276fa93a68c5707b9cd7e6106ea4"}},"archive/apps/arr-stack/kustomization.yaml":{"size":145,"mtime_ns":1782789038483446361,"indexed_at_ns":1789785987826708950,"word_count":13,"hashes":{"archive/apps/arr-stack/kustomization.yaml":"9ce9a14faff434915b73bc2ddc3ca54e21d2ea385d3d708c846ebcca2919baed"}},"archive/apps/arr-stack/namespace.yaml":{"size":59,"mtime_ns":1782789038483446361,"indexed_at_ns":1789785987826842553,"word_count":7,"hashes":{"archive/apps/arr-stack/namespace.yaml":"9e1f0180c4b1a23b4db23e12f76ae87b1ecf9298ce1314a7aa6828ac110638a1"}},"archive/apps/arr-stack/storage.yaml":{"size":457,"mtime_ns":1782789038483446361,"indexed_at_ns":1789785987826978391,"word_count":39,"hashes":{"archive/apps/arr-stack/storage.yaml":"0e4bd37e68b31c723289c9e50b939cd4dad577d41defdc3730d5bc4feb8f2e9d"}},"archive/apps/arr-stack/web-app.yaml":{"size":11634,"mtime_ns":1782789038483446361,"indexed_at_ns":1789785987827111086,"word_count":933,"hashes":{"archive/apps/arr-stack/web-app.yaml":"5f30659c8799334d66769dfc8dee52d7a3a7ec63ee2c9324b094963fd15a9f9b"}},"bootstrap/apps/.terraform.lock.hcl":{"size":1399,"mtime_ns":1782523591840874437,"indexed_at_ns":1789785987311787689,"word_count":51,"hashes":{"bootstrap/apps/.terraform.lock.hcl":"68c6cadd6060be92cb5e37b4c7f2fd15ca7b0f773de586796fc03e5d0f504488"}},"bootstrap/apps/main.tf":{"size":1437,"mtime_ns":1782523591840874437,"indexed_at_ns":1789785987311967106,"word_count":150,"hashes":{"bootstrap/apps/main.tf":"c40259ad9f4f305010c788091b2fc83c3e9eea96aca709de8157d7bef607054c"}},"bootstrap/apps/variables.tf":{"size":3210,"mtime_ns":1783028953573136998,"indexed_at_ns":1789785987312150226,"word_count":321,"hashes":{"bootstrap/apps/variables.tf":"2cbed3c34b6e75e38af5e28b50560cf2a84a55bc7e75f5fd0760dfce0164b7ae"}},"bootstrap/cluster/.terraform.lock.hcl":{"size":4244,"mtime_ns":1782523591840874437,"indexed_at_ns":1789785987312333694,"word_count":108,"hashes":{"bootstrap/cluster/.terraform.lock.hcl":"776b8896e1d9b779b2b9a7581a450dc3f0371efbb66582edb0089c186cb45e68"}},"bootstrap/cluster/main.tf":{"size":43829,"mtime_ns":1784779923485131977,"indexed_at_ns":1789785987312515836,"word_count":4355,"hashes":{"bootstrap/cluster/main.tf":"678587b4c40c0dd735ff34997ece37fbb51f8e8e8ccdb0c3062af3760687430f"}},"bootstrap/cluster/variables.tf":{"size":2566,"mtime_ns":1782796725019364395,"indexed_at_ns":1789785987312727240,"word_count":292,"hashes":{"bootstrap/cluster/variables.tf":"959ccdfd82c85b136fb9d2688cbf764a30d872a7536df06b8fb30ee0cebf16b3"}},"bootstrap/edge/.terraform.lock.hcl":{"size":2171,"mtime_ns":1782523591840874437,"indexed_at_ns":1789785987312911337,"word_count":63,"hashes":{"bootstrap/edge/.terraform.lock.hcl":"b761424abc5a319228e68ecdb95f2b5a85fd98025328da9cd01fe8fcee914b05"}},"bootstrap/edge/main.tf":{"size":13292,"mtime_ns":1789566713077204275,"indexed_at_ns":1789785987313095155,"word_count":1120,"hashes":{"bootstrap/edge/main.tf":"ff5b20a18dc9c8a7eda60db871e63071f425181f307151496bdae1f457ec8f05"}},"bootstrap/edge/variables.tf":{"size":3205,"mtime_ns":1789566708045293129,"indexed_at_ns":1789785987313281626,"word_count":427,"hashes":{"bootstrap/edge/variables.tf":"377365eccc6e35fff07b726f72957b3d36ceae6c0240fd3dceea46ad8b661493"}},"bootstrap/host/README.md":{"size":3182,"mtime_ns":1782774077221574162,"indexed_at_ns":1789785987827247133,"word_count":401,"hashes":{"bootstrap/host/readme.md":"4c7ac7df5d8699511eab605396b7f8dee2a4925aba58d50b5bf4b5e18214bd27"}},"bootstrap/host/group_vars/debian_pc.yml":{"size":4513,"mtime_ns":1782917749928426876,"indexed_at_ns":1789785987827391631,"word_count":561,"hashes":{"bootstrap/host/group_vars/debian_pc.yml":"c49e3321acbc56f8e7976fd94d410aaacb6f8eaf2b23c684faaedcf1e715d5c7"}},"bootstrap/host/playbook.yml":{"size":14841,"mtime_ns":1782627609762166560,"indexed_at_ns":1789785987827523209,"word_count":1276,"hashes":{"bootstrap/host/playbook.yml":"7459ea00425b5980edd1a0b8348e1f6d2b420ffc568a055db406b2b0a4c2b10e"}},"bootstrap/platform/.terraform.lock.hcl":{"size":4889,"mtime_ns":1782523591840874437,"indexed_at_ns":1789785987313464047,"word_count":131,"hashes":{"bootstrap/platform/.terraform.lock.hcl":"94ad69972a304219956449b2418aae3bcb1dc1afc791311b055510b99153f728"}},"bootstrap/platform/grafana-dashboards/homelab-availability.json":{"size":6184,"mtime_ns":1782779723593956422,"indexed_at_ns":1789785987313656316,"word_count":517,"hashes":{"bootstrap/platform/grafana-dashboards/homelab-availability.json":"3d5d77c88743ba0f79bc02cdff4cf684451984be198dfc83316d262975b342e8"}},"bootstrap/platform/grafana-dashboards/homelab-blockchain-devnet.json":{"size":4977,"mtime_ns":1782786047426013210,"indexed_at_ns":1789785987313845232,"word_count":431,"hashes":{"bootstrap/platform/grafana-dashboards/homelab-blockchain-devnet.json":"5ecf06af83d367c501c7961dfc08668e02e17491c639660c9eaa73235a612d09"}},"bootstrap/platform/grafana-dashboards/homelab-capacity.json":{"size":6814,"mtime_ns":1782779723593956422,"indexed_at_ns":1789785987314046649,"word_count":568,"hashes":{"bootstrap/platform/grafana-dashboards/homelab-capacity.json":"4c321b2f2c69fe5e5f1d97f9670afe452cedc54c1c20eb62ee5f538e6b8bfe9d"}},"bootstrap/platform/main.tf":{"size":61475,"mtime_ns":1789577552392554235,"indexed_at_ns":1789785987314228790,"word_count":5390,"hashes":{"bootstrap/platform/main.tf":"5cd1a305d010033b880e2b811d9c4ba6d773b9d74d60f185c8ee6a8f2d456d54"}},"bootstrap/platform/variables.tf":{"size":7931,"mtime_ns":1783035152919247815,"indexed_at_ns":1789785987314471413,"word_count":726,"hashes":{"bootstrap/platform/variables.tf":"a2e246c4296167bd739667192d6e295fbd297e2cba858695b5c5b02444303dd2"}},"bootstrap/provisioning/.terraform.lock.hcl":{"size":2171,"mtime_ns":1782523591840874437,"indexed_at_ns":1789785987314674856,"word_count":63,"hashes":{"bootstrap/provisioning/.terraform.lock.hcl":"5b1da870ed79c8bf396c09a4b1a1077336f73d30e2f89f5d2eb57410e9d7bc93"}},"bootstrap/provisioning/README.md":{"size":11373,"mtime_ns":1784834185745901981,"indexed_at_ns":1789785987827654647,"word_count":1452,"hashes":{"bootstrap/provisioning/readme.md":"db30101b6db6020ab8a0bb70de1544ea24aeed2d871b051a24c6a90f427b6f18"}},"bootstrap/provisioning/main.tf":{"size":22836,"mtime_ns":1784834185745901981,"indexed_at_ns":1789785987314862026,"word_count":2155,"hashes":{"bootstrap/provisioning/main.tf":"d9c5c939780b6a451ca9270583c069894dd65453f6aecdf5d26cea25bd05a0ee"}},"bootstrap/provisioning/outputs.tf":{"size":440,"mtime_ns":1782604673863664667,"indexed_at_ns":1789785987315064909,"word_count":46,"hashes":{"bootstrap/provisioning/outputs.tf":"0d56835b5d33331a82ec8f8539c4b4331c7c3ae3ca8ac073b971f421c40ae26d"}},"bootstrap/provisioning/variables.tf":{"size":4608,"mtime_ns":1784834185745901981,"indexed_at_ns":1789785987315243280,"word_count":570,"hashes":{"bootstrap/provisioning/variables.tf":"284572363b6f9ddaada54bf1c6b647d0da304064440a45f81889339cc4181a4e"}},"cmd/jeannie-core/main.go":{"size":10809,"mtime_ns":1782937169656260335,"indexed_at_ns":1789785987315449865,"word_count":1354,"hashes":{"cmd/jeannie-core/main.go":"c47172d0860a112a78762ae9752cdfdeeb1467762c81a5e95bc4e1697388cb3b"}},"cmd/jeannie-core/main_test.go":{"size":2435,"mtime_ns":1782937169656260335,"indexed_at_ns":1789785987315643321,"word_count":271,"hashes":{"cmd/jeannie-core/main_test.go":"0be29c879d7116596de45e269f613233f2b9cc91d7e2fc0ceab47382f799ae99"}},"docs/ai-ops.md":{"size":673093,"mtime_ns":1789615072572200327,"indexed_at_ns":1789785987827780568,"word_count":87884,"hashes":{"docs/ai-ops.md":"d00e687be9834776550767df9a22bc8106ef1e2659204488bd26ae90fd976385"}},"docs/app-ops.md":{"size":112633,"mtime_ns":1789615072576200258,"indexed_at_ns":1789785987828866084,"word_count":15123,"hashes":{"docs/app-ops.md":"198a34f7861f56298606d3be681d64b74e4554ef17a225eba11d246a0e6f80f0"}},"docs/architecture-diagram.html":{"size":13636,"mtime_ns":1789613581613870257,"indexed_at_ns":1789785987829107170,"word_count":1165,"hashes":{"docs/architecture-diagram.html":"68336a75b9a610020f42e4a6cc37c87c6ff1c2796d24a3c963994408933a0d21"}},"docs/architecture.md":{"size":266145,"mtime_ns":1789615072580200188,"indexed_at_ns":1789785987829231205,"word_count":35222,"hashes":{"docs/architecture.md":"a7c09819370d35e7011b54b2e4f0075614df39d5ba691ca931e6c5a4dcd8ac82"}},"docs/deployment.md":{"size":159870,"mtime_ns":1789615072584200118,"indexed_at_ns":1789785987829649544,"word_count":20836,"hashes":{"docs/deployment.md":"1882d53d4ba5f1e1a924cec5dc243bc733c78dec84038d2f48e5c05dd74cd431"}},"docs/jeannie.1.md":{"size":26325,"mtime_ns":1783028953577136930,"indexed_at_ns":1789785987829872611,"word_count":3350,"hashes":{"docs/jeannie.1.md":"1673de7e26f7128dcf3fe64963060dc5ccc35604a2628d867395d5633d9aa178"}},"docs/runbooks/cluster-stop-start-failures.md":{"size":3137,"mtime_ns":1782604673863664667,"indexed_at_ns":1789785987830018506,"word_count":501,"hashes":{"docs/runbooks/cluster-stop-start-failures.md":"be8aa16b87e8bd3b965e683893927cb2ad4405f3fa453c11725945378040cd16"}},"docs/runbooks/edge-failures.md":{"size":3264,"mtime_ns":1783028953577136930,"indexed_at_ns":1789785987830143938,"word_count":439,"hashes":{"docs/runbooks/edge-failures.md":"9554f7fa2e8e77605b4411be60f0581805576b668c163d1c1444324b22000272"}},"docs/runbooks/gitea-failures.md":{"size":2659,"mtime_ns":1782604673863664667,"indexed_at_ns":1789785987830270487,"word_count":349,"hashes":{"docs/runbooks/gitea-failures.md":"fd69f3842286e4d364a007016541da32e55a1af8abd492cedb5321edcad9c652"}},"docs/service-catalog.md":{"size":6113,"mtime_ns":1789615072616199561,"indexed_at_ns":1789785987830385443,"word_count":629,"hashes":{"docs/service-catalog.md":"9d93a4bd7c9ffab0da43e6d7d506156c43d7aa555ef54cd88c8b4b7c39484209"}},"go.mod":{"size":35,"mtime_ns":1782917749928426876,"indexed_at_ns":1789785987315807024,"word_count":4,"hashes":{"go.mod":"bff4cd9d7e7892fc50ab12aecd2309f9f827eb3ee1b89a4a5952026b2b0fcbf3"}},"homelab.yml":{"size":4594,"mtime_ns":1789656706750677754,"indexed_at_ns":1789785987830504659,"word_count":310,"hashes":{"homelab.yml":"94fc746d30d68e883317131a10be3412a5c68efadece8f9741606a8bda44a6b8"}},"infra/agent-sandbox/README.md":{"size":400,"mtime_ns":1782847797780934677,"indexed_at_ns":1789785987830655163,"word_count":54,"hashes":{"infra/agent-sandbox/readme.md":"e780661d7d9ab1387877b7b712a9cf186b2dee1516032ad544e1e4b4c39f12ca"}},"infra/ai-evals/README.md":{"size":763,"mtime_ns":1782842479390744646,"indexed_at_ns":1789785987830779757,"word_count":105,"hashes":{"infra/ai-evals/readme.md":"d8487aff2518d11caabb138c6f878dbb99bfb9b568f2c3d035c1415d2037649e"}},"infra/ai-evals/fixtures/capacity-missing-resources.txt":{"size":228,"mtime_ns":1782842479390744646,"indexed_at_ns":1789785987830920833,"word_count":24,"hashes":{"infra/ai-evals/fixtures/capacity-missing-resources.txt":"0702a67d276271349df6cbc4355f25c59bc0ee6891c18e288bcb94eaa2ddd46d"}},"infra/ai-evals/fixtures/cluster-stop-question.txt":{"size":183,"mtime_ns":1782842479390744646,"indexed_at_ns":1789785987831056182,"word_count":28,"hashes":{"infra/ai-evals/fixtures/cluster-stop-question.txt":"7d9e8839dd374685e60f4e4a8efeb1e3608b98205c24721f82664bd183fc00ab"}},"infra/ai-evals/fixtures/edge-gitea-question.txt":{"size":137,"mtime_ns":1782842479390744646,"indexed_at_ns":1789785987831189506,"word_count":22,"hashes":{"infra/ai-evals/fixtures/edge-gitea-question.txt":"90766f4dfcf3593b66c255e94942aef4148b6600b8e12ec3b6a77dbc35f58e5f"}},"infra/ai-scheduler/README.md":{"size":506,"mtime_ns":1782847797780934677,"indexed_at_ns":1789785987831315217,"word_count":63,"hashes":{"infra/ai-scheduler/readme.md":"3d14a844c1469dbdbe8ceb66a2faf71d0bd5fdbbc31c0e0085659fdff19b9d5f"}},"infra/ai/README.md":{"size":1045,"mtime_ns":1782623871155897540,"indexed_at_ns":1789785987831444699,"word_count":147,"hashes":{"infra/ai/readme.md":"93ab706e5cbc1a3af642c10b18aedbd7d53552a4be2d302e7fe896590f52482e"}},"infra/ai/knowledge-excludes.txt":{"size":193,"mtime_ns":1782789038483446361,"indexed_at_ns":1789785987831576766,"word_count":27,"hashes":{"infra/ai/knowledge-excludes.txt":"f207560702058a6ce66c0debe7c93774547c9c1b7f4a83829d128f547648ed19"}},"infra/ai/knowledge-sources.txt":{"size":467,"mtime_ns":1782623871155897540,"indexed_at_ns":1789785987831702547,"word_count":46,"hashes":{"infra/ai/knowledge-sources.txt":"ebbe6bcf5d872ac0d833a57944a223ab8d6c5fa36b5afe1fbb997c000f547724"}},"infra/ai/provenance.md":{"size":404,"mtime_ns":1782847797780934677,"indexed_at_ns":1789785987831835731,"word_count":62,"hashes":{"infra/ai/provenance.md":"760dc3f25e2d07e9362a13274a8a069ef1e385186eb97e332f26f3ef5686bb30"}},"infra/arr-stack/README.md":{"size":1437,"mtime_ns":1782596639836077963,"indexed_at_ns":1789785987831971988,"word_count":195,"hashes":{"infra/arr-stack/readme.md":"54b192bcd6958fd4fc1a0ec382961db654f77f64f642ddcf907a69047fa2937b"}},"infra/arr-stack/bootstrap.sh":{"size":1713,"mtime_ns":1782574517357071382,"indexed_at_ns":1789785987315989375,"word_count":124,"hashes":{"infra/arr-stack/bootstrap.sh":"da933b4a2796414a162e4f59a98b3940dd21fbd53a1e04de6d4151d153069e83"}},"infra/arr-stack/configure-arr.py":{"size":7230,"mtime_ns":1782574517357071382,"indexed_at_ns":1789785987316171377,"word_count":635,"hashes":{"infra/arr-stack/configure-arr.py":"484424ebb0c750728c8d03a7ee5db024d7d17312040322e2b7a65ba4e7633ff3"}},"infra/arr-stack/docker-compose.yml":{"size":5176,"mtime_ns":1789530167751218141,"indexed_at_ns":1789785987832131432,"word_count":287,"hashes":{"infra/arr-stack/docker-compose.yml":"68972f5f1b22638de37a710d5cd703708001e8f62793213794f80fdf3258cf3c"}},"infra/arr-stack/docs/bootstrap.md":{"size":2558,"mtime_ns":1782596639836077963,"indexed_at_ns":1789785987832270831,"word_count":336,"hashes":{"infra/arr-stack/docs/bootstrap.md":"f0ca9492508e75612f058842fafaa9163de52fd6ef0ccb4f4ebe0d1375b952d7"}},"infra/arr-stack/examples/import-lists.example.json":{"size":225,"mtime_ns":1782574517357071382,"indexed_at_ns":1789785987316363157,"word_count":19,"hashes":{"infra/arr-stack/examples/import-lists.example.json":"1a0f09402e25195435d441d23dcdfbcb1fca1858a8a454290c876bb8ace4776a"}},"infra/artifact-cache/README.md":{"size":641,"mtime_ns":1782778401704764176,"indexed_at_ns":1789785987832406320,"word_count":80,"hashes":{"infra/artifact-cache/readme.md":"54b6c7ba1eaa4774ba45b2ec91de7853efd304d9d23312d2a6f9c3a023e87b56"}},"infra/artifact-cache/docker-compose.yml":{"size":682,"mtime_ns":1782778401704764176,"indexed_at_ns":1789785987832530774,"word_count":32,"hashes":{"infra/artifact-cache/docker-compose.yml":"ebfa8d86f929d428152aacfad3b2831651af420f77d32ba1b022d47a6047aced"}},"infra/blockchain-devnet/README.md":{"size":2077,"mtime_ns":1782786047426013210,"indexed_at_ns":1789785987832655298,"word_count":217,"hashes":{"infra/blockchain-devnet/readme.md":"4b0f59f44b0763ae34ded7e3d0f02863622efea2ce42e38bf97d9386b93032a7"}},"infra/blockchain-devnet/docker-compose.yml":{"size":1421,"mtime_ns":1782786047426013210,"indexed_at_ns":1789785987832780730,"word_count":92,"hashes":{"infra/blockchain-devnet/docker-compose.yml":"0334174d741cc5e43d4c96f0c95218769fcf9735a837468bc23f8bf1fd393ebe"}},"infra/blockchain-devnet/explorer/index.html":{"size":4704,"mtime_ns":1782786047426013210,"indexed_at_ns":1789785987832916568,"word_count":386,"hashes":{"infra/blockchain-devnet/explorer/index.html":"d33ffb2b0e3ec27e301ea95685ab5ba1929bd1636bc5806906b03e7f4935c266"}},"infra/blockchain-devnet/metrics/exporter.py":{"size":3118,"mtime_ns":1782786047426013210,"indexed_at_ns":1789785987316553819,"word_count":224,"hashes":{"infra/blockchain-devnet/metrics/exporter.py":"04546891b0c204d259cf8c15c2e0a1f08e6ba94dd2da00b2f56d04b762184403"}},"infra/blockchain-devnet/prometheus-scrape.example.yml":{"size":150,"mtime_ns":1782786047426013210,"indexed_at_ns":1789785987833042908,"word_count":11,"hashes":{"infra/blockchain-devnet/prometheus-scrape.example.yml":"3c2e5710b6b2c04c19da24b8fe70cfe51cf7d48cee89852754507f4502ef97c4"}},"infra/gitea/README.md":{"size":1649,"mtime_ns":1782596639836077963,"indexed_at_ns":1789785987833167152,"word_count":214,"hashes":{"infra/gitea/readme.md":"f103ebf9ca4992e3f4275bcaa8b8f40affb6f61d87efbb02948c6d38b27698f3"}},"infra/gitea/docker-compose.yml":{"size":1037,"mtime_ns":1782523591840874437,"indexed_at_ns":1789785987833292375,"word_count":47,"hashes":{"infra/gitea/docker-compose.yml":"a8ae312185b15165ac94b4a808ca7525385a4d83c4f671a819139b8d56c59173"}},"infra/heimdall/README.md":{"size":746,"mtime_ns":1783028953581136862,"indexed_at_ns":1789785987833416619,"word_count":96,"hashes":{"infra/heimdall/readme.md":"ffec0633bb62168954220ec5eef68ae6b65f357244dfe34a856ff4831fa919a4"}},"infra/heimdall/docker-compose.yml":{"size":1227,"mtime_ns":1783028953581136862,"indexed_at_ns":1789785987833540864,"word_count":57,"hashes":{"infra/heimdall/docker-compose.yml":"b278e67c1234f788880f8aba8c290c72d2fbd6b740bcbf99640b10a3ba262269"}},"infra/heimdall/links.json":{"size":4647,"mtime_ns":1783033037067312378,"indexed_at_ns":1789785987316734563,"word_count":396,"hashes":{"infra/heimdall/links.json":"89514215cdf8389befeef17e488104583f1c9911c8062ae08ab7a069c805a515"}},"infra/heimdall/seed-heimdall.py":{"size":5347,"mtime_ns":1783028953585136794,"indexed_at_ns":1789785987316918241,"word_count":476,"hashes":{"infra/heimdall/seed-heimdall.py":"162c50ae8b353f6b74927136172bb9604de004b172d3c8b9b2f41c86bbcd2010"}},"infra/incident-commander/README.md":{"size":660,"mtime_ns":1782842479390744646,"indexed_at_ns":1789785987833666295,"word_count":92,"hashes":{"infra/incident-commander/readme.md":"d6d397db2ecb870dd1e842f68b81675ab1fba6daf0ffe21f33a3c206c3c9c13b"}},"infra/incident-commander/fixtures/cluster-api-down.txt":{"size":123,"mtime_ns":1782842479390744646,"indexed_at_ns":1789785987833803530,"word_count":20,"hashes":{"infra/incident-commander/fixtures/cluster-api-down.txt":"0b59085eb75ae2d98f554d37fae899cfde66b873b5ce6099ce76bf7dcde6e7e6"}},"infra/incident-commander/fixtures/edge-502.txt":{"size":91,"mtime_ns":1782842479390744646,"indexed_at_ns":1789785987833939298,"word_count":13,"hashes":{"infra/incident-commander/fixtures/edge-502.txt":"9a5500ccd74ebc960b04fc146c2c2acd632e3d442b715235448b8fdc6669a600"}},"infra/incident-commander/fixtures/gitea-backend.txt":{"size":182,"mtime_ns":1782842479390744646,"indexed_at_ns":1789785987834072622,"word_count":24,"hashes":{"infra/incident-commander/fixtures/gitea-backend.txt":"aab058d49bd74a397717cd12fa5203f5aa4dd2325a33d2dce8d830a4677975d2"}},"infra/incident-commander/fixtures/rpi-dns-timeout.txt":{"size":150,"mtime_ns":1782842479390744646,"indexed_at_ns":1789785987834206923,"word_count":20,"hashes":{"infra/incident-commander/fixtures/rpi-dns-timeout.txt":"4880d34968ee27a0feffe0528572b86b3edf77babd53ab7ee32b0632829c21d8"}},"infra/matrix-server/bootstrap.sh":{"size":3158,"mtime_ns":1789573245336040247,"indexed_at_ns":1789785987317099545,"word_count":303,"hashes":{"infra/matrix-server/bootstrap.sh":"b28e8ff46b8643e33b25d98145849f3ff42921daedfedfbb7126a4418d97b68f"}},"infra/matrix-server/docker-compose.yml":{"size":1428,"mtime_ns":1789572551108085148,"indexed_at_ns":1789785987834332146,"word_count":91,"hashes":{"infra/matrix-server/docker-compose.yml":"7f80f60dfeeace9746dfa7b95bb17c38480089caccb49b2e45e442c2814b920d"}},"infra/matrix-server/element-config/config.json":{"size":569,"mtime_ns":1789572570215753746,"indexed_at_ns":1789785987317290207,"word_count":37,"hashes":{"infra/matrix-server/element-config/config.json":"88b12de35f08b0d8265b8cf1a9de520e2f101df3f25615bf576547e4c41cdf22"}},"infra/matrix-server/log_config.yaml":{"size":502,"mtime_ns":1789572570219753677,"indexed_at_ns":1789785987834456530,"word_count":53,"hashes":{"infra/matrix-server/log_config.yaml":"9dd2006cc7516687ae570cddb9b59f137952c730418db40f9a9e09ae8304f2c6"}},"infra/model-observatory/README.md":{"size":443,"mtime_ns":1782847797780934677,"indexed_at_ns":1789785987834608361,"word_count":56,"hashes":{"infra/model-observatory/readme.md":"fc35114f6fc83d0b450651a7988064f75ccea81bac510dc726ba015d21ff30c7"}},"infra/omniroute/bootstrap.sh":{"size":737,"mtime_ns":1789572684249775760,"indexed_at_ns":1789785987317467879,"word_count":87,"hashes":{"infra/omniroute/bootstrap.sh":"74f4786a99a0a14dc52b9060cceb80ed951b062aa40d55769c6595277b39830e"}},"infra/omniroute/docker-compose.yml":{"size":317,"mtime_ns":1789572676717906414,"indexed_at_ns":1789785987834738821,"word_count":18,"hashes":{"infra/omniroute/docker-compose.yml":"93e7c9812c08ef2f6a468acc5b8b6cbcd76f95268573a006f5741d8966c2895d"}},"infra/pimox/golden-image-ledger.yml":{"size":682,"mtime_ns":1782778401704764176,"indexed_at_ns":1789785987834876894,"word_count":82,"hashes":{"infra/pimox/golden-image-ledger.yml":"67a3133a886f48ef7bce24ec5cdc60c16f6e127021ac15a77515796368ef2917"}},"infra/promotion/README.md":{"size":411,"mtime_ns":1782847797780934677,"indexed_at_ns":1789785987835005050,"word_count":58,"hashes":{"infra/promotion/readme.md":"d7a492676c3d9e7683ea62f50e90863905f152cc99b14170e167107cf31edd7d"}},"infra/red-blue-loop/README.md":{"size":419,"mtime_ns":1782847797780934677,"indexed_at_ns":1789785987835129993,"word_count":59,"hashes":{"infra/red-blue-loop/readme.md":"0f1cc2892fb793eda9f07ba0c92342fd08fc986fab9d5132741f1c36d3d36e67"}},"infra/resource-budgets.yml":{"size":747,"mtime_ns":1782778401704764176,"indexed_at_ns":1789785987835247393,"word_count":67,"hashes":{"infra/resource-budgets.yml":"111c3039599eb55d77e6cb168f85862d132e0ef8aee712bdc66cee90b8e1e429"}},"infra/resource-recommendations.yml":{"size":677,"mtime_ns":1783028953585136794,"indexed_at_ns":1789785987835359905,"word_count":62,"hashes":{"infra/resource-recommendations.yml":"40cd41166e78f95accf15192692afde31b705af5c23bdeb42a03f10bcf8b291e"}},"infra/rpi-services/README.md":{"size":2433,"mtime_ns":1783004588702144358,"indexed_at_ns":1789785987835483381,"word_count":311,"hashes":{"infra/rpi-services/readme.md":"0d0c0f166b78cb7807683181df4743ecbc1017a9e66d346a9c9513e387f63f6c"}},"infra/rpi-services/adlists.txt":{"size":385,"mtime_ns":1782604673863664667,"indexed_at_ns":1789785987835615587,"word_count":26,"hashes":{"infra/rpi-services/adlists.txt":"fd33bff2e3ec63fe1ea02c810717b4d0b924ad96d755f4d27dc355a1ed722c0a"}},"infra/rpi-services/bootstrap.sh":{"size":11243,"mtime_ns":1783004588702144358,"indexed_at_ns":1789785987317646458,"word_count":922,"hashes":{"infra/rpi-services/bootstrap.sh":"7d56820cc90a0f4237c6064259bfeb5e398c453e95b30fd10e85b6ca097f19f9"}},"infra/rpi-services/cname-records.txt":{"size":179,"mtime_ns":1782604673863664667,"indexed_at_ns":1789785987835739063,"word_count":15,"hashes":{"infra/rpi-services/cname-records.txt":"e92a2fa1485ba1c68361e377b839f0524dabc8cfb05a840109e692df3f2de382"}},"infra/rpi-services/docker-compose.yml":{"size":2483,"mtime_ns":1789532496210456661,"indexed_at_ns":1789785987835860445,"word_count":123,"hashes":{"infra/rpi-services/docker-compose.yml":"dd979c7b0a53b1b706c261535053b55ec563023538ab027d984785542b4c9fae"}},"infra/rpi-services/local-dns-records.txt":{"size":255,"mtime_ns":1782604673863664667,"indexed_at_ns":1789785987836010181,"word_count":20,"hashes":{"infra/rpi-services/local-dns-records.txt":"b765450067f96a4422893c34563468b6fd02950b169f0ff2f4a1b9d837e30843"}},"infra/rpi-services/seed-uptime-kuma.js":{"size":6520,"mtime_ns":1782763625567142304,"indexed_at_ns":1789785875779566178,"word_count":682},"infra/rpi-services/static-dhcp-hosts.txt":{"size":197,"mtime_ns":1782604673863664667,"indexed_at_ns":1789785987836136800,"word_count":23,"hashes":{"infra/rpi-services/static-dhcp-hosts.txt":"644b77227f672e547f566b5eb5a4e7ebf026ffccd1b6b51d58120703e77341c8"}},"infra/rpi-services/uptime-kuma-monitors.json":{"size":2256,"mtime_ns":1782604673863664667,"indexed_at_ns":1789785987317831882,"word_count":196,"hashes":{"infra/rpi-services/uptime-kuma-monitors.json":"f868e6d9f05c03e89b3416480dde68d7a73924b28955f4ebfd29a10b53d7ae6f"}},"infra/safety-cases/README.md":{"size":352,"mtime_ns":1782847797780934677,"indexed_at_ns":1789785987836263209,"word_count":56,"hashes":{"infra/safety-cases/readme.md":"ebe2bb9e83708d9eac0d100fe2544bb4b22de91e399baa84e79a83b11e7e2e9e"}},"infra/tailscale/README.md":{"size":1205,"mtime_ns":1782604673863664667,"indexed_at_ns":1789785987836390108,"word_count":175,"hashes":{"infra/tailscale/readme.md":"b19b18daa778ed6e304a8cbd092cf4baedbf27e3d0bb387b4fb858acf0ce0af8"}},"infra/youtube-backup/README.md":{"size":1872,"mtime_ns":1782596639836077963,"indexed_at_ns":1789785987836514562,"word_count":222,"hashes":{"infra/youtube-backup/readme.md":"45657c6d4c1c95495d63c3b1d546fec0aacc6698ca3f0760fdc372db044831be"}},"infra/youtube-backup/backup-youtube.sh":{"size":3343,"mtime_ns":1782596639836077963,"indexed_at_ns":1789785987318013884,"word_count":250,"hashes":{"infra/youtube-backup/backup-youtube.sh":"e44a9269c5f862940de5f3af9d733f049564740141402292f7646f2d317d5da3"}},"infra/youtube-backup/playlists.example.txt":{"size":336,"mtime_ns":1782591672802705751,"indexed_at_ns":1789785987836637270,"word_count":45,"hashes":{"infra/youtube-backup/playlists.example.txt":"b45dc636d29ef508e81291da096ad6df3518a8940c24795e6ac16b730b6b5a25"}},"jeannie":{"size":323558,"mtime_ns":1789575771931163281,"indexed_at_ns":1789785987318246590,"word_count":28830,"hashes":{"jeannie":"42082e0bd473122de1f6234d9bd1265943731851d1d63b4637f00d6836ca5668"}},"labs/blockchain/README.md":{"size":1063,"mtime_ns":1782786047426013210,"indexed_at_ns":1789785987836763191,"word_count":149,"hashes":{"labs/blockchain/readme.md":"445fd6d6171590c40b1f795be9142824294c69d1db9f4e596e38d789a87953b3"}},"labs/blockchain/SECURITY_LAB.md":{"size":1030,"mtime_ns":1782786047426013210,"indexed_at_ns":1789785987836890159,"word_count":138,"hashes":{"labs/blockchain/security_lab.md":"e15ec3e6a02822111c5d82f7d9c560e747f45ef2a70e9f9cd6c1a35f334b89a5"}},"labs/blockchain/WALLET_LAB.md":{"size":1050,"mtime_ns":1782786047426013210,"indexed_at_ns":1789785987837012238,"word_count":159,"hashes":{"labs/blockchain/wallet_lab.md":"a31c5ea438b2bd98512d3f04f6d68327af1e7050d042eee7e2e9d78987dfba79"}},"labs/mlops-platform/README.md":{"size":1732,"mtime_ns":1782789038487446293,"indexed_at_ns":1789785987837140464,"word_count":219,"hashes":{"labs/mlops-platform/readme.md":"77005fbe226f911c3d1440b8f8e65852d542eae5f5fbd10b5b094e310b19c3a9"}},"labs/mlops-platform/app/main.py":{"size":6761,"mtime_ns":1782789038487446293,"indexed_at_ns":1789785987318818785,"word_count":585,"hashes":{"labs/mlops-platform/app/main.py":"892b84d31b92438b79511a1370a82711a58d33a351edd65ccee457c05cfde73a"}},"labs/mlops-platform/models/model_v1.json":{"size":666,"mtime_ns":1782789038487446293,"indexed_at_ns":1789785987319031097,"word_count":65,"hashes":{"labs/mlops-platform/models/model_v1.json":"6fb45220b1545ab752b53ffe7946070ad8c65a0759f3250d9ec78dc95636e9f3"}},"labs/mlops-platform/models/model_v2.json":{"size":671,"mtime_ns":1782789038487446293,"indexed_at_ns":1789785987319224343,"word_count":65,"hashes":{"labs/mlops-platform/models/model_v2.json":"d9d840c18678bf750abb76b4c95ec695b6e1f2114f124e37d4220c9adb56f441"}},"labs/mlops-platform/requirements.txt":{"size":86,"mtime_ns":1782789038487446293,"indexed_at_ns":1789785987837273368,"word_count":4,"hashes":{"labs/mlops-platform/requirements.txt":"cb9b8386c40b6e4269fd7a0f3492564eadfef13f2c27a4627411ec0a0f416b3f"}},"labs/mlops-platform/training/export_model.py":{"size":1843,"mtime_ns":1782789038487446293,"indexed_at_ns":1789785987319413469,"word_count":163,"hashes":{"labs/mlops-platform/training/export_model.py":"845db495f90d0b292ea49fb1768be6e2c0a0f0a5d5433883d5793510a96b5251"}},"renovate.json":{"size":2258,"mtime_ns":1782596639840077896,"indexed_at_ns":1789785987319578360,"word_count":157,"hashes":{"renovate.json":"f9667bc3fe2bed91cd8cd3f93f0061ce2e22d12fe7f4a20b527b6c33569926ea"}},"scripts/access-audit":{"size":4490,"mtime_ns":1782774077225574094,"indexed_at_ns":1789785987319821821,"word_count":427,"hashes":{"scripts/access-audit":"56550540462c4064120ff997e7950c4e9c414ede0b5e2984ffb55896d15dd8ef"}},"scripts/agent-sandbox":{"size":2517,"mtime_ns":1782847797784934607,"indexed_at_ns":1789785987320055643,"word_count":221,"hashes":{"scripts/agent-sandbox":"f2e05d759c9a45c04a3870d66b331065e14f6a495cd5c6e5f7e329bdf722b751"}},"scripts/ai-evals":{"size":6771,"mtime_ns":1782842479390744646,"indexed_at_ns":1789785987320284717,"word_count":577,"hashes":{"scripts/ai-evals":"995bd15f7f90994afe65a8b133bde5ed7c0d731dc697f1443fa98517c7f324f5"}},"scripts/ai-memory":{"size":2150,"mtime_ns":1782847797784934607,"indexed_at_ns":1789785987320564145,"word_count":176,"hashes":{"scripts/ai-memory":"8bc666855fa364692bdc5f810b353c3f3d6b4901579d1edf98e15952ce0e920c"}},"scripts/ai-scheduler":{"size":4059,"mtime_ns":1782847797784934607,"indexed_at_ns":1789785987320798736,"word_count":376,"hashes":{"scripts/ai-scheduler":"5146b85d8a0229d718f58c9f979c38d4919857a3516ae2878378ac9d70c8d815"}},"scripts/artifact-cache":{"size":1196,"mtime_ns":1782778401704764176,"indexed_at_ns":1789785987321021734,"word_count":109,"hashes":{"scripts/artifact-cache":"0e8deab3acf110a3dfa12e9f1c1818a08acbf96c58dccfa46ddb1491a01ccc4d"}},"scripts/ask":{"size":803,"mtime_ns":1782847797784934607,"indexed_at_ns":1789785987321233627,"word_count":84,"hashes":{"scripts/ask":"dfad3141e807d7a9590addc459a0064e810f35051d892b88c4be96b8289e57d7"}},"scripts/backup-status":{"size":2912,"mtime_ns":1782778401704764176,"indexed_at_ns":1789785987321445939,"word_count":268,"hashes":{"scripts/backup-status":"94d866c52b4c20da29517d544731de81c2ae69f429c83731ff83f289b5bc281b"}},"scripts/blockchain-devnet":{"size":2116,"mtime_ns":1782786047426013210,"indexed_at_ns":1789785987321678296,"word_count":187,"hashes":{"scripts/blockchain-devnet":"cf7ca033dff559c07e2c58e650924588d7e9b20a271c68249e998829a9615a7a"}},"scripts/blockchain-test":{"size":787,"mtime_ns":1782786047426013210,"indexed_at_ns":1789785987321894728,"word_count":94,"hashes":{"scripts/blockchain-test":"5e05c4d7363c0e207a985688a6d92a512e9f85a654253d53d97a42fdf0cd3286"}},"scripts/blockchain-wallet":{"size":2161,"mtime_ns":1782786047426013210,"indexed_at_ns":1789785987322107041,"word_count":248,"hashes":{"scripts/blockchain-wallet":"10ac41b257fac32cf88c3fe6dd3799153ad4414604873802f727699c004111b2"}},"scripts/build-homelab-ai-index":{"size":6686,"mtime_ns":1782847797784934607,"indexed_at_ns":1789785987322323822,"word_count":550,"hashes":{"scripts/build-homelab-ai-index":"1f1c2f04fc92b7593bba4381a3f1e737740ff643f5cd0cdbeb76457336641571"}},"scripts/capacity-advisor":{"size":4887,"mtime_ns":1783028953585136794,"indexed_at_ns":1789785987322540604,"word_count":482,"hashes":{"scripts/capacity-advisor":"219e7e50d1c096b6fa9a6391a12635e253e15e1ed5d313ec96c226fed764edf6"}},"scripts/capacity-limits":{"size":4096,"mtime_ns":1782788095467405936,"indexed_at_ns":1789785987322798173,"word_count":379,"hashes":{"scripts/capacity-limits":"d240b05bb5d0b9deb73c280852cb49606278a2166c4de9c5da2acf4fd0da81d8"}},"scripts/capacity-report":{"size":17654,"mtime_ns":1783004588706144286,"indexed_at_ns":1789785987323028364,"word_count":1724,"hashes":{"scripts/capacity-report":"98d340b5e8c14cc18259e68ab2618374957c8d70235e18a2c062b1d0f2d24fb2"}},"scripts/cert-check":{"size":4848,"mtime_ns":1783018714221147982,"indexed_at_ns":1789785987323251152,"word_count":509,"hashes":{"scripts/cert-check":"87705ae4a2f669356d407248279ac83aa427c9ea723c965db1a4445524a72433"}},"scripts/change-journal":{"size":1988,"mtime_ns":1782778401704764176,"indexed_at_ns":1789785987323466817,"word_count":191,"hashes":{"scripts/change-journal":"aa93bd41c60315b7fc93f3d6c92715a4d1d19d20a12fc87bf5197ced661c9fc6"}},"scripts/control-plane":{"size":2951,"mtime_ns":1782786047426013210,"indexed_at_ns":1789785987323678710,"word_count":263,"hashes":{"scripts/control-plane":"664d4e25d51be9d33c09df730c56a494e785f8c3fd0e3e48d6e1e88dd63648f5"}},"scripts/explain":{"size":10431,"mtime_ns":1782849073805454965,"indexed_at_ns":1789785987323892838,"word_count":894,"hashes":{"scripts/explain":"3fcfc708b6bd5f6cd00ec777e6f6fb398d7ed3218a83c225bad4f699b9bdbe80"}},"scripts/gitops-status":{"size":2815,"mtime_ns":1782778401708764105,"indexed_at_ns":1789785987324124984,"word_count":294,"hashes":{"scripts/gitops-status":"ef4beca63f62ced8e4a88ed0b7912c36189861ce42f0b66a61bfc2ab47e1102a"}},"scripts/golden-ledger":{"size":1489,"mtime_ns":1782778401708764105,"indexed_at_ns":1789785987324355315,"word_count":154,"hashes":{"scripts/golden-ledger":"ad833ed681866f7052dc28f04abd7056170d319a98ffc354306ef85a883b902e"}},"scripts/grafana-dashboards":{"size":2966,"mtime_ns":1782779906778834080,"indexed_at_ns":1789785987324566720,"word_count":276,"hashes":{"scripts/grafana-dashboards":"0c69b7c4a12a2ffeb7f91093f0d1aa4e0800f2030571928e93e395979321a083"}},"scripts/heal":{"size":16470,"mtime_ns":1782857878694421349,"indexed_at_ns":1789785987324783711,"word_count":1490,"hashes":{"scripts/heal":"a07f952798719a4d5bdfd48403e24f6bd7d60aa96c23b4c177d96eafcf37c61b"}},"scripts/homelab-map":{"size":4213,"mtime_ns":1782778401708764105,"indexed_at_ns":1789785987325005382,"word_count":451,"hashes":{"scripts/homelab-map":"92c5c7b06d0850a763ef0d951fccd1e4318484e11e8756f3b1d18dd4ed569698"}},"scripts/impact":{"size":2560,"mtime_ns":1782788095467405936,"indexed_at_ns":1789785987325229846,"word_count":285,"hashes":{"scripts/impact":"8ca683dc95a5ccfe596fe14c4cc10578a1a46a3e4a4233fa109d95fd5eb5212f"}},"scripts/incident-commander":{"size":7504,"mtime_ns":1782842479394744574,"indexed_at_ns":1789785987325446977,"word_count":611,"hashes":{"scripts/incident-commander":"cfcc6051f4d022f76c4bf91666ffef49471ea3222c7fe5e111aea18a805687f5"}},"scripts/jeannie-core":{"size":862,"mtime_ns":1782937169656260335,"indexed_at_ns":1789785987325667950,"word_count":94,"hashes":{"scripts/jeannie-core":"6a2bdb11e1666af835c315fafbde2fca66a201efb1ec74517f0d5248344dd47d"}},"scripts/kubeconfig-readonly":{"size":2519,"mtime_ns":1782775001642222455,"indexed_at_ns":1789785987325884173,"word_count":198,"hashes":{"scripts/kubeconfig-readonly":"c8c716b09bb4617ec3d0b432f4b64584d11268de8a1e55bf87e40d29e8dfe67e"}},"scripts/model-observe":{"size":5977,"mtime_ns":1782847797784934607,"indexed_at_ns":1789785987326100396,"word_count":536,"hashes":{"scripts/model-observe":"000c733963a63c11216acf1ff74316f5353f68a12cee61ecbb055dc88ae5d819"}},"scripts/promote":{"size":2870,"mtime_ns":1782847797784934607,"indexed_at_ns":1789785987326346161,"word_count":258,"hashes":{"scripts/promote":"3cdbdcb49212756a456706b9728362b01d9a09da4708d0e5858b734dee7dc98c"}},"scripts/prompt-injection-lab":{"size":6823,"mtime_ns":1782842479394744574,"indexed_at_ns":1789785987326593812,"word_count":616,"hashes":{"scripts/prompt-injection-lab":"ca914218a4794108d3a7c91dc70abea382a47d4764473553fa04af3d0193a6a3"}},"scripts/query-homelab-ai-index":{"size":6661,"mtime_ns":1782847797784934607,"indexed_at_ns":1789785987326823794,"word_count":583,"hashes":{"scripts/query-homelab-ai-index":"49f7dedf3bb93c068779c0455d26622527d0368e0dfb7b4eec2cce68c02e6c51"}},"scripts/recover-plan":{"size":2560,"mtime_ns":1782778401708764105,"indexed_at_ns":1789785987327037433,"word_count":268,"hashes":{"scripts/recover-plan":"bb977f4fa65e471b233241e227536150292f2d7845311d1050b6dbb37246e3ea"}},"scripts/recover-power":{"size":1467,"mtime_ns":1782778401708764105,"indexed_at_ns":1789785987327247511,"word_count":169,"hashes":{"scripts/recover-power":"a7133de9e2c456b746295f06c624474e5c29815358bb5181d279fe43cdf3d594"}},"scripts/red-blue-loop":{"size":2424,"mtime_ns":1782847797784934607,"indexed_at_ns":1789785987327459404,"word_count":209,"hashes":{"scripts/red-blue-loop":"47d62b0f8e2634796be93e59c2779b42fcc947f9e66bb5c45695efc1be52617c"}},"scripts/release-snapshot":{"size":3450,"mtime_ns":1782778401708764105,"indexed_at_ns":1789785987327673602,"word_count":336,"hashes":{"scripts/release-snapshot":"aeff7193450e5f443db063954cad83d4d62b253b53ac670f0512619085b552d8"}},"scripts/render-docs":{"size":4314,"mtime_ns":1789615069760249263,"indexed_at_ns":1789785987327898764,"word_count":404,"hashes":{"scripts/render-docs":"d591db2d9adc11c573a58d6d6d546d73a067199f3c2f5aa8d04dcf013a4e4708"}},"scripts/render-service-catalog":{"size":17539,"mtime_ns":1783028953585136794,"indexed_at_ns":1789785987328115267,"word_count":1274,"hashes":{"scripts/render-service-catalog":"e83d99e360dfac497f4cfda341797af75b94403b582300fbd6bfb2ae479137b0"}},"scripts/report-render":{"size":553,"mtime_ns":1782937169656260335,"indexed_at_ns":1789785987328338754,"word_count":56,"hashes":{"scripts/report-render":"f036e2f3f6a127446395aacbcc51fd6fec73f07ef08466db92d99b432b3584c9"}},"scripts/report-ui":{"size":4022,"mtime_ns":1782797359844724281,"indexed_at_ns":1789785987328550088,"word_count":348,"hashes":{"scripts/report-ui":"425fc0d94bef4c38aca0f67a23d5fc5a939a00534454f4ed0eb8961f15132047"}},"scripts/resource-budget":{"size":7350,"mtime_ns":1782786047426013210,"indexed_at_ns":1789785987328768686,"word_count":743,"hashes":{"scripts/resource-budget":"109483b3b8fcc0ae7b43f852533b8c2fa630372730b95ffdd82adb8da2578c14"}},"scripts/restore-drill":{"size":3950,"mtime_ns":1782775001642222455,"indexed_at_ns":1789785987328986725,"word_count":396,"hashes":{"scripts/restore-drill":"3d9244907ee7e27c52e39a1e66d4497dadbd4d81602df24724b22118a4fd42ba"}},"scripts/review-last-change":{"size":1176,"mtime_ns":1782788095467405936,"indexed_at_ns":1789785987329202529,"word_count":147,"hashes":{"scripts/review-last-change":"bdb65deaaaffb94297667458482388ea41b8a899e2fbc1ca50d161b343b52e35"}},"scripts/route-inventory":{"size":3048,"mtime_ns":1782779019210011995,"indexed_at_ns":1789785987329413794,"word_count":311,"hashes":{"scripts/route-inventory":"cba4c12a66d62c3c9ad45b329a97f57b7c7fbd6e312c909ea946c78583fa52db"}},"scripts/safety-case":{"size":3963,"mtime_ns":1782847797784934607,"indexed_at_ns":1789785987329628620,"word_count":382,"hashes":{"scripts/safety-case":"cef3e96fc7c26a4e3e9f67e98d83be2fc4dfd860c447c81804e1ce6ae7f368a2"}},"scripts/scorecard":{"size":2117,"mtime_ns":1782786047426013210,"indexed_at_ns":1789785987329845612,"word_count":227,"hashes":{"scripts/scorecard":"a0fb069f7740b986a37319510219f12570ee970e3cb13f564d2b4dba3f5521a2"}},"scripts/security-attack-path":{"size":4439,"mtime_ns":1782774077225574094,"indexed_at_ns":1789785987330060717,"word_count":434,"hashes":{"scripts/security-attack-path":"7ed7d0a98cb3d69986d9aebb6f48af5d6b1c3103207b7857390a6667f80f1766"}},"scripts/security-logs":{"size":3404,"mtime_ns":1782774077225574094,"indexed_at_ns":1789785987330281480,"word_count":257,"hashes":{"scripts/security-logs":"b6e3c44b180eb630ebb502517d1d659873fea77f9e2332c71a24d98efc488f6a"}},"scripts/security-scan":{"size":16548,"mtime_ns":1782774077225574094,"indexed_at_ns":1789785987330495678,"word_count":1553,"hashes":{"scripts/security-scan":"52df0ec5b199fa739ecc25a73ea373344370f9974b04b3514bfca9c8512b9978"}},"scripts/synthetic-checks":{"size":4893,"mtime_ns":1782778401708764105,"indexed_at_ns":1789785987330744656,"word_count":513,"hashes":{"scripts/synthetic-checks":"d22e6c7285b0c468bb1538d9f753c799137a75f62bde2f6a56331cf81e065eda"}},"scripts/validate-homelab":{"size":3003,"mtime_ns":1782917749928426876,"indexed_at_ns":1789785987330968911,"word_count":316,"hashes":{"scripts/validate-homelab":"bece62a4d53af64434e868725ca826627fbbfae6ae7c52a6c7eff3ba3ebffc39"}},"scripts/validate-homelab-inventory":{"size":6369,"mtime_ns":1783028953585136794,"indexed_at_ns":1789785987331189744,"word_count":537,"hashes":{"scripts/validate-homelab-inventory":"c64178b22f7814e04a7ae1ef15866e591e4d73062c1f58bfc70ea2747d561a2a"}},"scripts/validate-tailnet-policy":{"size":5443,"mtime_ns":1782604673863664667,"indexed_at_ns":1789785987331406037,"word_count":519,"hashes":{"scripts/validate-tailnet-policy":"71bc1df3e555850ee3273eea88260f416ece1ce246cc83bb22fc35da53c3b3e5"}},"scripts/workers":{"size":9610,"mtime_ns":1782850519587945104,"indexed_at_ns":1789785987331621771,"word_count":978,"hashes":{"scripts/workers":"92db7434eb2e8deb8a5eeee8d243d4e77e5fbe0c0e15812385223ef2ed141ccc"}},"security/README.md":{"size":3383,"mtime_ns":1782774077225574094,"indexed_at_ns":1789785987837393492,"word_count":448,"hashes":{"security/readme.md":"146da80eee000d48ccaa69f6092114f29cc5df328d82a82022e73dbf9e146c3d"}},"security/prompt-injection-lab/README.md":{"size":798,"mtime_ns":1782842479394744574,"indexed_at_ns":1789785987837524372,"word_count":105,"hashes":{"security/prompt-injection-lab/readme.md":"a41fa012dbe619d35504d5bef2fe4abeb804cd6f50977f034386bfed5375252c"}},"security/prompt-injection-lab/fixtures/command-injection.txt":{"size":86,"mtime_ns":1782842479394744574,"indexed_at_ns":1789785987837660349,"word_count":10,"hashes":{"security/prompt-injection-lab/fixtures/command-injection.txt":"58fc5abbadb69376defc083e5f7f1e875d463690ac6ccc94aed1c4488420a34e"}},"security/prompt-injection-lab/fixtures/fake-grafana.txt":{"size":148,"mtime_ns":1782842479394744574,"indexed_at_ns":1789785987837796676,"word_count":16,"hashes":{"security/prompt-injection-lab/fixtures/fake-grafana.txt":"ed635e01e184f29ac19748f47371cd68be359ccd406108354431ee43dfc08c53"}},"security/prompt-injection-lab/fixtures/malicious-runbook.txt":{"size":201,"mtime_ns":1782842479394744574,"indexed_at_ns":1789785987837931327,"word_count":29,"hashes":{"security/prompt-injection-lab/fixtures/malicious-runbook.txt":"edf22eff90a713c8a3efab98d127db423bb1a8982ccb3e015a496f6d59ad2e78"}},"security/targets.txt":{"size":683,"mtime_ns":1782774077225574094,"indexed_at_ns":1789785987838049076,"word_count":32,"hashes":{"security/targets.txt":"7752e73d4cdd3da7b918e4c0c9123e56b0c2085f24383805a535a6fc0a29e3e1"}},"tests/jeannie-unit":{"size":14888,"mtime_ns":1782954918683068006,"indexed_at_ns":1789785987331844629,"word_count":1168,"hashes":{"tests/jeannie-unit":"50b4db9c2afbe92ab0d6147dcf7d7bc0055baee68d1997a19ce19fe37525dca5"}}}
\ No newline at end of file
diff --git a/graphify-out/graph.html b/graphify-out/graph.html
new file mode 100644
index 0000000..afb42b2
--- /dev/null
+++ b/graphify-out/graph.html
@@ -0,0 +1,345 @@
+
+
+
+
+graphify - graphify-out/graph.html
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/graphify-out/graph.json b/graphify-out/graph.json
new file mode 100644
index 0000000..5b5f057
--- /dev/null
+++ b/graphify-out/graph.json
@@ -0,0 +1,51468 @@
+{
+ "directed": false,
+ "multigraph": false,
+ "graph": {},
+ "nodes": [
+ {
+ "id": "labs_mlops_platform_app_main_predictrequest",
+ "label": "PredictRequest",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "main.py",
+ "file_type": "code",
+ "norm_label": "predictrequest",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L62"
+ },
+ {
+ "id": "scripts_heal_healrule",
+ "label": "HealRule",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "heal",
+ "file_type": "code",
+ "norm_label": "healrule",
+ "source_file": "scripts/heal",
+ "source_location": "L25"
+ },
+ {
+ "id": "scripts_incident_commander_incident",
+ "label": "Incident",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "incident-commander",
+ "file_type": "code",
+ "norm_label": "incident",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L22"
+ },
+ {
+ "id": "scripts_prompt_injection_lab_case",
+ "label": "Case",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 25,
+ "community_name": "prompt-injection-lab",
+ "file_type": "code",
+ "norm_label": "case",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L21"
+ },
+ {
+ "id": "scripts_ai_evals_case",
+ "label": "Case",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 27,
+ "community_name": "ai-evals",
+ "file_type": "code",
+ "norm_label": "case",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L21"
+ },
+ {
+ "id": "infra_blockchain_devnet_metrics_exporter_metricshandler",
+ "label": "MetricsHandler",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 29,
+ "community_name": "exporter.py",
+ "file_type": "code",
+ "norm_label": "metricshandler",
+ "source_file": "infra/blockchain-devnet/metrics/exporter.py",
+ "source_location": "L77"
+ },
+ {
+ "id": "labs_mlops_platform_app_main_drift_score",
+ "label": "drift_score()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "main.py",
+ "file_type": "code",
+ "norm_label": "drift_score()",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L148"
+ },
+ {
+ "id": "labs_mlops_platform_app_main_healthz",
+ "label": "healthz()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "main.py",
+ "file_type": "code",
+ "norm_label": "healthz()",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L164"
+ },
+ {
+ "id": "labs_mlops_platform_app_main_load_model",
+ "label": "load_model()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "main.py",
+ "file_type": "code",
+ "norm_label": "load_model()",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L72"
+ },
+ {
+ "id": "labs_mlops_platform_app_main_logistic",
+ "label": "logistic()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "main.py",
+ "file_type": "code",
+ "norm_label": "logistic()",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L137"
+ },
+ {
+ "id": "labs_mlops_platform_app_main_metrics",
+ "label": "metrics()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "main.py",
+ "file_type": "code",
+ "norm_label": "metrics()",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L204"
+ },
+ {
+ "id": "labs_mlops_platform_app_main_normalized_features",
+ "label": "normalized_features()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "main.py",
+ "file_type": "code",
+ "norm_label": "normalized_features()",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L127"
+ },
+ {
+ "id": "labs_mlops_platform_app_main_predict",
+ "label": "predict()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "main.py",
+ "file_type": "code",
+ "norm_label": "predict()",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L174"
+ },
+ {
+ "id": "labs_mlops_platform_app_main_record_http_metrics",
+ "label": "record_http_metrics()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "main.py",
+ "file_type": "code",
+ "norm_label": "record_http_metrics()",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L112"
+ },
+ {
+ "id": "labs_mlops_platform_app_main_root",
+ "label": "root()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "main.py",
+ "file_type": "code",
+ "norm_label": "root()",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L154"
+ },
+ {
+ "id": "labs_mlops_platform_app_main_score_prediction",
+ "label": "score_prediction()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "main.py",
+ "file_type": "code",
+ "norm_label": "score_prediction()",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L141"
+ },
+ {
+ "id": "scripts_heal_apply_plan",
+ "label": "apply_plan()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "heal",
+ "file_type": "code",
+ "norm_label": "apply_plan()",
+ "source_file": "scripts/heal",
+ "source_location": "L217"
+ },
+ {
+ "id": "scripts_heal_build_plan",
+ "label": "build_plan()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "heal",
+ "file_type": "code",
+ "norm_label": "build_plan()",
+ "source_file": "scripts/heal",
+ "source_location": "L108"
+ },
+ {
+ "id": "scripts_heal_clear_failed_action",
+ "label": "clear_failed_action()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "heal",
+ "file_type": "code",
+ "norm_label": "clear_failed_action()",
+ "source_file": "scripts/heal",
+ "source_location": "L322"
+ },
+ {
+ "id": "scripts_heal_command_for",
+ "label": "command_for()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "heal",
+ "file_type": "code",
+ "norm_label": "command_for()",
+ "source_file": "scripts/heal",
+ "source_location": "L96"
+ },
+ {
+ "id": "scripts_heal_highest_impact",
+ "label": "highest_impact()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "heal",
+ "file_type": "code",
+ "norm_label": "highest_impact()",
+ "source_file": "scripts/heal",
+ "source_location": "L161"
+ },
+ {
+ "id": "scripts_heal_impact_sort_key",
+ "label": "impact_sort_key()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "heal",
+ "file_type": "code",
+ "norm_label": "impact_sort_key()",
+ "source_file": "scripts/heal",
+ "source_location": "L156"
+ },
+ {
+ "id": "scripts_heal_load_heal_state",
+ "label": "load_heal_state()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "heal",
+ "file_type": "code",
+ "norm_label": "load_heal_state()",
+ "source_file": "scripts/heal",
+ "source_location": "L267"
+ },
+ {
+ "id": "scripts_heal_load_status",
+ "label": "load_status()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "heal",
+ "file_type": "code",
+ "norm_label": "load_status()",
+ "source_file": "scripts/heal",
+ "source_location": "L55"
+ },
+ {
+ "id": "scripts_heal_main",
+ "label": "main()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "heal",
+ "file_type": "code",
+ "norm_label": "main()",
+ "source_file": "scripts/heal",
+ "source_location": "L386"
+ },
+ {
+ "id": "scripts_heal_pimox_worker_index",
+ "label": "pimox_worker_index()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "heal",
+ "file_type": "code",
+ "norm_label": "pimox_worker_index()",
+ "source_file": "scripts/heal",
+ "source_location": "L88"
+ },
+ {
+ "id": "scripts_heal_pimox_worker_ready",
+ "label": "pimox_worker_ready()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "heal",
+ "file_type": "code",
+ "norm_label": "pimox_worker_ready()",
+ "source_file": "scripts/heal",
+ "source_location": "L362"
+ },
+ {
+ "id": "scripts_heal_print_ai_context",
+ "label": "print_ai_context()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "heal",
+ "file_type": "code",
+ "norm_label": "print_ai_context()",
+ "source_file": "scripts/heal",
+ "source_location": "L198"
+ },
+ {
+ "id": "scripts_heal_print_plan",
+ "label": "print_plan()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "heal",
+ "file_type": "code",
+ "norm_label": "print_plan()",
+ "source_file": "scripts/heal",
+ "source_location": "L168"
+ },
+ {
+ "id": "scripts_heal_recent_failed_commands",
+ "label": "recent_failed_commands()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "heal",
+ "file_type": "code",
+ "norm_label": "recent_failed_commands()",
+ "source_file": "scripts/heal",
+ "source_location": "L286"
+ },
+ {
+ "id": "scripts_heal_record_failed_action",
+ "label": "record_failed_action()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "heal",
+ "file_type": "code",
+ "norm_label": "record_failed_action()",
+ "source_file": "scripts/heal",
+ "source_location": "L309"
+ },
+ {
+ "id": "scripts_heal_rule_for",
+ "label": "rule_for()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "heal",
+ "file_type": "code",
+ "norm_label": "rule_for()",
+ "source_file": "scripts/heal",
+ "source_location": "L80"
+ },
+ {
+ "id": "scripts_heal_status_rows",
+ "label": "status_rows()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "heal",
+ "file_type": "code",
+ "norm_label": "status_rows()",
+ "source_file": "scripts/heal",
+ "source_location": "L73"
+ },
+ {
+ "id": "scripts_heal_target_is_healed",
+ "label": "target_is_healed()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "heal",
+ "file_type": "code",
+ "norm_label": "target_is_healed()",
+ "source_file": "scripts/heal",
+ "source_location": "L344"
+ },
+ {
+ "id": "scripts_heal_verify_healed",
+ "label": "verify_healed()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "heal",
+ "file_type": "code",
+ "norm_label": "verify_healed()",
+ "source_file": "scripts/heal",
+ "source_location": "L330"
+ },
+ {
+ "id": "scripts_heal_write_heal_state",
+ "label": "write_heal_state()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "heal",
+ "file_type": "code",
+ "norm_label": "write_heal_state()",
+ "source_file": "scripts/heal",
+ "source_location": "L281"
+ },
+ {
+ "id": "labs_mlops_platform_training_export_model_export_model",
+ "label": "export_model()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "pathlib",
+ "file_type": "code",
+ "norm_label": "export_model()",
+ "source_file": "labs/mlops-platform/training/export_model.py",
+ "source_location": "L19"
+ },
+ {
+ "id": "scripts_agent_sandbox_classify",
+ "label": "classify()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "pathlib",
+ "file_type": "code",
+ "norm_label": "classify()",
+ "source_file": "scripts/agent-sandbox",
+ "source_location": "L22"
+ },
+ {
+ "id": "scripts_agent_sandbox_load_policy",
+ "label": "load_policy()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "pathlib",
+ "file_type": "code",
+ "norm_label": "load_policy()",
+ "source_file": "scripts/agent-sandbox",
+ "source_location": "L17"
+ },
+ {
+ "id": "scripts_agent_sandbox_main",
+ "label": "main()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "pathlib",
+ "file_type": "code",
+ "norm_label": "main()",
+ "source_file": "scripts/agent-sandbox",
+ "source_location": "L59"
+ },
+ {
+ "id": "scripts_agent_sandbox_print_result",
+ "label": "print_result()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "pathlib",
+ "file_type": "code",
+ "norm_label": "print_result()",
+ "source_file": "scripts/agent-sandbox",
+ "source_location": "L45"
+ },
+ {
+ "id": "scripts_ai_memory_check",
+ "label": "check()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "pathlib",
+ "file_type": "code",
+ "norm_label": "check()",
+ "source_file": "scripts/ai-memory",
+ "source_location": "L16"
+ },
+ {
+ "id": "scripts_ai_memory_main",
+ "label": "main()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "pathlib",
+ "file_type": "code",
+ "norm_label": "main()",
+ "source_file": "scripts/ai-memory",
+ "source_location": "L54"
+ },
+ {
+ "id": "scripts_render_service_catalog_check_file",
+ "label": "check_file()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "render-service-catalog",
+ "file_type": "code",
+ "norm_label": "check_file()",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L464"
+ },
+ {
+ "id": "scripts_render_service_catalog_host_ip",
+ "label": "host_ip()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "render-service-catalog",
+ "file_type": "code",
+ "norm_label": "host_ip()",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L70"
+ },
+ {
+ "id": "scripts_render_service_catalog_host_label",
+ "label": "host_label()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "render-service-catalog",
+ "file_type": "code",
+ "norm_label": "host_label()",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L76"
+ },
+ {
+ "id": "scripts_render_service_catalog_host_rows",
+ "label": "host_rows()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "render-service-catalog",
+ "file_type": "code",
+ "norm_label": "host_rows()",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L291"
+ },
+ {
+ "id": "scripts_render_service_catalog_html_link",
+ "label": "html_link()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "render-service-catalog",
+ "file_type": "code",
+ "norm_label": "html_link()",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L370"
+ },
+ {
+ "id": "scripts_render_service_catalog_main",
+ "label": "main()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "render-service-catalog",
+ "file_type": "code",
+ "norm_label": "main()",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L470"
+ },
+ {
+ "id": "scripts_render_service_catalog_markdown_table",
+ "label": "markdown_table()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "render-service-catalog",
+ "file_type": "code",
+ "norm_label": "markdown_table()",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L308"
+ },
+ {
+ "id": "scripts_render_service_catalog_md_link",
+ "label": "md_link()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "render-service-catalog",
+ "file_type": "code",
+ "norm_label": "md_link()",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L315"
+ },
+ {
+ "id": "scripts_render_service_catalog_parse_inventory",
+ "label": "parse_inventory()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "render-service-catalog",
+ "file_type": "code",
+ "norm_label": "parse_inventory()",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L19"
+ },
+ {
+ "id": "scripts_render_service_catalog_render_html",
+ "label": "render_html()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "render-service-catalog",
+ "file_type": "code",
+ "norm_label": "render_html()",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L379"
+ },
+ {
+ "id": "scripts_render_service_catalog_render_markdown",
+ "label": "render_markdown()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "render-service-catalog",
+ "file_type": "code",
+ "norm_label": "render_markdown()",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L323"
+ },
+ {
+ "id": "scripts_render_service_catalog_service_rows",
+ "label": "service_rows()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "render-service-catalog",
+ "file_type": "code",
+ "norm_label": "service_rows()",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L88"
+ },
+ {
+ "id": "scripts_render_service_catalog_value",
+ "label": "value()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "render-service-catalog",
+ "file_type": "code",
+ "norm_label": "value()",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L61"
+ },
+ {
+ "id": "scripts_render_service_catalog_write_if_changed",
+ "label": "write_if_changed()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "render-service-catalog",
+ "file_type": "code",
+ "norm_label": "write_if_changed()",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L459"
+ },
+ {
+ "id": "apps_website_translation_collectpagetranslations",
+ "label": "collectPageTranslations()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "translation.js",
+ "file_type": "code",
+ "norm_label": "collectpagetranslations()",
+ "source_file": "apps/website/translation.js",
+ "source_location": "L78"
+ },
+ {
+ "id": "apps_website_translation_dotranslation",
+ "label": "doTranslation()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "translation.js",
+ "file_type": "code",
+ "norm_label": "dotranslation()",
+ "source_file": "apps/website/translation.js",
+ "source_location": "L93"
+ },
+ {
+ "id": "apps_website_translation_hideprompt",
+ "label": "hidePrompt()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "translation.js",
+ "file_type": "code",
+ "norm_label": "hideprompt()",
+ "source_file": "apps/website/translation.js",
+ "source_location": "L31"
+ },
+ {
+ "id": "apps_website_translation_inittranslation",
+ "label": "initTranslation()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "translation.js",
+ "file_type": "code",
+ "norm_label": "inittranslation()",
+ "source_file": "apps/website/translation.js",
+ "source_location": "L144"
+ },
+ {
+ "id": "apps_website_translation_savelang",
+ "label": "saveLang()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "translation.js",
+ "file_type": "code",
+ "norm_label": "savelang()",
+ "source_file": "apps/website/translation.js",
+ "source_location": "L60"
+ },
+ {
+ "id": "apps_website_translation_showbadge",
+ "label": "showBadge()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "translation.js",
+ "file_type": "code",
+ "norm_label": "showbadge()",
+ "source_file": "apps/website/translation.js",
+ "source_location": "L24"
+ },
+ {
+ "id": "apps_website_translation_translatebatch",
+ "label": "translateBatch()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "translation.js",
+ "file_type": "code",
+ "norm_label": "translatebatch()",
+ "source_file": "apps/website/translation.js",
+ "source_location": "L35"
+ },
+ {
+ "id": "scripts_incident_commander_classify",
+ "label": "classify()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "incident-commander",
+ "file_type": "code",
+ "norm_label": "classify()",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L68"
+ },
+ {
+ "id": "scripts_incident_commander_first_evidence_lines",
+ "label": "first_evidence_lines()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "incident-commander",
+ "file_type": "code",
+ "norm_label": "first_evidence_lines()",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L105"
+ },
+ {
+ "id": "scripts_incident_commander_fixture_text",
+ "label": "fixture_text()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "incident-commander",
+ "file_type": "code",
+ "norm_label": "fixture_text()",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L61"
+ },
+ {
+ "id": "scripts_incident_commander_incident_for_class",
+ "label": "incident_for_class()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "incident-commander",
+ "file_type": "code",
+ "norm_label": "incident_for_class()",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L76"
+ },
+ {
+ "id": "scripts_incident_commander_load_incidents",
+ "label": "load_incidents()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "incident-commander",
+ "file_type": "code",
+ "norm_label": "load_incidents()",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L44"
+ },
+ {
+ "id": "scripts_incident_commander_main",
+ "label": "main()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "incident-commander",
+ "file_type": "code",
+ "norm_label": "main()",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L178"
+ },
+ {
+ "id": "scripts_incident_commander_print_list",
+ "label": "print_list()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "incident-commander",
+ "file_type": "code",
+ "norm_label": "print_list()",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L132"
+ },
+ {
+ "id": "scripts_incident_commander_print_triage",
+ "label": "print_triage()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "incident-commander",
+ "file_type": "code",
+ "norm_label": "print_triage()",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L110"
+ },
+ {
+ "id": "scripts_incident_commander_read_triage_input",
+ "label": "read_triage_input()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "incident-commander",
+ "file_type": "code",
+ "norm_label": "read_triage_input()",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L168"
+ },
+ {
+ "id": "scripts_incident_commander_render_triage",
+ "label": "render_triage()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "incident-commander",
+ "file_type": "code",
+ "norm_label": "render_triage()",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L83"
+ },
+ {
+ "id": "scripts_incident_commander_replay",
+ "label": "replay()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "incident-commander",
+ "file_type": "code",
+ "norm_label": "replay()",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L138"
+ },
+ {
+ "id": "scripts_incident_commander_split_items",
+ "label": "split_items()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "incident-commander",
+ "file_type": "code",
+ "norm_label": "split_items()",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L40"
+ },
+ {
+ "id": "apps_demos_static_public_media_cruncher_media_cruncher_appendstatus",
+ "label": "appendStatus()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "media-cruncher.js",
+ "file_type": "code",
+ "norm_label": "appendstatus()",
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L29"
+ },
+ {
+ "id": "apps_demos_static_public_media_cruncher_media_cruncher_createcanvas",
+ "label": "createCanvas()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "media-cruncher.js",
+ "file_type": "code",
+ "norm_label": "createcanvas()",
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L21"
+ },
+ {
+ "id": "apps_demos_static_public_media_cruncher_media_cruncher_crunchimage",
+ "label": "crunchImage()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "media-cruncher.js",
+ "file_type": "code",
+ "norm_label": "crunchimage()",
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L42"
+ },
+ {
+ "id": "apps_demos_static_public_media_cruncher_media_cruncher_formatbytes",
+ "label": "formatBytes()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "media-cruncher.js",
+ "file_type": "code",
+ "norm_label": "formatbytes()",
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L10"
+ },
+ {
+ "id": "apps_demos_static_public_media_cruncher_media_cruncher_handlefiles",
+ "label": "handleFiles()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "media-cruncher.js",
+ "file_type": "code",
+ "norm_label": "handlefiles()",
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L80"
+ },
+ {
+ "id": "apps_demos_static_public_media_cruncher_media_cruncher_toblob",
+ "label": "toBlob()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "media-cruncher.js",
+ "file_type": "code",
+ "norm_label": "toblob()",
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L16"
+ },
+ {
+ "id": "scripts_build_homelab_ai_index_build_index",
+ "label": "build_index()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 22,
+ "community_name": "build-homelab-ai-index",
+ "file_type": "code",
+ "norm_label": "build_index()",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L134"
+ },
+ {
+ "id": "scripts_build_homelab_ai_index_candidate_files",
+ "label": "candidate_files()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 22,
+ "community_name": "build-homelab-ai-index",
+ "file_type": "code",
+ "norm_label": "candidate_files()",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L63"
+ },
+ {
+ "id": "scripts_build_homelab_ai_index_chunk_file",
+ "label": "chunk_file()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 22,
+ "community_name": "build-homelab-ai-index",
+ "file_type": "code",
+ "norm_label": "chunk_file()",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L95"
+ },
+ {
+ "id": "scripts_build_homelab_ai_index_load_patterns",
+ "label": "load_patterns()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 22,
+ "community_name": "build-homelab-ai-index",
+ "file_type": "code",
+ "norm_label": "load_patterns()",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L32"
+ },
+ {
+ "id": "scripts_build_homelab_ai_index_main",
+ "label": "main()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 22,
+ "community_name": "build-homelab-ai-index",
+ "file_type": "code",
+ "norm_label": "main()",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L166"
+ },
+ {
+ "id": "scripts_build_homelab_ai_index_path_is_secret",
+ "label": "path_is_secret()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 22,
+ "community_name": "build-homelab-ai-index",
+ "file_type": "code",
+ "norm_label": "path_is_secret()",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L42"
+ },
+ {
+ "id": "scripts_build_homelab_ai_index_path_matches_any",
+ "label": "path_matches_any()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 22,
+ "community_name": "build-homelab-ai-index",
+ "file_type": "code",
+ "norm_label": "path_matches_any()",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L59"
+ },
+ {
+ "id": "scripts_build_homelab_ai_index_read_text",
+ "label": "read_text()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 22,
+ "community_name": "build-homelab-ai-index",
+ "file_type": "code",
+ "norm_label": "read_text()",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L86"
+ },
+ {
+ "id": "scripts_build_homelab_ai_index_tokenise",
+ "label": "tokenise()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 22,
+ "community_name": "build-homelab-ai-index",
+ "file_type": "code",
+ "norm_label": "tokenise()",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L28"
+ },
+ {
+ "id": "infra_heimdall_seed_heimdall_columns",
+ "label": "columns()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 24,
+ "community_name": "seed-heimdall.py",
+ "file_type": "code",
+ "norm_label": "columns()",
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L33"
+ },
+ {
+ "id": "infra_heimdall_seed_heimdall_ensure_dashboard_tag",
+ "label": "ensure_dashboard_tag()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 24,
+ "community_name": "seed-heimdall.py",
+ "file_type": "code",
+ "norm_label": "ensure_dashboard_tag()",
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L53"
+ },
+ {
+ "id": "infra_heimdall_seed_heimdall_ensure_public_dashboard",
+ "label": "ensure_public_dashboard()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 24,
+ "community_name": "seed-heimdall.py",
+ "file_type": "code",
+ "norm_label": "ensure_public_dashboard()",
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L41"
+ },
+ {
+ "id": "infra_heimdall_seed_heimdall_find_database",
+ "label": "find_database()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 24,
+ "community_name": "seed-heimdall.py",
+ "file_type": "code",
+ "norm_label": "find_database()",
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L17"
+ },
+ {
+ "id": "infra_heimdall_seed_heimdall_home_dashboard_tag_id",
+ "label": "home_dashboard_tag_id()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 24,
+ "community_name": "seed-heimdall.py",
+ "file_type": "code",
+ "norm_label": "home_dashboard_tag_id()",
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L80"
+ },
+ {
+ "id": "infra_heimdall_seed_heimdall_load_links",
+ "label": "load_links()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 24,
+ "community_name": "seed-heimdall.py",
+ "file_type": "code",
+ "norm_label": "load_links()",
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L161"
+ },
+ {
+ "id": "infra_heimdall_seed_heimdall_quote_identifier",
+ "label": "quote_identifier()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 24,
+ "community_name": "seed-heimdall.py",
+ "file_type": "code",
+ "norm_label": "quote_identifier()",
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L37"
+ },
+ {
+ "id": "infra_heimdall_seed_heimdall_table_exists",
+ "label": "table_exists()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 24,
+ "community_name": "seed-heimdall.py",
+ "file_type": "code",
+ "norm_label": "table_exists()",
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L25"
+ },
+ {
+ "id": "infra_heimdall_seed_heimdall_upsert_links",
+ "label": "upsert_links()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 24,
+ "community_name": "seed-heimdall.py",
+ "file_type": "code",
+ "norm_label": "upsert_links()",
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L105"
+ },
+ {
+ "id": "infra_heimdall_seed_heimdall_wait_for_items_table",
+ "label": "wait_for_items_table()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 24,
+ "community_name": "seed-heimdall.py",
+ "file_type": "code",
+ "norm_label": "wait_for_items_table()",
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L93"
+ },
+ {
+ "id": "scripts_prompt_injection_lab_defense_response",
+ "label": "defense_response()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 25,
+ "community_name": "prompt-injection-lab",
+ "file_type": "code",
+ "norm_label": "defense_response()",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L57"
+ },
+ {
+ "id": "scripts_prompt_injection_lab_fixture_text",
+ "label": "fixture_text()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 25,
+ "community_name": "prompt-injection-lab",
+ "file_type": "code",
+ "norm_label": "fixture_text()",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L50"
+ },
+ {
+ "id": "scripts_prompt_injection_lab_load_cases",
+ "label": "load_cases()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 25,
+ "community_name": "prompt-injection-lab",
+ "file_type": "code",
+ "norm_label": "load_cases()",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L34"
+ },
+ {
+ "id": "scripts_prompt_injection_lab_main",
+ "label": "main()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 25,
+ "community_name": "prompt-injection-lab",
+ "file_type": "code",
+ "norm_label": "main()",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L164"
+ },
+ {
+ "id": "scripts_prompt_injection_lab_print_list",
+ "label": "print_list()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 25,
+ "community_name": "prompt-injection-lab",
+ "file_type": "code",
+ "norm_label": "print_list()",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L111"
+ },
+ {
+ "id": "scripts_prompt_injection_lab_print_run",
+ "label": "print_run()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 25,
+ "community_name": "prompt-injection-lab",
+ "file_type": "code",
+ "norm_label": "print_run()",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L131"
+ },
+ {
+ "id": "scripts_prompt_injection_lab_print_show",
+ "label": "print_show()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 25,
+ "community_name": "prompt-injection-lab",
+ "file_type": "code",
+ "norm_label": "print_show()",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L117"
+ },
+ {
+ "id": "scripts_prompt_injection_lab_run_case",
+ "label": "run_case()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 25,
+ "community_name": "prompt-injection-lab",
+ "file_type": "code",
+ "norm_label": "run_case()",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L94"
+ },
+ {
+ "id": "scripts_prompt_injection_lab_split_terms",
+ "label": "split_terms()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 25,
+ "community_name": "prompt-injection-lab",
+ "file_type": "code",
+ "norm_label": "split_terms()",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L30"
+ },
+ {
+ "id": "infra_arr_stack_configure_arr_apply_import_lists",
+ "label": "apply_import_lists()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 26,
+ "community_name": "configure-arr.py",
+ "file_type": "code",
+ "norm_label": "apply_import_lists()",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L133"
+ },
+ {
+ "id": "infra_arr_stack_configure_arr_ensure_qbittorrent",
+ "label": "ensure_qbittorrent()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 26,
+ "community_name": "configure-arr.py",
+ "file_type": "code",
+ "norm_label": "ensure_qbittorrent()",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L88"
+ },
+ {
+ "id": "infra_arr_stack_configure_arr_ensure_root_folder",
+ "label": "ensure_root_folder()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 26,
+ "community_name": "configure-arr.py",
+ "file_type": "code",
+ "norm_label": "ensure_root_folder()",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L55"
+ },
+ {
+ "id": "infra_arr_stack_configure_arr_fill_fields",
+ "label": "fill_fields()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 26,
+ "community_name": "configure-arr.py",
+ "file_type": "code",
+ "norm_label": "fill_fields()",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L75"
+ },
+ {
+ "id": "infra_arr_stack_configure_arr_load_env",
+ "label": "load_env()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 26,
+ "community_name": "configure-arr.py",
+ "file_type": "code",
+ "norm_label": "load_env()",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L19"
+ },
+ {
+ "id": "infra_arr_stack_configure_arr_main",
+ "label": "main()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 26,
+ "community_name": "configure-arr.py",
+ "file_type": "code",
+ "norm_label": "main()",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L166"
+ },
+ {
+ "id": "infra_arr_stack_configure_arr_request_json",
+ "label": "request_json()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 26,
+ "community_name": "configure-arr.py",
+ "file_type": "code",
+ "norm_label": "request_json()",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L30"
+ },
+ {
+ "id": "infra_arr_stack_configure_arr_required_env",
+ "label": "required_env()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 26,
+ "community_name": "configure-arr.py",
+ "file_type": "code",
+ "norm_label": "required_env()",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L159"
+ },
+ {
+ "id": "infra_arr_stack_configure_arr_schema_fields",
+ "label": "schema_fields()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 26,
+ "community_name": "configure-arr.py",
+ "file_type": "code",
+ "norm_label": "schema_fields()",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L64"
+ },
+ {
+ "id": "infra_arr_stack_configure_arr_wait_for_app",
+ "label": "wait_for_app()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 26,
+ "community_name": "configure-arr.py",
+ "file_type": "code",
+ "norm_label": "wait_for_app()",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L44"
+ },
+ {
+ "id": "scripts_ai_evals_fixture_text",
+ "label": "fixture_text()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 27,
+ "community_name": "ai-evals",
+ "file_type": "code",
+ "norm_label": "fixture_text()",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L52"
+ },
+ {
+ "id": "scripts_ai_evals_load_cases",
+ "label": "load_cases()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 27,
+ "community_name": "ai-evals",
+ "file_type": "code",
+ "norm_label": "load_cases()",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L35"
+ },
+ {
+ "id": "scripts_ai_evals_main",
+ "label": "main()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 27,
+ "community_name": "ai-evals",
+ "file_type": "code",
+ "norm_label": "main()",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L178"
+ },
+ {
+ "id": "scripts_ai_evals_print_list",
+ "label": "print_list()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 27,
+ "community_name": "ai-evals",
+ "file_type": "code",
+ "norm_label": "print_list()",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L129"
+ },
+ {
+ "id": "scripts_ai_evals_print_run",
+ "label": "print_run()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 27,
+ "community_name": "ai-evals",
+ "file_type": "code",
+ "norm_label": "print_run()",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L150"
+ },
+ {
+ "id": "scripts_ai_evals_print_show",
+ "label": "print_show()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 27,
+ "community_name": "ai-evals",
+ "file_type": "code",
+ "norm_label": "print_show()",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L135"
+ },
+ {
+ "id": "scripts_ai_evals_run_case",
+ "label": "run_case()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 27,
+ "community_name": "ai-evals",
+ "file_type": "code",
+ "norm_label": "run_case()",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L97"
+ },
+ {
+ "id": "scripts_ai_evals_run_explain_output",
+ "label": "run_explain_output()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 27,
+ "community_name": "ai-evals",
+ "file_type": "code",
+ "norm_label": "run_explain_output()",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L59"
+ },
+ {
+ "id": "scripts_ai_evals_run_repo_scan",
+ "label": "run_repo_scan()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 27,
+ "community_name": "ai-evals",
+ "file_type": "code",
+ "norm_label": "run_repo_scan()",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L72"
+ },
+ {
+ "id": "scripts_ai_evals_split_terms",
+ "label": "split_terms()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 27,
+ "community_name": "ai-evals",
+ "file_type": "code",
+ "norm_label": "split_terms()",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L31"
+ },
+ {
+ "id": "apps_website_translate_clean_translate_text",
+ "label": "clean_translate_text()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 28,
+ "community_name": "translate.php",
+ "file_type": "code",
+ "norm_label": "clean_translate_text()",
+ "source_file": "apps/website/translate.php",
+ "source_location": "L13"
+ },
+ {
+ "id": "apps_website_translate_elapsed_ms",
+ "label": "elapsed_ms()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 28,
+ "community_name": "translate.php",
+ "file_type": "code",
+ "norm_label": "elapsed_ms()",
+ "source_file": "apps/website/translate.php",
+ "source_location": "L23"
+ },
+ {
+ "id": "apps_website_translate_redis_connect",
+ "label": "redis_connect()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 28,
+ "community_name": "translate.php",
+ "file_type": "code",
+ "norm_label": "redis_connect()",
+ "source_file": "apps/website/translate.php",
+ "source_location": "L111"
+ },
+ {
+ "id": "apps_website_translate_redis_encode_command",
+ "label": "redis_encode_command()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 28,
+ "community_name": "translate.php",
+ "file_type": "code",
+ "norm_label": "redis_encode_command()",
+ "source_file": "apps/website/translate.php",
+ "source_location": "L39"
+ },
+ {
+ "id": "apps_website_translate_redis_read_line",
+ "label": "redis_read_line()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 28,
+ "community_name": "translate.php",
+ "file_type": "code",
+ "norm_label": "redis_read_line()",
+ "source_file": "apps/website/translate.php",
+ "source_location": "L48"
+ },
+ {
+ "id": "apps_website_translate_redis_read_response",
+ "label": "redis_read_response()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 28,
+ "community_name": "translate.php",
+ "file_type": "code",
+ "norm_label": "redis_read_response()",
+ "source_file": "apps/website/translate.php",
+ "source_location": "L56"
+ },
+ {
+ "id": "apps_website_translate_translate_response",
+ "label": "translate_response()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 28,
+ "community_name": "translate.php",
+ "file_type": "code",
+ "norm_label": "translate_response()",
+ "source_file": "apps/website/translate.php",
+ "source_location": "L7"
+ },
+ {
+ "id": "apps_website_translate_translation_cache_key",
+ "label": "translation_cache_key()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 28,
+ "community_name": "translate.php",
+ "file_type": "code",
+ "norm_label": "translation_cache_key()",
+ "source_file": "apps/website/translate.php",
+ "source_location": "L126"
+ },
+ {
+ "id": "apps_website_translate_translation_cache_read",
+ "label": "translation_cache_read()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 28,
+ "community_name": "translate.php",
+ "file_type": "code",
+ "norm_label": "translation_cache_read()",
+ "source_file": "apps/website/translate.php",
+ "source_location": "L131"
+ },
+ {
+ "id": "apps_website_translate_translation_cache_write",
+ "label": "translation_cache_write()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 28,
+ "community_name": "translate.php",
+ "file_type": "code",
+ "norm_label": "translation_cache_write()",
+ "source_file": "apps/website/translate.php",
+ "source_location": "L158"
+ },
+ {
+ "id": "apps_website_translate_translation_log",
+ "label": "translation_log()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 28,
+ "community_name": "translate.php",
+ "file_type": "code",
+ "norm_label": "translation_log()",
+ "source_file": "apps/website/translate.php",
+ "source_location": "L27"
+ },
+ {
+ "id": "infra_blockchain_devnet_metrics_exporter_collect_metrics",
+ "label": "collect_metrics()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 29,
+ "community_name": "exporter.py",
+ "file_type": "code",
+ "norm_label": "collect_metrics()",
+ "source_file": "infra/blockchain-devnet/metrics/exporter.py",
+ "source_location": "L38"
+ },
+ {
+ "id": "infra_blockchain_devnet_metrics_exporter_hex_to_int",
+ "label": "hex_to_int()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 29,
+ "community_name": "exporter.py",
+ "file_type": "code",
+ "norm_label": "hex_to_int()",
+ "source_file": "infra/blockchain-devnet/metrics/exporter.py",
+ "source_location": "L32"
+ },
+ {
+ "id": "infra_blockchain_devnet_metrics_exporter_metricshandler_do_get",
+ "label": ".do_GET()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 29,
+ "community_name": "exporter.py",
+ "file_type": "code",
+ "norm_label": ".do_get()",
+ "source_file": "infra/blockchain-devnet/metrics/exporter.py",
+ "source_location": "L78"
+ },
+ {
+ "id": "infra_blockchain_devnet_metrics_exporter_metricshandler_log_message",
+ "label": ".log_message()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 29,
+ "community_name": "exporter.py",
+ "file_type": "code",
+ "norm_label": ".log_message()",
+ "source_file": "infra/blockchain-devnet/metrics/exporter.py",
+ "source_location": "L91"
+ },
+ {
+ "id": "infra_blockchain_devnet_metrics_exporter_rpc",
+ "label": "rpc()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 29,
+ "community_name": "exporter.py",
+ "file_type": "code",
+ "norm_label": "rpc()",
+ "source_file": "infra/blockchain-devnet/metrics/exporter.py",
+ "source_location": "L14"
+ },
+ {
+ "id": "infra_rpi_services_seed_uptime_kuma_defaultforcolumn",
+ "label": "defaultForColumn()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 30,
+ "community_name": "seed-uptime-kuma.js",
+ "file_type": "code",
+ "norm_label": "defaultforcolumn()",
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L71"
+ },
+ {
+ "id": "infra_rpi_services_seed_uptime_kuma_findmoduledirectory",
+ "label": "findModuleDirectory()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 30,
+ "community_name": "seed-uptime-kuma.js",
+ "file_type": "code",
+ "norm_label": "findmoduledirectory()",
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L7"
+ },
+ {
+ "id": "infra_rpi_services_seed_uptime_kuma_loaddatabasemodule",
+ "label": "loadDatabaseModule()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 30,
+ "community_name": "seed-uptime-kuma.js",
+ "file_type": "code",
+ "norm_label": "loaddatabasemodule()",
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L42"
+ },
+ {
+ "id": "infra_rpi_services_seed_uptime_kuma_main",
+ "label": "main()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 30,
+ "community_name": "seed-uptime-kuma.js",
+ "file_type": "code",
+ "norm_label": "main()",
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L190"
+ },
+ {
+ "id": "infra_rpi_services_seed_uptime_kuma_monitorvalues",
+ "label": "monitorValues()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 30,
+ "community_name": "seed-uptime-kuma.js",
+ "file_type": "code",
+ "norm_label": "monitorvalues()",
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L113"
+ },
+ {
+ "id": "infra_rpi_services_seed_uptime_kuma_nowsql",
+ "label": "nowSql()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 30,
+ "community_name": "seed-uptime-kuma.js",
+ "file_type": "code",
+ "norm_label": "nowsql()",
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L67"
+ },
+ {
+ "id": "infra_rpi_services_seed_uptime_kuma_upsertmonitor",
+ "label": "upsertMonitor()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 30,
+ "community_name": "seed-uptime-kuma.js",
+ "file_type": "code",
+ "norm_label": "upsertmonitor()",
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L161"
+ },
+ {
+ "id": "scripts_model_observe_ask_ollama",
+ "label": "ask_ollama()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 35,
+ "community_name": "model-observe",
+ "file_type": "code",
+ "norm_label": "ask_ollama()",
+ "source_file": "scripts/model-observe",
+ "source_location": "L42"
+ },
+ {
+ "id": "scripts_model_observe_grade",
+ "label": "grade()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 35,
+ "community_name": "model-observe",
+ "file_type": "code",
+ "norm_label": "grade()",
+ "source_file": "scripts/model-observe",
+ "source_location": "L61"
+ },
+ {
+ "id": "scripts_model_observe_main",
+ "label": "main()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 35,
+ "community_name": "model-observe",
+ "file_type": "code",
+ "norm_label": "main()",
+ "source_file": "scripts/model-observe",
+ "source_location": "L142"
+ },
+ {
+ "id": "scripts_model_observe_offline_answer",
+ "label": "offline_answer()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 35,
+ "community_name": "model-observe",
+ "file_type": "code",
+ "norm_label": "offline_answer()",
+ "source_file": "scripts/model-observe",
+ "source_location": "L33"
+ },
+ {
+ "id": "scripts_model_observe_print_prompts",
+ "label": "print_prompts()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 35,
+ "community_name": "model-observe",
+ "file_type": "code",
+ "norm_label": "print_prompts()",
+ "source_file": "scripts/model-observe",
+ "source_location": "L136"
+ },
+ {
+ "id": "scripts_model_observe_prompts",
+ "label": "prompts()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 35,
+ "community_name": "model-observe",
+ "file_type": "code",
+ "norm_label": "prompts()",
+ "source_file": "scripts/model-observe",
+ "source_location": "L22"
+ },
+ {
+ "id": "scripts_model_observe_report",
+ "label": "report()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 35,
+ "community_name": "model-observe",
+ "file_type": "code",
+ "norm_label": "report()",
+ "source_file": "scripts/model-observe",
+ "source_location": "L115"
+ },
+ {
+ "id": "scripts_model_observe_run",
+ "label": "run()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 35,
+ "community_name": "model-observe",
+ "file_type": "code",
+ "norm_label": "run()",
+ "source_file": "scripts/model-observe",
+ "source_location": "L75"
+ },
+ {
+ "id": "scripts_model_observe_split_terms",
+ "label": "split_terms()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 35,
+ "community_name": "model-observe",
+ "file_type": "code",
+ "norm_label": "split_terms()",
+ "source_file": "scripts/model-observe",
+ "source_location": "L27"
+ },
+ {
+ "id": "scripts_ai_scheduler_as_bool",
+ "label": "as_bool()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 37,
+ "community_name": "ai-scheduler",
+ "file_type": "code",
+ "norm_label": "as_bool()",
+ "source_file": "scripts/ai-scheduler",
+ "source_location": "L22"
+ },
+ {
+ "id": "scripts_ai_scheduler_main",
+ "label": "main()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 37,
+ "community_name": "ai-scheduler",
+ "file_type": "code",
+ "norm_label": "main()",
+ "source_file": "scripts/ai-scheduler",
+ "source_location": "L109"
+ },
+ {
+ "id": "scripts_ai_scheduler_read_tsv",
+ "label": "read_tsv()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 37,
+ "community_name": "ai-scheduler",
+ "file_type": "code",
+ "norm_label": "read_tsv()",
+ "source_file": "scripts/ai-scheduler",
+ "source_location": "L17"
+ },
+ {
+ "id": "scripts_ai_scheduler_recommend",
+ "label": "recommend()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 37,
+ "community_name": "ai-scheduler",
+ "file_type": "code",
+ "norm_label": "recommend()",
+ "source_file": "scripts/ai-scheduler",
+ "source_location": "L64"
+ },
+ {
+ "id": "scripts_ai_scheduler_score_node",
+ "label": "score_node()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 37,
+ "community_name": "ai-scheduler",
+ "file_type": "code",
+ "norm_label": "score_node()",
+ "source_file": "scripts/ai-scheduler",
+ "source_location": "L26"
+ },
+ {
+ "id": "scripts_ai_scheduler_simulate",
+ "label": "simulate()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 37,
+ "community_name": "ai-scheduler",
+ "file_type": "code",
+ "norm_label": "simulate()",
+ "source_file": "scripts/ai-scheduler",
+ "source_location": "L100"
+ },
+ {
+ "id": "scripts_query_homelab_ai_index_ask_ollama",
+ "label": "ask_ollama()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 40,
+ "community_name": "query-homelab-ai-index",
+ "file_type": "code",
+ "norm_label": "ask_ollama()",
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L114"
+ },
+ {
+ "id": "scripts_query_homelab_ai_index_load_index",
+ "label": "load_index()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 40,
+ "community_name": "query-homelab-ai-index",
+ "file_type": "code",
+ "norm_label": "load_index()",
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L26"
+ },
+ {
+ "id": "scripts_query_homelab_ai_index_main",
+ "label": "main()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 40,
+ "community_name": "query-homelab-ai-index",
+ "file_type": "code",
+ "norm_label": "main()",
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L145"
+ },
+ {
+ "id": "scripts_query_homelab_ai_index_render_citations",
+ "label": "render_citations()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 40,
+ "community_name": "query-homelab-ai-index",
+ "file_type": "code",
+ "norm_label": "render_citations()",
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L89"
+ },
+ {
+ "id": "scripts_query_homelab_ai_index_render_context",
+ "label": "render_context()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 40,
+ "community_name": "query-homelab-ai-index",
+ "file_type": "code",
+ "norm_label": "render_context()",
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L71"
+ },
+ {
+ "id": "scripts_query_homelab_ai_index_score_chunks",
+ "label": "score_chunks()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 40,
+ "community_name": "query-homelab-ai-index",
+ "file_type": "code",
+ "norm_label": "score_chunks()",
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L33"
+ },
+ {
+ "id": "scripts_query_homelab_ai_index_tokenise",
+ "label": "tokenise()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 40,
+ "community_name": "query-homelab-ai-index",
+ "file_type": "code",
+ "norm_label": "tokenise()",
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L22"
+ },
+ {
+ "id": "apps_website_ideas_helper_visitor_idea_clean",
+ "label": "visitor_idea_clean()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 41,
+ "community_name": "ideas_helper.php",
+ "file_type": "code",
+ "norm_label": "visitor_idea_clean()",
+ "source_file": "apps/website/ideas_helper.php",
+ "source_location": "L20"
+ },
+ {
+ "id": "apps_website_ideas_helper_visitor_ideas_append",
+ "label": "visitor_ideas_append()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 41,
+ "community_name": "ideas_helper.php",
+ "file_type": "code",
+ "norm_label": "visitor_ideas_append()",
+ "source_file": "apps/website/ideas_helper.php",
+ "source_location": "L79"
+ },
+ {
+ "id": "apps_website_ideas_helper_visitor_ideas_dir",
+ "label": "visitor_ideas_dir()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 41,
+ "community_name": "ideas_helper.php",
+ "file_type": "code",
+ "norm_label": "visitor_ideas_dir()",
+ "source_file": "apps/website/ideas_helper.php",
+ "source_location": "L3"
+ },
+ {
+ "id": "apps_website_ideas_helper_visitor_ideas_ensure_dir",
+ "label": "visitor_ideas_ensure_dir()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 41,
+ "community_name": "ideas_helper.php",
+ "file_type": "code",
+ "norm_label": "visitor_ideas_ensure_dir()",
+ "source_file": "apps/website/ideas_helper.php",
+ "source_location": "L15"
+ },
+ {
+ "id": "apps_website_ideas_helper_visitor_ideas_file",
+ "label": "visitor_ideas_file()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 41,
+ "community_name": "ideas_helper.php",
+ "file_type": "code",
+ "norm_label": "visitor_ideas_file()",
+ "source_file": "apps/website/ideas_helper.php",
+ "source_location": "L7"
+ },
+ {
+ "id": "apps_website_ideas_helper_visitor_ideas_rate_file",
+ "label": "visitor_ideas_rate_file()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 41,
+ "community_name": "ideas_helper.php",
+ "file_type": "code",
+ "norm_label": "visitor_ideas_rate_file()",
+ "source_file": "apps/website/ideas_helper.php",
+ "source_location": "L11"
+ },
+ {
+ "id": "apps_website_ideas_helper_visitor_ideas_read",
+ "label": "visitor_ideas_read()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 41,
+ "community_name": "ideas_helper.php",
+ "file_type": "code",
+ "norm_label": "visitor_ideas_read()",
+ "source_file": "apps/website/ideas_helper.php",
+ "source_location": "L97"
+ },
+ {
+ "id": "apps_website_ideas_helper_visitor_ideas_recently_submitted",
+ "label": "visitor_ideas_recently_submitted()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 41,
+ "community_name": "ideas_helper.php",
+ "file_type": "code",
+ "norm_label": "visitor_ideas_recently_submitted()",
+ "source_file": "apps/website/ideas_helper.php",
+ "source_location": "L34"
+ },
+ {
+ "id": "scripts_safety_case_changed_files",
+ "label": "changed_files()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 44,
+ "community_name": "safety-case",
+ "file_type": "code",
+ "norm_label": "changed_files()",
+ "source_file": "scripts/safety-case",
+ "source_location": "L30"
+ },
+ {
+ "id": "scripts_safety_case_git_lines",
+ "label": "git_lines()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 44,
+ "community_name": "safety-case",
+ "file_type": "code",
+ "norm_label": "git_lines()",
+ "source_file": "scripts/safety-case",
+ "source_location": "L17"
+ },
+ {
+ "id": "scripts_safety_case_load_rules",
+ "label": "load_rules()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 44,
+ "community_name": "safety-case",
+ "file_type": "code",
+ "norm_label": "load_rules()",
+ "source_file": "scripts/safety-case",
+ "source_location": "L37"
+ },
+ {
+ "id": "scripts_safety_case_main",
+ "label": "main()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 44,
+ "community_name": "safety-case",
+ "file_type": "code",
+ "norm_label": "main()",
+ "source_file": "scripts/safety-case",
+ "source_location": "L106"
+ },
+ {
+ "id": "scripts_safety_case_matched_rules",
+ "label": "matched_rules()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 44,
+ "community_name": "safety-case",
+ "file_type": "code",
+ "norm_label": "matched_rules()",
+ "source_file": "scripts/safety-case",
+ "source_location": "L42"
+ },
+ {
+ "id": "scripts_safety_case_print_safety_case",
+ "label": "print_safety_case()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 44,
+ "community_name": "safety-case",
+ "file_type": "code",
+ "norm_label": "print_safety_case()",
+ "source_file": "scripts/safety-case",
+ "source_location": "L62"
+ },
+ {
+ "id": "scripts_safety_case_risk_order",
+ "label": "risk_order()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 44,
+ "community_name": "safety-case",
+ "file_type": "code",
+ "norm_label": "risk_order()",
+ "source_file": "scripts/safety-case",
+ "source_location": "L58"
+ },
+ {
+ "id": "scripts_validate_tailnet_policy_main",
+ "label": "main()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 45,
+ "community_name": "validate-tailnet-policy",
+ "file_type": "code",
+ "norm_label": "main()",
+ "source_file": "scripts/validate-tailnet-policy",
+ "source_location": "L130"
+ },
+ {
+ "id": "scripts_validate_tailnet_policy_parse_simple_inventory",
+ "label": "parse_simple_inventory()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 45,
+ "community_name": "validate-tailnet-policy",
+ "file_type": "code",
+ "norm_label": "parse_simple_inventory()",
+ "source_file": "scripts/validate-tailnet-policy",
+ "source_location": "L98"
+ },
+ {
+ "id": "scripts_validate_tailnet_policy_require",
+ "label": "require()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 45,
+ "community_name": "validate-tailnet-policy",
+ "file_type": "code",
+ "norm_label": "require()",
+ "source_file": "scripts/validate-tailnet-policy",
+ "source_location": "L125"
+ },
+ {
+ "id": "scripts_validate_tailnet_policy_strip_hujson",
+ "label": "strip_hujson()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 45,
+ "community_name": "validate-tailnet-policy",
+ "file_type": "code",
+ "norm_label": "strip_hujson()",
+ "source_file": "scripts/validate-tailnet-policy",
+ "source_location": "L17"
+ },
+ {
+ "id": "scripts_promote_checks",
+ "label": "checks()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 47,
+ "community_name": "promote",
+ "file_type": "code",
+ "norm_label": "checks()",
+ "source_file": "scripts/promote",
+ "source_location": "L16"
+ },
+ {
+ "id": "scripts_promote_main",
+ "label": "main()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 47,
+ "community_name": "promote",
+ "file_type": "code",
+ "norm_label": "main()",
+ "source_file": "scripts/promote",
+ "source_location": "L74"
+ },
+ {
+ "id": "scripts_promote_plan",
+ "label": "plan()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 47,
+ "community_name": "promote",
+ "file_type": "code",
+ "norm_label": "plan()",
+ "source_file": "scripts/promote",
+ "source_location": "L21"
+ },
+ {
+ "id": "scripts_promote_rollback",
+ "label": "rollback()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 47,
+ "community_name": "promote",
+ "file_type": "code",
+ "norm_label": "rollback()",
+ "source_file": "scripts/promote",
+ "source_location": "L61"
+ },
+ {
+ "id": "scripts_promote_validate",
+ "label": "validate()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 47,
+ "community_name": "promote",
+ "file_type": "code",
+ "norm_label": "validate()",
+ "source_file": "scripts/promote",
+ "source_location": "L34"
+ },
+ {
+ "id": "apps_demos_static_public_theme_getdemothemebuttons",
+ "label": "getDemoThemeButtons()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 51,
+ "community_name": "theme.js",
+ "file_type": "code",
+ "norm_label": "getdemothemebuttons()",
+ "source_file": "apps/demos-static/public/theme.js",
+ "source_location": "L25"
+ },
+ {
+ "id": "apps_demos_static_public_theme_getstoreddemotheme",
+ "label": "getStoredDemoTheme()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 51,
+ "community_name": "theme.js",
+ "file_type": "code",
+ "norm_label": "getstoreddemotheme()",
+ "source_file": "apps/demos-static/public/theme.js",
+ "source_location": "L8"
+ },
+ {
+ "id": "apps_demos_static_public_theme_installdemothemetoolbar",
+ "label": "installDemoThemeToolbar()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 51,
+ "community_name": "theme.js",
+ "file_type": "code",
+ "norm_label": "installdemothemetoolbar()",
+ "source_file": "apps/demos-static/public/theme.js",
+ "source_location": "L45"
+ },
+ {
+ "id": "apps_demos_static_public_theme_normalizedemotheme",
+ "label": "normalizeDemoTheme()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 51,
+ "community_name": "theme.js",
+ "file_type": "code",
+ "norm_label": "normalizedemotheme()",
+ "source_file": "apps/demos-static/public/theme.js",
+ "source_location": "L4"
+ },
+ {
+ "id": "apps_demos_static_public_theme_setdemotheme",
+ "label": "setDemoTheme()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 51,
+ "community_name": "theme.js",
+ "file_type": "code",
+ "norm_label": "setdemotheme()",
+ "source_file": "apps/demos-static/public/theme.js",
+ "source_location": "L29"
+ },
+ {
+ "id": "apps_demos_static_public_theme_storedemotheme",
+ "label": "storeDemoTheme()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 51,
+ "community_name": "theme.js",
+ "file_type": "code",
+ "norm_label": "storedemotheme()",
+ "source_file": "apps/demos-static/public/theme.js",
+ "source_location": "L16"
+ },
+ {
+ "id": "apps_website_cv_theme_getsitethemebuttons",
+ "label": "getSiteThemeButtons()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 52,
+ "community_name": "cv-theme.js",
+ "file_type": "code",
+ "norm_label": "getsitethemebuttons()",
+ "source_file": "apps/website/cv-theme.js",
+ "source_location": "L26"
+ },
+ {
+ "id": "apps_website_cv_theme_getstoredsitetheme",
+ "label": "getStoredSiteTheme()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 52,
+ "community_name": "cv-theme.js",
+ "file_type": "code",
+ "norm_label": "getstoredsitetheme()",
+ "source_file": "apps/website/cv-theme.js",
+ "source_location": "L9"
+ },
+ {
+ "id": "apps_website_cv_theme_normalizesitetheme",
+ "label": "normalizeSiteTheme()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 52,
+ "community_name": "cv-theme.js",
+ "file_type": "code",
+ "norm_label": "normalizesitetheme()",
+ "source_file": "apps/website/cv-theme.js",
+ "source_location": "L5"
+ },
+ {
+ "id": "apps_website_cv_theme_setsitetheme",
+ "label": "setSiteTheme()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 52,
+ "community_name": "cv-theme.js",
+ "file_type": "code",
+ "norm_label": "setsitetheme()",
+ "source_file": "apps/website/cv-theme.js",
+ "source_location": "L30"
+ },
+ {
+ "id": "apps_website_cv_theme_storesitetheme",
+ "label": "storeSiteTheme()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 52,
+ "community_name": "cv-theme.js",
+ "file_type": "code",
+ "norm_label": "storesitetheme()",
+ "source_file": "apps/website/cv-theme.js",
+ "source_location": "L17"
+ },
+ {
+ "id": "scripts_red_blue_loop_checks",
+ "label": "checks()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 54,
+ "community_name": "red-blue-loop",
+ "file_type": "code",
+ "norm_label": "checks()",
+ "source_file": "scripts/red-blue-loop",
+ "source_location": "L17"
+ },
+ {
+ "id": "scripts_red_blue_loop_ledger",
+ "label": "ledger()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 54,
+ "community_name": "red-blue-loop",
+ "file_type": "code",
+ "norm_label": "ledger()",
+ "source_file": "scripts/red-blue-loop",
+ "source_location": "L60"
+ },
+ {
+ "id": "scripts_red_blue_loop_main",
+ "label": "main()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 54,
+ "community_name": "red-blue-loop",
+ "file_type": "code",
+ "norm_label": "main()",
+ "source_file": "scripts/red-blue-loop",
+ "source_location": "L65"
+ },
+ {
+ "id": "scripts_red_blue_loop_plan",
+ "label": "plan()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 54,
+ "community_name": "red-blue-loop",
+ "file_type": "code",
+ "norm_label": "plan()",
+ "source_file": "scripts/red-blue-loop",
+ "source_location": "L22"
+ },
+ {
+ "id": "scripts_red_blue_loop_run",
+ "label": "run()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 54,
+ "community_name": "red-blue-loop",
+ "file_type": "code",
+ "norm_label": "run()",
+ "source_file": "scripts/red-blue-loop",
+ "source_location": "L33"
+ },
+ {
+ "id": "apps_demos_static_public_architecture_simulator_architecture_simulator_box",
+ "label": "box()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 55,
+ "community_name": "architecture-simulator.js",
+ "file_type": "code",
+ "norm_label": "box()",
+ "source_file": "apps/demos-static/public/architecture-simulator/architecture-simulator.js",
+ "source_location": "L13"
+ },
+ {
+ "id": "apps_demos_static_public_architecture_simulator_architecture_simulator_draw",
+ "label": "draw()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 55,
+ "community_name": "architecture-simulator.js",
+ "file_type": "code",
+ "norm_label": "draw()",
+ "source_file": "apps/demos-static/public/architecture-simulator/architecture-simulator.js",
+ "source_location": "L24"
+ },
+ {
+ "id": "apps_demos_static_public_dev_toolbelt_dev_toolbelt_decodebase64url",
+ "label": "decodeBase64Url()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 56,
+ "community_name": "dev-toolbelt.js",
+ "file_type": "code",
+ "norm_label": "decodebase64url()",
+ "source_file": "apps/demos-static/public/dev-toolbelt/dev-toolbelt.js",
+ "source_location": "L9"
+ },
+ {
+ "id": "apps_demos_static_public_dev_toolbelt_dev_toolbelt_setoutput",
+ "label": "setOutput()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 56,
+ "community_name": "dev-toolbelt.js",
+ "file_type": "code",
+ "norm_label": "setoutput()",
+ "source_file": "apps/demos-static/public/dev-toolbelt/dev-toolbelt.js",
+ "source_location": "L5"
+ },
+ {
+ "id": "apps_demos_static_public_network_quality_network_quality_draw",
+ "label": "draw()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 57,
+ "community_name": "network-quality.js",
+ "file_type": "code",
+ "norm_label": "draw()",
+ "source_file": "apps/demos-static/public/network-quality/network-quality.js",
+ "source_location": "L6"
+ },
+ {
+ "id": "apps_demos_static_public_network_quality_network_quality_measure",
+ "label": "measure()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 57,
+ "community_name": "network-quality.js",
+ "file_type": "code",
+ "norm_label": "measure()",
+ "source_file": "apps/demos-static/public/network-quality/network-quality.js",
+ "source_location": "L34"
+ },
+ {
+ "id": "apps_demos_static_public_sentiment_sandbox_sentiment_sandbox_analyze",
+ "label": "analyze()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 58,
+ "community_name": "sentiment-sandbox.js",
+ "file_type": "code",
+ "norm_label": "analyze()",
+ "source_file": "apps/demos-static/public/sentiment-sandbox/sentiment-sandbox.js",
+ "source_location": "L6"
+ },
+ {
+ "id": "apps_demos_static_public_model_drift_model_drift_draw",
+ "label": "draw()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 66,
+ "community_name": "model-drift.js",
+ "file_type": "code",
+ "norm_label": "draw()",
+ "source_file": "apps/demos-static/public/model-drift/model-drift.js",
+ "source_location": "L6"
+ },
+ {
+ "id": "apps_demos_static_public_privacy_redactor_privacy_redactor_blurrect",
+ "label": "blurRect()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 67,
+ "community_name": "privacy-redactor.js",
+ "file_type": "code",
+ "norm_label": "blurrect()",
+ "source_file": "apps/demos-static/public/privacy-redactor/privacy-redactor.js",
+ "source_location": "L14"
+ },
+ {
+ "id": "apps_demos_static_public_privacy_redactor_privacy_redactor_placeholder",
+ "label": "placeholder()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 67,
+ "community_name": "privacy-redactor.js",
+ "file_type": "code",
+ "norm_label": "placeholder()",
+ "source_file": "apps/demos-static/public/privacy-redactor/privacy-redactor.js",
+ "source_location": "L5"
+ },
+ {
+ "id": "apps_website_lang_helper_asset_url",
+ "label": "asset_url()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 68,
+ "community_name": "lang_helper.php",
+ "file_type": "code",
+ "norm_label": "asset_url()",
+ "source_file": "apps/website/lang_helper.php",
+ "source_location": "L59"
+ },
+ {
+ "id": "apps_website_lang_helper_cleanruntimetranslation",
+ "label": "cleanRuntimeTranslation()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 68,
+ "community_name": "lang_helper.php",
+ "file_type": "code",
+ "norm_label": "cleanruntimetranslation()",
+ "source_file": "apps/website/lang_helper.php",
+ "source_location": "L28"
+ },
+ {
+ "id": "apps_website_lang_helper_getlang",
+ "label": "getLang()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 68,
+ "community_name": "lang_helper.php",
+ "file_type": "code",
+ "norm_label": "getlang()",
+ "source_file": "apps/website/lang_helper.php",
+ "source_location": "L20"
+ },
+ {
+ "id": "apps_website_lang_helper_loadruntimetranslations",
+ "label": "loadRuntimeTranslations()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 68,
+ "community_name": "lang_helper.php",
+ "file_type": "code",
+ "norm_label": "loadruntimetranslations()",
+ "source_file": "apps/website/lang_helper.php",
+ "source_location": "L38"
+ },
+ {
+ "id": "apps_website_save_lang_clean_translation_value",
+ "label": "clean_translation_value()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 79,
+ "community_name": "save_lang.php",
+ "file_type": "code",
+ "norm_label": "clean_translation_value()",
+ "source_file": "apps/website/save_lang.php",
+ "source_location": "L11"
+ },
+ {
+ "id": "apps_website_save_lang_translation_response",
+ "label": "translation_response()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 79,
+ "community_name": "save_lang.php",
+ "file_type": "code",
+ "norm_label": "translation_response()",
+ "source_file": "apps/website/save_lang.php",
+ "source_location": "L5"
+ },
+ {
+ "id": "apps_website_visitor_ideas_addideatext",
+ "label": "addIdeaText()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 80,
+ "community_name": "addIdeaText",
+ "file_type": "code",
+ "norm_label": "addideatext()",
+ "source_file": "apps/website/visitor-ideas.js",
+ "source_location": "L21"
+ },
+ {
+ "id": "apps_website_visitor_ideas_renderideas",
+ "label": "renderIdeas()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 80,
+ "community_name": "addIdeaText",
+ "file_type": "code",
+ "norm_label": "renderideas()",
+ "source_file": "apps/website/visitor-ideas.js",
+ "source_location": "L28"
+ },
+ {
+ "id": "apps_demos_static_public_traveler_tools_traveler_tools_updatetraveler",
+ "label": "updateTraveler()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 92,
+ "community_name": "traveler-tools.js",
+ "file_type": "code",
+ "norm_label": "updatetraveler()",
+ "source_file": "apps/demos-static/public/traveler-tools/traveler-tools.js",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_website_blog_renderstacksourcelinks",
+ "label": "renderStackSourceLinks()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 93,
+ "community_name": "blog.php",
+ "file_type": "code",
+ "norm_label": "renderstacksourcelinks()",
+ "source_file": "apps/website/blog.php",
+ "source_location": "L186"
+ },
+ {
+ "id": "apps_website_save_idea_idea_redirect",
+ "label": "idea_redirect()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 96,
+ "community_name": "save_idea.php",
+ "file_type": "code",
+ "norm_label": "idea_redirect()",
+ "source_file": "apps/website/save_idea.php",
+ "source_location": "L4"
+ },
+ {
+ "id": "terraform_bootstrap_apps_0952a721c72f57d2_provider_kubernetes",
+ "label": "provider.kubernetes",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/apps",
+ "attributes": {
+ "config_path": "var.kubeconfig_path"
+ },
+ "community": 32,
+ "community_name": "apps/variables.tf",
+ "file_type": "code",
+ "norm_label": "provider.kubernetes",
+ "source_file": "bootstrap/apps/main.tf",
+ "source_location": "L11"
+ },
+ {
+ "id": "terraform_bootstrap_apps_0952a721c72f57d2_provider_registry_opentofu_org_hashicorp_kubernetes",
+ "label": "provider.registry.opentofu.org/hashicorp/kubernetes",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/apps",
+ "attributes": {
+ "version": "2.38.0",
+ "constraints": "~> 2.26",
+ "hashes": [
+ "h1:3VVgWmwdwXFT54fjrplnq+N4+4LZ3ZeLHAlr/0jhPiA=",
+ "h1:9LfHMXiMOboc6PhcEEelKjA3VL94l3MCj7RlbKO1PQM=",
+ "h1:AkW6iAcMGHS+P2BIc2nvQe3PZCHtDL4m6+80tEDLge0=",
+ "h1:HGkB9bCmUqMRcR5/bAUOSqPBsx6DAIEnbT1fZ8vzI78=",
+ "h1:eCV78xGlh9eay+62U4gAgCEMohuiBJXN9XTIZNn+rX4=",
+ "h1:ems+O2dA7atxMWpbtqIrsH7Oa+u+ERWSfpMaFnZPbh0=",
+ "h1:iEDf790HE0h3kz58zfj5IhTVODCDqWF1hISPHz210Uw=",
+ "h1:nY7J9jFXcsRINog0KYagiWZw1GVYF9D2JmtIB7Wnrao=",
+ "h1:yw6JHRONXmiTumaQfJBxl1ierFnNNT/Qio8+ttfMcG4=",
+ "zh:1096b41c4e5b2ee6c1980916fb9a8579bc1892071396f7a9432be058aabf3cbc",
+ "zh:2959fde9ae3d1deb5e317df0d7b02ea4977951ee6b9c4beb083c148ca8f3681c",
+ "zh:5082f98fcb3389c73339365f7df39fc6912bf2bd1a46d5f97778f441a67fd337",
+ "zh:620fd5d0fbc2d7a24ac6b420a4922e6093020358162a62fa8cbd37b2bac1d22e",
+ "zh:7f47c2de179bba35d759147c53082cad6c3449d19b0ec0c5a4ca8db5b06393e1",
+ "zh:89c3aa2a87e29febf100fd21cead34f9a4c0e6e7ae5f383b5cef815c677eb52a",
+ "zh:96eecc9f94938a0bc35b8a63d2c4a5f972395e44206620db06760b730d0471fc",
+ "zh:e15567c1095f898af173c281b66bffdc4f3068afdd9f84bb5b5b5521d9f29584",
+ "zh:ecc6b912629734a9a41a7cf1c4c73fb13b4b510afc9e7b2e0011d290bcd6d77f"
+ ]
+ },
+ "community": 98,
+ "community_name": "apps/.terraform.lock.hcl",
+ "file_type": "code",
+ "norm_label": "provider.registry.opentofu.org/hashicorp/kubernetes",
+ "source_file": "bootstrap/apps/.terraform.lock.hcl",
+ "source_location": "L4"
+ },
+ {
+ "id": "terraform_bootstrap_apps_0952a721c72f57d2_var_website_image_ref",
+ "label": "var.website_image_ref",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/apps",
+ "attributes": {
+ "type": "string",
+ "default": ""
+ },
+ "community": 32,
+ "community_name": "apps/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.website_image_ref",
+ "source_file": "bootstrap/apps/variables.tf",
+ "source_location": "L16"
+ },
+ {
+ "id": "terraform_bootstrap_apps_0952a721c72f57d2_var_kubeconfig_path",
+ "label": "var.kubeconfig_path",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/apps",
+ "attributes": {
+ "type": "string",
+ "default": "/home/jv/.kube/config"
+ },
+ "community": 32,
+ "community_name": "apps/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.kubeconfig_path",
+ "source_file": "bootstrap/apps/variables.tf",
+ "source_location": "L1"
+ },
+ {
+ "id": "terraform_bootstrap_apps_0952a721c72f57d2_var_argocd_namespace",
+ "label": "var.argocd_namespace",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/apps",
+ "attributes": {
+ "type": "string",
+ "default": "argocd"
+ },
+ "community": 32,
+ "community_name": "apps/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.argocd_namespace",
+ "source_file": "bootstrap/apps/variables.tf",
+ "source_location": "L6"
+ },
+ {
+ "id": "terraform_bootstrap_apps_0952a721c72f57d2_var_gitops_repo_url",
+ "label": "var.gitops_repo_url",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/apps",
+ "attributes": {
+ "type": "string",
+ "default": "ssh://git@192.168.100.73:32222/jv/my-homelab-configs.git"
+ },
+ "community": 32,
+ "community_name": "apps/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.gitops_repo_url",
+ "source_file": "bootstrap/apps/variables.tf",
+ "source_location": "L11"
+ },
+ {
+ "id": "terraform_bootstrap_apps_0952a721c72f57d2_var_applications",
+ "label": "var.applications",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/apps",
+ "attributes": {
+ "type": "map(object({ project = string path = string namespace = string target_revision = string prune = bool self_heal = bool create_namespace = bool }))",
+ "default": {
+ "container-registry": {
+ "project": "default",
+ "path": "apps/container-registry",
+ "namespace": "container-registry",
+ "target_revision": "main",
+ "prune": true,
+ "self_heal": true,
+ "create_namespace": true
+ },
+ "access-control": {
+ "project": "default",
+ "path": "apps/access-control",
+ "namespace": "homelab-access",
+ "target_revision": "main",
+ "prune": true,
+ "self_heal": true,
+ "create_namespace": true
+ },
+ "website-production": {
+ "project": "default",
+ "path": "apps/website",
+ "namespace": "website-production",
+ "target_revision": "main",
+ "prune": true,
+ "self_heal": true,
+ "create_namespace": true
+ },
+ "demos-static": {
+ "project": "default",
+ "path": "apps/demos-static",
+ "namespace": "demos-static",
+ "target_revision": "main",
+ "prune": true,
+ "self_heal": true,
+ "create_namespace": true
+ },
+ "heimdall": {
+ "project": "default",
+ "path": "apps/heimdall",
+ "namespace": "monitoring",
+ "target_revision": "main",
+ "prune": true,
+ "self_heal": true,
+ "create_namespace": false
+ },
+ "n8n": {
+ "project": "default",
+ "path": "apps/n8n",
+ "namespace": "n8n",
+ "target_revision": "main",
+ "prune": true,
+ "self_heal": true,
+ "create_namespace": true
+ },
+ "supply-chain-policy": {
+ "project": "default",
+ "path": "apps/supply-chain-policy",
+ "namespace": "kyverno",
+ "target_revision": "main",
+ "prune": true,
+ "self_heal": true,
+ "create_namespace": false
+ },
+ "homelab-alerts": {
+ "project": "default",
+ "path": "apps/homelab-alerts",
+ "namespace": "monitoring",
+ "target_revision": "main",
+ "prune": true,
+ "self_heal": true,
+ "create_namespace": false
+ },
+ "security-lab": {
+ "project": "default",
+ "path": "apps/security-lab",
+ "namespace": "security-lab",
+ "target_revision": "main",
+ "prune": true,
+ "self_heal": true,
+ "create_namespace": true
+ }
+ }
+ },
+ "community": 32,
+ "community_name": "apps/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.applications",
+ "source_file": "bootstrap/apps/variables.tf",
+ "source_location": "L21"
+ },
+ {
+ "id": "terraform_bootstrap_apps_0952a721c72f57d2_kubernetes_manifest_argocd_application",
+ "label": "kubernetes_manifest.argocd_application",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/apps",
+ "attributes": {
+ "for_each": "var.applications",
+ "manifest": {
+ "apiVersion": "argoproj.io/v1alpha1",
+ "kind": "Application",
+ "metadata": {
+ "name": "each.key",
+ "namespace": "var.argocd_namespace"
+ },
+ "spec": {
+ "project": "each.value.project",
+ "source": "local.application_sources[each.key]",
+ "destination": {
+ "server": "https://kubernetes.default.svc",
+ "namespace": "each.value.namespace"
+ },
+ "syncPolicy": {
+ "automated": {
+ "prune": "each.value.prune",
+ "selfHeal": "each.value.self_heal"
+ },
+ "syncOptions": "each.value.create_namespace ? [\"CreateNamespace=true\"] : []"
+ }
+ }
+ }
+ },
+ "community": 32,
+ "community_name": "apps/variables.tf",
+ "file_type": "code",
+ "norm_label": "kubernetes_manifest.argocd_application",
+ "source_file": "bootstrap/apps/main.tf",
+ "source_location": "L32"
+ },
+ {
+ "id": "bootstrap_apps_main",
+ "label": "apps/main.tf",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/apps",
+ "community": 32,
+ "community_name": "apps/variables.tf",
+ "file_type": "code",
+ "norm_label": "apps/main.tf",
+ "source_file": "bootstrap/apps/main.tf",
+ "source_location": null,
+ "type": "terraform_file"
+ },
+ {
+ "id": "bootstrap_apps_variables",
+ "label": "apps/variables.tf",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/apps",
+ "community": 32,
+ "community_name": "apps/variables.tf",
+ "file_type": "code",
+ "norm_label": "apps/variables.tf",
+ "source_file": "bootstrap/apps/variables.tf",
+ "source_location": null,
+ "type": "terraform_file"
+ },
+ {
+ "id": "terraform_bootstrap_apps_0952a721c72f57d2_directory",
+ "label": "Terraform module: bootstrap/apps",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/apps",
+ "community": 32,
+ "community_name": "apps/variables.tf",
+ "file_type": "code",
+ "language": "terraform",
+ "norm_label": "terraform module: bootstrap/apps",
+ "source_file": "bootstrap/apps/main.tf",
+ "source_location": null,
+ "type": "module"
+ },
+ {
+ "id": "terraform_bootstrap_apps_0952a721c72f57d2_local_application_sources",
+ "label": "local.application_sources",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/apps",
+ "community": 32,
+ "community_name": "apps/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.application_sources",
+ "source_file": "bootstrap/apps/main.tf",
+ "source_location": "L16"
+ },
+ {
+ "id": "bootstrap_apps_terraform_lock",
+ "label": "apps/.terraform.lock.hcl",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/apps",
+ "community": 98,
+ "community_name": "apps/.terraform.lock.hcl",
+ "file_type": "code",
+ "norm_label": "apps/.terraform.lock.hcl",
+ "source_file": "bootstrap/apps/.terraform.lock.hcl",
+ "source_location": null,
+ "type": "terraform_file"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_provider_registry_opentofu_org_hashicorp_external",
+ "label": "provider.registry.opentofu.org/hashicorp/external",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "version": "2.4.0",
+ "constraints": "~> 2.3",
+ "hashes": [
+ "h1:/+SUsgcSNW/RVmImj/m1Z+hSUU5BUMu8CMbLwyuhMMU=",
+ "h1:/MpYrEgBd7Gu/lyuyViR4ccaYSpHHIiHZfIxy7AGy2U=",
+ "h1:0SJyK1GT4ma4uTSUz8Y619fc1xRTzJ9FKFvcpvZlSIo=",
+ "h1:4WFLgDJ0NXqNlKJ2UFniW8/GMMterkrWBXmi/+yW2do=",
+ "h1:5vgd2l3wLBjETL3h0npHKNm8efKSE7Xb2uxh+8cysm8=",
+ "h1:6dSIL7ou4oq3hcuRUx4OLRc31PQ1oAC1d885hnQlOh0=",
+ "h1:7OLUuwL6BIhAYehzbDX5NVTIoDAIBf2dYZGrpSKe0r0=",
+ "h1:9PmuE7y6euSGJtnl7W0TIBvZBU1pNojfa615jnJAiIs=",
+ "h1:ME8EoyLapCOOAzPP8uPTm+OSF7nil1r0wOeJ+Q9KNZ8=",
+ "h1:PxaDF/WKlkCtfmiqzws5/23jq3QgcoJ5TMeEIimtvDQ=",
+ "h1:auXuC9e9AsQxrYQj6OyYgqKHgjry0IkJnKHpPShoLHM=",
+ "h1:eBAcMZAh1wmCyYQMCIPyXljazVRYAHkEu/31RbZD6Sw=",
+ "h1:jkfHEdIUc6uxIm8zuw0lVZliedeqgzDE9qb1Y608VUI=",
+ "h1:mC6Rw0cABPfsBZLVXfdOByUUW1hHkfscaQufTzVM+rw=",
+ "h1:nE1mN6A/5lJVLiNQmVm43m9ME2uHlqwIYUVxlZgblSk=",
+ "zh:483962b782cee2c970f4bdf6118e4bb665f37a0d488024c660b7a7c9853afc93",
+ "zh:4a8b42651f6de0ea93854ece3ccdf8e2b21b911145859402a9a6ec6ecf31a23c",
+ "zh:56836ea1468cb328e98cccc76cccc208fb7336513bc76de76309541b8e5ceef2",
+ "zh:6d30c2c1aff7e0ddcfffdf815e570f5ed8b77d1ce2d31440c7c50c6f3e7cbe97",
+ "zh:80a21a23bd9bfafb74e4fc5f2a0e2bc33517c418d5f16dc020b7febba9ef6cd2",
+ "zh:95d9ce0e6407f199f7e9d3aefc3345a6e67c18f0c8280207417272cbb3f973ad",
+ "zh:98e46c6504da5f1020489730d23f03a1337e643ed452f271c2a13e6af4687a16",
+ "zh:a3f59b81da319a87bb3ac4a31e669874a090f082959da29975fa6f11f53b4731",
+ "zh:a5793f88bb25000d6e6b8b2cd5ca71366a8d4e373e17a247089a80331ccf824e",
+ "zh:cfc9af183162936b2e9a726c4a68d773b4511ada23b2c764f5add90f080e747d",
+ "zh:d85e722d771fb7865d9d5b591334d0f2b7598b7e66f534f93923effe6d5134ed",
+ "zh:de6e5d954ef91bb0ad41f30305ab8c31718ea39308523529f528babd0b27db71",
+ "zh:fca19dda5e05221e231d400fc39fda4f9e9abfe33e8e833a215eb094fe226ed8",
+ "zh:fcf67b347f2dc3c609c819ad5f27078fa3d0235311cfe5e33242eb49b3a4a6a8",
+ "zh:fea69a81ffcd63cb776b0f2c13a99a8a6d64e0b9de111ea1926bc4e713023ece"
+ ]
+ },
+ "community": 81,
+ "community_name": "cluster/.terraform.lock.hcl",
+ "file_type": "code",
+ "norm_label": "provider.registry.opentofu.org/hashicorp/external",
+ "source_file": "bootstrap/cluster/.terraform.lock.hcl",
+ "source_location": "L4"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_provider_registry_opentofu_org_hashicorp_null",
+ "label": "provider.registry.opentofu.org/hashicorp/null",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "version": "3.3.0",
+ "constraints": "~> 3.2",
+ "hashes": [
+ "h1:0r7+t8CqzjfBgHgEiJGBCw+McEUdRXliMdF+Hk29d8o=",
+ "h1:EvvCOc4FJY3NitSm6BpzCcUPU53LayVCB/tPOxYmy7U=",
+ "h1:IDVnZXNCh0u4LfeSazc9z1v/kNz+92Eej7ePWV6SbyE=",
+ "h1:Iw2c0n9/4fS92N5WnJ3CCSwSUXZO953oHp9gj3pWCaM=",
+ "h1:JofS1og3hPN0ANjH+gNjxrJyyk6znodpC/F0qhp4eEk=",
+ "h1:QIBhsJ4+5+t0vFEgJwtezNLT31tsptFHOEyGAAhLR1o=",
+ "h1:RjjoL9qRPwNTwLdtJsYUaFvunbPM2/oujf2DcUcitOE=",
+ "h1:SSirA+z2VWTs1s+TCAx8vVKg9jh6cRjxqc8LYi2iQTI=",
+ "h1:U2XZc7hxcpcWp/C2S9LtuGUimhMOD2UT5xAEJJQQQaU=",
+ "h1:bPG+xE5UonkJv3y/Yn9Q7OfbP2qHU/QKiS31nwfe7S0=",
+ "h1:eODLdk/pARc4yxChAFtwseVmBr+r5fF9yGOvUhwGEyM=",
+ "h1:iFj1oM5ZPENspsPqK1kcvZzyP95jJE/CM0rlu0MfIss=",
+ "h1:mdu+qpyVmjDDLMrcL1JFy+cSyF58I3TFJwB5NssCZ58=",
+ "h1:tJmep6aoBeDH77XsYU65HAbi0RAjxtsmbCOXmnqT13U=",
+ "h1:tdMTn1evBLd6KCeLqWdQXCpF07hBu3n5rY6N3rXw3Rc=",
+ "zh:083dcc0bec53f8abfa3f2aa2ce9d732a9675338fd60ae7d61162e25db7cb08bf",
+ "zh:19f7456b5a2ad16595860974714bfdb25b87bc16356ea9d5c7453892aaa27864",
+ "zh:222c0ed1fed4e4c677ebe626104dbfdba66763e264de0d9c27c58ce60104ee69",
+ "zh:271711d6caa7dd5a4e9b79fe8c679fab61a840bcf80040a0f5ebb425d1b27d97",
+ "zh:5adcf35f30baaea13f80c2a2c774deb9369892719493049687e23476c9dff40f",
+ "zh:5bcfd19df16e73d7f0ad75bd09e2b3b86cf6700d09822d585d68304b71de1d97",
+ "zh:604edecf263e38674decb35bb4e0e048fdc951f26fa103c33065ff9728f0313b",
+ "zh:782acbfb4fa4807e273e588fe45b4aaea9dd0fd1136f76ec3200f6f4db3af8d6",
+ "zh:84411a596d528fe67294e5c1cfd0c2036b08802497bcc4215ce518924f3c9a4a",
+ "zh:85e79eecf3f5348975cffec3016b0eba3baf605646102d4348796ccd2df2e5f6",
+ "zh:95669535ca17aeefef307ebfd59ce6930953173baae5637e8cbbf0297ec7ad58",
+ "zh:d04d9b177747bfd66b4a45b5d911a2a7822aa8451f5e35621971fb7a4206b530",
+ "zh:e6d9c924475283e90833450a14a732f4deb6d9bb131db8f86ab856e894270836",
+ "zh:ebcab0c8a1334c86ed7cfa53f571a17ad6d27e9901f27a8854ea622a74b54bb6",
+ "zh:ef9c757bb2c83d2103811a3d86b6ec5be06b0ffc337b84db1582d023bce7cdcd"
+ ]
+ },
+ "community": 81,
+ "community_name": "cluster/.terraform.lock.hcl",
+ "file_type": "code",
+ "norm_label": "provider.registry.opentofu.org/hashicorp/null",
+ "source_file": "bootstrap/cluster/.terraform.lock.hcl",
+ "source_location": "L41"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_kubeconfig_path",
+ "label": "var.kubeconfig_path",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "type": "string",
+ "default": "/home/jv/.kube/config"
+ },
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.kubeconfig_path",
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L25"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_pod_network_cidr",
+ "label": "var.pod_network_cidr",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "type": "string",
+ "default": "10.244.0.0/16"
+ },
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.pod_network_cidr",
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L20"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_control_plane_advertise_address",
+ "label": "var.control_plane_advertise_address",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "type": "string",
+ "default": "192.168.100.73"
+ },
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.control_plane_advertise_address",
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L15"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_registry_endpoint",
+ "label": "var.registry_endpoint",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "type": "string",
+ "default": "192.168.100.73:30500"
+ },
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.registry_endpoint",
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L35"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_control_plane_node_name",
+ "label": "var.control_plane_node_name",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "type": "string",
+ "default": "debian"
+ },
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.control_plane_node_name",
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L1"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_kubeconfig_owner",
+ "label": "var.kubeconfig_owner",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "type": "string",
+ "default": "jv:jv"
+ },
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.kubeconfig_owner",
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L30"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_persistent_volume_dirs",
+ "label": "var.persistent_volume_dirs",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "type": "list(string)",
+ "default": [
+ "/data/openebs/local/registry"
+ ]
+ },
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.persistent_volume_dirs",
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L48"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_node_dns_servers",
+ "label": "var.node_dns_servers",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "type": "list(string)",
+ "default": [
+ "1.1.1.1",
+ "8.8.8.8"
+ ]
+ },
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.node_dns_servers",
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L40"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_tailscale_nodeport_extra_ports",
+ "label": "var.tailscale_nodeport_extra_ports",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "type": "list(number)",
+ "default": []
+ },
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.tailscale_nodeport_extra_ports",
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L119"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_tailscale_nodeport_extra_target_ports",
+ "label": "var.tailscale_nodeport_extra_target_ports",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "type": "list(number)",
+ "default": []
+ },
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.tailscale_nodeport_extra_target_ports",
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L124"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_allow_empty_worker_nodes",
+ "label": "var.allow_empty_worker_nodes",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "type": "bool",
+ "default": false
+ },
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.allow_empty_worker_nodes",
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L66"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_force_worker_rejoin",
+ "label": "var.force_worker_rejoin",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "type": "bool",
+ "default": false
+ },
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.force_worker_rejoin",
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L77"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_worker_tailscale_accept_routes",
+ "label": "var.worker_tailscale_accept_routes",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "type": "bool",
+ "default": false
+ },
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.worker_tailscale_accept_routes",
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L87"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_worker_tailscale_enabled",
+ "label": "var.worker_tailscale_enabled",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "type": "bool",
+ "default": false
+ },
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.worker_tailscale_enabled",
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L82"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_worker_tailscale_pod_egress_snat",
+ "label": "var.worker_tailscale_pod_egress_snat",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "type": "bool",
+ "default": true
+ },
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.worker_tailscale_pod_egress_snat",
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L92"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_tailscale_nodeport_access",
+ "label": "var.tailscale_nodeport_access",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "type": "object({ enabled = bool worker_key = string peer_ip = string node_tailscale_ip = string pod_cidr = string node_port = number target_port = number })",
+ "default": {
+ "enabled": false,
+ "worker_key": "raspberrypi",
+ "peer_ip": "100.118.255.19",
+ "node_tailscale_ip": "100.77.80.72",
+ "pod_cidr": "10.244.0.0/16",
+ "node_port": 30080,
+ "target_port": 8080
+ }
+ },
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.tailscale_nodeport_access",
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L97"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_tailscale_subnet_routes",
+ "label": "var.tailscale_subnet_routes",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "type": "object({ enabled = bool worker_key = string routes = list(string) })",
+ "default": {
+ "enabled": true,
+ "worker_key": "raspberrypi",
+ "routes": [
+ "192.168.100.0/24"
+ ]
+ }
+ },
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.tailscale_subnet_routes",
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L129"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_control_plane_node_labels",
+ "label": "var.control_plane_node_labels",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "type": "map(string)",
+ "default": {
+ "homelab.dev/node-role": "control-plane",
+ "homelab.dev/storage": "data-vg",
+ "homelab.dev/workload-class": "control-plane"
+ }
+ },
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.control_plane_node_labels",
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L6"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_worker_node_labels",
+ "label": "var.worker_node_labels",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "type": "map(map(string))",
+ "default": {}
+ },
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.worker_node_labels",
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L71"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_worker_nodes",
+ "label": "var.worker_nodes",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "type": "map(object({ host = string user = string node_name = string ssh_key_path = string }))",
+ "default": {}
+ },
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.worker_nodes",
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L55"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_worker",
+ "label": "null_resource.kubeadm_worker",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "for_each": "var.worker_nodes",
+ "depends_on": [
+ "null_resource.kubeadm_control_plane",
+ "null_resource.kube_system_resource_policy",
+ "null_resource.worker_nodes_required"
+ ],
+ "triggers": {
+ "node_name": "each.value.node_name",
+ "host": "each.value.host",
+ "user": "each.value.user",
+ "ssh_key_path": "each.value.ssh_key_path",
+ "kubeconfig_path": "var.kubeconfig_path",
+ "registry_endpoint": "var.registry_endpoint",
+ "registry_config_version": "8",
+ "containerd_runtime": "docker-containerd-io",
+ "cni_plugins_version": "2",
+ "force_rejoin": "tostring(var.force_worker_rejoin)",
+ "worker_rejoin_reset_version": "2",
+ "node_dns_servers": "join(\" \", var.node_dns_servers)",
+ "persistent_volume_dirs": "join(\",\", var.persistent_volume_dirs)",
+ "worker_tailscale_version": "1",
+ "worker_tailscale_enabled": "tostring(var.worker_tailscale_enabled)",
+ "worker_tailscale_accept_routes": "tostring(var.worker_tailscale_accept_routes)",
+ "worker_tailscale_pod_egress_snat": "tostring(var.worker_tailscale_pod_egress_snat)",
+ "tailscale_nodeport_version": "3",
+ "tailscale_nodeport_enabled": "var.tailscale_nodeport_access.enabled && each.key == var.tailscale_nodeport_access.worker_key ? \"true\" : \"false\"",
+ "tailscale_nodeport_peer_ip": "var.tailscale_nodeport_access.peer_ip",
+ "tailscale_nodeport_node_tailscale_ip": "var.tailscale_nodeport_access.node_tailscale_ip",
+ "tailscale_nodeport_pod_cidr": "var.tailscale_nodeport_access.pod_cidr",
+ "tailscale_nodeport_node_ports": "join(\" \", distinct(concat([var.tailscale_nodeport_access.node_port], var.tailscale_nodeport_extra_ports)))",
+ "tailscale_nodeport_target_ports": "join(\" \", distinct(concat([var.tailscale_nodeport_access.target_port], var.tailscale_nodeport_extra_target_ports)))",
+ "tailscale_subnet_routes_version": "1",
+ "tailscale_subnet_routes_enabled": "var.tailscale_subnet_routes.enabled && each.key == var.tailscale_subnet_routes.worker_key ? \"true\" : \"false\"",
+ "tailscale_subnet_routes": "join(\",\", var.tailscale_subnet_routes.routes)"
+ }
+ },
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "null_resource.kubeadm_worker",
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L541"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_node_labels",
+ "label": "null_resource.node_labels",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "for_each": "{ for pair in local.node_label_pairs : \"${pair.node_name}/${pair.label}\" => pair }",
+ "depends_on": [
+ "null_resource.kubeadm_control_plane",
+ "null_resource.kubeadm_worker"
+ ],
+ "triggers": {
+ "kubeconfig_path": "var.kubeconfig_path",
+ "node_name": "each.value.node_name",
+ "label": "each.value.label",
+ "value": "each.value.value"
+ }
+ },
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "null_resource.node_labels",
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L1324"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kube_system_resource_policy",
+ "label": "null_resource.kube_system_resource_policy",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "depends_on": [
+ "null_resource.kubeadm_control_plane"
+ ],
+ "triggers": {
+ "kubeconfig_path": "var.kubeconfig_path",
+ "resource_policy_version": "2"
+ }
+ },
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "null_resource.kube_system_resource_policy",
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L438"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_control_plane",
+ "label": "null_resource.kubeadm_control_plane",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "triggers": {
+ "node_name": "var.control_plane_node_name",
+ "advertise_address": "var.control_plane_advertise_address",
+ "pod_network_cidr": "var.pod_network_cidr",
+ "kubeconfig_path": "var.kubeconfig_path",
+ "kubeconfig_owner": "var.kubeconfig_owner",
+ "registry_endpoint": "var.registry_endpoint",
+ "registry_config_version": "8",
+ "containerd_runtime": "docker-containerd-io",
+ "cni_plugins_version": "2",
+ "node_dns_servers": "join(\" \", var.node_dns_servers)",
+ "persistent_volume_dirs": "join(\",\", var.persistent_volume_dirs)"
+ }
+ },
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "null_resource.kubeadm_control_plane",
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L15"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_worker_nodes_required",
+ "label": "null_resource.worker_nodes_required",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "triggers": {
+ "worker_count": "tostring(length(var.worker_nodes))"
+ }
+ },
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "null_resource.worker_nodes_required",
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L528"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_output_kubeconfig_path",
+ "label": "output.kubeconfig_path",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "value": "var.kubeconfig_path"
+ },
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "output.kubeconfig_path",
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L1365"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_output_pod_network_cidr",
+ "label": "output.pod_network_cidr",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "attributes": {
+ "value": "var.pod_network_cidr"
+ },
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "output.pod_network_cidr",
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L1369"
+ },
+ {
+ "id": "bootstrap_cluster_main",
+ "label": "cluster/main.tf",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "cluster/main.tf",
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": null,
+ "type": "terraform_file"
+ },
+ {
+ "id": "bootstrap_cluster_variables",
+ "label": "cluster/variables.tf",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "cluster/variables.tf",
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": null,
+ "type": "terraform_file"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_directory",
+ "label": "Terraform module: bootstrap/cluster",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "language": "terraform",
+ "norm_label": "terraform module: bootstrap/cluster",
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": null,
+ "type": "module"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_local_control_plane_node_label_pairs",
+ "label": "local.control_plane_node_label_pairs",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.control_plane_node_label_pairs",
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L1303"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_local_node_label_pairs",
+ "label": "local.node_label_pairs",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.node_label_pairs",
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L1321"
+ },
+ {
+ "id": "terraform_bootstrap_cluster_d8bb757b863f9d24_local_worker_node_label_pairs",
+ "label": "local.worker_node_label_pairs",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "community": 8,
+ "community_name": "cluster/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.worker_node_label_pairs",
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L1311"
+ },
+ {
+ "id": "bootstrap_cluster_terraform_lock",
+ "label": "cluster/.terraform.lock.hcl",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/cluster",
+ "community": 81,
+ "community_name": "cluster/.terraform.lock.hcl",
+ "file_type": "code",
+ "norm_label": "cluster/.terraform.lock.hcl",
+ "source_file": "bootstrap/cluster/.terraform.lock.hcl",
+ "source_location": null,
+ "type": "terraform_file"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_provider_registry_opentofu_org_hashicorp_null",
+ "label": "provider.registry.opentofu.org/hashicorp/null",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "version": "3.3.0",
+ "constraints": "~> 3.2",
+ "hashes": [
+ "h1:0r7+t8CqzjfBgHgEiJGBCw+McEUdRXliMdF+Hk29d8o=",
+ "h1:EvvCOc4FJY3NitSm6BpzCcUPU53LayVCB/tPOxYmy7U=",
+ "h1:IDVnZXNCh0u4LfeSazc9z1v/kNz+92Eej7ePWV6SbyE=",
+ "h1:Iw2c0n9/4fS92N5WnJ3CCSwSUXZO953oHp9gj3pWCaM=",
+ "h1:JofS1og3hPN0ANjH+gNjxrJyyk6znodpC/F0qhp4eEk=",
+ "h1:QIBhsJ4+5+t0vFEgJwtezNLT31tsptFHOEyGAAhLR1o=",
+ "h1:RjjoL9qRPwNTwLdtJsYUaFvunbPM2/oujf2DcUcitOE=",
+ "h1:SSirA+z2VWTs1s+TCAx8vVKg9jh6cRjxqc8LYi2iQTI=",
+ "h1:U2XZc7hxcpcWp/C2S9LtuGUimhMOD2UT5xAEJJQQQaU=",
+ "h1:bPG+xE5UonkJv3y/Yn9Q7OfbP2qHU/QKiS31nwfe7S0=",
+ "h1:eODLdk/pARc4yxChAFtwseVmBr+r5fF9yGOvUhwGEyM=",
+ "h1:iFj1oM5ZPENspsPqK1kcvZzyP95jJE/CM0rlu0MfIss=",
+ "h1:mdu+qpyVmjDDLMrcL1JFy+cSyF58I3TFJwB5NssCZ58=",
+ "h1:tJmep6aoBeDH77XsYU65HAbi0RAjxtsmbCOXmnqT13U=",
+ "h1:tdMTn1evBLd6KCeLqWdQXCpF07hBu3n5rY6N3rXw3Rc=",
+ "zh:083dcc0bec53f8abfa3f2aa2ce9d732a9675338fd60ae7d61162e25db7cb08bf",
+ "zh:19f7456b5a2ad16595860974714bfdb25b87bc16356ea9d5c7453892aaa27864",
+ "zh:222c0ed1fed4e4c677ebe626104dbfdba66763e264de0d9c27c58ce60104ee69",
+ "zh:271711d6caa7dd5a4e9b79fe8c679fab61a840bcf80040a0f5ebb425d1b27d97",
+ "zh:5adcf35f30baaea13f80c2a2c774deb9369892719493049687e23476c9dff40f",
+ "zh:5bcfd19df16e73d7f0ad75bd09e2b3b86cf6700d09822d585d68304b71de1d97",
+ "zh:604edecf263e38674decb35bb4e0e048fdc951f26fa103c33065ff9728f0313b",
+ "zh:782acbfb4fa4807e273e588fe45b4aaea9dd0fd1136f76ec3200f6f4db3af8d6",
+ "zh:84411a596d528fe67294e5c1cfd0c2036b08802497bcc4215ce518924f3c9a4a",
+ "zh:85e79eecf3f5348975cffec3016b0eba3baf605646102d4348796ccd2df2e5f6",
+ "zh:95669535ca17aeefef307ebfd59ce6930953173baae5637e8cbbf0297ec7ad58",
+ "zh:d04d9b177747bfd66b4a45b5d911a2a7822aa8451f5e35621971fb7a4206b530",
+ "zh:e6d9c924475283e90833450a14a732f4deb6d9bb131db8f86ab856e894270836",
+ "zh:ebcab0c8a1334c86ed7cfa53f571a17ad6d27e9901f27a8854ea622a74b54bb6",
+ "zh:ef9c757bb2c83d2103811a3d86b6ec5be06b0ffc337b84db1582d023bce7cdcd"
+ ]
+ },
+ "community": 99,
+ "community_name": "edge/.terraform.lock.hcl",
+ "file_type": "code",
+ "norm_label": "provider.registry.opentofu.org/hashicorp/null",
+ "source_file": "bootstrap/edge/.terraform.lock.hcl",
+ "source_location": "L4"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_var_haproxy_stats_password",
+ "label": "var.haproxy_stats_password",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "type": "string",
+ "sensitive": true,
+ "default": ""
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.haproxy_stats_password",
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L154"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_var_backend_host",
+ "label": "var.backend_host",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "type": "string",
+ "default": ""
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.backend_host",
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L61"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_var_edge_host",
+ "label": "var.edge_host",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "type": "string",
+ "default": ""
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.edge_host",
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L1"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_var_gitea_backend_host",
+ "label": "var.gitea_backend_host",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "type": "string",
+ "default": ""
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.gitea_backend_host",
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L86"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_var_heimdall_backend_host",
+ "label": "var.heimdall_backend_host",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "type": "string",
+ "default": ""
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.heimdall_backend_host",
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L96"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_var_letsencrypt_email",
+ "label": "var.letsencrypt_email",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "type": "string",
+ "default": ""
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.letsencrypt_email",
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L51"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_var_server_name",
+ "label": "var.server_name",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "type": "string",
+ "default": ""
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.server_name",
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L31"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_var_matrix_cert_dir",
+ "label": "var.matrix_cert_dir",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "type": "string",
+ "default": "/etc/nginx/certs"
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.matrix_cert_dir",
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L128"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_var_edge_ssh_key_path",
+ "label": "var.edge_ssh_key_path",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "type": "string",
+ "default": "/home/jv/.ssh/id_ed25519"
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.edge_ssh_key_path",
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L16"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_var_edge_install_dir",
+ "label": "var.edge_install_dir",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "type": "string",
+ "default": "/opt/homelab-edge"
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.edge_install_dir",
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L21"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_var_element_backend_host",
+ "label": "var.element_backend_host",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "type": "string",
+ "default": "192.168.100.73"
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.element_backend_host",
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L139"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_var_matrix_backend_host",
+ "label": "var.matrix_backend_host",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "type": "string",
+ "default": "192.168.100.73"
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.matrix_backend_host",
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L118"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_var_haproxy_stats_user",
+ "label": "var.haproxy_stats_user",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "type": "string",
+ "default": "admin"
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.haproxy_stats_user",
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L149"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_var_element_server_name",
+ "label": "var.element_server_name",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "type": "string",
+ "default": "element.lab2025.duckdns.org"
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.element_server_name",
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L134"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_var_matrix_server_name",
+ "label": "var.matrix_server_name",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "type": "string",
+ "default": "matrix.lab2025.duckdns.org"
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.matrix_server_name",
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L112"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_var_edge_user",
+ "label": "var.edge_user",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "type": "string",
+ "default": "ubuntu"
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.edge_user",
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L11"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_var_gitea_backend_port",
+ "label": "var.gitea_backend_port",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "type": "number",
+ "default": 3000
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.gitea_backend_port",
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L81"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_var_demos_backend_port",
+ "label": "var.demos_backend_port",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "type": "number",
+ "default": 30081
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.demos_backend_port",
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L76"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_var_backend_port",
+ "label": "var.backend_port",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "type": "number",
+ "default": 80
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.backend_port",
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L71"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_var_matrix_backend_port",
+ "label": "var.matrix_backend_port",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "type": "number",
+ "default": 8008
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.matrix_backend_port",
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L123"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_var_element_backend_port",
+ "label": "var.element_backend_port",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "type": "number",
+ "default": 8081
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.element_backend_port",
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L144"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_var_heimdall_backend_port",
+ "label": "var.heimdall_backend_port",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "type": "number",
+ "default": 8082
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.heimdall_backend_port",
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L101"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_var_additional_server_names",
+ "label": "var.additional_server_names",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "type": "list(string)",
+ "default": []
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.additional_server_names",
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L41"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_var_edge_install_docker",
+ "label": "var.edge_install_docker",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "type": "bool",
+ "default": false
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.edge_install_docker",
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L26"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_var_letsencrypt_staging",
+ "label": "var.letsencrypt_staging",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "type": "bool",
+ "default": false
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.letsencrypt_staging",
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L56"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_var_enable_letsencrypt",
+ "label": "var.enable_letsencrypt",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "type": "bool",
+ "default": true
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.enable_letsencrypt",
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L46"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_var_matrix_enabled",
+ "label": "var.matrix_enabled",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "type": "bool",
+ "default": true
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.matrix_enabled",
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L107"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_null_resource_edge_services",
+ "label": "null_resource.edge_services",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "triggers": {
+ "host": "var.edge_host",
+ "user": "var.edge_user",
+ "install_dir": "var.edge_install_dir",
+ "install_docker": "tostring(var.edge_install_docker)",
+ "server_name": "var.server_name",
+ "server_names": "join(\" \", local.server_names)",
+ "certbot_domain_args": "join(\" \", [for name in local.server_names : \"-d ${name}\"])",
+ "backend_host": "var.backend_host",
+ "backend_port": "tostring(var.backend_port)",
+ "gitea_backend_host": "var.gitea_backend_host",
+ "gitea_backend_port": "tostring(var.gitea_backend_port)",
+ "heimdall_host": "local.heimdall_backend_host",
+ "heimdall_port": "tostring(var.heimdall_backend_port)",
+ "enable_letsencrypt": "tostring(var.enable_letsencrypt)",
+ "letsencrypt_email": "var.letsencrypt_email",
+ "letsencrypt_staging": "tostring(var.letsencrypt_staging)",
+ "certbot_version": "2",
+ "config_hash": "local.config_hash"
+ }
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "null_resource.edge_services",
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L61"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_output_edge_host",
+ "label": "output.edge_host",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "value": "var.edge_host"
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "output.edge_host",
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L376"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_output_edge_install_dir",
+ "label": "output.edge_install_dir",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "attributes": {
+ "value": "var.edge_install_dir"
+ },
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "output.edge_install_dir",
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L380"
+ },
+ {
+ "id": "bootstrap_edge_main",
+ "label": "edge/main.tf",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "edge/main.tf",
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": null,
+ "type": "terraform_file"
+ },
+ {
+ "id": "bootstrap_edge_variables",
+ "label": "edge/variables.tf",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "edge/variables.tf",
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": null,
+ "type": "terraform_file"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_directory",
+ "label": "Terraform module: bootstrap/edge",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "language": "terraform",
+ "norm_label": "terraform module: bootstrap/edge",
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": null,
+ "type": "module"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_local_compose_file",
+ "label": "local.compose_file",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.compose_file",
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L12"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_local_config_hash",
+ "label": "local.config_hash",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.config_hash",
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L51"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf",
+ "label": "local.default_conf",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.default_conf",
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L17"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf_matrix",
+ "label": "local.default_conf_matrix",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.default_conf_matrix",
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L42"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_vcl",
+ "label": "local.default_vcl",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.default_vcl",
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L30"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_local_haproxy_cfg",
+ "label": "local.haproxy_cfg",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.haproxy_cfg",
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L34"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_local_heimdall_backend_host",
+ "label": "local.heimdall_backend_host",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.heimdall_backend_host",
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L14"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_local_heimdall_server_name",
+ "label": "local.heimdall_server_name",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.heimdall_server_name",
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L13"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_local_main_server_names",
+ "label": "local.main_server_names",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.main_server_names",
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L16"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_local_server_names",
+ "label": "local.server_names",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.server_names",
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L15"
+ },
+ {
+ "id": "terraform_bootstrap_edge_0053c5ce495d569f_local_squid_conf",
+ "label": "local.squid_conf",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "community": 5,
+ "community_name": "edge/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.squid_conf",
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L38"
+ },
+ {
+ "id": "bootstrap_edge_terraform_lock",
+ "label": "edge/.terraform.lock.hcl",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/edge",
+ "community": 99,
+ "community_name": "edge/.terraform.lock.hcl",
+ "file_type": "code",
+ "norm_label": "edge/.terraform.lock.hcl",
+ "source_file": "bootstrap/edge/.terraform.lock.hcl",
+ "source_location": null,
+ "type": "terraform_file"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_storage_class_v1_openebs_hostpath_retain",
+ "label": "kubernetes_storage_class_v1.openebs_hostpath_retain",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "depends_on": [
+ "helm_release.openebs"
+ ],
+ "storage_provisioner": "openebs.io/local",
+ "reclaim_policy": "Retain",
+ "volume_binding_mode": "WaitForFirstConsumer",
+ "allow_volume_expansion": true
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "kubernetes_storage_class_v1.openebs_hostpath_retain",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1060"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_argocd",
+ "label": "helm_release.argocd",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "depends_on": [
+ "helm_release.openebs"
+ ],
+ "name": "argocd",
+ "repository": "var.argocd.repository",
+ "chart": "argo-cd",
+ "version": "var.argocd.version",
+ "namespace": "var.argocd.namespace",
+ "create_namespace": true,
+ "timeout": 1200,
+ "wait": false,
+ "values": [
+ "yamlencode({ global = { nodeSelector = local.argocd_node_selector } configs = { params = { \"server.insecure\" = true } } applicationSet = { nodeSelector = local.argocd_node_selector affinity = local.argocd_component_affinity.application_set topologySpreadConstraints = local.argocd_component_topology_spread_constraints.application_set resources = { requests = { cpu = \"100m\" "
+ ]
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "helm_release.argocd",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1086"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_calico_crds",
+ "label": "helm_release.calico_crds",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "name": "calico-crds",
+ "repository": "var.calico.repository",
+ "chart": "crd.projectcalico.org.v1",
+ "version": "var.calico.version",
+ "namespace": "var.calico.namespace",
+ "create_namespace": true
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "helm_release.calico_crds",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L278"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_extra_tools",
+ "label": "helm_release.extra_tools",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "for_each": "var.extra_helm_releases",
+ "depends_on": [
+ "null_resource.calico_ready"
+ ],
+ "name": "each.key",
+ "repository": "each.value.repository",
+ "chart": "each.value.chart",
+ "version": "each.value.version != \"\" ? each.value.version : null",
+ "namespace": "each.value.namespace",
+ "create_namespace": "each.value.create_namespace",
+ "timeout": "each.value.timeout",
+ "values": "each.value.values_yaml != \"\" ? [each.value.values_yaml] : []"
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "helm_release.extra_tools",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L2097"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_kyverno",
+ "label": "helm_release.kyverno",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "depends_on": [
+ "null_resource.calico_ready"
+ ],
+ "name": "kyverno",
+ "repository": "var.kyverno.repository",
+ "chart": "kyverno",
+ "version": "var.kyverno.chart_version",
+ "namespace": "var.kyverno.namespace",
+ "create_namespace": true,
+ "timeout": 900,
+ "wait": true,
+ "values": [
+ "yamlencode({ crds = { migration = { nodeSelector = local.kyverno_node_selector } } admissionController = { nodeSelector = local.kyverno_node_selector podAntiAffinity = local.kyverno_component_pod_anti_affinity.admissionController replicas = 1 topologySpreadConstraints = local.kyverno_component_topology_spread_constraints.admissionController resources = { requests = { cpu = "
+ ]
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "helm_release.kyverno",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1386"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_kyverno_policies",
+ "label": "helm_release.kyverno_policies",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "depends_on": [
+ "helm_release.kyverno"
+ ],
+ "name": "kyverno-policies",
+ "repository": "var.kyverno.repository",
+ "chart": "kyverno-policies",
+ "version": "var.kyverno.policies_version",
+ "namespace": "var.kyverno.namespace",
+ "create_namespace": false,
+ "timeout": 600,
+ "wait": true,
+ "values": [
+ "yamlencode({ podSecurityStandard = \"baseline\" podSecuritySeverity = \"medium\" validationFailureAction = \"Audit\" validationAllowExistingViolations = true failurePolicy = \"Ignore\" })"
+ ]
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "helm_release.kyverno_policies",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1475"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_metallb",
+ "label": "helm_release.metallb",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "for_each": "var.metallb.enabled ? { enabled = true } : {}",
+ "depends_on": [
+ "null_resource.calico_ready"
+ ],
+ "name": "metallb",
+ "repository": "var.metallb.repository",
+ "chart": "metallb",
+ "version": "var.metallb.version",
+ "namespace": "var.metallb.namespace",
+ "create_namespace": true,
+ "timeout": 600,
+ "wait": true,
+ "values": [
+ "yamlencode({ controller = { resources = { requests = { cpu = \"50m\" memory = \"128Mi\" } limits = { cpu = \"200m\" memory = \"256Mi\" } } } frrk8s = { enabled = false } speaker = { resources = { requests = { cpu = \"50m\" memory = \"128Mi\" } limits = { cpu = \"200m\" memory = \"256Mi\" } } "
+ ]
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "helm_release.metallb",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L861"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_openebs",
+ "label": "helm_release.openebs",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "depends_on": [
+ "null_resource.calico_ready"
+ ],
+ "name": "openebs",
+ "repository": "var.openebs.repository",
+ "chart": "openebs",
+ "version": "var.openebs.version",
+ "namespace": "var.openebs.namespace",
+ "create_namespace": true,
+ "timeout": 600,
+ "values": [
+ "yamlencode({ \"localpv-provisioner\" = { localpv = { resources = { requests = { cpu = \"50m\" memory = \"128Mi\" } limits = { cpu = \"200m\" memory = \"256Mi\" } } } } engines = { local = { lvm = { enabled = false } zfs = { enabled = false } } replicated = { mayastor = { en"
+ ]
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "helm_release.openebs",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1009"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_calico",
+ "label": "helm_release.calico",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "depends_on": [
+ "null_resource.calico_helm_recovery"
+ ],
+ "name": "calico",
+ "repository": "var.calico.repository",
+ "chart": "tigera-operator",
+ "version": "var.calico.version",
+ "namespace": "var.calico.namespace",
+ "create_namespace": true,
+ "timeout": 900,
+ "wait": false,
+ "cleanup_on_fail": true,
+ "values": [
+ "yamlencode({ manageCRDs = false nodeSelector = { \"kubernetes.io/os\" = \"linux\" \"kubernetes.io/hostname\" = var.calico_operator_node_name } resources = { requests = { cpu = \"50m\" memory = \"128Mi\" } limits = { cpu = \"200m\" memory = \"256Mi\" } } apiServer = { enabled = false } goldmane = { enabled = false } whisker = { enabled = false } installa"
+ ]
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "helm_release.calico",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L316"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_traefik",
+ "label": "helm_release.traefik",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "for_each": "var.traefik.enabled ? { enabled = true } : {}",
+ "depends_on": [
+ "null_resource.metallb_l2_config"
+ ],
+ "name": "traefik",
+ "repository": "var.traefik.repository",
+ "chart": "traefik",
+ "version": "var.traefik.chart_version",
+ "namespace": "var.traefik.namespace",
+ "create_namespace": true,
+ "timeout": 600,
+ "wait": true,
+ "values": [
+ "yamlencode({ deployment = { replicas = 1 } nodeSelector = local.traefik_node_selector ingressClass = { enabled = true isDefaultClass = true name = var.traefik.ingress_class } gateway = { enabled = false } gatewayClass = { enabled = false } providers = { kubernetesCRD = { enabled = true } kubernetesIngress = { enabled = true } } ports = { "
+ ]
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "helm_release.traefik",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L932"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_metrics_server",
+ "label": "helm_release.metrics_server",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "for_each": "var.metrics_server.enabled ? { enabled = true } : {}",
+ "depends_on": [
+ "null_resource.calico_ready"
+ ],
+ "name": "metrics-server",
+ "repository": "var.metrics_server.repository",
+ "chart": "var.metrics_server.chart",
+ "version": "var.metrics_server.version",
+ "namespace": "var.metrics_server.namespace",
+ "create_namespace": false,
+ "timeout": 600,
+ "wait": true,
+ "values": [
+ "yamlencode({ args = [ \"--kubelet-insecure-tls\", ] nodeSelector = local.prometheus_stack_node_selector resources = { requests = { cpu = \"50m\" memory = \"128Mi\" } limits = { cpu = \"200m\" memory = \"256Mi\" } } })"
+ ]
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "helm_release.metrics_server",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L507"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_loki",
+ "label": "helm_release.loki",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "depends_on": [
+ "kubernetes_namespace_v1.monitoring"
+ ],
+ "name": "loki",
+ "repository": "var.observability.loki.repository",
+ "chart": "var.observability.loki.chart",
+ "version": "var.observability.loki.version",
+ "namespace": "var.observability.namespace",
+ "create_namespace": false,
+ "timeout": 900,
+ "wait": true,
+ "values": [
+ "yamlencode({ deploymentMode = \"SingleBinary\" loki = { auth_enabled = false commonConfig = { replication_factor = 1 } storage = { type = \"filesystem\" } schemaConfig = { configs = [ { from = \"2024-04-01\" store = \"tsdb\" object_store = \"filesystem\" schema = \"v13\" index = { prefix = \"loki_index_\" period = \"24h"
+ ]
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "helm_release.loki",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1497"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_mimir",
+ "label": "helm_release.mimir",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "count": "var.observability.mimir.enabled ? 1 : 0",
+ "depends_on": [
+ "kubernetes_namespace_v1.monitoring"
+ ],
+ "name": "mimir",
+ "repository": "var.observability.mimir.repository",
+ "chart": "var.observability.mimir.chart",
+ "version": "var.observability.mimir.version",
+ "namespace": "var.observability.namespace",
+ "create_namespace": false,
+ "timeout": 1200,
+ "wait": true,
+ "values": [
+ "yamlencode({ mimir = { structuredConfig = { multitenancy_enabled = false ingester = { ring = { replication_factor = 1 } } } } alertmanager = { persistentVolume = { storageClass = var.openebs.retain_storage_class size = var.observability.mimir.alertmanager_storage_size } zoneAwareReplication = { enabled = false } } ingester = { replicas = 1"
+ ]
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "helm_release.mimir",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1604"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_prometheus_stack",
+ "label": "helm_release.prometheus_stack",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "depends_on": [
+ "null_resource.prometheus_stack_helm_recovery"
+ ],
+ "name": "prometheus-stack",
+ "repository": "var.observability.prometheus.repository",
+ "chart": "var.observability.prometheus.chart",
+ "version": "var.observability.prometheus.version",
+ "namespace": "var.observability.namespace",
+ "create_namespace": false,
+ "timeout": 600,
+ "wait": false,
+ "cleanup_on_fail": true,
+ "values": [
+ "yamlencode({ kubeControllerManager = { enabled = false } kubeEtcd = { enabled = false } kubeProxy = { enabled = false } kubeScheduler = { enabled = false } prometheusOperator = { affinity = local.prometheus_operator_affinity nodeSelector = local.prometheus_stack_node_selector topologySpreadConstraints = local.prometheus_operator_topology_spread_constraints tls = { enabl"
+ ]
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "helm_release.prometheus_stack",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1780"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_promtail",
+ "label": "helm_release.promtail",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "depends_on": [
+ "helm_release.loki"
+ ],
+ "name": "promtail",
+ "repository": "var.observability.promtail.repository",
+ "chart": "var.observability.promtail.chart",
+ "version": "var.observability.promtail.version",
+ "namespace": "var.observability.namespace",
+ "create_namespace": false,
+ "timeout": 600,
+ "wait": true,
+ "values": [
+ "yamlencode({ config = { clients = [ { url = \"http://loki.${var.observability.namespace}.svc:3100/loki/api/v1/push\" } ] } resources = { requests = { cpu = \"25m\" memory = \"64Mi\" } limits = { cpu = \"100m\" memory = \"128Mi\" } } })"
+ ]
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "helm_release.promtail",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1717"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_provider_kubernetes",
+ "label": "provider.kubernetes",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "config_path": "var.kubeconfig_path"
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "provider.kubernetes",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L19"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_provider_registry_opentofu_org_hashicorp_helm",
+ "label": "provider.registry.opentofu.org/hashicorp/helm",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "version": "2.17.0",
+ "constraints": "~> 2.12",
+ "hashes": [
+ "h1:+NIiFaAqUKl8JBJNk11tfXE4reXce5e3D3V0MOl7/SI=",
+ "h1:/1qQSZBcGfGdSJ1PVDIIRLHF6cCNQDpFnZHA8Z1h5Hg=",
+ "h1:69PnHoYrrDrm7C8+8PiSvRGPI55taqL14SvQR/FGM+g=",
+ "h1:CaN+iT1/mgn062wIkmcZyqhIQEvUQYpGcBYZ7Y7sM84=",
+ "h1:RMCFME+dnIAfqWesdTwaktFf5TCa9shMDtlLWwpJjAw=",
+ "h1:ShIag7wqd5Rs+zYpVMpjAh+T0ozr4XGYfSTKWqceQBY=",
+ "h1:WX5D6JJke4iG8ecGoUt1Gml/ggLHTFhswesyQqxKKG0=",
+ "h1:gy5bFfc81+K/Mi5KRQ6LfRJmgyaTxJnLTzDK+OYJAQg=",
+ "h1:kzDwclZLK5tIKJo3ATWM7a5ODmeczfWkvQDZkr9dVro=",
+ "h1:ojHGbVqPy4ShrUnNL7jif6AnEwgc8vC8sP7f37/VBC8=",
+ "zh:02690815e35131a42cb9851f63a3369c216af30ad093d05b39001d43da04b56b",
+ "zh:27a62f12b29926387f4d71aeeee9f7ffa0ccb81a1b6066ee895716ad050d1b7a",
+ "zh:2d0a5babfa73604b3fefc9dab9c87f91c77fce756c2e32b294e9f1290aed26c0",
+ "zh:3976400ceba6dda4636e1d297e3097e1831de5628afa534a166de98a70d1dcbe",
+ "zh:54440ef14f342b41d75c1aded7487bfcc3f76322b75894235b47b7e89ac4bfa4",
+ "zh:6512e2ab9f2fa31cbb90d9249647b5c5798f62eb1215ec44da2cdaa24e38ad25",
+ "zh:795f327ca0b8c5368af0ed03d5d4f6da7260692b4b3ca0bd004ed542e683464d",
+ "zh:ba659e1d94f224bc3f1fd34cbb9d2663e3a8e734108e5a58eb49eda84b140978",
+ "zh:c5c8575c4458835c2acbc3d1ed5570589b14baa2525d8fbd04295c097caf41eb",
+ "zh:e0877a5dac3de138e61eefa26b2f5a13305a17259779465899880f70e11314e0"
+ ]
+ },
+ "community": 73,
+ "community_name": "platform/.terraform.lock.hcl",
+ "file_type": "code",
+ "norm_label": "provider.registry.opentofu.org/hashicorp/helm",
+ "source_file": "bootstrap/platform/.terraform.lock.hcl",
+ "source_location": "L4"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_provider_registry_opentofu_org_hashicorp_kubernetes",
+ "label": "provider.registry.opentofu.org/hashicorp/kubernetes",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "version": "2.38.0",
+ "constraints": "~> 2.26",
+ "hashes": [
+ "h1:3VVgWmwdwXFT54fjrplnq+N4+4LZ3ZeLHAlr/0jhPiA=",
+ "h1:9LfHMXiMOboc6PhcEEelKjA3VL94l3MCj7RlbKO1PQM=",
+ "h1:AkW6iAcMGHS+P2BIc2nvQe3PZCHtDL4m6+80tEDLge0=",
+ "h1:HGkB9bCmUqMRcR5/bAUOSqPBsx6DAIEnbT1fZ8vzI78=",
+ "h1:eCV78xGlh9eay+62U4gAgCEMohuiBJXN9XTIZNn+rX4=",
+ "h1:ems+O2dA7atxMWpbtqIrsH7Oa+u+ERWSfpMaFnZPbh0=",
+ "h1:iEDf790HE0h3kz58zfj5IhTVODCDqWF1hISPHz210Uw=",
+ "h1:nY7J9jFXcsRINog0KYagiWZw1GVYF9D2JmtIB7Wnrao=",
+ "h1:yw6JHRONXmiTumaQfJBxl1ierFnNNT/Qio8+ttfMcG4=",
+ "zh:1096b41c4e5b2ee6c1980916fb9a8579bc1892071396f7a9432be058aabf3cbc",
+ "zh:2959fde9ae3d1deb5e317df0d7b02ea4977951ee6b9c4beb083c148ca8f3681c",
+ "zh:5082f98fcb3389c73339365f7df39fc6912bf2bd1a46d5f97778f441a67fd337",
+ "zh:620fd5d0fbc2d7a24ac6b420a4922e6093020358162a62fa8cbd37b2bac1d22e",
+ "zh:7f47c2de179bba35d759147c53082cad6c3449d19b0ec0c5a4ca8db5b06393e1",
+ "zh:89c3aa2a87e29febf100fd21cead34f9a4c0e6e7ae5f383b5cef815c677eb52a",
+ "zh:96eecc9f94938a0bc35b8a63d2c4a5f972395e44206620db06760b730d0471fc",
+ "zh:e15567c1095f898af173c281b66bffdc4f3068afdd9f84bb5b5b5521d9f29584",
+ "zh:ecc6b912629734a9a41a7cf1c4c73fb13b4b510afc9e7b2e0011d290bcd6d77f"
+ ]
+ },
+ "community": 73,
+ "community_name": "platform/.terraform.lock.hcl",
+ "file_type": "code",
+ "norm_label": "provider.registry.opentofu.org/hashicorp/kubernetes",
+ "source_file": "bootstrap/platform/.terraform.lock.hcl",
+ "source_location": "L31"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_provider_registry_opentofu_org_hashicorp_null",
+ "label": "provider.registry.opentofu.org/hashicorp/null",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "version": "3.3.0",
+ "constraints": "~> 3.2",
+ "hashes": [
+ "h1:0r7+t8CqzjfBgHgEiJGBCw+McEUdRXliMdF+Hk29d8o=",
+ "h1:EvvCOc4FJY3NitSm6BpzCcUPU53LayVCB/tPOxYmy7U=",
+ "h1:IDVnZXNCh0u4LfeSazc9z1v/kNz+92Eej7ePWV6SbyE=",
+ "h1:Iw2c0n9/4fS92N5WnJ3CCSwSUXZO953oHp9gj3pWCaM=",
+ "h1:JofS1og3hPN0ANjH+gNjxrJyyk6znodpC/F0qhp4eEk=",
+ "h1:QIBhsJ4+5+t0vFEgJwtezNLT31tsptFHOEyGAAhLR1o=",
+ "h1:RjjoL9qRPwNTwLdtJsYUaFvunbPM2/oujf2DcUcitOE=",
+ "h1:SSirA+z2VWTs1s+TCAx8vVKg9jh6cRjxqc8LYi2iQTI=",
+ "h1:U2XZc7hxcpcWp/C2S9LtuGUimhMOD2UT5xAEJJQQQaU=",
+ "h1:bPG+xE5UonkJv3y/Yn9Q7OfbP2qHU/QKiS31nwfe7S0=",
+ "h1:eODLdk/pARc4yxChAFtwseVmBr+r5fF9yGOvUhwGEyM=",
+ "h1:iFj1oM5ZPENspsPqK1kcvZzyP95jJE/CM0rlu0MfIss=",
+ "h1:mdu+qpyVmjDDLMrcL1JFy+cSyF58I3TFJwB5NssCZ58=",
+ "h1:tJmep6aoBeDH77XsYU65HAbi0RAjxtsmbCOXmnqT13U=",
+ "h1:tdMTn1evBLd6KCeLqWdQXCpF07hBu3n5rY6N3rXw3Rc=",
+ "zh:083dcc0bec53f8abfa3f2aa2ce9d732a9675338fd60ae7d61162e25db7cb08bf",
+ "zh:19f7456b5a2ad16595860974714bfdb25b87bc16356ea9d5c7453892aaa27864",
+ "zh:222c0ed1fed4e4c677ebe626104dbfdba66763e264de0d9c27c58ce60104ee69",
+ "zh:271711d6caa7dd5a4e9b79fe8c679fab61a840bcf80040a0f5ebb425d1b27d97",
+ "zh:5adcf35f30baaea13f80c2a2c774deb9369892719493049687e23476c9dff40f",
+ "zh:5bcfd19df16e73d7f0ad75bd09e2b3b86cf6700d09822d585d68304b71de1d97",
+ "zh:604edecf263e38674decb35bb4e0e048fdc951f26fa103c33065ff9728f0313b",
+ "zh:782acbfb4fa4807e273e588fe45b4aaea9dd0fd1136f76ec3200f6f4db3af8d6",
+ "zh:84411a596d528fe67294e5c1cfd0c2036b08802497bcc4215ce518924f3c9a4a",
+ "zh:85e79eecf3f5348975cffec3016b0eba3baf605646102d4348796ccd2df2e5f6",
+ "zh:95669535ca17aeefef307ebfd59ce6930953173baae5637e8cbbf0297ec7ad58",
+ "zh:d04d9b177747bfd66b4a45b5d911a2a7822aa8451f5e35621971fb7a4206b530",
+ "zh:e6d9c924475283e90833450a14a732f4deb6d9bb131db8f86ab856e894270836",
+ "zh:ebcab0c8a1334c86ed7cfa53f571a17ad6d27e9901f27a8854ea622a74b54bb6",
+ "zh:ef9c757bb2c83d2103811a3d86b6ec5be06b0ffc337b84db1582d023bce7cdcd"
+ ]
+ },
+ "community": 73,
+ "community_name": "platform/.terraform.lock.hcl",
+ "file_type": "code",
+ "norm_label": "provider.registry.opentofu.org/hashicorp/null",
+ "source_file": "bootstrap/platform/.terraform.lock.hcl",
+ "source_location": "L56"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_config_map_grafana_dashboards",
+ "label": "kubernetes_config_map.grafana_dashboards",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "for_each": "local.grafana_dashboard_files",
+ "data": {
+ "each.key": "file(\"${path.module}/grafana-dashboards/${each.key}\")"
+ },
+ "depends_on": [
+ "null_resource.prometheus_stack_readiness"
+ ]
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "kubernetes_config_map.grafana_dashboards",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L2076"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_kubeconfig_path",
+ "label": "var.kubeconfig_path",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "type": "string",
+ "default": "/home/jv/.kube/config"
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "var.kubeconfig_path",
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L1"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_gitops_ssh_key_path",
+ "label": "var.gitops_ssh_key_path",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "type": "string",
+ "default": "/home/jv/.ssh/id_ed25519"
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "var.gitops_ssh_key_path",
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L26"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_pod_network_cidr",
+ "label": "var.pod_network_cidr",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "type": "string",
+ "default": "10.244.0.0/16"
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "var.pod_network_cidr",
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L6"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_calico_operator_node_name",
+ "label": "var.calico_operator_node_name",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "type": "string",
+ "default": "debian"
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "var.calico_operator_node_name",
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L16"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_gitops_repo_url",
+ "label": "var.gitops_repo_url",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "type": "string",
+ "default": "ssh://git@192.168.100.73:32222/jv/my-homelab-configs.git"
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "var.gitops_repo_url",
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L21"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_calico_node_address_autodetection_cidrs",
+ "label": "var.calico_node_address_autodetection_cidrs",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "type": "list(string)",
+ "default": [
+ "192.168.100.0/24"
+ ]
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "var.calico_node_address_autodetection_cidrs",
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L11"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_metallb",
+ "label": "var.metallb",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "type": "object({ enabled = bool repository = string version = string namespace = string address_pool = list(string) l2_advertisement_enabled = bool pool_name = string })",
+ "default": {
+ "enabled": true,
+ "repository": "https://metallb.github.io/metallb",
+ "version": "0.16.0",
+ "namespace": "metallb-system",
+ "address_pool": [
+ "192.168.100.240-192.168.100.240"
+ ],
+ "l2_advertisement_enabled": true,
+ "pool_name": "homelab-lan"
+ }
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "var.metallb",
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L133"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_openebs",
+ "label": "var.openebs",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "type": "object({ repository = string version = string namespace = string retain_storage_class = string base_path = string })",
+ "default": {
+ "repository": "https://openebs.github.io/openebs",
+ "version": "4.3.3",
+ "namespace": "openebs",
+ "retain_storage_class": "openebs-hostpath-retain",
+ "base_path": "/data/openebs/local"
+ }
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "var.openebs",
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L45"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_metrics_server",
+ "label": "var.metrics_server",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "type": "object({ enabled = bool repository = string chart = string version = string namespace = string })",
+ "default": {
+ "enabled": true,
+ "repository": "https://kubernetes-sigs.github.io/metrics-server/",
+ "chart": "metrics-server",
+ "version": "3.13.1",
+ "namespace": "kube-system"
+ }
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "var.metrics_server",
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L115"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_kyverno",
+ "label": "var.kyverno",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "type": "object({ repository = string chart_version = string policies_version = string namespace = string })",
+ "default": {
+ "repository": "https://kyverno.github.io/kyverno/",
+ "chart_version": "3.8.1",
+ "policies_version": "3.8.0",
+ "namespace": "kyverno"
+ }
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "var.kyverno",
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L79"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_traefik",
+ "label": "var.traefik",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "type": "object({ enabled = bool repository = string chart_version = string namespace = string load_balancer_ip = string ingress_class = string })",
+ "default": {
+ "enabled": true,
+ "repository": "https://helm.traefik.io/traefik",
+ "chart_version": "40.2.0",
+ "namespace": "traefik",
+ "load_balancer_ip": "192.168.100.240",
+ "ingress_class": "traefik"
+ }
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "var.traefik",
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L155"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_nodelocal_dns",
+ "label": "var.nodelocal_dns",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "type": "object({ enabled = bool image = string local_ip = string cluster_dns_ip = string cluster_domain = string upstream_dns_servers = list(string) })",
+ "default": {
+ "enabled": false,
+ "image": "registry.k8s.io/dns/k8s-dns-node-cache:1.26.8",
+ "local_ip": "169.254.20.10",
+ "cluster_dns_ip": "10.96.0.10",
+ "cluster_domain": "cluster.local",
+ "upstream_dns_servers": [
+ "1.1.1.1",
+ "8.8.8.8"
+ ]
+ }
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "var.nodelocal_dns",
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L95"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_prometheus_stack_node_selector",
+ "label": "var.prometheus_stack_node_selector",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "description": "Node selector applied to kube-prometheus-stack control workloads so they stay off the control plane.",
+ "type": "map(string)",
+ "default": {
+ "kubernetes.io/os": "linux",
+ "homelab.dev/workload-class": "platform"
+ }
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "var.prometheus_stack_node_selector",
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L251"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_observability",
+ "label": "var.observability",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "type": "object({ namespace = string prometheus = object({ repository = string chart = string version = string retention = string storage_size = string alertmanager_storage_size = string grafana_storage_size = string remote_write_mimir_enabled = bool }) loki = object({ repository = string chart = string version = string storage",
+ "default": {
+ "namespace": "monitoring",
+ "prometheus": {
+ "repository": "https://prometheus-community.github.io/helm-charts",
+ "chart": "kube-prometheus-stack",
+ "version": "85.3.3",
+ "retention": "7d",
+ "storage_size": "15Gi",
+ "alertmanager_storage_size": "1Gi",
+ "grafana_storage_size": "2Gi",
+ "remote_write_mimir_enabled": true
+ },
+ "loki": {
+ "repository": "https://grafana.github.io/helm-charts",
+ "chart": "loki",
+ "version": "7.0.0",
+ "storage_size": "10Gi",
+ "retention_period": "168h"
+ },
+ "promtail": {
+ "repository": "https://grafana.github.io/helm-charts",
+ "chart": "promtail",
+ "version": "6.17.1"
+ },
+ "mimir": {
+ "enabled": false,
+ "repository": "https://grafana.github.io/helm-charts",
+ "chart": "mimir-distributed",
+ "version": "5.8.0",
+ "minio_storage_size": "10Gi",
+ "alertmanager_storage_size": "1Gi",
+ "ingester_storage_size": "4Gi",
+ "store_gateway_storage_size": "4Gi",
+ "compactor_storage_size": "4Gi"
+ }
+ }
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "var.observability",
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L175"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_argocd",
+ "label": "var.argocd",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "type": "object({ repository = string version = string namespace = string repo_secret_name = string })",
+ "default": {
+ "repository": "https://argoproj.github.io/argo-helm",
+ "version": "8.5.8",
+ "namespace": "argocd",
+ "repo_secret_name": "[redacted]"
+ }
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "var.argocd",
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L63"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_calico",
+ "label": "var.calico",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "type": "object({ repository = string version = string namespace = string })",
+ "default": {
+ "repository": "https://docs.tigera.io/calico/charts",
+ "version": "v3.32.0",
+ "namespace": "tigera-operator"
+ }
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "var.calico",
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L31"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_extra_helm_releases",
+ "label": "var.extra_helm_releases",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "type": "map(object({ repository = string chart = string version = string namespace = string create_namespace = bool timeout = number values_yaml = string set_values = map(string) }))",
+ "default": {
+ "tetragon": {
+ "repository": "https://helm.cilium.io",
+ "chart": "tetragon",
+ "version": "",
+ "namespace": "kube-system",
+ "create_namespace": false,
+ "timeout": 600,
+ "values_yaml": "<<-EOT tetragon: enableProcessCred: true enableProcessNs: true exportFilename: /var/run/cilium/tetragon/tetragon.log resources: requests: cpu: 100m memory: 128Mi limits: cpu: 500m memory: 512Mi export: resources: requests: cpu: 25m memory: 64Mi limits: cpu: 100m memory: 128Mi EOT",
+ "set_values": {}
+ }
+ }
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "var.extra_helm_releases",
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L260"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_argocd_ready",
+ "label": "null_resource.argocd_ready",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "depends_on": [
+ "helm_release.argocd"
+ ],
+ "triggers": {
+ "kubeconfig_path": "var.kubeconfig_path",
+ "namespace": "var.argocd.namespace",
+ "version": "var.argocd.version",
+ "node_selector": "jsonencode(local.argocd_node_selector)",
+ "controller_resource_profile": "10m|1|2Gi",
+ "readiness_check": "8"
+ }
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "null_resource.argocd_ready",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1216"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_calico_ready",
+ "label": "null_resource.calico_ready",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "depends_on": [
+ "helm_release.calico"
+ ],
+ "triggers": {
+ "kubeconfig_path": "var.kubeconfig_path",
+ "calico_version": "var.calico.version",
+ "pod_network_cidr": "var.pod_network_cidr",
+ "calico_node_address_autodetection_cidrs": "join(\",\", var.calico_node_address_autodetection_cidrs)"
+ }
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "null_resource.calico_ready",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L446"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_calico_helm_recovery",
+ "label": "null_resource.calico_helm_recovery",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "depends_on": [
+ "helm_release.calico_crds"
+ ],
+ "triggers": {
+ "kubeconfig_path": "var.kubeconfig_path",
+ "namespace": "var.calico.namespace",
+ "release_name": "calico",
+ "release_version": "var.calico.version"
+ }
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "null_resource.calico_helm_recovery",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L287"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_prometheus_stack_helm_recovery",
+ "label": "null_resource.prometheus_stack_helm_recovery",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "depends_on": [
+ "helm_release.loki",
+ "helm_release.mimir"
+ ],
+ "triggers": {
+ "kubeconfig_path": "var.kubeconfig_path",
+ "namespace": "var.observability.namespace",
+ "release_name": "prometheus-stack",
+ "release_version": "var.observability.prometheus.version"
+ }
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "null_resource.prometheus_stack_helm_recovery",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1751"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_metallb_l2_config",
+ "label": "null_resource.metallb_l2_config",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "for_each": "var.metallb.enabled && length(var.metallb.address_pool) > 0 ? { enabled = true } : {}",
+ "depends_on": [
+ "helm_release.metallb"
+ ],
+ "triggers": {
+ "kubeconfig_path": "var.kubeconfig_path",
+ "manifest_hash": "sha256(local.metallb_l2_manifests)"
+ }
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "null_resource.metallb_l2_config",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L907"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_metrics_server_ready",
+ "label": "null_resource.metrics_server_ready",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "for_each": "var.metrics_server.enabled ? { enabled = true } : {}",
+ "depends_on": [
+ "helm_release.metrics_server"
+ ],
+ "triggers": {
+ "kubeconfig_path": "var.kubeconfig_path",
+ "namespace": "var.metrics_server.namespace",
+ "version": "var.metrics_server.version"
+ }
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "null_resource.metrics_server_ready",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L540"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_prometheus_stack_readiness",
+ "label": "null_resource.prometheus_stack_readiness",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "depends_on": [
+ "helm_release.prometheus_stack"
+ ],
+ "triggers": {
+ "kubeconfig_path": "var.kubeconfig_path",
+ "namespace": "var.observability.namespace",
+ "release_version": "var.observability.prometheus.version"
+ }
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "null_resource.prometheus_stack_readiness",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L2033"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_metrics_service",
+ "label": "kubernetes_manifest.nodelocal_dns_metrics_service",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "for_each": "var.nodelocal_dns.enabled ? { enabled = true } : {}",
+ "depends_on": [
+ "kubernetes_manifest.nodelocal_dns_daemonset"
+ ],
+ "manifest": {
+ "apiVersion": "v1",
+ "kind": "Service",
+ "metadata": {
+ "name": "node-local-dns",
+ "namespace": "kube-system",
+ "annotations": {
+ "prometheus.io/port": "9253",
+ "prometheus.io/scrape": "true"
+ },
+ "labels": {
+ "k8s-app": "node-local-dns"
+ }
+ },
+ "spec": {
+ "clusterIP": "None",
+ "ports": [
+ {
+ "name": "metrics",
+ "port": 9253,
+ "targetPort": 9253
+ }
+ ],
+ "selector": {
+ "k8s-app": "node-local-dns"
+ }
+ }
+ }
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "kubernetes_manifest.nodelocal_dns_metrics_service",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L826"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_daemonset",
+ "label": "kubernetes_manifest.nodelocal_dns_daemonset",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "for_each": "var.nodelocal_dns.enabled ? { enabled = true } : {}",
+ "depends_on": [
+ "kubernetes_manifest.nodelocal_dns_service_account",
+ "kubernetes_manifest.nodelocal_dns_upstream_service",
+ "kubernetes_manifest.nodelocal_dns_config_map"
+ ],
+ "manifest": {
+ "apiVersion": "apps/v1",
+ "kind": "DaemonSet",
+ "metadata": {
+ "name": "node-local-dns",
+ "namespace": "kube-system",
+ "labels": {
+ "k8s-app": "node-local-dns",
+ "kubernetes.io/cluster-service": "true",
+ "addonmanager.kubernetes.io/mode": "Reconcile"
+ }
+ },
+ "spec": {
+ "updateStrategy": {
+ "rollingUpdate": {
+ "maxUnavailable": "10%"
+ }
+ },
+ "selector": {
+ "matchLabels": {
+ "k8s-app": "node-local-dns"
+ }
+ },
+ "template": {
+ "metadata": {
+ "labels": {
+ "k8s-app": "node-local-dns"
+ },
+ "annotations": {
+ "prometheus.io/port": "9253",
+ "prometheus.io/scrape": "true"
+ }
+ },
+ "spec": {
+ "priorityClassName": "system-node-critical",
+ "serviceAccountName": "node-local-dns",
+ "hostNetwork": true,
+ "dnsPolicy": "Default",
+ "nodeSelector": {
+ "kubernetes.io/os": "linux"
+ },
+ "tolerations": [
+ {
+ "key": "\"CriticalAddonsOnly\"",
+ "operator": "\"Exists\""
+ },
+ {
+ "effect": "\"NoExecute\"",
+ "operator": "\"Exists\""
+ },
+ {
+ "effect": "\"NoSchedule\"",
+ "operator": "\"Exists\""
+ }
+ ],
+ "containers": [
+ {
+ "name": "\"node-cache\"",
+ "image": "var.nodelocal_dns.image",
+ "resources": "{ requests = { cpu = \"25m\" memory = \"5Mi\" } }",
+ "args": "[ \"-localip\", \"${var.nodelocal_dns.local_ip},${var.nodelocal_dns.cluster_dns_ip}\", \"-conf\", \"/etc/Corefile\", \"-upstreamsvc\", \"kube-dns-upstream\", ]",
+ "securityContext": "{ capabilities = { add = [\"NET_ADMIN\"] } }",
+ "ports": "[ { containerPort = 53 name = \"dns\" protocol = \"UDP\" }, { containerPort = 53 name = \"dns-tcp\" protocol = \"TCP\" }, { containerPort = 9253 name = \"metrics\" protocol = \"TCP\" }, ]",
+ "livenessProbe": "{ httpGet = { host = var.nodelocal_dns.local_ip path = \"/health\" port = 8080 } initialDelaySeconds = 60 timeoutSeconds = 5 }",
+ "volumeMounts": "[ { mountPath = \"/run/xtables.lock\" name = \"xtables-lock\" }, { mountPath = \"/etc/coredns\" name = \"config-volume\" }, { mountPath = \"/etc/kube-dns\" name = \"kube-dns-config\" }, ]"
+ }
+ ],
+ "volumes": [
+ {
+ "name": "\"xtables-lock\"",
+ "hostPath": "{ path = \"/run/xtables.lock\" type = \"FileOrCreate\" }"
+ },
+ {
+ "name": "\"kube-dns-config\"",
+ "configMap": "{ name = \"kube-dns\" optional = true }"
+ },
+ {
+ "name": "\"config-volume\"",
+ "configMap": "{ name = \"node-local-dns\" items = [ { key = \"Corefile\" path = \"Corefile.base\" }, ] }"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "kubernetes_manifest.nodelocal_dns_daemonset",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L663"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_namespace_v1_monitoring",
+ "label": "kubernetes_namespace_v1.monitoring",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "depends_on": [
+ "kubernetes_storage_class_v1.openebs_hostpath_retain"
+ ]
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "kubernetes_namespace_v1.monitoring",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1078"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_argocd_private_repo",
+ "label": "null_resource.argocd_private_repo",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "depends_on": [
+ "null_resource.argocd_ready"
+ ],
+ "triggers": {
+ "kubeconfig_path": "var.kubeconfig_path",
+ "namespace": "var.argocd.namespace",
+ "secret_name": "[redacted]",
+ "repo_url": "var.gitops_repo_url",
+ "ssh_key_path": "var.gitops_ssh_key_path",
+ "scan_revision": "timestamp()"
+ }
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "null_resource.argocd_private_repo",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1295"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_config_map",
+ "label": "kubernetes_manifest.nodelocal_dns_config_map",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "for_each": "var.nodelocal_dns.enabled ? { enabled = true } : {}",
+ "depends_on": [
+ "null_resource.calico_ready"
+ ],
+ "manifest": {
+ "apiVersion": "v1",
+ "kind": "ConfigMap",
+ "metadata": {
+ "name": "node-local-dns",
+ "namespace": "kube-system",
+ "labels": {
+ "addonmanager.kubernetes.io/mode": "Reconcile",
+ "app.kubernetes.io/managed-by": "opentofu",
+ "app.kubernetes.io/name": "node-local-dns",
+ "app.kubernetes.io/part-of": "nodelocal-dns"
+ }
+ },
+ "data": {
+ "Corefile": "local.nodelocal_dns_corefile"
+ }
+ }
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "kubernetes_manifest.nodelocal_dns_config_map",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L639"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_upstream_service",
+ "label": "kubernetes_manifest.nodelocal_dns_upstream_service",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "for_each": "var.nodelocal_dns.enabled ? { enabled = true } : {}",
+ "depends_on": [
+ "null_resource.calico_ready"
+ ],
+ "manifest": {
+ "apiVersion": "v1",
+ "kind": "Service",
+ "metadata": {
+ "name": "kube-dns-upstream",
+ "namespace": "kube-system",
+ "labels": {
+ "k8s-app": "kube-dns",
+ "kubernetes.io/cluster-service": "true",
+ "addonmanager.kubernetes.io/mode": "Reconcile",
+ "kubernetes.io/name": "KubeDNSUpstream"
+ }
+ },
+ "spec": {
+ "ports": [
+ {
+ "name": "dns",
+ "port": 53,
+ "protocol": "UDP",
+ "targetPort": 53
+ },
+ {
+ "name": "dns-tcp",
+ "port": 53,
+ "protocol": "TCP",
+ "targetPort": 53
+ }
+ ],
+ "selector": {
+ "k8s-app": "kube-dns"
+ }
+ }
+ }
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "kubernetes_manifest.nodelocal_dns_upstream_service",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L599"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_service_account",
+ "label": "kubernetes_manifest.nodelocal_dns_service_account",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "attributes": {
+ "for_each": "var.nodelocal_dns.enabled ? { enabled = true } : {}",
+ "depends_on": [
+ "null_resource.calico_ready"
+ ],
+ "manifest": {
+ "apiVersion": "v1",
+ "kind": "ServiceAccount",
+ "metadata": {
+ "name": "node-local-dns",
+ "namespace": "kube-system",
+ "labels": {
+ "kubernetes.io/cluster-service": "true",
+ "addonmanager.kubernetes.io/mode": "Reconcile",
+ "app.kubernetes.io/managed-by": "opentofu",
+ "app.kubernetes.io/part-of": "nodelocal-dns",
+ "app.kubernetes.io/name": "node-local-dns",
+ "homelab.dev/platform-component": "nodelocal-dns",
+ "homelab.dev/platform-component-id": "dns-cache"
+ }
+ }
+ }
+ },
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "kubernetes_manifest.nodelocal_dns_service_account",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L575"
+ },
+ {
+ "id": "bootstrap_platform_main",
+ "label": "platform/main.tf",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "platform/main.tf",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": null,
+ "type": "terraform_file"
+ },
+ {
+ "id": "bootstrap_platform_variables",
+ "label": "platform/variables.tf",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "platform/variables.tf",
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": null,
+ "type": "terraform_file"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_directory",
+ "label": "Terraform module: bootstrap/platform",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "language": "terraform",
+ "norm_label": "terraform module: bootstrap/platform",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": null,
+ "type": "module"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_argocd_component_affinity",
+ "label": "local.argocd_component_affinity",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "local.argocd_component_affinity",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L140"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_argocd_component_label_values",
+ "label": "local.argocd_component_label_values",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "local.argocd_component_label_values",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L124"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_argocd_component_match_labels",
+ "label": "local.argocd_component_match_labels",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "local.argocd_component_match_labels",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L134"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_argocd_component_topology_spread_constraints",
+ "label": "local.argocd_component_topology_spread_constraints",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "local.argocd_component_topology_spread_constraints",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L158"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_argocd_node_selector",
+ "label": "local.argocd_node_selector",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "local.argocd_node_selector",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L111"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_grafana_dashboard_files",
+ "label": "local.grafana_dashboard_files",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "local.grafana_dashboard_files",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L110"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kube_state_metrics_affinity",
+ "label": "local.kube_state_metrics_affinity",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "local.kube_state_metrics_affinity",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L239"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kube_state_metrics_match_labels",
+ "label": "local.kube_state_metrics_match_labels",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "local.kube_state_metrics_match_labels",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L218"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kube_state_metrics_topology_spread_constraints",
+ "label": "local.kube_state_metrics_topology_spread_constraints",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "local.kube_state_metrics_topology_spread_constraints",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L266"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kyverno_component_label_values",
+ "label": "local.kyverno_component_label_values",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "local.kyverno_component_label_values",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L171"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kyverno_component_match_labels",
+ "label": "local.kyverno_component_match_labels",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "local.kyverno_component_match_labels",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L178"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kyverno_component_pod_anti_affinity",
+ "label": "local.kyverno_component_pod_anti_affinity",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "local.kyverno_component_pod_anti_affinity",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L184"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kyverno_component_topology_spread_constraints",
+ "label": "local.kyverno_component_topology_spread_constraints",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "local.kyverno_component_topology_spread_constraints",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L200"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kyverno_node_selector",
+ "label": "local.kyverno_node_selector",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "local.kyverno_node_selector",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L115"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_metallb_ip_address_pool_manifest",
+ "label": "local.metallb_ip_address_pool_manifest",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "local.metallb_ip_address_pool_manifest",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L79"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_metallb_l2_advertisement_manifest",
+ "label": "local.metallb_l2_advertisement_manifest",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "local.metallb_l2_advertisement_manifest",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L91"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_metallb_l2_manifests",
+ "label": "local.metallb_l2_manifests",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "local.metallb_l2_manifests",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L103"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_nodelocal_dns_corefile",
+ "label": "local.nodelocal_dns_corefile",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "local.nodelocal_dns_corefile",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L30"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_platform_topology_key",
+ "label": "local.platform_topology_key",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "local.platform_topology_key",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L108"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_prometheus_operator_affinity",
+ "label": "local.prometheus_operator_affinity",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "local.prometheus_operator_affinity",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L223"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_prometheus_operator_match_labels",
+ "label": "local.prometheus_operator_match_labels",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "local.prometheus_operator_match_labels",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L213"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_prometheus_operator_topology_spread_constraints",
+ "label": "local.prometheus_operator_topology_spread_constraints",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "local.prometheus_operator_topology_spread_constraints",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L255"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_prometheus_stack_node_selector",
+ "label": "local.prometheus_stack_node_selector",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "local.prometheus_stack_node_selector",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L109"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_traefik_node_selector",
+ "label": "local.traefik_node_selector",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "local.traefik_node_selector",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L119"
+ },
+ {
+ "id": "terraform_bootstrap_platform_6ccb56e24d8dc66f_provider_helm",
+ "label": "provider.helm",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 3,
+ "community_name": "platform/main.tf",
+ "file_type": "code",
+ "norm_label": "provider.helm",
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L23"
+ },
+ {
+ "id": "bootstrap_platform_terraform_lock",
+ "label": "platform/.terraform.lock.hcl",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/platform",
+ "community": 73,
+ "community_name": "platform/.terraform.lock.hcl",
+ "file_type": "code",
+ "norm_label": "platform/.terraform.lock.hcl",
+ "source_file": "bootstrap/platform/.terraform.lock.hcl",
+ "source_location": null,
+ "type": "terraform_file"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_provider_registry_opentofu_org_hashicorp_null",
+ "label": "provider.registry.opentofu.org/hashicorp/null",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "version": "3.3.0",
+ "constraints": "~> 3.2",
+ "hashes": [
+ "h1:0r7+t8CqzjfBgHgEiJGBCw+McEUdRXliMdF+Hk29d8o=",
+ "h1:EvvCOc4FJY3NitSm6BpzCcUPU53LayVCB/tPOxYmy7U=",
+ "h1:IDVnZXNCh0u4LfeSazc9z1v/kNz+92Eej7ePWV6SbyE=",
+ "h1:Iw2c0n9/4fS92N5WnJ3CCSwSUXZO953oHp9gj3pWCaM=",
+ "h1:JofS1og3hPN0ANjH+gNjxrJyyk6znodpC/F0qhp4eEk=",
+ "h1:QIBhsJ4+5+t0vFEgJwtezNLT31tsptFHOEyGAAhLR1o=",
+ "h1:RjjoL9qRPwNTwLdtJsYUaFvunbPM2/oujf2DcUcitOE=",
+ "h1:SSirA+z2VWTs1s+TCAx8vVKg9jh6cRjxqc8LYi2iQTI=",
+ "h1:U2XZc7hxcpcWp/C2S9LtuGUimhMOD2UT5xAEJJQQQaU=",
+ "h1:bPG+xE5UonkJv3y/Yn9Q7OfbP2qHU/QKiS31nwfe7S0=",
+ "h1:eODLdk/pARc4yxChAFtwseVmBr+r5fF9yGOvUhwGEyM=",
+ "h1:iFj1oM5ZPENspsPqK1kcvZzyP95jJE/CM0rlu0MfIss=",
+ "h1:mdu+qpyVmjDDLMrcL1JFy+cSyF58I3TFJwB5NssCZ58=",
+ "h1:tJmep6aoBeDH77XsYU65HAbi0RAjxtsmbCOXmnqT13U=",
+ "h1:tdMTn1evBLd6KCeLqWdQXCpF07hBu3n5rY6N3rXw3Rc=",
+ "zh:083dcc0bec53f8abfa3f2aa2ce9d732a9675338fd60ae7d61162e25db7cb08bf",
+ "zh:19f7456b5a2ad16595860974714bfdb25b87bc16356ea9d5c7453892aaa27864",
+ "zh:222c0ed1fed4e4c677ebe626104dbfdba66763e264de0d9c27c58ce60104ee69",
+ "zh:271711d6caa7dd5a4e9b79fe8c679fab61a840bcf80040a0f5ebb425d1b27d97",
+ "zh:5adcf35f30baaea13f80c2a2c774deb9369892719493049687e23476c9dff40f",
+ "zh:5bcfd19df16e73d7f0ad75bd09e2b3b86cf6700d09822d585d68304b71de1d97",
+ "zh:604edecf263e38674decb35bb4e0e048fdc951f26fa103c33065ff9728f0313b",
+ "zh:782acbfb4fa4807e273e588fe45b4aaea9dd0fd1136f76ec3200f6f4db3af8d6",
+ "zh:84411a596d528fe67294e5c1cfd0c2036b08802497bcc4215ce518924f3c9a4a",
+ "zh:85e79eecf3f5348975cffec3016b0eba3baf605646102d4348796ccd2df2e5f6",
+ "zh:95669535ca17aeefef307ebfd59ce6930953173baae5637e8cbbf0297ec7ad58",
+ "zh:d04d9b177747bfd66b4a45b5d911a2a7822aa8451f5e35621971fb7a4206b530",
+ "zh:e6d9c924475283e90833450a14a732f4deb6d9bb131db8f86ab856e894270836",
+ "zh:ebcab0c8a1334c86ed7cfa53f571a17ad6d27e9901f27a8854ea622a74b54bb6",
+ "zh:ef9c757bb2c83d2103811a3d86b6ec5be06b0ffc337b84db1582d023bce7cdcd"
+ ]
+ },
+ "community": 100,
+ "community_name": "provisioning/.terraform.lock.hcl",
+ "file_type": "code",
+ "norm_label": "provider.registry.opentofu.org/hashicorp/null",
+ "source_file": "bootstrap/provisioning/.terraform.lock.hcl",
+ "source_location": "L4"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_seal",
+ "label": "null_resource.pimox_template_vm_seal",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "count": "var.pimox_template_builder_enabled ? 1 : 0",
+ "depends_on": [
+ "null_resource.pimox_template_vm_create"
+ ],
+ "triggers": {
+ "pimox_host": "var.pimox_host",
+ "pimox_user": "var.pimox_user",
+ "pimox_key_path": "var.pimox_ssh_key_path",
+ "pimox_qm_bin": "var.pimox_qm_bin",
+ "guest_host": "var.pimox_template_build_host",
+ "guest_user": "var.pimox_template_build_user",
+ "guest_key_path": "var.pimox_template_build_ssh_key_path",
+ "known_hosts_file": "\"${local.repo_root}/.lab/pimox-template-known_hosts\"",
+ "seal_version": "5",
+ "create_id": "null_resource.pimox_template_vm_create[0].id",
+ "config_hash": "local.config_hash",
+ "timeout": "var.pimox_template_build_timeout",
+ "timeout_seconds": "tostring(var.pimox_template_build_timeout_seconds)",
+ "ssh_timeout_seconds": "tostring(var.pimox_template_guest_ssh_timeout_seconds)",
+ "guest_ip_prefix": "var.pimox_template_guest_ip_prefix",
+ "vmid": "tostring(var.pimox_template_vmid)"
+ }
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "null_resource.pimox_template_vm_seal",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L287"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_finalize",
+ "label": "null_resource.pimox_template_vm_finalize",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "count": "var.pimox_template_builder_enabled ? 1 : 0",
+ "depends_on": [
+ "null_resource.pimox_template_vm_seal"
+ ],
+ "triggers": {
+ "pimox_host": "var.pimox_host",
+ "pimox_user": "var.pimox_user",
+ "ssh_key_path": "var.pimox_ssh_key_path",
+ "qm_bin": "var.pimox_qm_bin",
+ "finalizer_version": "5",
+ "config_hash": "local.config_hash",
+ "seal_id": "null_resource.pimox_template_vm_seal[0].id",
+ "vmid": "tostring(var.pimox_template_vmid)"
+ }
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "null_resource.pimox_template_vm_finalize",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L466"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_create",
+ "label": "null_resource.pimox_template_vm_create",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "count": "var.pimox_template_builder_enabled ? 1 : 0",
+ "depends_on": [
+ "null_resource.provisioning_host"
+ ],
+ "triggers": {
+ "pimox_host": "var.pimox_host",
+ "pimox_user": "var.pimox_user",
+ "ssh_key_path": "var.pimox_ssh_key_path",
+ "qm_bin": "var.pimox_qm_bin",
+ "builder_version": "6",
+ "config_hash": "local.config_hash",
+ "vmid": "tostring(var.pimox_template_vmid)",
+ "name": "var.pimox_template_name",
+ "cores": "tostring(var.pimox_template_cores)",
+ "memory": "tostring(var.pimox_template_memory)",
+ "bridge": "var.pimox_template_bridge",
+ "net0": "local.pimox_template_net0",
+ "kvm_cpuset": "var.pimox_template_kvm_cpuset",
+ "scsi0": "var.pimox_template_scsi0",
+ "efidisk0": "var.pimox_template_efidisk0"
+ }
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "null_resource.pimox_template_vm_create",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L126"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_kvm_cpuset",
+ "label": "var.pimox_template_kvm_cpuset",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "",
+ "description": "Optional Pimox host CPU set used when launching the generated KVM command. Jeannie defaults this to 4-7 for the Orange Pi 5 Plus."
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.pimox_template_kvm_cpuset",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L212"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_debian_netboot_base_url",
+ "label": "var.debian_netboot_base_url",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": ""
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.debian_netboot_base_url",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L55"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_build_host",
+ "label": "var.pimox_template_build_host",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": ""
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.pimox_template_build_host",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L243"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_mac",
+ "label": "var.pimox_template_mac",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": ""
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.pimox_template_mac",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L223"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_template_user_password_hash",
+ "label": "var.template_user_password_hash",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "*"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.template_user_password_hash",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L105"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_debian_mirror_directory",
+ "label": "var.debian_mirror_directory",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "/debian"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.debian_mirror_directory",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L50"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_template_disk",
+ "label": "var.template_disk",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "/dev/sda"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.template_disk",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L90"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_ssh_key_path",
+ "label": "var.pimox_ssh_key_path",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "/home/jv/.ssh/id_ed25519"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.pimox_ssh_key_path",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L182"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_build_ssh_key_path",
+ "label": "var.pimox_template_build_ssh_key_path",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "/home/jv/.ssh/id_ed25519"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.pimox_template_build_ssh_key_path",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L253"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_provisioning_ssh_key_path",
+ "label": "var.provisioning_ssh_key_path",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "/home/jv/.ssh/id_ed25519"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.provisioning_ssh_key_path",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L11"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_template_user_ssh_public_key_path",
+ "label": "var.template_user_ssh_public_key_path",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "/home/jv/.ssh/id_ed25519.pub"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.template_user_ssh_public_key_path",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L110"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_provisioning_install_dir",
+ "label": "var.provisioning_install_dir",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "/opt/homelab-provisioning"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.provisioning_install_dir",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L16"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_qm_bin",
+ "label": "var.pimox_qm_bin",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "/usr/sbin/qm"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.pimox_qm_bin",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L187"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_guest_ip_prefix",
+ "label": "var.pimox_template_guest_ip_prefix",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "192.168.100."
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.pimox_template_guest_ip_prefix",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L273"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_proxy_dhcp_range",
+ "label": "var.proxy_dhcp_range",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "192.168.100.0,proxy"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.proxy_dhcp_range",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L25"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_http_host",
+ "label": "var.http_host",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "192.168.100.73"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.http_host",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L30"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_provisioning_host",
+ "label": "var.provisioning_host",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "192.168.100.73"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.provisioning_host",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L1"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_registry_endpoint",
+ "label": "var.registry_endpoint",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "192.168.100.73:30500"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.registry_endpoint",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L149"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_host",
+ "label": "var.pimox_host",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "192.168.100.80"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.pimox_host",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L172"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_build_timeout",
+ "label": "var.pimox_template_build_timeout",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "60m"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.pimox_template_build_timeout",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L258"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_template_user_full_name",
+ "label": "var.template_user_full_name",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "Homelab Operator"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.template_user_full_name",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L100"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_timezone",
+ "label": "var.timezone",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "UTC"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.timezone",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L130"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_debian_mirror_host",
+ "label": "var.debian_mirror_host",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "deb.debian.org"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.debian_mirror_host",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L45"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_name",
+ "label": "var.pimox_template_name",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "debian13-arm64-k8s-template"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.pimox_template_name",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L197"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_locale",
+ "label": "var.locale",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "en_US.UTF-8"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.locale",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L120"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_pxe_boot_file",
+ "label": "var.pxe_boot_file",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "grubaa64.efi"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.pxe_boot_file",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L60"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_template_hostname",
+ "label": "var.template_hostname",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "homelab-arm64-template"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.template_hostname",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L75"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_clone_hostname_prefix",
+ "label": "var.clone_hostname_prefix",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "homelab-worker"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.clone_hostname_prefix",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L80"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_template_domain",
+ "label": "var.template_domain",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "homelab.local"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.template_domain",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L85"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_build_user",
+ "label": "var.pimox_template_build_user",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "jv"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.pimox_template_build_user",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L248"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_user",
+ "label": "var.pimox_user",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "jv"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.pimox_user",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L177"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_provisioning_user",
+ "label": "var.provisioning_user",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "jv"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.provisioning_user",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L6"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_template_user",
+ "label": "var.template_user",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "jv"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.template_user",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L95"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_efidisk0",
+ "label": "var.pimox_template_efidisk0",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "local:1,efitype=4m,pre-enrolled-keys=1"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.pimox_template_efidisk0",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L233"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_scsi0",
+ "label": "var.pimox_template_scsi0",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "local:15"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.pimox_template_scsi0",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L228"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_debian_suite",
+ "label": "var.debian_suite",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "trixie"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.debian_suite",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L40"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_keyboard",
+ "label": "var.keyboard",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "us"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.keyboard",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L125"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_kubernetes_minor_version",
+ "label": "var.kubernetes_minor_version",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "v1.36"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.kubernetes_minor_version",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L135"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_bridge",
+ "label": "var.pimox_template_bridge",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string",
+ "default": "vmbr0"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.pimox_template_bridge",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L218"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_pxe_default_menu_entry",
+ "label": "var.pxe_default_menu_entry",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "number",
+ "default": 0
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.pxe_default_menu_entry",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L70"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_pxe_menu_timeout",
+ "label": "var.pxe_menu_timeout",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "number",
+ "default": 10
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.pxe_menu_timeout",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L65"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_cores",
+ "label": "var.pimox_template_cores",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "number",
+ "default": 2
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.pimox_template_cores",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L202"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_guest_ssh_timeout_seconds",
+ "label": "var.pimox_template_guest_ssh_timeout_seconds",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "number",
+ "default": 300
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.pimox_template_guest_ssh_timeout_seconds",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L268"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_build_timeout_seconds",
+ "label": "var.pimox_template_build_timeout_seconds",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "number",
+ "default": 3600
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.pimox_template_build_timeout_seconds",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L263"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_http_port",
+ "label": "var.http_port",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "number",
+ "default": 8088
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.http_port",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L35"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_memory",
+ "label": "var.pimox_template_memory",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "number",
+ "default": 8192
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.pimox_template_memory",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L207"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_vmid",
+ "label": "var.pimox_template_vmid",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "number",
+ "default": 9000
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.pimox_template_vmid",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L192"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_node_dns_servers",
+ "label": "var.node_dns_servers",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "list(string)",
+ "default": [
+ "1.1.1.1",
+ "8.8.8.8"
+ ]
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.node_dns_servers",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L154"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_kernel_cgroup_boot_options",
+ "label": "var.kernel_cgroup_boot_options",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "list(string)",
+ "default": [
+ "systemd.unified_cgroup_hierarchy=1",
+ "cgroup_enable=memory",
+ "cgroup_memory=1"
+ ]
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.kernel_cgroup_boot_options",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L140"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_additional_template_packages",
+ "label": "var.additional_template_packages",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "list(string)",
+ "default": []
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.additional_template_packages",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L162"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_template_user_ssh_authorized_keys",
+ "label": "var.template_user_ssh_authorized_keys",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "list(string)",
+ "default": []
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.template_user_ssh_authorized_keys",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L115"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_builder_enabled",
+ "label": "var.pimox_template_builder_enabled",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "bool",
+ "default": false
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.pimox_template_builder_enabled",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L167"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_replace_existing",
+ "label": "var.pimox_template_replace_existing",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "bool",
+ "default": false
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.pimox_template_replace_existing",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L238"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_provisioning_host",
+ "label": "null_resource.provisioning_host",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "triggers": {
+ "host": "var.provisioning_host",
+ "user": "var.provisioning_user",
+ "ssh_key_path": "var.provisioning_ssh_key_path",
+ "install_dir": "var.provisioning_install_dir",
+ "tftp_root": "local.tftp_root",
+ "http_root": "local.http_root",
+ "netboot_base_url": "local.debian_netboot_base_url",
+ "pxe_boot_file": "var.pxe_boot_file",
+ "http_port": "tostring(var.http_port)",
+ "config_hash": "local.config_hash",
+ "provisioning_layer": "1",
+ "provisioner_version": "4"
+ }
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "null_resource.provisioning_host",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L538"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_var_provisioning_interface",
+ "label": "var.provisioning_interface",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "type": "string"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "var.provisioning_interface",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L21"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_output_pxe_rescue_url",
+ "label": "output.pxe_rescue_url",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "value": "\"${local.provisioning_http_base_url}/rescue/\""
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "output.pxe_rescue_url",
+ "source_file": "bootstrap/provisioning/outputs.tf",
+ "source_location": "L9"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_output_preseed_url",
+ "label": "output.preseed_url",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "value": "local.preseed_url"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "output.preseed_url",
+ "source_file": "bootstrap/provisioning/outputs.tf",
+ "source_location": "L5"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_output_provisioning_http_base_url",
+ "label": "output.provisioning_http_base_url",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "value": "local.provisioning_http_base_url"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "output.provisioning_http_base_url",
+ "source_file": "bootstrap/provisioning/outputs.tf",
+ "source_location": "L1"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_output_tftp_root",
+ "label": "output.tftp_root",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "value": "local.tftp_root"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "output.tftp_root",
+ "source_file": "bootstrap/provisioning/outputs.tf",
+ "source_location": "L17"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_output_pimox_template_vmid",
+ "label": "output.pimox_template_vmid",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "value": "var.pimox_template_builder_enabled ? var.pimox_template_vmid : null"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "output.pimox_template_vmid",
+ "source_file": "bootstrap/provisioning/outputs.tf",
+ "source_location": "L21"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_output_pxe_boot_file",
+ "label": "output.pxe_boot_file",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "attributes": {
+ "value": "var.pxe_boot_file"
+ },
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "output.pxe_boot_file",
+ "source_file": "bootstrap/provisioning/outputs.tf",
+ "source_location": "L13"
+ },
+ {
+ "id": "bootstrap_provisioning_main",
+ "label": "provisioning/main.tf",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "provisioning/main.tf",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": null,
+ "type": "terraform_file"
+ },
+ {
+ "id": "bootstrap_provisioning_outputs",
+ "label": "outputs.tf",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "outputs.tf",
+ "source_file": "bootstrap/provisioning/outputs.tf",
+ "source_location": null,
+ "type": "terraform_file"
+ },
+ {
+ "id": "bootstrap_provisioning_variables",
+ "label": "provisioning/variables.tf",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "provisioning/variables.tf",
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": null,
+ "type": "terraform_file"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_directory",
+ "label": "Terraform module: bootstrap/provisioning",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "language": "terraform",
+ "norm_label": "terraform module: bootstrap/provisioning",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": null,
+ "type": "module"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_local_config_hash",
+ "label": "local.config_hash",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.config_hash",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L114"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_local_debian_netboot_base_url",
+ "label": "local.debian_netboot_base_url",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.debian_netboot_base_url",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L16"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_local_dnsmasq_conf",
+ "label": "local.dnsmasq_conf",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.dnsmasq_conf",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L55"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_local_golden_node_prepare",
+ "label": "local.golden_node_prepare",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.golden_node_prepare",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L98"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_local_grub_cfg",
+ "label": "local.grub_cfg",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.grub_cfg",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L67"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_local_http_root",
+ "label": "local.http_root",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.http_root",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L14"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_local_kernel_cgroup_boot_options",
+ "label": "local.kernel_cgroup_boot_options",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.kernel_cgroup_boot_options",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L48"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_local_nginx_conf",
+ "label": "local.nginx_conf",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.nginx_conf",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L62"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_local_node_dns_servers",
+ "label": "local.node_dns_servers",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.node_dns_servers",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L47"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_local_pimox_template_net0",
+ "label": "local.pimox_template_net0",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.pimox_template_net0",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L49"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_local_prepare_template",
+ "label": "local.prepare_template",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.prepare_template",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L107"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_local_prepare_template_script_url",
+ "label": "local.prepare_template_script_url",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.prepare_template_script_url",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L53"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_local_preseed_cfg",
+ "label": "local.preseed_cfg",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.preseed_cfg",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L81"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_local_preseed_url",
+ "label": "local.preseed_url",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.preseed_url",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L17"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_local_provisioning_http_base_url",
+ "label": "local.provisioning_http_base_url",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.provisioning_http_base_url",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L51"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_local_provisioning_script_url",
+ "label": "local.provisioning_script_url",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.provisioning_script_url",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L52"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_local_repo_root",
+ "label": "local.repo_root",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.repo_root",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L12"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_local_rescue_index",
+ "label": "local.rescue_index",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.rescue_index",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L75"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_local_ssh_authorized_keys_base64",
+ "label": "local.ssh_authorized_keys_base64",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.ssh_authorized_keys_base64",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L46"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_local_template_package_list",
+ "label": "local.template_package_list",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.template_package_list",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L50"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_local_template_packages",
+ "label": "local.template_packages",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.template_packages",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L19"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_local_template_user_ssh_keys",
+ "label": "local.template_user_ssh_keys",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.template_user_ssh_keys",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L45"
+ },
+ {
+ "id": "terraform_bootstrap_provisioning_51780c293784144a_local_tftp_root",
+ "label": "local.tftp_root",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "community": 0,
+ "community_name": "provisioning/variables.tf",
+ "file_type": "code",
+ "norm_label": "local.tftp_root",
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L13"
+ },
+ {
+ "id": "bootstrap_provisioning_terraform_lock",
+ "label": "provisioning/.terraform.lock.hcl",
+ "_origin": "ast",
+ "_terraform_directory": "bootstrap/provisioning",
+ "community": 100,
+ "community_name": "provisioning/.terraform.lock.hcl",
+ "file_type": "code",
+ "norm_label": "provisioning/.terraform.lock.hcl",
+ "source_file": "bootstrap/provisioning/.terraform.lock.hcl",
+ "source_location": null,
+ "type": "terraform_file"
+ },
+ {
+ "id": "jeannie",
+ "label": "jeannie",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "jeannie",
+ "source_file": "jeannie",
+ "source_location": "L1"
+ },
+ {
+ "id": "jeannie_ai_index",
+ "label": "ai_index()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ai_index()",
+ "source_file": "jeannie",
+ "source_location": "L8053"
+ },
+ {
+ "id": "jeannie_backup_tofu_state",
+ "label": "backup_tofu_state()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "backup_tofu_state()",
+ "source_file": "jeannie",
+ "source_location": "L548"
+ },
+ {
+ "id": "jeannie_bootstrap_gitea_repo",
+ "label": "bootstrap_gitea_repo()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "bootstrap_gitea_repo()",
+ "source_file": "jeannie",
+ "source_location": "L4659"
+ },
+ {
+ "id": "jeannie_check_debian_tailscale_ip",
+ "label": "check_debian_tailscale_ip()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "check_debian_tailscale_ip()",
+ "source_file": "jeannie",
+ "source_location": "L2354"
+ },
+ {
+ "id": "jeannie_check_edge_disk_free",
+ "label": "check_edge_disk_free()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "check_edge_disk_free()",
+ "source_file": "jeannie",
+ "source_location": "L2474"
+ },
+ {
+ "id": "jeannie_check_edge_gitea_backend",
+ "label": "check_edge_gitea_backend()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "check_edge_gitea_backend()",
+ "source_file": "jeannie",
+ "source_location": "L7400"
+ },
+ {
+ "id": "jeannie_check_edge_heimdall_backend",
+ "label": "check_edge_heimdall_backend()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "check_edge_heimdall_backend()",
+ "source_file": "jeannie",
+ "source_location": "L7410"
+ },
+ {
+ "id": "jeannie_check_edge_traefik_backend",
+ "label": "check_edge_traefik_backend()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "check_edge_traefik_backend()",
+ "source_file": "jeannie",
+ "source_location": "L7391"
+ },
+ {
+ "id": "jeannie_check_gitea_git_remote",
+ "label": "check_gitea_git_remote()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "check_gitea_git_remote()",
+ "source_file": "jeannie",
+ "source_location": "L7420"
+ },
+ {
+ "id": "jeannie_check_gitea_reachable",
+ "label": "check_gitea_reachable()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "check_gitea_reachable()",
+ "source_file": "jeannie",
+ "source_location": "L2269"
+ },
+ {
+ "id": "jeannie_check_gitea_ssh",
+ "label": "check_gitea_ssh()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "check_gitea_ssh()",
+ "source_file": "jeannie",
+ "source_location": "L7424"
+ },
+ {
+ "id": "jeannie_check_local_disk_free_gib",
+ "label": "check_local_disk_free_gib()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "check_local_disk_free_gib()",
+ "source_file": "jeannie",
+ "source_location": "L2442"
+ },
+ {
+ "id": "jeannie_check_pihole_dns_query",
+ "label": "check_pihole_dns_query()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "check_pihole_dns_query()",
+ "source_file": "jeannie",
+ "source_location": "L2488"
+ },
+ {
+ "id": "jeannie_check_pimox_worker_tailnet_egress",
+ "label": "check_pimox_worker_tailnet_egress()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "check_pimox_worker_tailnet_egress()",
+ "source_file": "jeannie",
+ "source_location": "L6546"
+ },
+ {
+ "id": "jeannie_check_rpi_docker_root_state",
+ "label": "check_rpi_docker_root_state()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "check_rpi_docker_root_state()",
+ "source_file": "jeannie",
+ "source_location": "L2386"
+ },
+ {
+ "id": "jeannie_check_rpi_docker_writable",
+ "label": "check_rpi_docker_writable()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "check_rpi_docker_writable()",
+ "source_file": "jeannie",
+ "source_location": "L2462"
+ },
+ {
+ "id": "jeannie_check_rpi_ssh",
+ "label": "check_rpi_ssh()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "check_rpi_ssh()",
+ "source_file": "jeannie",
+ "source_location": "L2378"
+ },
+ {
+ "id": "jeannie_check_rpi_tailscale_ip",
+ "label": "check_rpi_tailscale_ip()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "check_rpi_tailscale_ip()",
+ "source_file": "jeannie",
+ "source_location": "L2407"
+ },
+ {
+ "id": "jeannie_check_systemd_active",
+ "label": "check_systemd_active()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "check_systemd_active()",
+ "source_file": "jeannie",
+ "source_location": "L2456"
+ },
+ {
+ "id": "jeannie_cleanup_calico_links",
+ "label": "cleanup_calico_links()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "cleanup_calico_links()",
+ "source_file": "jeannie",
+ "source_location": "L3147"
+ },
+ {
+ "id": "jeannie_cleanup_calico_runtime_files",
+ "label": "cleanup_calico_runtime_files()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "cleanup_calico_runtime_files()",
+ "source_file": "jeannie",
+ "source_location": "L3170"
+ },
+ {
+ "id": "jeannie_cleanup_iptables",
+ "label": "cleanup_iptables()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "cleanup_iptables()",
+ "source_file": "jeannie",
+ "source_location": "L3156"
+ },
+ {
+ "id": "jeannie_cleanup_mounts",
+ "label": "cleanup_mounts()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "cleanup_mounts()",
+ "source_file": "jeannie",
+ "source_location": "L3190"
+ },
+ {
+ "id": "jeannie_cleanup_node",
+ "label": "cleanup_node()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "cleanup_node()",
+ "source_file": "jeannie",
+ "source_location": "L3207"
+ },
+ {
+ "id": "jeannie_cluster_admin_kubeconfig_present",
+ "label": "cluster_admin_kubeconfig_present()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "cluster_admin_kubeconfig_present()",
+ "source_file": "jeannie",
+ "source_location": "L6482"
+ },
+ {
+ "id": "jeannie_cluster_worker_targets",
+ "label": "cluster_worker_targets()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "cluster_worker_targets()",
+ "source_file": "jeannie",
+ "source_location": "L6044"
+ },
+ {
+ "id": "jeannie_cosign_registry_flags",
+ "label": "cosign_registry_flags()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "cosign_registry_flags()",
+ "source_file": "jeannie",
+ "source_location": "L3601"
+ },
+ {
+ "id": "jeannie_create_gitea_repo",
+ "label": "create_gitea_repo()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "create_gitea_repo()",
+ "source_file": "jeannie",
+ "source_location": "L4498"
+ },
+ {
+ "id": "jeannie_create_gitea_repo_deploy_key",
+ "label": "create_gitea_repo_deploy_key()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "create_gitea_repo_deploy_key()",
+ "source_file": "jeannie",
+ "source_location": "L4559"
+ },
+ {
+ "id": "jeannie_docker_root_dir",
+ "label": "docker_root_dir()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "docker_root_dir()",
+ "source_file": "jeannie",
+ "source_location": "L3422"
+ },
+ {
+ "id": "jeannie_doctor_versions_report",
+ "label": "doctor_versions_report()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "doctor_versions_report()",
+ "source_file": "jeannie",
+ "source_location": "L624"
+ },
+ {
+ "id": "jeannie_edge_haproxy_stats_credentials_file",
+ "label": "edge_haproxy_stats_credentials_file()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "edge_haproxy_stats_credentials_file()",
+ "source_file": "jeannie",
+ "source_location": "L5694"
+ },
+ {
+ "id": "jeannie_edge_haproxy_stats_password_valid",
+ "label": "edge_haproxy_stats_password_valid()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "edge_haproxy_stats_password_valid()",
+ "source_file": "jeannie",
+ "source_location": "L5613"
+ },
+ {
+ "id": "jeannie_ensure_docker_build_space",
+ "label": "ensure_docker_build_space()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ensure_docker_build_space()",
+ "source_file": "jeannie",
+ "source_location": "L3433"
+ },
+ {
+ "id": "jeannie_ensure_edge_haproxy_stats_password",
+ "label": "ensure_edge_haproxy_stats_password()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ensure_edge_haproxy_stats_password()",
+ "source_file": "jeannie",
+ "source_location": "L5756"
+ },
+ {
+ "id": "jeannie_ensure_existing_cluster_started_for_up",
+ "label": "ensure_existing_cluster_started_for_up()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ensure_existing_cluster_started_for_up()",
+ "source_file": "jeannie",
+ "source_location": "L6502"
+ },
+ {
+ "id": "jeannie_ensure_gitea_repo_ssh_access",
+ "label": "ensure_gitea_repo_ssh_access()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ensure_gitea_repo_ssh_access()",
+ "source_file": "jeannie",
+ "source_location": "L4594"
+ },
+ {
+ "id": "jeannie_ensure_kubernetes_api_ready_for_tofu_stack",
+ "label": "ensure_kubernetes_api_ready_for_tofu_stack()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ensure_kubernetes_api_ready_for_tofu_stack()",
+ "source_file": "jeannie",
+ "source_location": "L6465"
+ },
+ {
+ "id": "jeannie_ensure_python3",
+ "label": "ensure_python3()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ensure_python3()",
+ "source_file": "jeannie",
+ "source_location": "L1012"
+ },
+ {
+ "id": "jeannie_export_homelab_inventory_tf_vars",
+ "label": "export_homelab_inventory_tf_vars()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "export_homelab_inventory_tf_vars()",
+ "source_file": "jeannie",
+ "source_location": "L184"
+ },
+ {
+ "id": "jeannie_export_if_unset",
+ "label": "export_if_unset()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "export_if_unset()",
+ "source_file": "jeannie",
+ "source_location": "L170"
+ },
+ {
+ "id": "jeannie_generate_edge_haproxy_stats_password",
+ "label": "generate_edge_haproxy_stats_password()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "generate_edge_haproxy_stats_password()",
+ "source_file": "jeannie",
+ "source_location": "L5698"
+ },
+ {
+ "id": "jeannie_gitea_api_base_url",
+ "label": "gitea_api_base_url()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "gitea_api_base_url()",
+ "source_file": "jeannie",
+ "source_location": "L4421"
+ },
+ {
+ "id": "jeannie_gitea_bootstrap_password",
+ "label": "gitea_bootstrap_password()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "gitea_bootstrap_password()",
+ "source_file": "jeannie",
+ "source_location": "L4408"
+ },
+ {
+ "id": "jeannie_gitea_branch_exists",
+ "label": "gitea_branch_exists()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "gitea_branch_exists()",
+ "source_file": "jeannie",
+ "source_location": "L4470"
+ },
+ {
+ "id": "jeannie_gitea_public_key_registered",
+ "label": "gitea_public_key_registered()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "gitea_public_key_registered()",
+ "source_file": "jeannie",
+ "source_location": "L4529"
+ },
+ {
+ "id": "jeannie_gitea_repo_exists",
+ "label": "gitea_repo_exists()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "gitea_repo_exists()",
+ "source_file": "jeannie",
+ "source_location": "L4443"
+ },
+ {
+ "id": "jeannie_kubernetes_api_reachable",
+ "label": "kubernetes_api_reachable()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "kubernetes_api_reachable()",
+ "source_file": "jeannie",
+ "source_location": "L6433"
+ },
+ {
+ "id": "jeannie_nuke",
+ "label": "nuke()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "nuke()",
+ "source_file": "jeannie",
+ "source_location": "L7664"
+ },
+ {
+ "id": "jeannie_nuke_for_rebuild",
+ "label": "nuke_for_rebuild()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "nuke_for_rebuild()",
+ "source_file": "jeannie",
+ "source_location": "L6040"
+ },
+ {
+ "id": "jeannie_ollama_install_from_tgz",
+ "label": "ollama_install_from_tgz()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ollama_install_from_tgz()",
+ "source_file": "jeannie",
+ "source_location": "L5288"
+ },
+ {
+ "id": "jeannie_ollama_write_systemd_service",
+ "label": "ollama_write_systemd_service()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ollama_write_systemd_service()",
+ "source_file": "jeannie",
+ "source_location": "L5269"
+ },
+ {
+ "id": "jeannie_path_available_mb",
+ "label": "path_available_mb()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "path_available_mb()",
+ "source_file": "jeannie",
+ "source_location": "L3412"
+ },
+ {
+ "id": "jeannie_prune_unused_docker_build_data",
+ "label": "prune_unused_docker_build_data()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "prune_unused_docker_build_data()",
+ "source_file": "jeannie",
+ "source_location": "L3426"
+ },
+ {
+ "id": "jeannie_recover_edge_haproxy_stats_password",
+ "label": "recover_edge_haproxy_stats_password()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "recover_edge_haproxy_stats_password()",
+ "source_file": "jeannie",
+ "source_location": "L5729"
+ },
+ {
+ "id": "jeannie_restore_node_dns",
+ "label": "restore_node_dns()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "restore_node_dns()",
+ "source_file": "jeannie",
+ "source_location": "L3181"
+ },
+ {
+ "id": "jeannie_run_up_parallel_stage",
+ "label": "run_up_parallel_stage()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "run_up_parallel_stage()",
+ "source_file": "jeannie",
+ "source_location": "L5804"
+ },
+ {
+ "id": "jeannie_start_cluster",
+ "label": "start_cluster()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "start_cluster()",
+ "source_file": "jeannie",
+ "source_location": "L6417"
+ },
+ {
+ "id": "jeannie_start_local_kubernetes_services",
+ "label": "start_local_kubernetes_services()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "start_local_kubernetes_services()",
+ "source_file": "jeannie",
+ "source_location": "L6101"
+ },
+ {
+ "id": "jeannie_start_remote_kubernetes_services",
+ "label": "start_remote_kubernetes_services()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "start_remote_kubernetes_services()",
+ "source_file": "jeannie",
+ "source_location": "L6134"
+ },
+ {
+ "id": "jeannie_status_container_running",
+ "label": "status_container_running()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_container_running()",
+ "source_file": "jeannie",
+ "source_location": "L6715"
+ },
+ {
+ "id": "jeannie_status_disk_pressure",
+ "label": "status_disk_pressure()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_disk_pressure()",
+ "source_file": "jeannie",
+ "source_location": "L6818"
+ },
+ {
+ "id": "jeannie_status_gitea_public_ok",
+ "label": "status_gitea_public_ok()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_gitea_public_ok()",
+ "source_file": "jeannie",
+ "source_location": "L6657"
+ },
+ {
+ "id": "jeannie_status_gitea_recent_errors",
+ "label": "status_gitea_recent_errors()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_gitea_recent_errors()",
+ "source_file": "jeannie",
+ "source_location": "L6850"
+ },
+ {
+ "id": "jeannie_status_http_ok",
+ "label": "status_http_ok()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_http_ok()",
+ "source_file": "jeannie",
+ "source_location": "L6609"
+ },
+ {
+ "id": "jeannie_status_http_reachable",
+ "label": "status_http_reachable()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_http_reachable()",
+ "source_file": "jeannie",
+ "source_location": "L6633"
+ },
+ {
+ "id": "jeannie_status_kubernetes_deployment_ready",
+ "label": "status_kubernetes_deployment_ready()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_kubernetes_deployment_ready()",
+ "source_file": "jeannie",
+ "source_location": "L6756"
+ },
+ {
+ "id": "jeannie_status_kubernetes_nodes_ready",
+ "label": "status_kubernetes_nodes_ready()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_kubernetes_nodes_ready()",
+ "source_file": "jeannie",
+ "source_location": "L6740"
+ },
+ {
+ "id": "jeannie_status_no_problem_pods",
+ "label": "status_no_problem_pods()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_no_problem_pods()",
+ "source_file": "jeannie",
+ "source_location": "L6763"
+ },
+ {
+ "id": "jeannie_status_node_pressure",
+ "label": "status_node_pressure()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_node_pressure()",
+ "source_file": "jeannie",
+ "source_location": "L6805"
+ },
+ {
+ "id": "jeannie_status_pod_restart_pressure",
+ "label": "status_pod_restart_pressure()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_pod_restart_pressure()",
+ "source_file": "jeannie",
+ "source_location": "L6791"
+ },
+ {
+ "id": "jeannie_status_recent_deployments",
+ "label": "status_recent_deployments()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_recent_deployments()",
+ "source_file": "jeannie",
+ "source_location": "L6776"
+ },
+ {
+ "id": "jeannie_status_registry_ok",
+ "label": "status_registry_ok()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_registry_ok()",
+ "source_file": "jeannie",
+ "source_location": "L6873"
+ },
+ {
+ "id": "jeannie_status_rpi_uptime_kuma_ok",
+ "label": "status_rpi_uptime_kuma_ok()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_rpi_uptime_kuma_ok()",
+ "source_file": "jeannie",
+ "source_location": "L6877"
+ },
+ {
+ "id": "jeannie_status_traefik_error_rates",
+ "label": "status_traefik_error_rates()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_traefik_error_rates()",
+ "source_file": "jeannie",
+ "source_location": "L6829"
+ },
+ {
+ "id": "jeannie_stop_cluster",
+ "label": "stop_cluster()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "stop_cluster()",
+ "source_file": "jeannie",
+ "source_location": "L6389"
+ },
+ {
+ "id": "jeannie_stop_local_kubernetes_services",
+ "label": "stop_local_kubernetes_services()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "stop_local_kubernetes_services()",
+ "source_file": "jeannie",
+ "source_location": "L6075"
+ },
+ {
+ "id": "jeannie_stop_remote_kubernetes_services",
+ "label": "stop_remote_kubernetes_services()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "stop_remote_kubernetes_services()",
+ "source_file": "jeannie",
+ "source_location": "L6108"
+ },
+ {
+ "id": "jeannie_wait_for_kubernetes_api",
+ "label": "wait_for_kubernetes_api()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "wait_for_kubernetes_api()",
+ "source_file": "jeannie",
+ "source_location": "L6488"
+ },
+ {
+ "id": "jeannie_wait_for_kubernetes_api_stable",
+ "label": "wait_for_kubernetes_api_stable()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "wait_for_kubernetes_api_stable()",
+ "source_file": "jeannie",
+ "source_location": "L6437"
+ },
+ {
+ "id": "jeannie_write_edge_haproxy_stats_credentials",
+ "label": "write_edge_haproxy_stats_credentials()",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "jeannie",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "write_edge_haproxy_stats_credentials()",
+ "source_file": "jeannie",
+ "source_location": "L5713"
+ },
+ {
+ "id": "jeannie_cpuset_cpu_count",
+ "label": "cpuset_cpu_count()",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "pimox_ssh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "cpuset_cpu_count()",
+ "source_file": "jeannie",
+ "source_location": "L1688"
+ },
+ {
+ "id": "jeannie_destroy_pimox_worker_vms",
+ "label": "destroy_pimox_worker_vms()",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "pimox_ssh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "destroy_pimox_worker_vms()",
+ "source_file": "jeannie",
+ "source_location": "L6303"
+ },
+ {
+ "id": "jeannie_detect_route_interface",
+ "label": "detect_route_interface()",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "pimox_ssh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "detect_route_interface()",
+ "source_file": "jeannie",
+ "source_location": "L1038"
+ },
+ {
+ "id": "jeannie_ensure_pimox_worker_node",
+ "label": "ensure_pimox_worker_node()",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "pimox_ssh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ensure_pimox_worker_node()",
+ "source_file": "jeannie",
+ "source_location": "L1837"
+ },
+ {
+ "id": "jeannie_ensure_static_pimox_worker_spec_file",
+ "label": "ensure_static_pimox_worker_spec_file()",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "pimox_ssh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ensure_static_pimox_worker_spec_file()",
+ "source_file": "jeannie",
+ "source_location": "L2175"
+ },
+ {
+ "id": "jeannie_pimox_generated_mac",
+ "label": "pimox_generated_mac()",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "pimox_ssh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "pimox_generated_mac()",
+ "source_file": "jeannie",
+ "source_location": "L1387"
+ },
+ {
+ "id": "jeannie_pimox_guest_cpu_count",
+ "label": "pimox_guest_cpu_count()",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "pimox_ssh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "pimox_guest_cpu_count()",
+ "source_file": "jeannie",
+ "source_location": "L1821"
+ },
+ {
+ "id": "jeannie_pimox_guest_exec_exitcode",
+ "label": "pimox_guest_exec_exitcode()",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "pimox_ssh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "pimox_guest_exec_exitcode()",
+ "source_file": "jeannie",
+ "source_location": "L1161"
+ },
+ {
+ "id": "jeannie_pimox_guest_ipv4",
+ "label": "pimox_guest_ipv4()",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "pimox_ssh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "pimox_guest_ipv4()",
+ "source_file": "jeannie",
+ "source_location": "L1062"
+ },
+ {
+ "id": "jeannie_pimox_shutdown_vm_gracefully",
+ "label": "pimox_shutdown_vm_gracefully()",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "pimox_ssh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "pimox_shutdown_vm_gracefully()",
+ "source_file": "jeannie",
+ "source_location": "L1800"
+ },
+ {
+ "id": "jeannie_pimox_ssh",
+ "label": "pimox_ssh()",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "pimox_ssh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "pimox_ssh()",
+ "source_file": "jeannie",
+ "source_location": "L1053"
+ },
+ {
+ "id": "jeannie_pimox_start_vm_with_cpuset",
+ "label": "pimox_start_vm_with_cpuset()",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "pimox_ssh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "pimox_start_vm_with_cpuset()",
+ "source_file": "jeannie",
+ "source_location": "L1743"
+ },
+ {
+ "id": "jeannie_pimox_worker_count_default",
+ "label": "pimox_worker_count_default()",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "pimox_ssh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "pimox_worker_count_default()",
+ "source_file": "jeannie",
+ "source_location": "L6142"
+ },
+ {
+ "id": "jeannie_pimox_worker_count_effective",
+ "label": "pimox_worker_count_effective()",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "pimox_ssh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "pimox_worker_count_effective()",
+ "source_file": "jeannie",
+ "source_location": "L6208"
+ },
+ {
+ "id": "jeannie_pimox_worker_cpu_affinity",
+ "label": "pimox_worker_cpu_affinity()",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "pimox_ssh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "pimox_worker_cpu_affinity()",
+ "source_file": "jeannie",
+ "source_location": "L1715"
+ },
+ {
+ "id": "jeannie_pimox_worker_guest_ssh_repair",
+ "label": "pimox_worker_guest_ssh_repair()",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "pimox_ssh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "pimox_worker_guest_ssh_repair()",
+ "source_file": "jeannie",
+ "source_location": "L1181"
+ },
+ {
+ "id": "jeannie_pimox_worker_net0_config",
+ "label": "pimox_worker_net0_config()",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "pimox_ssh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "pimox_worker_net0_config()",
+ "source_file": "jeannie",
+ "source_location": "L1414"
+ },
+ {
+ "id": "jeannie_pimox_worker_static_ip",
+ "label": "pimox_worker_static_ip()",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "pimox_ssh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "pimox_worker_static_ip()",
+ "source_file": "jeannie",
+ "source_location": "L1396"
+ },
+ {
+ "id": "jeannie_pimox_worker_vm_debug",
+ "label": "pimox_worker_vm_debug()",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "pimox_ssh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "pimox_worker_vm_debug()",
+ "source_file": "jeannie",
+ "source_location": "L1102"
+ },
+ {
+ "id": "jeannie_run_pimox_pipeline",
+ "label": "run_pimox_pipeline()",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "pimox_ssh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "run_pimox_pipeline()",
+ "source_file": "jeannie",
+ "source_location": "L2582"
+ },
+ {
+ "id": "jeannie_start_pimox_worker_vms",
+ "label": "start_pimox_worker_vms()",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "pimox_ssh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "start_pimox_worker_vms()",
+ "source_file": "jeannie",
+ "source_location": "L6348"
+ },
+ {
+ "id": "jeannie_status_pimox_workers",
+ "label": "status_pimox_workers()",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "pimox_ssh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_pimox_workers()",
+ "source_file": "jeannie",
+ "source_location": "L7147"
+ },
+ {
+ "id": "jeannie_status_pimox_workers_running",
+ "label": "status_pimox_workers_running()",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "pimox_ssh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_pimox_workers_running()",
+ "source_file": "jeannie",
+ "source_location": "L6887"
+ },
+ {
+ "id": "jeannie_stop_pimox_worker_vms",
+ "label": "stop_pimox_worker_vms()",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "pimox_ssh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "stop_pimox_worker_vms()",
+ "source_file": "jeannie",
+ "source_location": "L6220"
+ },
+ {
+ "id": "jeannie_verify_pimox_worker_vms_stopped",
+ "label": "verify_pimox_worker_vms_stopped()",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "pimox_ssh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "verify_pimox_worker_vms_stopped()",
+ "source_file": "jeannie",
+ "source_location": "L6276"
+ },
+ {
+ "id": "jeannie_wait_for_pimox_guest_ssh",
+ "label": "wait_for_pimox_guest_ssh()",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "pimox_ssh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "wait_for_pimox_guest_ssh()",
+ "source_file": "jeannie",
+ "source_location": "L1248"
+ },
+ {
+ "id": "jeannie_worker_index_is_skipped",
+ "label": "worker_index_is_skipped()",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "pimox_ssh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "worker_index_is_skipped()",
+ "source_file": "jeannie",
+ "source_location": "L992"
+ },
+ {
+ "id": "infra_arr_stack_bootstrap",
+ "label": "arr-stack/bootstrap.sh",
+ "_origin": "ast",
+ "community": 101,
+ "community_name": "arr-stack/bootstrap.sh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "arr-stack/bootstrap.sh",
+ "source_file": "infra/arr-stack/bootstrap.sh",
+ "source_location": "L1"
+ },
+ {
+ "id": "infra_arr_stack_bootstrap_sh__entry",
+ "label": "bootstrap.sh script",
+ "_origin": "ast",
+ "community": 101,
+ "community_name": "arr-stack/bootstrap.sh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "bootstrap.sh script",
+ "source_file": "infra/arr-stack/bootstrap.sh",
+ "source_location": "L1"
+ },
+ {
+ "id": "infra_omniroute_bootstrap",
+ "label": "omniroute/bootstrap.sh",
+ "_origin": "ast",
+ "community": 102,
+ "community_name": "omniroute/bootstrap.sh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "omniroute/bootstrap.sh",
+ "source_file": "infra/omniroute/bootstrap.sh",
+ "source_location": "L1"
+ },
+ {
+ "id": "infra_omniroute_bootstrap_sh__entry",
+ "label": "bootstrap.sh script",
+ "_origin": "ast",
+ "community": 102,
+ "community_name": "omniroute/bootstrap.sh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "bootstrap.sh script",
+ "source_file": "infra/omniroute/bootstrap.sh",
+ "source_location": "L1"
+ },
+ {
+ "id": "infra_youtube_backup_backup_youtube",
+ "label": "backup-youtube.sh",
+ "_origin": "ast",
+ "community": 103,
+ "community_name": "backup-youtube.sh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "backup-youtube.sh",
+ "source_file": "infra/youtube-backup/backup-youtube.sh",
+ "source_location": "L1"
+ },
+ {
+ "id": "infra_youtube_backup_backup_youtube_sh__entry",
+ "label": "backup-youtube.sh script",
+ "_origin": "ast",
+ "community": 103,
+ "community_name": "backup-youtube.sh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "backup-youtube.sh script",
+ "source_file": "infra/youtube-backup/backup-youtube.sh",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_artifact_cache",
+ "label": "artifact-cache",
+ "_origin": "ast",
+ "community": 104,
+ "community_name": "artifact-cache",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "artifact-cache",
+ "source_file": "scripts/artifact-cache",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_artifact_cache__entry",
+ "label": "artifact-cache script",
+ "_origin": "ast",
+ "community": 104,
+ "community_name": "artifact-cache",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "artifact-cache script",
+ "source_file": "scripts/artifact-cache",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_gitops_status",
+ "label": "gitops-status",
+ "_origin": "ast",
+ "community": 105,
+ "community_name": "gitops-status",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "gitops-status",
+ "source_file": "scripts/gitops-status",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_gitops_status__entry",
+ "label": "gitops-status script",
+ "_origin": "ast",
+ "community": 105,
+ "community_name": "gitops-status",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "gitops-status script",
+ "source_file": "scripts/gitops-status",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_golden_ledger",
+ "label": "golden-ledger",
+ "_origin": "ast",
+ "community": 106,
+ "community_name": "golden-ledger",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "golden-ledger",
+ "source_file": "scripts/golden-ledger",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_golden_ledger__entry",
+ "label": "golden-ledger script",
+ "_origin": "ast",
+ "community": 106,
+ "community_name": "golden-ledger",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "golden-ledger script",
+ "source_file": "scripts/golden-ledger",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_validate_homelab_inventory",
+ "label": "validate-homelab-inventory",
+ "_origin": "ast",
+ "community": 107,
+ "community_name": "validate-homelab-inventory",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "validate-homelab-inventory",
+ "source_file": "scripts/validate-homelab-inventory",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_validate_homelab_inventory__entry",
+ "label": "validate-homelab-inventory script",
+ "_origin": "ast",
+ "community": 107,
+ "community_name": "validate-homelab-inventory",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "validate-homelab-inventory script",
+ "source_file": "scripts/validate-homelab-inventory",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_website_cv",
+ "label": "cv.php",
+ "_origin": "ast",
+ "community": 108,
+ "community_name": "cv.php",
+ "file_type": "code",
+ "norm_label": "cv.php",
+ "source_file": "apps/website/cv.php",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_website_demos",
+ "label": "demos.php",
+ "_origin": "ast",
+ "community": 109,
+ "community_name": "demos.php",
+ "file_type": "code",
+ "norm_label": "demos.php",
+ "source_file": "apps/website/demos.php",
+ "source_location": "L1"
+ },
+ {
+ "id": "any",
+ "label": "Any",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "main.py",
+ "file_type": "code",
+ "norm_label": "any",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "basemodel",
+ "label": "BaseModel",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "main.py",
+ "file_type": "code",
+ "norm_label": "basemodel",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "get",
+ "label": "get",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "main.py",
+ "file_type": "code",
+ "norm_label": "get",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "labs_mlops_platform_app_main",
+ "label": "main.py",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "main.py",
+ "file_type": "code",
+ "norm_label": "main.py",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "middleware",
+ "label": "middleware",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "main.py",
+ "file_type": "code",
+ "norm_label": "middleware",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "post",
+ "label": "post",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "main.py",
+ "file_type": "code",
+ "norm_label": "post",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "request",
+ "label": "Request",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "main.py",
+ "file_type": "code",
+ "norm_label": "request",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "response",
+ "label": "Response",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "main.py",
+ "file_type": "code",
+ "norm_label": "response",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "apps_website_index",
+ "label": "index.php",
+ "_origin": "ast",
+ "community": 110,
+ "community_name": "index.php",
+ "file_type": "code",
+ "norm_label": "index.php",
+ "source_file": "apps/website/index.php",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_website_lang_en",
+ "label": "en.php",
+ "_origin": "ast",
+ "community": 111,
+ "community_name": "en.php",
+ "file_type": "code",
+ "norm_label": "en.php",
+ "source_file": "apps/website/lang/en.php",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_website_lang_nah",
+ "label": "nah.php",
+ "_origin": "ast",
+ "community": 112,
+ "community_name": "nah.php",
+ "file_type": "code",
+ "norm_label": "nah.php",
+ "source_file": "apps/website/lang/nah.php",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_website_partials_footer",
+ "label": "footer.php",
+ "_origin": "ast",
+ "community": 113,
+ "community_name": "footer.php",
+ "file_type": "code",
+ "norm_label": "footer.php",
+ "source_file": "apps/website/partials/footer.php",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_website_partials_header",
+ "label": "header.php",
+ "_origin": "ast",
+ "community": 114,
+ "community_name": "header.php",
+ "file_type": "code",
+ "norm_label": "header.php",
+ "source_file": "apps/website/partials/header.php",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_website_partials_theme_toolbar",
+ "label": "theme_toolbar.php",
+ "_origin": "ast",
+ "community": 115,
+ "community_name": "theme_toolbar.php",
+ "file_type": "code",
+ "norm_label": "theme_toolbar.php",
+ "source_file": "apps/website/partials/theme_toolbar.php",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_website_visitor_ideas_php_apps_website_visitor_ideas",
+ "label": "visitor_ideas.php",
+ "_origin": "ast",
+ "community": 116,
+ "community_name": "visitor_ideas.php",
+ "file_type": "code",
+ "norm_label": "visitor_ideas.php",
+ "source_file": "apps/website/visitor_ideas.php",
+ "source_location": "L1"
+ },
+ {
+ "id": "pkg_my_homelab_configs",
+ "label": "my-homelab-configs",
+ "_origin": "ast",
+ "community": 117,
+ "community_name": "my-homelab-configs",
+ "ecosystem": "go",
+ "file_type": "code",
+ "norm_label": "my-homelab-configs",
+ "source_file": "go.mod",
+ "source_location": "L1",
+ "type": "package"
+ },
+ {
+ "id": "scripts_heal",
+ "label": "heal",
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "heal",
+ "file_type": "code",
+ "norm_label": "heal",
+ "source_file": "scripts/heal",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_heal_path",
+ "label": "Path",
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "heal",
+ "file_type": "code",
+ "norm_label": "path",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "scripts_heal_rationale_2",
+ "label": "Plan and apply guarded self-healing actions from Jeannie status findings.",
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "heal",
+ "file_type": "rationale",
+ "norm_label": "plan and apply guarded self-healing actions from jeannie status findings.",
+ "source_file": "scripts/heal",
+ "source_location": "L2"
+ },
+ {
+ "id": "scripts_security_scan",
+ "label": "security-scan",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "security-scan",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "security-scan",
+ "source_file": "scripts/security-scan",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_security_scan__entry",
+ "label": "security-scan script",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "security-scan",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "security-scan script",
+ "source_file": "scripts/security-scan",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_security_scan_ensure_report_dir",
+ "label": "ensure_report_dir()",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "security-scan",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ensure_report_dir()",
+ "source_file": "scripts/security-scan",
+ "source_location": "L43"
+ },
+ {
+ "id": "scripts_security_scan_header_value",
+ "label": "header_value()",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "security-scan",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "header_value()",
+ "source_file": "scripts/security-scan",
+ "source_location": "L215"
+ },
+ {
+ "id": "scripts_security_scan_lynis_findings",
+ "label": "lynis_findings()",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "security-scan",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "lynis_findings()",
+ "source_file": "scripts/security-scan",
+ "source_location": "L330"
+ },
+ {
+ "id": "scripts_security_scan_prepare_security_scans",
+ "label": "prepare_security_scans()",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "security-scan",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "prepare_security_scans()",
+ "source_file": "scripts/security-scan",
+ "source_location": "L54"
+ },
+ {
+ "id": "scripts_security_scan_print_lynis_fallback_focus",
+ "label": "print_lynis_fallback_focus()",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "security-scan",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "print_lynis_fallback_focus()",
+ "source_file": "scripts/security-scan",
+ "source_location": "L337"
+ },
+ {
+ "id": "scripts_security_scan_print_lynis_focus",
+ "label": "print_lynis_focus()",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "security-scan",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "print_lynis_focus()",
+ "source_file": "scripts/security-scan",
+ "source_location": "L459"
+ },
+ {
+ "id": "scripts_security_scan_print_lynis_llm_focus",
+ "label": "print_lynis_llm_focus()",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "security-scan",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "print_lynis_llm_focus()",
+ "source_file": "scripts/security-scan",
+ "source_location": "L359"
+ },
+ {
+ "id": "scripts_security_scan_require_docker",
+ "label": "require_docker()",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "security-scan",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "require_docker()",
+ "source_file": "scripts/security-scan",
+ "source_location": "L47"
+ },
+ {
+ "id": "scripts_security_scan_run_gitleaks",
+ "label": "run_gitleaks()",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "security-scan",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "run_gitleaks()",
+ "source_file": "scripts/security-scan",
+ "source_location": "L114"
+ },
+ {
+ "id": "scripts_security_scan_run_kube_bench",
+ "label": "run_kube_bench()",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "security-scan",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "run_kube_bench()",
+ "source_file": "scripts/security-scan",
+ "source_location": "L316"
+ },
+ {
+ "id": "scripts_security_scan_run_lynis_host",
+ "label": "run_lynis_host()",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "security-scan",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "run_lynis_host()",
+ "source_file": "scripts/security-scan",
+ "source_location": "L479"
+ },
+ {
+ "id": "scripts_security_scan_run_nuclei",
+ "label": "run_nuclei()",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "security-scan",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "run_nuclei()",
+ "source_file": "scripts/security-scan",
+ "source_location": "L188"
+ },
+ {
+ "id": "scripts_security_scan_run_security_web",
+ "label": "run_security_web()",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "security-scan",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "run_security_web()",
+ "source_file": "scripts/security-scan",
+ "source_location": "L230"
+ },
+ {
+ "id": "scripts_security_scan_run_trivy",
+ "label": "run_trivy()",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "security-scan",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "run_trivy()",
+ "source_file": "scripts/security-scan",
+ "source_location": "L90"
+ },
+ {
+ "id": "scripts_security_scan_run_zap",
+ "label": "run_zap()",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "security-scan",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "run_zap()",
+ "source_file": "scripts/security-scan",
+ "source_location": "L163"
+ },
+ {
+ "id": "scripts_security_scan_safe_target_name",
+ "label": "safe_target_name()",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "security-scan",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "safe_target_name()",
+ "source_file": "scripts/security-scan",
+ "source_location": "L159"
+ },
+ {
+ "id": "scripts_security_scan_scan_targets",
+ "label": "scan_targets()",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "security-scan",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "scan_targets()",
+ "source_file": "scripts/security-scan",
+ "source_location": "L143"
+ },
+ {
+ "id": "scripts_security_scan_timestamp",
+ "label": "timestamp()",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "security-scan",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "timestamp()",
+ "source_file": "scripts/security-scan",
+ "source_location": "L39"
+ },
+ {
+ "id": "scripts_security_scan_truthy",
+ "label": "truthy()",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "security-scan",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "truthy()",
+ "source_file": "scripts/security-scan",
+ "source_location": "L14"
+ },
+ {
+ "id": "scripts_security_scan_usage",
+ "label": "usage()",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "security-scan",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "usage()",
+ "source_file": "scripts/security-scan",
+ "source_location": "L25"
+ },
+ {
+ "id": "labs_mlops_platform_training_export_model",
+ "label": "export_model.py",
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "pathlib",
+ "file_type": "code",
+ "norm_label": "export_model.py",
+ "source_file": "labs/mlops-platform/training/export_model.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_agent_sandbox",
+ "label": "agent-sandbox",
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "pathlib",
+ "file_type": "code",
+ "norm_label": "agent-sandbox",
+ "source_file": "scripts/agent-sandbox",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_ai_memory",
+ "label": "ai-memory",
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "pathlib",
+ "file_type": "code",
+ "norm_label": "ai-memory",
+ "source_file": "scripts/ai-memory",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_ai_memory_path",
+ "label": "Path",
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "pathlib",
+ "file_type": "code",
+ "norm_label": "path",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "scripts_agent_sandbox_rationale_2",
+ "label": "Classify proposed agent commands against the homelab sandbox policy.",
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "pathlib",
+ "file_type": "rationale",
+ "norm_label": "classify proposed agent commands against the homelab sandbox policy.",
+ "source_file": "scripts/agent-sandbox",
+ "source_location": "L2"
+ },
+ {
+ "id": "scripts_ai_memory_rationale_2",
+ "label": "Check local homelab AI memory provenance and freshness.",
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "pathlib",
+ "file_type": "rationale",
+ "norm_label": "check local homelab ai memory provenance and freshness.",
+ "source_file": "scripts/ai-memory",
+ "source_location": "L2"
+ },
+ {
+ "id": "jeannie_check_edge_ssh",
+ "label": "check_edge_ssh()",
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "disabled_value",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "check_edge_ssh()",
+ "source_file": "jeannie",
+ "source_location": "L2371"
+ },
+ {
+ "id": "jeannie_check_pimox_storage",
+ "label": "check_pimox_storage()",
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "disabled_value",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "check_pimox_storage()",
+ "source_file": "jeannie",
+ "source_location": "L2419"
+ },
+ {
+ "id": "jeannie_configure_pimox_worker_forwarding",
+ "label": "configure_pimox_worker_forwarding()",
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "disabled_value",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "configure_pimox_worker_forwarding()",
+ "source_file": "jeannie",
+ "source_location": "L1599"
+ },
+ {
+ "id": "jeannie_configure_pimox_worker_guest_network",
+ "label": "configure_pimox_worker_guest_network()",
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "disabled_value",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "configure_pimox_worker_guest_network()",
+ "source_file": "jeannie",
+ "source_location": "L1441"
+ },
+ {
+ "id": "jeannie_deploy_heimdall",
+ "label": "deploy_heimdall()",
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "disabled_value",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "deploy_heimdall()",
+ "source_file": "jeannie",
+ "source_location": "L4039"
+ },
+ {
+ "id": "jeannie_deploy_hermes",
+ "label": "deploy_hermes()",
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "disabled_value",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "deploy_hermes()",
+ "source_file": "jeannie",
+ "source_location": "L4253"
+ },
+ {
+ "id": "jeannie_deploy_matrix",
+ "label": "deploy_matrix()",
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "disabled_value",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "deploy_matrix()",
+ "source_file": "jeannie",
+ "source_location": "L4120"
+ },
+ {
+ "id": "jeannie_deploy_omniroute",
+ "label": "deploy_omniroute()",
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "disabled_value",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "deploy_omniroute()",
+ "source_file": "jeannie",
+ "source_location": "L4211"
+ },
+ {
+ "id": "jeannie_deploy_rpi_services",
+ "label": "deploy_rpi_services()",
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "disabled_value",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "deploy_rpi_services()",
+ "source_file": "jeannie",
+ "source_location": "L4347"
+ },
+ {
+ "id": "jeannie_disabled_value",
+ "label": "disabled_value()",
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "disabled_value",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "disabled_value()",
+ "source_file": "jeannie",
+ "source_location": "L802"
+ },
+ {
+ "id": "jeannie_ensure_edge_tailscale_routes",
+ "label": "ensure_edge_tailscale_routes()",
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "disabled_value",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ensure_edge_tailscale_routes()",
+ "source_file": "jeannie",
+ "source_location": "L5619"
+ },
+ {
+ "id": "jeannie_ensure_local_docker_compose",
+ "label": "ensure_local_docker_compose()",
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "disabled_value",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ensure_local_docker_compose()",
+ "source_file": "jeannie",
+ "source_location": "L4000"
+ },
+ {
+ "id": "jeannie_install_missing_debian_packages",
+ "label": "install_missing_debian_packages()",
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "disabled_value",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "install_missing_debian_packages()",
+ "source_file": "jeannie",
+ "source_location": "L3984"
+ },
+ {
+ "id": "jeannie_openwrt",
+ "label": "openwrt()",
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "disabled_value",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "openwrt()",
+ "source_file": "jeannie",
+ "source_location": "L3141"
+ },
+ {
+ "id": "jeannie_pimox_worker_guest_agent_recovery_hint",
+ "label": "pimox_worker_guest_agent_recovery_hint()",
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "disabled_value",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "pimox_worker_guest_agent_recovery_hint()",
+ "source_file": "jeannie",
+ "source_location": "L1139"
+ },
+ {
+ "id": "jeannie_repair_local_docker_iptables",
+ "label": "repair_local_docker_iptables()",
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "disabled_value",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "repair_local_docker_iptables()",
+ "source_file": "jeannie",
+ "source_location": "L4020"
+ },
+ {
+ "id": "jeannie_run_openwrt_pipeline",
+ "label": "run_openwrt_pipeline()",
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "disabled_value",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "run_openwrt_pipeline()",
+ "source_file": "jeannie",
+ "source_location": "L2805"
+ },
+ {
+ "id": "jeannie_sops_available",
+ "label": "sops_available()",
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "disabled_value",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "sops_available()",
+ "source_file": "jeannie",
+ "source_location": "L7923"
+ },
+ {
+ "id": "jeannie_sops_load_secrets",
+ "label": "sops_load_secrets()",
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "disabled_value",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "sops_load_secrets()",
+ "source_file": "jeannie",
+ "source_location": "L7880"
+ },
+ {
+ "id": "jeannie_up_task",
+ "label": "up_task()",
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "disabled_value",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "up_task()",
+ "source_file": "jeannie",
+ "source_location": "L5889"
+ },
+ {
+ "id": "jeannie_validate_ipv4_cidr_or_host",
+ "label": "validate_ipv4_cidr_or_host()",
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "disabled_value",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "validate_ipv4_cidr_or_host()",
+ "source_file": "jeannie",
+ "source_location": "L1435"
+ },
+ {
+ "id": "scripts_workers",
+ "label": "workers",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "workers",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "workers",
+ "source_file": "scripts/workers",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_workers__entry",
+ "label": "workers script",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "workers",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "workers script",
+ "source_file": "scripts/workers",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_workers_drain_node",
+ "label": "drain_node()",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "workers",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "drain_node()",
+ "source_file": "scripts/workers",
+ "source_location": "L165"
+ },
+ {
+ "id": "scripts_workers_have",
+ "label": "have()",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "workers",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "have()",
+ "source_file": "scripts/workers",
+ "source_location": "L32"
+ },
+ {
+ "id": "scripts_workers_is_skipped",
+ "label": "is_skipped()",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "workers",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "is_skipped()",
+ "source_file": "scripts/workers",
+ "source_location": "L36"
+ },
+ {
+ "id": "scripts_workers_kubectl_cmd",
+ "label": "kubectl_cmd()",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "workers",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "kubectl_cmd()",
+ "source_file": "scripts/workers",
+ "source_location": "L72"
+ },
+ {
+ "id": "scripts_workers_list_workers",
+ "label": "list_workers()",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "workers",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "list_workers()",
+ "source_file": "scripts/workers",
+ "source_location": "L92"
+ },
+ {
+ "id": "scripts_workers_node_for_index",
+ "label": "node_for_index()",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "workers",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "node_for_index()",
+ "source_file": "scripts/workers",
+ "source_location": "L63"
+ },
+ {
+ "id": "scripts_workers_pimox_ssh",
+ "label": "pimox_ssh()",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "workers",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "pimox_ssh()",
+ "source_file": "scripts/workers",
+ "source_location": "L68"
+ },
+ {
+ "id": "scripts_workers_rebalance",
+ "label": "rebalance()",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "workers",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "rebalance()",
+ "source_file": "scripts/workers",
+ "source_location": "L217"
+ },
+ {
+ "id": "scripts_workers_recreate_plan",
+ "label": "recreate_plan()",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "workers",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "recreate_plan()",
+ "source_file": "scripts/workers",
+ "source_location": "L185"
+ },
+ {
+ "id": "scripts_workers_restart_workers",
+ "label": "restart_workers()",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "workers",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "restart_workers()",
+ "source_file": "scripts/workers",
+ "source_location": "L142"
+ },
+ {
+ "id": "scripts_workers_start_workers",
+ "label": "start_workers()",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "workers",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "start_workers()",
+ "source_file": "scripts/workers",
+ "source_location": "L117"
+ },
+ {
+ "id": "scripts_workers_stop_workers",
+ "label": "stop_workers()",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "workers",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "stop_workers()",
+ "source_file": "scripts/workers",
+ "source_location": "L128"
+ },
+ {
+ "id": "scripts_workers_tailnet_setup",
+ "label": "tailnet_setup()",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "workers",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "tailnet_setup()",
+ "source_file": "scripts/workers",
+ "source_location": "L231"
+ },
+ {
+ "id": "scripts_workers_target_indexes",
+ "label": "target_indexes()",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "workers",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "target_indexes()",
+ "source_file": "scripts/workers",
+ "source_location": "L76"
+ },
+ {
+ "id": "scripts_workers_uncordon_node",
+ "label": "uncordon_node()",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "workers",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "uncordon_node()",
+ "source_file": "scripts/workers",
+ "source_location": "L175"
+ },
+ {
+ "id": "scripts_workers_usage",
+ "label": "usage()",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "workers",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "usage()",
+ "source_file": "scripts/workers",
+ "source_location": "L15"
+ },
+ {
+ "id": "scripts_workers_validate_index",
+ "label": "validate_index()",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "workers",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "validate_index()",
+ "source_file": "scripts/workers",
+ "source_location": "L49"
+ },
+ {
+ "id": "scripts_workers_vmid_for_index",
+ "label": "vmid_for_index()",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "workers",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "vmid_for_index()",
+ "source_file": "scripts/workers",
+ "source_location": "L58"
+ },
+ {
+ "id": "scripts_render_service_catalog",
+ "label": "render-service-catalog",
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "render-service-catalog",
+ "file_type": "code",
+ "norm_label": "render-service-catalog",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_render_service_catalog_path",
+ "label": "Path",
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "render-service-catalog",
+ "file_type": "code",
+ "norm_label": "path",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "scripts_render_service_catalog_rationale_2",
+ "label": "Render homelab service catalog artifacts from homelab.yml.",
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "render-service-catalog",
+ "file_type": "rationale",
+ "norm_label": "render homelab service catalog artifacts from homelab.yml.",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L2"
+ },
+ {
+ "id": "scripts_capacity_report",
+ "label": "capacity-report",
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "capacity-report",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "capacity-report",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_capacity_report__entry",
+ "label": "capacity-report script",
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "capacity-report",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "capacity-report script",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_capacity_report_compact_guidance",
+ "label": "compact_guidance()",
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "capacity-report",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "compact_guidance()",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L393"
+ },
+ {
+ "id": "scripts_capacity_report_compact_host_capacity",
+ "label": "compact_host_capacity()",
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "capacity-report",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "compact_host_capacity()",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L196"
+ },
+ {
+ "id": "scripts_capacity_report_compact_kubernetes_capacity",
+ "label": "compact_kubernetes_capacity()",
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "capacity-report",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "compact_kubernetes_capacity()",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L250"
+ },
+ {
+ "id": "scripts_capacity_report_compact_main",
+ "label": "compact_main()",
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "capacity-report",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "compact_main()",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L398"
+ },
+ {
+ "id": "scripts_capacity_report_compact_pimox_capacity",
+ "label": "compact_pimox_capacity()",
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "capacity-report",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "compact_pimox_capacity()",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L304"
+ },
+ {
+ "id": "scripts_capacity_report_compact_rpi_capacity",
+ "label": "compact_rpi_capacity()",
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "capacity-report",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "compact_rpi_capacity()",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L345"
+ },
+ {
+ "id": "scripts_capacity_report_emit",
+ "label": "emit()",
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "capacity-report",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "emit()",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L43"
+ },
+ {
+ "id": "scripts_capacity_report_grafana_explore_url",
+ "label": "grafana_explore_url()",
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "capacity-report",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "grafana_explore_url()",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L56"
+ },
+ {
+ "id": "scripts_capacity_report_host_capacity",
+ "label": "host_capacity()",
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "capacity-report",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "host_capacity()",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L94"
+ },
+ {
+ "id": "scripts_capacity_report_kubernetes_capacity",
+ "label": "kubernetes_capacity()",
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "capacity-report",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "kubernetes_capacity()",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L106"
+ },
+ {
+ "id": "scripts_capacity_report_pimox_capacity",
+ "label": "pimox_capacity()",
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "capacity-report",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "pimox_capacity()",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L125"
+ },
+ {
+ "id": "scripts_capacity_report_rpi_capacity",
+ "label": "rpi_capacity()",
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "capacity-report",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "rpi_capacity()",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L153"
+ },
+ {
+ "id": "scripts_capacity_report_run_optional",
+ "label": "run_optional()",
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "capacity-report",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "run_optional()",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L86"
+ },
+ {
+ "id": "scripts_capacity_report_section",
+ "label": "section()",
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "capacity-report",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "section()",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L82"
+ },
+ {
+ "id": "scripts_capacity_report_summary",
+ "label": "summary()",
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "capacity-report",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "summary()",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L176"
+ },
+ {
+ "id": "scripts_capacity_report_verbose_main",
+ "label": "verbose_main()",
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "capacity-report",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "verbose_main()",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L188"
+ },
+ {
+ "id": "apps_website_translation",
+ "label": "translation.js",
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "translation.js",
+ "file_type": "code",
+ "norm_label": "translation.js",
+ "source_file": "apps/website/translation.js",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_website_translation_actionspan",
+ "label": "actionSpan",
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "translation.js",
+ "file_type": "code",
+ "norm_label": "actionspan",
+ "source_file": "apps/website/translation.js",
+ "source_location": "L20"
+ },
+ {
+ "id": "apps_website_translation_badge",
+ "label": "badge",
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "translation.js",
+ "file_type": "code",
+ "norm_label": "badge",
+ "source_file": "apps/website/translation.js",
+ "source_location": "L17"
+ },
+ {
+ "id": "apps_website_translation_browserlang",
+ "label": "browserLang",
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "translation.js",
+ "file_type": "code",
+ "norm_label": "browserlang",
+ "source_file": "apps/website/translation.js",
+ "source_location": "L14"
+ },
+ {
+ "id": "apps_website_translation_btn",
+ "label": "btn",
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "translation.js",
+ "file_type": "code",
+ "norm_label": "btn",
+ "source_file": "apps/website/translation.js",
+ "source_location": "L19"
+ },
+ {
+ "id": "apps_website_translation_detectedspan",
+ "label": "detectedSpan",
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "translation.js",
+ "file_type": "code",
+ "norm_label": "detectedspan",
+ "source_file": "apps/website/translation.js",
+ "source_location": "L21"
+ },
+ {
+ "id": "apps_website_translation_lang_names",
+ "label": "LANG_NAMES",
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "translation.js",
+ "file_type": "code",
+ "norm_label": "lang_names",
+ "source_file": "apps/website/translation.js",
+ "source_location": "L2"
+ },
+ {
+ "id": "apps_website_translation_prompt",
+ "label": "prompt",
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "translation.js",
+ "file_type": "code",
+ "norm_label": "prompt",
+ "source_file": "apps/website/translation.js",
+ "source_location": "L18"
+ },
+ {
+ "id": "apps_website_translation_urllang",
+ "label": "urlLang",
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "translation.js",
+ "file_type": "code",
+ "norm_label": "urllang",
+ "source_file": "apps/website/translation.js",
+ "source_location": "L13"
+ },
+ {
+ "id": "jeannie__entry",
+ "label": "jeannie script",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "jeannie script",
+ "source_file": "jeannie",
+ "source_location": "L1"
+ },
+ {
+ "id": "jeannie_access_audit",
+ "label": "access_audit()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "access_audit()",
+ "source_file": "jeannie",
+ "source_location": "L8266"
+ },
+ {
+ "id": "jeannie_agent_sandbox",
+ "label": "agent_sandbox()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "agent_sandbox()",
+ "source_file": "jeannie",
+ "source_location": "L8233"
+ },
+ {
+ "id": "jeannie_ai_evals",
+ "label": "ai_evals()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ai_evals()",
+ "source_file": "jeannie",
+ "source_location": "L8135"
+ },
+ {
+ "id": "jeannie_ai_memory",
+ "label": "ai_memory()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ai_memory()",
+ "source_file": "jeannie",
+ "source_location": "L8241"
+ },
+ {
+ "id": "jeannie_ai_scheduler",
+ "label": "ai_scheduler()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ai_scheduler()",
+ "source_file": "jeannie",
+ "source_location": "L8237"
+ },
+ {
+ "id": "jeannie_artifact_cache",
+ "label": "artifact_cache()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "artifact_cache()",
+ "source_file": "jeannie",
+ "source_location": "L8339"
+ },
+ {
+ "id": "jeannie_ask_homelab",
+ "label": "ask_homelab()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ask_homelab()",
+ "source_file": "jeannie",
+ "source_location": "L8130"
+ },
+ {
+ "id": "jeannie_backup_gitea",
+ "label": "backup_gitea()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "backup_gitea()",
+ "source_file": "jeannie",
+ "source_location": "L5062"
+ },
+ {
+ "id": "jeannie_backup_status",
+ "label": "backup_status()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "backup_status()",
+ "source_file": "jeannie",
+ "source_location": "L8309"
+ },
+ {
+ "id": "jeannie_blockchain_devnet",
+ "label": "blockchain_devnet()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "blockchain_devnet()",
+ "source_file": "jeannie",
+ "source_location": "L8344"
+ },
+ {
+ "id": "jeannie_blockchain_test",
+ "label": "blockchain_test()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "blockchain_test()",
+ "source_file": "jeannie",
+ "source_location": "L8349"
+ },
+ {
+ "id": "jeannie_blockchain_wallet",
+ "label": "blockchain_wallet()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "blockchain_wallet()",
+ "source_file": "jeannie",
+ "source_location": "L8353"
+ },
+ {
+ "id": "jeannie_capacity_advisor",
+ "label": "capacity_advisor()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "capacity_advisor()",
+ "source_file": "jeannie",
+ "source_location": "L8324"
+ },
+ {
+ "id": "jeannie_capacity_limits",
+ "label": "capacity_limits()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "capacity_limits()",
+ "source_file": "jeannie",
+ "source_location": "L8329"
+ },
+ {
+ "id": "jeannie_capacity_report",
+ "label": "capacity_report()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "capacity_report()",
+ "source_file": "jeannie",
+ "source_location": "L8285"
+ },
+ {
+ "id": "jeannie_cert_check",
+ "label": "cert_check()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "cert_check()",
+ "source_file": "jeannie",
+ "source_location": "L8300"
+ },
+ {
+ "id": "jeannie_change_journal",
+ "label": "change_journal()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "change_journal()",
+ "source_file": "jeannie",
+ "source_location": "L8401"
+ },
+ {
+ "id": "jeannie_check_debian_docker_root",
+ "label": "check_debian_docker_root()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "check_debian_docker_root()",
+ "source_file": "jeannie",
+ "source_location": "L2285"
+ },
+ {
+ "id": "jeannie_control_plane",
+ "label": "control_plane()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "control_plane()",
+ "source_file": "jeannie",
+ "source_location": "L8334"
+ },
+ {
+ "id": "jeannie_deploy_gitea",
+ "label": "deploy_gitea()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "deploy_gitea()",
+ "source_file": "jeannie",
+ "source_location": "L3876"
+ },
+ {
+ "id": "jeannie_doctor_preapply",
+ "label": "doctor_preapply()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "doctor_preapply()",
+ "source_file": "jeannie",
+ "source_location": "L2555"
+ },
+ {
+ "id": "jeannie_drill_gitea_restore",
+ "label": "drill_gitea_restore()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "drill_gitea_restore()",
+ "source_file": "jeannie",
+ "source_location": "L5069"
+ },
+ {
+ "id": "jeannie_drill_pihole_restore",
+ "label": "drill_pihole_restore()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "drill_pihole_restore()",
+ "source_file": "jeannie",
+ "source_location": "L8276"
+ },
+ {
+ "id": "jeannie_drill_restore",
+ "label": "drill_restore()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "drill_restore()",
+ "source_file": "jeannie",
+ "source_location": "L8271"
+ },
+ {
+ "id": "jeannie_ensure_go_toolchain",
+ "label": "ensure_go_toolchain()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ensure_go_toolchain()",
+ "source_file": "jeannie",
+ "source_location": "L1021"
+ },
+ {
+ "id": "jeannie_explain",
+ "label": "explain()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "explain()",
+ "source_file": "jeannie",
+ "source_location": "L8366"
+ },
+ {
+ "id": "jeannie_fix_debian_docker_root",
+ "label": "fix_debian_docker_root()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "fix_debian_docker_root()",
+ "source_file": "jeannie",
+ "source_location": "L2300"
+ },
+ {
+ "id": "jeannie_gitops_status",
+ "label": "gitops_status()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "gitops_status()",
+ "source_file": "jeannie",
+ "source_location": "L8295"
+ },
+ {
+ "id": "jeannie_golden_ledger",
+ "label": "golden_ledger()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "golden_ledger()",
+ "source_file": "jeannie",
+ "source_location": "L8357"
+ },
+ {
+ "id": "jeannie_grafana_dashboards",
+ "label": "grafana_dashboards()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "grafana_dashboards()",
+ "source_file": "jeannie",
+ "source_location": "L8384"
+ },
+ {
+ "id": "jeannie_heal",
+ "label": "heal()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "heal()",
+ "source_file": "jeannie",
+ "source_location": "L8257"
+ },
+ {
+ "id": "jeannie_homelab_map",
+ "label": "homelab_map()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "homelab_map()",
+ "source_file": "jeannie",
+ "source_location": "L8405"
+ },
+ {
+ "id": "jeannie_homelab_preflight",
+ "label": "homelab_preflight()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "homelab_preflight()",
+ "source_file": "jeannie",
+ "source_location": "L2514"
+ },
+ {
+ "id": "jeannie_impact",
+ "label": "impact()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "impact()",
+ "source_file": "jeannie",
+ "source_location": "L8139"
+ },
+ {
+ "id": "jeannie_incident_commander",
+ "label": "incident_commander()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "incident_commander()",
+ "source_file": "jeannie",
+ "source_location": "L8225"
+ },
+ {
+ "id": "jeannie_install_gitea_backup_timer",
+ "label": "install_gitea_backup_timer()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "install_gitea_backup_timer()",
+ "source_file": "jeannie",
+ "source_location": "L4868"
+ },
+ {
+ "id": "jeannie_install_gitea_runner",
+ "label": "install_gitea_runner()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "install_gitea_runner()",
+ "source_file": "jeannie",
+ "source_location": "L5076"
+ },
+ {
+ "id": "jeannie_inventory_check",
+ "label": "inventory_check()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "inventory_check()",
+ "source_file": "jeannie",
+ "source_location": "L2578"
+ },
+ {
+ "id": "jeannie_kubeconfig_readonly",
+ "label": "kubeconfig_readonly()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "kubeconfig_readonly()",
+ "source_file": "jeannie",
+ "source_location": "L8280"
+ },
+ {
+ "id": "jeannie_load_homelab_inventory_defaults",
+ "label": "load_homelab_inventory_defaults()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "load_homelab_inventory_defaults()",
+ "source_file": "jeannie",
+ "source_location": "L26"
+ },
+ {
+ "id": "jeannie_model_observe",
+ "label": "model_observe()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "model_observe()",
+ "source_file": "jeannie",
+ "source_location": "L8253"
+ },
+ {
+ "id": "jeannie_ollama_linux_arch",
+ "label": "ollama_linux_arch()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ollama_linux_arch()",
+ "source_file": "jeannie",
+ "source_location": "L5254"
+ },
+ {
+ "id": "jeannie_ollama_setup",
+ "label": "ollama_setup()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ollama_setup()",
+ "source_file": "jeannie",
+ "source_location": "L5310"
+ },
+ {
+ "id": "jeannie_preflight_check",
+ "label": "preflight_check()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "preflight_check()",
+ "source_file": "jeannie",
+ "source_location": "L2233"
+ },
+ {
+ "id": "jeannie_preflight_warn",
+ "label": "preflight_warn()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "preflight_warn()",
+ "source_file": "jeannie",
+ "source_location": "L2251"
+ },
+ {
+ "id": "jeannie_print_usage",
+ "label": "print_usage()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "print_usage()",
+ "source_file": "jeannie",
+ "source_location": "L8409"
+ },
+ {
+ "id": "jeannie_promote",
+ "label": "promote()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "promote()",
+ "source_file": "jeannie",
+ "source_location": "L8249"
+ },
+ {
+ "id": "jeannie_prompt_injection_lab",
+ "label": "prompt_injection_lab()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "prompt_injection_lab()",
+ "source_file": "jeannie",
+ "source_location": "L8221"
+ },
+ {
+ "id": "jeannie_record_change_journal",
+ "label": "record_change_journal()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "record_change_journal()",
+ "source_file": "jeannie",
+ "source_location": "L8394"
+ },
+ {
+ "id": "jeannie_recover_plan",
+ "label": "recover_plan()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "recover_plan()",
+ "source_file": "jeannie",
+ "source_location": "L8290"
+ },
+ {
+ "id": "jeannie_recover_power",
+ "label": "recover_power()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "recover_power()",
+ "source_file": "jeannie",
+ "source_location": "L8373"
+ },
+ {
+ "id": "jeannie_red_blue_loop",
+ "label": "red_blue_loop()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "red_blue_loop()",
+ "source_file": "jeannie",
+ "source_location": "L8245"
+ },
+ {
+ "id": "jeannie_release_snapshot",
+ "label": "release_snapshot()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "release_snapshot()",
+ "source_file": "jeannie",
+ "source_location": "L8304"
+ },
+ {
+ "id": "jeannie_require_debian_server",
+ "label": "require_debian_server()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "require_debian_server()",
+ "source_file": "jeannie",
+ "source_location": "L217"
+ },
+ {
+ "id": "jeannie_resource_budget",
+ "label": "resource_budget()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "resource_budget()",
+ "source_file": "jeannie",
+ "source_location": "L8319"
+ },
+ {
+ "id": "jeannie_review_last_change",
+ "label": "review_last_change()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "review_last_change()",
+ "source_file": "jeannie",
+ "source_location": "L8143"
+ },
+ {
+ "id": "jeannie_route_inventory",
+ "label": "route_inventory()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "route_inventory()",
+ "source_file": "jeannie",
+ "source_location": "L8361"
+ },
+ {
+ "id": "jeannie_safety_case",
+ "label": "safety_case()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "safety_case()",
+ "source_file": "jeannie",
+ "source_location": "L8229"
+ },
+ {
+ "id": "jeannie_scorecard",
+ "label": "scorecard()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "scorecard()",
+ "source_file": "jeannie",
+ "source_location": "L8379"
+ },
+ {
+ "id": "jeannie_security_attack_path",
+ "label": "security_attack_path()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "security_attack_path()",
+ "source_file": "jeannie",
+ "source_location": "L8216"
+ },
+ {
+ "id": "jeannie_security_host",
+ "label": "security_host()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "security_host()",
+ "source_file": "jeannie",
+ "source_location": "L8167"
+ },
+ {
+ "id": "jeannie_security_k8s",
+ "label": "security_k8s()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "security_k8s()",
+ "source_file": "jeannie",
+ "source_location": "L8162"
+ },
+ {
+ "id": "jeannie_security_logs",
+ "label": "security_logs()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "security_logs()",
+ "source_file": "jeannie",
+ "source_location": "L8192"
+ },
+ {
+ "id": "jeannie_security_nuclei",
+ "label": "security_nuclei()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "security_nuclei()",
+ "source_file": "jeannie",
+ "source_location": "L8182"
+ },
+ {
+ "id": "jeannie_security_prepare",
+ "label": "security_prepare()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "security_prepare()",
+ "source_file": "jeannie",
+ "source_location": "L8152"
+ },
+ {
+ "id": "jeannie_security_runtime",
+ "label": "security_runtime()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "security_runtime()",
+ "source_file": "jeannie",
+ "source_location": "L8197"
+ },
+ {
+ "id": "jeannie_security_scan",
+ "label": "security_scan()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "security_scan()",
+ "source_file": "jeannie",
+ "source_location": "L8147"
+ },
+ {
+ "id": "jeannie_security_secrets",
+ "label": "security_secrets()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "security_secrets()",
+ "source_file": "jeannie",
+ "source_location": "L8177"
+ },
+ {
+ "id": "jeannie_security_trivy",
+ "label": "security_trivy()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "security_trivy()",
+ "source_file": "jeannie",
+ "source_location": "L8172"
+ },
+ {
+ "id": "jeannie_security_web",
+ "label": "security_web()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "security_web()",
+ "source_file": "jeannie",
+ "source_location": "L8187"
+ },
+ {
+ "id": "jeannie_security_zap",
+ "label": "security_zap()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "security_zap()",
+ "source_file": "jeannie",
+ "source_location": "L8157"
+ },
+ {
+ "id": "jeannie_synthetic_checks",
+ "label": "synthetic_checks()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "synthetic_checks()",
+ "source_file": "jeannie",
+ "source_location": "L8314"
+ },
+ {
+ "id": "jeannie_tailnet_policy_check",
+ "label": "tailnet_policy_check()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "tailnet_policy_check()",
+ "source_file": "jeannie",
+ "source_location": "L8049"
+ },
+ {
+ "id": "jeannie_validate_homelab",
+ "label": "validate_homelab()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "validate_homelab()",
+ "source_file": "jeannie",
+ "source_location": "L8262"
+ },
+ {
+ "id": "jeannie_website_ollama_listen",
+ "label": "website_ollama_listen()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "website_ollama_listen()",
+ "source_file": "jeannie",
+ "source_location": "L5210"
+ },
+ {
+ "id": "jeannie_website_translation_model",
+ "label": "website_translation_model()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "website_translation_model()",
+ "source_file": "jeannie",
+ "source_location": "L5183"
+ },
+ {
+ "id": "jeannie_workers_manage",
+ "label": "workers_manage()",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "jeannie script",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "workers_manage()",
+ "source_file": "jeannie",
+ "source_location": "L8389"
+ },
+ {
+ "id": "namespace",
+ "label": "Namespace",
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "incident-commander",
+ "file_type": "code",
+ "norm_label": "namespace",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "scripts_incident_commander",
+ "label": "incident-commander",
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "incident-commander",
+ "file_type": "code",
+ "norm_label": "incident-commander",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_incident_commander_rationale_2",
+ "label": "Read-only incident classification and triage for homelab failures.",
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "incident-commander",
+ "file_type": "rationale",
+ "norm_label": "read-only incident classification and triage for homelab failures.",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L2"
+ },
+ {
+ "id": "apps_demos_static_public_media_cruncher_media_cruncher",
+ "label": "media-cruncher.js",
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "media-cruncher.js",
+ "file_type": "code",
+ "norm_label": "media-cruncher.js",
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_demos_static_public_media_cruncher_media_cruncher_dropzone",
+ "label": "dropZone",
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "media-cruncher.js",
+ "file_type": "code",
+ "norm_label": "dropzone",
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L2"
+ },
+ {
+ "id": "apps_demos_static_public_media_cruncher_media_cruncher_extensionbytype",
+ "label": "extensionByType",
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "media-cruncher.js",
+ "file_type": "code",
+ "norm_label": "extensionbytype",
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L8"
+ },
+ {
+ "id": "apps_demos_static_public_media_cruncher_media_cruncher_maxedge",
+ "label": "maxEdge",
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "media-cruncher.js",
+ "file_type": "code",
+ "norm_label": "maxedge",
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L7"
+ },
+ {
+ "id": "apps_demos_static_public_media_cruncher_media_cruncher_mediainput",
+ "label": "mediaInput",
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "media-cruncher.js",
+ "file_type": "code",
+ "norm_label": "mediainput",
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_demos_static_public_media_cruncher_media_cruncher_outputformat",
+ "label": "outputFormat",
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "media-cruncher.js",
+ "file_type": "code",
+ "norm_label": "outputformat",
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L4"
+ },
+ {
+ "id": "apps_demos_static_public_media_cruncher_media_cruncher_quality",
+ "label": "quality",
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "media-cruncher.js",
+ "file_type": "code",
+ "norm_label": "quality",
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L5"
+ },
+ {
+ "id": "apps_demos_static_public_media_cruncher_media_cruncher_qualityoutput",
+ "label": "qualityOutput",
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "media-cruncher.js",
+ "file_type": "code",
+ "norm_label": "qualityoutput",
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L6"
+ },
+ {
+ "id": "apps_demos_static_public_media_cruncher_media_cruncher_results",
+ "label": "results",
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "media-cruncher.js",
+ "file_type": "code",
+ "norm_label": "results",
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L3"
+ },
+ {
+ "id": "scripts_build_homelab_ai_index",
+ "label": "build-homelab-ai-index",
+ "_origin": "ast",
+ "community": 22,
+ "community_name": "build-homelab-ai-index",
+ "file_type": "code",
+ "norm_label": "build-homelab-ai-index",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_build_homelab_ai_index_path",
+ "label": "Path",
+ "_origin": "ast",
+ "community": 22,
+ "community_name": "build-homelab-ai-index",
+ "file_type": "code",
+ "norm_label": "path",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "scripts_build_homelab_ai_index_rationale_2",
+ "label": "Build a small local retrieval index from non-secret homelab repo files.",
+ "_origin": "ast",
+ "community": 22,
+ "community_name": "build-homelab-ai-index",
+ "file_type": "rationale",
+ "norm_label": "build a small local retrieval index from non-secret homelab repo files.",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L2"
+ },
+ {
+ "id": "jeannie_adopt_apps_existing_resources",
+ "label": "adopt_apps_existing_resources()",
+ "_origin": "ast",
+ "community": 23,
+ "community_name": "run_tofu_stack",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "adopt_apps_existing_resources()",
+ "source_file": "jeannie",
+ "source_location": "L371"
+ },
+ {
+ "id": "jeannie_adopt_platform_existing_resources",
+ "label": "adopt_platform_existing_resources()",
+ "_origin": "ast",
+ "community": 23,
+ "community_name": "run_tofu_stack",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "adopt_platform_existing_resources()",
+ "source_file": "jeannie",
+ "source_location": "L341"
+ },
+ {
+ "id": "jeannie_adopt_tofu_helm_release",
+ "label": "adopt_tofu_helm_release()",
+ "_origin": "ast",
+ "community": 23,
+ "community_name": "run_tofu_stack",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "adopt_tofu_helm_release()",
+ "source_file": "jeannie",
+ "source_location": "L268"
+ },
+ {
+ "id": "jeannie_adopt_tofu_kubernetes_manifest",
+ "label": "adopt_tofu_kubernetes_manifest()",
+ "_origin": "ast",
+ "community": 23,
+ "community_name": "run_tofu_stack",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "adopt_tofu_kubernetes_manifest()",
+ "source_file": "jeannie",
+ "source_location": "L319"
+ },
+ {
+ "id": "jeannie_adopt_tofu_kubernetes_resource",
+ "label": "adopt_tofu_kubernetes_resource()",
+ "_origin": "ast",
+ "community": 23,
+ "community_name": "run_tofu_stack",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "adopt_tofu_kubernetes_resource()",
+ "source_file": "jeannie",
+ "source_location": "L300"
+ },
+ {
+ "id": "jeannie_cluster_control_plane_tracked",
+ "label": "cluster_control_plane_tracked()",
+ "_origin": "ast",
+ "community": 23,
+ "community_name": "run_tofu_stack",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "cluster_control_plane_tracked()",
+ "source_file": "jeannie",
+ "source_location": "L6478"
+ },
+ {
+ "id": "jeannie_delete_prometheus_stack_storage",
+ "label": "delete_prometheus_stack_storage()",
+ "_origin": "ast",
+ "community": 23,
+ "community_name": "run_tofu_stack",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "delete_prometheus_stack_storage()",
+ "source_file": "jeannie",
+ "source_location": "L471"
+ },
+ {
+ "id": "jeannie_edge_apply",
+ "label": "edge_apply()",
+ "_origin": "ast",
+ "community": 23,
+ "community_name": "run_tofu_stack",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "edge_apply()",
+ "source_file": "jeannie",
+ "source_location": "L5607"
+ },
+ {
+ "id": "jeannie_ensure_homelab_node_labels",
+ "label": "ensure_homelab_node_labels()",
+ "_origin": "ast",
+ "community": 23,
+ "community_name": "run_tofu_stack",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ensure_homelab_node_labels()",
+ "source_file": "jeannie",
+ "source_location": "L425"
+ },
+ {
+ "id": "jeannie_helm_release_secret_exists",
+ "label": "helm_release_secret_exists()",
+ "_origin": "ast",
+ "community": 23,
+ "community_name": "run_tofu_stack",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "helm_release_secret_exists()",
+ "source_file": "jeannie",
+ "source_location": "L243"
+ },
+ {
+ "id": "jeannie_kubernetes_resource_exists",
+ "label": "kubernetes_resource_exists()",
+ "_origin": "ast",
+ "community": 23,
+ "community_name": "run_tofu_stack",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "kubernetes_resource_exists()",
+ "source_file": "jeannie",
+ "source_location": "L255"
+ },
+ {
+ "id": "jeannie_move_prometheus_stack_workers",
+ "label": "move_prometheus_stack_workers()",
+ "_origin": "ast",
+ "community": 23,
+ "community_name": "run_tofu_stack",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "move_prometheus_stack_workers()",
+ "source_file": "jeannie",
+ "source_location": "L588"
+ },
+ {
+ "id": "jeannie_platform_apply",
+ "label": "platform_apply()",
+ "_origin": "ast",
+ "community": 23,
+ "community_name": "run_tofu_stack",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "platform_apply()",
+ "source_file": "jeannie",
+ "source_location": "L5601"
+ },
+ {
+ "id": "jeannie_run_tofu_stack",
+ "label": "run_tofu_stack()",
+ "_origin": "ast",
+ "community": 23,
+ "community_name": "run_tofu_stack",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "run_tofu_stack()",
+ "source_file": "jeannie",
+ "source_location": "L496"
+ },
+ {
+ "id": "jeannie_tofu_state_has_resource",
+ "label": "tofu_state_has_resource()",
+ "_origin": "ast",
+ "community": 23,
+ "community_name": "run_tofu_stack",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "tofu_state_has_resource()",
+ "source_file": "jeannie",
+ "source_location": "L236"
+ },
+ {
+ "id": "infra_heimdall_seed_heimdall",
+ "label": "seed-heimdall.py",
+ "_origin": "ast",
+ "community": 24,
+ "community_name": "seed-heimdall.py",
+ "file_type": "code",
+ "norm_label": "seed-heimdall.py",
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_prompt_injection_lab",
+ "label": "prompt-injection-lab",
+ "_origin": "ast",
+ "community": 25,
+ "community_name": "prompt-injection-lab",
+ "file_type": "code",
+ "norm_label": "prompt-injection-lab",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_prompt_injection_lab_rationale_2",
+ "label": "Local prompt-injection defense drills for homelab AI workflows.",
+ "_origin": "ast",
+ "community": 25,
+ "community_name": "prompt-injection-lab",
+ "file_type": "rationale",
+ "norm_label": "local prompt-injection defense drills for homelab ai workflows.",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L2"
+ },
+ {
+ "id": "infra_arr_stack_configure_arr",
+ "label": "configure-arr.py",
+ "_origin": "ast",
+ "community": 26,
+ "community_name": "configure-arr.py",
+ "file_type": "code",
+ "norm_label": "configure-arr.py",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "infra_arr_stack_configure_arr_py_path",
+ "label": "Path",
+ "_origin": "ast",
+ "community": 26,
+ "community_name": "configure-arr.py",
+ "file_type": "code",
+ "norm_label": "path",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "infra_arr_stack_configure_arr_rationale_2",
+ "label": "Configure safe baseline ARR app settings from local environment values.",
+ "_origin": "ast",
+ "community": 26,
+ "community_name": "configure-arr.py",
+ "file_type": "rationale",
+ "norm_label": "configure safe baseline arr app settings from local environment values.",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L2"
+ },
+ {
+ "id": "scripts_ai_evals",
+ "label": "ai-evals",
+ "_origin": "ast",
+ "community": 27,
+ "community_name": "ai-evals",
+ "file_type": "code",
+ "norm_label": "ai-evals",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_ai_evals_rationale_2",
+ "label": "Deterministic eval harness for Jeannie and homelab RAG behavior.",
+ "_origin": "ast",
+ "community": 27,
+ "community_name": "ai-evals",
+ "file_type": "rationale",
+ "norm_label": "deterministic eval harness for jeannie and homelab rag behavior.",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L2"
+ },
+ {
+ "id": "apps_website_translate",
+ "label": "translate.php",
+ "_origin": "ast",
+ "community": 28,
+ "community_name": "translate.php",
+ "file_type": "code",
+ "norm_label": "translate.php",
+ "source_file": "apps/website/translate.php",
+ "source_location": "L1"
+ },
+ {
+ "id": "basehttprequesthandler",
+ "label": "BaseHTTPRequestHandler",
+ "_origin": "ast",
+ "community": 29,
+ "community_name": "exporter.py",
+ "file_type": "code",
+ "norm_label": "basehttprequesthandler",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "infra_blockchain_devnet_metrics_exporter",
+ "label": "exporter.py",
+ "_origin": "ast",
+ "community": 29,
+ "community_name": "exporter.py",
+ "file_type": "code",
+ "norm_label": "exporter.py",
+ "source_file": "infra/blockchain-devnet/metrics/exporter.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "infra_rpi_services_seed_uptime_kuma",
+ "label": "seed-uptime-kuma.js",
+ "_origin": "ast",
+ "community": 30,
+ "community_name": "seed-uptime-kuma.js",
+ "file_type": "code",
+ "norm_label": "seed-uptime-kuma.js",
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L1"
+ },
+ {
+ "id": "infra_rpi_services_seed_uptime_kuma_fs",
+ "label": "fs",
+ "_origin": "ast",
+ "community": 30,
+ "community_name": "seed-uptime-kuma.js",
+ "file_type": "code",
+ "norm_label": "fs",
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L4"
+ },
+ {
+ "id": "infra_rpi_services_seed_uptime_kuma_path",
+ "label": "path",
+ "_origin": "ast",
+ "community": 30,
+ "community_name": "seed-uptime-kuma.js",
+ "file_type": "code",
+ "norm_label": "path",
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L5"
+ },
+ {
+ "id": "scripts_validate_homelab",
+ "label": "validate-homelab",
+ "_origin": "ast",
+ "community": 31,
+ "community_name": "validate-homelab",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "validate-homelab",
+ "source_file": "scripts/validate-homelab",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_validate_homelab__entry",
+ "label": "validate-homelab script",
+ "_origin": "ast",
+ "community": 31,
+ "community_name": "validate-homelab",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "validate-homelab script",
+ "source_file": "scripts/validate-homelab",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_validate_homelab_main",
+ "label": "main()",
+ "_origin": "ast",
+ "community": 31,
+ "community_name": "validate-homelab",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "main()",
+ "source_file": "scripts/validate-homelab",
+ "source_location": "L103"
+ },
+ {
+ "id": "scripts_validate_homelab_run_step",
+ "label": "run_step()",
+ "_origin": "ast",
+ "community": 31,
+ "community_name": "validate-homelab",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "run_step()",
+ "source_file": "scripts/validate-homelab",
+ "source_location": "L6"
+ },
+ {
+ "id": "scripts_validate_homelab_shell_files",
+ "label": "shell_files()",
+ "_origin": "ast",
+ "community": 31,
+ "community_name": "validate-homelab",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "shell_files()",
+ "source_file": "scripts/validate-homelab",
+ "source_location": "L14"
+ },
+ {
+ "id": "scripts_validate_homelab_validate_bash_syntax",
+ "label": "validate_bash_syntax()",
+ "_origin": "ast",
+ "community": 31,
+ "community_name": "validate-homelab",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "validate_bash_syntax()",
+ "source_file": "scripts/validate-homelab",
+ "source_location": "L31"
+ },
+ {
+ "id": "scripts_validate_homelab_validate_go",
+ "label": "validate_go()",
+ "_origin": "ast",
+ "community": 31,
+ "community_name": "validate-homelab",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "validate_go()",
+ "source_file": "scripts/validate-homelab",
+ "source_location": "L81"
+ },
+ {
+ "id": "scripts_validate_homelab_validate_security_static",
+ "label": "validate_security_static()",
+ "_origin": "ast",
+ "community": 31,
+ "community_name": "validate-homelab",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "validate_security_static()",
+ "source_file": "scripts/validate-homelab",
+ "source_location": "L90"
+ },
+ {
+ "id": "scripts_validate_homelab_validate_shellcheck",
+ "label": "validate_shellcheck()",
+ "_origin": "ast",
+ "community": 31,
+ "community_name": "validate-homelab",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "validate_shellcheck()",
+ "source_file": "scripts/validate-homelab",
+ "source_location": "L46"
+ },
+ {
+ "id": "scripts_validate_homelab_validate_tofu_fmt",
+ "label": "validate_tofu_fmt()",
+ "_origin": "ast",
+ "community": 31,
+ "community_name": "validate-homelab",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "validate_tofu_fmt()",
+ "source_file": "scripts/validate-homelab",
+ "source_location": "L73"
+ },
+ {
+ "id": "scripts_validate_homelab_validate_unit_tests",
+ "label": "validate_unit_tests()",
+ "_origin": "ast",
+ "community": 31,
+ "community_name": "validate-homelab",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "validate_unit_tests()",
+ "source_file": "scripts/validate-homelab",
+ "source_location": "L99"
+ },
+ {
+ "id": "scripts_validate_homelab_validate_yaml",
+ "label": "validate_yaml()",
+ "_origin": "ast",
+ "community": 31,
+ "community_name": "validate-homelab",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "validate_yaml()",
+ "source_file": "scripts/validate-homelab",
+ "source_location": "L65"
+ },
+ {
+ "id": "infra_rpi_services_bootstrap",
+ "label": "rpi-services/bootstrap.sh",
+ "_origin": "ast",
+ "community": 33,
+ "community_name": "rpi-services/bootstrap.sh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "rpi-services/bootstrap.sh",
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L1"
+ },
+ {
+ "id": "infra_rpi_services_bootstrap_configure_docker_root",
+ "label": "configure_docker_root()",
+ "_origin": "ast",
+ "community": 33,
+ "community_name": "rpi-services/bootstrap.sh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "configure_docker_root()",
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L40"
+ },
+ {
+ "id": "infra_rpi_services_bootstrap_docker_root_target",
+ "label": "docker_root_target()",
+ "_origin": "ast",
+ "community": 33,
+ "community_name": "rpi-services/bootstrap.sh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "docker_root_target()",
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L28"
+ },
+ {
+ "id": "infra_rpi_services_bootstrap_install_missing_packages",
+ "label": "install_missing_packages()",
+ "_origin": "ast",
+ "community": 33,
+ "community_name": "rpi-services/bootstrap.sh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "install_missing_packages()",
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L12"
+ },
+ {
+ "id": "infra_rpi_services_bootstrap_resolve_pihole_webpassword",
+ "label": "resolve_pihole_webpassword()",
+ "_origin": "ast",
+ "community": 33,
+ "community_name": "rpi-services/bootstrap.sh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "resolve_pihole_webpassword()",
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L104"
+ },
+ {
+ "id": "infra_rpi_services_bootstrap_seed_uptime_kuma_monitors",
+ "label": "seed_uptime_kuma_monitors()",
+ "_origin": "ast",
+ "community": 33,
+ "community_name": "rpi-services/bootstrap.sh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "seed_uptime_kuma_monitors()",
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L261"
+ },
+ {
+ "id": "infra_rpi_services_bootstrap_sh__entry",
+ "label": "bootstrap.sh script",
+ "_origin": "ast",
+ "community": 33,
+ "community_name": "rpi-services/bootstrap.sh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "bootstrap.sh script",
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L1"
+ },
+ {
+ "id": "infra_rpi_services_bootstrap_stop_legacy_pihole",
+ "label": "stop_legacy_pihole()",
+ "_origin": "ast",
+ "community": 33,
+ "community_name": "rpi-services/bootstrap.sh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "stop_legacy_pihole()",
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L89"
+ },
+ {
+ "id": "infra_rpi_services_bootstrap_sync_pihole_adlists",
+ "label": "sync_pihole_adlists()",
+ "_origin": "ast",
+ "community": 33,
+ "community_name": "rpi-services/bootstrap.sh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "sync_pihole_adlists()",
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L163"
+ },
+ {
+ "id": "infra_rpi_services_bootstrap_sync_pihole_managed_dns",
+ "label": "sync_pihole_managed_dns()",
+ "_origin": "ast",
+ "community": 33,
+ "community_name": "rpi-services/bootstrap.sh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "sync_pihole_managed_dns()",
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L212"
+ },
+ {
+ "id": "infra_rpi_services_bootstrap_write_env_file",
+ "label": "write_env_file()",
+ "_origin": "ast",
+ "community": 33,
+ "community_name": "rpi-services/bootstrap.sh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "write_env_file()",
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L133"
+ },
+ {
+ "id": "jeannie_jeannie_compact_text",
+ "label": "jeannie_compact_text()",
+ "_origin": "ast",
+ "community": 34,
+ "community_name": "run_step",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "jeannie_compact_text()",
+ "source_file": "jeannie",
+ "source_location": "L853"
+ },
+ {
+ "id": "jeannie_jeannie_log_start",
+ "label": "jeannie_log_start()",
+ "_origin": "ast",
+ "community": 34,
+ "community_name": "run_step",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "jeannie_log_start()",
+ "source_file": "jeannie",
+ "source_location": "L816"
+ },
+ {
+ "id": "jeannie_jeannie_step_latest_progress_line",
+ "label": "jeannie_step_latest_progress_line()",
+ "_origin": "ast",
+ "community": 34,
+ "community_name": "run_step",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "jeannie_step_latest_progress_line()",
+ "source_file": "jeannie",
+ "source_location": "L883"
+ },
+ {
+ "id": "jeannie_jeannie_step_plan",
+ "label": "jeannie_step_plan()",
+ "_origin": "ast",
+ "community": 34,
+ "community_name": "run_step",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "jeannie_step_plan()",
+ "source_file": "jeannie",
+ "source_location": "L834"
+ },
+ {
+ "id": "jeannie_jeannie_step_prefix",
+ "label": "jeannie_step_prefix()",
+ "_origin": "ast",
+ "community": 34,
+ "community_name": "run_step",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "jeannie_step_prefix()",
+ "source_file": "jeannie",
+ "source_location": "L843"
+ },
+ {
+ "id": "jeannie_jeannie_step_progress",
+ "label": "jeannie_step_progress()",
+ "_origin": "ast",
+ "community": 34,
+ "community_name": "run_step",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "jeannie_step_progress()",
+ "source_file": "jeannie",
+ "source_location": "L866"
+ },
+ {
+ "id": "jeannie_jeannie_verbose_enabled",
+ "label": "jeannie_verbose_enabled()",
+ "_origin": "ast",
+ "community": 34,
+ "community_name": "run_step",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "jeannie_verbose_enabled()",
+ "source_file": "jeannie",
+ "source_location": "L839"
+ },
+ {
+ "id": "jeannie_rebuild_cluster",
+ "label": "rebuild_cluster()",
+ "_origin": "ast",
+ "community": 34,
+ "community_name": "run_step",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "rebuild_cluster()",
+ "source_file": "jeannie",
+ "source_location": "L6011"
+ },
+ {
+ "id": "jeannie_redact_sensitive_output",
+ "label": "redact_sensitive_output()",
+ "_origin": "ast",
+ "community": 34,
+ "community_name": "run_step",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "redact_sensitive_output()",
+ "source_file": "jeannie",
+ "source_location": "L894"
+ },
+ {
+ "id": "jeannie_run_step",
+ "label": "run_step()",
+ "_origin": "ast",
+ "community": 34,
+ "community_name": "run_step",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "run_step()",
+ "source_file": "jeannie",
+ "source_location": "L907"
+ },
+ {
+ "id": "jeannie_up",
+ "label": "up()",
+ "_origin": "ast",
+ "community": 34,
+ "community_name": "run_step",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "up()",
+ "source_file": "jeannie",
+ "source_location": "L5930"
+ },
+ {
+ "id": "scripts_model_observe",
+ "label": "model-observe",
+ "_origin": "ast",
+ "community": 35,
+ "community_name": "model-observe",
+ "file_type": "code",
+ "norm_label": "model-observe",
+ "source_file": "scripts/model-observe",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_model_observe_rationale_2",
+ "label": "Track local model behavior with stable homelab prompts.",
+ "_origin": "ast",
+ "community": 35,
+ "community_name": "model-observe",
+ "file_type": "rationale",
+ "norm_label": "track local model behavior with stable homelab prompts.",
+ "source_file": "scripts/model-observe",
+ "source_location": "L2"
+ },
+ {
+ "id": "scripts_restore_drill",
+ "label": "restore-drill",
+ "_origin": "ast",
+ "community": 36,
+ "community_name": "restore-drill",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "restore-drill",
+ "source_file": "scripts/restore-drill",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_restore_drill__entry",
+ "label": "restore-drill script",
+ "_origin": "ast",
+ "community": 36,
+ "community_name": "restore-drill",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "restore-drill script",
+ "source_file": "scripts/restore-drill",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_restore_drill_check_file",
+ "label": "check_file()",
+ "_origin": "ast",
+ "community": 36,
+ "community_name": "restore-drill",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "check_file()",
+ "source_file": "scripts/restore-drill",
+ "source_location": "L12"
+ },
+ {
+ "id": "scripts_restore_drill_drill_gitea",
+ "label": "drill_gitea()",
+ "_origin": "ast",
+ "community": 36,
+ "community_name": "restore-drill",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "drill_gitea()",
+ "source_file": "scripts/restore-drill",
+ "source_location": "L34"
+ },
+ {
+ "id": "scripts_restore_drill_drill_gitops",
+ "label": "drill_gitops()",
+ "_origin": "ast",
+ "community": 36,
+ "community_name": "restore-drill",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "drill_gitops()",
+ "source_file": "scripts/restore-drill",
+ "source_location": "L86"
+ },
+ {
+ "id": "scripts_restore_drill_drill_pihole",
+ "label": "drill_pihole()",
+ "_origin": "ast",
+ "community": 36,
+ "community_name": "restore-drill",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "drill_pihole()",
+ "source_file": "scripts/restore-drill",
+ "source_location": "L61"
+ },
+ {
+ "id": "scripts_restore_drill_drill_state",
+ "label": "drill_state()",
+ "_origin": "ast",
+ "community": 36,
+ "community_name": "restore-drill",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "drill_state()",
+ "source_file": "scripts/restore-drill",
+ "source_location": "L71"
+ },
+ {
+ "id": "scripts_restore_drill_latest_file",
+ "label": "latest_file()",
+ "_origin": "ast",
+ "community": 36,
+ "community_name": "restore-drill",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "latest_file()",
+ "source_file": "scripts/restore-drill",
+ "source_location": "L25"
+ },
+ {
+ "id": "scripts_restore_drill_main",
+ "label": "main()",
+ "_origin": "ast",
+ "community": 36,
+ "community_name": "restore-drill",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "main()",
+ "source_file": "scripts/restore-drill",
+ "source_location": "L108"
+ },
+ {
+ "id": "scripts_restore_drill_section",
+ "label": "section()",
+ "_origin": "ast",
+ "community": 36,
+ "community_name": "restore-drill",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "section()",
+ "source_file": "scripts/restore-drill",
+ "source_location": "L8"
+ },
+ {
+ "id": "scripts_restore_drill_usage",
+ "label": "usage()",
+ "_origin": "ast",
+ "community": 36,
+ "community_name": "restore-drill",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "usage()",
+ "source_file": "scripts/restore-drill",
+ "source_location": "L99"
+ },
+ {
+ "id": "scripts_ai_scheduler",
+ "label": "ai-scheduler",
+ "_origin": "ast",
+ "community": 37,
+ "community_name": "ai-scheduler",
+ "file_type": "code",
+ "norm_label": "ai-scheduler",
+ "source_file": "scripts/ai-scheduler",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_ai_scheduler_path",
+ "label": "Path",
+ "_origin": "ast",
+ "community": 37,
+ "community_name": "ai-scheduler",
+ "file_type": "code",
+ "norm_label": "path",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "scripts_ai_scheduler_rationale_2",
+ "label": "Simulate placement for AI-ish homelab workloads.",
+ "_origin": "ast",
+ "community": 37,
+ "community_name": "ai-scheduler",
+ "file_type": "rationale",
+ "norm_label": "simulate placement for ai-ish homelab workloads.",
+ "source_file": "scripts/ai-scheduler",
+ "source_location": "L2"
+ },
+ {
+ "id": "renovate",
+ "label": "renovate.json",
+ "_origin": "ast",
+ "community": 38,
+ "community_name": "renovate.json",
+ "file_type": "code",
+ "norm_label": "renovate.json",
+ "source_file": "renovate.json",
+ "source_location": "L1"
+ },
+ {
+ "id": "renovate_custommanagers",
+ "label": "customManagers",
+ "_origin": "ast",
+ "community": 38,
+ "community_name": "renovate.json",
+ "file_type": "code",
+ "norm_label": "custommanagers",
+ "source_file": "renovate.json",
+ "source_location": "L51"
+ },
+ {
+ "id": "renovate_dependencydashboard",
+ "label": "dependencyDashboard",
+ "_origin": "ast",
+ "community": 38,
+ "community_name": "renovate.json",
+ "file_type": "code",
+ "norm_label": "dependencydashboard",
+ "source_file": "renovate.json",
+ "source_location": "L7"
+ },
+ {
+ "id": "renovate_extends",
+ "label": "extends",
+ "_origin": "ast",
+ "community": 38,
+ "community_name": "renovate.json",
+ "file_type": "code",
+ "norm_label": "extends",
+ "source_file": "renovate.json",
+ "source_location": "L3"
+ },
+ {
+ "id": "renovate_labels",
+ "label": "labels",
+ "_origin": "ast",
+ "community": 38,
+ "community_name": "renovate.json",
+ "file_type": "code",
+ "norm_label": "labels",
+ "source_file": "renovate.json",
+ "source_location": "L8"
+ },
+ {
+ "id": "renovate_packagerules",
+ "label": "packageRules",
+ "_origin": "ast",
+ "community": 38,
+ "community_name": "renovate.json",
+ "file_type": "code",
+ "norm_label": "packagerules",
+ "source_file": "renovate.json",
+ "source_location": "L12"
+ },
+ {
+ "id": "renovate_prconcurrentlimit",
+ "label": "prConcurrentLimit",
+ "_origin": "ast",
+ "community": 38,
+ "community_name": "renovate.json",
+ "file_type": "code",
+ "norm_label": "prconcurrentlimit",
+ "source_file": "renovate.json",
+ "source_location": "L11"
+ },
+ {
+ "id": "renovate_schema",
+ "label": "$schema",
+ "_origin": "ast",
+ "community": 38,
+ "community_name": "renovate.json",
+ "file_type": "code",
+ "norm_label": "$schema",
+ "source_file": "renovate.json",
+ "source_location": "L2"
+ },
+ {
+ "id": "renovate_timezone",
+ "label": "timezone",
+ "_origin": "ast",
+ "community": 38,
+ "community_name": "renovate.json",
+ "file_type": "code",
+ "norm_label": "timezone",
+ "source_file": "renovate.json",
+ "source_location": "L6"
+ },
+ {
+ "id": "ref_config_recommended",
+ "label": "config:recommended",
+ "_origin": "ast",
+ "community": 38,
+ "community_name": "renovate.json",
+ "file_type": "concept",
+ "norm_label": "config:recommended",
+ "source_file": "renovate.json",
+ "source_location": "L3"
+ },
+ {
+ "id": "scripts_access_audit",
+ "label": "access-audit",
+ "_origin": "ast",
+ "community": 39,
+ "community_name": "access-audit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "access-audit",
+ "source_file": "scripts/access-audit",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_access_audit__entry",
+ "label": "access-audit script",
+ "_origin": "ast",
+ "community": 39,
+ "community_name": "access-audit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "access-audit script",
+ "source_file": "scripts/access-audit",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_access_audit_git_access",
+ "label": "git_access()",
+ "_origin": "ast",
+ "community": 39,
+ "community_name": "access-audit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "git_access()",
+ "source_file": "scripts/access-audit",
+ "source_location": "L40"
+ },
+ {
+ "id": "scripts_access_audit_kubernetes_access",
+ "label": "kubernetes_access()",
+ "_origin": "ast",
+ "community": 39,
+ "community_name": "access-audit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "kubernetes_access()",
+ "source_file": "scripts/access-audit",
+ "source_location": "L68"
+ },
+ {
+ "id": "scripts_access_audit_main",
+ "label": "main()",
+ "_origin": "ast",
+ "community": 39,
+ "community_name": "access-audit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "main()",
+ "source_file": "scripts/access-audit",
+ "source_location": "L114"
+ },
+ {
+ "id": "scripts_access_audit_runner_access",
+ "label": "runner_access()",
+ "_origin": "ast",
+ "community": 39,
+ "community_name": "access-audit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "runner_access()",
+ "source_file": "scripts/access-audit",
+ "source_location": "L104"
+ },
+ {
+ "id": "scripts_access_audit_section",
+ "label": "section()",
+ "_origin": "ast",
+ "community": 39,
+ "community_name": "access-audit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "section()",
+ "source_file": "scripts/access-audit",
+ "source_location": "L7"
+ },
+ {
+ "id": "scripts_access_audit_ssh_inventory",
+ "label": "ssh_inventory()",
+ "_origin": "ast",
+ "community": 39,
+ "community_name": "access-audit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ssh_inventory()",
+ "source_file": "scripts/access-audit",
+ "source_location": "L30"
+ },
+ {
+ "id": "scripts_access_audit_tailnet_access",
+ "label": "tailnet_access()",
+ "_origin": "ast",
+ "community": 39,
+ "community_name": "access-audit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "tailnet_access()",
+ "source_file": "scripts/access-audit",
+ "source_location": "L55"
+ },
+ {
+ "id": "scripts_access_audit_warn_file_mode",
+ "label": "warn_file_mode()",
+ "_origin": "ast",
+ "community": 39,
+ "community_name": "access-audit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "warn_file_mode()",
+ "source_file": "scripts/access-audit",
+ "source_location": "L11"
+ },
+ {
+ "id": "cmd_jeannie_core_main",
+ "label": "main.go",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "main.go",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L1"
+ },
+ {
+ "id": "cmd_jeannie_core_main_envdefault",
+ "label": "envDefault()",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "envdefault()",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L263"
+ },
+ {
+ "id": "cmd_jeannie_core_main_executedag",
+ "label": "executeDAG()",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "executedag()",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L98"
+ },
+ {
+ "id": "cmd_jeannie_core_main_filterreportrows",
+ "label": "filterReportRows()",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "filterreportrows()",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L317"
+ },
+ {
+ "id": "cmd_jeannie_core_main_includereportrow",
+ "label": "includeReportRow()",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "includereportrow()",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L327"
+ },
+ {
+ "id": "cmd_jeannie_core_main_main",
+ "label": "main()",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "main()",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L29"
+ },
+ {
+ "id": "cmd_jeannie_core_main_normalizestatus",
+ "label": "normalizeStatus()",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "normalizestatus()",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L309"
+ },
+ {
+ "id": "cmd_jeannie_core_main_orderedreportareas",
+ "label": "orderedReportAreas()",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "orderedreportareas()",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L410"
+ },
+ {
+ "id": "cmd_jeannie_core_main_parsereportrows",
+ "label": "parseReportRows()",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "parsereportrows()",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L270"
+ },
+ {
+ "id": "cmd_jeannie_core_main_renderreporttext",
+ "label": "renderReportText()",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "renderreporttext()",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L342"
+ },
+ {
+ "id": "cmd_jeannie_core_main_reportstatusrank",
+ "label": "reportStatusRank()",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "reportstatusrank()",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L432"
+ },
+ {
+ "id": "cmd_jeannie_core_main_rowsforreportarea",
+ "label": "rowsForReportArea()",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "rowsforreportarea()",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L422"
+ },
+ {
+ "id": "cmd_jeannie_core_main_rundag",
+ "label": "runDAG()",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "rundag()",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L76"
+ },
+ {
+ "id": "cmd_jeannie_core_main_rundagtask",
+ "label": "runDAGTask()",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "rundagtask()",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L186"
+ },
+ {
+ "id": "cmd_jeannie_core_main_runreportrender",
+ "label": "runReportRender()",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "runreportrender()",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L235"
+ },
+ {
+ "id": "cmd_jeannie_core_main_test",
+ "label": "main_test.go",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "main_test.go",
+ "source_file": "cmd/jeannie-core/main_test.go",
+ "source_location": "L1"
+ },
+ {
+ "id": "cmd_jeannie_core_main_test_testexecutedagrespectsdependencies",
+ "label": "TestExecuteDAGRespectsDependencies()",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "testexecutedagrespectsdependencies()",
+ "source_file": "cmd/jeannie-core/main_test.go",
+ "source_location": "L49"
+ },
+ {
+ "id": "cmd_jeannie_core_main_test_testexecutedagreturnsfailedtask",
+ "label": "TestExecuteDAGReturnsFailedTask()",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "testexecutedagreturnsfailedtask()",
+ "source_file": "cmd/jeannie-core/main_test.go",
+ "source_location": "L77"
+ },
+ {
+ "id": "cmd_jeannie_core_main_test_testreportrenderhidesokgraphandquery",
+ "label": "TestReportRenderHidesOKGraphAndQuery()",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "testreportrenderhidesokgraphandquery()",
+ "source_file": "cmd/jeannie-core/main_test.go",
+ "source_location": "L35"
+ },
+ {
+ "id": "cmd_jeannie_core_main_test_testreportrenderproblemsonly",
+ "label": "TestReportRenderProblemsOnly()",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "testreportrenderproblemsonly()",
+ "source_file": "cmd/jeannie-core/main_test.go",
+ "source_location": "L12"
+ },
+ {
+ "id": "cmd_jeannie_core_main_truncate",
+ "label": "truncate()",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "truncate()",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L447"
+ },
+ {
+ "id": "cmd_jeannie_core_main_usage",
+ "label": "usage()",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "usage()",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L54"
+ },
+ {
+ "id": "cmd_jeannie_core_main_writedagline",
+ "label": "writeDAGLine()",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "writedagline()",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L229"
+ },
+ {
+ "id": "go_type_context_context",
+ "label": "context.Context",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "context.context",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "go_type_io_reader",
+ "label": "io.Reader",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "io.reader",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "go_type_io_writer",
+ "label": "io.Writer",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "io.writer",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "go_type_sync_mutex",
+ "label": "sync.Mutex",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "sync.mutex",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "go_type_testing_t",
+ "label": "testing.T",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "testing.t",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "jeannie_core_dagspec",
+ "label": "dagSpec",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "dagspec",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L58"
+ },
+ {
+ "id": "jeannie_core_dagtask",
+ "label": "dagTask",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "dagtask",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L63"
+ },
+ {
+ "id": "jeannie_core_dagtaskresult",
+ "label": "dagTaskResult",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "dagtaskresult",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L70"
+ },
+ {
+ "id": "jeannie_core_reportrow",
+ "label": "reportRow",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "main.go",
+ "file_type": "code",
+ "norm_label": "reportrow",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L18"
+ },
+ {
+ "id": "scripts_query_homelab_ai_index",
+ "label": "query-homelab-ai-index",
+ "_origin": "ast",
+ "community": 40,
+ "community_name": "query-homelab-ai-index",
+ "file_type": "code",
+ "norm_label": "query-homelab-ai-index",
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_query_homelab_ai_index_path",
+ "label": "Path",
+ "_origin": "ast",
+ "community": 40,
+ "community_name": "query-homelab-ai-index",
+ "file_type": "code",
+ "norm_label": "path",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "scripts_query_homelab_ai_index_rationale_2",
+ "label": "Query the local homelab retrieval index and optionally ask Ollama.",
+ "_origin": "ast",
+ "community": 40,
+ "community_name": "query-homelab-ai-index",
+ "file_type": "rationale",
+ "norm_label": "query the local homelab retrieval index and optionally ask ollama.",
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L2"
+ },
+ {
+ "id": "apps_website_ideas_helper",
+ "label": "ideas_helper.php",
+ "_origin": "ast",
+ "community": 41,
+ "community_name": "ideas_helper.php",
+ "file_type": "code",
+ "norm_label": "ideas_helper.php",
+ "source_file": "apps/website/ideas_helper.php",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_explain",
+ "label": "explain",
+ "_origin": "ast",
+ "community": 42,
+ "community_name": "explain",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "explain",
+ "source_file": "scripts/explain",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_explain__entry",
+ "label": "explain script",
+ "_origin": "ast",
+ "community": 42,
+ "community_name": "explain",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "explain script",
+ "source_file": "scripts/explain",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_explain_cleanup",
+ "label": "cleanup()",
+ "_origin": "ast",
+ "community": 42,
+ "community_name": "explain",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "cleanup()",
+ "source_file": "scripts/explain",
+ "source_location": "L9"
+ },
+ {
+ "id": "scripts_explain_explain_output",
+ "label": "explain_output()",
+ "_origin": "ast",
+ "community": 42,
+ "community_name": "explain",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "explain_output()",
+ "source_file": "scripts/explain",
+ "source_location": "L85"
+ },
+ {
+ "id": "scripts_explain_is_read_only_command",
+ "label": "is_read_only_command()",
+ "_origin": "ast",
+ "community": 42,
+ "community_name": "explain",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "is_read_only_command()",
+ "source_file": "scripts/explain",
+ "source_location": "L35"
+ },
+ {
+ "id": "scripts_explain_is_read_only_subcommand",
+ "label": "is_read_only_subcommand()",
+ "_origin": "ast",
+ "community": 42,
+ "community_name": "explain",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "is_read_only_subcommand()",
+ "source_file": "scripts/explain",
+ "source_location": "L46"
+ },
+ {
+ "id": "scripts_explain_main",
+ "label": "main()",
+ "_origin": "ast",
+ "community": 42,
+ "community_name": "explain",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "main()",
+ "source_file": "scripts/explain",
+ "source_location": "L288"
+ },
+ {
+ "id": "scripts_explain_run_target",
+ "label": "run_target()",
+ "_origin": "ast",
+ "community": 42,
+ "community_name": "explain",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "run_target()",
+ "source_file": "scripts/explain",
+ "source_location": "L72"
+ },
+ {
+ "id": "scripts_explain_usage",
+ "label": "usage()",
+ "_origin": "ast",
+ "community": 42,
+ "community_name": "explain",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "usage()",
+ "source_file": "scripts/explain",
+ "source_location": "L16"
+ },
+ {
+ "id": "scripts_resource_budget",
+ "label": "resource-budget",
+ "_origin": "ast",
+ "community": 43,
+ "community_name": "resource-budget",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "resource-budget",
+ "source_file": "scripts/resource-budget",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_resource_budget__entry",
+ "label": "resource-budget script",
+ "_origin": "ast",
+ "community": 43,
+ "community_name": "resource-budget",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "resource-budget script",
+ "source_file": "scripts/resource-budget",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_resource_budget_fail",
+ "label": "fail()",
+ "_origin": "ast",
+ "community": 43,
+ "community_name": "resource-budget",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "fail()",
+ "source_file": "scripts/resource-budget",
+ "source_location": "L50"
+ },
+ {
+ "id": "scripts_resource_budget_have",
+ "label": "have()",
+ "_origin": "ast",
+ "community": 43,
+ "community_name": "resource-budget",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "have()",
+ "source_file": "scripts/resource-budget",
+ "source_location": "L55"
+ },
+ {
+ "id": "scripts_resource_budget_host_budget",
+ "label": "host_budget()",
+ "_origin": "ast",
+ "community": 43,
+ "community_name": "resource-budget",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "host_budget()",
+ "source_file": "scripts/resource-budget",
+ "source_location": "L59"
+ },
+ {
+ "id": "scripts_resource_budget_kubernetes_budget",
+ "label": "kubernetes_budget()",
+ "_origin": "ast",
+ "community": 43,
+ "community_name": "resource-budget",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "kubernetes_budget()",
+ "source_file": "scripts/resource-budget",
+ "source_location": "L79"
+ },
+ {
+ "id": "scripts_resource_budget_section",
+ "label": "section()",
+ "_origin": "ast",
+ "community": 43,
+ "community_name": "resource-budget",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "section()",
+ "source_file": "scripts/resource-budget",
+ "source_location": "L41"
+ },
+ {
+ "id": "scripts_resource_budget_usage",
+ "label": "usage()",
+ "_origin": "ast",
+ "community": 43,
+ "community_name": "resource-budget",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "usage()",
+ "source_file": "scripts/resource-budget",
+ "source_location": "L13"
+ },
+ {
+ "id": "scripts_resource_budget_warn",
+ "label": "warn()",
+ "_origin": "ast",
+ "community": 43,
+ "community_name": "resource-budget",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "warn()",
+ "source_file": "scripts/resource-budget",
+ "source_location": "L45"
+ },
+ {
+ "id": "scripts_safety_case",
+ "label": "safety-case",
+ "_origin": "ast",
+ "community": 44,
+ "community_name": "safety-case",
+ "file_type": "code",
+ "norm_label": "safety-case",
+ "source_file": "scripts/safety-case",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_safety_case_rationale_2",
+ "label": "Generate a read-only safety case for homelab changes.",
+ "_origin": "ast",
+ "community": 44,
+ "community_name": "safety-case",
+ "file_type": "rationale",
+ "norm_label": "generate a read-only safety case for homelab changes.",
+ "source_file": "scripts/safety-case",
+ "source_location": "L2"
+ },
+ {
+ "id": "scripts_validate_tailnet_policy",
+ "label": "validate-tailnet-policy",
+ "_origin": "ast",
+ "community": 45,
+ "community_name": "validate-tailnet-policy",
+ "file_type": "code",
+ "norm_label": "validate-tailnet-policy",
+ "source_file": "scripts/validate-tailnet-policy",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_validate_tailnet_policy_path",
+ "label": "Path",
+ "_origin": "ast",
+ "community": 45,
+ "community_name": "validate-tailnet-policy",
+ "file_type": "code",
+ "norm_label": "path",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "scripts_validate_tailnet_policy_rationale_2",
+ "label": "Validate the repo-managed Tailscale policy without contacting Tailscale.",
+ "_origin": "ast",
+ "community": 45,
+ "community_name": "validate-tailnet-policy",
+ "file_type": "rationale",
+ "norm_label": "validate the repo-managed tailscale policy without contacting tailscale.",
+ "source_file": "scripts/validate-tailnet-policy",
+ "source_location": "L2"
+ },
+ {
+ "id": "scripts_cert_check",
+ "label": "cert-check",
+ "_origin": "ast",
+ "community": 46,
+ "community_name": "cert-check",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "cert-check",
+ "source_file": "scripts/cert-check",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_cert_check__entry",
+ "label": "cert-check script",
+ "_origin": "ast",
+ "community": 46,
+ "community_name": "cert-check",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "cert-check script",
+ "source_file": "scripts/cert-check",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_cert_check_cleanup",
+ "label": "cleanup()",
+ "_origin": "ast",
+ "community": 46,
+ "community_name": "cert-check",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "cleanup()",
+ "source_file": "scripts/cert-check",
+ "source_location": "L14"
+ },
+ {
+ "id": "scripts_cert_check_have",
+ "label": "have()",
+ "_origin": "ast",
+ "community": 46,
+ "community_name": "cert-check",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "have()",
+ "source_file": "scripts/cert-check",
+ "source_location": "L25"
+ },
+ {
+ "id": "scripts_cert_check_inventory_hosts",
+ "label": "inventory_hosts()",
+ "_origin": "ast",
+ "community": 46,
+ "community_name": "cert-check",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "inventory_hosts()",
+ "source_file": "scripts/cert-check",
+ "source_location": "L46"
+ },
+ {
+ "id": "scripts_cert_check_inventory_scalar",
+ "label": "inventory_scalar()",
+ "_origin": "ast",
+ "community": 46,
+ "community_name": "cert-check",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "inventory_scalar()",
+ "source_file": "scripts/cert-check",
+ "source_location": "L34"
+ },
+ {
+ "id": "scripts_cert_check_mark_fail",
+ "label": "mark_fail()",
+ "_origin": "ast",
+ "community": 46,
+ "community_name": "cert-check",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "mark_fail()",
+ "source_file": "scripts/cert-check",
+ "source_location": "L29"
+ },
+ {
+ "id": "scripts_cert_check_section",
+ "label": "section()",
+ "_origin": "ast",
+ "community": 46,
+ "community_name": "cert-check",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "section()",
+ "source_file": "scripts/cert-check",
+ "source_location": "L21"
+ },
+ {
+ "id": "scripts_promote",
+ "label": "promote",
+ "_origin": "ast",
+ "community": 47,
+ "community_name": "promote",
+ "file_type": "code",
+ "norm_label": "promote",
+ "source_file": "scripts/promote",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_promote_rationale_2",
+ "label": "Plan and validate canary promotion gates.",
+ "_origin": "ast",
+ "community": 47,
+ "community_name": "promote",
+ "file_type": "rationale",
+ "norm_label": "plan and validate canary promotion gates.",
+ "source_file": "scripts/promote",
+ "source_location": "L2"
+ },
+ {
+ "id": "scripts_security_attack_path",
+ "label": "security-attack-path",
+ "_origin": "ast",
+ "community": 48,
+ "community_name": "security-attack-path",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "security-attack-path",
+ "source_file": "scripts/security-attack-path",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_security_attack_path__entry",
+ "label": "security-attack-path script",
+ "_origin": "ast",
+ "community": 48,
+ "community_name": "security-attack-path",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "security-attack-path script",
+ "source_file": "scripts/security-attack-path",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_security_attack_path_jsonpath_or_unknown",
+ "label": "jsonpath_or_unknown()",
+ "_origin": "ast",
+ "community": 48,
+ "community_name": "security-attack-path",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "jsonpath_or_unknown()",
+ "source_file": "scripts/security-attack-path",
+ "source_location": "L40"
+ },
+ {
+ "id": "scripts_security_attack_path_kubectl_ro",
+ "label": "kubectl_ro()",
+ "_origin": "ast",
+ "community": 48,
+ "community_name": "security-attack-path",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "kubectl_ro()",
+ "source_file": "scripts/security-attack-path",
+ "source_location": "L36"
+ },
+ {
+ "id": "scripts_security_attack_path_main",
+ "label": "main()",
+ "_origin": "ast",
+ "community": 48,
+ "community_name": "security-attack-path",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "main()",
+ "source_file": "scripts/security-attack-path",
+ "source_location": "L49"
+ },
+ {
+ "id": "scripts_security_attack_path_require_kubectl",
+ "label": "require_kubectl()",
+ "_origin": "ast",
+ "community": 48,
+ "community_name": "security-attack-path",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "require_kubectl()",
+ "source_file": "scripts/security-attack-path",
+ "source_location": "L21"
+ },
+ {
+ "id": "scripts_security_attack_path_section",
+ "label": "section()",
+ "_origin": "ast",
+ "community": 48,
+ "community_name": "security-attack-path",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "section()",
+ "source_file": "scripts/security-attack-path",
+ "source_location": "L32"
+ },
+ {
+ "id": "scripts_security_attack_path_usage",
+ "label": "usage()",
+ "_origin": "ast",
+ "community": 48,
+ "community_name": "security-attack-path",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "usage()",
+ "source_file": "scripts/security-attack-path",
+ "source_location": "L8"
+ },
+ {
+ "id": "scripts_security_logs",
+ "label": "security-logs",
+ "_origin": "ast",
+ "community": 49,
+ "community_name": "security-logs",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "security-logs",
+ "source_file": "scripts/security-logs",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_security_logs__entry",
+ "label": "security-logs script",
+ "_origin": "ast",
+ "community": 49,
+ "community_name": "security-logs",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "security-logs script",
+ "source_file": "scripts/security-logs",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_security_logs_collect_gitea_logs",
+ "label": "collect_gitea_logs()",
+ "_origin": "ast",
+ "community": 49,
+ "community_name": "security-logs",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "collect_gitea_logs()",
+ "source_file": "scripts/security-logs",
+ "source_location": "L37"
+ },
+ {
+ "id": "scripts_security_logs_collect_traefik_logs",
+ "label": "collect_traefik_logs()",
+ "_origin": "ast",
+ "community": 49,
+ "community_name": "security-logs",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "collect_traefik_logs()",
+ "source_file": "scripts/security-logs",
+ "source_location": "L50"
+ },
+ {
+ "id": "scripts_security_logs_ensure_report_dir",
+ "label": "ensure_report_dir()",
+ "_origin": "ast",
+ "community": 49,
+ "community_name": "security-logs",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ensure_report_dir()",
+ "source_file": "scripts/security-logs",
+ "source_location": "L14"
+ },
+ {
+ "id": "scripts_security_logs_main",
+ "label": "main()",
+ "_origin": "ast",
+ "community": 49,
+ "community_name": "security-logs",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "main()",
+ "source_file": "scripts/security-logs",
+ "source_location": "L66"
+ },
+ {
+ "id": "scripts_security_logs_print_matches",
+ "label": "print_matches()",
+ "_origin": "ast",
+ "community": 49,
+ "community_name": "security-logs",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "print_matches()",
+ "source_file": "scripts/security-logs",
+ "source_location": "L18"
+ },
+ {
+ "id": "scripts_security_logs_timestamp",
+ "label": "timestamp()",
+ "_origin": "ast",
+ "community": 49,
+ "community_name": "security-logs",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "timestamp()",
+ "source_file": "scripts/security-logs",
+ "source_location": "L10"
+ },
+ {
+ "id": "scripts_synthetic_checks",
+ "label": "synthetic-checks",
+ "_origin": "ast",
+ "community": 50,
+ "community_name": "synthetic-checks",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "synthetic-checks",
+ "source_file": "scripts/synthetic-checks",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_synthetic_checks__entry",
+ "label": "synthetic-checks script",
+ "_origin": "ast",
+ "community": 50,
+ "community_name": "synthetic-checks",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "synthetic-checks script",
+ "source_file": "scripts/synthetic-checks",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_synthetic_checks_check",
+ "label": "check()",
+ "_origin": "ast",
+ "community": 50,
+ "community_name": "synthetic-checks",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "check()",
+ "source_file": "scripts/synthetic-checks",
+ "source_location": "L20"
+ },
+ {
+ "id": "scripts_synthetic_checks_dns_query",
+ "label": "dns_query()",
+ "_origin": "ast",
+ "community": 50,
+ "community_name": "synthetic-checks",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "dns_query()",
+ "source_file": "scripts/synthetic-checks",
+ "source_location": "L82"
+ },
+ {
+ "id": "scripts_synthetic_checks_http_ok",
+ "label": "http_ok()",
+ "_origin": "ast",
+ "community": 50,
+ "community_name": "synthetic-checks",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "http_ok()",
+ "source_file": "scripts/synthetic-checks",
+ "source_location": "L66"
+ },
+ {
+ "id": "scripts_synthetic_checks_kubectl_ok",
+ "label": "kubectl_ok()",
+ "_origin": "ast",
+ "community": 50,
+ "community_name": "synthetic-checks",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "kubectl_ok()",
+ "source_file": "scripts/synthetic-checks",
+ "source_location": "L116"
+ },
+ {
+ "id": "scripts_synthetic_checks_section",
+ "label": "section()",
+ "_origin": "ast",
+ "community": 50,
+ "community_name": "synthetic-checks",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "section()",
+ "source_file": "scripts/synthetic-checks",
+ "source_location": "L16"
+ },
+ {
+ "id": "scripts_synthetic_checks_warn_check",
+ "label": "warn_check()",
+ "_origin": "ast",
+ "community": 50,
+ "community_name": "synthetic-checks",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "warn_check()",
+ "source_file": "scripts/synthetic-checks",
+ "source_location": "L43"
+ },
+ {
+ "id": "apps_demos_static_public_theme",
+ "label": "theme.js",
+ "_origin": "ast",
+ "community": 51,
+ "community_name": "theme.js",
+ "file_type": "code",
+ "norm_label": "theme.js",
+ "source_file": "apps/demos-static/public/theme.js",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_website_cv_theme",
+ "label": "cv-theme.js",
+ "_origin": "ast",
+ "community": 52,
+ "community_name": "cv-theme.js",
+ "file_type": "code",
+ "norm_label": "cv-theme.js",
+ "source_file": "apps/website/cv-theme.js",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_website_cv_theme_cvportrait",
+ "label": "cvPortrait",
+ "_origin": "ast",
+ "community": 52,
+ "community_name": "cv-theme.js",
+ "file_type": "code",
+ "norm_label": "cvportrait",
+ "source_file": "apps/website/cv-theme.js",
+ "source_location": "L1"
+ },
+ {
+ "id": "jeannie_cluster_worker_var_file_has_workers",
+ "label": "cluster_worker_var_file_has_workers()",
+ "_origin": "ast",
+ "community": 53,
+ "community_name": "prepare_cluster_worker_var_file",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "cluster_worker_var_file_has_workers()",
+ "source_file": "jeannie",
+ "source_location": "L2219"
+ },
+ {
+ "id": "jeannie_ensure_cluster_worker_var_file",
+ "label": "ensure_cluster_worker_var_file()",
+ "_origin": "ast",
+ "community": 53,
+ "community_name": "prepare_cluster_worker_var_file",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ensure_cluster_worker_var_file()",
+ "source_file": "jeannie",
+ "source_location": "L5790"
+ },
+ {
+ "id": "jeannie_plan_homelab",
+ "label": "plan_homelab()",
+ "_origin": "ast",
+ "community": 53,
+ "community_name": "prepare_cluster_worker_var_file",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "plan_homelab()",
+ "source_file": "jeannie",
+ "source_location": "L5978"
+ },
+ {
+ "id": "jeannie_prepare_cluster_worker_var_file",
+ "label": "prepare_cluster_worker_var_file()",
+ "_origin": "ast",
+ "community": 53,
+ "community_name": "prepare_cluster_worker_var_file",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "prepare_cluster_worker_var_file()",
+ "source_file": "jeannie",
+ "source_location": "L2152"
+ },
+ {
+ "id": "jeannie_run_tofu_plan_stack",
+ "label": "run_tofu_plan_stack()",
+ "_origin": "ast",
+ "community": 53,
+ "community_name": "prepare_cluster_worker_var_file",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "run_tofu_plan_stack()",
+ "source_file": "jeannie",
+ "source_location": "L532"
+ },
+ {
+ "id": "jeannie_tofu_stack_from_plan_target",
+ "label": "tofu_stack_from_plan_target()",
+ "_origin": "ast",
+ "community": 53,
+ "community_name": "prepare_cluster_worker_var_file",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "tofu_stack_from_plan_target()",
+ "source_file": "jeannie",
+ "source_location": "L5954"
+ },
+ {
+ "id": "jeannie_write_cluster_worker_var_file",
+ "label": "write_cluster_worker_var_file()",
+ "_origin": "ast",
+ "community": 53,
+ "community_name": "prepare_cluster_worker_var_file",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "write_cluster_worker_var_file()",
+ "source_file": "jeannie",
+ "source_location": "L2079"
+ },
+ {
+ "id": "scripts_red_blue_loop",
+ "label": "red-blue-loop",
+ "_origin": "ast",
+ "community": 54,
+ "community_name": "red-blue-loop",
+ "file_type": "code",
+ "norm_label": "red-blue-loop",
+ "source_file": "scripts/red-blue-loop",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_red_blue_loop_rationale_2",
+ "label": "Run or plan the homelab red-team/blue-team loop.",
+ "_origin": "ast",
+ "community": 54,
+ "community_name": "red-blue-loop",
+ "file_type": "rationale",
+ "norm_label": "run or plan the homelab red-team/blue-team loop.",
+ "source_file": "scripts/red-blue-loop",
+ "source_location": "L2"
+ },
+ {
+ "id": "apps_demos_static_public_architecture_simulator_architecture_simulator",
+ "label": "architecture-simulator.js",
+ "_origin": "ast",
+ "community": 55,
+ "community_name": "architecture-simulator.js",
+ "file_type": "code",
+ "norm_label": "architecture-simulator.js",
+ "source_file": "apps/demos-static/public/architecture-simulator/architecture-simulator.js",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_demos_static_public_architecture_simulator_architecture_simulator_canvas",
+ "label": "canvas",
+ "_origin": "ast",
+ "community": 55,
+ "community_name": "architecture-simulator.js",
+ "file_type": "code",
+ "norm_label": "canvas",
+ "source_file": "apps/demos-static/public/architecture-simulator/architecture-simulator.js",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_demos_static_public_architecture_simulator_architecture_simulator_ctx",
+ "label": "ctx",
+ "_origin": "ast",
+ "community": 55,
+ "community_name": "architecture-simulator.js",
+ "file_type": "code",
+ "norm_label": "ctx",
+ "source_file": "apps/demos-static/public/architecture-simulator/architecture-simulator.js",
+ "source_location": "L2"
+ },
+ {
+ "id": "apps_demos_static_public_architecture_simulator_architecture_simulator_state",
+ "label": "state",
+ "_origin": "ast",
+ "community": 55,
+ "community_name": "architecture-simulator.js",
+ "file_type": "code",
+ "norm_label": "state",
+ "source_file": "apps/demos-static/public/architecture-simulator/architecture-simulator.js",
+ "source_location": "L3"
+ },
+ {
+ "id": "apps_demos_static_public_dev_toolbelt_dev_toolbelt",
+ "label": "dev-toolbelt.js",
+ "_origin": "ast",
+ "community": 56,
+ "community_name": "dev-toolbelt.js",
+ "file_type": "code",
+ "norm_label": "dev-toolbelt.js",
+ "source_file": "apps/demos-static/public/dev-toolbelt/dev-toolbelt.js",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_demos_static_public_dev_toolbelt_dev_toolbelt_input",
+ "label": "input",
+ "_origin": "ast",
+ "community": 56,
+ "community_name": "dev-toolbelt.js",
+ "file_type": "code",
+ "norm_label": "input",
+ "source_file": "apps/demos-static/public/dev-toolbelt/dev-toolbelt.js",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_demos_static_public_dev_toolbelt_dev_toolbelt_logfilter",
+ "label": "logFilter",
+ "_origin": "ast",
+ "community": 56,
+ "community_name": "dev-toolbelt.js",
+ "file_type": "code",
+ "norm_label": "logfilter",
+ "source_file": "apps/demos-static/public/dev-toolbelt/dev-toolbelt.js",
+ "source_location": "L3"
+ },
+ {
+ "id": "apps_demos_static_public_dev_toolbelt_dev_toolbelt_output",
+ "label": "output",
+ "_origin": "ast",
+ "community": 56,
+ "community_name": "dev-toolbelt.js",
+ "file_type": "code",
+ "norm_label": "output",
+ "source_file": "apps/demos-static/public/dev-toolbelt/dev-toolbelt.js",
+ "source_location": "L2"
+ },
+ {
+ "id": "apps_demos_static_public_network_quality_network_quality",
+ "label": "network-quality.js",
+ "_origin": "ast",
+ "community": 57,
+ "community_name": "network-quality.js",
+ "file_type": "code",
+ "norm_label": "network-quality.js",
+ "source_file": "apps/demos-static/public/network-quality/network-quality.js",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_demos_static_public_network_quality_network_quality_canvas",
+ "label": "canvas",
+ "_origin": "ast",
+ "community": 57,
+ "community_name": "network-quality.js",
+ "file_type": "code",
+ "norm_label": "canvas",
+ "source_file": "apps/demos-static/public/network-quality/network-quality.js",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_demos_static_public_network_quality_network_quality_ctx",
+ "label": "ctx",
+ "_origin": "ast",
+ "community": 57,
+ "community_name": "network-quality.js",
+ "file_type": "code",
+ "norm_label": "ctx",
+ "source_file": "apps/demos-static/public/network-quality/network-quality.js",
+ "source_location": "L2"
+ },
+ {
+ "id": "apps_demos_static_public_network_quality_network_quality_samples",
+ "label": "samples",
+ "_origin": "ast",
+ "community": 57,
+ "community_name": "network-quality.js",
+ "file_type": "code",
+ "norm_label": "samples",
+ "source_file": "apps/demos-static/public/network-quality/network-quality.js",
+ "source_location": "L3"
+ },
+ {
+ "id": "apps_demos_static_public_sentiment_sandbox_sentiment_sandbox",
+ "label": "sentiment-sandbox.js",
+ "_origin": "ast",
+ "community": 58,
+ "community_name": "sentiment-sandbox.js",
+ "file_type": "code",
+ "norm_label": "sentiment-sandbox.js",
+ "source_file": "apps/demos-static/public/sentiment-sandbox/sentiment-sandbox.js",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_demos_static_public_sentiment_sandbox_sentiment_sandbox_input",
+ "label": "input",
+ "_origin": "ast",
+ "community": 58,
+ "community_name": "sentiment-sandbox.js",
+ "file_type": "code",
+ "norm_label": "input",
+ "source_file": "apps/demos-static/public/sentiment-sandbox/sentiment-sandbox.js",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_demos_static_public_sentiment_sandbox_sentiment_sandbox_negative",
+ "label": "negative",
+ "_origin": "ast",
+ "community": 58,
+ "community_name": "sentiment-sandbox.js",
+ "file_type": "code",
+ "norm_label": "negative",
+ "source_file": "apps/demos-static/public/sentiment-sandbox/sentiment-sandbox.js",
+ "source_location": "L4"
+ },
+ {
+ "id": "apps_demos_static_public_sentiment_sandbox_sentiment_sandbox_output",
+ "label": "output",
+ "_origin": "ast",
+ "community": 58,
+ "community_name": "sentiment-sandbox.js",
+ "file_type": "code",
+ "norm_label": "output",
+ "source_file": "apps/demos-static/public/sentiment-sandbox/sentiment-sandbox.js",
+ "source_location": "L2"
+ },
+ {
+ "id": "apps_demos_static_public_sentiment_sandbox_sentiment_sandbox_positive",
+ "label": "positive",
+ "_origin": "ast",
+ "community": 58,
+ "community_name": "sentiment-sandbox.js",
+ "file_type": "code",
+ "norm_label": "positive",
+ "source_file": "apps/demos-static/public/sentiment-sandbox/sentiment-sandbox.js",
+ "source_location": "L3"
+ },
+ {
+ "id": "jeannie_ensure_sops_age_tools",
+ "label": "ensure_sops_age_tools()",
+ "_origin": "ast",
+ "community": 59,
+ "community_name": "secrets_init",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ensure_sops_age_tools()",
+ "source_file": "jeannie",
+ "source_location": "L7828"
+ },
+ {
+ "id": "jeannie_secrets_check",
+ "label": "secrets_check()",
+ "_origin": "ast",
+ "community": 59,
+ "community_name": "secrets_init",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "secrets_check()",
+ "source_file": "jeannie",
+ "source_location": "L8001"
+ },
+ {
+ "id": "jeannie_secrets_check_file",
+ "label": "secrets_check_file()",
+ "_origin": "ast",
+ "community": 59,
+ "community_name": "secrets_init",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "secrets_check_file()",
+ "source_file": "jeannie",
+ "source_location": "L7977"
+ },
+ {
+ "id": "jeannie_secrets_init",
+ "label": "secrets_init()",
+ "_origin": "ast",
+ "community": 59,
+ "community_name": "secrets_init",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "secrets_init()",
+ "source_file": "jeannie",
+ "source_location": "L7927"
+ },
+ {
+ "id": "jeannie_sops_age_key_file",
+ "label": "sops_age_key_file()",
+ "_origin": "ast",
+ "community": 59,
+ "community_name": "secrets_init",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "sops_age_key_file()",
+ "source_file": "jeannie",
+ "source_location": "L7867"
+ },
+ {
+ "id": "jeannie_sops_age_recipient",
+ "label": "sops_age_recipient()",
+ "_origin": "ast",
+ "community": 59,
+ "community_name": "secrets_init",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "sops_age_recipient()",
+ "source_file": "jeannie",
+ "source_location": "L7871"
+ },
+ {
+ "id": "jeannie_ai_check",
+ "label": "ai_check()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ai_check()",
+ "source_file": "jeannie",
+ "source_location": "L8065"
+ },
+ {
+ "id": "jeannie_backstage_brain_enabled",
+ "label": "backstage_brain_enabled()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "backstage_brain_enabled()",
+ "source_file": "jeannie",
+ "source_location": "L6983"
+ },
+ {
+ "id": "jeannie_backstage_brain_note",
+ "label": "backstage_brain_note()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "backstage_brain_note()",
+ "source_file": "jeannie",
+ "source_location": "L6990"
+ },
+ {
+ "id": "jeannie_doctor_cluster",
+ "label": "doctor_cluster()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "doctor_cluster()",
+ "source_file": "jeannie",
+ "source_location": "L7605"
+ },
+ {
+ "id": "jeannie_doctor_edge",
+ "label": "doctor_edge()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "doctor_edge()",
+ "source_file": "jeannie",
+ "source_location": "L7432"
+ },
+ {
+ "id": "jeannie_doctor_gitea",
+ "label": "doctor_gitea()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "doctor_gitea()",
+ "source_file": "jeannie",
+ "source_location": "L7501"
+ },
+ {
+ "id": "jeannie_doctor_rpi",
+ "label": "doctor_rpi()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "doctor_rpi()",
+ "source_file": "jeannie",
+ "source_location": "L7564"
+ },
+ {
+ "id": "jeannie_doctor_versions",
+ "label": "doctor_versions()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "doctor_versions()",
+ "source_file": "jeannie",
+ "source_location": "L775"
+ },
+ {
+ "id": "jeannie_doctor_versions_compact",
+ "label": "doctor_versions_compact()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "doctor_versions_compact()",
+ "source_file": "jeannie",
+ "source_location": "L702"
+ },
+ {
+ "id": "jeannie_status_cascade_check",
+ "label": "status_cascade_check()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_cascade_check()",
+ "source_file": "jeannie",
+ "source_location": "L6663"
+ },
+ {
+ "id": "jeannie_status_cascade_report",
+ "label": "status_cascade_report()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_cascade_report()",
+ "source_file": "jeannie",
+ "source_location": "L6919"
+ },
+ {
+ "id": "jeannie_status_cascade_warn",
+ "label": "status_cascade_warn()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_cascade_warn()",
+ "source_file": "jeannie",
+ "source_location": "L6689"
+ },
+ {
+ "id": "jeannie_status_compose_stack",
+ "label": "status_compose_stack()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_compose_stack()",
+ "source_file": "jeannie",
+ "source_location": "L7089"
+ },
+ {
+ "id": "jeannie_status_http",
+ "label": "status_http()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_http()",
+ "source_file": "jeannie",
+ "source_location": "L6596"
+ },
+ {
+ "id": "jeannie_status_kubernetes",
+ "label": "status_kubernetes()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_kubernetes()",
+ "source_file": "jeannie",
+ "source_location": "L7110"
+ },
+ {
+ "id": "jeannie_status_kubernetes_api_ok",
+ "label": "status_kubernetes_api_ok()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_kubernetes_api_ok()",
+ "source_file": "jeannie",
+ "source_location": "L6728"
+ },
+ {
+ "id": "jeannie_status_kubernetes_problem_pods",
+ "label": "status_kubernetes_problem_pods()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_kubernetes_problem_pods()",
+ "source_file": "jeannie",
+ "source_location": "L7132"
+ },
+ {
+ "id": "jeannie_status_report",
+ "label": "status_report()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_report()",
+ "source_file": "jeannie",
+ "source_location": "L7283"
+ },
+ {
+ "id": "jeannie_status_rpi_services",
+ "label": "status_rpi_services()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_rpi_services()",
+ "source_file": "jeannie",
+ "source_location": "L7182"
+ },
+ {
+ "id": "jeannie_status_run",
+ "label": "status_run()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_run()",
+ "source_file": "jeannie",
+ "source_location": "L6536"
+ },
+ {
+ "id": "jeannie_status_section",
+ "label": "status_section()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_section()",
+ "source_file": "jeannie",
+ "source_location": "L6528"
+ },
+ {
+ "id": "jeannie_status_systemd_units",
+ "label": "status_systemd_units()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "status_systemd_units()",
+ "source_file": "jeannie",
+ "source_location": "L7077"
+ },
+ {
+ "id": "jeannie_truthy",
+ "label": "truthy()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "truthy()",
+ "source_file": "jeannie",
+ "source_location": "L788"
+ },
+ {
+ "id": "scripts_report_ui",
+ "label": "report-ui",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "report-ui",
+ "source_file": "scripts/report-ui",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_report_ui__entry",
+ "label": "report-ui script",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "report-ui script",
+ "source_file": "scripts/report-ui",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_report_ui_report_ui_begin",
+ "label": "report_ui_begin()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "report_ui_begin()",
+ "source_file": "scripts/report-ui",
+ "source_location": "L56"
+ },
+ {
+ "id": "scripts_report_ui_report_ui_check",
+ "label": "report_ui_check()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "report_ui_check()",
+ "source_file": "scripts/report-ui",
+ "source_location": "L109"
+ },
+ {
+ "id": "scripts_report_ui_report_ui_cleanup",
+ "label": "report_ui_cleanup()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "report_ui_cleanup()",
+ "source_file": "scripts/report-ui",
+ "source_location": "L60"
+ },
+ {
+ "id": "scripts_report_ui_report_ui_emit",
+ "label": "report_ui_emit()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "report_ui_emit()",
+ "source_file": "scripts/report-ui",
+ "source_location": "L83"
+ },
+ {
+ "id": "scripts_report_ui_report_ui_first_line",
+ "label": "report_ui_first_line()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "report_ui_first_line()",
+ "source_file": "scripts/report-ui",
+ "source_location": "L75"
+ },
+ {
+ "id": "scripts_report_ui_report_ui_one_line",
+ "label": "report_ui_one_line()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "report_ui_one_line()",
+ "source_file": "scripts/report-ui",
+ "source_location": "L67"
+ },
+ {
+ "id": "scripts_report_ui_report_ui_parse_args",
+ "label": "report_ui_parse_args()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "report_ui_parse_args()",
+ "source_file": "scripts/report-ui",
+ "source_location": "L20"
+ },
+ {
+ "id": "scripts_report_ui_report_ui_render",
+ "label": "report_ui_render()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "report_ui_render()",
+ "source_file": "scripts/report-ui",
+ "source_location": "L145"
+ },
+ {
+ "id": "scripts_report_ui_report_ui_trim_detail",
+ "label": "report_ui_trim_detail()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "report_ui_trim_detail()",
+ "source_file": "scripts/report-ui",
+ "source_location": "L79"
+ },
+ {
+ "id": "scripts_report_ui_report_ui_usage_flags",
+ "label": "report_ui_usage_flags()",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "truthy",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "report_ui_usage_flags()",
+ "source_file": "scripts/report-ui",
+ "source_location": "L10"
+ },
+ {
+ "id": "scripts_backup_status",
+ "label": "backup-status",
+ "_origin": "ast",
+ "community": 60,
+ "community_name": "backup-status",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "backup-status",
+ "source_file": "scripts/backup-status",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_backup_status__entry",
+ "label": "backup-status script",
+ "_origin": "ast",
+ "community": 60,
+ "community_name": "backup-status",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "backup-status script",
+ "source_file": "scripts/backup-status",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_backup_status_check_latest",
+ "label": "check_latest()",
+ "_origin": "ast",
+ "community": 60,
+ "community_name": "backup-status",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "check_latest()",
+ "source_file": "scripts/backup-status",
+ "source_location": "L45"
+ },
+ {
+ "id": "scripts_backup_status_file_age_hours",
+ "label": "file_age_hours()",
+ "_origin": "ast",
+ "community": 60,
+ "community_name": "backup-status",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "file_age_hours()",
+ "source_file": "scripts/backup-status",
+ "source_location": "L32"
+ },
+ {
+ "id": "scripts_backup_status_latest_file",
+ "label": "latest_file()",
+ "_origin": "ast",
+ "community": 60,
+ "community_name": "backup-status",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "latest_file()",
+ "source_file": "scripts/backup-status",
+ "source_location": "L20"
+ },
+ {
+ "id": "scripts_backup_status_section",
+ "label": "section()",
+ "_origin": "ast",
+ "community": 60,
+ "community_name": "backup-status",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "section()",
+ "source_file": "scripts/backup-status",
+ "source_location": "L16"
+ },
+ {
+ "id": "scripts_control_plane",
+ "label": "control-plane",
+ "_origin": "ast",
+ "community": 61,
+ "community_name": "control-plane",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "control-plane",
+ "source_file": "scripts/control-plane",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_control_plane__entry",
+ "label": "control-plane script",
+ "_origin": "ast",
+ "community": 61,
+ "community_name": "control-plane",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "control-plane script",
+ "source_file": "scripts/control-plane",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_control_plane_require_kubectl",
+ "label": "require_kubectl()",
+ "_origin": "ast",
+ "community": 61,
+ "community_name": "control-plane",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "require_kubectl()",
+ "source_file": "scripts/control-plane",
+ "source_location": "L23"
+ },
+ {
+ "id": "scripts_control_plane_show_non_system_pods",
+ "label": "show_non_system_pods()",
+ "_origin": "ast",
+ "community": 61,
+ "community_name": "control-plane",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "show_non_system_pods()",
+ "source_file": "scripts/control-plane",
+ "source_location": "L45"
+ },
+ {
+ "id": "scripts_control_plane_show_taints",
+ "label": "show_taints()",
+ "_origin": "ast",
+ "community": 61,
+ "community_name": "control-plane",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "show_taints()",
+ "source_file": "scripts/control-plane",
+ "source_location": "L39"
+ },
+ {
+ "id": "scripts_control_plane_usage",
+ "label": "usage()",
+ "_origin": "ast",
+ "community": 61,
+ "community_name": "control-plane",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "usage()",
+ "source_file": "scripts/control-plane",
+ "source_location": "L9"
+ },
+ {
+ "id": "scripts_recover_plan",
+ "label": "recover-plan",
+ "_origin": "ast",
+ "community": 62,
+ "community_name": "recover-plan",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "recover-plan",
+ "source_file": "scripts/recover-plan",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_recover_plan__entry",
+ "label": "recover-plan script",
+ "_origin": "ast",
+ "community": 62,
+ "community_name": "recover-plan",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "recover-plan script",
+ "source_file": "scripts/recover-plan",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_recover_plan_check",
+ "label": "check()",
+ "_origin": "ast",
+ "community": 62,
+ "community_name": "recover-plan",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "check()",
+ "source_file": "scripts/recover-plan",
+ "source_location": "L7"
+ },
+ {
+ "id": "scripts_recover_plan_has_gitea_backup",
+ "label": "has_gitea_backup()",
+ "_origin": "ast",
+ "community": 62,
+ "community_name": "recover-plan",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "has_gitea_backup()",
+ "source_file": "scripts/recover-plan",
+ "source_location": "L21"
+ },
+ {
+ "id": "scripts_recover_plan_has_state_backup",
+ "label": "has_state_backup()",
+ "_origin": "ast",
+ "community": 62,
+ "community_name": "recover-plan",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "has_state_backup()",
+ "source_file": "scripts/recover-plan",
+ "source_location": "L25"
+ },
+ {
+ "id": "scripts_recover_plan_main",
+ "label": "main()",
+ "_origin": "ast",
+ "community": 62,
+ "community_name": "recover-plan",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "main()",
+ "source_file": "scripts/recover-plan",
+ "source_location": "L29"
+ },
+ {
+ "id": "scripts_release_snapshot",
+ "label": "release-snapshot",
+ "_origin": "ast",
+ "community": 63,
+ "community_name": "release-snapshot",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "release-snapshot",
+ "source_file": "scripts/release-snapshot",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_release_snapshot__entry",
+ "label": "release-snapshot script",
+ "_origin": "ast",
+ "community": 63,
+ "community_name": "release-snapshot",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "release-snapshot script",
+ "source_file": "scripts/release-snapshot",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_release_snapshot_have",
+ "label": "have()",
+ "_origin": "ast",
+ "community": 63,
+ "community_name": "release-snapshot",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "have()",
+ "source_file": "scripts/release-snapshot",
+ "source_location": "L17"
+ },
+ {
+ "id": "scripts_release_snapshot_latest_file",
+ "label": "latest_file()",
+ "_origin": "ast",
+ "community": 63,
+ "community_name": "release-snapshot",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "latest_file()",
+ "source_file": "scripts/release-snapshot",
+ "source_location": "L33"
+ },
+ {
+ "id": "scripts_release_snapshot_run_optional",
+ "label": "run_optional()",
+ "_origin": "ast",
+ "community": 63,
+ "community_name": "release-snapshot",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "run_optional()",
+ "source_file": "scripts/release-snapshot",
+ "source_location": "L21"
+ },
+ {
+ "id": "scripts_release_snapshot_section",
+ "label": "section()",
+ "_origin": "ast",
+ "community": 63,
+ "community_name": "release-snapshot",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "section()",
+ "source_file": "scripts/release-snapshot",
+ "source_location": "L13"
+ },
+ {
+ "id": "scripts_render_docs",
+ "label": "render-docs",
+ "_origin": "ast",
+ "community": 64,
+ "community_name": "render-docs",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "render-docs",
+ "source_file": "scripts/render-docs",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_render_docs__entry",
+ "label": "render-docs script",
+ "_origin": "ast",
+ "community": 64,
+ "community_name": "render-docs",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "render-docs script",
+ "source_file": "scripts/render-docs",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_render_docs_main",
+ "label": "main()",
+ "_origin": "ast",
+ "community": 64,
+ "community_name": "render-docs",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "main()",
+ "source_file": "scripts/render-docs",
+ "source_location": "L74"
+ },
+ {
+ "id": "scripts_render_docs_read_inventory_value",
+ "label": "read_inventory_value()",
+ "_origin": "ast",
+ "community": 64,
+ "community_name": "render-docs",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "read_inventory_value()",
+ "source_file": "scripts/render-docs",
+ "source_location": "L23"
+ },
+ {
+ "id": "scripts_render_docs_render_template",
+ "label": "render_template()",
+ "_origin": "ast",
+ "community": 64,
+ "community_name": "render-docs",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "render_template()",
+ "source_file": "scripts/render-docs",
+ "source_location": "L62"
+ },
+ {
+ "id": "scripts_render_docs_usage",
+ "label": "usage()",
+ "_origin": "ast",
+ "community": 64,
+ "community_name": "render-docs",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "usage()",
+ "source_file": "scripts/render-docs",
+ "source_location": "L12"
+ },
+ {
+ "id": "scripts_scorecard",
+ "label": "scorecard",
+ "_origin": "ast",
+ "community": 65,
+ "community_name": "scorecard",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "scorecard",
+ "source_file": "scripts/scorecard",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_scorecard__entry",
+ "label": "scorecard script",
+ "_origin": "ast",
+ "community": 65,
+ "community_name": "scorecard",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "scorecard script",
+ "source_file": "scripts/scorecard",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_scorecard_docs_fresh",
+ "label": "docs_fresh()",
+ "_origin": "ast",
+ "community": 65,
+ "community_name": "scorecard",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "docs_fresh()",
+ "source_file": "scripts/scorecard",
+ "source_location": "L43"
+ },
+ {
+ "id": "scripts_scorecard_inventory_ok",
+ "label": "inventory_ok()",
+ "_origin": "ast",
+ "community": 65,
+ "community_name": "scorecard",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "inventory_ok()",
+ "source_file": "scripts/scorecard",
+ "source_location": "L47"
+ },
+ {
+ "id": "scripts_scorecard_score",
+ "label": "score()",
+ "_origin": "ast",
+ "community": 65,
+ "community_name": "scorecard",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "score()",
+ "source_file": "scripts/scorecard",
+ "source_location": "L8"
+ },
+ {
+ "id": "scripts_scorecard_security_static_ok",
+ "label": "security_static_ok()",
+ "_origin": "ast",
+ "community": 65,
+ "community_name": "scorecard",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "security_static_ok()",
+ "source_file": "scripts/scorecard",
+ "source_location": "L51"
+ },
+ {
+ "id": "apps_demos_static_public_model_drift_model_drift",
+ "label": "model-drift.js",
+ "_origin": "ast",
+ "community": 66,
+ "community_name": "model-drift.js",
+ "file_type": "code",
+ "norm_label": "model-drift.js",
+ "source_file": "apps/demos-static/public/model-drift/model-drift.js",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_demos_static_public_model_drift_model_drift_accuracy",
+ "label": "accuracy",
+ "_origin": "ast",
+ "community": 66,
+ "community_name": "model-drift.js",
+ "file_type": "code",
+ "norm_label": "accuracy",
+ "source_file": "apps/demos-static/public/model-drift/model-drift.js",
+ "source_location": "L3"
+ },
+ {
+ "id": "apps_demos_static_public_model_drift_model_drift_canvas",
+ "label": "canvas",
+ "_origin": "ast",
+ "community": 66,
+ "community_name": "model-drift.js",
+ "file_type": "code",
+ "norm_label": "canvas",
+ "source_file": "apps/demos-static/public/model-drift/model-drift.js",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_demos_static_public_model_drift_model_drift_ctx",
+ "label": "ctx",
+ "_origin": "ast",
+ "community": 66,
+ "community_name": "model-drift.js",
+ "file_type": "code",
+ "norm_label": "ctx",
+ "source_file": "apps/demos-static/public/model-drift/model-drift.js",
+ "source_location": "L2"
+ },
+ {
+ "id": "apps_demos_static_public_privacy_redactor_privacy_redactor",
+ "label": "privacy-redactor.js",
+ "_origin": "ast",
+ "community": 67,
+ "community_name": "privacy-redactor.js",
+ "file_type": "code",
+ "norm_label": "privacy-redactor.js",
+ "source_file": "apps/demos-static/public/privacy-redactor/privacy-redactor.js",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_demos_static_public_privacy_redactor_privacy_redactor_canvas",
+ "label": "canvas",
+ "_origin": "ast",
+ "community": 67,
+ "community_name": "privacy-redactor.js",
+ "file_type": "code",
+ "norm_label": "canvas",
+ "source_file": "apps/demos-static/public/privacy-redactor/privacy-redactor.js",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_demos_static_public_privacy_redactor_privacy_redactor_ctx",
+ "label": "ctx",
+ "_origin": "ast",
+ "community": 67,
+ "community_name": "privacy-redactor.js",
+ "file_type": "code",
+ "norm_label": "ctx",
+ "source_file": "apps/demos-static/public/privacy-redactor/privacy-redactor.js",
+ "source_location": "L2"
+ },
+ {
+ "id": "apps_website_lang_helper",
+ "label": "lang_helper.php",
+ "_origin": "ast",
+ "community": 68,
+ "community_name": "lang_helper.php",
+ "file_type": "code",
+ "norm_label": "lang_helper.php",
+ "source_file": "apps/website/lang_helper.php",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_blockchain_wallet",
+ "label": "blockchain-wallet",
+ "_origin": "ast",
+ "community": 69,
+ "community_name": "blockchain-wallet",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "blockchain-wallet",
+ "source_file": "scripts/blockchain-wallet",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_blockchain_wallet__entry",
+ "label": "blockchain-wallet script",
+ "_origin": "ast",
+ "community": 69,
+ "community_name": "blockchain-wallet",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "blockchain-wallet script",
+ "source_file": "scripts/blockchain-wallet",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_blockchain_wallet_require_private_key",
+ "label": "require_private_key()",
+ "_origin": "ast",
+ "community": 69,
+ "community_name": "blockchain-wallet",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "require_private_key()",
+ "source_file": "scripts/blockchain-wallet",
+ "source_location": "L36"
+ },
+ {
+ "id": "scripts_blockchain_wallet_run_cast",
+ "label": "run_cast()",
+ "_origin": "ast",
+ "community": 69,
+ "community_name": "blockchain-wallet",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "run_cast()",
+ "source_file": "scripts/blockchain-wallet",
+ "source_location": "L19"
+ },
+ {
+ "id": "scripts_blockchain_wallet_usage",
+ "label": "usage()",
+ "_origin": "ast",
+ "community": 69,
+ "community_name": "blockchain-wallet",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "usage()",
+ "source_file": "scripts/blockchain-wallet",
+ "source_location": "L6"
+ },
+ {
+ "id": "jeannie_apps",
+ "label": "apps()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "apps()",
+ "source_file": "jeannie",
+ "source_location": "L5440"
+ },
+ {
+ "id": "jeannie_apps_registry_endpoint",
+ "label": "apps_registry_endpoint()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "apps_registry_endpoint()",
+ "source_file": "jeannie",
+ "source_location": "L3259"
+ },
+ {
+ "id": "jeannie_demos_image_is_current",
+ "label": "demos_image_is_current()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "demos_image_is_current()",
+ "source_file": "jeannie",
+ "source_location": "L3361"
+ },
+ {
+ "id": "jeannie_demos_registry_endpoint",
+ "label": "demos_registry_endpoint()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "demos_registry_endpoint()",
+ "source_file": "jeannie",
+ "source_location": "L3268"
+ },
+ {
+ "id": "jeannie_demos_source_hash",
+ "label": "demos_source_hash()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "demos_source_hash()",
+ "source_file": "jeannie",
+ "source_location": "L3287"
+ },
+ {
+ "id": "jeannie_dump_argocd_debug",
+ "label": "dump_argocd_debug()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "dump_argocd_debug()",
+ "source_file": "jeannie",
+ "source_location": "L3767"
+ },
+ {
+ "id": "jeannie_dump_namespace_debug",
+ "label": "dump_namespace_debug()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "dump_namespace_debug()",
+ "source_file": "jeannie",
+ "source_location": "L3777"
+ },
+ {
+ "id": "jeannie_ensure_cosign_available",
+ "label": "ensure_cosign_available()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ensure_cosign_available()",
+ "source_file": "jeannie",
+ "source_location": "L3480"
+ },
+ {
+ "id": "jeannie_ensure_cosign_keypair",
+ "label": "ensure_cosign_keypair()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ensure_cosign_keypair()",
+ "source_file": "jeannie",
+ "source_location": "L3571"
+ },
+ {
+ "id": "jeannie_ensure_cosign_password",
+ "label": "ensure_cosign_password()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ensure_cosign_password()",
+ "source_file": "jeannie",
+ "source_location": "L3535"
+ },
+ {
+ "id": "jeannie_ensure_website_image_tag_not_reused",
+ "label": "ensure_website_image_tag_not_reused()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "ensure_website_image_tag_not_reused()",
+ "source_file": "jeannie",
+ "source_location": "L3342"
+ },
+ {
+ "id": "jeannie_image_digest_ref",
+ "label": "image_digest_ref()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "image_digest_ref()",
+ "source_file": "jeannie",
+ "source_location": "L3701"
+ },
+ {
+ "id": "jeannie_image_ref_tag",
+ "label": "image_ref_tag()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "image_ref_tag()",
+ "source_file": "jeannie",
+ "source_location": "L3240"
+ },
+ {
+ "id": "jeannie_image_state_value",
+ "label": "image_state_value()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "image_state_value()",
+ "source_file": "jeannie",
+ "source_location": "L3310"
+ },
+ {
+ "id": "jeannie_image_supply_chain_metadata_exists",
+ "label": "image_supply_chain_metadata_exists()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "image_supply_chain_metadata_exists()",
+ "source_file": "jeannie",
+ "source_location": "L3610"
+ },
+ {
+ "id": "jeannie_prepare_buildx_builder",
+ "label": "prepare_buildx_builder()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "prepare_buildx_builder()",
+ "source_file": "jeannie",
+ "source_location": "L3458"
+ },
+ {
+ "id": "jeannie_publish_cosign_public_key_config_map",
+ "label": "publish_cosign_public_key_config_map()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "publish_cosign_public_key_config_map()",
+ "source_file": "jeannie",
+ "source_location": "L3591"
+ },
+ {
+ "id": "jeannie_publish_image_supply_chain_metadata",
+ "label": "publish_image_supply_chain_metadata()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "publish_image_supply_chain_metadata()",
+ "source_file": "jeannie",
+ "source_location": "L3725"
+ },
+ {
+ "id": "jeannie_recreate_pods_for_selector",
+ "label": "recreate_pods_for_selector()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "recreate_pods_for_selector()",
+ "source_file": "jeannie",
+ "source_location": "L5164"
+ },
+ {
+ "id": "jeannie_refresh_argocd_application",
+ "label": "refresh_argocd_application()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "refresh_argocd_application()",
+ "source_file": "jeannie",
+ "source_location": "L5177"
+ },
+ {
+ "id": "jeannie_registry_image_exists",
+ "label": "registry_image_exists()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "registry_image_exists()",
+ "source_file": "jeannie",
+ "source_location": "L3294"
+ },
+ {
+ "id": "jeannie_require_argocd_application_controller",
+ "label": "require_argocd_application_controller()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "require_argocd_application_controller()",
+ "source_file": "jeannie",
+ "source_location": "L5376"
+ },
+ {
+ "id": "jeannie_require_pimox_app_worker_capacity",
+ "label": "require_pimox_app_worker_capacity()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "require_pimox_app_worker_capacity()",
+ "source_file": "jeannie",
+ "source_location": "L5397"
+ },
+ {
+ "id": "jeannie_run_cosign",
+ "label": "run_cosign()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "run_cosign()",
+ "source_file": "jeannie",
+ "source_location": "L3564"
+ },
+ {
+ "id": "jeannie_wait_for_cluster_resource",
+ "label": "wait_for_cluster_resource()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "wait_for_cluster_resource()",
+ "source_file": "jeannie",
+ "source_location": "L3823"
+ },
+ {
+ "id": "jeannie_wait_for_deployment_ready",
+ "label": "wait_for_deployment_ready()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "wait_for_deployment_ready()",
+ "source_file": "jeannie",
+ "source_location": "L3851"
+ },
+ {
+ "id": "jeannie_wait_for_namespace",
+ "label": "wait_for_namespace()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "wait_for_namespace()",
+ "source_file": "jeannie",
+ "source_location": "L3786"
+ },
+ {
+ "id": "jeannie_wait_for_namespaced_resource",
+ "label": "wait_for_namespaced_resource()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "wait_for_namespaced_resource()",
+ "source_file": "jeannie",
+ "source_location": "L3803"
+ },
+ {
+ "id": "jeannie_website_image_is_current",
+ "label": "website_image_is_current()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "website_image_is_current()",
+ "source_file": "jeannie",
+ "source_location": "L3317"
+ },
+ {
+ "id": "jeannie_website_image_tag",
+ "label": "website_image_tag()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "website_image_tag()",
+ "source_file": "jeannie",
+ "source_location": "L3253"
+ },
+ {
+ "id": "jeannie_website_source_hash",
+ "label": "website_source_hash()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "website_source_hash()",
+ "source_file": "jeannie",
+ "source_location": "L3280"
+ },
+ {
+ "id": "jeannie_write_demos_image_state",
+ "label": "write_demos_image_state()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "write_demos_image_state()",
+ "source_file": "jeannie",
+ "source_location": "L3398"
+ },
+ {
+ "id": "jeannie_write_image_sbom_predicate",
+ "label": "write_image_sbom_predicate()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "write_image_sbom_predicate()",
+ "source_file": "jeannie",
+ "source_location": "L3635"
+ },
+ {
+ "id": "jeannie_write_website_image_state",
+ "label": "write_website_image_state()",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "apps",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "write_website_image_state()",
+ "source_file": "jeannie",
+ "source_location": "L3384"
+ },
+ {
+ "id": "scripts_change_journal",
+ "label": "change-journal",
+ "_origin": "ast",
+ "community": 70,
+ "community_name": "change-journal",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "change-journal",
+ "source_file": "scripts/change-journal",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_change_journal__entry",
+ "label": "change-journal script",
+ "_origin": "ast",
+ "community": 70,
+ "community_name": "change-journal",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "change-journal script",
+ "source_file": "scripts/change-journal",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_change_journal_append_entry",
+ "label": "append_entry()",
+ "_origin": "ast",
+ "community": 70,
+ "community_name": "change-journal",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "append_entry()",
+ "source_file": "scripts/change-journal",
+ "source_location": "L27"
+ },
+ {
+ "id": "scripts_change_journal_latest_entries",
+ "label": "latest_entries()",
+ "_origin": "ast",
+ "community": 70,
+ "community_name": "change-journal",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "latest_entries()",
+ "source_file": "scripts/change-journal",
+ "source_location": "L15"
+ },
+ {
+ "id": "scripts_change_journal_timestamp",
+ "label": "timestamp()",
+ "_origin": "ast",
+ "community": 70,
+ "community_name": "change-journal",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "timestamp()",
+ "source_file": "scripts/change-journal",
+ "source_location": "L11"
+ },
+ {
+ "id": "scripts_grafana_dashboards",
+ "label": "grafana-dashboards",
+ "_origin": "ast",
+ "community": 71,
+ "community_name": "grafana-dashboards",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "grafana-dashboards",
+ "source_file": "scripts/grafana-dashboards",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_grafana_dashboards__entry",
+ "label": "grafana-dashboards script",
+ "_origin": "ast",
+ "community": 71,
+ "community_name": "grafana-dashboards",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "grafana-dashboards script",
+ "source_file": "scripts/grafana-dashboards",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_grafana_dashboards_apply_dashboards",
+ "label": "apply_dashboards()",
+ "_origin": "ast",
+ "community": 71,
+ "community_name": "grafana-dashboards",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "apply_dashboards()",
+ "source_file": "scripts/grafana-dashboards",
+ "source_location": "L22"
+ },
+ {
+ "id": "scripts_grafana_dashboards_list_dashboards",
+ "label": "list_dashboards()",
+ "_origin": "ast",
+ "community": 71,
+ "community_name": "grafana-dashboards",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "list_dashboards()",
+ "source_file": "scripts/grafana-dashboards",
+ "source_location": "L18"
+ },
+ {
+ "id": "scripts_grafana_dashboards_usage",
+ "label": "usage()",
+ "_origin": "ast",
+ "community": 71,
+ "community_name": "grafana-dashboards",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "usage()",
+ "source_file": "scripts/grafana-dashboards",
+ "source_location": "L9"
+ },
+ {
+ "id": "scripts_kubeconfig_readonly",
+ "label": "kubeconfig-readonly",
+ "_origin": "ast",
+ "community": 72,
+ "community_name": "kubeconfig-readonly",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "kubeconfig-readonly",
+ "source_file": "scripts/kubeconfig-readonly",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_kubeconfig_readonly__entry",
+ "label": "kubeconfig-readonly script",
+ "_origin": "ast",
+ "community": 72,
+ "community_name": "kubeconfig-readonly",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "kubeconfig-readonly script",
+ "source_file": "scripts/kubeconfig-readonly",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_kubeconfig_readonly_main",
+ "label": "main()",
+ "_origin": "ast",
+ "community": 72,
+ "community_name": "kubeconfig-readonly",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "main()",
+ "source_file": "scripts/kubeconfig-readonly",
+ "source_location": "L30"
+ },
+ {
+ "id": "scripts_kubeconfig_readonly_require_kubectl",
+ "label": "require_kubectl()",
+ "_origin": "ast",
+ "community": 72,
+ "community_name": "kubeconfig-readonly",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "require_kubectl()",
+ "source_file": "scripts/kubeconfig-readonly",
+ "source_location": "L19"
+ },
+ {
+ "id": "scripts_kubeconfig_readonly_usage",
+ "label": "usage()",
+ "_origin": "ast",
+ "community": 72,
+ "community_name": "kubeconfig-readonly",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "usage()",
+ "source_file": "scripts/kubeconfig-readonly",
+ "source_location": "L10"
+ },
+ {
+ "id": "scripts_blockchain_devnet",
+ "label": "blockchain-devnet",
+ "_origin": "ast",
+ "community": 74,
+ "community_name": "blockchain-devnet",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "blockchain-devnet",
+ "source_file": "scripts/blockchain-devnet",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_blockchain_devnet__entry",
+ "label": "blockchain-devnet script",
+ "_origin": "ast",
+ "community": 74,
+ "community_name": "blockchain-devnet",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "blockchain-devnet script",
+ "source_file": "scripts/blockchain-devnet",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_blockchain_devnet_rpc_call",
+ "label": "rpc_call()",
+ "_origin": "ast",
+ "community": 74,
+ "community_name": "blockchain-devnet",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "rpc_call()",
+ "source_file": "scripts/blockchain-devnet",
+ "source_location": "L21"
+ },
+ {
+ "id": "scripts_blockchain_devnet_usage",
+ "label": "usage()",
+ "_origin": "ast",
+ "community": 74,
+ "community_name": "blockchain-devnet",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "usage()",
+ "source_file": "scripts/blockchain-devnet",
+ "source_location": "L9"
+ },
+ {
+ "id": "scripts_capacity_limits",
+ "label": "capacity-limits",
+ "_origin": "ast",
+ "community": 75,
+ "community_name": "capacity-limits",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "capacity-limits",
+ "source_file": "scripts/capacity-limits",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_capacity_limits__entry",
+ "label": "capacity-limits script",
+ "_origin": "ast",
+ "community": 75,
+ "community_name": "capacity-limits",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "capacity-limits script",
+ "source_file": "scripts/capacity-limits",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_capacity_limits_cleanup",
+ "label": "cleanup()",
+ "_origin": "ast",
+ "community": 75,
+ "community_name": "capacity-limits",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "cleanup()",
+ "source_file": "scripts/capacity-limits",
+ "source_location": "L10"
+ },
+ {
+ "id": "scripts_capacity_limits_usage",
+ "label": "usage()",
+ "_origin": "ast",
+ "community": 75,
+ "community_name": "capacity-limits",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "usage()",
+ "source_file": "scripts/capacity-limits",
+ "source_location": "L17"
+ },
+ {
+ "id": "scripts_recover_power",
+ "label": "recover-power",
+ "_origin": "ast",
+ "community": 76,
+ "community_name": "recover-power",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "recover-power",
+ "source_file": "scripts/recover-power",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_recover_power__entry",
+ "label": "recover-power script",
+ "_origin": "ast",
+ "community": 76,
+ "community_name": "recover-power",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "recover-power script",
+ "source_file": "scripts/recover-power",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_recover_power_run_optional",
+ "label": "run_optional()",
+ "_origin": "ast",
+ "community": 76,
+ "community_name": "recover-power",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "run_optional()",
+ "source_file": "scripts/recover-power",
+ "source_location": "L23"
+ },
+ {
+ "id": "scripts_recover_power_run_step",
+ "label": "run_step()",
+ "_origin": "ast",
+ "community": 76,
+ "community_name": "recover-power",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "run_step()",
+ "source_file": "scripts/recover-power",
+ "source_location": "L11"
+ },
+ {
+ "id": "scripts_route_inventory",
+ "label": "route-inventory",
+ "_origin": "ast",
+ "community": 77,
+ "community_name": "route-inventory",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "route-inventory",
+ "source_file": "scripts/route-inventory",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_route_inventory__entry",
+ "label": "route-inventory script",
+ "_origin": "ast",
+ "community": 77,
+ "community_name": "route-inventory",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "route-inventory script",
+ "source_file": "scripts/route-inventory",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_route_inventory_cleanup",
+ "label": "cleanup()",
+ "_origin": "ast",
+ "community": 77,
+ "community_name": "route-inventory",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "cleanup()",
+ "source_file": "scripts/route-inventory",
+ "source_location": "L8"
+ },
+ {
+ "id": "scripts_route_inventory_section",
+ "label": "section()",
+ "_origin": "ast",
+ "community": 77,
+ "community_name": "route-inventory",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "section()",
+ "source_file": "scripts/route-inventory",
+ "source_location": "L15"
+ },
+ {
+ "id": "apps_website_render_static_pages",
+ "label": "render-static-pages.sh",
+ "_origin": "ast",
+ "community": 78,
+ "community_name": "render-static-pages.sh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "render-static-pages.sh",
+ "source_file": "apps/website/render-static-pages.sh",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_website_render_static_pages_render_page",
+ "label": "render_page()",
+ "_origin": "ast",
+ "community": 78,
+ "community_name": "render-static-pages.sh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "render_page()",
+ "source_file": "apps/website/render-static-pages.sh",
+ "source_location": "L6"
+ },
+ {
+ "id": "apps_website_render_static_pages_sh__entry",
+ "label": "render-static-pages.sh script",
+ "_origin": "ast",
+ "community": 78,
+ "community_name": "render-static-pages.sh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "render-static-pages.sh script",
+ "source_file": "apps/website/render-static-pages.sh",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_website_save_lang",
+ "label": "save_lang.php",
+ "_origin": "ast",
+ "community": 79,
+ "community_name": "save_lang.php",
+ "file_type": "code",
+ "norm_label": "save_lang.php",
+ "source_file": "apps/website/save_lang.php",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_website_visitor_ideas_js_apps_website_visitor_ideas",
+ "label": "visitor-ideas.js",
+ "_origin": "ast",
+ "community": 80,
+ "community_name": "addIdeaText",
+ "file_type": "code",
+ "norm_label": "visitor-ideas.js",
+ "source_file": "apps/website/visitor-ideas.js",
+ "source_location": "L1"
+ },
+ {
+ "id": "infra_matrix_server_bootstrap",
+ "label": "matrix-server/bootstrap.sh",
+ "_origin": "ast",
+ "community": 82,
+ "community_name": "matrix-server/bootstrap.sh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "matrix-server/bootstrap.sh",
+ "source_file": "infra/matrix-server/bootstrap.sh",
+ "source_location": "L1"
+ },
+ {
+ "id": "infra_matrix_server_bootstrap_render_homeserver",
+ "label": "render_homeserver()",
+ "_origin": "ast",
+ "community": 82,
+ "community_name": "matrix-server/bootstrap.sh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "render_homeserver()",
+ "source_file": "infra/matrix-server/bootstrap.sh",
+ "source_location": "L29"
+ },
+ {
+ "id": "infra_matrix_server_bootstrap_sh__entry",
+ "label": "bootstrap.sh script",
+ "_origin": "ast",
+ "community": 82,
+ "community_name": "matrix-server/bootstrap.sh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "bootstrap.sh script",
+ "source_file": "infra/matrix-server/bootstrap.sh",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_ask",
+ "label": "ask",
+ "_origin": "ast",
+ "community": 83,
+ "community_name": "ask",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "ask",
+ "source_file": "scripts/ask",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_ask__entry",
+ "label": "ask script",
+ "_origin": "ast",
+ "community": 83,
+ "community_name": "ask",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "ask script",
+ "source_file": "scripts/ask",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_ask_usage",
+ "label": "usage()",
+ "_origin": "ast",
+ "community": 83,
+ "community_name": "ask",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "usage()",
+ "source_file": "scripts/ask",
+ "source_location": "L6"
+ },
+ {
+ "id": "scripts_blockchain_test",
+ "label": "blockchain-test",
+ "_origin": "ast",
+ "community": 84,
+ "community_name": "blockchain-test",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "blockchain-test",
+ "source_file": "scripts/blockchain-test",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_blockchain_test__entry",
+ "label": "blockchain-test script",
+ "_origin": "ast",
+ "community": 84,
+ "community_name": "blockchain-test",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "blockchain-test script",
+ "source_file": "scripts/blockchain-test",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_blockchain_test_usage",
+ "label": "usage()",
+ "_origin": "ast",
+ "community": 84,
+ "community_name": "blockchain-test",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "usage()",
+ "source_file": "scripts/blockchain-test",
+ "source_location": "L8"
+ },
+ {
+ "id": "scripts_capacity_advisor",
+ "label": "capacity-advisor",
+ "_origin": "ast",
+ "community": 85,
+ "community_name": "capacity-advisor",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "capacity-advisor",
+ "source_file": "scripts/capacity-advisor",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_capacity_advisor__entry",
+ "label": "capacity-advisor script",
+ "_origin": "ast",
+ "community": 85,
+ "community_name": "capacity-advisor",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "capacity-advisor script",
+ "source_file": "scripts/capacity-advisor",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_capacity_advisor_run_check",
+ "label": "run_check()",
+ "_origin": "ast",
+ "community": 85,
+ "community_name": "capacity-advisor",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "run_check()",
+ "source_file": "scripts/capacity-advisor",
+ "source_location": "L6"
+ },
+ {
+ "id": "scripts_homelab_map",
+ "label": "homelab-map",
+ "_origin": "ast",
+ "community": 86,
+ "community_name": "homelab-map",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "homelab-map",
+ "source_file": "scripts/homelab-map",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_homelab_map__entry",
+ "label": "homelab-map script",
+ "_origin": "ast",
+ "community": 86,
+ "community_name": "homelab-map",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "homelab-map script",
+ "source_file": "scripts/homelab-map",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_homelab_map_inventory",
+ "label": "inventory()",
+ "_origin": "ast",
+ "community": 86,
+ "community_name": "homelab-map",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "inventory()",
+ "source_file": "scripts/homelab-map",
+ "source_location": "L8"
+ },
+ {
+ "id": "scripts_impact",
+ "label": "impact",
+ "_origin": "ast",
+ "community": 87,
+ "community_name": "impact",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "impact",
+ "source_file": "scripts/impact",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_impact__entry",
+ "label": "impact script",
+ "_origin": "ast",
+ "community": 87,
+ "community_name": "impact",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "impact script",
+ "source_file": "scripts/impact",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_impact_usage",
+ "label": "usage()",
+ "_origin": "ast",
+ "community": 87,
+ "community_name": "impact",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "usage()",
+ "source_file": "scripts/impact",
+ "source_location": "L7"
+ },
+ {
+ "id": "scripts_jeannie_core",
+ "label": "jeannie-core",
+ "_origin": "ast",
+ "community": 88,
+ "community_name": "jeannie-core",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "jeannie-core",
+ "source_file": "scripts/jeannie-core",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_jeannie_core__entry",
+ "label": "jeannie-core script",
+ "_origin": "ast",
+ "community": 88,
+ "community_name": "jeannie-core",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "jeannie-core script",
+ "source_file": "scripts/jeannie-core",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_jeannie_core_core_sources_newer",
+ "label": "core_sources_newer()",
+ "_origin": "ast",
+ "community": 88,
+ "community_name": "jeannie-core",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "core_sources_newer()",
+ "source_file": "scripts/jeannie-core",
+ "source_location": "L7"
+ },
+ {
+ "id": "scripts_report_render",
+ "label": "report-render",
+ "_origin": "ast",
+ "community": 89,
+ "community_name": "report-render",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "report-render",
+ "source_file": "scripts/report-render",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_report_render__entry",
+ "label": "report-render script",
+ "_origin": "ast",
+ "community": 89,
+ "community_name": "report-render",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "report-render script",
+ "source_file": "scripts/report-render",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_report_render_usage",
+ "label": "usage()",
+ "_origin": "ast",
+ "community": 89,
+ "community_name": "report-render",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "usage()",
+ "source_file": "scripts/report-render",
+ "source_location": "L5"
+ },
+ {
+ "id": "tests_jeannie_unit",
+ "label": "jeannie-unit",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "jeannie-unit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "jeannie-unit",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L1"
+ },
+ {
+ "id": "tests_jeannie_unit__entry",
+ "label": "jeannie-unit script",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "jeannie-unit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "jeannie-unit script",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L1"
+ },
+ {
+ "id": "tests_jeannie_unit_assert_command_failure_contains",
+ "label": "assert_command_failure_contains()",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "jeannie-unit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "assert_command_failure_contains()",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L126"
+ },
+ {
+ "id": "tests_jeannie_unit_assert_command_success",
+ "label": "assert_command_success()",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "jeannie-unit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "assert_command_success()",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L115"
+ },
+ {
+ "id": "tests_jeannie_unit_assert_contains",
+ "label": "assert_contains()",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "jeannie-unit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "assert_contains()",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L103"
+ },
+ {
+ "id": "tests_jeannie_unit_assert_eq",
+ "label": "assert_eq()",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "jeannie-unit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "assert_eq()",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L91"
+ },
+ {
+ "id": "tests_jeannie_unit_cleanup",
+ "label": "cleanup()",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "jeannie-unit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "cleanup()",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L13"
+ },
+ {
+ "id": "tests_jeannie_unit_fail",
+ "label": "fail()",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "jeannie-unit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "fail()",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L86"
+ },
+ {
+ "id": "tests_jeannie_unit_jeannie_library_mode",
+ "label": "JEANNIE_LIBRARY_MODE",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "jeannie-unit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "code"
+ },
+ "norm_label": "jeannie_library_mode",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L78"
+ },
+ {
+ "id": "tests_jeannie_unit_pass",
+ "label": "pass()",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "jeannie-unit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "pass()",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L82"
+ },
+ {
+ "id": "tests_jeannie_unit_path",
+ "label": "PATH",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "jeannie-unit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "code"
+ },
+ "norm_label": "path",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L35"
+ },
+ {
+ "id": "tests_jeannie_unit_test_cluster_worker_targets_include_pimox_and_manual_workers",
+ "label": "test_cluster_worker_targets_include_pimox_and_manual_workers()",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "jeannie-unit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "test_cluster_worker_targets_include_pimox_and_manual_workers()",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L161"
+ },
+ {
+ "id": "tests_jeannie_unit_test_configured_worker_count_can_expand_target_set",
+ "label": "test_configured_worker_count_can_expand_target_set()",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "jeannie-unit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "test_configured_worker_count_can_expand_target_set()",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L155"
+ },
+ {
+ "id": "tests_jeannie_unit_test_configured_worker_count_cannot_hide_existing_workers",
+ "label": "test_configured_worker_count_cannot_hide_existing_workers()",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "jeannie-unit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "test_configured_worker_count_cannot_hide_existing_workers()",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L149"
+ },
+ {
+ "id": "tests_jeannie_unit_test_heal_cooldown_escalates_to_diagnostics",
+ "label": "test_heal_cooldown_escalates_to_diagnostics()",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "jeannie-unit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "test_heal_cooldown_escalates_to_diagnostics()",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L323"
+ },
+ {
+ "id": "tests_jeannie_unit_test_inventory_validator_accepts_current_inventory",
+ "label": "test_inventory_validator_accepts_current_inventory()",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "jeannie-unit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "test_inventory_validator_accepts_current_inventory()",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L305"
+ },
+ {
+ "id": "tests_jeannie_unit_test_inventory_validator_rejects_ip_drift",
+ "label": "test_inventory_validator_rejects_ip_drift()",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "jeannie-unit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "test_inventory_validator_rejects_ip_drift()",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L309"
+ },
+ {
+ "id": "tests_jeannie_unit_test_pimox_guest_exec_exitcode_parser",
+ "label": "test_pimox_guest_exec_exitcode_parser()",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "jeannie-unit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "test_pimox_guest_exec_exitcode_parser()",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L384"
+ },
+ {
+ "id": "tests_jeannie_unit_test_pimox_worker_count_detects_generated_topology",
+ "label": "test_pimox_worker_count_detects_generated_topology()",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "jeannie-unit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "test_pimox_worker_count_detects_generated_topology()",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L144"
+ },
+ {
+ "id": "tests_jeannie_unit_test_pimox_worker_net0_config_defaults_to_deterministic_mac",
+ "label": "test_pimox_worker_net0_config_defaults_to_deterministic_mac()",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "jeannie-unit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "test_pimox_worker_net0_config_defaults_to_deterministic_mac()",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L390"
+ },
+ {
+ "id": "tests_jeannie_unit_test_pimox_worker_static_ip_selection",
+ "label": "test_pimox_worker_static_ip_selection()",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "jeannie-unit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "test_pimox_worker_static_ip_selection()",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L374"
+ },
+ {
+ "id": "tests_jeannie_unit_test_prepare_cluster_worker_var_file_can_include_raspberry_worker",
+ "label": "test_prepare_cluster_worker_var_file_can_include_raspberry_worker()",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "jeannie-unit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "test_prepare_cluster_worker_var_file_can_include_raspberry_worker()",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L216"
+ },
+ {
+ "id": "tests_jeannie_unit_test_prepare_cluster_worker_var_file_excludes_manual_by_default",
+ "label": "test_prepare_cluster_worker_var_file_excludes_manual_by_default()",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "jeannie-unit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "test_prepare_cluster_worker_var_file_excludes_manual_by_default()",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L197"
+ },
+ {
+ "id": "tests_jeannie_unit_test_prepare_cluster_worker_var_file_merges_manual_and_pimox_workers",
+ "label": "test_prepare_cluster_worker_var_file_merges_manual_and_pimox_workers()",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "jeannie-unit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "test_prepare_cluster_worker_var_file_merges_manual_and_pimox_workers()",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L169"
+ },
+ {
+ "id": "tests_jeannie_unit_test_prepare_cluster_worker_var_file_rebuilds_static_pimox_spec",
+ "label": "test_prepare_cluster_worker_var_file_rebuilds_static_pimox_spec()",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "jeannie-unit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "test_prepare_cluster_worker_var_file_rebuilds_static_pimox_spec()",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L237"
+ },
+ {
+ "id": "tests_jeannie_unit_test_report_renderer_empty_problems_message",
+ "label": "test_report_renderer_empty_problems_message()",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "jeannie-unit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "test_report_renderer_empty_problems_message()",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L296"
+ },
+ {
+ "id": "tests_jeannie_unit_test_report_renderer_hides_ok_links",
+ "label": "test_report_renderer_hides_ok_links()",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "jeannie-unit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "test_report_renderer_hides_ok_links()",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L268"
+ },
+ {
+ "id": "tests_jeannie_unit_test_report_renderer_problems_only_hides_ok_rows",
+ "label": "test_report_renderer_problems_only_hides_ok_rows()",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "jeannie-unit",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "test_report_renderer_problems_only_hides_ok_rows()",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L281"
+ },
+ {
+ "id": "scripts_review_last_change",
+ "label": "review-last-change",
+ "_origin": "ast",
+ "community": 90,
+ "community_name": "review-last-change",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "review-last-change",
+ "source_file": "scripts/review-last-change",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_review_last_change__entry",
+ "label": "review-last-change script",
+ "_origin": "ast",
+ "community": 90,
+ "community_name": "review-last-change",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "review-last-change script",
+ "source_file": "scripts/review-last-change",
+ "source_location": "L1"
+ },
+ {
+ "id": "scripts_review_last_change_usage",
+ "label": "usage()",
+ "_origin": "ast",
+ "community": 90,
+ "community_name": "review-last-change",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_function"
+ },
+ "norm_label": "usage()",
+ "source_file": "scripts/review-last-change",
+ "source_location": "L8"
+ },
+ {
+ "id": "apps_demos_static_public_traveler_tools_sw",
+ "label": "sw.js",
+ "_origin": "ast",
+ "community": 91,
+ "community_name": "sw.js",
+ "file_type": "code",
+ "norm_label": "sw.js",
+ "source_file": "apps/demos-static/public/traveler-tools/sw.js",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_demos_static_public_traveler_tools_sw_assets",
+ "label": "ASSETS",
+ "_origin": "ast",
+ "community": 91,
+ "community_name": "sw.js",
+ "file_type": "code",
+ "norm_label": "assets",
+ "source_file": "apps/demos-static/public/traveler-tools/sw.js",
+ "source_location": "L2"
+ },
+ {
+ "id": "apps_demos_static_public_traveler_tools_traveler_tools",
+ "label": "traveler-tools.js",
+ "_origin": "ast",
+ "community": 92,
+ "community_name": "traveler-tools.js",
+ "file_type": "code",
+ "norm_label": "traveler-tools.js",
+ "source_file": "apps/demos-static/public/traveler-tools/traveler-tools.js",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_website_blog",
+ "label": "blog.php",
+ "_origin": "ast",
+ "community": 93,
+ "community_name": "blog.php",
+ "file_type": "code",
+ "norm_label": "blog.php",
+ "source_file": "apps/website/blog.php",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_website_homelab_tree",
+ "label": "homelab-tree.php",
+ "_origin": "ast",
+ "community": 94,
+ "community_name": "homelab-tree.php",
+ "file_type": "code",
+ "norm_label": "homelab-tree.php",
+ "source_file": "apps/website/homelab-tree.php",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_website_homelab_tree_other_pages",
+ "label": "OTHER_PAGES",
+ "_origin": "ast",
+ "community": 94,
+ "community_name": "homelab-tree.php",
+ "file_type": "code",
+ "norm_label": "other_pages",
+ "source_file": "apps/website/homelab-tree.php",
+ "source_location": "L256"
+ },
+ {
+ "id": "apps_website_partials_translation_ui",
+ "label": "translation_ui.php",
+ "_origin": "ast",
+ "community": 95,
+ "community_name": "translation_ui.php",
+ "file_type": "code",
+ "norm_label": "translation_ui.php",
+ "source_file": "apps/website/partials/translation_ui.php",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_website_partials_translation_ui_static_langs",
+ "label": "STATIC_LANGS",
+ "_origin": "ast",
+ "community": 95,
+ "community_name": "translation_ui.php",
+ "file_type": "code",
+ "norm_label": "static_langs",
+ "source_file": "apps/website/partials/translation_ui.php",
+ "source_location": "L45"
+ },
+ {
+ "id": "apps_website_save_idea",
+ "label": "save_idea.php",
+ "_origin": "ast",
+ "community": 96,
+ "community_name": "save_idea.php",
+ "file_type": "code",
+ "norm_label": "save_idea.php",
+ "source_file": "apps/website/save_idea.php",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_website_start_website",
+ "label": "start-website.sh",
+ "_origin": "ast",
+ "community": 97,
+ "community_name": "start-website.sh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "start-website.sh",
+ "source_file": "apps/website/start-website.sh",
+ "source_location": "L1"
+ },
+ {
+ "id": "apps_website_start_website_sh__entry",
+ "label": "start-website.sh script",
+ "_origin": "ast",
+ "community": 97,
+ "community_name": "start-website.sh",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "start-website.sh script",
+ "source_file": "apps/website/start-website.sh",
+ "source_location": "L1"
+ },
+ {
+ "id": "fastapi",
+ "label": "fastapi",
+ "_origin": "semantic",
+ "community": 11,
+ "community_name": "main.py",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "fastapi",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "fastapi_middleware_cors",
+ "label": "fastapi_middleware_cors",
+ "_origin": "semantic",
+ "community": 11,
+ "community_name": "main.py",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "fastapi_middleware_cors",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "prometheus_client",
+ "label": "prometheus_client",
+ "_origin": "semantic",
+ "community": 11,
+ "community_name": "main.py",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "prometheus_client",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "pydantic",
+ "label": "pydantic",
+ "_origin": "semantic",
+ "community": 11,
+ "community_name": "main.py",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "pydantic",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "typing",
+ "label": "typing",
+ "_origin": "semantic",
+ "community": 11,
+ "community_name": "main.py",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "typing",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "argparse",
+ "label": "argparse",
+ "_origin": "semantic",
+ "community": 14,
+ "community_name": "pathlib",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "argparse",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "json",
+ "label": "json",
+ "_origin": "semantic",
+ "community": 14,
+ "community_name": "pathlib",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "json",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "numpy",
+ "label": "numpy",
+ "_origin": "semantic",
+ "community": 14,
+ "community_name": "pathlib",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "numpy",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "pathlib",
+ "label": "pathlib",
+ "_origin": "semantic",
+ "community": 14,
+ "community_name": "pathlib",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "pathlib",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "sklearn_linear_model",
+ "label": "sklearn_linear_model",
+ "_origin": "semantic",
+ "community": 14,
+ "community_name": "pathlib",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "sklearn_linear_model",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "sklearn_pipeline",
+ "label": "sklearn_pipeline",
+ "_origin": "semantic",
+ "community": 14,
+ "community_name": "pathlib",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "sklearn_pipeline",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "sklearn_preprocessing",
+ "label": "sklearn_preprocessing",
+ "_origin": "semantic",
+ "community": 14,
+ "community_name": "pathlib",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "sklearn_preprocessing",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "sys",
+ "label": "sys",
+ "_origin": "semantic",
+ "community": 14,
+ "community_name": "pathlib",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "sys",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "html",
+ "label": "html",
+ "_origin": "semantic",
+ "community": 17,
+ "community_name": "render-service-catalog",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "html",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "collections",
+ "label": "collections",
+ "_origin": "semantic",
+ "community": 22,
+ "community_name": "build-homelab-ai-index",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "collections",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "fnmatch",
+ "label": "fnmatch",
+ "_origin": "semantic",
+ "community": 22,
+ "community_name": "build-homelab-ai-index",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "fnmatch",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "math",
+ "label": "math",
+ "_origin": "semantic",
+ "community": 22,
+ "community_name": "build-homelab-ai-index",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "math",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "datetime",
+ "label": "datetime",
+ "_origin": "semantic",
+ "community": 24,
+ "community_name": "seed-heimdall.py",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "datetime",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "os",
+ "label": "os",
+ "_origin": "semantic",
+ "community": 24,
+ "community_name": "seed-heimdall.py",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "os",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "sqlite3",
+ "label": "sqlite3",
+ "_origin": "semantic",
+ "community": 24,
+ "community_name": "seed-heimdall.py",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "sqlite3",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "dataclasses",
+ "label": "dataclasses",
+ "_origin": "semantic",
+ "community": 25,
+ "community_name": "prompt-injection-lab",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "dataclasses",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "http_server",
+ "label": "http_server",
+ "_origin": "semantic",
+ "community": 29,
+ "community_name": "exporter.py",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "http_server",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "time",
+ "label": "time",
+ "_origin": "semantic",
+ "community": 29,
+ "community_name": "exporter.py",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "time",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "urllib_error",
+ "label": "urllib_error",
+ "_origin": "semantic",
+ "community": 29,
+ "community_name": "exporter.py",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "urllib_error",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "urllib_request",
+ "label": "urllib_request",
+ "_origin": "semantic",
+ "community": 29,
+ "community_name": "exporter.py",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "urllib_request",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "ref_fs",
+ "label": "ref_fs",
+ "_origin": "semantic",
+ "community": 30,
+ "community_name": "seed-uptime-kuma.js",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "ref_fs",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "ref_path",
+ "label": "ref_path",
+ "_origin": "semantic",
+ "community": 30,
+ "community_name": "seed-uptime-kuma.js",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "ref_path",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "csv",
+ "label": "csv",
+ "_origin": "semantic",
+ "community": 37,
+ "community_name": "ai-scheduler",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "csv",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "go_pkg_bufio",
+ "label": "go_pkg_bufio",
+ "_origin": "semantic",
+ "community": 4,
+ "community_name": "main.go",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "go_pkg_bufio",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "go_pkg_bytes",
+ "label": "go_pkg_bytes",
+ "_origin": "semantic",
+ "community": 4,
+ "community_name": "main.go",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "go_pkg_bytes",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "go_pkg_context",
+ "label": "go_pkg_context",
+ "_origin": "semantic",
+ "community": 4,
+ "community_name": "main.go",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "go_pkg_context",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "go_pkg_encoding_json",
+ "label": "go_pkg_encoding_json",
+ "_origin": "semantic",
+ "community": 4,
+ "community_name": "main.go",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "go_pkg_encoding_json",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "go_pkg_flag",
+ "label": "go_pkg_flag",
+ "_origin": "semantic",
+ "community": 4,
+ "community_name": "main.go",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "go_pkg_flag",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "go_pkg_fmt",
+ "label": "go_pkg_fmt",
+ "_origin": "semantic",
+ "community": 4,
+ "community_name": "main.go",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "go_pkg_fmt",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "go_pkg_io",
+ "label": "go_pkg_io",
+ "_origin": "semantic",
+ "community": 4,
+ "community_name": "main.go",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "go_pkg_io",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "go_pkg_os",
+ "label": "go_pkg_os",
+ "_origin": "semantic",
+ "community": 4,
+ "community_name": "main.go",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "go_pkg_os",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "go_pkg_os_exec",
+ "label": "go_pkg_os_exec",
+ "_origin": "semantic",
+ "community": 4,
+ "community_name": "main.go",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "go_pkg_os_exec",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "go_pkg_path_filepath",
+ "label": "go_pkg_path_filepath",
+ "_origin": "semantic",
+ "community": 4,
+ "community_name": "main.go",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "go_pkg_path_filepath",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "go_pkg_sort",
+ "label": "go_pkg_sort",
+ "_origin": "semantic",
+ "community": 4,
+ "community_name": "main.go",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "go_pkg_sort",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "go_pkg_strings",
+ "label": "go_pkg_strings",
+ "_origin": "semantic",
+ "community": 4,
+ "community_name": "main.go",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "go_pkg_strings",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "go_pkg_sync",
+ "label": "go_pkg_sync",
+ "_origin": "semantic",
+ "community": 4,
+ "community_name": "main.go",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "go_pkg_sync",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "go_pkg_testing",
+ "label": "go_pkg_testing",
+ "_origin": "semantic",
+ "community": 4,
+ "community_name": "main.go",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "go_pkg_testing",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "go_pkg_time",
+ "label": "go_pkg_time",
+ "_origin": "semantic",
+ "community": 4,
+ "community_name": "main.go",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "go_pkg_time",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "re",
+ "label": "re",
+ "_origin": "semantic",
+ "community": 45,
+ "community_name": "validate-tailnet-policy",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "re",
+ "source_file": "",
+ "type": "external"
+ },
+ {
+ "id": "subprocess",
+ "label": "subprocess",
+ "_origin": "semantic",
+ "community": 47,
+ "community_name": "promote",
+ "external": true,
+ "file_type": "concept",
+ "norm_label": "subprocess",
+ "source_file": "",
+ "type": "external"
+ }
+ ],
+ "links": [
+ {
+ "source": "apps_demos_static_public_architecture_simulator_architecture_simulator_draw",
+ "target": "apps_demos_static_public_architecture_simulator_architecture_simulator_box",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/demos-static/public/architecture-simulator/architecture-simulator.js",
+ "source_location": "L32",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_media_cruncher_media_cruncher_crunchimage",
+ "target": "apps_demos_static_public_media_cruncher_media_cruncher_createcanvas",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L50",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_media_cruncher_media_cruncher_crunchimage",
+ "target": "apps_demos_static_public_media_cruncher_media_cruncher_toblob",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L57",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_media_cruncher_media_cruncher_crunchimage",
+ "target": "apps_demos_static_public_media_cruncher_media_cruncher_formatbytes",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L70",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_media_cruncher_media_cruncher_handlefiles",
+ "target": "apps_demos_static_public_media_cruncher_media_cruncher_crunchimage",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L85",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_media_cruncher_media_cruncher_handlefiles",
+ "target": "apps_demos_static_public_media_cruncher_media_cruncher_appendstatus",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L87",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_media_cruncher_media_cruncher_toblob",
+ "target": "apps_demos_static_public_media_cruncher_media_cruncher_toblob",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_network_quality_network_quality_measure",
+ "target": "apps_demos_static_public_network_quality_network_quality_draw",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/demos-static/public/network-quality/network-quality.js",
+ "source_location": "L47",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_theme_setdemotheme",
+ "target": "apps_demos_static_public_theme_normalizedemotheme",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/demos-static/public/theme.js",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_theme_setdemotheme",
+ "target": "apps_demos_static_public_theme_getdemothemebuttons",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/demos-static/public/theme.js",
+ "source_location": "L36",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_theme_setdemotheme",
+ "target": "apps_demos_static_public_theme_storedemotheme",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/demos-static/public/theme.js",
+ "source_location": "L42",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_theme_storedemotheme",
+ "target": "apps_demos_static_public_theme_normalizedemotheme",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/demos-static/public/theme.js",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_cv_theme_setsitetheme",
+ "target": "apps_website_cv_theme_normalizesitetheme",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/cv-theme.js",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_cv_theme_setsitetheme",
+ "target": "apps_website_cv_theme_getsitethemebuttons",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/cv-theme.js",
+ "source_location": "L37",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_cv_theme_setsitetheme",
+ "target": "apps_website_cv_theme_storesitetheme",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/cv-theme.js",
+ "source_location": "L43",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_cv_theme_storesitetheme",
+ "target": "apps_website_cv_theme_normalizesitetheme",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/cv-theme.js",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_ideas_helper_visitor_ideas_append",
+ "target": "apps_website_ideas_helper_visitor_ideas_ensure_dir",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/ideas_helper.php",
+ "source_location": "L80",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_ideas_helper_visitor_ideas_append",
+ "target": "apps_website_ideas_helper_visitor_ideas_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/ideas_helper.php",
+ "source_location": "L91",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_ideas_helper_visitor_ideas_ensure_dir",
+ "target": "apps_website_ideas_helper_visitor_ideas_dir",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/ideas_helper.php",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_ideas_helper_visitor_ideas_file",
+ "target": "apps_website_ideas_helper_visitor_ideas_dir",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/ideas_helper.php",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_ideas_helper_visitor_ideas_rate_file",
+ "target": "apps_website_ideas_helper_visitor_ideas_dir",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/ideas_helper.php",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_ideas_helper_visitor_ideas_read",
+ "target": "apps_website_ideas_helper_visitor_idea_clean",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/ideas_helper.php",
+ "source_location": "L115",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_ideas_helper_visitor_ideas_read",
+ "target": "apps_website_ideas_helper_visitor_ideas_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/ideas_helper.php",
+ "source_location": "L98",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_ideas_helper_visitor_ideas_recently_submitted",
+ "target": "apps_website_ideas_helper_visitor_ideas_ensure_dir",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/ideas_helper.php",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_ideas_helper_visitor_ideas_recently_submitted",
+ "target": "apps_website_ideas_helper_visitor_ideas_rate_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/ideas_helper.php",
+ "source_location": "L39",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_lang_helper_loadruntimetranslations",
+ "target": "apps_website_lang_helper_cleanruntimetranslation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/lang_helper.php",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_render_static_pages_sh__entry",
+ "target": "apps_website_render_static_pages_render_page",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/render-static-pages.sh",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translate_redis_read_response",
+ "target": "apps_website_translate_redis_read_response",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/translate.php",
+ "source_location": "L103",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translate_redis_read_response",
+ "target": "apps_website_translate_redis_read_line",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/translate.php",
+ "source_location": "L63",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translate_translation_cache_read",
+ "target": "apps_website_translate_redis_connect",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/translate.php",
+ "source_location": "L136",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translate_translation_cache_read",
+ "target": "apps_website_translate_redis_encode_command",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/translate.php",
+ "source_location": "L141",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translate_translation_cache_read",
+ "target": "apps_website_translate_redis_read_response",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/translate.php",
+ "source_location": "L142",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translate_translation_cache_read",
+ "target": "apps_website_translate_clean_translate_text",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/translate.php",
+ "source_location": "L152",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translate_translation_cache_write",
+ "target": "apps_website_translate_redis_connect",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/translate.php",
+ "source_location": "L168",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translate_translation_cache_write",
+ "target": "apps_website_translate_redis_encode_command",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/translate.php",
+ "source_location": "L174",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translate_translation_cache_write",
+ "target": "apps_website_translate_redis_read_response",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/translate.php",
+ "source_location": "L175",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translation_collectpagetranslations",
+ "target": "apps_website_translation_translatebatch",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/translation.js",
+ "source_location": "L83",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translation_dotranslation",
+ "target": "apps_website_translation_showbadge",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/translation.js",
+ "source_location": "L100",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translation_dotranslation",
+ "target": "apps_website_translation_translatebatch",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/translation.js",
+ "source_location": "L107",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translation_dotranslation",
+ "target": "apps_website_translation_collectpagetranslations",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/translation.js",
+ "source_location": "L131",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translation_dotranslation",
+ "target": "apps_website_translation_savelang",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/translation.js",
+ "source_location": "L139",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translation_dotranslation",
+ "target": "apps_website_translation_hideprompt",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/translation.js",
+ "source_location": "L94",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_visitor_ideas_renderideas",
+ "target": "apps_website_visitor_ideas_addideatext",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/visitor-ideas.js",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_executedag",
+ "target": "cmd_jeannie_core_main_rundagtask",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L161",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_filterreportrows",
+ "target": "cmd_jeannie_core_main_includereportrow",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L320",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_main",
+ "target": "cmd_jeannie_core_main_usage",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_main",
+ "target": "cmd_jeannie_core_main_runreportrender",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L37",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_main",
+ "target": "cmd_jeannie_core_main_rundag",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L42",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_parsereportrows",
+ "target": "cmd_jeannie_core_main_normalizestatus",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L288",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_renderreporttext",
+ "target": "cmd_jeannie_core_main_orderedreportareas",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L366",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_renderreporttext",
+ "target": "cmd_jeannie_core_main_rowsforreportarea",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L368",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_renderreporttext",
+ "target": "cmd_jeannie_core_main_reportstatusrank",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L370",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_renderreporttext",
+ "target": "cmd_jeannie_core_main_truncate",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L379",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_rundag",
+ "target": "cmd_jeannie_core_main_executedag",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L95",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_rundagtask",
+ "target": "cmd_jeannie_core_main_writedagline",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L192",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_runreportrender",
+ "target": "cmd_jeannie_core_main_envdefault",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L238",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_runreportrender",
+ "target": "cmd_jeannie_core_main_usage",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L243",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_runreportrender",
+ "target": "cmd_jeannie_core_main_parsereportrows",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L247",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_runreportrender",
+ "target": "cmd_jeannie_core_main_filterreportrows",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L251",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_runreportrender",
+ "target": "cmd_jeannie_core_main_renderreporttext",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L259",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr_apply_import_lists",
+ "target": "infra_arr_stack_configure_arr_request_json",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L145",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr_ensure_qbittorrent",
+ "target": "infra_arr_stack_configure_arr_fill_fields",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L126",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr_ensure_qbittorrent",
+ "target": "infra_arr_stack_configure_arr_request_json",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L89",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr_ensure_qbittorrent",
+ "target": "infra_arr_stack_configure_arr_schema_fields",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L96",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr_ensure_root_folder",
+ "target": "infra_arr_stack_configure_arr_request_json",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L56",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr_main",
+ "target": "infra_arr_stack_configure_arr_load_env",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L167",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr_main",
+ "target": "infra_arr_stack_configure_arr_required_env",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L168",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr_main",
+ "target": "infra_arr_stack_configure_arr_wait_for_app",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L174",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr_main",
+ "target": "infra_arr_stack_configure_arr_ensure_root_folder",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L176",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr_main",
+ "target": "infra_arr_stack_configure_arr_ensure_qbittorrent",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L178",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr_main",
+ "target": "infra_arr_stack_configure_arr_apply_import_lists",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L180",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr_schema_fields",
+ "target": "infra_arr_stack_configure_arr_request_json",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L65",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr_wait_for_app",
+ "target": "infra_arr_stack_configure_arr_request_json",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L47",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_blockchain_devnet_metrics_exporter_collect_metrics",
+ "target": "infra_blockchain_devnet_metrics_exporter_rpc",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/blockchain-devnet/metrics/exporter.py",
+ "source_location": "L46",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_blockchain_devnet_metrics_exporter_collect_metrics",
+ "target": "infra_blockchain_devnet_metrics_exporter_hex_to_int",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/blockchain-devnet/metrics/exporter.py",
+ "source_location": "L48",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_blockchain_devnet_metrics_exporter_metricshandler_do_get",
+ "target": "infra_blockchain_devnet_metrics_exporter_collect_metrics",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/blockchain-devnet/metrics/exporter.py",
+ "source_location": "L84",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_heimdall_seed_heimdall_ensure_dashboard_tag",
+ "target": "infra_heimdall_seed_heimdall_table_exists",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_heimdall_seed_heimdall_ensure_dashboard_tag",
+ "target": "infra_heimdall_seed_heimdall_columns",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L56",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_heimdall_seed_heimdall_ensure_dashboard_tag",
+ "target": "infra_heimdall_seed_heimdall_quote_identifier",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L73",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_heimdall_seed_heimdall_ensure_public_dashboard",
+ "target": "infra_heimdall_seed_heimdall_table_exists",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L42",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_heimdall_seed_heimdall_ensure_public_dashboard",
+ "target": "infra_heimdall_seed_heimdall_columns",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_heimdall_seed_heimdall_home_dashboard_tag_id",
+ "target": "infra_heimdall_seed_heimdall_columns",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L81",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_heimdall_seed_heimdall_upsert_links",
+ "target": "infra_heimdall_seed_heimdall_columns",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L106",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_heimdall_seed_heimdall_upsert_links",
+ "target": "infra_heimdall_seed_heimdall_home_dashboard_tag_id",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L108",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_heimdall_seed_heimdall_upsert_links",
+ "target": "infra_heimdall_seed_heimdall_ensure_public_dashboard",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L111",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_heimdall_seed_heimdall_upsert_links",
+ "target": "infra_heimdall_seed_heimdall_quote_identifier",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L141",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_heimdall_seed_heimdall_upsert_links",
+ "target": "infra_heimdall_seed_heimdall_ensure_dashboard_tag",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L145",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_heimdall_seed_heimdall_wait_for_items_table",
+ "target": "infra_heimdall_seed_heimdall_table_exists",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L97",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_matrix_server_bootstrap_sh__entry",
+ "target": "infra_matrix_server_bootstrap_render_homeserver",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/matrix-server/bootstrap.sh",
+ "source_location": "L58",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_bootstrap_sh__entry",
+ "target": "infra_rpi_services_bootstrap_install_missing_packages",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L290",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_bootstrap_sh__entry",
+ "target": "infra_rpi_services_bootstrap_configure_docker_root",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L302",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_bootstrap_sh__entry",
+ "target": "infra_rpi_services_bootstrap_write_env_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L316",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_bootstrap_sh__entry",
+ "target": "infra_rpi_services_bootstrap_stop_legacy_pihole",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L318",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_bootstrap_sh__entry",
+ "target": "infra_rpi_services_bootstrap_sync_pihole_adlists",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L323",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_bootstrap_sh__entry",
+ "target": "infra_rpi_services_bootstrap_sync_pihole_managed_dns",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L324",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_bootstrap_sh__entry",
+ "target": "infra_rpi_services_bootstrap_seed_uptime_kuma_monitors",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L325",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_bootstrap_write_env_file",
+ "target": "infra_rpi_services_bootstrap_resolve_pihole_webpassword",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L134",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_seed_uptime_kuma_defaultforcolumn",
+ "target": "infra_rpi_services_seed_uptime_kuma_nowsql",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L95",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_seed_uptime_kuma_findmoduledirectory",
+ "target": "infra_rpi_services_seed_uptime_kuma_findmoduledirectory",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L33",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_seed_uptime_kuma_loaddatabasemodule",
+ "target": "infra_rpi_services_seed_uptime_kuma_findmoduledirectory",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L51",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_seed_uptime_kuma_main",
+ "target": "infra_rpi_services_seed_uptime_kuma_loaddatabasemodule",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L194",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_seed_uptime_kuma_main",
+ "target": "infra_rpi_services_seed_uptime_kuma_upsertmonitor",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L222",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_seed_uptime_kuma_monitorvalues",
+ "target": "infra_rpi_services_seed_uptime_kuma_nowsql",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L136",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_seed_uptime_kuma_monitorvalues",
+ "target": "infra_rpi_services_seed_uptime_kuma_defaultforcolumn",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L154",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_seed_uptime_kuma_upsertmonitor",
+ "target": "infra_rpi_services_seed_uptime_kuma_monitorvalues",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L167",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_load_homelab_inventory_defaults",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L168",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_export_homelab_inventory_tf_vars",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L213",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_up_task",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8555",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_print_usage",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8558",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_record_change_journal",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8561",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_up",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8562",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_plan_homelab",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8565",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_rebuild_cluster",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8569",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_stop_cluster",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8573",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_start_cluster",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8577",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_status_report",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8580",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_capacity_report",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8583",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_capacity_advisor",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8586",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_capacity_limits",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8589",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_recover_plan",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8592",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_gitops_status",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8595",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8599",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_jeannie_log_start",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8600",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_jeannie_step_plan",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8601",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_run_step",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8602",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_edge_apply",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8607",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_promote",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8610",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_cert_check",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8613",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_release_snapshot",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8617",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_backup_status",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8620",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_synthetic_checks",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8623",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_resource_budget",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8626",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_control_plane",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8629",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_artifact_cache",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8632",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_blockchain_devnet",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8635",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_blockchain_test",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8638",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_blockchain_wallet",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8641",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_golden_ledger",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8644",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_route_inventory",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8647",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_explain",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8650",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_recover_power",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8653",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_heal",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8656",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_incident_commander",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8659",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_safety_case",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8662",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_agent_sandbox",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8665",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_scorecard",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8668",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_grafana_dashboards",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8671",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_workers_manage",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8674",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_change_journal",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8677",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_homelab_map",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8680",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_validate_homelab",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8683",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_access_audit",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8686",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_kubeconfig_readonly",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8689",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_website_translation_model",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8700",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_website_ollama_listen",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8703",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_ollama_setup",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8706",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_deploy_gitea",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8710",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_deploy_heimdall",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8714",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_deploy_matrix",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8718",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_deploy_omniroute",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8722",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_deploy_hermes",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8726",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_deploy_rpi_services",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8730",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_bootstrap_gitea_repo",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8733",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_backup_gitea",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8736",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_drill_restore",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8739",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_drill_gitea_restore",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8742",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_drill_pihole_restore",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8745",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_install_gitea_runner",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8748",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_move_prometheus_stack_workers",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8751",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_doctor_versions",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8754",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_doctor_edge",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8757",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_doctor_gitea",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8760",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_doctor_rpi",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8763",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_doctor_cluster",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8766",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_homelab_preflight",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8769",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_doctor_preapply",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8772",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_inventory_check",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8775",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_backup_tofu_state",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8778",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_fix_debian_docker_root",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8781",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_secrets_init",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8784",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_secrets_check",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8787",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_tailnet_policy_check",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8790",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_ai_index",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8793",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_ai_check",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8796",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_ask_homelab",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8799",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_ai_evals",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8802",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_ai_scheduler",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8805",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_ai_memory",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8808",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_model_observe",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8811",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_impact",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8814",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_review_last_change",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8817",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_security_scan",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8820",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_security_prepare",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8823",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_security_zap",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8826",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_security_k8s",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8829",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_security_host",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8832",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_security_trivy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8835",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_security_secrets",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8838",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_security_nuclei",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8841",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_security_web",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8844",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_security_logs",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8847",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_security_runtime",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8850",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_security_attack_path",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8853",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_prompt_injection_lab",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8856",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_red_blue_loop",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8859",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie__entry",
+ "target": "jeannie_openwrt",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8862",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_access_audit",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8267",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_adopt_apps_existing_resources",
+ "target": "jeannie_adopt_tofu_kubernetes_manifest",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L375",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_adopt_platform_existing_resources",
+ "target": "jeannie_adopt_tofu_helm_release",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L344",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_adopt_platform_existing_resources",
+ "target": "jeannie_adopt_tofu_kubernetes_resource",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L355",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_adopt_tofu_helm_release",
+ "target": "jeannie_tofu_state_has_resource",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L276",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_adopt_tofu_helm_release",
+ "target": "jeannie_helm_release_secret_exists",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L279",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_adopt_tofu_kubernetes_manifest",
+ "target": "jeannie_tofu_state_has_resource",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L329",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_adopt_tofu_kubernetes_manifest",
+ "target": "jeannie_kubernetes_resource_exists",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L332",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_adopt_tofu_kubernetes_resource",
+ "target": "jeannie_tofu_state_has_resource",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L308",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_adopt_tofu_kubernetes_resource",
+ "target": "jeannie_kubernetes_resource_exists",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L311",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ai_check",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8071",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ai_check",
+ "target": "jeannie_status_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8073",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ai_check",
+ "target": "jeannie_backstage_brain_enabled",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8095",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ai_index",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8056",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ai_index",
+ "target": "jeannie_ensure_python3",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8057",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_apps",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5455",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_apps",
+ "target": "jeannie_apps_registry_endpoint",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5457",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_apps",
+ "target": "jeannie_demos_registry_endpoint",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5458",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_apps",
+ "target": "jeannie_demos_source_hash",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5462",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_apps",
+ "target": "jeannie_website_source_hash",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5465",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_apps",
+ "target": "jeannie_website_image_tag",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5466",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_apps",
+ "target": "jeannie_require_argocd_application_controller",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5472",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_apps",
+ "target": "jeannie_require_pimox_app_worker_capacity",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5473",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_apps",
+ "target": "jeannie_ensure_cosign_keypair",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5475",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_apps",
+ "target": "jeannie_publish_cosign_public_key_config_map",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5476",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_apps",
+ "target": "jeannie_ensure_website_image_tag_not_reused",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5497",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_apps",
+ "target": "jeannie_run_tofu_stack",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5501",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_apps",
+ "target": "jeannie_refresh_argocd_application",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5503",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_apps",
+ "target": "jeannie_wait_for_cluster_resource",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5506",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_apps",
+ "target": "jeannie_wait_for_namespace",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5507",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_apps",
+ "target": "jeannie_wait_for_namespaced_resource",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5508",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_apps",
+ "target": "jeannie_wait_for_deployment_ready",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5509",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_apps",
+ "target": "jeannie_website_image_is_current",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5511",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_apps",
+ "target": "jeannie_image_supply_chain_metadata_exists",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5512",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_apps",
+ "target": "jeannie_ensure_docker_build_space",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5516",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_apps",
+ "target": "jeannie_prepare_buildx_builder",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5518",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_apps",
+ "target": "jeannie_publish_image_supply_chain_metadata",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5534",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_apps",
+ "target": "jeannie_demos_image_is_current",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5536",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_apps",
+ "target": "jeannie_recreate_pods_for_selector",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5565",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_apps",
+ "target": "jeannie_write_website_image_state",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5571",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_apps",
+ "target": "jeannie_write_demos_image_state",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5584",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_apps_registry_endpoint",
+ "target": "jeannie_demos_registry_endpoint",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3265",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_artifact_cache",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8340",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ask_homelab",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8131",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_backstage_brain_enabled",
+ "target": "jeannie_truthy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6987",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_backstage_brain_note",
+ "target": "jeannie_backstage_brain_enabled",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6999",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_backup_gitea",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5063",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_backup_gitea",
+ "target": "jeannie_install_gitea_backup_timer",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5065",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_backup_status",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8310",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_blockchain_devnet",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8345",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_bootstrap_gitea_repo",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4689",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_bootstrap_gitea_repo",
+ "target": "jeannie_disabled_value",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4691",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_bootstrap_gitea_repo",
+ "target": "jeannie_ensure_python3",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4695",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_bootstrap_gitea_repo",
+ "target": "jeannie_gitea_bootstrap_password",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4721",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_bootstrap_gitea_repo",
+ "target": "jeannie_gitea_api_base_url",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4797",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_bootstrap_gitea_repo",
+ "target": "jeannie_gitea_repo_exists",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4799",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_bootstrap_gitea_repo",
+ "target": "jeannie_create_gitea_repo",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4806",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_bootstrap_gitea_repo",
+ "target": "jeannie_gitea_branch_exists",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4822",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_bootstrap_gitea_repo",
+ "target": "jeannie_truthy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4826",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_bootstrap_gitea_repo",
+ "target": "jeannie_ensure_gitea_repo_ssh_access",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4854",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_capacity_advisor",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8325",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_capacity_limits",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8330",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_capacity_report",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8286",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_check_pimox_storage",
+ "target": "jeannie_disabled_value",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2426",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_check_pimox_storage",
+ "target": "jeannie_pimox_ssh",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2430",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_cleanup_node",
+ "target": "jeannie_cleanup_mounts",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3213",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_cleanup_node",
+ "target": "jeannie_cleanup_calico_runtime_files",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3228",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_cleanup_node",
+ "target": "jeannie_cleanup_iptables",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3231",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_cleanup_node",
+ "target": "jeannie_cleanup_calico_links",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3232",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_cleanup_node",
+ "target": "jeannie_restore_node_dns",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3233",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_cluster_control_plane_tracked",
+ "target": "jeannie_tofu_state_has_resource",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6479",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_configure_pimox_worker_forwarding",
+ "target": "jeannie_disabled_value",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L1608",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_configure_pimox_worker_forwarding",
+ "target": "jeannie_truthy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L1611",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_configure_pimox_worker_forwarding",
+ "target": "jeannie_validate_ipv4_cidr_or_host",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L1615",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_configure_pimox_worker_forwarding",
+ "target": "jeannie_pimox_ssh",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L1621",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_configure_pimox_worker_guest_network",
+ "target": "jeannie_validate_ipv4_cidr_or_host",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L1462",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_configure_pimox_worker_guest_network",
+ "target": "jeannie_disabled_value",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L1490",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_configure_pimox_worker_guest_network",
+ "target": "jeannie_truthy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L1490",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_configure_pimox_worker_guest_network",
+ "target": "jeannie_pimox_ssh",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L1577",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_configure_pimox_worker_guest_network",
+ "target": "jeannie_pimox_guest_exec_exitcode",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L1579",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_configure_pimox_worker_guest_network",
+ "target": "jeannie_pimox_worker_guest_agent_recovery_hint",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L1595",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_control_plane",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8335",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_demos_image_is_current",
+ "target": "jeannie_image_state_value",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3373",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_demos_image_is_current",
+ "target": "jeannie_registry_image_exists",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3381",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_deploy_gitea",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3891",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_deploy_gitea",
+ "target": "jeannie_disabled_value",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3893",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_deploy_gitea",
+ "target": "jeannie_install_gitea_backup_timer",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3894",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_deploy_heimdall",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4057",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_deploy_heimdall",
+ "target": "jeannie_disabled_value",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4059",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_deploy_heimdall",
+ "target": "jeannie_ensure_local_docker_compose",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4078",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_deploy_heimdall",
+ "target": "jeannie_repair_local_docker_iptables",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4079",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_deploy_hermes",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4262",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_deploy_hermes",
+ "target": "jeannie_disabled_value",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4264",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_deploy_hermes",
+ "target": "jeannie_ensure_local_docker_compose",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4278",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_deploy_hermes",
+ "target": "jeannie_sops_load_secrets",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4305",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_deploy_matrix",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4133",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_deploy_matrix",
+ "target": "jeannie_disabled_value",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4135",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_deploy_matrix",
+ "target": "jeannie_ensure_local_docker_compose",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4154",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_deploy_matrix",
+ "target": "jeannie_repair_local_docker_iptables",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4155",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_deploy_matrix",
+ "target": "jeannie_sops_load_secrets",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4170",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_deploy_omniroute",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4217",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_deploy_omniroute",
+ "target": "jeannie_disabled_value",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4219",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_deploy_omniroute",
+ "target": "jeannie_ensure_local_docker_compose",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4230",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_deploy_omniroute",
+ "target": "jeannie_repair_local_docker_iptables",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4231",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_deploy_rpi_services",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4363",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_deploy_rpi_services",
+ "target": "jeannie_disabled_value",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4365",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_destroy_pimox_worker_vms",
+ "target": "jeannie_truthy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6314",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_destroy_pimox_worker_vms",
+ "target": "jeannie_pimox_worker_count_effective",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6318",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_destroy_pimox_worker_vms",
+ "target": "jeannie_worker_index_is_skipped",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6329",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_destroy_pimox_worker_vms",
+ "target": "jeannie_pimox_ssh",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6334",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_cluster",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7608",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_cluster",
+ "target": "scripts_report_ui_report_ui_parse_args",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7609",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_cluster",
+ "target": "scripts_report_ui_report_ui_begin",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7614",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_cluster",
+ "target": "scripts_report_ui_report_ui_check",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7615",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_cluster",
+ "target": "scripts_report_ui_report_ui_render",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7624",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_cluster",
+ "target": "scripts_report_ui_report_ui_cleanup",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7625",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_cluster",
+ "target": "jeannie_status_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7629",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_cluster",
+ "target": "jeannie_status_systemd_units",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7630",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_cluster",
+ "target": "jeannie_status_kubernetes",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7631",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_cluster",
+ "target": "jeannie_status_pimox_workers",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7632",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_cluster",
+ "target": "jeannie_status_run",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7633",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_cluster",
+ "target": "jeannie_status_http",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7634",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_cluster",
+ "target": "jeannie_backstage_brain_note",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7653",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_edge",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7442",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_edge",
+ "target": "scripts_report_ui_report_ui_parse_args",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7443",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_edge",
+ "target": "scripts_report_ui_report_ui_begin",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7448",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_edge",
+ "target": "scripts_report_ui_report_ui_check",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7449",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_edge",
+ "target": "scripts_report_ui_report_ui_render",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7455",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_edge",
+ "target": "scripts_report_ui_report_ui_cleanup",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7456",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_edge",
+ "target": "jeannie_status_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7460",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_edge",
+ "target": "jeannie_status_http",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7461",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_edge",
+ "target": "jeannie_backstage_brain_note",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7490",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_gitea",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7510",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_gitea",
+ "target": "scripts_report_ui_report_ui_parse_args",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7511",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_gitea",
+ "target": "scripts_report_ui_report_ui_begin",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7516",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_gitea",
+ "target": "scripts_report_ui_report_ui_check",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7517",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_gitea",
+ "target": "scripts_report_ui_report_ui_render",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7523",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_gitea",
+ "target": "scripts_report_ui_report_ui_cleanup",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7524",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_gitea",
+ "target": "jeannie_status_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7528",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_gitea",
+ "target": "jeannie_status_http",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7529",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_gitea",
+ "target": "jeannie_status_compose_stack",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7531",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_gitea",
+ "target": "jeannie_status_run",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7533",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_gitea",
+ "target": "jeannie_backstage_brain_note",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7553",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_preapply",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2558",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_preapply",
+ "target": "jeannie_preflight_check",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2561",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_rpi",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7567",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_rpi",
+ "target": "scripts_report_ui_report_ui_parse_args",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7568",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_rpi",
+ "target": "scripts_report_ui_report_ui_begin",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7573",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_rpi",
+ "target": "scripts_report_ui_report_ui_check",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7574",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_rpi",
+ "target": "scripts_report_ui_report_ui_render",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7579",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_rpi",
+ "target": "scripts_report_ui_report_ui_cleanup",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7580",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_rpi",
+ "target": "jeannie_status_rpi_services",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7584",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_rpi",
+ "target": "jeannie_backstage_brain_note",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7595",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_versions",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L776",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_versions",
+ "target": "scripts_report_ui_report_ui_parse_args",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L777",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_versions",
+ "target": "jeannie_doctor_versions_report",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L781",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_versions",
+ "target": "jeannie_doctor_versions_compact",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L784",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_versions_compact",
+ "target": "jeannie_ensure_python3",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L711",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_versions_compact",
+ "target": "scripts_report_ui_report_ui_begin",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L712",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_versions_compact",
+ "target": "jeannie_status_kubernetes_api_ok",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L714",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_versions_compact",
+ "target": "scripts_report_ui_report_ui_emit",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L715",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_versions_compact",
+ "target": "scripts_report_ui_report_ui_render",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L716",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_versions_compact",
+ "target": "scripts_report_ui_report_ui_cleanup",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L717",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_versions_report",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L632",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_doctor_versions_report",
+ "target": "jeannie_ensure_python3",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L633",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_drill_gitea_restore",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5070",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_drill_gitea_restore",
+ "target": "jeannie_install_gitea_backup_timer",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5072",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_drill_restore",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8272",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_edge_apply",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5608",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_edge_apply",
+ "target": "jeannie_run_tofu_stack",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5610",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_cluster_worker_var_file",
+ "target": "jeannie_prepare_cluster_worker_var_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5792",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_cluster_worker_var_file",
+ "target": "jeannie_truthy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5794",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_cluster_worker_var_file",
+ "target": "jeannie_cluster_worker_var_file_has_workers",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5797",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_cosign_keypair",
+ "target": "jeannie_ensure_cosign_available",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3572",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_cosign_keypair",
+ "target": "jeannie_ensure_cosign_password",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3573",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_docker_build_space",
+ "target": "jeannie_docker_root_dir",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3439",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_docker_build_space",
+ "target": "jeannie_path_available_mb",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3440",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_docker_build_space",
+ "target": "jeannie_prune_unused_docker_build_data",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3447",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_edge_haproxy_stats_password",
+ "target": "jeannie_edge_haproxy_stats_password_valid",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5760",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_edge_haproxy_stats_password",
+ "target": "jeannie_edge_haproxy_stats_credentials_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5765",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_edge_haproxy_stats_password",
+ "target": "jeannie_recover_edge_haproxy_stats_password",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5776",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_edge_haproxy_stats_password",
+ "target": "jeannie_write_edge_haproxy_stats_credentials",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5779",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_edge_haproxy_stats_password",
+ "target": "jeannie_generate_edge_haproxy_stats_password",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5784",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_edge_tailscale_routes",
+ "target": "jeannie_disabled_value",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5630",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_edge_tailscale_routes",
+ "target": "jeannie_truthy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5633",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_edge_tailscale_routes",
+ "target": "jeannie_validate_ipv4_cidr_or_host",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5637",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_existing_cluster_started_for_up",
+ "target": "jeannie_cluster_control_plane_tracked",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6503",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_existing_cluster_started_for_up",
+ "target": "jeannie_cluster_admin_kubeconfig_present",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6508",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_existing_cluster_started_for_up",
+ "target": "jeannie_kubernetes_api_reachable",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6517",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_existing_cluster_started_for_up",
+ "target": "jeannie_start_cluster",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6523",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_existing_cluster_started_for_up",
+ "target": "jeannie_wait_for_kubernetes_api",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6524",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_gitea_repo_ssh_access",
+ "target": "jeannie_truthy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4633",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_gitea_repo_ssh_access",
+ "target": "jeannie_gitea_public_key_registered",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4637",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_gitea_repo_ssh_access",
+ "target": "jeannie_create_gitea_repo_deploy_key",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4640",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_go_toolchain",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L1022",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_kubernetes_api_ready_for_tofu_stack",
+ "target": "jeannie_wait_for_kubernetes_api_stable",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6470",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_local_docker_compose",
+ "target": "jeannie_install_missing_debian_packages",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L4004",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_pimox_worker_node",
+ "target": "jeannie_pimox_worker_net0_config",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L1880",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_pimox_worker_node",
+ "target": "jeannie_pimox_ssh",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L1883",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_pimox_worker_node",
+ "target": "jeannie_truthy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L1888",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_pimox_worker_node",
+ "target": "jeannie_pimox_start_vm_with_cpuset",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2014",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_pimox_worker_node",
+ "target": "jeannie_pimox_worker_static_ip",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2022",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_pimox_worker_node",
+ "target": "jeannie_configure_pimox_worker_forwarding",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2027",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_pimox_worker_node",
+ "target": "jeannie_configure_pimox_worker_guest_network",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2032",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_pimox_worker_node",
+ "target": "jeannie_pimox_worker_vm_debug",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2042",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_pimox_worker_node",
+ "target": "jeannie_wait_for_pimox_guest_ssh",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2054",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_pimox_worker_node",
+ "target": "jeannie_pimox_guest_cpu_count",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2059",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_pimox_worker_node",
+ "target": "jeannie_pimox_shutdown_vm_gracefully",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2062",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_static_pimox_worker_spec_file",
+ "target": "jeannie_worker_index_is_skipped",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2205",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_static_pimox_worker_spec_file",
+ "target": "jeannie_pimox_worker_static_ip",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2208",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ensure_website_image_tag_not_reused",
+ "target": "jeannie_image_state_value",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3351",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_explain",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8368",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_export_homelab_inventory_tf_vars",
+ "target": "jeannie_export_if_unset",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L185",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_fix_debian_docker_root",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2305",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_fix_debian_docker_root",
+ "target": "jeannie_check_debian_docker_root",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2350",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_gitops_status",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8296",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_grafana_dashboards",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8385",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_heal",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8258",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_homelab_preflight",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2518",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_homelab_preflight",
+ "target": "jeannie_truthy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2520",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_homelab_preflight",
+ "target": "jeannie_preflight_check",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2536",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_homelab_preflight",
+ "target": "jeannie_preflight_warn",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2543",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_image_supply_chain_metadata_exists",
+ "target": "jeannie_image_digest_ref",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3616",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_image_supply_chain_metadata_exists",
+ "target": "jeannie_run_cosign",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3622",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_install_gitea_runner",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5087",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_jeannie_step_latest_progress_line",
+ "target": "jeannie_jeannie_compact_text",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L889",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_jeannie_step_progress",
+ "target": "jeannie_jeannie_step_prefix",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L874",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_jeannie_verbose_enabled",
+ "target": "jeannie_truthy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L840",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_kubeconfig_readonly",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8281",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_move_prometheus_stack_workers",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L594",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_move_prometheus_stack_workers",
+ "target": "jeannie_truthy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L604",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_move_prometheus_stack_workers",
+ "target": "jeannie_disabled_value",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L606",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_move_prometheus_stack_workers",
+ "target": "jeannie_ensure_homelab_node_labels",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L615",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_move_prometheus_stack_workers",
+ "target": "jeannie_adopt_platform_existing_resources",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L617",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_move_prometheus_stack_workers",
+ "target": "jeannie_delete_prometheus_stack_storage",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L619",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_nuke",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7670",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_nuke",
+ "target": "jeannie_truthy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7672",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_nuke",
+ "target": "jeannie_cluster_worker_targets",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7681",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_nuke",
+ "target": "jeannie_cleanup_node",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7693",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_nuke",
+ "target": "jeannie_destroy_pimox_worker_vms",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7801",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_nuke",
+ "target": "jeannie_backup_tofu_state",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7808",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_nuke_for_rebuild",
+ "target": "jeannie_nuke",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6041",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ollama_install_from_tgz",
+ "target": "jeannie_ollama_write_systemd_service",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5307",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ollama_setup",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5323",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ollama_setup",
+ "target": "jeannie_ollama_install_from_tgz",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5335",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ollama_setup",
+ "target": "jeannie_ollama_linux_arch",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5341",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_ollama_setup",
+ "target": "jeannie_website_ollama_listen",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5364",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_openwrt",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3142",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_openwrt",
+ "target": "jeannie_run_openwrt_pipeline",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3144",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_pimox_guest_ipv4",
+ "target": "jeannie_pimox_ssh",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L1071",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_pimox_shutdown_vm_gracefully",
+ "target": "jeannie_pimox_ssh",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L1807",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_pimox_start_vm_with_cpuset",
+ "target": "jeannie_pimox_ssh",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L1752",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_pimox_start_vm_with_cpuset",
+ "target": "jeannie_cpuset_cpu_count",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L1755",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_pimox_worker_count_effective",
+ "target": "jeannie_pimox_worker_count_default",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6212",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_pimox_worker_cpu_affinity",
+ "target": "jeannie_cpuset_cpu_count",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L1725",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_pimox_worker_guest_ssh_repair",
+ "target": "jeannie_pimox_ssh",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L1231",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_pimox_worker_guest_ssh_repair",
+ "target": "jeannie_pimox_guest_exec_exitcode",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L1238",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_pimox_worker_net0_config",
+ "target": "jeannie_pimox_generated_mac",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L1425",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_pimox_worker_vm_debug",
+ "target": "jeannie_pimox_ssh",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L1128",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_plan_homelab",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5983",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_plan_homelab",
+ "target": "jeannie_prepare_cluster_worker_var_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5987",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_plan_homelab",
+ "target": "jeannie_tofu_stack_from_plan_target",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5997",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_plan_homelab",
+ "target": "jeannie_run_tofu_plan_stack",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6007",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_platform_apply",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5602",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_platform_apply",
+ "target": "jeannie_run_tofu_stack",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5604",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_prepare_cluster_worker_var_file",
+ "target": "jeannie_ensure_static_pimox_worker_spec_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2163",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_prepare_cluster_worker_var_file",
+ "target": "jeannie_truthy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2164",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_prepare_cluster_worker_var_file",
+ "target": "jeannie_disabled_value",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2166",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_prepare_cluster_worker_var_file",
+ "target": "jeannie_write_cluster_worker_var_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2171",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_publish_image_supply_chain_metadata",
+ "target": "jeannie_image_supply_chain_metadata_exists",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3733",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_publish_image_supply_chain_metadata",
+ "target": "jeannie_image_digest_ref",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3738",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_publish_image_supply_chain_metadata",
+ "target": "jeannie_write_image_sbom_predicate",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3741",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_publish_image_supply_chain_metadata",
+ "target": "jeannie_run_cosign",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3744",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_rebuild_cluster",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6012",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_rebuild_cluster",
+ "target": "jeannie_jeannie_log_start",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6022",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_rebuild_cluster",
+ "target": "jeannie_jeannie_step_plan",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6023",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_rebuild_cluster",
+ "target": "jeannie_run_step",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6025",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_recover_edge_haproxy_stats_password",
+ "target": "jeannie_edge_haproxy_stats_password_valid",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5749",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_recover_plan",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8291",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_recover_power",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8374",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_recover_power",
+ "target": "jeannie_record_change_journal",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8375",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_recreate_pods_for_selector",
+ "target": "jeannie_dump_argocd_debug",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5171",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_recreate_pods_for_selector",
+ "target": "jeannie_dump_namespace_debug",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5172",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_release_snapshot",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8305",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_require_pimox_app_worker_capacity",
+ "target": "jeannie_disabled_value",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5410",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_resource_budget",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8320",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_route_inventory",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8362",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_cosign",
+ "target": "jeannie_ensure_cosign_available",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3565",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_cosign",
+ "target": "jeannie_ensure_cosign_password",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3566",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_openwrt_pipeline",
+ "target": "jeannie_disabled_value",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2831",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_openwrt_pipeline",
+ "target": "jeannie_truthy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2834",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_openwrt_pipeline",
+ "target": "jeannie_pimox_ssh",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2884",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_pimox_pipeline",
+ "target": "jeannie_disabled_value",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2625",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_pimox_pipeline",
+ "target": "jeannie_cpuset_cpu_count",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2654",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_pimox_pipeline",
+ "target": "jeannie_truthy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2675",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_pimox_pipeline",
+ "target": "jeannie_pimox_ssh",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2689",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_pimox_pipeline",
+ "target": "jeannie_ensure_python3",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2725",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_pimox_pipeline",
+ "target": "jeannie_detect_route_interface",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2726",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_pimox_pipeline",
+ "target": "jeannie_run_tofu_stack",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2751",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_pimox_pipeline",
+ "target": "jeannie_worker_index_is_skipped",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2767",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_pimox_pipeline",
+ "target": "jeannie_pimox_worker_cpu_affinity",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2774",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_pimox_pipeline",
+ "target": "jeannie_ensure_pimox_worker_node",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2776",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_pimox_pipeline",
+ "target": "jeannie_write_cluster_worker_var_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L2801",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_step",
+ "target": "jeannie_jeannie_step_prefix",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L921",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_step",
+ "target": "jeannie_jeannie_verbose_enabled",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L930",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_step",
+ "target": "jeannie_redact_sensitive_output",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L932",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_step",
+ "target": "jeannie_jeannie_step_latest_progress_line",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L950",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_step",
+ "target": "jeannie_jeannie_step_progress",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L953",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_tofu_plan_stack",
+ "target": "jeannie_ensure_cluster_worker_var_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L537",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_tofu_stack",
+ "target": "jeannie_ensure_cluster_worker_var_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L502",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_tofu_stack",
+ "target": "jeannie_ensure_edge_tailscale_routes",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L505",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_tofu_stack",
+ "target": "jeannie_ensure_edge_haproxy_stats_password",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L506",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_tofu_stack",
+ "target": "jeannie_truthy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L509",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_tofu_stack",
+ "target": "jeannie_disabled_value",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L511",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_tofu_stack",
+ "target": "jeannie_ensure_kubernetes_api_ready_for_tofu_stack",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L521",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_tofu_stack",
+ "target": "jeannie_adopt_platform_existing_resources",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L523",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_run_tofu_stack",
+ "target": "jeannie_adopt_apps_existing_resources",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L526",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_scorecard",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8380",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_secrets_check",
+ "target": "jeannie_sops_age_key_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8009",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_secrets_check",
+ "target": "jeannie_sops_age_recipient",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8020",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_secrets_check",
+ "target": "jeannie_secrets_check_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8033",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_secrets_init",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7934",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_secrets_init",
+ "target": "jeannie_ensure_sops_age_tools",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7935",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_secrets_init",
+ "target": "jeannie_sops_age_key_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7937",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_secrets_init",
+ "target": "jeannie_sops_age_recipient",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7951",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_security_attack_path",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8217",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_security_host",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8168",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_security_k8s",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8163",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_security_logs",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8193",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_security_nuclei",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8183",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_security_prepare",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8153",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_security_runtime",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8198",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_security_scan",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8148",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_security_secrets",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8178",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_security_trivy",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8173",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_security_web",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8188",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_security_zap",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8158",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_sops_load_secrets",
+ "target": "jeannie_sops_available",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7889",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_sops_load_secrets",
+ "target": "jeannie_sops_age_key_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7894",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_start_cluster",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6421",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_start_cluster",
+ "target": "jeannie_cluster_worker_targets",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6422",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_start_cluster",
+ "target": "jeannie_start_local_kubernetes_services",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6425",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_start_cluster",
+ "target": "jeannie_start_pimox_worker_vms",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6426",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_start_cluster",
+ "target": "jeannie_start_remote_kubernetes_services",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6428",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_start_pimox_worker_vms",
+ "target": "jeannie_pimox_worker_count_effective",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6359",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_start_pimox_worker_vms",
+ "target": "jeannie_worker_index_is_skipped",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6370",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_start_pimox_worker_vms",
+ "target": "jeannie_pimox_ssh",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6375",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_cascade_check",
+ "target": "jeannie_truthy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6668",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_cascade_check",
+ "target": "scripts_report_ui_report_ui_check",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6669",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_cascade_report",
+ "target": "jeannie_status_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6922",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_cascade_report",
+ "target": "jeannie_status_cascade_check",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6923",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_cascade_report",
+ "target": "jeannie_status_cascade_warn",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6932",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_cascade_report",
+ "target": "jeannie_truthy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6971",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_cascade_warn",
+ "target": "jeannie_truthy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6694",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_cascade_warn",
+ "target": "scripts_report_ui_report_ui_check",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6695",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_gitea_public_ok",
+ "target": "jeannie_status_http_reachable",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6660",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_kubernetes",
+ "target": "jeannie_status_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7111",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_kubernetes",
+ "target": "jeannie_status_run",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7126",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_kubernetes",
+ "target": "jeannie_status_kubernetes_problem_pods",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7127",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_pimox_workers",
+ "target": "jeannie_status_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7158",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_pimox_workers",
+ "target": "jeannie_pimox_worker_count_effective",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7160",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_pimox_workers",
+ "target": "jeannie_worker_index_is_skipped",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7171",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_pimox_workers",
+ "target": "jeannie_pimox_ssh",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7177",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_pimox_workers_running",
+ "target": "jeannie_pimox_worker_count_effective",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6899",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_pimox_workers_running",
+ "target": "jeannie_worker_index_is_skipped",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6906",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_pimox_workers_running",
+ "target": "jeannie_pimox_ssh",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6910",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_registry_ok",
+ "target": "jeannie_status_http_ok",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6874",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_report",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7289",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_report",
+ "target": "scripts_report_ui_report_ui_parse_args",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7308",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_report",
+ "target": "scripts_report_ui_report_ui_begin",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7318",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_report",
+ "target": "jeannie_status_cascade_report",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7319",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_report",
+ "target": "scripts_report_ui_report_ui_render",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7320",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_report",
+ "target": "scripts_report_ui_report_ui_cleanup",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7321",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_report",
+ "target": "jeannie_truthy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7341",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_report",
+ "target": "jeannie_status_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7345",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_report",
+ "target": "jeannie_status_run",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7349",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_report",
+ "target": "jeannie_status_systemd_units",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7353",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_report",
+ "target": "jeannie_status_compose_stack",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7361",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_report",
+ "target": "jeannie_status_kubernetes",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7365",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_report",
+ "target": "jeannie_status_pimox_workers",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7366",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_report",
+ "target": "jeannie_status_rpi_services",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7367",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_report",
+ "target": "jeannie_status_http",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7378",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_rpi_services",
+ "target": "jeannie_status_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L7193",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_status_section",
+ "target": "jeannie_truthy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6530",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_stop_cluster",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6394",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_stop_cluster",
+ "target": "jeannie_cluster_worker_targets",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6395",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_stop_cluster",
+ "target": "jeannie_stop_remote_kubernetes_services",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6399",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_stop_cluster",
+ "target": "jeannie_stop_pimox_worker_vms",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6401",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_stop_cluster",
+ "target": "jeannie_stop_local_kubernetes_services",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6402",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_stop_cluster",
+ "target": "jeannie_kubernetes_api_reachable",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6403",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_stop_cluster",
+ "target": "jeannie_verify_pimox_worker_vms_stopped",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6407",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_stop_local_kubernetes_services",
+ "target": "jeannie_truthy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6094",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_stop_pimox_worker_vms",
+ "target": "jeannie_pimox_worker_count_effective",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6233",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_stop_pimox_worker_vms",
+ "target": "jeannie_worker_index_is_skipped",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6248",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_stop_pimox_worker_vms",
+ "target": "jeannie_pimox_ssh",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6253",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_synthetic_checks",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8315",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_up",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5931",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_up",
+ "target": "jeannie_jeannie_log_start",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5934",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_up",
+ "target": "jeannie_jeannie_step_plan",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5935",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_up",
+ "target": "jeannie_run_step",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5937",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_up_task",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5890",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_up_task",
+ "target": "jeannie_deploy_gitea",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5894",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_up_task",
+ "target": "jeannie_bootstrap_gitea_repo",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5897",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_up_task",
+ "target": "jeannie_deploy_heimdall",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5900",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_up_task",
+ "target": "jeannie_deploy_matrix",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5903",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_up_task",
+ "target": "jeannie_deploy_omniroute",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5906",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_up_task",
+ "target": "jeannie_deploy_hermes",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5909",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_up_task",
+ "target": "jeannie_deploy_rpi_services",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5912",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_up_task",
+ "target": "jeannie_run_pimox_pipeline",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5915",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_up_task",
+ "target": "jeannie_run_openwrt_pipeline",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5918",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_up_task",
+ "target": "jeannie_check_edge_ssh",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5921",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_verify_pimox_worker_vms_stopped",
+ "target": "jeannie_pimox_worker_count_effective",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6288",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_verify_pimox_worker_vms_stopped",
+ "target": "jeannie_worker_index_is_skipped",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6290",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_verify_pimox_worker_vms_stopped",
+ "target": "jeannie_pimox_ssh",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6294",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_wait_for_cluster_resource",
+ "target": "jeannie_dump_argocd_debug",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3836",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_wait_for_deployment_ready",
+ "target": "jeannie_dump_argocd_debug",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3867",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_wait_for_deployment_ready",
+ "target": "jeannie_dump_namespace_debug",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3868",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_wait_for_kubernetes_api",
+ "target": "jeannie_kubernetes_api_reachable",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6492",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_wait_for_kubernetes_api_stable",
+ "target": "jeannie_kubernetes_api_reachable",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L6446",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_wait_for_namespace",
+ "target": "jeannie_dump_argocd_debug",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3795",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_wait_for_namespaced_resource",
+ "target": "jeannie_dump_argocd_debug",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3814",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_wait_for_pimox_guest_ssh",
+ "target": "jeannie_disabled_value",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L1289",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_wait_for_pimox_guest_ssh",
+ "target": "jeannie_truthy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L1289",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_wait_for_pimox_guest_ssh",
+ "target": "jeannie_pimox_guest_ipv4",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L1300",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_wait_for_pimox_guest_ssh",
+ "target": "jeannie_pimox_worker_vm_debug",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L1325",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_wait_for_pimox_guest_ssh",
+ "target": "jeannie_pimox_worker_guest_ssh_repair",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L1343",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_website_image_is_current",
+ "target": "jeannie_image_state_value",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3330",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_website_image_is_current",
+ "target": "jeannie_image_ref_tag",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3338",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_website_image_is_current",
+ "target": "jeannie_registry_image_exists",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L3339",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_website_ollama_listen",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5218",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_website_translation_model",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L5187",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_workers_manage",
+ "target": "jeannie_require_debian_server",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "jeannie",
+ "source_location": "L8390",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main_drift_score",
+ "target": "labs_mlops_platform_app_main_normalized_features",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L149",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main_predict",
+ "target": "labs_mlops_platform_app_main_score_prediction",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L178",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main_predict",
+ "target": "labs_mlops_platform_app_main_drift_score",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L179",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main_score_prediction",
+ "target": "labs_mlops_platform_app_main_normalized_features",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L143",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main_score_prediction",
+ "target": "labs_mlops_platform_app_main_logistic",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L145",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_access_audit__entry",
+ "target": "scripts_access_audit_main",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/access-audit",
+ "source_location": "L122",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_access_audit_git_access",
+ "target": "scripts_access_audit_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/access-audit",
+ "source_location": "L41",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_access_audit_kubernetes_access",
+ "target": "scripts_access_audit_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/access-audit",
+ "source_location": "L69",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_access_audit_main",
+ "target": "scripts_access_audit_ssh_inventory",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/access-audit",
+ "source_location": "L115",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_access_audit_main",
+ "target": "scripts_access_audit_git_access",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/access-audit",
+ "source_location": "L116",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_access_audit_main",
+ "target": "scripts_access_audit_tailnet_access",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/access-audit",
+ "source_location": "L117",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_access_audit_main",
+ "target": "scripts_access_audit_kubernetes_access",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/access-audit",
+ "source_location": "L118",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_access_audit_main",
+ "target": "scripts_access_audit_runner_access",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/access-audit",
+ "source_location": "L119",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_access_audit_runner_access",
+ "target": "scripts_access_audit_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/access-audit",
+ "source_location": "L105",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_access_audit_ssh_inventory",
+ "target": "scripts_access_audit_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/access-audit",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_access_audit_ssh_inventory",
+ "target": "scripts_access_audit_warn_file_mode",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/access-audit",
+ "source_location": "L37",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_access_audit_tailnet_access",
+ "target": "scripts_access_audit_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/access-audit",
+ "source_location": "L56",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_agent_sandbox_classify",
+ "target": "scripts_agent_sandbox_load_policy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/agent-sandbox",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_agent_sandbox_main",
+ "target": "scripts_agent_sandbox_load_policy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/agent-sandbox",
+ "source_location": "L69",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_agent_sandbox_main",
+ "target": "scripts_agent_sandbox_classify",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/agent-sandbox",
+ "source_location": "L73",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_agent_sandbox_main",
+ "target": "scripts_agent_sandbox_print_result",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/agent-sandbox",
+ "source_location": "L77",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals_load_cases",
+ "target": "scripts_ai_evals_case",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L39",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals_load_cases",
+ "target": "scripts_ai_evals_split_terms",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals_main",
+ "target": "scripts_ai_evals_load_cases",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L190",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals_main",
+ "target": "scripts_ai_evals_print_list",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L192",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals_main",
+ "target": "scripts_ai_evals_print_show",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L194",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals_main",
+ "target": "scripts_ai_evals_print_run",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L196",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals_print_run",
+ "target": "scripts_ai_evals_run_case",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L156",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals_run_case",
+ "target": "scripts_ai_evals_run_repo_scan",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L101",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals_run_case",
+ "target": "scripts_ai_evals_run_explain_output",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L99",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals_run_explain_output",
+ "target": "scripts_ai_evals_fixture_text",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L62",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals_run_repo_scan",
+ "target": "scripts_ai_evals_fixture_text",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L73",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_memory_main",
+ "target": "scripts_ai_memory_check",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/ai-memory",
+ "source_location": "L61",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_scheduler_main",
+ "target": "scripts_ai_scheduler_simulate",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/ai-scheduler",
+ "source_location": "L117",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_scheduler_main",
+ "target": "scripts_ai_scheduler_recommend",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/ai-scheduler",
+ "source_location": "L119",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_scheduler_recommend",
+ "target": "scripts_ai_scheduler_read_tsv",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/ai-scheduler",
+ "source_location": "L65",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_scheduler_recommend",
+ "target": "scripts_ai_scheduler_score_node",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/ai-scheduler",
+ "source_location": "L76",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_scheduler_score_node",
+ "target": "scripts_ai_scheduler_as_bool",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/ai-scheduler",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_scheduler_simulate",
+ "target": "scripts_ai_scheduler_read_tsv",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/ai-scheduler",
+ "source_location": "L102",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_scheduler_simulate",
+ "target": "scripts_ai_scheduler_recommend",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/ai-scheduler",
+ "source_location": "L104",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ask__entry",
+ "target": "scripts_ask_usage",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/ask",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_backup_status__entry",
+ "target": "scripts_backup_status_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/backup-status",
+ "source_location": "L79",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_backup_status__entry",
+ "target": "scripts_backup_status_check_latest",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/backup-status",
+ "source_location": "L80",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_backup_status_check_latest",
+ "target": "scripts_backup_status_latest_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/backup-status",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_backup_status_check_latest",
+ "target": "scripts_backup_status_file_age_hours",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/backup-status",
+ "source_location": "L66",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_blockchain_devnet__entry",
+ "target": "scripts_blockchain_devnet_rpc_call",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/blockchain-devnet",
+ "source_location": "L41",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_blockchain_devnet__entry",
+ "target": "scripts_blockchain_devnet_usage",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/blockchain-devnet",
+ "source_location": "L70",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_blockchain_test__entry",
+ "target": "scripts_blockchain_test_usage",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/blockchain-test",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_blockchain_wallet__entry",
+ "target": "scripts_blockchain_wallet_run_cast",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/blockchain-wallet",
+ "source_location": "L64",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_blockchain_wallet__entry",
+ "target": "scripts_blockchain_wallet_require_private_key",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/blockchain-wallet",
+ "source_location": "L67",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_blockchain_wallet__entry",
+ "target": "scripts_blockchain_wallet_usage",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/blockchain-wallet",
+ "source_location": "L80",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index_build_index",
+ "target": "scripts_build_homelab_ai_index_read_text",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L139",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index_build_index",
+ "target": "scripts_build_homelab_ai_index_chunk_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L142",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index_candidate_files",
+ "target": "scripts_build_homelab_ai_index_path_is_secret",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L81",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index_candidate_files",
+ "target": "scripts_build_homelab_ai_index_path_matches_any",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L82",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index_chunk_file",
+ "target": "scripts_build_homelab_ai_index_tokenise",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L112",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index_main",
+ "target": "scripts_build_homelab_ai_index_load_patterns",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L177",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index_main",
+ "target": "scripts_build_homelab_ai_index_candidate_files",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L179",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index_main",
+ "target": "scripts_build_homelab_ai_index_build_index",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L180",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_advisor__entry",
+ "target": "scripts_capacity_advisor_run_check",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/capacity-advisor",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_limits__entry",
+ "target": "scripts_capacity_limits_usage",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/capacity-limits",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report__entry",
+ "target": "scripts_capacity_report_verbose_main",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L409",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report__entry",
+ "target": "scripts_capacity_report_compact_main",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L411",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report_compact_guidance",
+ "target": "scripts_capacity_report_emit",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L394",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report_compact_host_capacity",
+ "target": "scripts_capacity_report_emit",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L210",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report_compact_kubernetes_capacity",
+ "target": "scripts_capacity_report_grafana_explore_url",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L260",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report_compact_kubernetes_capacity",
+ "target": "scripts_capacity_report_emit",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L266",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report_compact_main",
+ "target": "scripts_capacity_report_compact_host_capacity",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L400",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report_compact_main",
+ "target": "scripts_capacity_report_compact_kubernetes_capacity",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L401",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report_compact_main",
+ "target": "scripts_capacity_report_compact_pimox_capacity",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L402",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report_compact_main",
+ "target": "scripts_capacity_report_compact_rpi_capacity",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L403",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report_compact_main",
+ "target": "scripts_capacity_report_compact_guidance",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L404",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report_compact_pimox_capacity",
+ "target": "scripts_capacity_report_emit",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L321",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report_compact_rpi_capacity",
+ "target": "scripts_capacity_report_emit",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L366",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report_host_capacity",
+ "target": "scripts_capacity_report_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L95",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report_host_capacity",
+ "target": "scripts_capacity_report_run_optional",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L96",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report_kubernetes_capacity",
+ "target": "scripts_capacity_report_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L107",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report_kubernetes_capacity",
+ "target": "scripts_capacity_report_run_optional",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L113",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report_pimox_capacity",
+ "target": "scripts_capacity_report_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L130",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report_rpi_capacity",
+ "target": "scripts_capacity_report_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L158",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report_summary",
+ "target": "scripts_capacity_report_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L177",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report_verbose_main",
+ "target": "scripts_capacity_report_host_capacity",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L189",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report_verbose_main",
+ "target": "scripts_capacity_report_kubernetes_capacity",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L190",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report_verbose_main",
+ "target": "scripts_capacity_report_pimox_capacity",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L191",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report_verbose_main",
+ "target": "scripts_capacity_report_rpi_capacity",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L192",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report_verbose_main",
+ "target": "scripts_capacity_report_summary",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/capacity-report",
+ "source_location": "L193",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_cert_check__entry",
+ "target": "scripts_cert_check_mark_fail",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/cert-check",
+ "source_location": "L157",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_cert_check__entry",
+ "target": "scripts_cert_check_inventory_scalar",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/cert-check",
+ "source_location": "L57",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_cert_check__entry",
+ "target": "scripts_cert_check_inventory_hosts",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/cert-check",
+ "source_location": "L65",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_cert_check__entry",
+ "target": "scripts_cert_check_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/cert-check",
+ "source_location": "L73",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_cert_check__entry",
+ "target": "scripts_cert_check_have",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/cert-check",
+ "source_location": "L76",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_cert_check_inventory_hosts",
+ "target": "scripts_cert_check_have",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/cert-check",
+ "source_location": "L47",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_cert_check_inventory_scalar",
+ "target": "scripts_cert_check_have",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/cert-check",
+ "source_location": "L37",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_change_journal__entry",
+ "target": "scripts_change_journal_append_entry",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/change-journal",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_change_journal__entry",
+ "target": "scripts_change_journal_latest_entries",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/change-journal",
+ "source_location": "L57",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_change_journal_append_entry",
+ "target": "scripts_change_journal_timestamp",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/change-journal",
+ "source_location": "L33",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_control_plane__entry",
+ "target": "scripts_control_plane_require_kubectl",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/control-plane",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_control_plane__entry",
+ "target": "scripts_control_plane_show_taints",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/control-plane",
+ "source_location": "L58",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_control_plane__entry",
+ "target": "scripts_control_plane_show_non_system_pods",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/control-plane",
+ "source_location": "L63",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_control_plane__entry",
+ "target": "scripts_control_plane_usage",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/control-plane",
+ "source_location": "L86",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_explain__entry",
+ "target": "scripts_explain_main",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/explain",
+ "source_location": "L334",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_explain_main",
+ "target": "scripts_explain_usage",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/explain",
+ "source_location": "L294",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_explain_main",
+ "target": "scripts_explain_explain_output",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/explain",
+ "source_location": "L304",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_explain_main",
+ "target": "scripts_explain_run_target",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/explain",
+ "source_location": "L325",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_explain_run_target",
+ "target": "scripts_explain_is_read_only_command",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/explain",
+ "source_location": "L76",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_explain_run_target",
+ "target": "scripts_explain_is_read_only_subcommand",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/explain",
+ "source_location": "L76",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_grafana_dashboards__entry",
+ "target": "scripts_grafana_dashboards_list_dashboards",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/grafana-dashboards",
+ "source_location": "L73",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_grafana_dashboards__entry",
+ "target": "scripts_grafana_dashboards_apply_dashboards",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/grafana-dashboards",
+ "source_location": "L76",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_grafana_dashboards__entry",
+ "target": "scripts_grafana_dashboards_usage",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/grafana-dashboards",
+ "source_location": "L79",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_apply_plan",
+ "target": "scripts_heal_highest_impact",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/heal",
+ "source_location": "L218",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_apply_plan",
+ "target": "scripts_heal_record_failed_action",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/heal",
+ "source_location": "L248",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_apply_plan",
+ "target": "scripts_heal_verify_healed",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/heal",
+ "source_location": "L250",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_apply_plan",
+ "target": "scripts_heal_clear_failed_action",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/heal",
+ "source_location": "L252",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_build_plan",
+ "target": "scripts_heal_recent_failed_commands",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/heal",
+ "source_location": "L111",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_build_plan",
+ "target": "scripts_heal_status_rows",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/heal",
+ "source_location": "L112",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_build_plan",
+ "target": "scripts_heal_rule_for",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/heal",
+ "source_location": "L113",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_build_plan",
+ "target": "scripts_heal_command_for",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/heal",
+ "source_location": "L129",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_clear_failed_action",
+ "target": "scripts_heal_load_heal_state",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/heal",
+ "source_location": "L323",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_clear_failed_action",
+ "target": "scripts_heal_write_heal_state",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/heal",
+ "source_location": "L327",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_command_for",
+ "target": "scripts_heal_pimox_worker_index",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/heal",
+ "source_location": "L98",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_main",
+ "target": "scripts_heal_load_status",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/heal",
+ "source_location": "L398",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_main",
+ "target": "scripts_heal_build_plan",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/heal",
+ "source_location": "L399",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_main",
+ "target": "scripts_heal_print_plan",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/heal",
+ "source_location": "L401",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_main",
+ "target": "scripts_heal_apply_plan",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/heal",
+ "source_location": "L406",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_print_plan",
+ "target": "scripts_heal_highest_impact",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/heal",
+ "source_location": "L169",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_print_plan",
+ "target": "scripts_heal_print_ai_context",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/heal",
+ "source_location": "L195",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_recent_failed_commands",
+ "target": "scripts_heal_load_heal_state",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/heal",
+ "source_location": "L288",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_recent_failed_commands",
+ "target": "scripts_heal_write_heal_state",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/heal",
+ "source_location": "L305",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_record_failed_action",
+ "target": "scripts_heal_load_heal_state",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/heal",
+ "source_location": "L310",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_record_failed_action",
+ "target": "scripts_heal_write_heal_state",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/heal",
+ "source_location": "L318",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_target_is_healed",
+ "target": "scripts_heal_pimox_worker_ready",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/heal",
+ "source_location": "L348",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_target_is_healed",
+ "target": "scripts_heal_load_status",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/heal",
+ "source_location": "L351",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_target_is_healed",
+ "target": "scripts_heal_status_rows",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/heal",
+ "source_location": "L356",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_verify_healed",
+ "target": "scripts_heal_target_is_healed",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/heal",
+ "source_location": "L335",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_homelab_map__entry",
+ "target": "scripts_homelab_map_inventory",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/homelab-map",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_impact__entry",
+ "target": "scripts_impact_usage",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/impact",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander_load_incidents",
+ "target": "scripts_incident_commander_incident",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L48",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander_load_incidents",
+ "target": "scripts_incident_commander_split_items",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander_main",
+ "target": "scripts_incident_commander_load_incidents",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L192",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander_main",
+ "target": "scripts_incident_commander_print_list",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L194",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander_main",
+ "target": "scripts_incident_commander_replay",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L196",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander_main",
+ "target": "scripts_incident_commander_read_triage_input",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L198",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander_main",
+ "target": "scripts_incident_commander_render_triage",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L198",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander_main",
+ "target": "scripts_incident_commander_print_triage",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L202",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander_render_triage",
+ "target": "scripts_incident_commander_classify",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L84",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander_render_triage",
+ "target": "scripts_incident_commander_incident_for_class",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L85",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander_render_triage",
+ "target": "scripts_incident_commander_first_evidence_lines",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L93",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander_replay",
+ "target": "scripts_incident_commander_fixture_text",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L146",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander_replay",
+ "target": "scripts_incident_commander_render_triage",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L147",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_jeannie_core__entry",
+ "target": "scripts_jeannie_core_core_sources_newer",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/jeannie-core",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_kubeconfig_readonly__entry",
+ "target": "scripts_kubeconfig_readonly_main",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/kubeconfig-readonly",
+ "source_location": "L82",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_kubeconfig_readonly_main",
+ "target": "scripts_kubeconfig_readonly_usage",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/kubeconfig-readonly",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_kubeconfig_readonly_main",
+ "target": "scripts_kubeconfig_readonly_require_kubectl",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/kubeconfig-readonly",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_model_observe_grade",
+ "target": "scripts_model_observe_split_terms",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/model-observe",
+ "source_location": "L63",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_model_observe_main",
+ "target": "scripts_model_observe_print_prompts",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/model-observe",
+ "source_location": "L152",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_model_observe_main",
+ "target": "scripts_model_observe_run",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/model-observe",
+ "source_location": "L154",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_model_observe_main",
+ "target": "scripts_model_observe_report",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/model-observe",
+ "source_location": "L156",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_model_observe_print_prompts",
+ "target": "scripts_model_observe_prompts",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/model-observe",
+ "source_location": "L137",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_model_observe_run",
+ "target": "scripts_model_observe_prompts",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/model-observe",
+ "source_location": "L83",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_model_observe_run",
+ "target": "scripts_model_observe_offline_answer",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/model-observe",
+ "source_location": "L85",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_model_observe_run",
+ "target": "scripts_model_observe_ask_ollama",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/model-observe",
+ "source_location": "L89",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_model_observe_run",
+ "target": "scripts_model_observe_grade",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/model-observe",
+ "source_location": "L93",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_promote_main",
+ "target": "scripts_promote_plan",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/promote",
+ "source_location": "L84",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_promote_main",
+ "target": "scripts_promote_validate",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/promote",
+ "source_location": "L86",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_promote_main",
+ "target": "scripts_promote_rollback",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/promote",
+ "source_location": "L88",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_promote_plan",
+ "target": "scripts_promote_checks",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/promote",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_promote_validate",
+ "target": "scripts_promote_checks",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/promote",
+ "source_location": "L38",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab_load_cases",
+ "target": "scripts_prompt_injection_lab_case",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L38",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab_load_cases",
+ "target": "scripts_prompt_injection_lab_split_terms",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L42",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab_main",
+ "target": "scripts_prompt_injection_lab_load_cases",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L176",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab_main",
+ "target": "scripts_prompt_injection_lab_print_list",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L178",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab_main",
+ "target": "scripts_prompt_injection_lab_print_show",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L180",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab_main",
+ "target": "scripts_prompt_injection_lab_print_run",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L182",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab_print_run",
+ "target": "scripts_prompt_injection_lab_run_case",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L137",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab_run_case",
+ "target": "scripts_prompt_injection_lab_defense_response",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L95",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_query_homelab_ai_index_main",
+ "target": "scripts_query_homelab_ai_index_load_index",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L161",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_query_homelab_ai_index_main",
+ "target": "scripts_query_homelab_ai_index_score_chunks",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L166",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_query_homelab_ai_index_main",
+ "target": "scripts_query_homelab_ai_index_render_context",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L171",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_query_homelab_ai_index_main",
+ "target": "scripts_query_homelab_ai_index_render_citations",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L173",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_query_homelab_ai_index_main",
+ "target": "scripts_query_homelab_ai_index_ask_ollama",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L182",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_query_homelab_ai_index_score_chunks",
+ "target": "scripts_query_homelab_ai_index_tokenise",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L34",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_recover_plan__entry",
+ "target": "scripts_recover_plan_main",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/recover-plan",
+ "source_location": "L93",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_recover_plan_main",
+ "target": "scripts_recover_plan_check",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/recover-plan",
+ "source_location": "L78",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_recover_power__entry",
+ "target": "scripts_recover_power_run_optional",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/recover-power",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_recover_power_run_optional",
+ "target": "scripts_recover_power_run_step",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/recover-power",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_red_blue_loop_main",
+ "target": "scripts_red_blue_loop_plan",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/red-blue-loop",
+ "source_location": "L74",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_red_blue_loop_main",
+ "target": "scripts_red_blue_loop_run",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/red-blue-loop",
+ "source_location": "L76",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_red_blue_loop_main",
+ "target": "scripts_red_blue_loop_ledger",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/red-blue-loop",
+ "source_location": "L78",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_red_blue_loop_plan",
+ "target": "scripts_red_blue_loop_checks",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/red-blue-loop",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_red_blue_loop_run",
+ "target": "scripts_red_blue_loop_checks",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/red-blue-loop",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_release_snapshot__entry",
+ "target": "scripts_release_snapshot_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/release-snapshot",
+ "source_location": "L42",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_release_snapshot__entry",
+ "target": "scripts_release_snapshot_have",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/release-snapshot",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_release_snapshot__entry",
+ "target": "scripts_release_snapshot_run_optional",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/release-snapshot",
+ "source_location": "L55",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_release_snapshot__entry",
+ "target": "scripts_release_snapshot_latest_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/release-snapshot",
+ "source_location": "L75",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_release_snapshot_run_optional",
+ "target": "scripts_release_snapshot_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/release-snapshot",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_docs__entry",
+ "target": "scripts_render_docs_main",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/render-docs",
+ "source_location": "L157",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_docs_main",
+ "target": "scripts_render_docs_read_inventory_value",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/render-docs",
+ "source_location": "L100",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_docs_main",
+ "target": "scripts_render_docs_render_template",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/render-docs",
+ "source_location": "L108",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_docs_main",
+ "target": "scripts_render_docs_usage",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/render-docs",
+ "source_location": "L86",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog_host_ip",
+ "target": "scripts_render_service_catalog_value",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L72",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog_host_label",
+ "target": "scripts_render_service_catalog_host_ip",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L79",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog_host_label",
+ "target": "scripts_render_service_catalog_value",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L80",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog_host_rows",
+ "target": "scripts_render_service_catalog_value",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L297",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog_main",
+ "target": "scripts_render_service_catalog_parse_inventory",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L475",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog_main",
+ "target": "scripts_render_service_catalog_render_markdown",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L476",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog_main",
+ "target": "scripts_render_service_catalog_render_html",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L477",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog_main",
+ "target": "scripts_render_service_catalog_check_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L481",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog_main",
+ "target": "scripts_render_service_catalog_write_if_changed",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L493",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog_render_html",
+ "target": "scripts_render_service_catalog_host_rows",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L380",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog_render_html",
+ "target": "scripts_render_service_catalog_service_rows",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L381",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog_render_html",
+ "target": "scripts_render_service_catalog_host_label",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L395",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog_render_html",
+ "target": "scripts_render_service_catalog_html_link",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L397",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog_render_markdown",
+ "target": "scripts_render_service_catalog_host_rows",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L324",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog_render_markdown",
+ "target": "scripts_render_service_catalog_service_rows",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L325",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog_render_markdown",
+ "target": "scripts_render_service_catalog_markdown_table",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L326",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog_render_markdown",
+ "target": "scripts_render_service_catalog_host_label",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L335",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog_render_markdown",
+ "target": "scripts_render_service_catalog_md_link",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L337",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog_service_rows",
+ "target": "scripts_render_service_catalog_host_ip",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L214",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog_service_rows",
+ "target": "scripts_render_service_catalog_value",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L89",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_report_render__entry",
+ "target": "scripts_report_render_usage",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/report-render",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_report_ui_report_ui_check",
+ "target": "scripts_report_ui_report_ui_emit",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/report-ui",
+ "source_location": "L128",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_report_ui_report_ui_check",
+ "target": "scripts_report_ui_report_ui_first_line",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/report-ui",
+ "source_location": "L132",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_report_ui_report_ui_check",
+ "target": "scripts_report_ui_report_ui_trim_detail",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/report-ui",
+ "source_location": "L136",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_report_ui_report_ui_parse_args",
+ "target": "scripts_report_ui_report_ui_usage_flags",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/report-ui",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_resource_budget__entry",
+ "target": "scripts_resource_budget_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/resource-budget",
+ "source_location": "L232",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_resource_budget__entry",
+ "target": "scripts_resource_budget_fail",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/resource-budget",
+ "source_location": "L236",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_resource_budget__entry",
+ "target": "scripts_resource_budget_host_budget",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/resource-budget",
+ "source_location": "L239",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_resource_budget__entry",
+ "target": "scripts_resource_budget_kubernetes_budget",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/resource-budget",
+ "source_location": "L240",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_resource_budget__entry",
+ "target": "scripts_resource_budget_usage",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/resource-budget",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_resource_budget_host_budget",
+ "target": "scripts_resource_budget_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/resource-budget",
+ "source_location": "L60",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_resource_budget_host_budget",
+ "target": "scripts_resource_budget_have",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/resource-budget",
+ "source_location": "L62",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_resource_budget_host_budget",
+ "target": "scripts_resource_budget_warn",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/resource-budget",
+ "source_location": "L67",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_resource_budget_kubernetes_budget",
+ "target": "scripts_resource_budget_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/resource-budget",
+ "source_location": "L80",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_resource_budget_kubernetes_budget",
+ "target": "scripts_resource_budget_have",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/resource-budget",
+ "source_location": "L82",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_resource_budget_kubernetes_budget",
+ "target": "scripts_resource_budget_warn",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/resource-budget",
+ "source_location": "L83",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_restore_drill__entry",
+ "target": "scripts_restore_drill_main",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/restore-drill",
+ "source_location": "L138",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_restore_drill_drill_gitea",
+ "target": "scripts_restore_drill_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/restore-drill",
+ "source_location": "L38",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_restore_drill_drill_gitea",
+ "target": "scripts_restore_drill_latest_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/restore-drill",
+ "source_location": "L39",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_restore_drill_drill_gitops",
+ "target": "scripts_restore_drill_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/restore-drill",
+ "source_location": "L87",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_restore_drill_drill_pihole",
+ "target": "scripts_restore_drill_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/restore-drill",
+ "source_location": "L62",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_restore_drill_drill_pihole",
+ "target": "scripts_restore_drill_check_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/restore-drill",
+ "source_location": "L63",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_restore_drill_drill_state",
+ "target": "scripts_restore_drill_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/restore-drill",
+ "source_location": "L75",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_restore_drill_drill_state",
+ "target": "scripts_restore_drill_latest_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/restore-drill",
+ "source_location": "L76",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_restore_drill_main",
+ "target": "scripts_restore_drill_drill_gitea",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/restore-drill",
+ "source_location": "L111",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_restore_drill_main",
+ "target": "scripts_restore_drill_drill_pihole",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/restore-drill",
+ "source_location": "L112",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_restore_drill_main",
+ "target": "scripts_restore_drill_drill_state",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/restore-drill",
+ "source_location": "L113",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_restore_drill_main",
+ "target": "scripts_restore_drill_drill_gitops",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/restore-drill",
+ "source_location": "L114",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_restore_drill_main",
+ "target": "scripts_restore_drill_usage",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/restore-drill",
+ "source_location": "L129",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_review_last_change__entry",
+ "target": "scripts_review_last_change_usage",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/review-last-change",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_route_inventory__entry",
+ "target": "scripts_route_inventory_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/route-inventory",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_safety_case_changed_files",
+ "target": "scripts_safety_case_git_lines",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/safety-case",
+ "source_location": "L32",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_safety_case_main",
+ "target": "scripts_safety_case_changed_files",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/safety-case",
+ "source_location": "L111",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_safety_case_main",
+ "target": "scripts_safety_case_matched_rules",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/safety-case",
+ "source_location": "L112",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_safety_case_main",
+ "target": "scripts_safety_case_print_safety_case",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/safety-case",
+ "source_location": "L112",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_safety_case_matched_rules",
+ "target": "scripts_safety_case_load_rules",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/safety-case",
+ "source_location": "L43",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_safety_case_print_safety_case",
+ "target": "scripts_safety_case_risk_order",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/safety-case",
+ "source_location": "L63",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_scorecard__entry",
+ "target": "scripts_scorecard_score",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/scorecard",
+ "source_location": "L58",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_attack_path__entry",
+ "target": "scripts_security_attack_path_main",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-attack-path",
+ "source_location": "L121",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_attack_path_jsonpath_or_unknown",
+ "target": "scripts_security_attack_path_kubectl_ro",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-attack-path",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_attack_path_main",
+ "target": "scripts_security_attack_path_usage",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-attack-path",
+ "source_location": "L56",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_attack_path_main",
+ "target": "scripts_security_attack_path_require_kubectl",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-attack-path",
+ "source_location": "L61",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_attack_path_main",
+ "target": "scripts_security_attack_path_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-attack-path",
+ "source_location": "L63",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_attack_path_main",
+ "target": "scripts_security_attack_path_kubectl_ro",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-attack-path",
+ "source_location": "L67",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_attack_path_main",
+ "target": "scripts_security_attack_path_jsonpath_or_unknown",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-attack-path",
+ "source_location": "L73",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_logs__entry",
+ "target": "scripts_security_logs_main",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-logs",
+ "source_location": "L103",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_logs_main",
+ "target": "scripts_security_logs_timestamp",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-logs",
+ "source_location": "L74",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_logs_main",
+ "target": "scripts_security_logs_ensure_report_dir",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-logs",
+ "source_location": "L75",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_logs_main",
+ "target": "scripts_security_logs_collect_gitea_logs",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-logs",
+ "source_location": "L82",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_logs_main",
+ "target": "scripts_security_logs_collect_traefik_logs",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-logs",
+ "source_location": "L83",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_logs_main",
+ "target": "scripts_security_logs_print_matches",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-logs",
+ "source_location": "L90",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan__entry",
+ "target": "scripts_security_scan_run_trivy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L516",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan__entry",
+ "target": "scripts_security_scan_run_gitleaks",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L517",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan__entry",
+ "target": "scripts_security_scan_run_zap",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L518",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan__entry",
+ "target": "scripts_security_scan_prepare_security_scans",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L521",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan__entry",
+ "target": "scripts_security_scan_run_nuclei",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L533",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan__entry",
+ "target": "scripts_security_scan_run_security_web",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L536",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan__entry",
+ "target": "scripts_security_scan_run_kube_bench",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L539",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan__entry",
+ "target": "scripts_security_scan_run_lynis_host",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L542",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan__entry",
+ "target": "scripts_security_scan_usage",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L545",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_prepare_security_scans",
+ "target": "scripts_security_scan_ensure_report_dir",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L64",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_prepare_security_scans",
+ "target": "scripts_security_scan_require_docker",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L65",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_print_lynis_focus",
+ "target": "scripts_security_scan_lynis_findings",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L472",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_print_lynis_focus",
+ "target": "scripts_security_scan_print_lynis_llm_focus",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L473",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_print_lynis_focus",
+ "target": "scripts_security_scan_print_lynis_fallback_focus",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L474",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_print_lynis_llm_focus",
+ "target": "scripts_security_scan_truthy",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L367",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_run_gitleaks",
+ "target": "scripts_security_scan_timestamp",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L117",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_run_gitleaks",
+ "target": "scripts_security_scan_ensure_report_dir",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L118",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_run_gitleaks",
+ "target": "scripts_security_scan_require_docker",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L129",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_run_kube_bench",
+ "target": "scripts_security_scan_timestamp",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L318",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_run_kube_bench",
+ "target": "scripts_security_scan_ensure_report_dir",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L319",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_run_kube_bench",
+ "target": "scripts_security_scan_require_docker",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L320",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_run_lynis_host",
+ "target": "scripts_security_scan_timestamp",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L483",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_run_lynis_host",
+ "target": "scripts_security_scan_ensure_report_dir",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L484",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_run_lynis_host",
+ "target": "scripts_security_scan_print_lynis_focus",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L509",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_run_nuclei",
+ "target": "scripts_security_scan_timestamp",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L192",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_run_nuclei",
+ "target": "scripts_security_scan_ensure_report_dir",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L193",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_run_nuclei",
+ "target": "scripts_security_scan_require_docker",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L194",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_run_nuclei",
+ "target": "scripts_security_scan_safe_target_name",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L199",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_run_security_web",
+ "target": "scripts_security_scan_timestamp",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L247",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_run_security_web",
+ "target": "scripts_security_scan_ensure_report_dir",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L248",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_run_security_web",
+ "target": "scripts_security_scan_safe_target_name",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L259",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_run_trivy",
+ "target": "scripts_security_scan_require_docker",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L100",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_run_trivy",
+ "target": "scripts_security_scan_timestamp",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L92",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_run_trivy",
+ "target": "scripts_security_scan_ensure_report_dir",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L93",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_run_zap",
+ "target": "scripts_security_scan_timestamp",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L167",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_run_zap",
+ "target": "scripts_security_scan_ensure_report_dir",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L168",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_run_zap",
+ "target": "scripts_security_scan_require_docker",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L169",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan_run_zap",
+ "target": "scripts_security_scan_safe_target_name",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/security-scan",
+ "source_location": "L174",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_synthetic_checks__entry",
+ "target": "scripts_synthetic_checks_section",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/synthetic-checks",
+ "source_location": "L121",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_synthetic_checks__entry",
+ "target": "scripts_synthetic_checks_check",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/synthetic-checks",
+ "source_location": "L122",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_synthetic_checks__entry",
+ "target": "scripts_synthetic_checks_warn_check",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/synthetic-checks",
+ "source_location": "L124",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_synthetic_checks__entry",
+ "target": "scripts_synthetic_checks_kubectl_ok",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/synthetic-checks",
+ "source_location": "L138",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_validate_homelab__entry",
+ "target": "scripts_validate_homelab_main",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/validate-homelab",
+ "source_location": "L116",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_validate_homelab_main",
+ "target": "scripts_validate_homelab_run_step",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/validate-homelab",
+ "source_location": "L105",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_validate_tailnet_policy_main",
+ "target": "scripts_validate_tailnet_policy_strip_hujson",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/validate-tailnet-policy",
+ "source_location": "L132",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_validate_tailnet_policy_main",
+ "target": "scripts_validate_tailnet_policy_parse_simple_inventory",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/validate-tailnet-policy",
+ "source_location": "L133",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_validate_tailnet_policy_main",
+ "target": "scripts_validate_tailnet_policy_require",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/validate-tailnet-policy",
+ "source_location": "L135",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers__entry",
+ "target": "scripts_workers_list_workers",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L293",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers__entry",
+ "target": "scripts_workers_tailnet_setup",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L296",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers__entry",
+ "target": "scripts_workers_start_workers",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L299",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers__entry",
+ "target": "scripts_workers_stop_workers",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L302",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers__entry",
+ "target": "scripts_workers_restart_workers",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L305",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers__entry",
+ "target": "scripts_workers_drain_node",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L308",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers__entry",
+ "target": "scripts_workers_uncordon_node",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L311",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers__entry",
+ "target": "scripts_workers_recreate_plan",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L314",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers__entry",
+ "target": "scripts_workers_rebalance",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L317",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers__entry",
+ "target": "scripts_workers_usage",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L320",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers_drain_node",
+ "target": "scripts_workers_kubectl_cmd",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L172",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers_list_workers",
+ "target": "scripts_workers_vmid_for_index",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L101",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers_list_workers",
+ "target": "scripts_workers_node_for_index",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L102",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers_list_workers",
+ "target": "scripts_workers_is_skipped",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L103",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers_list_workers",
+ "target": "scripts_workers_pimox_ssh",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L107",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers_list_workers",
+ "target": "scripts_workers_have",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L108",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers_list_workers",
+ "target": "scripts_workers_kubectl_cmd",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L109",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers_rebalance",
+ "target": "scripts_workers_have",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L218",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers_rebalance",
+ "target": "scripts_workers_kubectl_cmd",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L223",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers_recreate_plan",
+ "target": "scripts_workers_validate_index",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L190",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers_recreate_plan",
+ "target": "scripts_workers_vmid_for_index",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L191",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers_recreate_plan",
+ "target": "scripts_workers_node_for_index",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L192",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers_restart_workers",
+ "target": "scripts_workers_vmid_for_index",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L148",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers_restart_workers",
+ "target": "scripts_workers_pimox_ssh",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L150",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers_start_workers",
+ "target": "scripts_workers_vmid_for_index",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L122",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers_start_workers",
+ "target": "scripts_workers_pimox_ssh",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L124",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers_stop_workers",
+ "target": "scripts_workers_vmid_for_index",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L133",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers_stop_workers",
+ "target": "scripts_workers_pimox_ssh",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L135",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers_target_indexes",
+ "target": "scripts_workers_is_skipped",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L82",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers_target_indexes",
+ "target": "scripts_workers_validate_index",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L87",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers_uncordon_node",
+ "target": "scripts_workers_kubectl_cmd",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "scripts/workers",
+ "source_location": "L182",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit__entry",
+ "target": "tests_jeannie_unit_test_pimox_worker_count_detects_generated_topology",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L398",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit__entry",
+ "target": "tests_jeannie_unit_test_configured_worker_count_cannot_hide_existing_workers",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L399",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit__entry",
+ "target": "tests_jeannie_unit_test_configured_worker_count_can_expand_target_set",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L400",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit__entry",
+ "target": "tests_jeannie_unit_test_cluster_worker_targets_include_pimox_and_manual_workers",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L401",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit__entry",
+ "target": "tests_jeannie_unit_test_prepare_cluster_worker_var_file_merges_manual_and_pimox_workers",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L402",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit__entry",
+ "target": "tests_jeannie_unit_test_prepare_cluster_worker_var_file_excludes_manual_by_default",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L403",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit__entry",
+ "target": "tests_jeannie_unit_test_prepare_cluster_worker_var_file_can_include_raspberry_worker",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L404",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit__entry",
+ "target": "tests_jeannie_unit_test_prepare_cluster_worker_var_file_rebuilds_static_pimox_spec",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L405",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit__entry",
+ "target": "tests_jeannie_unit_test_report_renderer_hides_ok_links",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L406",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit__entry",
+ "target": "tests_jeannie_unit_test_report_renderer_problems_only_hides_ok_rows",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L407",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit__entry",
+ "target": "tests_jeannie_unit_test_report_renderer_empty_problems_message",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L408",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit__entry",
+ "target": "tests_jeannie_unit_test_inventory_validator_accepts_current_inventory",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L409",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit__entry",
+ "target": "tests_jeannie_unit_test_inventory_validator_rejects_ip_drift",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L410",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit__entry",
+ "target": "tests_jeannie_unit_test_heal_cooldown_escalates_to_diagnostics",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L411",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit__entry",
+ "target": "tests_jeannie_unit_test_pimox_worker_static_ip_selection",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L412",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit__entry",
+ "target": "tests_jeannie_unit_test_pimox_guest_exec_exitcode_parser",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L413",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit__entry",
+ "target": "tests_jeannie_unit_test_pimox_worker_net0_config_defaults_to_deterministic_mac",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L414",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_assert_command_failure_contains",
+ "target": "tests_jeannie_unit_fail",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L138",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_assert_command_failure_contains",
+ "target": "tests_jeannie_unit_assert_contains",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L141",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_assert_command_success",
+ "target": "tests_jeannie_unit_pass",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L120",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_assert_command_success",
+ "target": "tests_jeannie_unit_fail",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L122",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_assert_contains",
+ "target": "tests_jeannie_unit_pass",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L109",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_assert_contains",
+ "target": "tests_jeannie_unit_fail",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L111",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_assert_eq",
+ "target": "tests_jeannie_unit_pass",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L97",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_assert_eq",
+ "target": "tests_jeannie_unit_fail",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L99",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_cluster_worker_targets_include_pimox_and_manual_workers",
+ "target": "jeannie_cluster_worker_targets",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L163",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_cluster_worker_targets_include_pimox_and_manual_workers",
+ "target": "tests_jeannie_unit_assert_eq",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L166",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_configured_worker_count_can_expand_target_set",
+ "target": "tests_jeannie_unit_assert_eq",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L157",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_configured_worker_count_cannot_hide_existing_workers",
+ "target": "tests_jeannie_unit_assert_eq",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L151",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_heal_cooldown_escalates_to_diagnostics",
+ "target": "tests_jeannie_unit_assert_contains",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L370",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_inventory_validator_accepts_current_inventory",
+ "target": "tests_jeannie_unit_assert_command_success",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L306",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_inventory_validator_rejects_ip_drift",
+ "target": "tests_jeannie_unit_assert_command_failure_contains",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L320",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_pimox_guest_exec_exitcode_parser",
+ "target": "tests_jeannie_unit_assert_eq",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L385",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_pimox_guest_exec_exitcode_parser",
+ "target": "tests_jeannie_unit_assert_command_failure_contains",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L387",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_pimox_worker_count_detects_generated_topology",
+ "target": "tests_jeannie_unit_assert_eq",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L146",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_pimox_worker_net0_config_defaults_to_deterministic_mac",
+ "target": "tests_jeannie_unit_assert_eq",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L392",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_pimox_worker_static_ip_selection",
+ "target": "tests_jeannie_unit_assert_eq",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L375",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_pimox_worker_static_ip_selection",
+ "target": "jeannie_pimox_worker_static_ip",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L377",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_pimox_worker_static_ip_selection",
+ "target": "tests_jeannie_unit_fail",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L378",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_pimox_worker_static_ip_selection",
+ "target": "tests_jeannie_unit_pass",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L380",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_prepare_cluster_worker_var_file_can_include_raspberry_worker",
+ "target": "jeannie_prepare_cluster_worker_var_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L220",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_prepare_cluster_worker_var_file_can_include_raspberry_worker",
+ "target": "tests_jeannie_unit_pass",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L233",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_prepare_cluster_worker_var_file_excludes_manual_by_default",
+ "target": "jeannie_prepare_cluster_worker_var_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L199",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_prepare_cluster_worker_var_file_excludes_manual_by_default",
+ "target": "tests_jeannie_unit_pass",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L212",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_prepare_cluster_worker_var_file_merges_manual_and_pimox_workers",
+ "target": "jeannie_prepare_cluster_worker_var_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L174",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_prepare_cluster_worker_var_file_merges_manual_and_pimox_workers",
+ "target": "tests_jeannie_unit_pass",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L193",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_prepare_cluster_worker_var_file_rebuilds_static_pimox_spec",
+ "target": "jeannie_prepare_cluster_worker_var_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L245",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_prepare_cluster_worker_var_file_rebuilds_static_pimox_spec",
+ "target": "tests_jeannie_unit_pass",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L264",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_report_renderer_empty_problems_message",
+ "target": "tests_jeannie_unit_assert_contains",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L302",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_report_renderer_hides_ok_links",
+ "target": "tests_jeannie_unit_fail",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L275",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_report_renderer_hides_ok_links",
+ "target": "tests_jeannie_unit_pass",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L277",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_report_renderer_problems_only_hides_ok_rows",
+ "target": "tests_jeannie_unit_fail",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L288",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_report_renderer_problems_only_hides_ok_rows",
+ "target": "tests_jeannie_unit_pass",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L290",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit_test_report_renderer_problems_only_hides_ok_rows",
+ "target": "tests_jeannie_unit_assert_contains",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L292",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_architecture_simulator_architecture_simulator",
+ "target": "apps_demos_static_public_architecture_simulator_architecture_simulator_draw",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/demos-static/public/architecture-simulator/architecture-simulator.js",
+ "source_location": "L24",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_dev_toolbelt_dev_toolbelt",
+ "target": "apps_demos_static_public_dev_toolbelt_dev_toolbelt_setoutput",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/demos-static/public/dev-toolbelt/dev-toolbelt.js",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_dev_toolbelt_dev_toolbelt",
+ "target": "apps_demos_static_public_dev_toolbelt_dev_toolbelt_decodebase64url",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/demos-static/public/dev-toolbelt/dev-toolbelt.js",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_media_cruncher_media_cruncher",
+ "target": "apps_demos_static_public_media_cruncher_media_cruncher_handlefiles",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L80",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_model_drift_model_drift",
+ "target": "apps_demos_static_public_model_drift_model_drift_draw",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/demos-static/public/model-drift/model-drift.js",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_network_quality_network_quality",
+ "target": "apps_demos_static_public_network_quality_network_quality_measure",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/demos-static/public/network-quality/network-quality.js",
+ "source_location": "L34",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_privacy_redactor_privacy_redactor",
+ "target": "apps_demos_static_public_privacy_redactor_privacy_redactor_blurrect",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/demos-static/public/privacy-redactor/privacy-redactor.js",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_theme",
+ "target": "apps_demos_static_public_theme_setdemotheme",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/demos-static/public/theme.js",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_cv_theme",
+ "target": "apps_website_cv_theme_setsitetheme",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/cv-theme.js",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_visitor_ideas_js_apps_website_visitor_ideas",
+ "target": "apps_website_visitor_ideas_renderideas",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "apps/website/visitor-ideas.js",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main_healthz",
+ "target": "get",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L163",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main_metrics",
+ "target": "get",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L203",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main_predict",
+ "target": "post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L173",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main_record_http_metrics",
+ "target": "middleware",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L111",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main_root",
+ "target": "get",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L153",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie_core_dagspec",
+ "target": "jeannie_core_dagtask",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "field",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L59",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main_healthz",
+ "target": "any",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L164",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main_load_model",
+ "target": "any",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L72",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main_predict",
+ "target": "any",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L174",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main_root",
+ "target": "any",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L154",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals_print_list",
+ "target": "scripts_ai_evals_case",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L129",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals_print_run",
+ "target": "scripts_ai_evals_case",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L150",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals_print_show",
+ "target": "scripts_ai_evals_case",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L135",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index_build_index",
+ "target": "scripts_build_homelab_ai_index_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L134",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index_candidate_files",
+ "target": "scripts_build_homelab_ai_index_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L63",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander_print_list",
+ "target": "scripts_incident_commander_incident",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L132",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander_render_triage",
+ "target": "scripts_incident_commander_incident",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L83",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander_replay",
+ "target": "scripts_incident_commander_incident",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L138",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab_print_list",
+ "target": "scripts_prompt_injection_lab_case",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L111",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab_print_run",
+ "target": "scripts_prompt_injection_lab_case",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L131",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab_print_show",
+ "target": "scripts_prompt_injection_lab_case",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L117",
+ "weight": 1.0
+ },
+ {
+ "source": "renovate_extends",
+ "target": "ref_config_recommended",
+ "relation": "extends",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "renovate.json",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr",
+ "target": "urllib_error",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr",
+ "target": "urllib_request",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr",
+ "target": "json",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr",
+ "target": "os",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr",
+ "target": "sys",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr",
+ "target": "time",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_blockchain_devnet_metrics_exporter",
+ "target": "json",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "infra/blockchain-devnet/metrics/exporter.py",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_blockchain_devnet_metrics_exporter",
+ "target": "os",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "infra/blockchain-devnet/metrics/exporter.py",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_blockchain_devnet_metrics_exporter",
+ "target": "time",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "infra/blockchain-devnet/metrics/exporter.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_blockchain_devnet_metrics_exporter",
+ "target": "urllib_error",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "infra/blockchain-devnet/metrics/exporter.py",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_blockchain_devnet_metrics_exporter",
+ "target": "urllib_request",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "infra/blockchain-devnet/metrics/exporter.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_heimdall_seed_heimdall",
+ "target": "json",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_heimdall_seed_heimdall",
+ "target": "os",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_heimdall_seed_heimdall",
+ "target": "sqlite3",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_heimdall_seed_heimdall",
+ "target": "time",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main",
+ "target": "json",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main",
+ "target": "math",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main",
+ "target": "os",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main",
+ "target": "time",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_training_export_model",
+ "target": "json",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "labs/mlops-platform/training/export_model.py",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_training_export_model",
+ "target": "numpy",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "labs/mlops-platform/training/export_model.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_agent_sandbox",
+ "target": "argparse",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/agent-sandbox",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_agent_sandbox",
+ "target": "csv",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/agent-sandbox",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_agent_sandbox",
+ "target": "json",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/agent-sandbox",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_agent_sandbox",
+ "target": "sys",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/agent-sandbox",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals",
+ "target": "sys",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals",
+ "target": "argparse",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals",
+ "target": "csv",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals",
+ "target": "json",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals",
+ "target": "subprocess",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_memory",
+ "target": "argparse",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/ai-memory",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_memory",
+ "target": "json",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/ai-memory",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_memory",
+ "target": "os",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/ai-memory",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_scheduler",
+ "target": "argparse",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/ai-scheduler",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_scheduler",
+ "target": "csv",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/ai-scheduler",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index",
+ "target": "os",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index",
+ "target": "pathlib",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index",
+ "target": "re",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index",
+ "target": "sys",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index",
+ "target": "time",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index",
+ "target": "argparse",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index",
+ "target": "fnmatch",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index",
+ "target": "json",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index",
+ "target": "math",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "subprocess",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/heal",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "sys",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/heal",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "time",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/heal",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "argparse",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/heal",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "json",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/heal",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "os",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/heal",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "re",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/heal",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander",
+ "target": "sys",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander",
+ "target": "argparse",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander",
+ "target": "csv",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander",
+ "target": "json",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander",
+ "target": "re",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_model_observe",
+ "target": "time",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/model-observe",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_model_observe",
+ "target": "urllib_error",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/model-observe",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_model_observe",
+ "target": "urllib_request",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/model-observe",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_model_observe",
+ "target": "argparse",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/model-observe",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_model_observe",
+ "target": "csv",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/model-observe",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_model_observe",
+ "target": "json",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/model-observe",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_model_observe",
+ "target": "os",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/model-observe",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_promote",
+ "target": "argparse",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/promote",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_promote",
+ "target": "csv",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/promote",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_promote",
+ "target": "subprocess",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/promote",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab",
+ "target": "argparse",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab",
+ "target": "csv",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab",
+ "target": "json",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab",
+ "target": "sys",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_query_homelab_ai_index",
+ "target": "pathlib",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_query_homelab_ai_index",
+ "target": "re",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_query_homelab_ai_index",
+ "target": "sys",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_query_homelab_ai_index",
+ "target": "urllib_error",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_query_homelab_ai_index",
+ "target": "urllib_request",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_query_homelab_ai_index",
+ "target": "argparse",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_query_homelab_ai_index",
+ "target": "json",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_query_homelab_ai_index",
+ "target": "math",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_query_homelab_ai_index",
+ "target": "os",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_red_blue_loop",
+ "target": "argparse",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/red-blue-loop",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_red_blue_loop",
+ "target": "csv",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/red-blue-loop",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_red_blue_loop",
+ "target": "subprocess",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/red-blue-loop",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog",
+ "target": "sys",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog",
+ "target": "argparse",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog",
+ "target": "html",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog",
+ "target": "pathlib",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog",
+ "target": "re",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_safety_case",
+ "target": "argparse",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/safety-case",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_safety_case",
+ "target": "csv",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/safety-case",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_safety_case",
+ "target": "subprocess",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/safety-case",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_safety_case",
+ "target": "sys",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/safety-case",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_validate_tailnet_policy",
+ "target": "json",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/validate-tailnet-policy",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_validate_tailnet_policy",
+ "target": "pathlib",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/validate-tailnet-policy",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_validate_tailnet_policy",
+ "target": "re",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/validate-tailnet-policy",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_validate_tailnet_policy",
+ "target": "sys",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/validate-tailnet-policy",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "go_pkg_os",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "go_pkg_os_exec",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "go_pkg_sort",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "go_pkg_strings",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "go_pkg_sync",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "go_pkg_time",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "go_pkg_bufio",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "go_pkg_context",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "go_pkg_encoding_json",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "go_pkg_flag",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "go_pkg_fmt",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "go_pkg_io",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_test",
+ "target": "go_pkg_bytes",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "cmd/jeannie-core/main_test.go",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_test",
+ "target": "go_pkg_context",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "cmd/jeannie-core/main_test.go",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_test",
+ "target": "go_pkg_os",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "cmd/jeannie-core/main_test.go",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_test",
+ "target": "go_pkg_path_filepath",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "cmd/jeannie-core/main_test.go",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_test",
+ "target": "go_pkg_strings",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "cmd/jeannie-core/main_test.go",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_test",
+ "target": "go_pkg_testing",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "cmd/jeannie-core/main_test.go",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr",
+ "target": "pathlib",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_blockchain_devnet_metrics_exporter",
+ "target": "http_server",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "infra/blockchain-devnet/metrics/exporter.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_heimdall_seed_heimdall",
+ "target": "datetime",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_seed_uptime_kuma",
+ "target": "ref_fs",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_seed_uptime_kuma",
+ "target": "ref_path",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main",
+ "target": "prometheus_client",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main",
+ "target": "pydantic",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main",
+ "target": "pathlib",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main",
+ "target": "typing",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main",
+ "target": "fastapi",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main",
+ "target": "fastapi_middleware_cors",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_training_export_model",
+ "target": "pathlib",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "labs/mlops-platform/training/export_model.py",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_training_export_model",
+ "target": "sklearn_linear_model",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "labs/mlops-platform/training/export_model.py",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_training_export_model",
+ "target": "sklearn_pipeline",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "labs/mlops-platform/training/export_model.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_training_export_model",
+ "target": "sklearn_preprocessing",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "labs/mlops-platform/training/export_model.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_agent_sandbox",
+ "target": "pathlib",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/agent-sandbox",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals",
+ "target": "dataclasses",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals",
+ "target": "pathlib",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_memory",
+ "target": "pathlib",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/ai-memory",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_scheduler",
+ "target": "pathlib",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/ai-scheduler",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index",
+ "target": "collections",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "dataclasses",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/heal",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "pathlib",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/heal",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander",
+ "target": "dataclasses",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander",
+ "target": "pathlib",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_model_observe",
+ "target": "pathlib",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/model-observe",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_promote",
+ "target": "pathlib",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/promote",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab",
+ "target": "dataclasses",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab",
+ "target": "pathlib",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_query_homelab_ai_index",
+ "target": "collections",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_red_blue_loop",
+ "target": "pathlib",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/red-blue-loop",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_safety_case",
+ "target": "pathlib",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "scripts/safety-case",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_executedag",
+ "target": "go_type_context_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L98",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_executedag",
+ "target": "go_type_io_writer",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L98",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_executedag",
+ "target": "jeannie_core_dagspec",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L98",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_includereportrow",
+ "target": "jeannie_core_reportrow",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L327",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_orderedreportareas",
+ "target": "jeannie_core_reportrow",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L410",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_parsereportrows",
+ "target": "go_type_io_reader",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L270",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_renderreporttext",
+ "target": "go_type_io_writer",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L342",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_renderreporttext",
+ "target": "jeannie_core_reportrow",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L342",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_rundag",
+ "target": "go_type_io_writer",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L76",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_rundagtask",
+ "target": "go_type_context_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L186",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_rundagtask",
+ "target": "go_type_io_writer",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L186",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_rundagtask",
+ "target": "go_type_sync_mutex",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L186",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_rundagtask",
+ "target": "jeannie_core_dagtask",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L186",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_runreportrender",
+ "target": "go_type_io_reader",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L235",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_runreportrender",
+ "target": "go_type_io_writer",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L235",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_test_testexecutedagrespectsdependencies",
+ "target": "go_type_testing_t",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "cmd/jeannie-core/main_test.go",
+ "source_location": "L49",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_test_testexecutedagreturnsfailedtask",
+ "target": "go_type_testing_t",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "cmd/jeannie-core/main_test.go",
+ "source_location": "L77",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_test_testreportrenderhidesokgraphandquery",
+ "target": "go_type_testing_t",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "cmd/jeannie-core/main_test.go",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_test_testreportrenderproblemsonly",
+ "target": "go_type_testing_t",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "cmd/jeannie-core/main_test.go",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_usage",
+ "target": "go_type_io_writer",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_writedagline",
+ "target": "go_type_io_writer",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L229",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_writedagline",
+ "target": "go_type_sync_mutex",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L229",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr_load_env",
+ "target": "infra_arr_stack_configure_arr_py_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main_predict",
+ "target": "labs_mlops_platform_app_main_predictrequest",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L174",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main_record_http_metrics",
+ "target": "any",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L112",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main_record_http_metrics",
+ "target": "request",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L112",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals_fixture_text",
+ "target": "scripts_ai_evals_case",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L52",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals_run_case",
+ "target": "scripts_ai_evals_case",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L97",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals_run_explain_output",
+ "target": "scripts_ai_evals_case",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L59",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals_run_repo_scan",
+ "target": "scripts_ai_evals_case",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "scripts/ai-evals",
+ "source_location": "L72",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_memory_check",
+ "target": "scripts_ai_memory_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "scripts/ai-memory",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_scheduler_read_tsv",
+ "target": "scripts_ai_scheduler_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "scripts/ai-scheduler",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index_chunk_file",
+ "target": "scripts_build_homelab_ai_index_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L95",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index_load_patterns",
+ "target": "scripts_build_homelab_ai_index_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L32",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index_path_is_secret",
+ "target": "scripts_build_homelab_ai_index_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L42",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index_read_text",
+ "target": "scripts_build_homelab_ai_index_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L86",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_command_for",
+ "target": "scripts_heal_healrule",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "scripts/heal",
+ "source_location": "L96",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_load_status",
+ "target": "scripts_heal_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "scripts/heal",
+ "source_location": "L55",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander_fixture_text",
+ "target": "scripts_incident_commander_incident",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L61",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander_read_triage_input",
+ "target": "namespace",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L168",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab_defense_response",
+ "target": "scripts_prompt_injection_lab_case",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L57",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab_fixture_text",
+ "target": "scripts_prompt_injection_lab_case",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L50",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab_run_case",
+ "target": "scripts_prompt_injection_lab_case",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L94",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_query_homelab_ai_index_load_index",
+ "target": "scripts_query_homelab_ai_index_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog_check_file",
+ "target": "scripts_render_service_catalog_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L464",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog_parse_inventory",
+ "target": "scripts_render_service_catalog_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog_write_if_changed",
+ "target": "scripts_render_service_catalog_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L459",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_validate_tailnet_policy_parse_simple_inventory",
+ "target": "scripts_validate_tailnet_policy_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "scripts/validate-tailnet-policy",
+ "source_location": "L98",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_filterreportrows",
+ "target": "jeannie_core_reportrow",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L317",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_parsereportrows",
+ "target": "jeannie_core_reportrow",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L270",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_rowsforreportarea",
+ "target": "jeannie_core_reportrow",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L422",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_rundagtask",
+ "target": "jeannie_core_dagtaskresult",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L186",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main_metrics",
+ "target": "response",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L204",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main_record_http_metrics",
+ "target": "response",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L112",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_rule_for",
+ "target": "scripts_heal_healrule",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "scripts/heal",
+ "source_location": "L80",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander_incident_for_class",
+ "target": "scripts_incident_commander_incident",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "scripts/incident-commander",
+ "source_location": "L76",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_architecture_simulator_architecture_simulator",
+ "target": "apps_demos_static_public_architecture_simulator_architecture_simulator_canvas",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/architecture-simulator/architecture-simulator.js",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_architecture_simulator_architecture_simulator",
+ "target": "apps_demos_static_public_architecture_simulator_architecture_simulator_box",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/architecture-simulator/architecture-simulator.js",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_architecture_simulator_architecture_simulator",
+ "target": "apps_demos_static_public_architecture_simulator_architecture_simulator_ctx",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/architecture-simulator/architecture-simulator.js",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_architecture_simulator_architecture_simulator",
+ "target": "apps_demos_static_public_architecture_simulator_architecture_simulator_state",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/architecture-simulator/architecture-simulator.js",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_dev_toolbelt_dev_toolbelt",
+ "target": "apps_demos_static_public_dev_toolbelt_dev_toolbelt_input",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/dev-toolbelt/dev-toolbelt.js",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_dev_toolbelt_dev_toolbelt",
+ "target": "apps_demos_static_public_dev_toolbelt_dev_toolbelt_output",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/dev-toolbelt/dev-toolbelt.js",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_dev_toolbelt_dev_toolbelt",
+ "target": "apps_demos_static_public_dev_toolbelt_dev_toolbelt_logfilter",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/dev-toolbelt/dev-toolbelt.js",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_media_cruncher_media_cruncher",
+ "target": "apps_demos_static_public_media_cruncher_media_cruncher_mediainput",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_media_cruncher_media_cruncher",
+ "target": "apps_demos_static_public_media_cruncher_media_cruncher_formatbytes",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_media_cruncher_media_cruncher",
+ "target": "apps_demos_static_public_media_cruncher_media_cruncher_toblob",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_media_cruncher_media_cruncher",
+ "target": "apps_demos_static_public_media_cruncher_media_cruncher_dropzone",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_media_cruncher_media_cruncher",
+ "target": "apps_demos_static_public_media_cruncher_media_cruncher_createcanvas",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_media_cruncher_media_cruncher",
+ "target": "apps_demos_static_public_media_cruncher_media_cruncher_appendstatus",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_media_cruncher_media_cruncher",
+ "target": "apps_demos_static_public_media_cruncher_media_cruncher_results",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_media_cruncher_media_cruncher",
+ "target": "apps_demos_static_public_media_cruncher_media_cruncher_outputformat",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_media_cruncher_media_cruncher",
+ "target": "apps_demos_static_public_media_cruncher_media_cruncher_crunchimage",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L42",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_media_cruncher_media_cruncher",
+ "target": "apps_demos_static_public_media_cruncher_media_cruncher_quality",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_media_cruncher_media_cruncher",
+ "target": "apps_demos_static_public_media_cruncher_media_cruncher_qualityoutput",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_media_cruncher_media_cruncher",
+ "target": "apps_demos_static_public_media_cruncher_media_cruncher_maxedge",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_media_cruncher_media_cruncher",
+ "target": "apps_demos_static_public_media_cruncher_media_cruncher_extensionbytype",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/media-cruncher/media-cruncher.js",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_model_drift_model_drift",
+ "target": "apps_demos_static_public_model_drift_model_drift_canvas",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/model-drift/model-drift.js",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_model_drift_model_drift",
+ "target": "apps_demos_static_public_model_drift_model_drift_ctx",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/model-drift/model-drift.js",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_model_drift_model_drift",
+ "target": "apps_demos_static_public_model_drift_model_drift_accuracy",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/model-drift/model-drift.js",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_network_quality_network_quality",
+ "target": "apps_demos_static_public_network_quality_network_quality_canvas",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/network-quality/network-quality.js",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_network_quality_network_quality",
+ "target": "apps_demos_static_public_network_quality_network_quality_ctx",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/network-quality/network-quality.js",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_network_quality_network_quality",
+ "target": "apps_demos_static_public_network_quality_network_quality_samples",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/network-quality/network-quality.js",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_network_quality_network_quality",
+ "target": "apps_demos_static_public_network_quality_network_quality_draw",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/network-quality/network-quality.js",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_privacy_redactor_privacy_redactor",
+ "target": "apps_demos_static_public_privacy_redactor_privacy_redactor_canvas",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/privacy-redactor/privacy-redactor.js",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_privacy_redactor_privacy_redactor",
+ "target": "apps_demos_static_public_privacy_redactor_privacy_redactor_ctx",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/privacy-redactor/privacy-redactor.js",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_privacy_redactor_privacy_redactor",
+ "target": "apps_demos_static_public_privacy_redactor_privacy_redactor_placeholder",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/privacy-redactor/privacy-redactor.js",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_sentiment_sandbox_sentiment_sandbox",
+ "target": "apps_demos_static_public_sentiment_sandbox_sentiment_sandbox_input",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/sentiment-sandbox/sentiment-sandbox.js",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_sentiment_sandbox_sentiment_sandbox",
+ "target": "apps_demos_static_public_sentiment_sandbox_sentiment_sandbox_output",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/sentiment-sandbox/sentiment-sandbox.js",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_sentiment_sandbox_sentiment_sandbox",
+ "target": "apps_demos_static_public_sentiment_sandbox_sentiment_sandbox_positive",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/sentiment-sandbox/sentiment-sandbox.js",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_sentiment_sandbox_sentiment_sandbox",
+ "target": "apps_demos_static_public_sentiment_sandbox_sentiment_sandbox_negative",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/sentiment-sandbox/sentiment-sandbox.js",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_theme",
+ "target": "apps_demos_static_public_theme_storedemotheme",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/theme.js",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_theme",
+ "target": "apps_demos_static_public_theme_getdemothemebuttons",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/theme.js",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_theme",
+ "target": "apps_demos_static_public_theme_normalizedemotheme",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/theme.js",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_theme",
+ "target": "apps_demos_static_public_theme_installdemothemetoolbar",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/theme.js",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_theme",
+ "target": "apps_demos_static_public_theme_getstoreddemotheme",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/theme.js",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_traveler_tools_sw",
+ "target": "apps_demos_static_public_traveler_tools_sw_assets",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/demos-static/public/traveler-tools/sw.js",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_blog",
+ "target": "apps_website_blog_renderstacksourcelinks",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/blog.php",
+ "source_location": "L186",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_cv_theme",
+ "target": "apps_website_cv_theme_cvportrait",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/cv-theme.js",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_cv_theme",
+ "target": "apps_website_cv_theme_storesitetheme",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/cv-theme.js",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_cv_theme",
+ "target": "apps_website_cv_theme_getsitethemebuttons",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/cv-theme.js",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_cv_theme",
+ "target": "apps_website_cv_theme_normalizesitetheme",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/cv-theme.js",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_cv_theme",
+ "target": "apps_website_cv_theme_getstoredsitetheme",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/cv-theme.js",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_homelab_tree",
+ "target": "apps_website_homelab_tree_other_pages",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/homelab-tree.php",
+ "source_location": "L256",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_ideas_helper",
+ "target": "apps_website_ideas_helper_visitor_ideas_rate_file",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/ideas_helper.php",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_ideas_helper",
+ "target": "apps_website_ideas_helper_visitor_ideas_ensure_dir",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/ideas_helper.php",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_ideas_helper",
+ "target": "apps_website_ideas_helper_visitor_idea_clean",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/ideas_helper.php",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_ideas_helper",
+ "target": "apps_website_ideas_helper_visitor_ideas_dir",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/ideas_helper.php",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_ideas_helper",
+ "target": "apps_website_ideas_helper_visitor_ideas_recently_submitted",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/ideas_helper.php",
+ "source_location": "L34",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_ideas_helper",
+ "target": "apps_website_ideas_helper_visitor_ideas_file",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/ideas_helper.php",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_ideas_helper",
+ "target": "apps_website_ideas_helper_visitor_ideas_append",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/ideas_helper.php",
+ "source_location": "L79",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_ideas_helper",
+ "target": "apps_website_ideas_helper_visitor_ideas_read",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/ideas_helper.php",
+ "source_location": "L97",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_lang_helper",
+ "target": "apps_website_lang_helper_getlang",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/lang_helper.php",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_lang_helper",
+ "target": "apps_website_lang_helper_cleanruntimetranslation",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/lang_helper.php",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_lang_helper",
+ "target": "apps_website_lang_helper_loadruntimetranslations",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/lang_helper.php",
+ "source_location": "L38",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_lang_helper",
+ "target": "apps_website_lang_helper_asset_url",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/lang_helper.php",
+ "source_location": "L59",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_partials_translation_ui",
+ "target": "apps_website_partials_translation_ui_static_langs",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/partials/translation_ui.php",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_render_static_pages",
+ "target": "apps_website_render_static_pages_sh__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/render-static-pages.sh",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_save_idea",
+ "target": "apps_website_save_idea_idea_redirect",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/save_idea.php",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_save_lang",
+ "target": "apps_website_save_lang_clean_translation_value",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/save_lang.php",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_save_lang",
+ "target": "apps_website_save_lang_translation_response",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/save_lang.php",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_start_website",
+ "target": "apps_website_start_website_sh__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/start-website.sh",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translate",
+ "target": "apps_website_translate_redis_connect",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/translate.php",
+ "source_location": "L111",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translate",
+ "target": "apps_website_translate_translation_cache_key",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/translate.php",
+ "source_location": "L126",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translate",
+ "target": "apps_website_translate_clean_translate_text",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/translate.php",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translate",
+ "target": "apps_website_translate_translation_cache_read",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/translate.php",
+ "source_location": "L131",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translate",
+ "target": "apps_website_translate_translation_cache_write",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/translate.php",
+ "source_location": "L158",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translate",
+ "target": "apps_website_translate_elapsed_ms",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/translate.php",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translate",
+ "target": "apps_website_translate_translation_log",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/translate.php",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translate",
+ "target": "apps_website_translate_redis_encode_command",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/translate.php",
+ "source_location": "L39",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translate",
+ "target": "apps_website_translate_redis_read_line",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/translate.php",
+ "source_location": "L48",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translate",
+ "target": "apps_website_translate_redis_read_response",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/translate.php",
+ "source_location": "L56",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translate",
+ "target": "apps_website_translate_translate_response",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/translate.php",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translation",
+ "target": "apps_website_translation_urllang",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/translation.js",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translation",
+ "target": "apps_website_translation_browserlang",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/translation.js",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translation",
+ "target": "apps_website_translation_inittranslation",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/translation.js",
+ "source_location": "L144",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translation",
+ "target": "apps_website_translation_badge",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/translation.js",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translation",
+ "target": "apps_website_translation_prompt",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/translation.js",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translation",
+ "target": "apps_website_translation_btn",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/translation.js",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translation",
+ "target": "apps_website_translation_lang_names",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/translation.js",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translation",
+ "target": "apps_website_translation_actionspan",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/translation.js",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translation",
+ "target": "apps_website_translation_detectedspan",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/translation.js",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translation",
+ "target": "apps_website_translation_showbadge",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/translation.js",
+ "source_location": "L24",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translation",
+ "target": "apps_website_translation_hideprompt",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/translation.js",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translation",
+ "target": "apps_website_translation_translatebatch",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/translation.js",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translation",
+ "target": "apps_website_translation_savelang",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/translation.js",
+ "source_location": "L60",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translation",
+ "target": "apps_website_translation_collectpagetranslations",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/translation.js",
+ "source_location": "L78",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translation",
+ "target": "apps_website_translation_dotranslation",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/translation.js",
+ "source_location": "L93",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_visitor_ideas_js_apps_website_visitor_ideas",
+ "target": "apps_website_visitor_ideas_addideatext",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/visitor-ideas.js",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_apps_main",
+ "target": "terraform_bootstrap_apps_0952a721c72f57d2_provider_kubernetes",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/apps/main.tf",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_apps_main",
+ "target": "terraform_bootstrap_apps_0952a721c72f57d2_local_application_sources",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/apps/main.tf",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_apps_main",
+ "target": "terraform_bootstrap_apps_0952a721c72f57d2_kubernetes_manifest_argocd_application",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/apps/main.tf",
+ "source_location": "L32",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_apps_terraform_lock",
+ "target": "terraform_bootstrap_apps_0952a721c72f57d2_provider_registry_opentofu_org_hashicorp_kubernetes",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/apps/.terraform.lock.hcl",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_apps_variables",
+ "target": "terraform_bootstrap_apps_0952a721c72f57d2_var_kubeconfig_path",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/apps/variables.tf",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_apps_variables",
+ "target": "terraform_bootstrap_apps_0952a721c72f57d2_var_gitops_repo_url",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/apps/variables.tf",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_apps_variables",
+ "target": "terraform_bootstrap_apps_0952a721c72f57d2_var_website_image_ref",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/apps/variables.tf",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_apps_variables",
+ "target": "terraform_bootstrap_apps_0952a721c72f57d2_var_applications",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/apps/variables.tf",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_apps_variables",
+ "target": "terraform_bootstrap_apps_0952a721c72f57d2_var_argocd_namespace",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/apps/variables.tf",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_main",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_local_control_plane_node_label_pairs",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L1303",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_main",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_local_worker_node_label_pairs",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L1311",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_main",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_local_node_label_pairs",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L1321",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_main",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_node_labels",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L1324",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_main",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_output_kubeconfig_path",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L1365",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_main",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_output_pod_network_cidr",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L1369",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_main",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_control_plane",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_main",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kube_system_resource_policy",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L438",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_main",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_worker_nodes_required",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L528",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_main",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_worker",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L541",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_terraform_lock",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_provider_registry_opentofu_org_hashicorp_external",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/.terraform.lock.hcl",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_terraform_lock",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_provider_registry_opentofu_org_hashicorp_null",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/.terraform.lock.hcl",
+ "source_location": "L41",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_variables",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_control_plane_node_name",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_variables",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_tailscale_nodeport_extra_ports",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L119",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_variables",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_tailscale_nodeport_extra_target_ports",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L124",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_variables",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_tailscale_subnet_routes",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L129",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_variables",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_control_plane_advertise_address",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_variables",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_pod_network_cidr",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_variables",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_kubeconfig_path",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_variables",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_kubeconfig_owner",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_variables",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_registry_endpoint",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_variables",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_node_dns_servers",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_variables",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_persistent_volume_dirs",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L48",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_variables",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_worker_nodes",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L55",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_variables",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_control_plane_node_labels",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_variables",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_allow_empty_worker_nodes",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L66",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_variables",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_worker_node_labels",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L71",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_variables",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_force_worker_rejoin",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L77",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_variables",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_worker_tailscale_enabled",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L82",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_variables",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_worker_tailscale_accept_routes",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L87",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_variables",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_worker_tailscale_pod_egress_snat",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L92",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_cluster_variables",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_tailscale_nodeport_access",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": "L97",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_main",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_compose_file",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_main",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_heimdall_server_name",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_main",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_heimdall_backend_host",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_main",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_server_names",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_main",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_main_server_names",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_main",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_main",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_vcl",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_main",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_haproxy_cfg",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L34",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_main",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_output_edge_host",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L376",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_main",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_squid_conf",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L38",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_main",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_output_edge_install_dir",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L380",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_main",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf_matrix",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L42",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_main",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_config_hash",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L51",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_main",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_null_resource_edge_services",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L61",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_terraform_lock",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_provider_registry_opentofu_org_hashicorp_null",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/.terraform.lock.hcl",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_variables",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_edge_host",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_variables",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_heimdall_backend_port",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L101",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_variables",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_matrix_enabled",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L107",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_variables",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_edge_user",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_variables",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_matrix_server_name",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L112",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_variables",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_matrix_backend_host",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L118",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_variables",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_matrix_backend_port",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L123",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_variables",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_matrix_cert_dir",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L128",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_variables",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_element_server_name",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L134",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_variables",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_element_backend_host",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L139",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_variables",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_element_backend_port",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L144",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_variables",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_haproxy_stats_user",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L149",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_variables",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_haproxy_stats_password",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L154",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_variables",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_edge_ssh_key_path",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_variables",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_edge_install_dir",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_variables",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_edge_install_docker",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_variables",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_server_name",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_variables",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_additional_server_names",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L41",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_variables",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_enable_letsencrypt",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L46",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_variables",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_letsencrypt_email",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L51",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_variables",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_letsencrypt_staging",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L56",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_variables",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_backend_host",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L61",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_variables",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_backend_port",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L71",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_variables",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_demos_backend_port",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L76",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_variables",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_gitea_backend_port",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L81",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_variables",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_gitea_backend_host",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L86",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_edge_variables",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_heimdall_backend_host",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": "L96",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_openebs",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1009",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_metallb_l2_manifests",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L103",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_storage_class_v1_openebs_hostpath_retain",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1060",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_namespace_v1_monitoring",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1078",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_platform_topology_key",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L108",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_argocd",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1086",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_prometheus_stack_node_selector",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L109",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_grafana_dashboard_files",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L110",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_argocd_node_selector",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L111",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kyverno_node_selector",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L115",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_traefik_node_selector",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L119",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_argocd_ready",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1216",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_argocd_component_label_values",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L124",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_argocd_private_repo",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1295",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_argocd_component_match_labels",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L134",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_kyverno",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1386",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_argocd_component_affinity",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L140",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_kyverno_policies",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1475",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_loki",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1497",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_argocd_component_topology_spread_constraints",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L158",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_mimir",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1604",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kyverno_component_label_values",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L171",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_promtail",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1717",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_prometheus_stack_helm_recovery",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1751",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kyverno_component_match_labels",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L178",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_prometheus_stack",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1780",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kyverno_component_pod_anti_affinity",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L184",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_provider_kubernetes",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kyverno_component_topology_spread_constraints",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L200",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_prometheus_stack_readiness",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L2033",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_config_map_grafana_dashboards",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L2076",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_extra_tools",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L2097",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_prometheus_operator_match_labels",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L213",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kube_state_metrics_match_labels",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L218",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_prometheus_operator_affinity",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L223",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_provider_helm",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kube_state_metrics_affinity",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L239",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_prometheus_operator_topology_spread_constraints",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L255",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kube_state_metrics_topology_spread_constraints",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L266",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_calico_crds",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L278",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_calico_helm_recovery",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L287",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_nodelocal_dns_corefile",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_calico",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L316",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_calico_ready",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L446",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_metrics_server",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L507",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_metrics_server_ready",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L540",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_service_account",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L575",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_upstream_service",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L599",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_config_map",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L639",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_daemonset",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L663",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_metallb_ip_address_pool_manifest",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L79",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_metrics_service",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L826",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_metallb",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L861",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_metallb_l2_config",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L907",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_metallb_l2_advertisement_manifest",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L91",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_main",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_traefik",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L932",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_terraform_lock",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_provider_registry_opentofu_org_hashicorp_kubernetes",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/.terraform.lock.hcl",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_terraform_lock",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_provider_registry_opentofu_org_hashicorp_helm",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/.terraform.lock.hcl",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_terraform_lock",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_provider_registry_opentofu_org_hashicorp_null",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/.terraform.lock.hcl",
+ "source_location": "L56",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_variables",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_kubeconfig_path",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_variables",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_calico_node_address_autodetection_cidrs",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_variables",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_metrics_server",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L115",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_variables",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_metallb",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L133",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_variables",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_traefik",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L155",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_variables",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_calico_operator_node_name",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_variables",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_observability",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L175",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_variables",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_gitops_repo_url",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_variables",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_prometheus_stack_node_selector",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L251",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_variables",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_gitops_ssh_key_path",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_variables",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_extra_helm_releases",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L260",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_variables",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_calico",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_variables",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_openebs",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_variables",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_pod_network_cidr",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_variables",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_argocd",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L63",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_variables",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_kyverno",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L79",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_platform_variables",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_nodelocal_dns",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": "L95",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_main",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_prepare_template",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L107",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_main",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_config_hash",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L114",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_main",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_repo_root",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_main",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_create",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L126",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_main",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_tftp_root",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_main",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_http_root",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_main",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_debian_netboot_base_url",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_main",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_preseed_url",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_main",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_template_packages",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_main",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_seal",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L287",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_main",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_template_user_ssh_keys",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_main",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_ssh_authorized_keys_base64",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L46",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_main",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_finalize",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L466",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_main",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_node_dns_servers",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L47",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_main",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_kernel_cgroup_boot_options",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L48",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_main",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_pimox_template_net0",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L49",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_main",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_template_package_list",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L50",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_main",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_provisioning_http_base_url",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L51",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_main",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_provisioning_script_url",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L52",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_main",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_prepare_template_script_url",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L53",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_main",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_provisioning_host",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L538",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_main",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_dnsmasq_conf",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L55",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_main",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_nginx_conf",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L62",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_main",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_grub_cfg",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L67",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_main",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_rescue_index",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L75",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_main",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_preseed_cfg",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L81",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_main",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_golden_node_prepare",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L98",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_outputs",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_output_provisioning_http_base_url",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/outputs.tf",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_outputs",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_output_pxe_boot_file",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/outputs.tf",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_outputs",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_output_tftp_root",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/outputs.tf",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_outputs",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_output_pimox_template_vmid",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/outputs.tf",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_outputs",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_output_preseed_url",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/outputs.tf",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_outputs",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_output_pxe_rescue_url",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/outputs.tf",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_terraform_lock",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_provider_registry_opentofu_org_hashicorp_null",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/.terraform.lock.hcl",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_provisioning_host",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_template_user_full_name",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L100",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_template_user_password_hash",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L105",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_provisioning_ssh_key_path",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_template_user_ssh_public_key_path",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L110",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_template_user_ssh_authorized_keys",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L115",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_locale",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L120",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_keyboard",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L125",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_timezone",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L130",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_kubernetes_minor_version",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L135",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_kernel_cgroup_boot_options",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L140",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_registry_endpoint",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L149",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_node_dns_servers",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L154",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_provisioning_install_dir",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_additional_template_packages",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L162",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_builder_enabled",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L167",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_host",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L172",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_user",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L177",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_ssh_key_path",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L182",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_qm_bin",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L187",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_vmid",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L192",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_name",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L197",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_cores",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L202",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_memory",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L207",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_provisioning_interface",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_kvm_cpuset",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L212",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_bridge",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L218",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_mac",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L223",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_scsi0",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L228",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_efidisk0",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L233",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_replace_existing",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L238",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_build_host",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L243",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_build_user",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L248",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_proxy_dhcp_range",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_build_ssh_key_path",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L253",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_build_timeout",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L258",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_build_timeout_seconds",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L263",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_guest_ssh_timeout_seconds",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L268",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_guest_ip_prefix",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L273",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_http_host",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_http_port",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_debian_suite",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_debian_mirror_host",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_debian_mirror_directory",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L50",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_debian_netboot_base_url",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L55",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_provisioning_user",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pxe_boot_file",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L60",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pxe_menu_timeout",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L65",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pxe_default_menu_entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L70",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_template_hostname",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L75",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_clone_hostname_prefix",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L80",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_template_domain",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L85",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_template_disk",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L90",
+ "weight": 1.0
+ },
+ {
+ "source": "bootstrap_provisioning_variables",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_template_user",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": "L95",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "jeannie_core_reportrow",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "cmd_jeannie_core_main_rundagtask",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L186",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "cmd_jeannie_core_main_writedagline",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L229",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "cmd_jeannie_core_main_runreportrender",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L235",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "cmd_jeannie_core_main_envdefault",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L263",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "cmd_jeannie_core_main_parsereportrows",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L270",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "cmd_jeannie_core_main_main",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "cmd_jeannie_core_main_normalizestatus",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L309",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "cmd_jeannie_core_main_filterreportrows",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L317",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "cmd_jeannie_core_main_includereportrow",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L327",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "cmd_jeannie_core_main_renderreporttext",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L342",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "cmd_jeannie_core_main_orderedreportareas",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L410",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "cmd_jeannie_core_main_rowsforreportarea",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L422",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "cmd_jeannie_core_main_reportstatusrank",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L432",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "cmd_jeannie_core_main_truncate",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L447",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "cmd_jeannie_core_main_usage",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "jeannie_core_dagspec",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L58",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "jeannie_core_dagtask",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L63",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "jeannie_core_dagtaskresult",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L70",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "cmd_jeannie_core_main_rundag",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L76",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main",
+ "target": "cmd_jeannie_core_main_executedag",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "cmd/jeannie-core/main.go",
+ "source_location": "L98",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_test",
+ "target": "cmd_jeannie_core_main_test_testreportrenderproblemsonly",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "cmd/jeannie-core/main_test.go",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_test",
+ "target": "cmd_jeannie_core_main_test_testreportrenderhidesokgraphandquery",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "cmd/jeannie-core/main_test.go",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_test",
+ "target": "cmd_jeannie_core_main_test_testexecutedagrespectsdependencies",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "cmd/jeannie-core/main_test.go",
+ "source_location": "L49",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_test",
+ "target": "cmd_jeannie_core_main_test_testexecutedagreturnsfailedtask",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "cmd/jeannie-core/main_test.go",
+ "source_location": "L77",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_bootstrap",
+ "target": "infra_arr_stack_bootstrap_sh__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/arr-stack/bootstrap.sh",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr",
+ "target": "infra_arr_stack_configure_arr_apply_import_lists",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L133",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr",
+ "target": "infra_arr_stack_configure_arr_required_env",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L159",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr",
+ "target": "infra_arr_stack_configure_arr_main",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L166",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr",
+ "target": "infra_arr_stack_configure_arr_load_env",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr",
+ "target": "infra_arr_stack_configure_arr_request_json",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr",
+ "target": "infra_arr_stack_configure_arr_wait_for_app",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr",
+ "target": "infra_arr_stack_configure_arr_ensure_root_folder",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L55",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr",
+ "target": "infra_arr_stack_configure_arr_schema_fields",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L64",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr",
+ "target": "infra_arr_stack_configure_arr_fill_fields",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L75",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr",
+ "target": "infra_arr_stack_configure_arr_ensure_qbittorrent",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L88",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_blockchain_devnet_metrics_exporter",
+ "target": "infra_blockchain_devnet_metrics_exporter_rpc",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/blockchain-devnet/metrics/exporter.py",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_blockchain_devnet_metrics_exporter",
+ "target": "infra_blockchain_devnet_metrics_exporter_hex_to_int",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/blockchain-devnet/metrics/exporter.py",
+ "source_location": "L32",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_blockchain_devnet_metrics_exporter",
+ "target": "infra_blockchain_devnet_metrics_exporter_collect_metrics",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/blockchain-devnet/metrics/exporter.py",
+ "source_location": "L38",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_blockchain_devnet_metrics_exporter",
+ "target": "infra_blockchain_devnet_metrics_exporter_metricshandler",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/blockchain-devnet/metrics/exporter.py",
+ "source_location": "L77",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_heimdall_seed_heimdall",
+ "target": "infra_heimdall_seed_heimdall_upsert_links",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L105",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_heimdall_seed_heimdall",
+ "target": "infra_heimdall_seed_heimdall_load_links",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L161",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_heimdall_seed_heimdall",
+ "target": "infra_heimdall_seed_heimdall_find_database",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_heimdall_seed_heimdall",
+ "target": "infra_heimdall_seed_heimdall_table_exists",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_heimdall_seed_heimdall",
+ "target": "infra_heimdall_seed_heimdall_columns",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L33",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_heimdall_seed_heimdall",
+ "target": "infra_heimdall_seed_heimdall_quote_identifier",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L37",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_heimdall_seed_heimdall",
+ "target": "infra_heimdall_seed_heimdall_ensure_public_dashboard",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L41",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_heimdall_seed_heimdall",
+ "target": "infra_heimdall_seed_heimdall_ensure_dashboard_tag",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L53",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_heimdall_seed_heimdall",
+ "target": "infra_heimdall_seed_heimdall_home_dashboard_tag_id",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L80",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_heimdall_seed_heimdall",
+ "target": "infra_heimdall_seed_heimdall_wait_for_items_table",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/heimdall/seed-heimdall.py",
+ "source_location": "L93",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_matrix_server_bootstrap",
+ "target": "infra_matrix_server_bootstrap_sh__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/matrix-server/bootstrap.sh",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_omniroute_bootstrap",
+ "target": "infra_omniroute_bootstrap_sh__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/omniroute/bootstrap.sh",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_bootstrap",
+ "target": "infra_rpi_services_bootstrap_sh__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_seed_uptime_kuma",
+ "target": "infra_rpi_services_seed_uptime_kuma_monitorvalues",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L113",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_seed_uptime_kuma",
+ "target": "infra_rpi_services_seed_uptime_kuma_upsertmonitor",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L161",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_seed_uptime_kuma",
+ "target": "infra_rpi_services_seed_uptime_kuma_main",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L190",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_seed_uptime_kuma",
+ "target": "infra_rpi_services_seed_uptime_kuma_fs",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_seed_uptime_kuma",
+ "target": "infra_rpi_services_seed_uptime_kuma_loaddatabasemodule",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L42",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_seed_uptime_kuma",
+ "target": "infra_rpi_services_seed_uptime_kuma_path",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_seed_uptime_kuma",
+ "target": "infra_rpi_services_seed_uptime_kuma_nowsql",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L67",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_seed_uptime_kuma",
+ "target": "infra_rpi_services_seed_uptime_kuma_findmoduledirectory",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_seed_uptime_kuma",
+ "target": "infra_rpi_services_seed_uptime_kuma_defaultforcolumn",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/rpi-services/seed-uptime-kuma.js",
+ "source_location": "L71",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_youtube_backup_backup_youtube",
+ "target": "infra_youtube_backup_backup_youtube_sh__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/youtube-backup/backup-youtube.sh",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main",
+ "target": "labs_mlops_platform_app_main_record_http_metrics",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L112",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main",
+ "target": "labs_mlops_platform_app_main_normalized_features",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L127",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main",
+ "target": "labs_mlops_platform_app_main_logistic",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L137",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main",
+ "target": "labs_mlops_platform_app_main_score_prediction",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L141",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main",
+ "target": "labs_mlops_platform_app_main_drift_score",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L148",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main",
+ "target": "labs_mlops_platform_app_main_root",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L154",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main",
+ "target": "labs_mlops_platform_app_main_healthz",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L164",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main",
+ "target": "labs_mlops_platform_app_main_predict",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L174",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main",
+ "target": "labs_mlops_platform_app_main_metrics",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L204",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main",
+ "target": "labs_mlops_platform_app_main_predictrequest",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L62",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main",
+ "target": "labs_mlops_platform_app_main_load_model",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L72",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_training_export_model",
+ "target": "labs_mlops_platform_training_export_model_export_model",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "labs/mlops-platform/training/export_model.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "renovate",
+ "target": "renovate_prconcurrentlimit",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "renovate.json",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "renovate",
+ "target": "renovate_packagerules",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "renovate.json",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "renovate",
+ "target": "renovate_schema",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "renovate.json",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "renovate",
+ "target": "renovate_extends",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "renovate.json",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "renovate",
+ "target": "renovate_custommanagers",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "renovate.json",
+ "source_location": "L51",
+ "weight": 1.0
+ },
+ {
+ "source": "renovate",
+ "target": "renovate_timezone",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "renovate.json",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "renovate",
+ "target": "renovate_dependencydashboard",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "renovate.json",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "renovate",
+ "target": "renovate_labels",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "renovate.json",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_access_audit",
+ "target": "scripts_access_audit__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/access-audit",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_agent_sandbox",
+ "target": "scripts_agent_sandbox_load_policy",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/agent-sandbox",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_agent_sandbox",
+ "target": "scripts_agent_sandbox_classify",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/agent-sandbox",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_agent_sandbox",
+ "target": "scripts_agent_sandbox_print_result",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/agent-sandbox",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_agent_sandbox",
+ "target": "scripts_agent_sandbox_main",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/agent-sandbox",
+ "source_location": "L59",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals",
+ "target": "scripts_ai_evals_print_list",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/ai-evals",
+ "source_location": "L129",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals",
+ "target": "scripts_ai_evals_print_show",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/ai-evals",
+ "source_location": "L135",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals",
+ "target": "scripts_ai_evals_print_run",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/ai-evals",
+ "source_location": "L150",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals",
+ "target": "scripts_ai_evals_main",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/ai-evals",
+ "source_location": "L178",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals",
+ "target": "scripts_ai_evals_case",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/ai-evals",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals",
+ "target": "scripts_ai_evals_split_terms",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/ai-evals",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals",
+ "target": "scripts_ai_evals_load_cases",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/ai-evals",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals",
+ "target": "scripts_ai_evals_fixture_text",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/ai-evals",
+ "source_location": "L52",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals",
+ "target": "scripts_ai_evals_run_explain_output",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/ai-evals",
+ "source_location": "L59",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals",
+ "target": "scripts_ai_evals_run_repo_scan",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/ai-evals",
+ "source_location": "L72",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals",
+ "target": "scripts_ai_evals_run_case",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/ai-evals",
+ "source_location": "L97",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_memory",
+ "target": "scripts_ai_memory_check",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/ai-memory",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_memory",
+ "target": "scripts_ai_memory_main",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/ai-memory",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_scheduler",
+ "target": "scripts_ai_scheduler_simulate",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/ai-scheduler",
+ "source_location": "L100",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_scheduler",
+ "target": "scripts_ai_scheduler_main",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/ai-scheduler",
+ "source_location": "L109",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_scheduler",
+ "target": "scripts_ai_scheduler_read_tsv",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/ai-scheduler",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_scheduler",
+ "target": "scripts_ai_scheduler_as_bool",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/ai-scheduler",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_scheduler",
+ "target": "scripts_ai_scheduler_score_node",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/ai-scheduler",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_scheduler",
+ "target": "scripts_ai_scheduler_recommend",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/ai-scheduler",
+ "source_location": "L64",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_artifact_cache",
+ "target": "scripts_artifact_cache__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/artifact-cache",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ask",
+ "target": "scripts_ask__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/ask",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_backup_status",
+ "target": "scripts_backup_status__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/backup-status",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_blockchain_devnet",
+ "target": "scripts_blockchain_devnet__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/blockchain-devnet",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_blockchain_test",
+ "target": "scripts_blockchain_test__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/blockchain-test",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_blockchain_wallet",
+ "target": "scripts_blockchain_wallet__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/blockchain-wallet",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index",
+ "target": "scripts_build_homelab_ai_index_build_index",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L134",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index",
+ "target": "scripts_build_homelab_ai_index_main",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L166",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index",
+ "target": "scripts_build_homelab_ai_index_tokenise",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index",
+ "target": "scripts_build_homelab_ai_index_load_patterns",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L32",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index",
+ "target": "scripts_build_homelab_ai_index_path_is_secret",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L42",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index",
+ "target": "scripts_build_homelab_ai_index_path_matches_any",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L59",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index",
+ "target": "scripts_build_homelab_ai_index_candidate_files",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L63",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index",
+ "target": "scripts_build_homelab_ai_index_read_text",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L86",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index",
+ "target": "scripts_build_homelab_ai_index_chunk_file",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L95",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_advisor",
+ "target": "scripts_capacity_advisor__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/capacity-advisor",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_limits",
+ "target": "scripts_capacity_limits__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/capacity-limits",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report",
+ "target": "scripts_capacity_report__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/capacity-report",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_cert_check",
+ "target": "scripts_cert_check__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/cert-check",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_change_journal",
+ "target": "scripts_change_journal__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/change-journal",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_control_plane",
+ "target": "scripts_control_plane__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/control-plane",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_explain",
+ "target": "scripts_explain__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/explain",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_gitops_status",
+ "target": "scripts_gitops_status__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/gitops-status",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_golden_ledger",
+ "target": "scripts_golden_ledger__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/golden-ledger",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_grafana_dashboards",
+ "target": "scripts_grafana_dashboards__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/grafana-dashboards",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "scripts_heal_build_plan",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/heal",
+ "source_location": "L108",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "scripts_heal_impact_sort_key",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/heal",
+ "source_location": "L156",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "scripts_heal_highest_impact",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/heal",
+ "source_location": "L161",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "scripts_heal_print_plan",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/heal",
+ "source_location": "L168",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "scripts_heal_print_ai_context",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/heal",
+ "source_location": "L198",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "scripts_heal_apply_plan",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/heal",
+ "source_location": "L217",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "scripts_heal_healrule",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/heal",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "scripts_heal_load_heal_state",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/heal",
+ "source_location": "L267",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "scripts_heal_write_heal_state",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/heal",
+ "source_location": "L281",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "scripts_heal_recent_failed_commands",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/heal",
+ "source_location": "L286",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "scripts_heal_record_failed_action",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/heal",
+ "source_location": "L309",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "scripts_heal_clear_failed_action",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/heal",
+ "source_location": "L322",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "scripts_heal_verify_healed",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/heal",
+ "source_location": "L330",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "scripts_heal_target_is_healed",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/heal",
+ "source_location": "L344",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "scripts_heal_pimox_worker_ready",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/heal",
+ "source_location": "L362",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "scripts_heal_main",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/heal",
+ "source_location": "L386",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "scripts_heal_load_status",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/heal",
+ "source_location": "L55",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "scripts_heal_status_rows",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/heal",
+ "source_location": "L73",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "scripts_heal_rule_for",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/heal",
+ "source_location": "L80",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "scripts_heal_pimox_worker_index",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/heal",
+ "source_location": "L88",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal",
+ "target": "scripts_heal_command_for",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/heal",
+ "source_location": "L96",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_homelab_map",
+ "target": "scripts_homelab_map__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/homelab-map",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_impact",
+ "target": "scripts_impact__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/impact",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander",
+ "target": "scripts_incident_commander_first_evidence_lines",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/incident-commander",
+ "source_location": "L105",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander",
+ "target": "scripts_incident_commander_print_triage",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/incident-commander",
+ "source_location": "L110",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander",
+ "target": "scripts_incident_commander_print_list",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/incident-commander",
+ "source_location": "L132",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander",
+ "target": "scripts_incident_commander_replay",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/incident-commander",
+ "source_location": "L138",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander",
+ "target": "scripts_incident_commander_read_triage_input",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/incident-commander",
+ "source_location": "L168",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander",
+ "target": "scripts_incident_commander_main",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/incident-commander",
+ "source_location": "L178",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander",
+ "target": "scripts_incident_commander_incident",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/incident-commander",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander",
+ "target": "scripts_incident_commander_split_items",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/incident-commander",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander",
+ "target": "scripts_incident_commander_load_incidents",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/incident-commander",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander",
+ "target": "scripts_incident_commander_fixture_text",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/incident-commander",
+ "source_location": "L61",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander",
+ "target": "scripts_incident_commander_classify",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/incident-commander",
+ "source_location": "L68",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander",
+ "target": "scripts_incident_commander_incident_for_class",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/incident-commander",
+ "source_location": "L76",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander",
+ "target": "scripts_incident_commander_render_triage",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/incident-commander",
+ "source_location": "L83",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_jeannie_core",
+ "target": "scripts_jeannie_core__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/jeannie-core",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_kubeconfig_readonly",
+ "target": "scripts_kubeconfig_readonly__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/kubeconfig-readonly",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_model_observe",
+ "target": "scripts_model_observe_report",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/model-observe",
+ "source_location": "L115",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_model_observe",
+ "target": "scripts_model_observe_print_prompts",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/model-observe",
+ "source_location": "L136",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_model_observe",
+ "target": "scripts_model_observe_main",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/model-observe",
+ "source_location": "L142",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_model_observe",
+ "target": "scripts_model_observe_prompts",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/model-observe",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_model_observe",
+ "target": "scripts_model_observe_split_terms",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/model-observe",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_model_observe",
+ "target": "scripts_model_observe_offline_answer",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/model-observe",
+ "source_location": "L33",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_model_observe",
+ "target": "scripts_model_observe_ask_ollama",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/model-observe",
+ "source_location": "L42",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_model_observe",
+ "target": "scripts_model_observe_grade",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/model-observe",
+ "source_location": "L61",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_model_observe",
+ "target": "scripts_model_observe_run",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/model-observe",
+ "source_location": "L75",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_promote",
+ "target": "scripts_promote_checks",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/promote",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_promote",
+ "target": "scripts_promote_plan",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/promote",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_promote",
+ "target": "scripts_promote_validate",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/promote",
+ "source_location": "L34",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_promote",
+ "target": "scripts_promote_rollback",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/promote",
+ "source_location": "L61",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_promote",
+ "target": "scripts_promote_main",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/promote",
+ "source_location": "L74",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab",
+ "target": "scripts_prompt_injection_lab_print_list",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L111",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab",
+ "target": "scripts_prompt_injection_lab_print_show",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L117",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab",
+ "target": "scripts_prompt_injection_lab_print_run",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L131",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab",
+ "target": "scripts_prompt_injection_lab_main",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L164",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab",
+ "target": "scripts_prompt_injection_lab_case",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab",
+ "target": "scripts_prompt_injection_lab_split_terms",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab",
+ "target": "scripts_prompt_injection_lab_load_cases",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L34",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab",
+ "target": "scripts_prompt_injection_lab_fixture_text",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L50",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab",
+ "target": "scripts_prompt_injection_lab_defense_response",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L57",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab",
+ "target": "scripts_prompt_injection_lab_run_case",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L94",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_query_homelab_ai_index",
+ "target": "scripts_query_homelab_ai_index_ask_ollama",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L114",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_query_homelab_ai_index",
+ "target": "scripts_query_homelab_ai_index_main",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L145",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_query_homelab_ai_index",
+ "target": "scripts_query_homelab_ai_index_tokenise",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_query_homelab_ai_index",
+ "target": "scripts_query_homelab_ai_index_load_index",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_query_homelab_ai_index",
+ "target": "scripts_query_homelab_ai_index_score_chunks",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L33",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_query_homelab_ai_index",
+ "target": "scripts_query_homelab_ai_index_render_context",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L71",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_query_homelab_ai_index",
+ "target": "scripts_query_homelab_ai_index_render_citations",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L89",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_recover_plan",
+ "target": "scripts_recover_plan__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/recover-plan",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_recover_power",
+ "target": "scripts_recover_power__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/recover-power",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_red_blue_loop",
+ "target": "scripts_red_blue_loop_checks",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/red-blue-loop",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_red_blue_loop",
+ "target": "scripts_red_blue_loop_plan",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/red-blue-loop",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_red_blue_loop",
+ "target": "scripts_red_blue_loop_run",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/red-blue-loop",
+ "source_location": "L33",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_red_blue_loop",
+ "target": "scripts_red_blue_loop_ledger",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/red-blue-loop",
+ "source_location": "L60",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_red_blue_loop",
+ "target": "scripts_red_blue_loop_main",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/red-blue-loop",
+ "source_location": "L65",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_release_snapshot",
+ "target": "scripts_release_snapshot__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/release-snapshot",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_docs",
+ "target": "scripts_render_docs__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/render-docs",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog",
+ "target": "scripts_render_service_catalog_parse_inventory",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog",
+ "target": "scripts_render_service_catalog_host_rows",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L291",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog",
+ "target": "scripts_render_service_catalog_markdown_table",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L308",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog",
+ "target": "scripts_render_service_catalog_md_link",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L315",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog",
+ "target": "scripts_render_service_catalog_render_markdown",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L323",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog",
+ "target": "scripts_render_service_catalog_html_link",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L370",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog",
+ "target": "scripts_render_service_catalog_render_html",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L379",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog",
+ "target": "scripts_render_service_catalog_write_if_changed",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L459",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog",
+ "target": "scripts_render_service_catalog_check_file",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L464",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog",
+ "target": "scripts_render_service_catalog_main",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L470",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog",
+ "target": "scripts_render_service_catalog_value",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L61",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog",
+ "target": "scripts_render_service_catalog_host_ip",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L70",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog",
+ "target": "scripts_render_service_catalog_host_label",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L76",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog",
+ "target": "scripts_render_service_catalog_service_rows",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L88",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_report_render",
+ "target": "scripts_report_render__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/report-render",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_report_ui",
+ "target": "scripts_report_ui__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/report-ui",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_resource_budget",
+ "target": "scripts_resource_budget__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/resource-budget",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_restore_drill",
+ "target": "scripts_restore_drill__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/restore-drill",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_review_last_change",
+ "target": "scripts_review_last_change__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/review-last-change",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_route_inventory",
+ "target": "scripts_route_inventory__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/route-inventory",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_safety_case",
+ "target": "scripts_safety_case_main",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/safety-case",
+ "source_location": "L106",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_safety_case",
+ "target": "scripts_safety_case_git_lines",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/safety-case",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_safety_case",
+ "target": "scripts_safety_case_changed_files",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/safety-case",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_safety_case",
+ "target": "scripts_safety_case_load_rules",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/safety-case",
+ "source_location": "L37",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_safety_case",
+ "target": "scripts_safety_case_matched_rules",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/safety-case",
+ "source_location": "L42",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_safety_case",
+ "target": "scripts_safety_case_risk_order",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/safety-case",
+ "source_location": "L58",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_safety_case",
+ "target": "scripts_safety_case_print_safety_case",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/safety-case",
+ "source_location": "L62",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_scorecard",
+ "target": "scripts_scorecard__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/scorecard",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_attack_path",
+ "target": "scripts_security_attack_path__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-attack-path",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_logs",
+ "target": "scripts_security_logs__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-logs",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan",
+ "target": "scripts_security_scan__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-scan",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_synthetic_checks",
+ "target": "scripts_synthetic_checks__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/synthetic-checks",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_validate_homelab",
+ "target": "scripts_validate_homelab__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/validate-homelab",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_validate_homelab_inventory",
+ "target": "scripts_validate_homelab_inventory__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/validate-homelab-inventory",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_validate_tailnet_policy",
+ "target": "scripts_validate_tailnet_policy_require",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/validate-tailnet-policy",
+ "source_location": "L125",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_validate_tailnet_policy",
+ "target": "scripts_validate_tailnet_policy_main",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/validate-tailnet-policy",
+ "source_location": "L130",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_validate_tailnet_policy",
+ "target": "scripts_validate_tailnet_policy_strip_hujson",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/validate-tailnet-policy",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_validate_tailnet_policy",
+ "target": "scripts_validate_tailnet_policy_parse_simple_inventory",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/validate-tailnet-policy",
+ "source_location": "L98",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers",
+ "target": "scripts_workers__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/workers",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_apps_0952a721c72f57d2_directory",
+ "target": "bootstrap_apps_main",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/apps/main.tf",
+ "source_location": null,
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_apps_0952a721c72f57d2_directory",
+ "target": "bootstrap_apps_variables",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/apps/variables.tf",
+ "source_location": null,
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_directory",
+ "target": "bootstrap_cluster_main",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": null,
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_directory",
+ "target": "bootstrap_cluster_variables",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/variables.tf",
+ "source_location": null,
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_directory",
+ "target": "bootstrap_edge_main",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": null,
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_directory",
+ "target": "bootstrap_edge_variables",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/variables.tf",
+ "source_location": null,
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_directory",
+ "target": "bootstrap_platform_main",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": null,
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_directory",
+ "target": "bootstrap_platform_variables",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/variables.tf",
+ "source_location": null,
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_directory",
+ "target": "bootstrap_provisioning_main",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": null,
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_directory",
+ "target": "bootstrap_provisioning_outputs",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/outputs.tf",
+ "source_location": null,
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_directory",
+ "target": "bootstrap_provisioning_variables",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/variables.tf",
+ "source_location": null,
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit",
+ "target": "tests_jeannie_unit__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_render_static_pages",
+ "target": "apps_website_render_static_pages_render_page",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "apps/website/render-static-pages.sh",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_matrix_server_bootstrap",
+ "target": "infra_matrix_server_bootstrap_render_homeserver",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/matrix-server/bootstrap.sh",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_bootstrap",
+ "target": "infra_rpi_services_bootstrap_resolve_pihole_webpassword",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L104",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_bootstrap",
+ "target": "infra_rpi_services_bootstrap_install_missing_packages",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_bootstrap",
+ "target": "infra_rpi_services_bootstrap_write_env_file",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L133",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_bootstrap",
+ "target": "infra_rpi_services_bootstrap_sync_pihole_adlists",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L163",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_bootstrap",
+ "target": "infra_rpi_services_bootstrap_sync_pihole_managed_dns",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L212",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_bootstrap",
+ "target": "infra_rpi_services_bootstrap_seed_uptime_kuma_monitors",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L261",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_bootstrap",
+ "target": "infra_rpi_services_bootstrap_docker_root_target",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_bootstrap",
+ "target": "infra_rpi_services_bootstrap_configure_docker_root",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_rpi_services_bootstrap",
+ "target": "infra_rpi_services_bootstrap_stop_legacy_pihole",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/rpi-services/bootstrap.sh",
+ "source_location": "L89",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_ensure_python3",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L1012",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_ensure_go_toolchain",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L1021",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_detect_route_interface",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L1038",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_pimox_ssh",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L1053",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_pimox_guest_ipv4",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L1062",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_pimox_worker_vm_debug",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L1102",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_pimox_worker_guest_agent_recovery_hint",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L1139",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_pimox_guest_exec_exitcode",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L1161",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_pimox_worker_guest_ssh_repair",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L1181",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_wait_for_pimox_guest_ssh",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L1248",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_pimox_generated_mac",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L1387",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_pimox_worker_static_ip",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L1396",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_pimox_worker_net0_config",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L1414",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_validate_ipv4_cidr_or_host",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L1435",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_configure_pimox_worker_guest_network",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L1441",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_configure_pimox_worker_forwarding",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L1599",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_cpuset_cpu_count",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L1688",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_export_if_unset",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L170",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_pimox_worker_cpu_affinity",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L1715",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_pimox_start_vm_with_cpuset",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L1743",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_pimox_shutdown_vm_gracefully",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L1800",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_pimox_guest_cpu_count",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L1821",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_ensure_pimox_worker_node",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L1837",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_export_homelab_inventory_tf_vars",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L184",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_write_cluster_worker_var_file",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L2079",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_prepare_cluster_worker_var_file",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L2152",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_require_debian_server",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L217",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_ensure_static_pimox_worker_spec_file",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L2175",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_cluster_worker_var_file_has_workers",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L2219",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_preflight_check",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L2233",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_preflight_warn",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L2251",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_check_gitea_reachable",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L2269",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_check_debian_docker_root",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L2285",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_fix_debian_docker_root",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L2300",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_check_debian_tailscale_ip",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L2354",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_tofu_state_has_resource",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L236",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_check_edge_ssh",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L2371",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_check_rpi_ssh",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L2378",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_check_rpi_docker_root_state",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L2386",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_check_rpi_tailscale_ip",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L2407",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_check_pimox_storage",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L2419",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_helm_release_secret_exists",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L243",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_check_local_disk_free_gib",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L2442",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_check_systemd_active",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L2456",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_check_rpi_docker_writable",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L2462",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_check_edge_disk_free",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L2474",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_check_pihole_dns_query",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L2488",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_homelab_preflight",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L2514",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_kubernetes_resource_exists",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L255",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_doctor_preapply",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L2555",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_inventory_check",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L2578",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_run_pimox_pipeline",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L2582",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_load_homelab_inventory_defaults",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_adopt_tofu_helm_release",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L268",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_run_openwrt_pipeline",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L2805",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_adopt_tofu_kubernetes_resource",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L300",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_openwrt",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3141",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_cleanup_calico_links",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3147",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_cleanup_iptables",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3156",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_cleanup_calico_runtime_files",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3170",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_restore_node_dns",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3181",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_adopt_tofu_kubernetes_manifest",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L319",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_cleanup_mounts",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3190",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_cleanup_node",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3207",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_image_ref_tag",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3240",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_website_image_tag",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3253",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_apps_registry_endpoint",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3259",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_demos_registry_endpoint",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3268",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_website_source_hash",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3280",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_demos_source_hash",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3287",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_registry_image_exists",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3294",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_image_state_value",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3310",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_website_image_is_current",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3317",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_ensure_website_image_tag_not_reused",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3342",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_demos_image_is_current",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3361",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_write_website_image_state",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3384",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_write_demos_image_state",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3398",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_adopt_platform_existing_resources",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L341",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_path_available_mb",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3412",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_docker_root_dir",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3422",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_prune_unused_docker_build_data",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3426",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_ensure_docker_build_space",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3433",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_prepare_buildx_builder",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3458",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_ensure_cosign_available",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3480",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_ensure_cosign_password",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3535",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_run_cosign",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3564",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_ensure_cosign_keypair",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3571",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_publish_cosign_public_key_config_map",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3591",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_cosign_registry_flags",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3601",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_image_supply_chain_metadata_exists",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3610",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_write_image_sbom_predicate",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3635",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_image_digest_ref",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3701",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_adopt_apps_existing_resources",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L371",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_publish_image_supply_chain_metadata",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3725",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_dump_argocd_debug",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3767",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_dump_namespace_debug",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3777",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_wait_for_namespace",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3786",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_wait_for_namespaced_resource",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3803",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_wait_for_cluster_resource",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3823",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_wait_for_deployment_ready",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3851",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_deploy_gitea",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3876",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_install_missing_debian_packages",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L3984",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_ensure_local_docker_compose",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L4000",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_repair_local_docker_iptables",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L4020",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_deploy_heimdall",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L4039",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_deploy_matrix",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L4120",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_deploy_omniroute",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L4211",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_ensure_homelab_node_labels",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L425",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_deploy_hermes",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L4253",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_deploy_rpi_services",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L4347",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_gitea_bootstrap_password",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L4408",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_gitea_api_base_url",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L4421",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_gitea_repo_exists",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L4443",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_gitea_branch_exists",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L4470",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_create_gitea_repo",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L4498",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_gitea_public_key_registered",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L4529",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_create_gitea_repo_deploy_key",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L4559",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_ensure_gitea_repo_ssh_access",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L4594",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_bootstrap_gitea_repo",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L4659",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_delete_prometheus_stack_storage",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L471",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_install_gitea_backup_timer",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L4868",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_run_tofu_stack",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L496",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_backup_gitea",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5062",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_drill_gitea_restore",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5069",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_install_gitea_runner",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5076",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_recreate_pods_for_selector",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5164",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_refresh_argocd_application",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5177",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_website_translation_model",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5183",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_website_ollama_listen",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5210",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_ollama_linux_arch",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5254",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_ollama_write_systemd_service",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5269",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_ollama_install_from_tgz",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5288",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_ollama_setup",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5310",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_run_tofu_plan_stack",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L532",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_require_argocd_application_controller",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5376",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_require_pimox_app_worker_capacity",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5397",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_apps",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5440",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_backup_tofu_state",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L548",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_platform_apply",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5601",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_edge_apply",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5607",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_edge_haproxy_stats_password_valid",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5613",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_ensure_edge_tailscale_routes",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5619",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_edge_haproxy_stats_credentials_file",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5694",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_generate_edge_haproxy_stats_password",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5698",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_write_edge_haproxy_stats_credentials",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5713",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_recover_edge_haproxy_stats_password",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5729",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_ensure_edge_haproxy_stats_password",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5756",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_ensure_cluster_worker_var_file",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5790",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_run_up_parallel_stage",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5804",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_move_prometheus_stack_workers",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L588",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_up_task",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5889",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_up",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5930",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_tofu_stack_from_plan_target",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5954",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_plan_homelab",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L5978",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_rebuild_cluster",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6011",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_nuke_for_rebuild",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6040",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_cluster_worker_targets",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6044",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_stop_local_kubernetes_services",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6075",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_start_local_kubernetes_services",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6101",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_stop_remote_kubernetes_services",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6108",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_start_remote_kubernetes_services",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6134",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_pimox_worker_count_default",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6142",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_pimox_worker_count_effective",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6208",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_stop_pimox_worker_vms",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6220",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_doctor_versions_report",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L624",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_verify_pimox_worker_vms_stopped",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6276",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_destroy_pimox_worker_vms",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6303",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_start_pimox_worker_vms",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6348",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_stop_cluster",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6389",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_start_cluster",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6417",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_kubernetes_api_reachable",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6433",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_wait_for_kubernetes_api_stable",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6437",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_ensure_kubernetes_api_ready_for_tofu_stack",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6465",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_cluster_control_plane_tracked",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6478",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_cluster_admin_kubeconfig_present",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6482",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_wait_for_kubernetes_api",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6488",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_ensure_existing_cluster_started_for_up",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6502",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_section",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6528",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_run",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6536",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_check_pimox_worker_tailnet_egress",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6546",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_http",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6596",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_http_ok",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6609",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_http_reachable",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6633",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_gitea_public_ok",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6657",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_cascade_check",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6663",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_cascade_warn",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6689",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_container_running",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6715",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_kubernetes_api_ok",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6728",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_kubernetes_nodes_ready",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6740",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_kubernetes_deployment_ready",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6756",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_no_problem_pods",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6763",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_recent_deployments",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6776",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_pod_restart_pressure",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6791",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_node_pressure",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6805",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_disk_pressure",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6818",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_traefik_error_rates",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6829",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_gitea_recent_errors",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6850",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_registry_ok",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6873",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_rpi_uptime_kuma_ok",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6877",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_pimox_workers_running",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6887",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_cascade_report",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6919",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_backstage_brain_enabled",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6983",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_backstage_brain_note",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L6990",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_doctor_versions_compact",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L702",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_systemd_units",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L7077",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_compose_stack",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L7089",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_kubernetes",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L7110",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_kubernetes_problem_pods",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L7132",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_pimox_workers",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L7147",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_rpi_services",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L7182",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_status_report",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L7283",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_check_edge_traefik_backend",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L7391",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_check_edge_gitea_backend",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L7400",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_check_edge_heimdall_backend",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L7410",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_check_gitea_git_remote",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L7420",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_check_gitea_ssh",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L7424",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_doctor_edge",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L7432",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_doctor_gitea",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L7501",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_doctor_rpi",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L7564",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_doctor_cluster",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L7605",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_nuke",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L7664",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_doctor_versions",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L775",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_ensure_sops_age_tools",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L7828",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_sops_age_key_file",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L7867",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_sops_age_recipient",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L7871",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_truthy",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L788",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_sops_load_secrets",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L7880",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_sops_available",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L7923",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_secrets_init",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L7927",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_secrets_check_file",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L7977",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_secrets_check",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8001",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_disabled_value",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L802",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_tailnet_policy_check",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8049",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_ai_index",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8053",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_ai_check",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8065",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_ask_homelab",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8130",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_ai_evals",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8135",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_impact",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8139",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_review_last_change",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8143",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_security_scan",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8147",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_security_prepare",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8152",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_security_zap",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8157",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_jeannie_log_start",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L816",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_security_k8s",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8162",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_security_host",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8167",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_security_trivy",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8172",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_security_secrets",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8177",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_security_nuclei",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8182",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_security_web",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8187",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_security_logs",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8192",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_security_runtime",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8197",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_security_attack_path",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8216",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_prompt_injection_lab",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8221",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_incident_commander",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8225",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_safety_case",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8229",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_agent_sandbox",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8233",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_ai_scheduler",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8237",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_ai_memory",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8241",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_red_blue_loop",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8245",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_promote",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8249",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_model_observe",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8253",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_heal",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8257",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_validate_homelab",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8262",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_access_audit",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8266",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_drill_restore",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8271",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_drill_pihole_restore",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8276",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_kubeconfig_readonly",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8280",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_capacity_report",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8285",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_recover_plan",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8290",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_gitops_status",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8295",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_cert_check",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8300",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_release_snapshot",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8304",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_backup_status",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8309",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_synthetic_checks",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8314",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_resource_budget",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8319",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_capacity_advisor",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8324",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_capacity_limits",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8329",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_control_plane",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8334",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_artifact_cache",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8339",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_jeannie_step_plan",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L834",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_blockchain_devnet",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8344",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_blockchain_test",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8349",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_blockchain_wallet",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8353",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_golden_ledger",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8357",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_route_inventory",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8361",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_explain",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8366",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_recover_power",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8373",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_scorecard",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8379",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_grafana_dashboards",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8384",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_workers_manage",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8389",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_jeannie_verbose_enabled",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L839",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_record_change_journal",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8394",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_change_journal",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8401",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_homelab_map",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8405",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_print_usage",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L8409",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_jeannie_step_prefix",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L843",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_jeannie_compact_text",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L853",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_jeannie_step_progress",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L866",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_jeannie_step_latest_progress_line",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L883",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_redact_sensitive_output",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L894",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_run_step",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L907",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "jeannie_worker_index_is_skipped",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "jeannie",
+ "source_location": "L992",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_access_audit",
+ "target": "scripts_access_audit_runner_access",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/access-audit",
+ "source_location": "L104",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_access_audit",
+ "target": "scripts_access_audit_warn_file_mode",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/access-audit",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_access_audit",
+ "target": "scripts_access_audit_main",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/access-audit",
+ "source_location": "L114",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_access_audit",
+ "target": "scripts_access_audit_ssh_inventory",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/access-audit",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_access_audit",
+ "target": "scripts_access_audit_git_access",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/access-audit",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_access_audit",
+ "target": "scripts_access_audit_tailnet_access",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/access-audit",
+ "source_location": "L55",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_access_audit",
+ "target": "scripts_access_audit_kubernetes_access",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/access-audit",
+ "source_location": "L68",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_access_audit",
+ "target": "scripts_access_audit_section",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/access-audit",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ask",
+ "target": "scripts_ask_usage",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/ask",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_backup_status",
+ "target": "scripts_backup_status_section",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/backup-status",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_backup_status",
+ "target": "scripts_backup_status_latest_file",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/backup-status",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_backup_status",
+ "target": "scripts_backup_status_file_age_hours",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/backup-status",
+ "source_location": "L32",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_backup_status",
+ "target": "scripts_backup_status_check_latest",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/backup-status",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_blockchain_devnet",
+ "target": "scripts_blockchain_devnet_rpc_call",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/blockchain-devnet",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_blockchain_devnet",
+ "target": "scripts_blockchain_devnet_usage",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/blockchain-devnet",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_blockchain_test",
+ "target": "scripts_blockchain_test_usage",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/blockchain-test",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_blockchain_wallet",
+ "target": "scripts_blockchain_wallet_run_cast",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/blockchain-wallet",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_blockchain_wallet",
+ "target": "scripts_blockchain_wallet_require_private_key",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/blockchain-wallet",
+ "source_location": "L36",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_blockchain_wallet",
+ "target": "scripts_blockchain_wallet_usage",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/blockchain-wallet",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_advisor",
+ "target": "scripts_capacity_advisor_run_check",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/capacity-advisor",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_limits",
+ "target": "scripts_capacity_limits_cleanup",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/capacity-limits",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_limits",
+ "target": "scripts_capacity_limits_usage",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/capacity-limits",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report",
+ "target": "scripts_capacity_report_kubernetes_capacity",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/capacity-report",
+ "source_location": "L106",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report",
+ "target": "scripts_capacity_report_pimox_capacity",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/capacity-report",
+ "source_location": "L125",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report",
+ "target": "scripts_capacity_report_rpi_capacity",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/capacity-report",
+ "source_location": "L153",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report",
+ "target": "scripts_capacity_report_summary",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/capacity-report",
+ "source_location": "L176",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report",
+ "target": "scripts_capacity_report_verbose_main",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/capacity-report",
+ "source_location": "L188",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report",
+ "target": "scripts_capacity_report_compact_host_capacity",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/capacity-report",
+ "source_location": "L196",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report",
+ "target": "scripts_capacity_report_compact_kubernetes_capacity",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/capacity-report",
+ "source_location": "L250",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report",
+ "target": "scripts_capacity_report_compact_pimox_capacity",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/capacity-report",
+ "source_location": "L304",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report",
+ "target": "scripts_capacity_report_compact_rpi_capacity",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/capacity-report",
+ "source_location": "L345",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report",
+ "target": "scripts_capacity_report_compact_guidance",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/capacity-report",
+ "source_location": "L393",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report",
+ "target": "scripts_capacity_report_compact_main",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/capacity-report",
+ "source_location": "L398",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report",
+ "target": "scripts_capacity_report_emit",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/capacity-report",
+ "source_location": "L43",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report",
+ "target": "scripts_capacity_report_grafana_explore_url",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/capacity-report",
+ "source_location": "L56",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report",
+ "target": "scripts_capacity_report_section",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/capacity-report",
+ "source_location": "L82",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report",
+ "target": "scripts_capacity_report_run_optional",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/capacity-report",
+ "source_location": "L86",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_capacity_report",
+ "target": "scripts_capacity_report_host_capacity",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/capacity-report",
+ "source_location": "L94",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_cert_check",
+ "target": "scripts_cert_check_cleanup",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/cert-check",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_cert_check",
+ "target": "scripts_cert_check_section",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/cert-check",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_cert_check",
+ "target": "scripts_cert_check_have",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/cert-check",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_cert_check",
+ "target": "scripts_cert_check_mark_fail",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/cert-check",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_cert_check",
+ "target": "scripts_cert_check_inventory_scalar",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/cert-check",
+ "source_location": "L34",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_cert_check",
+ "target": "scripts_cert_check_inventory_hosts",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/cert-check",
+ "source_location": "L46",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_change_journal",
+ "target": "scripts_change_journal_timestamp",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/change-journal",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_change_journal",
+ "target": "scripts_change_journal_latest_entries",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/change-journal",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_change_journal",
+ "target": "scripts_change_journal_append_entry",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/change-journal",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_control_plane",
+ "target": "scripts_control_plane_require_kubectl",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/control-plane",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_control_plane",
+ "target": "scripts_control_plane_show_taints",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/control-plane",
+ "source_location": "L39",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_control_plane",
+ "target": "scripts_control_plane_show_non_system_pods",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/control-plane",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_control_plane",
+ "target": "scripts_control_plane_usage",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/control-plane",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_explain",
+ "target": "scripts_explain_usage",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/explain",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_explain",
+ "target": "scripts_explain_main",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/explain",
+ "source_location": "L288",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_explain",
+ "target": "scripts_explain_is_read_only_command",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/explain",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_explain",
+ "target": "scripts_explain_is_read_only_subcommand",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/explain",
+ "source_location": "L46",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_explain",
+ "target": "scripts_explain_run_target",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/explain",
+ "source_location": "L72",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_explain",
+ "target": "scripts_explain_explain_output",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/explain",
+ "source_location": "L85",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_explain",
+ "target": "scripts_explain_cleanup",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/explain",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_grafana_dashboards",
+ "target": "scripts_grafana_dashboards_list_dashboards",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/grafana-dashboards",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_grafana_dashboards",
+ "target": "scripts_grafana_dashboards_apply_dashboards",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/grafana-dashboards",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_grafana_dashboards",
+ "target": "scripts_grafana_dashboards_usage",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/grafana-dashboards",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_homelab_map",
+ "target": "scripts_homelab_map_inventory",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/homelab-map",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_impact",
+ "target": "scripts_impact_usage",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/impact",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_jeannie_core",
+ "target": "scripts_jeannie_core_core_sources_newer",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/jeannie-core",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_kubeconfig_readonly",
+ "target": "scripts_kubeconfig_readonly_usage",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/kubeconfig-readonly",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_kubeconfig_readonly",
+ "target": "scripts_kubeconfig_readonly_require_kubectl",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/kubeconfig-readonly",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_kubeconfig_readonly",
+ "target": "scripts_kubeconfig_readonly_main",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/kubeconfig-readonly",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_recover_plan",
+ "target": "scripts_recover_plan_has_gitea_backup",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/recover-plan",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_recover_plan",
+ "target": "scripts_recover_plan_has_state_backup",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/recover-plan",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_recover_plan",
+ "target": "scripts_recover_plan_main",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/recover-plan",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_recover_plan",
+ "target": "scripts_recover_plan_check",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/recover-plan",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_recover_power",
+ "target": "scripts_recover_power_run_step",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/recover-power",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_recover_power",
+ "target": "scripts_recover_power_run_optional",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/recover-power",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_release_snapshot",
+ "target": "scripts_release_snapshot_section",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/release-snapshot",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_release_snapshot",
+ "target": "scripts_release_snapshot_have",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/release-snapshot",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_release_snapshot",
+ "target": "scripts_release_snapshot_run_optional",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/release-snapshot",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_release_snapshot",
+ "target": "scripts_release_snapshot_latest_file",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/release-snapshot",
+ "source_location": "L33",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_docs",
+ "target": "scripts_render_docs_usage",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/render-docs",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_docs",
+ "target": "scripts_render_docs_read_inventory_value",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/render-docs",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_docs",
+ "target": "scripts_render_docs_render_template",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/render-docs",
+ "source_location": "L62",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_docs",
+ "target": "scripts_render_docs_main",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/render-docs",
+ "source_location": "L74",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_report_render",
+ "target": "scripts_report_render_usage",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/report-render",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_report_ui",
+ "target": "scripts_report_ui_report_ui_usage_flags",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/report-ui",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_report_ui",
+ "target": "scripts_report_ui_report_ui_check",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/report-ui",
+ "source_location": "L109",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_report_ui",
+ "target": "scripts_report_ui_report_ui_render",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/report-ui",
+ "source_location": "L145",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_report_ui",
+ "target": "scripts_report_ui_report_ui_parse_args",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/report-ui",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_report_ui",
+ "target": "scripts_report_ui_report_ui_begin",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/report-ui",
+ "source_location": "L56",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_report_ui",
+ "target": "scripts_report_ui_report_ui_cleanup",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/report-ui",
+ "source_location": "L60",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_report_ui",
+ "target": "scripts_report_ui_report_ui_one_line",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/report-ui",
+ "source_location": "L67",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_report_ui",
+ "target": "scripts_report_ui_report_ui_first_line",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/report-ui",
+ "source_location": "L75",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_report_ui",
+ "target": "scripts_report_ui_report_ui_trim_detail",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/report-ui",
+ "source_location": "L79",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_report_ui",
+ "target": "scripts_report_ui_report_ui_emit",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/report-ui",
+ "source_location": "L83",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_resource_budget",
+ "target": "scripts_resource_budget_usage",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/resource-budget",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_resource_budget",
+ "target": "scripts_resource_budget_section",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/resource-budget",
+ "source_location": "L41",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_resource_budget",
+ "target": "scripts_resource_budget_warn",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/resource-budget",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_resource_budget",
+ "target": "scripts_resource_budget_fail",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/resource-budget",
+ "source_location": "L50",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_resource_budget",
+ "target": "scripts_resource_budget_have",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/resource-budget",
+ "source_location": "L55",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_resource_budget",
+ "target": "scripts_resource_budget_host_budget",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/resource-budget",
+ "source_location": "L59",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_resource_budget",
+ "target": "scripts_resource_budget_kubernetes_budget",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/resource-budget",
+ "source_location": "L79",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_restore_drill",
+ "target": "scripts_restore_drill_main",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/restore-drill",
+ "source_location": "L108",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_restore_drill",
+ "target": "scripts_restore_drill_check_file",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/restore-drill",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_restore_drill",
+ "target": "scripts_restore_drill_latest_file",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/restore-drill",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_restore_drill",
+ "target": "scripts_restore_drill_drill_gitea",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/restore-drill",
+ "source_location": "L34",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_restore_drill",
+ "target": "scripts_restore_drill_drill_pihole",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/restore-drill",
+ "source_location": "L61",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_restore_drill",
+ "target": "scripts_restore_drill_drill_state",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/restore-drill",
+ "source_location": "L71",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_restore_drill",
+ "target": "scripts_restore_drill_section",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/restore-drill",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_restore_drill",
+ "target": "scripts_restore_drill_drill_gitops",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/restore-drill",
+ "source_location": "L86",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_restore_drill",
+ "target": "scripts_restore_drill_usage",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/restore-drill",
+ "source_location": "L99",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_review_last_change",
+ "target": "scripts_review_last_change_usage",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/review-last-change",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_route_inventory",
+ "target": "scripts_route_inventory_section",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/route-inventory",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_route_inventory",
+ "target": "scripts_route_inventory_cleanup",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/route-inventory",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_scorecard",
+ "target": "scripts_scorecard_docs_fresh",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/scorecard",
+ "source_location": "L43",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_scorecard",
+ "target": "scripts_scorecard_inventory_ok",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/scorecard",
+ "source_location": "L47",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_scorecard",
+ "target": "scripts_scorecard_security_static_ok",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/scorecard",
+ "source_location": "L51",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_scorecard",
+ "target": "scripts_scorecard_score",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/scorecard",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_attack_path",
+ "target": "scripts_security_attack_path_require_kubectl",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-attack-path",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_attack_path",
+ "target": "scripts_security_attack_path_section",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-attack-path",
+ "source_location": "L32",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_attack_path",
+ "target": "scripts_security_attack_path_kubectl_ro",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-attack-path",
+ "source_location": "L36",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_attack_path",
+ "target": "scripts_security_attack_path_jsonpath_or_unknown",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-attack-path",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_attack_path",
+ "target": "scripts_security_attack_path_main",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-attack-path",
+ "source_location": "L49",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_attack_path",
+ "target": "scripts_security_attack_path_usage",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-attack-path",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_logs",
+ "target": "scripts_security_logs_timestamp",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-logs",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_logs",
+ "target": "scripts_security_logs_ensure_report_dir",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-logs",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_logs",
+ "target": "scripts_security_logs_print_matches",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-logs",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_logs",
+ "target": "scripts_security_logs_collect_gitea_logs",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-logs",
+ "source_location": "L37",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_logs",
+ "target": "scripts_security_logs_collect_traefik_logs",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-logs",
+ "source_location": "L50",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_logs",
+ "target": "scripts_security_logs_main",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-logs",
+ "source_location": "L66",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan",
+ "target": "scripts_security_scan_run_gitleaks",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-scan",
+ "source_location": "L114",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan",
+ "target": "scripts_security_scan_truthy",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-scan",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan",
+ "target": "scripts_security_scan_scan_targets",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-scan",
+ "source_location": "L143",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan",
+ "target": "scripts_security_scan_safe_target_name",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-scan",
+ "source_location": "L159",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan",
+ "target": "scripts_security_scan_run_zap",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-scan",
+ "source_location": "L163",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan",
+ "target": "scripts_security_scan_run_nuclei",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-scan",
+ "source_location": "L188",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan",
+ "target": "scripts_security_scan_header_value",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-scan",
+ "source_location": "L215",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan",
+ "target": "scripts_security_scan_run_security_web",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-scan",
+ "source_location": "L230",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan",
+ "target": "scripts_security_scan_usage",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-scan",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan",
+ "target": "scripts_security_scan_run_kube_bench",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-scan",
+ "source_location": "L316",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan",
+ "target": "scripts_security_scan_lynis_findings",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-scan",
+ "source_location": "L330",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan",
+ "target": "scripts_security_scan_print_lynis_fallback_focus",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-scan",
+ "source_location": "L337",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan",
+ "target": "scripts_security_scan_print_lynis_llm_focus",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-scan",
+ "source_location": "L359",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan",
+ "target": "scripts_security_scan_timestamp",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-scan",
+ "source_location": "L39",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan",
+ "target": "scripts_security_scan_ensure_report_dir",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-scan",
+ "source_location": "L43",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan",
+ "target": "scripts_security_scan_print_lynis_focus",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-scan",
+ "source_location": "L459",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan",
+ "target": "scripts_security_scan_require_docker",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-scan",
+ "source_location": "L47",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan",
+ "target": "scripts_security_scan_run_lynis_host",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-scan",
+ "source_location": "L479",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan",
+ "target": "scripts_security_scan_prepare_security_scans",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-scan",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_security_scan",
+ "target": "scripts_security_scan_run_trivy",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/security-scan",
+ "source_location": "L90",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_synthetic_checks",
+ "target": "scripts_synthetic_checks_kubectl_ok",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/synthetic-checks",
+ "source_location": "L116",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_synthetic_checks",
+ "target": "scripts_synthetic_checks_section",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/synthetic-checks",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_synthetic_checks",
+ "target": "scripts_synthetic_checks_check",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/synthetic-checks",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_synthetic_checks",
+ "target": "scripts_synthetic_checks_warn_check",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/synthetic-checks",
+ "source_location": "L43",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_synthetic_checks",
+ "target": "scripts_synthetic_checks_http_ok",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/synthetic-checks",
+ "source_location": "L66",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_synthetic_checks",
+ "target": "scripts_synthetic_checks_dns_query",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/synthetic-checks",
+ "source_location": "L82",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_validate_homelab",
+ "target": "scripts_validate_homelab_main",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/validate-homelab",
+ "source_location": "L103",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_validate_homelab",
+ "target": "scripts_validate_homelab_shell_files",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/validate-homelab",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_validate_homelab",
+ "target": "scripts_validate_homelab_validate_bash_syntax",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/validate-homelab",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_validate_homelab",
+ "target": "scripts_validate_homelab_validate_shellcheck",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/validate-homelab",
+ "source_location": "L46",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_validate_homelab",
+ "target": "scripts_validate_homelab_run_step",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/validate-homelab",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_validate_homelab",
+ "target": "scripts_validate_homelab_validate_yaml",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/validate-homelab",
+ "source_location": "L65",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_validate_homelab",
+ "target": "scripts_validate_homelab_validate_tofu_fmt",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/validate-homelab",
+ "source_location": "L73",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_validate_homelab",
+ "target": "scripts_validate_homelab_validate_go",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/validate-homelab",
+ "source_location": "L81",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_validate_homelab",
+ "target": "scripts_validate_homelab_validate_security_static",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/validate-homelab",
+ "source_location": "L90",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_validate_homelab",
+ "target": "scripts_validate_homelab_validate_unit_tests",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/validate-homelab",
+ "source_location": "L99",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers",
+ "target": "scripts_workers_start_workers",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/workers",
+ "source_location": "L117",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers",
+ "target": "scripts_workers_stop_workers",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/workers",
+ "source_location": "L128",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers",
+ "target": "scripts_workers_restart_workers",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/workers",
+ "source_location": "L142",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers",
+ "target": "scripts_workers_usage",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/workers",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers",
+ "target": "scripts_workers_drain_node",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/workers",
+ "source_location": "L165",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers",
+ "target": "scripts_workers_uncordon_node",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/workers",
+ "source_location": "L175",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers",
+ "target": "scripts_workers_recreate_plan",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/workers",
+ "source_location": "L185",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers",
+ "target": "scripts_workers_rebalance",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/workers",
+ "source_location": "L217",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers",
+ "target": "scripts_workers_tailnet_setup",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/workers",
+ "source_location": "L231",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers",
+ "target": "scripts_workers_have",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/workers",
+ "source_location": "L32",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers",
+ "target": "scripts_workers_is_skipped",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/workers",
+ "source_location": "L36",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers",
+ "target": "scripts_workers_validate_index",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/workers",
+ "source_location": "L49",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers",
+ "target": "scripts_workers_vmid_for_index",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/workers",
+ "source_location": "L58",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers",
+ "target": "scripts_workers_node_for_index",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/workers",
+ "source_location": "L63",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers",
+ "target": "scripts_workers_pimox_ssh",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/workers",
+ "source_location": "L68",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers",
+ "target": "scripts_workers_kubectl_cmd",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/workers",
+ "source_location": "L72",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers",
+ "target": "scripts_workers_target_indexes",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/workers",
+ "source_location": "L76",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_workers",
+ "target": "scripts_workers_list_workers",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/workers",
+ "source_location": "L92",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit",
+ "target": "tests_jeannie_unit_assert_contains",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L103",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit",
+ "target": "tests_jeannie_unit_assert_command_success",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L115",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit",
+ "target": "tests_jeannie_unit_assert_command_failure_contains",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L126",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit",
+ "target": "tests_jeannie_unit_cleanup",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit",
+ "target": "tests_jeannie_unit_test_pimox_worker_count_detects_generated_topology",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L144",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit",
+ "target": "tests_jeannie_unit_test_configured_worker_count_cannot_hide_existing_workers",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L149",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit",
+ "target": "tests_jeannie_unit_test_configured_worker_count_can_expand_target_set",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L155",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit",
+ "target": "tests_jeannie_unit_test_cluster_worker_targets_include_pimox_and_manual_workers",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L161",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit",
+ "target": "tests_jeannie_unit_test_prepare_cluster_worker_var_file_merges_manual_and_pimox_workers",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L169",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit",
+ "target": "tests_jeannie_unit_test_prepare_cluster_worker_var_file_excludes_manual_by_default",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L197",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit",
+ "target": "tests_jeannie_unit_test_prepare_cluster_worker_var_file_can_include_raspberry_worker",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L216",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit",
+ "target": "tests_jeannie_unit_test_prepare_cluster_worker_var_file_rebuilds_static_pimox_spec",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L237",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit",
+ "target": "tests_jeannie_unit_test_report_renderer_hides_ok_links",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L268",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit",
+ "target": "tests_jeannie_unit_test_report_renderer_problems_only_hides_ok_rows",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L281",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit",
+ "target": "tests_jeannie_unit_test_report_renderer_empty_problems_message",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L296",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit",
+ "target": "tests_jeannie_unit_test_inventory_validator_accepts_current_inventory",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L305",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit",
+ "target": "tests_jeannie_unit_test_inventory_validator_rejects_ip_drift",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L309",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit",
+ "target": "tests_jeannie_unit_test_heal_cooldown_escalates_to_diagnostics",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L323",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit",
+ "target": "tests_jeannie_unit_path",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit",
+ "target": "tests_jeannie_unit_test_pimox_worker_static_ip_selection",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L374",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit",
+ "target": "tests_jeannie_unit_test_pimox_guest_exec_exitcode_parser",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L384",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit",
+ "target": "tests_jeannie_unit_test_pimox_worker_net0_config_defaults_to_deterministic_mac",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L390",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit",
+ "target": "tests_jeannie_unit_jeannie_library_mode",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L78",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit",
+ "target": "tests_jeannie_unit_pass",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L82",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit",
+ "target": "tests_jeannie_unit_fail",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L86",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit",
+ "target": "tests_jeannie_unit_assert_eq",
+ "relation": "defines",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L91",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kube_system_resource_policy",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_control_plane",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L439",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_worker",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_control_plane",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L545",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_worker",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kube_system_resource_policy",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L546",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_worker",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_worker_nodes_required",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L547",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_node_labels",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_control_plane",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L1330",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_node_labels",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_worker",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L1331",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_argocd",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_openebs",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1087",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_calico",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_calico_helm_recovery",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L317",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_extra_tools",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_calico_ready",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L2100",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_kyverno",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_calico_ready",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1387",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_kyverno_policies",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_kyverno",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1476",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_loki",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_namespace_v1_monitoring",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1498",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_metallb",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_calico_ready",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L864",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_metrics_server",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_calico_ready",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L510",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_mimir",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_namespace_v1_monitoring",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1607",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_openebs",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_calico_ready",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1010",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_prometheus_stack",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_prometheus_stack_helm_recovery",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1781",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_promtail",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_loki",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1718",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_traefik",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_metallb_l2_config",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L935",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_config_map_grafana_dashboards",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_prometheus_stack_readiness",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L2094",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_config_map",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_calico_ready",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L642",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_daemonset",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_service_account",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L667",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_daemonset",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_upstream_service",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L668",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_daemonset",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_config_map",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L669",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_metrics_service",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_daemonset",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L829",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_service_account",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_calico_ready",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L578",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_upstream_service",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_calico_ready",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L602",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_namespace_v1_monitoring",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_storage_class_v1_openebs_hostpath_retain",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1079",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_storage_class_v1_openebs_hostpath_retain",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_openebs",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1061",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_argocd_private_repo",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_argocd_ready",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1296",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_argocd_ready",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_argocd",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1217",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_calico_helm_recovery",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_calico_crds",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L288",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_calico_ready",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_calico",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L447",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_metallb_l2_config",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_metallb",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L910",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_metrics_server_ready",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_metrics_server",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L543",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_prometheus_stack_helm_recovery",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_loki",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1752",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_prometheus_stack_helm_recovery",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_mimir",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1752",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_prometheus_stack_readiness",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_prometheus_stack",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L2034",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_create",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_provisioning_host",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L129",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_finalize",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_seal",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L469",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_seal",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_create",
+ "relation": "depends_on",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L290",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_blockchain_devnet_metrics_exporter_metricshandler",
+ "target": "basehttprequesthandler",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/blockchain-devnet/metrics/exporter.py",
+ "source_location": "L77",
+ "weight": 1.0
+ },
+ {
+ "source": "labs_mlops_platform_app_main_predictrequest",
+ "target": "basemodel",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "labs/mlops-platform/app/main.py",
+ "source_location": "L62",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_blockchain_devnet_metrics_exporter_metricshandler",
+ "target": "infra_blockchain_devnet_metrics_exporter_metricshandler_do_get",
+ "relation": "method",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/blockchain-devnet/metrics/exporter.py",
+ "source_location": "L78",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_blockchain_devnet_metrics_exporter_metricshandler",
+ "target": "infra_blockchain_devnet_metrics_exporter_metricshandler_log_message",
+ "relation": "method",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/blockchain-devnet/metrics/exporter.py",
+ "source_location": "L91",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_arr_stack_configure_arr_rationale_2",
+ "target": "infra_arr_stack_configure_arr",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/arr-stack/configure-arr.py",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_agent_sandbox_rationale_2",
+ "target": "scripts_agent_sandbox",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/agent-sandbox",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_evals_rationale_2",
+ "target": "scripts_ai_evals",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/ai-evals",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_memory_rationale_2",
+ "target": "scripts_ai_memory",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/ai-memory",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_ai_scheduler_rationale_2",
+ "target": "scripts_ai_scheduler",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/ai-scheduler",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_build_homelab_ai_index_rationale_2",
+ "target": "scripts_build_homelab_ai_index",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/build-homelab-ai-index",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_rationale_2",
+ "target": "scripts_heal",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/heal",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_incident_commander_rationale_2",
+ "target": "scripts_incident_commander",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/incident-commander",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_model_observe_rationale_2",
+ "target": "scripts_model_observe",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/model-observe",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_promote_rationale_2",
+ "target": "scripts_promote",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/promote",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_prompt_injection_lab_rationale_2",
+ "target": "scripts_prompt_injection_lab",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/prompt-injection-lab",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_query_homelab_ai_index_rationale_2",
+ "target": "scripts_query_homelab_ai_index",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/query-homelab-ai-index",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_red_blue_loop_rationale_2",
+ "target": "scripts_red_blue_loop",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/red-blue-loop",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_render_service_catalog_rationale_2",
+ "target": "scripts_render_service_catalog",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/render-service-catalog",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_safety_case_rationale_2",
+ "target": "scripts_safety_case",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/safety-case",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_validate_tailnet_policy_rationale_2",
+ "target": "scripts_validate_tailnet_policy",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "scripts/validate-tailnet-policy",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_apps_0952a721c72f57d2_kubernetes_manifest_argocd_application",
+ "target": "terraform_bootstrap_apps_0952a721c72f57d2_var_applications",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/apps/main.tf",
+ "source_location": "L33",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_apps_0952a721c72f57d2_kubernetes_manifest_argocd_application",
+ "target": "terraform_bootstrap_apps_0952a721c72f57d2_var_argocd_namespace",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/apps/main.tf",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_apps_0952a721c72f57d2_kubernetes_manifest_argocd_application",
+ "target": "terraform_bootstrap_apps_0952a721c72f57d2_local_application_sources",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/apps/main.tf",
+ "source_location": "L48",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_apps_0952a721c72f57d2_local_application_sources",
+ "target": "terraform_bootstrap_apps_0952a721c72f57d2_var_applications",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/apps/main.tf",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_apps_0952a721c72f57d2_local_application_sources",
+ "target": "terraform_bootstrap_apps_0952a721c72f57d2_var_gitops_repo_url",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/apps/main.tf",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_apps_0952a721c72f57d2_local_application_sources",
+ "target": "terraform_bootstrap_apps_0952a721c72f57d2_var_website_image_ref",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/apps/main.tf",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_apps_0952a721c72f57d2_provider_kubernetes",
+ "target": "terraform_bootstrap_apps_0952a721c72f57d2_var_kubeconfig_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/apps/main.tf",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_local_control_plane_node_label_pairs",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_control_plane_node_labels",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L1304",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_local_control_plane_node_label_pairs",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_control_plane_node_name",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L1305",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_local_node_label_pairs",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_local_control_plane_node_label_pairs",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L1321",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_local_node_label_pairs",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_local_worker_node_label_pairs",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L1321",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_local_worker_node_label_pairs",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_worker_nodes",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L1312",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_local_worker_node_label_pairs",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_worker_node_labels",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L1313",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kube_system_resource_policy",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_kubeconfig_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L442",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_control_plane",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_control_plane_node_name",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_control_plane",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_control_plane_advertise_address",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_control_plane",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_pod_network_cidr",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_control_plane",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_kubeconfig_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_control_plane",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_kubeconfig_owner",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_control_plane",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_registry_endpoint",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_control_plane",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_node_dns_servers",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_control_plane",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_persistent_volume_dirs",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_worker",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_worker_nodes",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L542",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_worker",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_kubeconfig_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L555",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_worker",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_registry_endpoint",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L556",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_worker",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_force_worker_rejoin",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L560",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_worker",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_node_dns_servers",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L562",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_worker",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_persistent_volume_dirs",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L563",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_worker",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_worker_tailscale_enabled",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L565",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_worker",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_worker_tailscale_accept_routes",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L566",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_worker",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_worker_tailscale_pod_egress_snat",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L567",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_worker",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_tailscale_nodeport_access",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L569",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_worker",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_tailscale_nodeport_extra_ports",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L573",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_worker",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_tailscale_nodeport_extra_target_ports",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L574",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_kubeadm_worker",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_tailscale_subnet_routes",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L576",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_node_labels",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_local_node_label_pairs",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L1326",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_node_labels",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_kubeconfig_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L1335",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_worker_nodes_required",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_worker_nodes",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L530",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_null_resource_worker_nodes_required",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_allow_empty_worker_nodes",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L535",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_output_kubeconfig_path",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_kubeconfig_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L1366",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_cluster_d8bb757b863f9d24_output_pod_network_cidr",
+ "target": "terraform_bootstrap_cluster_d8bb757b863f9d24_var_pod_network_cidr",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/cluster/main.tf",
+ "source_location": "L1370",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_config_hash",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_compose_file",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L52",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_config_hash",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L53",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_config_hash",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_vcl",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_config_hash",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_haproxy_cfg",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L55",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_config_hash",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_squid_conf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L56",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_config_hash",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf_matrix",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L57",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_server_name",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_server_names",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_main_server_names",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_backend_host",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_backend_port",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_demos_backend_port",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_gitea_backend_host",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L24",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_gitea_backend_port",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_heimdall_server_name",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_heimdall_backend_host",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_heimdall_backend_port",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf_matrix",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_matrix_enabled",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L42",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf_matrix",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_matrix_server_name",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L43",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf_matrix",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_matrix_backend_host",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf_matrix",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_matrix_backend_port",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf_matrix",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_matrix_cert_dir",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L46",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf_matrix",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_element_server_name",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L47",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf_matrix",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_element_backend_host",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L48",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf_matrix",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_element_backend_port",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L49",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_vcl",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_backend_host",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_vcl",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_backend_port",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L32",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_haproxy_cfg",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_haproxy_stats_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_haproxy_cfg",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_haproxy_stats_password",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L36",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_heimdall_backend_host",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_gitea_backend_host",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_heimdall_backend_host",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_heimdall_backend_host",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_heimdall_server_name",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_server_name",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_main_server_names",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_heimdall_server_name",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_main_server_names",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_server_names",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_server_names",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_heimdall_server_name",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_server_names",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_additional_server_names",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_server_names",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_server_name",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_squid_conf",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_backend_host",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L39",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_local_squid_conf",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_backend_port",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_null_resource_edge_services",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L103",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_null_resource_edge_services",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_vcl",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L108",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_null_resource_edge_services",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_haproxy_cfg",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L113",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_null_resource_edge_services",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_squid_conf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L118",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_null_resource_edge_services",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_default_conf_matrix",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L123",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_null_resource_edge_services",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_edge_host",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L63",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_null_resource_edge_services",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_edge_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L64",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_null_resource_edge_services",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_edge_install_dir",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L65",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_null_resource_edge_services",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_edge_install_docker",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L66",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_null_resource_edge_services",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_server_name",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L67",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_null_resource_edge_services",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_server_names",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L68",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_null_resource_edge_services",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_backend_host",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L70",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_null_resource_edge_services",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_backend_port",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L71",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_null_resource_edge_services",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_gitea_backend_host",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L72",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_null_resource_edge_services",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_gitea_backend_port",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L73",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_null_resource_edge_services",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_heimdall_backend_host",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L74",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_null_resource_edge_services",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_heimdall_backend_port",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L75",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_null_resource_edge_services",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_enable_letsencrypt",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L76",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_null_resource_edge_services",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_letsencrypt_email",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L77",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_null_resource_edge_services",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_letsencrypt_staging",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L78",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_null_resource_edge_services",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_config_hash",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L80",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_null_resource_edge_services",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_edge_ssh_key_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L86",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_null_resource_edge_services",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_local_compose_file",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L98",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_output_edge_host",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_edge_host",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L377",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_edge_0053c5ce495d569f_output_edge_install_dir",
+ "target": "terraform_bootstrap_edge_0053c5ce495d569f_var_edge_install_dir",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/edge/main.tf",
+ "source_location": "L381",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_argocd",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_argocd",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1089",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_argocd",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_argocd_node_selector",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1100",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_argocd",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_argocd_component_affinity",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1109",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_argocd",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_argocd_component_topology_spread_constraints",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1110",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_calico",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_calico",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L319",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_calico",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_calico_operator_node_name",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L333",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_calico",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_calico_node_address_autodetection_cidrs",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L408",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_calico",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_pod_network_cidr",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L413",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_calico_crds",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_calico",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L280",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_extra_tools",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_extra_helm_releases",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L2098",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_kyverno",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_kyverno",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1389",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_kyverno",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kyverno_node_selector",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1401",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_kyverno",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kyverno_component_pod_anti_affinity",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1406",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_kyverno",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kyverno_component_topology_spread_constraints",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1408",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_kyverno_policies",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_kyverno",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1478",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_loki",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_observability",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1500",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_loki",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_openebs",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1550",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_metallb",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_metallb",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L862",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_metrics_server",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_metrics_server",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L508",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_metrics_server",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_prometheus_stack_node_selector",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L525",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_mimir",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_observability",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1605",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_mimir",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_openebs",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1631",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_openebs",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_openebs",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1012",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_prometheus_stack",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_observability",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1783",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_prometheus_stack",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_prometheus_operator_affinity",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1809",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_prometheus_stack",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_prometheus_stack_node_selector",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1810",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_prometheus_stack",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_prometheus_operator_topology_spread_constraints",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1811",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_prometheus_stack",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_openebs",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1857",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_prometheus_stack",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kube_state_metrics_affinity",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L2003",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_prometheus_stack",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kube_state_metrics_topology_spread_constraints",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L2005",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_promtail",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_observability",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1720",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_traefik",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_traefik",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L933",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_traefik",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_traefik_node_selector",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L950",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_helm_release_traefik",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_metallb",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L983",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_config_map_grafana_dashboards",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_grafana_dashboard_files",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L2077",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_config_map_grafana_dashboards",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_observability",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L2081",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_config_map",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_nodelocal_dns",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L640",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_config_map",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_nodelocal_dns_corefile",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L658",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_daemonset",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_nodelocal_dns",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L664",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_metrics_service",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_nodelocal_dns",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L827",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_service_account",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_nodelocal_dns",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L576",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_manifest_nodelocal_dns_upstream_service",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_nodelocal_dns",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L600",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_namespace_v1_monitoring",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_observability",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1082",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_kubernetes_storage_class_v1_openebs_hostpath_retain",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_openebs",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1064",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_argocd_component_affinity",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_argocd_component_match_labels",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L141",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_argocd_component_affinity",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_platform_topology_key",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L150",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_argocd_component_match_labels",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_argocd_component_label_values",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L135",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_argocd_component_topology_spread_constraints",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_argocd_component_match_labels",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L159",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_argocd_component_topology_spread_constraints",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_platform_topology_key",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L162",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kube_state_metrics_affinity",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kube_state_metrics_match_labels",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L246",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kube_state_metrics_affinity",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_platform_topology_key",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L248",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kube_state_metrics_topology_spread_constraints",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_platform_topology_key",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L269",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kube_state_metrics_topology_spread_constraints",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kube_state_metrics_match_labels",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L272",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kyverno_component_match_labels",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kyverno_component_label_values",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L179",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kyverno_component_pod_anti_affinity",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kyverno_component_match_labels",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L185",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kyverno_component_pod_anti_affinity",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_platform_topology_key",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L193",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kyverno_component_topology_spread_constraints",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kyverno_component_match_labels",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L201",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_kyverno_component_topology_spread_constraints",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_platform_topology_key",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L204",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_metallb_ip_address_pool_manifest",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_metallb",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L83",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_metallb_l2_advertisement_manifest",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_metallb",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L95",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_metallb_l2_manifests",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_metallb_ip_address_pool_manifest",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L104",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_metallb_l2_manifests",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_metallb_l2_advertisement_manifest",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L105",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_metallb_l2_manifests",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_metallb",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L105",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_nodelocal_dns_corefile",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_nodelocal_dns",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_prometheus_operator_affinity",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_prometheus_operator_match_labels",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L230",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_prometheus_operator_affinity",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_platform_topology_key",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L232",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_prometheus_operator_topology_spread_constraints",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_platform_topology_key",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L258",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_prometheus_operator_topology_spread_constraints",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_prometheus_operator_match_labels",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L261",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_prometheus_stack_node_selector",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_prometheus_stack_node_selector",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L109",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_argocd_private_repo",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_kubeconfig_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1299",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_argocd_private_repo",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_argocd",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1300",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_argocd_private_repo",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_gitops_repo_url",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1302",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_argocd_private_repo",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_gitops_ssh_key_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1303",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_argocd_ready",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_kubeconfig_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1220",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_argocd_ready",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_argocd",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1221",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_argocd_ready",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_argocd_node_selector",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1223",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_calico_helm_recovery",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_kubeconfig_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L291",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_calico_helm_recovery",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_calico",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L292",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_calico_ready",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_kubeconfig_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L450",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_calico_ready",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_calico",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L451",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_calico_ready",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_pod_network_cidr",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L452",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_calico_ready",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_calico_node_address_autodetection_cidrs",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L453",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_metallb_l2_config",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_metallb",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L908",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_metallb_l2_config",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_kubeconfig_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L913",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_metallb_l2_config",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_local_metallb_l2_manifests",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L914",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_metrics_server_ready",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_metrics_server",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L541",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_metrics_server_ready",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_kubeconfig_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L546",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_prometheus_stack_helm_recovery",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_kubeconfig_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1755",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_prometheus_stack_helm_recovery",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_observability",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L1756",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_prometheus_stack_readiness",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_kubeconfig_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L2037",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_null_resource_prometheus_stack_readiness",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_observability",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L2038",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_provider_helm",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_kubeconfig_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_platform_6ccb56e24d8dc66f_provider_kubernetes",
+ "target": "terraform_bootstrap_platform_6ccb56e24d8dc66f_var_kubeconfig_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/platform/main.tf",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_config_hash",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_dnsmasq_conf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L115",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_config_hash",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_nginx_conf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L116",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_config_hash",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_grub_cfg",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L117",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_config_hash",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_rescue_index",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L118",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_config_hash",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_preseed_cfg",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L119",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_config_hash",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_golden_node_prepare",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L120",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_config_hash",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_prepare_template",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L121",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_config_hash",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_debian_netboot_base_url",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L122",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_debian_netboot_base_url",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_debian_mirror_directory",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_debian_netboot_base_url",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_debian_mirror_host",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_debian_netboot_base_url",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_debian_netboot_base_url",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_debian_netboot_base_url",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_debian_suite",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_dnsmasq_conf",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_provisioning_interface",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L56",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_dnsmasq_conf",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_proxy_dhcp_range",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L57",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_dnsmasq_conf",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pxe_boot_file",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L58",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_dnsmasq_conf",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_tftp_root",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L59",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_golden_node_prepare",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_ssh_authorized_keys_base64",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L100",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_golden_node_prepare",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_kubernetes_minor_version",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L101",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_golden_node_prepare",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_kernel_cgroup_boot_options",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L102",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_golden_node_prepare",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_registry_endpoint",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L103",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_golden_node_prepare",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_node_dns_servers",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L104",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_golden_node_prepare",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_template_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L99",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_grub_cfg",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_preseed_url",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L68",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_grub_cfg",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_template_hostname",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L69",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_grub_cfg",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_template_domain",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L70",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_grub_cfg",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pxe_default_menu_entry",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L71",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_grub_cfg",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pxe_menu_timeout",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L72",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_http_root",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_provisioning_install_dir",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_kernel_cgroup_boot_options",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_kernel_cgroup_boot_options",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L48",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_nginx_conf",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_http_port",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L63",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_nginx_conf",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_http_root",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L64",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_node_dns_servers",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_node_dns_servers",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L47",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_pimox_template_net0",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_bridge",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L49",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_pimox_template_net0",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_mac",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L49",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_prepare_template",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_template_hostname",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L108",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_prepare_template",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_clone_hostname_prefix",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L109",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_prepare_template",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_template_domain",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L110",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_prepare_template",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_kernel_cgroup_boot_options",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L111",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_prepare_template_script_url",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_provisioning_http_base_url",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L53",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_preseed_cfg",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_locale",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L82",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_preseed_cfg",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_keyboard",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L83",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_preseed_cfg",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_timezone",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L84",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_preseed_cfg",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_template_hostname",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L85",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_preseed_cfg",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_template_domain",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L86",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_preseed_cfg",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_template_disk",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L87",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_preseed_cfg",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_template_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L88",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_preseed_cfg",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_template_user_full_name",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L89",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_preseed_cfg",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_template_user_password_hash",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L90",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_preseed_cfg",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_debian_mirror_host",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L91",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_preseed_cfg",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_debian_mirror_directory",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L92",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_preseed_cfg",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_template_package_list",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L93",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_preseed_cfg",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_provisioning_script_url",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L94",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_preseed_cfg",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_prepare_template_script_url",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L95",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_preseed_url",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_http_host",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_preseed_url",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_http_port",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_provisioning_http_base_url",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_http_host",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L51",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_provisioning_http_base_url",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_http_port",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L51",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_provisioning_script_url",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_provisioning_http_base_url",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L52",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_rescue_index",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_provisioning_http_base_url",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L76",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_rescue_index",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_preseed_url",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L77",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_rescue_index",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_tftp_root",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L78",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_ssh_authorized_keys_base64",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_template_user_ssh_keys",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L46",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_template_package_list",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_template_packages",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L50",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_template_packages",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_additional_template_packages",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L43",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_template_user_ssh_keys",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_template_user_ssh_authorized_keys",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_template_user_ssh_keys",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_template_user_ssh_public_key_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_local_tftp_root",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_provisioning_install_dir",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_create",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_builder_enabled",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L127",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_create",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_host",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L132",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_create",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L133",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_create",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_ssh_key_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L134",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_create",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_qm_bin",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L135",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_create",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_config_hash",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L137",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_create",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_vmid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L138",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_create",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_name",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L139",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_create",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_cores",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L140",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_create",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_memory",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L141",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_create",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_bridge",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L142",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_create",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_pimox_template_net0",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L143",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_create",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_kvm_cpuset",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L144",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_create",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_scsi0",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L145",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_create",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_efidisk0",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L146",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_create",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_replace_existing",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L162",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_finalize",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_builder_enabled",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L467",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_finalize",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_host",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L472",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_finalize",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L473",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_finalize",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_ssh_key_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L474",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_finalize",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_qm_bin",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L475",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_finalize",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_config_hash",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L477",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_finalize",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_vmid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L479",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_seal",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_builder_enabled",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L288",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_seal",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_host",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L293",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_seal",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L294",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_seal",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_ssh_key_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L295",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_seal",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_qm_bin",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L296",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_seal",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_build_host",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L297",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_seal",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_build_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L298",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_seal",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_build_ssh_key_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L299",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_seal",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_repo_root",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L300",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_seal",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_config_hash",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L303",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_seal",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_build_timeout",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L304",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_seal",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_build_timeout_seconds",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L305",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_seal",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_guest_ssh_timeout_seconds",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L306",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_seal",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_guest_ip_prefix",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L307",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_pimox_template_vm_seal",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_vmid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L308",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_provisioning_host",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_provisioning_host",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L540",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_provisioning_host",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_provisioning_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L541",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_provisioning_host",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_provisioning_ssh_key_path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L542",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_provisioning_host",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_provisioning_install_dir",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L543",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_provisioning_host",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_tftp_root",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L544",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_provisioning_host",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_http_root",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L545",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_provisioning_host",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_debian_netboot_base_url",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L546",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_provisioning_host",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pxe_boot_file",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L547",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_provisioning_host",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_http_port",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L548",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_provisioning_host",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_config_hash",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L549",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_provisioning_host",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_dnsmasq_conf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L569",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_provisioning_host",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_nginx_conf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L574",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_provisioning_host",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_grub_cfg",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L579",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_provisioning_host",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_rescue_index",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L584",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_provisioning_host",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_preseed_cfg",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L589",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_provisioning_host",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_golden_node_prepare",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L594",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_null_resource_provisioning_host",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_prepare_template",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/main.tf",
+ "source_location": "L599",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_output_pimox_template_vmid",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_builder_enabled",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/outputs.tf",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_output_pimox_template_vmid",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pimox_template_vmid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/outputs.tf",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_output_preseed_url",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_preseed_url",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/outputs.tf",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_output_provisioning_http_base_url",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_provisioning_http_base_url",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/outputs.tf",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_output_pxe_boot_file",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_var_pxe_boot_file",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/outputs.tf",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_output_pxe_rescue_url",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_provisioning_http_base_url",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/outputs.tf",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "terraform_bootstrap_provisioning_51780c293784144a_output_tftp_root",
+ "target": "terraform_bootstrap_provisioning_51780c293784144a_local_tftp_root",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "bootstrap/provisioning/outputs.tf",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "jeannie",
+ "target": "scripts_report_ui",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.55,
+ "context": "import",
+ "source_file": "jeannie",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "tests_jeannie_unit",
+ "target": "jeannie",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.55,
+ "context": "import",
+ "source_file": "tests/jeannie-unit",
+ "source_location": "L80",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_sentiment_sandbox_sentiment_sandbox",
+ "target": "apps_demos_static_public_sentiment_sandbox_sentiment_sandbox_analyze",
+ "relation": "indirect_call",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.85,
+ "context": "argument",
+ "source_file": "apps/demos-static/public/sentiment-sandbox/sentiment-sandbox.js",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_demos_static_public_traveler_tools_traveler_tools",
+ "target": "apps_demos_static_public_traveler_tools_traveler_tools_updatetraveler",
+ "relation": "indirect_call",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.85,
+ "context": "argument",
+ "source_file": "apps/demos-static/public/traveler-tools/traveler-tools.js",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "apps_website_translation_inittranslation",
+ "target": "apps_website_translation_dotranslation",
+ "relation": "indirect_call",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.85,
+ "context": "argument",
+ "source_file": "apps/website/translation.js",
+ "source_location": "L151",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_highest_impact",
+ "target": "scripts_heal_impact_sort_key",
+ "relation": "indirect_call",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.85,
+ "context": "argument",
+ "source_file": "scripts/heal",
+ "source_location": "L165",
+ "weight": 1.0
+ },
+ {
+ "source": "scripts_heal_print_plan",
+ "target": "scripts_heal_impact_sort_key",
+ "relation": "indirect_call",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.85,
+ "context": "argument",
+ "source_file": "scripts/heal",
+ "source_location": "L171",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_test_testexecutedagrespectsdependencies",
+ "target": "cmd_jeannie_core_main_executedag",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.85,
+ "context": "call",
+ "source_file": "cmd/jeannie-core/main_test.go",
+ "source_location": "L69",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_test_testexecutedagreturnsfailedtask",
+ "target": "cmd_jeannie_core_main_executedag",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.85,
+ "context": "call",
+ "source_file": "cmd/jeannie-core/main_test.go",
+ "source_location": "L86",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_test_testreportrenderhidesokgraphandquery",
+ "target": "cmd_jeannie_core_main_runreportrender",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.85,
+ "context": "call",
+ "source_file": "cmd/jeannie-core/main_test.go",
+ "source_location": "L39",
+ "weight": 1.0
+ },
+ {
+ "source": "cmd_jeannie_core_main_test_testreportrenderproblemsonly",
+ "target": "cmd_jeannie_core_main_runreportrender",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.85,
+ "context": "call",
+ "source_file": "cmd/jeannie-core/main_test.go",
+ "source_location": "L20",
+ "weight": 1.0
+ }
+ ],
+ "hyperedges": [],
+ "built_at_commit": "e8d39e558afde624f46619a8aea9a34028742fd0"
+}
\ No newline at end of file
diff --git a/graphify-out/manifest.json b/graphify-out/manifest.json
new file mode 100644
index 0000000..f10c9a8
--- /dev/null
+++ b/graphify-out/manifest.json
@@ -0,0 +1,770 @@
+{
+ "apps/demos-static/public/architecture-simulator/architecture-simulator.js": {
+ "mtime": 1782523591.8368745,
+ "seen": 1789785988.2243128,
+ "ast_hash": "0fb5908b6d7dccecbb906265d25cf55c",
+ "semantic_hash": "0fb5908b6d7dccecbb906265d25cf55c"
+ },
+ "apps/demos-static/public/dev-toolbelt/dev-toolbelt.js": {
+ "mtime": 1782523591.8368745,
+ "seen": 1789785988.224318,
+ "ast_hash": "6da6da04eebbd43fc189e232a74a8850",
+ "semantic_hash": "6da6da04eebbd43fc189e232a74a8850"
+ },
+ "apps/demos-static/public/media-cruncher/media-cruncher.js": {
+ "mtime": 1782523591.8368745,
+ "seen": 1789785988.2243216,
+ "ast_hash": "1888dc806e065f2f7ecbc062e422cd85",
+ "semantic_hash": "1888dc806e065f2f7ecbc062e422cd85"
+ },
+ "apps/demos-static/public/model-drift/model-drift.js": {
+ "mtime": 1782523591.8368745,
+ "seen": 1789785988.2243237,
+ "ast_hash": "43f7c68638f6b444696eedd23d294a36",
+ "semantic_hash": "43f7c68638f6b444696eedd23d294a36"
+ },
+ "apps/demos-static/public/network-quality/network-quality.js": {
+ "mtime": 1782523591.8368745,
+ "seen": 1789785988.2243261,
+ "ast_hash": "25195a579b81cc8861d5404c8a1aa5d1",
+ "semantic_hash": "25195a579b81cc8861d5404c8a1aa5d1"
+ },
+ "apps/demos-static/public/privacy-redactor/privacy-redactor.js": {
+ "mtime": 1782523591.8368745,
+ "seen": 1789785988.2243283,
+ "ast_hash": "8559a836e7dacf31f51463a2f2fffa7f",
+ "semantic_hash": "8559a836e7dacf31f51463a2f2fffa7f"
+ },
+ "apps/demos-static/public/sentiment-sandbox/sentiment-sandbox.js": {
+ "mtime": 1782523591.8368745,
+ "seen": 1789785988.2243304,
+ "ast_hash": "6f7ddb1d9e4748c618c8729ebd3d2b65",
+ "semantic_hash": "6f7ddb1d9e4748c618c8729ebd3d2b65"
+ },
+ "apps/demos-static/public/theme.js": {
+ "mtime": 1782523591.8368745,
+ "seen": 1789785988.2243323,
+ "ast_hash": "9d1c624b51910163bad2f5e7e6d8a436",
+ "semantic_hash": "9d1c624b51910163bad2f5e7e6d8a436"
+ },
+ "apps/demos-static/public/traveler-tools/sw.js": {
+ "mtime": 1782523591.8368745,
+ "seen": 1789785988.2243342,
+ "ast_hash": "5e62f01f62990f217da49963390c1e80",
+ "semantic_hash": "5e62f01f62990f217da49963390c1e80"
+ },
+ "apps/demos-static/public/traveler-tools/traveler-tools.js": {
+ "mtime": 1782523591.8368745,
+ "seen": 1789785988.2243366,
+ "ast_hash": "a1038fbf04d7e69cf664720853db7873",
+ "semantic_hash": "a1038fbf04d7e69cf664720853db7873"
+ },
+ "apps/website/blog.php": {
+ "mtime": 1782596639.836078,
+ "seen": 1789785988.224339,
+ "ast_hash": "169c2a3f58cb0cb238612e5ec886c8c0",
+ "semantic_hash": "169c2a3f58cb0cb238612e5ec886c8c0"
+ },
+ "apps/website/cv-theme.js": {
+ "mtime": 1782523591.8368745,
+ "seen": 1789785988.2243414,
+ "ast_hash": "bec321097ee6cd007496f69b53b1519d",
+ "semantic_hash": "bec321097ee6cd007496f69b53b1519d"
+ },
+ "apps/website/cv.php": {
+ "mtime": 1782523591.8368745,
+ "seen": 1789785988.2243438,
+ "ast_hash": "c835f32408290fabf388ec11a57ec292",
+ "semantic_hash": "c835f32408290fabf388ec11a57ec292"
+ },
+ "apps/website/demos.php": {
+ "mtime": 1782523591.8368745,
+ "seen": 1789785988.2243462,
+ "ast_hash": "e6e2aa8e648591580949d931b1510590",
+ "semantic_hash": "e6e2aa8e648591580949d931b1510590"
+ },
+ "apps/website/homelab-tree.php": {
+ "mtime": 1782596639.836078,
+ "seen": 1789785988.224347,
+ "ast_hash": "3569ca0d1a994b1a9dd236c708fbf3ee",
+ "semantic_hash": "3569ca0d1a994b1a9dd236c708fbf3ee"
+ },
+ "apps/website/ideas_helper.php": {
+ "mtime": 1782523591.8368745,
+ "seen": 1789785988.224349,
+ "ast_hash": "826076530bb78ebae8e58ce58fa6e148",
+ "semantic_hash": "826076530bb78ebae8e58ce58fa6e148"
+ },
+ "apps/website/index.php": {
+ "mtime": 1782523591.8408744,
+ "seen": 1789785988.2243514,
+ "ast_hash": "50224b9863b410399412a840b171f835",
+ "semantic_hash": "50224b9863b410399412a840b171f835"
+ },
+ "apps/website/lang/en.php": {
+ "mtime": 1789675932.9638884,
+ "seen": 1789785988.2243526,
+ "ast_hash": "85e23dd7d173587d7430746b9bfa5cb8",
+ "semantic_hash": "85e23dd7d173587d7430746b9bfa5cb8"
+ },
+ "apps/website/lang/nah.php": {
+ "mtime": 1789675936.959817,
+ "seen": 1789785988.2243547,
+ "ast_hash": "4e2647e0f1106ae00a708b1906c15d92",
+ "semantic_hash": "4e2647e0f1106ae00a708b1906c15d92"
+ },
+ "apps/website/lang_helper.php": {
+ "mtime": 1782523591.8408744,
+ "seen": 1789785988.2243574,
+ "ast_hash": "b928efed8eccdbec33205c2a1e771790",
+ "semantic_hash": "b928efed8eccdbec33205c2a1e771790"
+ },
+ "apps/website/partials/footer.php": {
+ "mtime": 1782523591.8408744,
+ "seen": 1789785988.2243593,
+ "ast_hash": "e45d49f6722602012ea58120a498f953",
+ "semantic_hash": "e45d49f6722602012ea58120a498f953"
+ },
+ "apps/website/partials/header.php": {
+ "mtime": 1782523591.8408744,
+ "seen": 1789785988.224361,
+ "ast_hash": "5df798f68994c0f0a7126a878e1a2889",
+ "semantic_hash": "5df798f68994c0f0a7126a878e1a2889"
+ },
+ "apps/website/partials/theme_toolbar.php": {
+ "mtime": 1782523591.8408744,
+ "seen": 1789785988.2243638,
+ "ast_hash": "d1cb9e36a00b6fee3a07f5f04956f2e2",
+ "semantic_hash": "d1cb9e36a00b6fee3a07f5f04956f2e2"
+ },
+ "apps/website/partials/translation_ui.php": {
+ "mtime": 1782523591.8408744,
+ "seen": 1789785988.2243657,
+ "ast_hash": "7c5821427719e19975340e9298556ccd",
+ "semantic_hash": "7c5821427719e19975340e9298556ccd"
+ },
+ "apps/website/render-static-pages.sh": {
+ "mtime": 1782523591.8408744,
+ "seen": 1789785988.2243676,
+ "ast_hash": "d0776ddc84aea2f7f1bf1df32c36f569",
+ "semantic_hash": "d0776ddc84aea2f7f1bf1df32c36f569"
+ },
+ "apps/website/save_idea.php": {
+ "mtime": 1782523591.8408744,
+ "seen": 1789785988.2243695,
+ "ast_hash": "1da8bbdeeedd3020591ba88672b822c8",
+ "semantic_hash": "1da8bbdeeedd3020591ba88672b822c8"
+ },
+ "apps/website/save_lang.php": {
+ "mtime": 1782523591.8408744,
+ "seen": 1789785988.224372,
+ "ast_hash": "8263492972c95c44466aa60cc64e0280",
+ "semantic_hash": "8263492972c95c44466aa60cc64e0280"
+ },
+ "apps/website/start-website.sh": {
+ "mtime": 1782523591.8408744,
+ "seen": 1789785988.2243743,
+ "ast_hash": "304a781a45cd149446f1a71a4d739320",
+ "semantic_hash": "304a781a45cd149446f1a71a4d739320"
+ },
+ "apps/website/translate.php": {
+ "mtime": 1782536470.259275,
+ "seen": 1789785988.2243767,
+ "ast_hash": "a2efd3d71963a757f04f7f45135fc8ba",
+ "semantic_hash": "a2efd3d71963a757f04f7f45135fc8ba"
+ },
+ "apps/website/translation.js": {
+ "mtime": 1782523591.8408744,
+ "seen": 1789785988.2243783,
+ "ast_hash": "9ee8e70f27caae3c1a8074b23249090b",
+ "semantic_hash": "9ee8e70f27caae3c1a8074b23249090b"
+ },
+ "apps/website/visitor-ideas.js": {
+ "mtime": 1782523591.8408744,
+ "seen": 1789785988.2243807,
+ "ast_hash": "bf9ce76f3dfcc7ba9ae2cd1eef5ed041",
+ "semantic_hash": "bf9ce76f3dfcc7ba9ae2cd1eef5ed041"
+ },
+ "apps/website/visitor_ideas.php": {
+ "mtime": 1782523591.8408744,
+ "seen": 1789785988.224383,
+ "ast_hash": "faa577d98fa1e3016b1ac76bda572f5d",
+ "semantic_hash": "faa577d98fa1e3016b1ac76bda572f5d"
+ },
+ "bootstrap/platform/grafana-dashboards/homelab-availability.json": {
+ "mtime": 1782779723.5939565,
+ "seen": 1789785988.224385,
+ "ast_hash": "c35d9869d91ba8260c281ed3bd7ab3bd",
+ "semantic_hash": "c35d9869d91ba8260c281ed3bd7ab3bd"
+ },
+ "bootstrap/platform/grafana-dashboards/homelab-blockchain-devnet.json": {
+ "mtime": 1782786047.4260132,
+ "seen": 1789785988.2243876,
+ "ast_hash": "668564b932899f1d2559ea8e2d6c1109",
+ "semantic_hash": "668564b932899f1d2559ea8e2d6c1109"
+ },
+ "bootstrap/platform/grafana-dashboards/homelab-capacity.json": {
+ "mtime": 1782779723.5939565,
+ "seen": 1789785988.2243893,
+ "ast_hash": "81cc52b2264dd248bd9c57136350aa88",
+ "semantic_hash": "81cc52b2264dd248bd9c57136350aa88"
+ },
+ "cmd/jeannie-core/main.go": {
+ "mtime": 1782937169.6562603,
+ "seen": 1789785988.2243915,
+ "ast_hash": "21355758e11eecee11381dd44f48a359",
+ "semantic_hash": "21355758e11eecee11381dd44f48a359"
+ },
+ "cmd/jeannie-core/main_test.go": {
+ "mtime": 1782937169.6562603,
+ "seen": 1789785988.2243938,
+ "ast_hash": "475fd0d351c23285cbb6700743f42abe",
+ "semantic_hash": "475fd0d351c23285cbb6700743f42abe"
+ },
+ "go.mod": {
+ "mtime": 1782917749.928427,
+ "seen": 1789785988.2243955,
+ "ast_hash": "bbfb9253c6c29ccd811b662e3fa24e7f",
+ "semantic_hash": "bbfb9253c6c29ccd811b662e3fa24e7f"
+ },
+ "infra/arr-stack/bootstrap.sh": {
+ "mtime": 1782574517.3570714,
+ "seen": 1789785988.224398,
+ "ast_hash": "874be3c513d06587e8b890a2d04ae7ed",
+ "semantic_hash": "874be3c513d06587e8b890a2d04ae7ed"
+ },
+ "infra/arr-stack/configure-arr.py": {
+ "mtime": 1782574517.3570714,
+ "seen": 1789785988.2243998,
+ "ast_hash": "e24841fcdd132f71fd94e3fc9d4c6653",
+ "semantic_hash": "e24841fcdd132f71fd94e3fc9d4c6653"
+ },
+ "infra/arr-stack/examples/import-lists.example.json": {
+ "mtime": 1782574517.3570714,
+ "seen": 1789785988.2244022,
+ "ast_hash": "f3abf72328fba7d861fe49bd32e17673",
+ "semantic_hash": "f3abf72328fba7d861fe49bd32e17673"
+ },
+ "infra/blockchain-devnet/metrics/exporter.py": {
+ "mtime": 1782786047.4260132,
+ "seen": 1789785988.2244039,
+ "ast_hash": "f3826539753c8ffcec2c0b8ea8e163df",
+ "semantic_hash": "f3826539753c8ffcec2c0b8ea8e163df"
+ },
+ "infra/heimdall/links.json": {
+ "mtime": 1783033037.0673125,
+ "seen": 1789785988.2244062,
+ "ast_hash": "b45b9744a5eb166a63e972a0f924b4f7",
+ "semantic_hash": "b45b9744a5eb166a63e972a0f924b4f7"
+ },
+ "infra/heimdall/seed-heimdall.py": {
+ "mtime": 1783028953.585137,
+ "seen": 1789785988.22441,
+ "ast_hash": "3432e767a4ccceb2b347708f4c62e31e",
+ "semantic_hash": "3432e767a4ccceb2b347708f4c62e31e"
+ },
+ "infra/matrix-server/bootstrap.sh": {
+ "mtime": 1789573245.3360403,
+ "seen": 1789785988.224412,
+ "ast_hash": "186a034b7147f50f57bb1c4b85795ea7",
+ "semantic_hash": "186a034b7147f50f57bb1c4b85795ea7"
+ },
+ "infra/matrix-server/element-config/config.json": {
+ "mtime": 1789572570.2157538,
+ "seen": 1789785988.2244139,
+ "ast_hash": "913cea68e807e2940bf8769745c3e3a7",
+ "semantic_hash": "913cea68e807e2940bf8769745c3e3a7"
+ },
+ "infra/omniroute/bootstrap.sh": {
+ "mtime": 1789572684.2497756,
+ "seen": 1789785988.2244163,
+ "ast_hash": "57a82e9aca6e480001d881ba294f4284",
+ "semantic_hash": "57a82e9aca6e480001d881ba294f4284"
+ },
+ "infra/rpi-services/bootstrap.sh": {
+ "mtime": 1783004588.7021444,
+ "seen": 1789785988.2244184,
+ "ast_hash": "57a7585d26aa15be3f6affd2b2ee02a5",
+ "semantic_hash": "57a7585d26aa15be3f6affd2b2ee02a5"
+ },
+ "infra/rpi-services/seed-uptime-kuma.js": {
+ "mtime": 1782763625.5671422,
+ "seen": 1789785988.22442,
+ "ast_hash": "7b16256f68ec2b04ebef991bb0515382",
+ "semantic_hash": "7b16256f68ec2b04ebef991bb0515382"
+ },
+ "infra/rpi-services/uptime-kuma-monitors.json": {
+ "mtime": 1782604673.8636646,
+ "seen": 1789785988.2244227,
+ "ast_hash": "c007edfb5ca8b7ef982b9b7db1c81936",
+ "semantic_hash": "c007edfb5ca8b7ef982b9b7db1c81936"
+ },
+ "infra/youtube-backup/backup-youtube.sh": {
+ "mtime": 1782596639.836078,
+ "seen": 1789785988.2244244,
+ "ast_hash": "f44a111be74cb0fee4b5e7112d42cd2b",
+ "semantic_hash": "f44a111be74cb0fee4b5e7112d42cd2b"
+ },
+ "jeannie": {
+ "mtime": 1789575771.9311633,
+ "seen": 1789785988.2244265,
+ "ast_hash": "070760f11fa0db56dcf350b6a62834db",
+ "semantic_hash": "070760f11fa0db56dcf350b6a62834db"
+ },
+ "labs/mlops-platform/app/main.py": {
+ "mtime": 1782789038.4874463,
+ "seen": 1789785988.224429,
+ "ast_hash": "2851e6237f48b5d65b55c8ee21871a6f",
+ "semantic_hash": "2851e6237f48b5d65b55c8ee21871a6f"
+ },
+ "labs/mlops-platform/models/model_v1.json": {
+ "mtime": 1782789038.4874463,
+ "seen": 1789785988.2244308,
+ "ast_hash": "d3c743359a1ce8f2a5fa9b8df455230e",
+ "semantic_hash": "d3c743359a1ce8f2a5fa9b8df455230e"
+ },
+ "labs/mlops-platform/models/model_v2.json": {
+ "mtime": 1782789038.4874463,
+ "seen": 1789785988.2244332,
+ "ast_hash": "c2726e95455e6f761f2f4f05511f0156",
+ "semantic_hash": "c2726e95455e6f761f2f4f05511f0156"
+ },
+ "labs/mlops-platform/training/export_model.py": {
+ "mtime": 1782789038.4874463,
+ "seen": 1789785988.2244349,
+ "ast_hash": "094452e7d9d75ad2f565bf45a5ba89dd",
+ "semantic_hash": "094452e7d9d75ad2f565bf45a5ba89dd"
+ },
+ "renovate.json": {
+ "mtime": 1782596639.8400779,
+ "seen": 1789785988.2244372,
+ "ast_hash": "133630dc7f3c13720f2d30bc20873707",
+ "semantic_hash": "133630dc7f3c13720f2d30bc20873707"
+ },
+ "scripts/access-audit": {
+ "mtime": 1782774077.225574,
+ "seen": 1789785988.2244394,
+ "ast_hash": "407f9e1a6f8d33c7ddaec4b7f2085787",
+ "semantic_hash": "407f9e1a6f8d33c7ddaec4b7f2085787"
+ },
+ "scripts/agent-sandbox": {
+ "mtime": 1782847797.7849345,
+ "seen": 1789785988.2244415,
+ "ast_hash": "b4ed00b097fd1534f3377bddb0d8b55f",
+ "semantic_hash": "b4ed00b097fd1534f3377bddb0d8b55f"
+ },
+ "scripts/ai-evals": {
+ "mtime": 1782842479.3907447,
+ "seen": 1789785988.2244434,
+ "ast_hash": "33b2f194c4c14291dd8bdd6127c073a3",
+ "semantic_hash": "33b2f194c4c14291dd8bdd6127c073a3"
+ },
+ "scripts/ai-memory": {
+ "mtime": 1782847797.7849345,
+ "seen": 1789785988.2244453,
+ "ast_hash": "0ffb25a6ddaf49ea9c0c04cc94aa53b8",
+ "semantic_hash": "0ffb25a6ddaf49ea9c0c04cc94aa53b8"
+ },
+ "scripts/ai-scheduler": {
+ "mtime": 1782847797.7849345,
+ "seen": 1789785988.2244477,
+ "ast_hash": "58fa28214bfca96f249a386660fe8e68",
+ "semantic_hash": "58fa28214bfca96f249a386660fe8e68"
+ },
+ "scripts/artifact-cache": {
+ "mtime": 1782778401.7047641,
+ "seen": 1789785988.2244503,
+ "ast_hash": "fe22a73f7baebc0d9a21b484679fb882",
+ "semantic_hash": "fe22a73f7baebc0d9a21b484679fb882"
+ },
+ "scripts/ask": {
+ "mtime": 1782847797.7849345,
+ "seen": 1789785988.224452,
+ "ast_hash": "d2d7e4e53702808ac9e1b3efb4779737",
+ "semantic_hash": "d2d7e4e53702808ac9e1b3efb4779737"
+ },
+ "scripts/backup-status": {
+ "mtime": 1782778401.7047641,
+ "seen": 1789785988.2244542,
+ "ast_hash": "2ad142051a531c3b5a14aaf77be7f43e",
+ "semantic_hash": "2ad142051a531c3b5a14aaf77be7f43e"
+ },
+ "scripts/blockchain-devnet": {
+ "mtime": 1782786047.4260132,
+ "seen": 1789785988.2244558,
+ "ast_hash": "7f895d3285624e065678bae427c26bd9",
+ "semantic_hash": "7f895d3285624e065678bae427c26bd9"
+ },
+ "scripts/blockchain-test": {
+ "mtime": 1782786047.4260132,
+ "seen": 1789785988.2244585,
+ "ast_hash": "61dd27e73679314b78560bc997bbd9a3",
+ "semantic_hash": "61dd27e73679314b78560bc997bbd9a3"
+ },
+ "scripts/blockchain-wallet": {
+ "mtime": 1782786047.4260132,
+ "seen": 1789785988.2244608,
+ "ast_hash": "2cf94ae73124667769381d27babb8ffa",
+ "semantic_hash": "2cf94ae73124667769381d27babb8ffa"
+ },
+ "scripts/build-homelab-ai-index": {
+ "mtime": 1782847797.7849345,
+ "seen": 1789785988.224463,
+ "ast_hash": "2d6262201a6851f6aa3563269807d59b",
+ "semantic_hash": "2d6262201a6851f6aa3563269807d59b"
+ },
+ "scripts/capacity-advisor": {
+ "mtime": 1783028953.585137,
+ "seen": 1789785988.2244651,
+ "ast_hash": "832147d40a62f715e19f7fafaec4793e",
+ "semantic_hash": "832147d40a62f715e19f7fafaec4793e"
+ },
+ "scripts/capacity-limits": {
+ "mtime": 1782788095.467406,
+ "seen": 1789785988.2244675,
+ "ast_hash": "01c6a5c565b75d26770be49a806f0bbd",
+ "semantic_hash": "01c6a5c565b75d26770be49a806f0bbd"
+ },
+ "scripts/capacity-report": {
+ "mtime": 1783004588.7061443,
+ "seen": 1789785988.2244692,
+ "ast_hash": "fde2012fcbae5dc0eb85920e3f368c5f",
+ "semantic_hash": "fde2012fcbae5dc0eb85920e3f368c5f"
+ },
+ "scripts/cert-check": {
+ "mtime": 1783018714.221148,
+ "seen": 1789785988.224471,
+ "ast_hash": "663eaf846eae5a86774510041e1341ca",
+ "semantic_hash": "663eaf846eae5a86774510041e1341ca"
+ },
+ "scripts/change-journal": {
+ "mtime": 1782778401.7047641,
+ "seen": 1789785988.2244737,
+ "ast_hash": "945498e57c07bb8814c82bcd71ca3f31",
+ "semantic_hash": "945498e57c07bb8814c82bcd71ca3f31"
+ },
+ "scripts/control-plane": {
+ "mtime": 1782786047.4260132,
+ "seen": 1789785988.2244754,
+ "ast_hash": "694b1424ce7ee43e56e774216a64be1e",
+ "semantic_hash": "694b1424ce7ee43e56e774216a64be1e"
+ },
+ "scripts/explain": {
+ "mtime": 1782849073.805455,
+ "seen": 1789785988.224478,
+ "ast_hash": "5b0f6bfdf14ed309f34dcc0c9e307a75",
+ "semantic_hash": "5b0f6bfdf14ed309f34dcc0c9e307a75"
+ },
+ "scripts/gitops-status": {
+ "mtime": 1782778401.708764,
+ "seen": 1789785988.2244797,
+ "ast_hash": "a1df7adbc70643168b744c876da3251d",
+ "semantic_hash": "a1df7adbc70643168b744c876da3251d"
+ },
+ "scripts/golden-ledger": {
+ "mtime": 1782778401.708764,
+ "seen": 1789785988.2244823,
+ "ast_hash": "d3d032fc6d6909e47b9f2f189911dd9f",
+ "semantic_hash": "d3d032fc6d6909e47b9f2f189911dd9f"
+ },
+ "scripts/grafana-dashboards": {
+ "mtime": 1782779906.778834,
+ "seen": 1789785988.2244842,
+ "ast_hash": "db0301b6e305e794e8822921a4b8d374",
+ "semantic_hash": "db0301b6e305e794e8822921a4b8d374"
+ },
+ "scripts/heal": {
+ "mtime": 1782857878.6944213,
+ "seen": 1789785988.2244864,
+ "ast_hash": "5fb878c88a8da636934112f9fac0ab03",
+ "semantic_hash": "5fb878c88a8da636934112f9fac0ab03"
+ },
+ "scripts/homelab-map": {
+ "mtime": 1782778401.708764,
+ "seen": 1789785988.2244885,
+ "ast_hash": "5087d1dfcdf851f4ab96e3e582e2d560",
+ "semantic_hash": "5087d1dfcdf851f4ab96e3e582e2d560"
+ },
+ "scripts/impact": {
+ "mtime": 1782788095.467406,
+ "seen": 1789785988.2244902,
+ "ast_hash": "2772db417d5a1323e71ec4d59567dc91",
+ "semantic_hash": "2772db417d5a1323e71ec4d59567dc91"
+ },
+ "scripts/incident-commander": {
+ "mtime": 1782842479.3947446,
+ "seen": 1789785988.2244925,
+ "ast_hash": "2adc39759b565ff97bcbabf008825dfc",
+ "semantic_hash": "2adc39759b565ff97bcbabf008825dfc"
+ },
+ "scripts/jeannie-core": {
+ "mtime": 1782937169.6562603,
+ "seen": 1789785988.2244947,
+ "ast_hash": "bc486d64fefbeb0e704a547f66a7e85d",
+ "semantic_hash": "bc486d64fefbeb0e704a547f66a7e85d"
+ },
+ "scripts/kubeconfig-readonly": {
+ "mtime": 1782775001.6422224,
+ "seen": 1789785988.2244964,
+ "ast_hash": "2bdc5ac4b485068fcedb5fbcf8aeeb35",
+ "semantic_hash": "2bdc5ac4b485068fcedb5fbcf8aeeb35"
+ },
+ "scripts/model-observe": {
+ "mtime": 1782847797.7849345,
+ "seen": 1789785988.224499,
+ "ast_hash": "85ad70e71f42142d16009b827be56355",
+ "semantic_hash": "85ad70e71f42142d16009b827be56355"
+ },
+ "scripts/promote": {
+ "mtime": 1782847797.7849345,
+ "seen": 1789785988.2245018,
+ "ast_hash": "11dc5f84b931ccb399e9403768c469db",
+ "semantic_hash": "11dc5f84b931ccb399e9403768c469db"
+ },
+ "scripts/prompt-injection-lab": {
+ "mtime": 1782842479.3947446,
+ "seen": 1789785988.224504,
+ "ast_hash": "9e0c344e15c85a9eab6829f70952d516",
+ "semantic_hash": "9e0c344e15c85a9eab6829f70952d516"
+ },
+ "scripts/query-homelab-ai-index": {
+ "mtime": 1782847797.7849345,
+ "seen": 1789785988.224506,
+ "ast_hash": "043fa55dd4665b10cec6b76b9b59f97c",
+ "semantic_hash": "043fa55dd4665b10cec6b76b9b59f97c"
+ },
+ "scripts/recover-plan": {
+ "mtime": 1782778401.708764,
+ "seen": 1789785988.2245085,
+ "ast_hash": "88afb5cbe5e802be5682263694c90767",
+ "semantic_hash": "88afb5cbe5e802be5682263694c90767"
+ },
+ "scripts/recover-power": {
+ "mtime": 1782778401.708764,
+ "seen": 1789785988.2245102,
+ "ast_hash": "ef8e1b3bcff5eb4327bc45a321c1da43",
+ "semantic_hash": "ef8e1b3bcff5eb4327bc45a321c1da43"
+ },
+ "scripts/red-blue-loop": {
+ "mtime": 1782847797.7849345,
+ "seen": 1789785988.2245128,
+ "ast_hash": "4d31032be04ca7f6cd513709c1d106b1",
+ "semantic_hash": "4d31032be04ca7f6cd513709c1d106b1"
+ },
+ "scripts/release-snapshot": {
+ "mtime": 1782778401.708764,
+ "seen": 1789785988.2245145,
+ "ast_hash": "99228b07dca7b556a8021936801af5d0",
+ "semantic_hash": "99228b07dca7b556a8021936801af5d0"
+ },
+ "scripts/render-docs": {
+ "mtime": 1789615069.7602494,
+ "seen": 1789785988.2245166,
+ "ast_hash": "14008cda83f1d91b8e911a7698f55ba7",
+ "semantic_hash": "14008cda83f1d91b8e911a7698f55ba7"
+ },
+ "scripts/render-service-catalog": {
+ "mtime": 1783028953.585137,
+ "seen": 1789785988.224519,
+ "ast_hash": "8f110ac306f9ba7d3cfd15017690276e",
+ "semantic_hash": "8f110ac306f9ba7d3cfd15017690276e"
+ },
+ "scripts/report-render": {
+ "mtime": 1782937169.6562603,
+ "seen": 1789785988.224521,
+ "ast_hash": "a187fd751de9163530845e5329594daf",
+ "semantic_hash": "a187fd751de9163530845e5329594daf"
+ },
+ "scripts/report-ui": {
+ "mtime": 1782797359.8447242,
+ "seen": 1789785988.2245228,
+ "ast_hash": "97ab6862edb916100cd3f1b63128b25f",
+ "semantic_hash": "97ab6862edb916100cd3f1b63128b25f"
+ },
+ "scripts/resource-budget": {
+ "mtime": 1782786047.4260132,
+ "seen": 1789785988.2245245,
+ "ast_hash": "7b63e981ff7d0b822660e27173f81369",
+ "semantic_hash": "7b63e981ff7d0b822660e27173f81369"
+ },
+ "scripts/restore-drill": {
+ "mtime": 1782775001.6422224,
+ "seen": 1789785988.224527,
+ "ast_hash": "8b56193056669c0e91f4ba168491bed4",
+ "semantic_hash": "8b56193056669c0e91f4ba168491bed4"
+ },
+ "scripts/review-last-change": {
+ "mtime": 1782788095.467406,
+ "seen": 1789785988.2245288,
+ "ast_hash": "9cf7e471461a2edff9a79aa4992047bb",
+ "semantic_hash": "9cf7e471461a2edff9a79aa4992047bb"
+ },
+ "scripts/route-inventory": {
+ "mtime": 1782779019.210012,
+ "seen": 1789785988.224531,
+ "ast_hash": "89f6edcb7a4dd5b5940d8755fd3de389",
+ "semantic_hash": "89f6edcb7a4dd5b5940d8755fd3de389"
+ },
+ "scripts/safety-case": {
+ "mtime": 1782847797.7849345,
+ "seen": 1789785988.2245333,
+ "ast_hash": "3fa679a0d9292d193023fef6c08711eb",
+ "semantic_hash": "3fa679a0d9292d193023fef6c08711eb"
+ },
+ "scripts/scorecard": {
+ "mtime": 1782786047.4260132,
+ "seen": 1789785988.224535,
+ "ast_hash": "0a2c1a3b55b235d2cc52db180decf97a",
+ "semantic_hash": "0a2c1a3b55b235d2cc52db180decf97a"
+ },
+ "scripts/security-attack-path": {
+ "mtime": 1782774077.225574,
+ "seen": 1789785988.2245374,
+ "ast_hash": "9848ec43f140f251251b1414e1dab1e5",
+ "semantic_hash": "9848ec43f140f251251b1414e1dab1e5"
+ },
+ "scripts/security-logs": {
+ "mtime": 1782774077.225574,
+ "seen": 1789785988.2245393,
+ "ast_hash": "acf1dcab630297ed40d6529930c8bd7e",
+ "semantic_hash": "acf1dcab630297ed40d6529930c8bd7e"
+ },
+ "scripts/security-scan": {
+ "mtime": 1782774077.225574,
+ "seen": 1789785988.2245412,
+ "ast_hash": "3c2201aaf45a7ec19515e80e8643d680",
+ "semantic_hash": "3c2201aaf45a7ec19515e80e8643d680"
+ },
+ "scripts/synthetic-checks": {
+ "mtime": 1782778401.708764,
+ "seen": 1789785988.2245438,
+ "ast_hash": "82bef92b54bda76801e83a601cfa9e88",
+ "semantic_hash": "82bef92b54bda76801e83a601cfa9e88"
+ },
+ "scripts/validate-homelab": {
+ "mtime": 1782917749.928427,
+ "seen": 1789785988.2245455,
+ "ast_hash": "2f1323a833a640867485185f31bb1adb",
+ "semantic_hash": "2f1323a833a640867485185f31bb1adb"
+ },
+ "scripts/validate-homelab-inventory": {
+ "mtime": 1783028953.585137,
+ "seen": 1789785988.2245476,
+ "ast_hash": "ce7106eff2985651b306d23b9d0223ff",
+ "semantic_hash": "ce7106eff2985651b306d23b9d0223ff"
+ },
+ "scripts/validate-tailnet-policy": {
+ "mtime": 1782604673.8636646,
+ "seen": 1789785988.2245495,
+ "ast_hash": "a72d01eadbb0523e43d2d28b33dfe4d0",
+ "semantic_hash": "a72d01eadbb0523e43d2d28b33dfe4d0"
+ },
+ "scripts/workers": {
+ "mtime": 1782850519.5879452,
+ "seen": 1789785988.224552,
+ "ast_hash": "e8076ea5ccb2a158296985559f454bd3",
+ "semantic_hash": "e8076ea5ccb2a158296985559f454bd3"
+ },
+ "tests/jeannie-unit": {
+ "mtime": 1782954918.683068,
+ "seen": 1789785988.2245538,
+ "ast_hash": "66e45d4e4363067ed3ed58e0e6080a2e",
+ "semantic_hash": "66e45d4e4363067ed3ed58e0e6080a2e"
+ },
+ "bootstrap/apps/.terraform.lock.hcl": {
+ "mtime": 1782523591.8408744,
+ "seen": 1789786011.125731,
+ "ast_hash": "08cc052dcb0579e7c9bc7907ad5c74ce",
+ "semantic_hash": "08cc052dcb0579e7c9bc7907ad5c74ce"
+ },
+ "bootstrap/apps/main.tf": {
+ "mtime": 1782523591.8408744,
+ "seen": 1789786011.125734,
+ "ast_hash": "001d458c13a7392e203bf03a4354a58c",
+ "semantic_hash": "001d458c13a7392e203bf03a4354a58c"
+ },
+ "bootstrap/apps/variables.tf": {
+ "mtime": 1783028953.573137,
+ "seen": 1789786011.1257362,
+ "ast_hash": "01b1a09d7465ccc4e411779b413e0b19",
+ "semantic_hash": "01b1a09d7465ccc4e411779b413e0b19"
+ },
+ "bootstrap/cluster/.terraform.lock.hcl": {
+ "mtime": 1782523591.8408744,
+ "seen": 1789786011.125738,
+ "ast_hash": "3c7ef05779291cd226ea7a02177fcc1b",
+ "semantic_hash": "3c7ef05779291cd226ea7a02177fcc1b"
+ },
+ "bootstrap/cluster/main.tf": {
+ "mtime": 1784779923.485132,
+ "seen": 1789786011.1257405,
+ "ast_hash": "d59e7728fb4ce5d2e37501919a61d732",
+ "semantic_hash": "d59e7728fb4ce5d2e37501919a61d732"
+ },
+ "bootstrap/cluster/variables.tf": {
+ "mtime": 1782796725.0193644,
+ "seen": 1789786011.1257427,
+ "ast_hash": "ccdfd1c271dc0dd3590362b2dd19403f",
+ "semantic_hash": "ccdfd1c271dc0dd3590362b2dd19403f"
+ },
+ "bootstrap/edge/.terraform.lock.hcl": {
+ "mtime": 1782523591.8408744,
+ "seen": 1789786011.1257448,
+ "ast_hash": "f7a3febdef01d3ec810b0f53e3d1b6ef",
+ "semantic_hash": "f7a3febdef01d3ec810b0f53e3d1b6ef"
+ },
+ "bootstrap/edge/main.tf": {
+ "mtime": 1789566713.0772042,
+ "seen": 1789786011.1257472,
+ "ast_hash": "d5d5ab115fc0447974b7c57e19c4f5ec",
+ "semantic_hash": "d5d5ab115fc0447974b7c57e19c4f5ec"
+ },
+ "bootstrap/edge/variables.tf": {
+ "mtime": 1789566708.045293,
+ "seen": 1789786011.1257493,
+ "ast_hash": "fdcd91252cbba490ba0f3d72bf2f08dd",
+ "semantic_hash": "fdcd91252cbba490ba0f3d72bf2f08dd"
+ },
+ "bootstrap/platform/.terraform.lock.hcl": {
+ "mtime": 1782523591.8408744,
+ "seen": 1789786011.1257515,
+ "ast_hash": "cb754bf091e9084b4524e00750bc7d64",
+ "semantic_hash": "cb754bf091e9084b4524e00750bc7d64"
+ },
+ "bootstrap/platform/main.tf": {
+ "mtime": 1789577552.3925543,
+ "seen": 1789786011.1258402,
+ "ast_hash": "01a0149bce6b5e1a86018d35dfb99906",
+ "semantic_hash": "01a0149bce6b5e1a86018d35dfb99906"
+ },
+ "bootstrap/platform/variables.tf": {
+ "mtime": 1783035152.9192479,
+ "seen": 1789786011.1258423,
+ "ast_hash": "605d5059b03d58e11441d0cecc0e5011",
+ "semantic_hash": "605d5059b03d58e11441d0cecc0e5011"
+ },
+ "bootstrap/provisioning/.terraform.lock.hcl": {
+ "mtime": 1782523591.8408744,
+ "seen": 1789786011.1258447,
+ "ast_hash": "f7a3febdef01d3ec810b0f53e3d1b6ef",
+ "semantic_hash": "f7a3febdef01d3ec810b0f53e3d1b6ef"
+ },
+ "bootstrap/provisioning/main.tf": {
+ "mtime": 1784834185.745902,
+ "seen": 1789786011.1258473,
+ "ast_hash": "d943445f976c2dec6975b39017976813",
+ "semantic_hash": "d943445f976c2dec6975b39017976813"
+ },
+ "bootstrap/provisioning/outputs.tf": {
+ "mtime": 1782604673.8636646,
+ "seen": 1789786011.125849,
+ "ast_hash": "b94ca3cd4f45d59cb38ade7728be27aa",
+ "semantic_hash": "b94ca3cd4f45d59cb38ade7728be27aa"
+ },
+ "bootstrap/provisioning/variables.tf": {
+ "mtime": 1784834185.745902,
+ "seen": 1789786011.1258514,
+ "ast_hash": "f95566b48fa5816f14cf55c469e1b749",
+ "semantic_hash": "f95566b48fa5816f14cf55c469e1b749"
+ }
+}
\ No newline at end of file
diff --git a/jeannie b/jeannie
index d4bd8ec..76abcc8 100755
--- a/jeannie
+++ b/jeannie
@@ -5936,6 +5936,7 @@ up() {
run_step "Early preflight" homelab_preflight early
run_step "Go toolchain" ensure_go_toolchain
+ run_step "Repo Map (Graphiphy)" graphiphy_map
run_step "Independent host services" run_up_parallel_stage
run_step "Full preflight" homelab_preflight full
run_step "Pre-apply doctor" doctor_preapply
diff --git a/lib/jeannie/core.sh b/lib/jeannie/core.sh
new file mode 100644
index 0000000..f9adbb1
--- /dev/null
+++ b/lib/jeannie/core.sh
@@ -0,0 +1,206 @@
+#!/usr/bin/env bash
+
+truthy() {
+ local value
+
+ value="$(printf '%s' "$1" | tr '[:upper:]' '[:lower:]')"
+ case "${value}" in
+ 1 | true | yes | on)
+ return 0
+ ;;
+ *)
+ return 1
+ ;;
+ esac
+}
+
+disabled_value() {
+ local value
+
+ value="$(printf '%s' "$1" | tr '[:upper:]' '[:lower:]')"
+ case "${value}" in
+ 0 | false | no | off | disabled)
+ return 0
+ ;;
+ *)
+ return 1
+ ;;
+ esac
+}
+
+jeannie_log_start() {
+ local command_name="$1"
+ local timestamp
+
+ if [[ -n "${JEANNIE_LOG_FILE}" ]]; then
+ return 0
+ fi
+
+ timestamp="$(date +%Y%m%d-%H%M%S)"
+ mkdir -p "${JEANNIE_LOG_DIR}"
+ JEANNIE_LOG_FILE="${JEANNIE_LOG_DIR}/jeannie-${command_name}-${timestamp}.log"
+ JEANNIE_ERROR_LOG_FILE="${JEANNIE_LOG_DIR}/jeannie-${command_name}-${timestamp}.error.log"
+ : >"${JEANNIE_LOG_FILE}"
+ : >"${JEANNIE_ERROR_LOG_FILE}"
+ printf 'Log: %s\n' "${JEANNIE_LOG_FILE}"
+ printf 'Error log: %s\n' "${JEANNIE_ERROR_LOG_FILE}"
+}
+
+jeannie_step_plan() {
+ JEANNIE_STEP_INDEX=0
+ JEANNIE_STEP_TOTAL="$1"
+}
+
+jeannie_verbose_enabled() {
+ truthy "${JEANNIE_VERBOSE:-false}"
+}
+
+jeannie_step_prefix() {
+ local description="$1"
+
+ if ((JEANNIE_STEP_TOTAL > 0)); then
+ printf '[%d/%d] %-42s ' "${JEANNIE_STEP_INDEX}" "${JEANNIE_STEP_TOTAL}" "${description}"
+ else
+ printf '[%d] %-46s ' "${JEANNIE_STEP_INDEX}" "${description}"
+ fi
+}
+
+jeannie_compact_text() {
+ local text="$1"
+ local max_length="${2:-96}"
+
+ text="${text//$'\r'/ }"
+ text="${text//$'\n'/ }"
+ text="$(printf '%s' "${text}" | sed -E 's/[[:space:]]+/ /g; s/^ //; s/ $//')"
+ if ((${#text} > max_length)); then
+ text="${text:0:max_length - 3}..."
+ fi
+ printf '%s' "${text}"
+}
+
+jeannie_step_progress() {
+ local description="$1"
+ local step_log="$2"
+ local started_at="$3"
+ local last_line="${4:-}"
+ local elapsed=$((SECONDS - started_at))
+
+ printf '\r'
+ jeannie_step_prefix "${description}"
+ if [[ -n "${last_line}" ]]; then
+ printf 'running %ss | %s' "${elapsed}" "${last_line}"
+ else
+ printf 'running %ss' "${elapsed}"
+ fi
+ printf '\033[K'
+}
+
+jeannie_step_latest_progress_line() {
+ local step_log="$1"
+ local last_line=""
+
+ if [[ -s "${step_log}" ]]; then
+ last_line="$(tail -n 1 "${step_log}" 2>/dev/null || true)"
+ last_line="$(jeannie_compact_text "${last_line}" 88)"
+ fi
+ printf '%s' "${last_line}"
+}
+
+redact_sensitive_output() {
+ sed -E \
+ -e 's/(GITEA_BOOTSTRAP_PASSWORD=)["'\'']?[^"'\''[:space:]]+["'\'']?/\1[REDACTED]/g' \
+ -e 's/(PIHOLE_WEBPASSWORD=)["'\'']?[^"'\''[:space:]]+["'\'']?/\1[REDACTED]/g' \
+ -e 's/(COSIGN_PASSWORD=)["'\'']?[^"'\''[:space:]]+["'\'']?/\1[REDACTED]/g' \
+ -e 's/(GITEA_RUNNER_REGISTRATION_TOKEN=)["'\'']?[^"'\''[:space:]]+["'\'']?/\1[REDACTED]/g' \
+ -e 's/(--password[=[:space:]]+)["'\'']?[^"'\''[:space:]]+["'\'']?/\1[REDACTED]/g' \
+ -e 's/(--token[=[:space:]]+)["'\'']?[^"'\''[:space:]]+["'\'']?/\1[REDACTED]/g' \
+ -e 's/(password[=:][[:space:]]*)[^[:space:]]+/\1[REDACTED]/Ig' \
+ -e 's/(token[=:][[:space:]]*)[^[:space:]]+/\1[REDACTED]/Ig' \
+ -e 's#(https?://[^:/[:space:]]+):[^@/[:space:]]+@#\1:[REDACTED]@#g'
+}
+
+run_step() {
+ local description="$1"
+ local step_log
+ local status_file
+ local status
+ local progress_pid
+ local progress_interval="${JEANNIE_PROGRESS_INTERVAL_SECONDS:-10}"
+ local started_at
+ local current_progress_line=""
+ local last_progress_line=""
+ local last_progress_rendered_at=0
+ shift
+
+ JEANNIE_STEP_INDEX=$((JEANNIE_STEP_INDEX + 1))
+ jeannie_step_prefix "${description}"
+
+ step_log="$(mktemp)"
+ status_file="$(mktemp)"
+ {
+ printf '\n== [%d/%d] %s ==\n' "${JEANNIE_STEP_INDEX}" "${JEANNIE_STEP_TOTAL}" "${description}"
+ printf 'Started: %s\n' "$(date -Is)"
+ } >>"${JEANNIE_LOG_FILE}"
+
+ if jeannie_verbose_enabled; then
+ set +e
+ "$@" 2>&1 | redact_sensitive_output | tee "${step_log}" | tee -a "${JEANNIE_LOG_FILE}"
+ status=${PIPESTATUS[0]}
+ set -e
+ else
+ set +e
+ (
+ set +e
+ "$@" 2>&1 | redact_sensitive_output | tee "${step_log}" >>"${JEANNIE_LOG_FILE}"
+ printf '%s\n' "${PIPESTATUS[0]}" >"${status_file}"
+ ) &
+ progress_pid=$!
+ if ! [[ "${progress_interval}" =~ ^[0-9]+$ ]] || ((progress_interval < 1)); then
+ progress_interval=10
+ fi
+ started_at="${SECONDS}"
+ while kill -0 "${progress_pid}" >/dev/null 2>&1; do
+ sleep "${progress_interval}"
+ if kill -0 "${progress_pid}" >/dev/null 2>&1; then
+ current_progress_line="$(jeannie_step_latest_progress_line "${step_log}")"
+ if [[ "${current_progress_line}" != "${last_progress_line}" ]] ||
+ ((SECONDS - last_progress_rendered_at >= 60)); then
+ jeannie_step_progress "${description}" "${step_log}" "${started_at}" "${current_progress_line}"
+ last_progress_line="${current_progress_line}"
+ last_progress_rendered_at="${SECONDS}"
+ fi
+ fi
+ done
+ wait "${progress_pid}" || true
+ status="$(cat "${status_file}" 2>/dev/null || printf '1')"
+ set -e
+ fi
+
+ printf 'Finished: %s\n' "$(date -Is)" >>"${JEANNIE_LOG_FILE}"
+
+ if ((status == 0)); then
+ printf '\r'
+ jeannie_step_prefix "${description}"
+ printf 'ok\033[K\n'
+ rm -f "${step_log}" "${status_file}"
+ return 0
+ fi
+
+ printf '\r'
+ jeannie_step_prefix "${description}"
+ printf 'failed\033[K\n\n'
+ {
+ printf '\n== FAILED [%d/%d] %s ==\n' "${JEANNIE_STEP_INDEX}" "${JEANNIE_STEP_TOTAL}" "${description}"
+ printf 'Finished: %s\n' "$(date -Is)"
+ sed 's/^/ /' "${step_log}"
+ } >>"${JEANNIE_ERROR_LOG_FILE}"
+ printf 'Step failed: %s\n' "${description}" >&2
+ printf 'Exit status: %s\n' "${status}" >&2
+ printf 'Full step output:\n' >&2
+ sed 's/^/ /' "${step_log}" >&2
+ printf '\nFull log: %s\n' "${JEANNIE_LOG_FILE}" >&2
+ printf 'Error log: %s\n' "${JEANNIE_ERROR_LOG_FILE}" >&2
+ rm -f "${step_log}" "${status_file}"
+ return "${status}"
+}
+
diff --git a/lib/jeannie/env.sh b/lib/jeannie/env.sh
new file mode 100644
index 0000000..20d602b
--- /dev/null
+++ b/lib/jeannie/env.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+
diff --git a/lib/jeannie/pimox.sh b/lib/jeannie/pimox.sh
new file mode 100644
index 0000000..20d602b
--- /dev/null
+++ b/lib/jeannie/pimox.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+
diff --git a/lib/jeannie/toolchain.sh b/lib/jeannie/toolchain.sh
new file mode 100644
index 0000000..20d602b
--- /dev/null
+++ b/lib/jeannie/toolchain.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+
diff --git a/tests/jeannie/run_tests.sh b/tests/jeannie/run_tests.sh
new file mode 100755
index 0000000..985753f
--- /dev/null
+++ b/tests/jeannie/run_tests.sh
@@ -0,0 +1,48 @@
+#!/usr/bin/env bash
+# Simple test runner for jeannie modules
+
+GREEN='\033[0;32m'
+RED='\033[0;31m'
+NC='\033[0m' # No Color
+
+PASSED=0
+FAILED=0
+
+run_test() {
+ local test_name="$1"
+ local test_cmd="$2"
+ echo -n "Running $test_name... "
+ if eval "$test_cmd"; then
+ echo -e "${GREEN}PASS${NC}"
+ ((PASSED++))
+ else
+ echo -e "${RED}FAIL${NC}"
+ ((FAILED++))
+ fi
+}
+
+# Source modules to be tested
+source /home/jv/my-homelab-configs/lib/jeannie/core.sh
+source /home/jv/my-homelab-configs/lib/jeannie/env.sh
+
+# Test Core: truthy (returns 0 for true, 1 for false)
+run_test "Core: truthy(true)" "truthy 'true'"
+run_test "Core: truthy(1)" "truthy '1'"
+run_test "Core: truthy(yes)" "truthy 'yes'"
+run_test "Core: truthy(on)" "truthy 'on'"
+run_test "Core: truthy(TRUE)" "truthy 'TRUE'"
+run_test "Core: truthy(false)" "! truthy 'false'"
+run_test "Core: truthy(empty)" "! truthy ''"
+run_test "Core: truthy(unknown)" "! truthy 'maybe'"
+
+# Test Core: disabled_value (returns 0 for disabled, 1 for enabled)
+run_test "Core: disabled_value(false)" "disabled_value 'false'"
+run_test "Core: disabled_value(0)" "disabled_value '0'"
+run_test "Core: disabled_value(no)" "disabled_value 'no'"
+run_test "Core: disabled_value(off)" "disabled_value 'off'"
+run_test "Core: disabled_value(disabled)" "disabled_value 'disabled'"
+run_test "Core: disabled_value(true)" "! disabled_value 'true'"
+run_test "Core: disabled_value(1)" "! disabled_value '1'"
+
+echo -e "\nResults: ${GREEN}$PASSED passed${NC}, ${RED}$FAILED failed${NC}"
+[[ $FAILED -eq 0 ]]