1,974 hypotheses contain 3,729+ predictions about neurodegeneration mechanisms. Many conflict (e.g., 'TDP-43 nuclear import is neuroprotective' vs 'TDP-43 cytoplasmic accumulation is protective in early disease'). Surfacing contradictions directs experimental prioritization and creates prediction market candidates.
WHY NOW: The prediction market resolution engine (314cc632) just shipped. The claim verifier (17f3b8e0) enriched evidence for 716+ hypotheses. These create conditions for a high-quality contradiction surface.
WHAT TO DO:
1. Focus on high-score hypothesis pairs: SELECT id, title, composite_score, disease, mechanism_category FROM hypotheses WHERE composite_score >= 0.7 ORDER BY composite_score DESC LIMIT 300
2. For each hypothesis, extract 3-5 key mechanistic claims as structured JSON {entity, relation, direction, specificity} using llm.py
3. Group by entity pairs to find overlapping claims from different hypotheses
4. Use LLM to rate contradiction level (0.0-1.0) for entity pairs with claims from >= 2 hypotheses
5. Filter at contradiction_score >= 0.7
6. Write to KG: INSERT INTO kg_edges (source_id, target_id, relation_type='contradicts_prediction', confidence_score, metadata_json)
7. Create wiki page at /wiki/contradictions with top-20 contradiction table
8. For top-10 contradictions: create prediction markets 'Which hypothesis is correct — A or B?' (initial price=0.5), skip if market already exists
TARGET: >= 50 contradiction pairs detected, stored in kg_edges, wiki page created, 10 resolution markets created.
DO NOT: flag trivial contradictions (different disease contexts may both be correct); merge or delete hypotheses; create duplicate markets; write to scidex.db.
Spec: docs/planning/specs/agora_hypothesis_contradiction_detector_spec.md (merged after task creation)