fix: richer edge type inference reduces D-rate 61%→47%
inferEdgeType had gaps: CONTEXT↔non-REQ, INVARIANT↔CONSTRAINT, and all
same-type pairs fell through to 'relates_to'. Now covers all cross-type
pairs and uses tag overlap (≥50% containment) to infer 'refines' for
same-type pairs. Composite score: 0.8861→0.9061.