Objective
Stop research agents from closing incomplete sources as insufficient_evidence without trying public proxies and nearby inferred rules.
Approach
- Incomplete papers/blogs/TradingView/RecessionAlert rows intake as
research_campaign. - Every node prompt injects an enforced best-effort policy.
- Semantic gates reject empty
testable_families/variants_testedand requirebest_effort_attempts(at least three) beforeinsufficient_evidence. - Helper
research.research_campaign.best_effortsupplies FRED/Yahoo proxy maps and a default lag/lookback/threshold grid. - Source-fidelity RecessionAlert specs remain unchanged; new runs publish labeled inferred experiments.
Validation
python3 -m research.pipeline validatepython3 -m pytest -q tests/test_research_campaign_best_effort.py tests/test_research_pipeline.py tests/test_pipeline_research_campaign.pypython3 -m research.pipeline verify --offline
Follow-up
Reopen GitHub issues #1331–#1373 with agent:ready after this change is on main. Do not rewrite checked-in source-spec disposition fields.