Contradiction checking for KG edges

← All Specs

Goal

Implement contradiction detection for knowledge graph edges to identify conflicting relationships and flag them for resolution.

Acceptance Criteria

☐ Contradiction checking logic implemented for KG edges
☐ Conflicting relationships identified and flagged
☐ Changes tested and verified

Approach

  • Read existing KG edge schema and relationship types
  • Define contradiction patterns (e.g., A→activates B and A→inhibits B)
  • Implement detection algorithm
  • Test and commit
  • Dependencies

    (none listed)

    Dependents

    (none listed)

    Work Log

    • 2026-04-20 16:45:00Z — Verified: contradiction_check() implemented in epistemic_tiers.py:382-431, /api/contradiction-check in api_routes/epistemic.py:161-179. Function tested successfully against live DB.

    Verification

    Ran: python3 -c "from scidex.senate.epistemic_tiers import contradiction_check; from scidex.core.database import get_db; db = get_db(); result = contradiction_check(db, 'GENE:FOXP2', 'GENE:SYNAPTOPHYSIN', 'activates', 0.7); print('Conflicts:', len(result))" → returned 0 (no conflicts for this pair, which is expected).

    Function signature verified: contradiction_check(db, source_id: str, target_id: str, relation: str, evidence_strength: float = 0.5) -> list[dict]

    API route verified at /api/contradiction-check?source_id=X&target_id=Y&relation=Z — returns {conflicts, count, safe_to_add, consistency_score, rollback_link}.

    Already Resolved — 2026-04-20 16:45:00Z

    Commit 507c4b3c7 verified the implementation already exists on main.

    Evidence:

    • contradiction_check() at epistemic_tiers.py:382-431
    • /api/contradiction-check at api_routes/epistemic.py:161-179
    • Function test passed (0 conflicts for test pair, expected behavior)

    No additional code changes needed. Spec updated with verification log.

    File: t_contradiction_check_spec.md
    Modified: 2026-04-28 02:17
    Size: 1.9 KB