mirror of
https://github.com/TauricResearch/TradingAgents.git
synced 2026-09-19 11:15:24 +03:00
fix(agents): record the decision that was made, or flag it for review
- the labelled rating decides, whatever dash separates it, and a scale the model echoed is not one - prose naming several ratings is reviewed rather than read as the first word in the text - an unreadable decision is tagged REVIEW everywhere instead of a tradeable Hold - unrated decisions are counted apart from the backtest figures
This commit is contained in:
@@ -56,8 +56,9 @@ class TestParseRating:
|
||||
)
|
||||
assert parse_rating(text) == "Sell"
|
||||
|
||||
def test_no_rating_returns_default(self):
|
||||
assert parse_rating("No clear directional signal at this time.") == "Hold"
|
||||
def test_no_rating_is_flagged_for_review_not_defaulted(self):
|
||||
# A decision nobody can read is not a Hold; recording one invents a call.
|
||||
assert parse_rating("No clear directional signal at this time.") == RATING_REVIEW
|
||||
|
||||
def test_no_rating_custom_default(self):
|
||||
assert parse_rating("Plain prose.", default="Underweight") == "Underweight"
|
||||
@@ -116,9 +117,9 @@ class TestExtractRating:
|
||||
# substrings inside larger words must not match
|
||||
assert extract_rating("The buyer was holding shares.") is None
|
||||
|
||||
def test_parse_rating_keeps_silent_default_for_compat(self):
|
||||
# parse_rating (used by the memory log) intentionally keeps Hold default.
|
||||
assert parse_rating("No rating here.") == "Hold"
|
||||
def test_parse_rating_defaults_to_review(self):
|
||||
# The memory log tags an unreadable decision REVIEW, never a tradeable rating.
|
||||
assert parse_rating("No rating here.") == RATING_REVIEW
|
||||
assert parse_rating("No rating here.", default="Underweight") == "Underweight"
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user