Runtime graph walk for a normalised via: hop list.
Threads a set of instance ids through each hop in order, following one edge per hop:
:forward— filtersource_idin the current ids, collecttarget_ids.:reverse— filtertarget_idin the current ids, collectsource_ids.
over AssignmentRelationship (:assignment hops) or DefinedSimpleRelationship
(:relationship hops). A hop may fan out (reach many instances) or fan in (several
intermediates reach the same instance); ids are de-duplicated between hops so a node
reached by multiple paths is visited once.
Hops are the canonical form produced by Diffo.Provider.Extension.Traversal.normalize/2:
{:forward | :reverse, :assignment | :relationship, selector}. Built so
inherited_place / inherited_party can adopt the same grammar later.
Summary
Functions
Walks hops from start_id, returning the de-duplicated list of final instance ids.