Lift the resolved / structural / unresolved visibility labels (from #155, §"Honest visibility labels") into the canonical Edge model as a required confidence field.
Every backend that emits an edge must declare how it knows:
- resolved — analyzer-confirmed edge
- structural — pattern/syntactic match (e.g. dynamic-dispatch heuristics, boundary linking)
- unresolved — surfaced but unconfirmed
Boundary edges from Epic E will be structural by construction — this field is what keeps cross-language reachability honest, and query hops must propagate it.
Part of #194. Branch: feat/issue-<n>.
Lift the resolved / structural / unresolved visibility labels (from #155, §"Honest visibility labels") into the canonical
Edgemodel as a requiredconfidencefield.Every backend that emits an edge must declare how it knows:
Boundary edges from Epic E will be
structuralby construction — this field is what keeps cross-language reachability honest, and query hops must propagate it.Part of #194. Branch:
feat/issue-<n>.