/news: normalize rounded-zero score so "-0.00" renders as "+0.00"

A balanced feed (XAU and USD means nearly cancelling) yields a tiny
negative net that "+.2f" rendered as "-0.00" — seen live 2026-08-03.
Regression test uses that day's actual per-currency means (300 tests).

Claude-Session: https://claude.ai/code/session_017975c1TufZ3xRYAq8iWTCS
This commit is contained in:
Harwinder Sekhon
2026-08-03 18:06:44 -04:00
parent 1f54452007
commit 775330ff16
2 changed files with 13 additions and 0 deletions
+11
View File
@@ -1898,6 +1898,17 @@ def _():
assert "Bearish" in text
@test("_news_text never renders negative zero")
def _():
# Balanced feed: XAU and USD means nearly cancel → net -0.0035,
# which "+.2f" would render as "-0.00" without normalization.
ctx = FundamentalContext(news_sentiment={"XAU": 0.0238, "USD": 0.0273})
text = _news_text(ctx, NewsEngine(PlatformConfig().news))
assert "-0.00" not in text
assert "+0.00" in text
assert "Neutral" in text
@test("_news_text degrades on empty context")
def _():
text = _news_text(FundamentalContext(), NewsEngine(PlatformConfig().news))