{
  "spec_version": "1.4.0-otel",
  "timestamp": "2026-04-24T00:13:03.355457Z",
  "trace_id": "4bf92f3577b34da6a3ce929d0e0e4736",
  "span_id": "00f067aa0ba902b7",
  "severity_text": "WARN",
  "severity_number": 13,
  "event_name": "swarm.agent.lifecycle.deprecated",
  "resource": {
    "service.name": "swarm-orchestrator",
    "service.version": "4.2.0",
    "deployment.environment": "production",
    "node.id": "worker-node-aws-us-east-1a-04"
  },
  "attributes": {
    "agent.id": "DiscussionChairAgent",
    "agent.previous_version": "v29.x",
    "agent.target_version": "v30",
    "deprecation.reason": "Transitioning to v30 architecture.",
    "deprecation.action_required": true
  },
  "metrics": {
    "agent.core_logic.function_count": 5,
    "agent.capabilities.count": 0
  },
  "artifacts": {
    "provenance": {
      "repository": "git+ssh://repo/core/agents/discussion_chair_agent.py",
      "commit_sha": "a1b2c3d4e5f6g7h8i9j0",
      "docstring_hash": "sha256:d8c4b12389a..."
    },
    "extracted_capabilities": [],
    "core_logic_signatures": [
      {
        "name": "__init__",
        "ast_hash": "sha256:b86256b75e18d351",
        "loc": 9,
        "source": "def __init__(self, knowledge_base_path=\"knowledge_base/Knowledge_Graph.json\"):\n        \"\"\"\n        Initializes the Discussion Chair Agent.\n\n        Args:\n            knowledge_base_path (str): Path to the knowledge base file.\n        \"\"\"\n        self.knowledge_base_path = knowledge_base_path\n        self.knowledge_base = self._load_knowledge_base()"
      },
      {
        "name": "_load_knowledge_base",
        "ast_hash": "sha256:b14ef62bf29bfd2a",
        "loc": 16,
        "source": "def _load_knowledge_base(self):\n        \"\"\"\n        Loads the knowledge base from the JSON file.\n\n        Returns:\n            dict: The knowledge base data.\n        \"\"\"\n        try:\n            with open(self.knowledge_base_path, 'r') as file:\n                return json.load(file)\n        except FileNotFoundError:\n            print(f\"Knowledge base file not found: {self.knowledge_base_path}\")\n            return {}\n        except json.JSONDecodeError:\n            print(f\"Error decoding knowledge base JSON: {self.knowledge_base_path}\")\n            return {}"
      },
      {
        "name": "make_final_decision",
        "ast_hash": "sha256:051bb47bbf951039",
        "loc": 22,
        "source": "def make_final_decision(self, simulation_type, **kwargs):\n        \"\"\"\n        Makes the final decision for either the Credit Rating Assessment\n        Simulation or the Investment Committee Simulation, based on the\n        provided simulation type and relevant data.\n\n        Args:\n            simulation_type (str): The type of simulation (\"credit_rating\" or \"investment_committee\").\n            **kwargs: Keyword arguments containing the data and analysis results\n                      for the specific simulation.\n\n        Returns:\n            tuple: The final decision and a rationale for the decision,\n                   formatted appropriately for the simulation type.\n        \"\"\"\n\n        if simulation_type == \"credit_rating\":\n            return self._make_credit_rating_decision(**kwargs)\n        elif simulation_type == \"investment_committee\":\n            return self._make_investment_decision(**kwargs)\n        else:\n            raise ValueError(\"Invalid simulation type.\")"
      },
      {
        "name": "_make_credit_rating_decision",
        "ast_hash": "sha256:8622ea1aa79410f6",
        "loc": 51,
        "source_omitted_for_brevity": true,
        "note": "In a real telemetry pipeline, large functions can be truncated or omitted entirely in favor of the 'ast_hash' to save network bandwidth and storage costs."
      },
      {
        "name": "_make_investment_decision",
        "ast_hash": "sha256:a150c5a32a153697",
        "loc": 59,
        "source_omitted_for_brevity": true,
        "note": "In a real telemetry pipeline, large functions can be truncated or omitted entirely in favor of the 'ast_hash' to save network bandwidth and storage costs."
      }
    ]
  }
}