19 KiB
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 HEADand 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)
null_resource.edge_services- 24 edgesnull_resource.pimox_template_vm_create- 19 edgesnull_resource.provisioning_host- 19 edgesnull_resource.kubeadm_worker- 18 edgesnull_resource.pimox_template_vm_seal- 18 edgeslocal.preseed_cfg- 17 edgeslocal.default_conf- 14 edgesnull_resource.calico_ready- 14 edgeslocal.config_hash- 13 edgesnull_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.tflocal.application_sources--references-->var.gitops_repo_url[EXTRACTED] bootstrap/apps/main.tf → bootstrap/apps/variables.tfoutput.kubeconfig_path--references-->var.kubeconfig_path[EXTRACTED] bootstrap/cluster/main.tf → bootstrap/cluster/variables.tfnull_resource.kubeadm_control_plane--references-->var.control_plane_advertise_address[EXTRACTED] bootstrap/cluster/main.tf → bootstrap/cluster/variables.tfnull_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 queryto 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/nullto the rest of the system? 61 weakly-connected nodes found - possible documentation gaps or missing edges. - Should
provisioning/variables.tfbe split into smaller, more focused modules? Cohesion score 0.054212454212454214 - nodes in this community are weakly interconnected. - Should
jeanniebe split into smaller, more focused modules? Cohesion score 0.038542607648298706 - nodes in this community are weakly interconnected. - Should
jeannie scriptbe split into smaller, more focused modules? Cohesion score 0.04229104229104229 - nodes in this community are weakly interconnected. - Should
platform/main.tfbe split into smaller, more focused modules? Cohesion score 0.07017543859649122 - nodes in this community are weakly interconnected. - Should
main.gobe split into smaller, more focused modules? Cohesion score 0.0841813135985199 - nodes in this community are weakly interconnected. - Should
edge/variables.tfbe split into smaller, more focused modules? Cohesion score 0.113107822410148 - nodes in this community are weakly interconnected.