pam ▸ docs/generated/ralph_loop_2026-03-16_elections_politics_sleeve_alias.md
updated 2026-03-28
Ralph Loop 2026-03-16: Elections Politics-Sleeve Alias
Why this change
Recent live candidate review was dominated by Elections rows that already used
politics-style priors but still fell into no_semantic_sleeve_match because the
bounded politics sleeves only matched the literal Politics category label.
Change
- Treated
Electionsas a valid category match for politics-family sleeves inresearch/strategy.py. - Mirrored the same category matching in
research/candidate_review.pyso live sleeve attribution stays aligned with replay/search strategy behavior. - Kept the hard deployment gate unchanged. This only improves sleeve matching and candidate-review state quality.
Result
A low-price Elections row that previously surfaced as an unmatched
research_candidate now lands in review_candidate under
politics_midprice_reversal with one explicit local blocker:
live_price<0.1.
Validation
pytest -q tests/test_candidate_review.py tests/test_research_search.py tests/test_continuous_loop.py tests/test_research_status.py42 passed in 0.13s- Manual smoke classification of an
Electionsrow: sleeve_family=politics_midprice_reversalstate=review_candidateinvalidation_reasons=["live_price<0.1"]semantic_invalidation_reasons=[]