@haolpku
Summary
The NetworkX provider stores relation- and origin-distinct edges in a MultiDiGraph, but traverse deduplicates paths using only the node sequence. Parallel relations between the same nodes are therefore suppressed according to insertion order.
Evidence
At the current main baseline (96e49f9e006f1f5a44f9838bdfbb74f27885363a), two edges A -> B with relations authored and reviewed produce the same path key (A, B). The first edge survives and the second is skipped before its relation, weight, or provenance can be returned. Reversing insertion order changes which relation is visible.
This is a deterministic reduced identity witness; the public traversal contract still needs confirmation.
Decision requested
Should path identity be:
- node sequence only, with a documented deterministic representative policy; or
- relation sequence / exact edge identity, so relation- and origin-distinct alternatives are returned?
Any implementation must preserve relation_filter, max_hops, and max_results, keep cycle control, and bound combinatorial growth. A focused regression should cover parallel relations, same relation from different origins, insertion-order reversal, filters, caps, cycles, and reload from persisted graph.
No implementation PR is opened until the path-identity contract is confirmed.
@haolpku
Summary
The NetworkX provider stores relation- and origin-distinct edges in a
MultiDiGraph, buttraversededuplicates paths using only the node sequence. Parallel relations between the same nodes are therefore suppressed according to insertion order.Evidence
At the current
mainbaseline (96e49f9e006f1f5a44f9838bdfbb74f27885363a), two edgesA -> Bwith relationsauthoredandreviewedproduce the same path key(A, B). The first edge survives and the second is skipped before its relation, weight, or provenance can be returned. Reversing insertion order changes which relation is visible.This is a deterministic reduced identity witness; the public traversal contract still needs confirmation.
Decision requested
Should path identity be:
Any implementation must preserve
relation_filter,max_hops, andmax_results, keep cycle control, and bound combinatorial growth. A focused regression should cover parallel relations, same relation from different origins, insertion-order reversal, filters, caps, cycles, and reload from persisted graph.No implementation PR is opened until the path-identity contract is confirmed.