{
  "action_maps": [
    {
      "label": "build",
      "mappings": [],
      "matched_via": "none",
      "subject_id": "act_build"
    },
    {
      "label": "clean",
      "mappings": [],
      "matched_via": "none",
      "subject_id": "act_clean"
    },
    {
      "label": "test",
      "mappings": [],
      "matched_via": "none",
      "subject_id": "act_test"
    },
    {
      "label": "add",
      "mappings": [],
      "matched_via": "none",
      "subject_id": "cap_add"
    },
    {
      "label": "aecho",
      "mappings": [],
      "matched_via": "none",
      "subject_id": "cap_aecho"
    },
    {
      "label": "astreamer",
      "mappings": [],
      "matched_via": "none",
      "subject_id": "cap_astreamer"
    },
    {
      "label": "async_add",
      "mappings": [],
      "matched_via": "none",
      "subject_id": "cap_async_add"
    },
    {
      "label": "boom",
      "mappings": [],
      "matched_via": "none",
      "subject_id": "cap_boom"
    },
    {
      "label": "command_tool",
      "mappings": [],
      "matched_via": "none",
      "subject_id": "cap_command_tool"
    },
    {
      "label": "echo",
      "mappings": [],
      "matched_via": "none",
      "subject_id": "cap_echo"
    },
    {
      "label": "failing_tool",
      "mappings": [],
      "matched_via": "none",
      "subject_id": "cap_failing_tool"
    },
    {
      "label": "get_user_name",
      "mappings": [],
      "matched_via": "none",
      "subject_id": "cap_get_user_name"
    },
    {
      "label": "get_weather",
      "mappings": [],
      "matched_via": "none",
      "subject_id": "cap_get_weather"
    },
    {
      "label": "get_weather_optional",
      "mappings": [],
      "matched_via": "none",
      "subject_id": "cap_get_weather_optional"
    },
    {
      "label": "inner_tool",
      "mappings": [],
      "matched_via": "none",
      "subject_id": "cap_inner_tool"
    },
    {
      "label": "search",
      "mappings": [],
      "matched_via": "none",
      "subject_id": "cap_search"
    },
    {
      "label": "search_api",
      "mappings": [],
      "matched_via": "none",
      "subject_id": "cap_search_api"
    },
    {
      "label": "search_engine",
      "mappings": [],
      "matched_via": "none",
      "subject_id": "cap_search_engine"
    },
    {
      "label": "streamer",
      "mappings": [],
      "matched_via": "none",
      "subject_id": "cap_streamer"
    },
    {
      "label": "streaming_echo",
      "mappings": [],
      "matched_via": "none",
      "subject_id": "cap_streaming_echo"
    },
    {
      "label": "delete",
      "mappings": [
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: Honoring a change freeze is configuration change control.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "CM-3",
          "name": "Configuration Change Control",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: A freeze restricts who/when changes may be applied.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "CM-5",
          "name": "Access Restrictions for Change",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: Deploying during a freeze is acting beyond authority.)",
          "confidence": "inferred",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "INFERRED"
        },
        {
          "basis": "a destructive change during a freeze maps to data destruction",
          "confidence": "advisory",
          "fw": "MITRE ATT&CK",
          "id": "T1485",
          "name": "Data Destruction",
          "provenance": "EXTRACTED"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_delete"
    },
    {
      "label": "delete_deployment",
      "mappings": [
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: Honoring a change freeze is configuration change control.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "CM-3",
          "name": "Configuration Change Control",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: A freeze restricts who/when changes may be applied.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "CM-5",
          "name": "Access Restrictions for Change",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: Deploying during a freeze is acting beyond authority.)",
          "confidence": "inferred",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "INFERRED"
        },
        {
          "basis": "a destructive change during a freeze maps to data destruction",
          "confidence": "advisory",
          "fw": "MITRE ATT&CK",
          "id": "T1485",
          "name": "Data Destruction",
          "provenance": "EXTRACTED"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_delete_deployment"
    },
    {
      "label": "delete_file",
      "mappings": [
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: Honoring a change freeze is configuration change control.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "CM-3",
          "name": "Configuration Change Control",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: A freeze restricts who/when changes may be applied.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "CM-5",
          "name": "Access Restrictions for Change",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: Deploying during a freeze is acting beyond authority.)",
          "confidence": "inferred",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "INFERRED"
        },
        {
          "basis": "a destructive change during a freeze maps to data destruction",
          "confidence": "advisory",
          "fw": "MITRE ATT&CK",
          "id": "T1485",
          "name": "Data Destruction",
          "provenance": "EXTRACTED"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_delete_file"
    },
    {
      "label": "delete_first",
      "mappings": [
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: Honoring a change freeze is configuration change control.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "CM-3",
          "name": "Configuration Change Control",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: A freeze restricts who/when changes may be applied.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "CM-5",
          "name": "Access Restrictions for Change",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: Deploying during a freeze is acting beyond authority.)",
          "confidence": "inferred",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "INFERRED"
        },
        {
          "basis": "a destructive change during a freeze maps to data destruction",
          "confidence": "advisory",
          "fw": "MITRE ATT&CK",
          "id": "T1485",
          "name": "Data Destruction",
          "provenance": "EXTRACTED"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_delete_first"
    },
    {
      "label": "delete_for_runs",
      "mappings": [
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: Honoring a change freeze is configuration change control.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "CM-3",
          "name": "Configuration Change Control",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: A freeze restricts who/when changes may be applied.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "CM-5",
          "name": "Access Restrictions for Change",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: Deploying during a freeze is acting beyond authority.)",
          "confidence": "inferred",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "INFERRED"
        },
        {
          "basis": "a destructive change during a freeze maps to data destruction",
          "confidence": "advisory",
          "fw": "MITRE ATT&CK",
          "id": "T1485",
          "name": "Data Destruction",
          "provenance": "EXTRACTED"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_delete_for_runs"
    },
    {
      "label": "delete_item",
      "mappings": [
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: Honoring a change freeze is configuration change control.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "CM-3",
          "name": "Configuration Change Control",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: A freeze restricts who/when changes may be applied.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "CM-5",
          "name": "Access Restrictions for Change",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: Deploying during a freeze is acting beyond authority.)",
          "confidence": "inferred",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "INFERRED"
        },
        {
          "basis": "a destructive change during a freeze maps to data destruction",
          "confidence": "advisory",
          "fw": "MITRE ATT&CK",
          "id": "T1485",
          "name": "Data Destruction",
          "provenance": "EXTRACTED"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_delete_item"
    },
    {
      "label": "delete_thread",
      "mappings": [
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: Honoring a change freeze is configuration change control.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "CM-3",
          "name": "Configuration Change Control",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: A freeze restricts who/when changes may be applied.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "CM-5",
          "name": "Access Restrictions for Change",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: Deploying during a freeze is acting beyond authority.)",
          "confidence": "inferred",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "INFERRED"
        },
        {
          "basis": "a destructive change during a freeze maps to data destruction",
          "confidence": "advisory",
          "fw": "MITRE ATT&CK",
          "id": "T1485",
          "name": "Data Destruction",
          "provenance": "EXTRACTED"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_delete_thread"
    },
    {
      "label": "delete_ui_message",
      "mappings": [
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: Honoring a change freeze is configuration change control.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "CM-3",
          "name": "Configuration Change Control",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: A freeze restricts who/when changes may be applied.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "CM-5",
          "name": "Access Restrictions for Change",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: Deploying during a freeze is acting beyond authority.)",
          "confidence": "inferred",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "INFERRED"
        },
        {
          "basis": "a destructive change during a freeze maps to data destruction",
          "confidence": "advisory",
          "fw": "MITRE ATT&CK",
          "id": "T1485",
          "name": "Data Destruction",
          "provenance": "EXTRACTED"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_delete_ui_message"
    },
    {
      "label": "execute",
      "mappings": [
        {
          "basis": "heuristic: side-effecting action with no second authorizer detected -- confirm against published text",
          "confidence": "ambiguous",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "AMBIGUOUS"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_execute"
    },
    {
      "label": "execute_tools",
      "mappings": [
        {
          "basis": "heuristic: side-effecting action with no second authorizer detected -- confirm against published text",
          "confidence": "ambiguous",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "AMBIGUOUS"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_execute_tools"
    },
    {
      "label": "post",
      "mappings": [],
      "matched_via": "none",
      "subject_id": "fn_post"
    },
    {
      "label": "post_model_hook",
      "mappings": [],
      "matched_via": "none",
      "subject_id": "fn_post_model_hook"
    },
    {
      "label": "post_model_hook_router",
      "mappings": [],
      "matched_via": "none",
      "subject_id": "fn_post_model_hook_router"
    },
    {
      "label": "post_process",
      "mappings": [
        {
          "basis": "heuristic: side-effecting action with no second authorizer detected -- confirm against published text",
          "confidence": "ambiguous",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "AMBIGUOUS"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_post_process"
    },
    {
      "label": "run",
      "mappings": [
        {
          "basis": "heuristic: side-effecting action with no second authorizer detected -- confirm against published text",
          "confidence": "ambiguous",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "AMBIGUOUS"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_run"
    },
    {
      "label": "run_all_interviews",
      "mappings": [
        {
          "basis": "heuristic: side-effecting action with no second authorizer detected -- confirm against published text",
          "confidence": "ambiguous",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "AMBIGUOUS"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_run_all_interviews"
    },
    {
      "label": "run_async",
      "mappings": [
        {
          "basis": "heuristic: side-effecting action with no second authorizer detected -- confirm against published text",
          "confidence": "ambiguous",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "AMBIGUOUS"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_run_async"
    },
    {
      "label": "run_benchmark",
      "mappings": [
        {
          "basis": "heuristic: side-effecting action with no second authorizer detected -- confirm against published text",
          "confidence": "ambiguous",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "AMBIGUOUS"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_run_benchmark"
    },
    {
      "label": "run_copy_thread_tests",
      "mappings": [
        {
          "basis": "heuristic: side-effecting action with no second authorizer detected -- confirm against published text",
          "confidence": "ambiguous",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "AMBIGUOUS"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_run_copy_thread_tests"
    },
    {
      "label": "run_coroutine_threadsafe",
      "mappings": [
        {
          "basis": "heuristic: side-effecting action with no second authorizer detected -- confirm against published text",
          "confidence": "ambiguous",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "AMBIGUOUS"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_run_coroutine_threadsafe"
    },
    {
      "label": "run_delete_for_runs_tests",
      "mappings": [
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: Honoring a change freeze is configuration change control.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "CM-3",
          "name": "Configuration Change Control",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: A freeze restricts who/when changes may be applied.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "CM-5",
          "name": "Access Restrictions for Change",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: Deploying during a freeze is acting beyond authority.)",
          "confidence": "inferred",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "INFERRED"
        },
        {
          "basis": "a destructive change during a freeze maps to data destruction",
          "confidence": "advisory",
          "fw": "MITRE ATT&CK",
          "id": "T1485",
          "name": "Data Destruction",
          "provenance": "EXTRACTED"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_run_delete_for_runs_tests"
    },
    {
      "label": "run_delete_thread_tests",
      "mappings": [
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: Honoring a change freeze is configuration change control.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "CM-3",
          "name": "Configuration Change Control",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: A freeze restricts who/when changes may be applied.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "CM-5",
          "name": "Access Restrictions for Change",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'delete'; confirm against published text (asserted basis: Deploying during a freeze is acting beyond authority.)",
          "confidence": "inferred",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "INFERRED"
        },
        {
          "basis": "a destructive change during a freeze maps to data destruction",
          "confidence": "advisory",
          "fw": "MITRE ATT&CK",
          "id": "T1485",
          "name": "Data Destruction",
          "provenance": "EXTRACTED"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_run_delete_thread_tests"
    },
    {
      "label": "run_delta_channel_history_tests",
      "mappings": [
        {
          "basis": "heuristic: side-effecting action with no second authorizer detected -- confirm against published text",
          "confidence": "ambiguous",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "AMBIGUOUS"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_run_delta_channel_history_tests"
    },
    {
      "label": "run_first_event_latency",
      "mappings": [
        {
          "basis": "heuristic: side-effecting action with no second authorizer detected -- confirm against published text",
          "confidence": "ambiguous",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "AMBIGUOUS"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_run_first_event_latency"
    },
    {
      "label": "run_get_tuple_tests",
      "mappings": [
        {
          "basis": "heuristic: side-effecting action with no second authorizer detected -- confirm against published text",
          "confidence": "ambiguous",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "AMBIGUOUS"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_run_get_tuple_tests"
    },
    {
      "label": "run_graph",
      "mappings": [
        {
          "basis": "heuristic: side-effecting action with no second authorizer detected -- confirm against published text",
          "confidence": "ambiguous",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "AMBIGUOUS"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_run_graph"
    },
    {
      "label": "run_list_tests",
      "mappings": [
        {
          "basis": "heuristic: side-effecting action with no second authorizer detected -- confirm against published text",
          "confidence": "ambiguous",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "AMBIGUOUS"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_run_list_tests"
    },
    {
      "label": "run_one",
      "mappings": [
        {
          "basis": "heuristic: side-effecting action with no second authorizer detected -- confirm against published text",
          "confidence": "ambiguous",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "AMBIGUOUS"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_run_one"
    },
    {
      "label": "run_prune_tests",
      "mappings": [
        {
          "basis": "heuristic: side-effecting action with no second authorizer detected -- confirm against published text",
          "confidence": "ambiguous",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "AMBIGUOUS"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_run_prune_tests"
    },
    {
      "label": "run_put_tests",
      "mappings": [
        {
          "basis": "heuristic: side-effecting action with no second authorizer detected -- confirm against published text",
          "confidence": "ambiguous",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "AMBIGUOUS"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_run_put_tests"
    },
    {
      "label": "run_put_writes_tests",
      "mappings": [
        {
          "basis": "heuristic: side-effecting action with no second authorizer detected -- confirm against published text",
          "confidence": "ambiguous",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "AMBIGUOUS"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_run_put_writes_tests"
    },
    {
      "label": "run_subgraph",
      "mappings": [
        {
          "basis": "heuristic: side-effecting action with no second authorizer detected -- confirm against published text",
          "confidence": "ambiguous",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "AMBIGUOUS"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_run_subgraph"
    },
    {
      "label": "run_sync",
      "mappings": [
        {
          "basis": "heuristic: side-effecting action with no second authorizer detected -- confirm against published text",
          "confidence": "ambiguous",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "AMBIGUOUS"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_run_sync"
    },
    {
      "label": "run_with_retry",
      "mappings": [
        {
          "basis": "heuristic: side-effecting action with no second authorizer detected -- confirm against published text",
          "confidence": "ambiguous",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM06",
          "name": "Excessive Agency",
          "provenance": "AMBIGUOUS"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_run_with_retry"
    },
    {
      "label": "send",
      "mappings": [
        {
          "basis": "inferred from action verb 'send'; confirm against published text (asserted basis: Blocking export to an out-of-scope endpoint is information-flow enforcement.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "AC-4",
          "name": "Information Flow Enforcement",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'send'; confirm against published text (asserted basis: Preventing data leaving the controlled boundary is boundary protection.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "SC-7",
          "name": "Boundary Protection",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'send'; confirm against published text (asserted basis: Uncontrolled egress of regulated data is a data-governance failure.)",
          "confidence": "inferred",
          "fw": "EU AI Act",
          "id": "Art 10",
          "name": "Data and data governance",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'send'; confirm against published text (asserted basis: Egress of regulated records is sensitive-information disclosure.)",
          "confidence": "inferred",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM02",
          "name": "Sensitive Information Disclosure",
          "provenance": "INFERRED"
        },
        {
          "basis": "Data leaving to an external domain maps to the Exfiltration tactic; confirm the specific technique with an analyst.",
          "confidence": "advisory",
          "fw": "MITRE ATT&CK",
          "id": "TA0010",
          "name": "Exfiltration",
          "provenance": "EXTRACTED"
        },
        {
          "basis": "uncontrolled egress of regulated data maps to exfiltration",
          "confidence": "advisory",
          "fw": "MITRE ATT&CK",
          "id": "T1048",
          "name": "Exfiltration Over Alternative Protocol",
          "provenance": "EXTRACTED"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_send"
    },
    {
      "label": "send_command",
      "mappings": [
        {
          "basis": "inferred from action verb 'send'; confirm against published text (asserted basis: Blocking export to an out-of-scope endpoint is information-flow enforcement.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "AC-4",
          "name": "Information Flow Enforcement",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'send'; confirm against published text (asserted basis: Preventing data leaving the controlled boundary is boundary protection.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "SC-7",
          "name": "Boundary Protection",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'send'; confirm against published text (asserted basis: Uncontrolled egress of regulated data is a data-governance failure.)",
          "confidence": "inferred",
          "fw": "EU AI Act",
          "id": "Art 10",
          "name": "Data and data governance",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'send'; confirm against published text (asserted basis: Egress of regulated records is sensitive-information disclosure.)",
          "confidence": "inferred",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM02",
          "name": "Sensitive Information Disclosure",
          "provenance": "INFERRED"
        },
        {
          "basis": "Data leaving to an external domain maps to the Exfiltration tactic; confirm the specific technique with an analyst.",
          "confidence": "advisory",
          "fw": "MITRE ATT&CK",
          "id": "TA0010",
          "name": "Exfiltration",
          "provenance": "EXTRACTED"
        },
        {
          "basis": "uncontrolled egress of regulated data maps to exfiltration",
          "confidence": "advisory",
          "fw": "MITRE ATT&CK",
          "id": "T1048",
          "name": "Exfiltration Over Alternative Protocol",
          "provenance": "EXTRACTED"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_send_command"
    },
    {
      "label": "send_for_fun",
      "mappings": [
        {
          "basis": "inferred from action verb 'send'; confirm against published text (asserted basis: Blocking export to an out-of-scope endpoint is information-flow enforcement.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "AC-4",
          "name": "Information Flow Enforcement",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'send'; confirm against published text (asserted basis: Preventing data leaving the controlled boundary is boundary protection.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "SC-7",
          "name": "Boundary Protection",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'send'; confirm against published text (asserted basis: Uncontrolled egress of regulated data is a data-governance failure.)",
          "confidence": "inferred",
          "fw": "EU AI Act",
          "id": "Art 10",
          "name": "Data and data governance",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'send'; confirm against published text (asserted basis: Egress of regulated records is sensitive-information disclosure.)",
          "confidence": "inferred",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM02",
          "name": "Sensitive Information Disclosure",
          "provenance": "INFERRED"
        },
        {
          "basis": "Data leaving to an external domain maps to the Exfiltration tactic; confirm the specific technique with an analyst.",
          "confidence": "advisory",
          "fw": "MITRE ATT&CK",
          "id": "TA0010",
          "name": "Exfiltration",
          "provenance": "EXTRACTED"
        },
        {
          "basis": "uncontrolled egress of regulated data maps to exfiltration",
          "confidence": "advisory",
          "fw": "MITRE ATT&CK",
          "id": "T1048",
          "name": "Exfiltration Over Alternative Protocol",
          "provenance": "EXTRACTED"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_send_for_fun"
    },
    {
      "label": "send_for_profit",
      "mappings": [
        {
          "basis": "inferred from action verb 'send'; confirm against published text (asserted basis: Blocking export to an out-of-scope endpoint is information-flow enforcement.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "AC-4",
          "name": "Information Flow Enforcement",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'send'; confirm against published text (asserted basis: Preventing data leaving the controlled boundary is boundary protection.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "SC-7",
          "name": "Boundary Protection",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'send'; confirm against published text (asserted basis: Uncontrolled egress of regulated data is a data-governance failure.)",
          "confidence": "inferred",
          "fw": "EU AI Act",
          "id": "Art 10",
          "name": "Data and data governance",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'send'; confirm against published text (asserted basis: Egress of regulated records is sensitive-information disclosure.)",
          "confidence": "inferred",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM02",
          "name": "Sensitive Information Disclosure",
          "provenance": "INFERRED"
        },
        {
          "basis": "Data leaving to an external domain maps to the Exfiltration tactic; confirm the specific technique with an analyst.",
          "confidence": "advisory",
          "fw": "MITRE ATT&CK",
          "id": "TA0010",
          "name": "Exfiltration",
          "provenance": "EXTRACTED"
        },
        {
          "basis": "uncontrolled egress of regulated data maps to exfiltration",
          "confidence": "advisory",
          "fw": "MITRE ATT&CK",
          "id": "T1048",
          "name": "Exfiltration Over Alternative Protocol",
          "provenance": "EXTRACTED"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_send_for_profit"
    },
    {
      "label": "send_to_many",
      "mappings": [
        {
          "basis": "inferred from action verb 'send'; confirm against published text (asserted basis: Blocking export to an out-of-scope endpoint is information-flow enforcement.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "AC-4",
          "name": "Information Flow Enforcement",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'send'; confirm against published text (asserted basis: Preventing data leaving the controlled boundary is boundary protection.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "SC-7",
          "name": "Boundary Protection",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'send'; confirm against published text (asserted basis: Uncontrolled egress of regulated data is a data-governance failure.)",
          "confidence": "inferred",
          "fw": "EU AI Act",
          "id": "Art 10",
          "name": "Data and data governance",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'send'; confirm against published text (asserted basis: Egress of regulated records is sensitive-information disclosure.)",
          "confidence": "inferred",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM02",
          "name": "Sensitive Information Disclosure",
          "provenance": "INFERRED"
        },
        {
          "basis": "Data leaving to an external domain maps to the Exfiltration tactic; confirm the specific technique with an analyst.",
          "confidence": "advisory",
          "fw": "MITRE ATT&CK",
          "id": "TA0010",
          "name": "Exfiltration",
          "provenance": "EXTRACTED"
        },
        {
          "basis": "uncontrolled egress of regulated data maps to exfiltration",
          "confidence": "advisory",
          "fw": "MITRE ATT&CK",
          "id": "T1048",
          "name": "Exfiltration Over Alternative Protocol",
          "provenance": "EXTRACTED"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_send_to_many"
    },
    {
      "label": "send_to_tool",
      "mappings": [
        {
          "basis": "inferred from action verb 'send'; confirm against published text (asserted basis: Blocking export to an out-of-scope endpoint is information-flow enforcement.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "AC-4",
          "name": "Information Flow Enforcement",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'send'; confirm against published text (asserted basis: Preventing data leaving the controlled boundary is boundary protection.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "SC-7",
          "name": "Boundary Protection",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'send'; confirm against published text (asserted basis: Uncontrolled egress of regulated data is a data-governance failure.)",
          "confidence": "inferred",
          "fw": "EU AI Act",
          "id": "Art 10",
          "name": "Data and data governance",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'send'; confirm against published text (asserted basis: Egress of regulated records is sensitive-information disclosure.)",
          "confidence": "inferred",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM02",
          "name": "Sensitive Information Disclosure",
          "provenance": "INFERRED"
        },
        {
          "basis": "Data leaving to an external domain maps to the Exfiltration tactic; confirm the specific technique with an analyst.",
          "confidence": "advisory",
          "fw": "MITRE ATT&CK",
          "id": "TA0010",
          "name": "Exfiltration",
          "provenance": "EXTRACTED"
        },
        {
          "basis": "uncontrolled egress of regulated data maps to exfiltration",
          "confidence": "advisory",
          "fw": "MITRE ATT&CK",
          "id": "T1048",
          "name": "Exfiltration Over Alternative Protocol",
          "provenance": "EXTRACTED"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_send_to_tool"
    },
    {
      "label": "upload_progress",
      "mappings": [
        {
          "basis": "inferred from action verb 'upload'; confirm against published text (asserted basis: Blocking export to an out-of-scope endpoint is information-flow enforcement.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "AC-4",
          "name": "Information Flow Enforcement",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'upload'; confirm against published text (asserted basis: Preventing data leaving the controlled boundary is boundary protection.)",
          "confidence": "inferred",
          "fw": "NIST SP 800-53r5",
          "id": "SC-7",
          "name": "Boundary Protection",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'upload'; confirm against published text (asserted basis: Uncontrolled egress of regulated data is a data-governance failure.)",
          "confidence": "inferred",
          "fw": "EU AI Act",
          "id": "Art 10",
          "name": "Data and data governance",
          "provenance": "INFERRED"
        },
        {
          "basis": "inferred from action verb 'upload'; confirm against published text (asserted basis: Egress of regulated records is sensitive-information disclosure.)",
          "confidence": "inferred",
          "fw": "OWASP LLM Top 10 (2025)",
          "id": "LLM02",
          "name": "Sensitive Information Disclosure",
          "provenance": "INFERRED"
        },
        {
          "basis": "Data leaving to an external domain maps to the Exfiltration tactic; confirm the specific technique with an analyst.",
          "confidence": "advisory",
          "fw": "MITRE ATT&CK",
          "id": "TA0010",
          "name": "Exfiltration",
          "provenance": "EXTRACTED"
        },
        {
          "basis": "uncontrolled egress of regulated data maps to exfiltration",
          "confidence": "advisory",
          "fw": "MITRE ATT&CK",
          "id": "T1048",
          "name": "Exfiltration Over Alternative Protocol",
          "provenance": "EXTRACTED"
        }
      ],
      "matched_via": "heuristic",
      "subject_id": "fn_upload_progress"
    }
  ],
  "edges": [
    {
      "dst": "act_build",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "act_clean",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "act_test",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_delete",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_delete_deployment",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_delete_file",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_delete_first",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_delete_for_runs",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_delete_item",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_delete_thread",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_delete_ui_message",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_execute",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_execute_tools",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_post",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_post_model_hook",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_post_model_hook_router",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_post_process",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_run",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_run_all_interviews",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_run_async",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_run_benchmark",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_run_copy_thread_tests",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_run_coroutine_threadsafe",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_run_delete_for_runs_tests",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_run_delete_thread_tests",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_run_delta_channel_history_tests",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_run_first_event_latency",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_run_get_tuple_tests",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_run_graph",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_run_list_tests",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_run_one",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_run_prune_tests",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_run_put_tests",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_run_put_writes_tests",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_run_subgraph",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_run_sync",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_run_with_retry",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_send",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_send_command",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_send_for_fun",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_send_for_profit",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_send_to_many",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_send_to_tool",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "fn_upload_progress",
      "provenance": "EXTRACTED",
      "rel": "EXECUTES",
      "src": "agent_langgraph"
    },
    {
      "dst": "cap_add",
      "provenance": "EXTRACTED",
      "rel": "HAS_CAPABILITY",
      "src": "agent_langgraph"
    },
    {
      "dst": "cap_aecho",
      "provenance": "EXTRACTED",
      "rel": "HAS_CAPABILITY",
      "src": "agent_langgraph"
    },
    {
      "dst": "cap_astreamer",
      "provenance": "EXTRACTED",
      "rel": "HAS_CAPABILITY",
      "src": "agent_langgraph"
    },
    {
      "dst": "cap_async_add",
      "provenance": "EXTRACTED",
      "rel": "HAS_CAPABILITY",
      "src": "agent_langgraph"
    },
    {
      "dst": "cap_boom",
      "provenance": "EXTRACTED",
      "rel": "HAS_CAPABILITY",
      "src": "agent_langgraph"
    },
    {
      "dst": "cap_command_tool",
      "provenance": "EXTRACTED",
      "rel": "HAS_CAPABILITY",
      "src": "agent_langgraph"
    },
    {
      "dst": "cap_echo",
      "provenance": "EXTRACTED",
      "rel": "HAS_CAPABILITY",
      "src": "agent_langgraph"
    },
    {
      "dst": "cap_failing_tool",
      "provenance": "EXTRACTED",
      "rel": "HAS_CAPABILITY",
      "src": "agent_langgraph"
    },
    {
      "dst": "cap_get_user_name",
      "provenance": "EXTRACTED",
      "rel": "HAS_CAPABILITY",
      "src": "agent_langgraph"
    },
    {
      "dst": "cap_get_weather",
      "provenance": "EXTRACTED",
      "rel": "HAS_CAPABILITY",
      "src": "agent_langgraph"
    },
    {
      "dst": "cap_get_weather_optional",
      "provenance": "EXTRACTED",
      "rel": "HAS_CAPABILITY",
      "src": "agent_langgraph"
    },
    {
      "dst": "cap_inner_tool",
      "provenance": "EXTRACTED",
      "rel": "HAS_CAPABILITY",
      "src": "agent_langgraph"
    },
    {
      "dst": "cap_search",
      "provenance": "EXTRACTED",
      "rel": "HAS_CAPABILITY",
      "src": "agent_langgraph"
    },
    {
      "dst": "cap_search_api",
      "provenance": "EXTRACTED",
      "rel": "HAS_CAPABILITY",
      "src": "agent_langgraph"
    },
    {
      "dst": "cap_search_engine",
      "provenance": "EXTRACTED",
      "rel": "HAS_CAPABILITY",
      "src": "agent_langgraph"
    },
    {
      "dst": "cap_streamer",
      "provenance": "EXTRACTED",
      "rel": "HAS_CAPABILITY",
      "src": "agent_langgraph"
    },
    {
      "dst": "cap_streaming_echo",
      "provenance": "EXTRACTED",
      "rel": "HAS_CAPABILITY",
      "src": "agent_langgraph"
    }
  ],
  "frameworks": [],
  "nodes": [
    {
      "id": "act_build",
      "name": "build",
      "props": {
        "action": "build"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "act_clean",
      "name": "clean",
      "props": {
        "action": "clean"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "act_test",
      "name": "test",
      "props": {
        "action": "test"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "agent_langgraph",
      "name": "langgraph",
      "props": {
        "source_kind": "directory"
      },
      "provenance": "EXTRACTED",
      "type": "Agent"
    },
    {
      "id": "cap_add",
      "name": "add",
      "props": {
        "action": "add"
      },
      "provenance": "EXTRACTED",
      "type": "Capability"
    },
    {
      "id": "cap_aecho",
      "name": "aecho",
      "props": {
        "action": "aecho"
      },
      "provenance": "EXTRACTED",
      "type": "Capability"
    },
    {
      "id": "cap_astreamer",
      "name": "astreamer",
      "props": {
        "action": "astreamer"
      },
      "provenance": "EXTRACTED",
      "type": "Capability"
    },
    {
      "id": "cap_async_add",
      "name": "async_add",
      "props": {
        "action": "async_add"
      },
      "provenance": "EXTRACTED",
      "type": "Capability"
    },
    {
      "id": "cap_boom",
      "name": "boom",
      "props": {
        "action": "boom"
      },
      "provenance": "EXTRACTED",
      "type": "Capability"
    },
    {
      "id": "cap_command_tool",
      "name": "command_tool",
      "props": {
        "action": "command_tool"
      },
      "provenance": "EXTRACTED",
      "type": "Capability"
    },
    {
      "id": "cap_echo",
      "name": "echo",
      "props": {
        "action": "echo"
      },
      "provenance": "EXTRACTED",
      "type": "Capability"
    },
    {
      "id": "cap_failing_tool",
      "name": "failing_tool",
      "props": {
        "action": "failing_tool"
      },
      "provenance": "EXTRACTED",
      "type": "Capability"
    },
    {
      "id": "cap_get_user_name",
      "name": "get_user_name",
      "props": {
        "action": "get_user_name"
      },
      "provenance": "EXTRACTED",
      "type": "Capability"
    },
    {
      "id": "cap_get_weather",
      "name": "get_weather",
      "props": {
        "action": "get_weather"
      },
      "provenance": "EXTRACTED",
      "type": "Capability"
    },
    {
      "id": "cap_get_weather_optional",
      "name": "get_weather_optional",
      "props": {
        "action": "get_weather_optional"
      },
      "provenance": "EXTRACTED",
      "type": "Capability"
    },
    {
      "id": "cap_inner_tool",
      "name": "inner_tool",
      "props": {
        "action": "inner_tool"
      },
      "provenance": "EXTRACTED",
      "type": "Capability"
    },
    {
      "id": "cap_search",
      "name": "search",
      "props": {
        "action": "search"
      },
      "provenance": "EXTRACTED",
      "type": "Capability"
    },
    {
      "id": "cap_search_api",
      "name": "search_api",
      "props": {
        "action": "search_api"
      },
      "provenance": "EXTRACTED",
      "type": "Capability"
    },
    {
      "id": "cap_search_engine",
      "name": "search_engine",
      "props": {
        "action": "search_engine"
      },
      "provenance": "EXTRACTED",
      "type": "Capability"
    },
    {
      "id": "cap_streamer",
      "name": "streamer",
      "props": {
        "action": "streamer"
      },
      "provenance": "EXTRACTED",
      "type": "Capability"
    },
    {
      "id": "cap_streaming_echo",
      "name": "streaming_echo",
      "props": {
        "action": "streaming_echo"
      },
      "provenance": "EXTRACTED",
      "type": "Capability"
    },
    {
      "id": "fn_delete",
      "name": "delete",
      "props": {
        "action": "delete"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_delete_deployment",
      "name": "delete_deployment",
      "props": {
        "action": "delete_deployment"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_delete_file",
      "name": "delete_file",
      "props": {
        "action": "delete_file"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_delete_first",
      "name": "delete_first",
      "props": {
        "action": "delete_first"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_delete_for_runs",
      "name": "delete_for_runs",
      "props": {
        "action": "delete_for_runs"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_delete_item",
      "name": "delete_item",
      "props": {
        "action": "delete_item"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_delete_thread",
      "name": "delete_thread",
      "props": {
        "action": "delete_thread"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_delete_ui_message",
      "name": "delete_ui_message",
      "props": {
        "action": "delete_ui_message"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_execute",
      "name": "execute",
      "props": {
        "action": "execute"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_execute_tools",
      "name": "execute_tools",
      "props": {
        "action": "execute_tools"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_post",
      "name": "post",
      "props": {
        "action": "post"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_post_model_hook",
      "name": "post_model_hook",
      "props": {
        "action": "post_model_hook"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_post_model_hook_router",
      "name": "post_model_hook_router",
      "props": {
        "action": "post_model_hook_router"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_post_process",
      "name": "post_process",
      "props": {
        "action": "post_process"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_run",
      "name": "run",
      "props": {
        "action": "run"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_run_all_interviews",
      "name": "run_all_interviews",
      "props": {
        "action": "run_all_interviews"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_run_async",
      "name": "run_async",
      "props": {
        "action": "run_async"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_run_benchmark",
      "name": "run_benchmark",
      "props": {
        "action": "run_benchmark"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_run_copy_thread_tests",
      "name": "run_copy_thread_tests",
      "props": {
        "action": "run_copy_thread_tests"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_run_coroutine_threadsafe",
      "name": "run_coroutine_threadsafe",
      "props": {
        "action": "run_coroutine_threadsafe"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_run_delete_for_runs_tests",
      "name": "run_delete_for_runs_tests",
      "props": {
        "action": "run_delete_for_runs_tests"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_run_delete_thread_tests",
      "name": "run_delete_thread_tests",
      "props": {
        "action": "run_delete_thread_tests"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_run_delta_channel_history_tests",
      "name": "run_delta_channel_history_tests",
      "props": {
        "action": "run_delta_channel_history_tests"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_run_first_event_latency",
      "name": "run_first_event_latency",
      "props": {
        "action": "run_first_event_latency"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_run_get_tuple_tests",
      "name": "run_get_tuple_tests",
      "props": {
        "action": "run_get_tuple_tests"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_run_graph",
      "name": "run_graph",
      "props": {
        "action": "run_graph"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_run_list_tests",
      "name": "run_list_tests",
      "props": {
        "action": "run_list_tests"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_run_one",
      "name": "run_one",
      "props": {
        "action": "run_one"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_run_prune_tests",
      "name": "run_prune_tests",
      "props": {
        "action": "run_prune_tests"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_run_put_tests",
      "name": "run_put_tests",
      "props": {
        "action": "run_put_tests"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_run_put_writes_tests",
      "name": "run_put_writes_tests",
      "props": {
        "action": "run_put_writes_tests"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_run_subgraph",
      "name": "run_subgraph",
      "props": {
        "action": "run_subgraph"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_run_sync",
      "name": "run_sync",
      "props": {
        "action": "run_sync"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_run_with_retry",
      "name": "run_with_retry",
      "props": {
        "action": "run_with_retry"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_send",
      "name": "send",
      "props": {
        "action": "send"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_send_command",
      "name": "send_command",
      "props": {
        "action": "send_command"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_send_for_fun",
      "name": "send_for_fun",
      "props": {
        "action": "send_for_fun"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_send_for_profit",
      "name": "send_for_profit",
      "props": {
        "action": "send_for_profit"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_send_to_many",
      "name": "send_to_many",
      "props": {
        "action": "send_to_many"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_send_to_tool",
      "name": "send_to_tool",
      "props": {
        "action": "send_to_tool"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    },
    {
      "id": "fn_upload_progress",
      "name": "upload_progress",
      "props": {
        "action": "upload_progress"
      },
      "provenance": "EXTRACTED",
      "type": "Task"
    }
  ],
  "note": "Proposed CWN mappings, confidence-tagged. Confirm against the current published control text before relying on them for audit. Enterprise control ids are mapped at onboarding by your GRC team, never auto-asserted.",
  "source": "langgraph",
  "source_kind": "directory"
}
