mirror of
https://github.com/TauricResearch/TradingAgents.git
synced 2026-06-16 21:06:15 +03:00
The market analyst is bound to call get_verified_market_snapshot and its prompt requires it as the source of truth, but the tool was missing from the market ToolNode executor — so the call failed and the model reported it "unavailable" and skipped verification. Register it (with a regression guard) so the snapshot actually runs and grounds the report.
24 lines
1014 B
Python
24 lines
1014 B
Python
"""The market analyst is bound (and prompt-instructed) to call
|
|
get_verified_market_snapshot; if the executor ToolNode doesn't register it, the
|
|
call fails and the model reports the tool "unavailable" and skips verification.
|
|
|
|
Regression guard for that wiring gap (snapshot bound to the LLM but missing from
|
|
the market ToolNode).
|
|
"""
|
|
import pytest
|
|
|
|
from tradingagents.graph.trading_graph import TradingAgentsGraph
|
|
|
|
|
|
@pytest.mark.unit
|
|
def test_market_toolnode_can_execute_verified_snapshot():
|
|
# _create_tool_nodes does not use self -> call unbound (avoids building LLMs).
|
|
nodes = TradingAgentsGraph._create_tool_nodes(None)
|
|
market_tools = set(nodes["market"].tools_by_name)
|
|
assert "get_verified_market_snapshot" in market_tools, (
|
|
"get_verified_market_snapshot is bound to the market analyst but not "
|
|
"registered in the market ToolNode, so the model's call fails."
|
|
)
|
|
# the other core market tools must remain too
|
|
assert {"get_stock_data", "get_indicators"} <= market_tools
|