pam ▸ docs/generated/ralph_loop_2026-03-16_candidate_review_sleeve_concentration.md
updated 2026-03-28

Ralph Loop 2026-03-16: Candidate Review Sleeve Concentration

Why

The current live packet had review candidates, but the handoff only exposed blocker tallies. That hid an important diagnostic: the top review candidate was blocked by sleeve_disabled, but the operator summary did not say which sleeve family was disabled.

In the current state, that missing detail mattered:

  1. Review candidates are concentrated in politics_midprice_reversal.
  2. Research candidates are concentrated in economics_band_follow.
  3. Without sleeve-family concentration by state, Ralph could see a blocker label but not whether live interest was bottlenecked in one disabled or overly narrow sleeve.

Change

Added candidate-review sleeve concentration diagnostics:

  1. research/candidate_review.py - Added top_deployable_trade_sleeves - Added top_review_candidate_sleeves - Added top_research_candidate_sleeves
  2. research/continuous_loop.py - Added top sleeve-family fields to candidate_review_done events
  3. research/status.py - Added sleeve-family concentration to the human status summary
  4. research/discord_status.py - Added sleeve-family concentration to the Discord summary
  5. research/README.md - Documented the new handoff fields as an operational diagnostic

Validation

Commands run:

pytest tests/test_candidate_review.py tests/test_continuous_loop.py tests/test_research_status.py -q
python3 main.py research-status | rg -n "candidate review|review_sleeves|research_sleeves|top review candidate|top research candidate" -n -C 1

Observed:

  1. 17 passed
  2. Status now shows: - review_sleeves=politics_midprice_reversal=1, economics_band_follow=1 - research_sleeves=economics_band_follow=16

Result

This is a PRD-003 quality improvement. Ralph can now distinguish:

  1. review-candidate quality blocked by a disabled sleeve family
  2. research-candidate volume concentrated in a single sleeve family

That improves diagnosis without loosening the deployment gate or changing search behavior.