mirror of
https://github.com/Kpa-clawbot/meshcore-analyzer.git
synced 2026-09-27 06:08:03 +00:00
resolvePathWithContext (path_resolver.go) anchors each hop's disambiguation on the previously-resolved hop via a neighbor_edges adjacency lookup. But buildAndPersistNeighborEdges only ever wrote two edge shapes -- originator<->hop0 (ADVERTs only) and observer<->lastHop -- never anything between consecutive hops in the middle of a path. So the anchor lookup for hop 1+ was always querying a table that structurally could never contain that pair (unless it coincidentally matched some other packet's endpoints), which is why a resolved_path would reliably stop after hop 0 regardless of how many hops the packet actually traveled. Now also emits an edge for each consecutive pair of hops within the path itself (when both resolve unambiguously), independent of isAdvert/from_pubkey since it's relational between the hops, not tied to origin/observer identity. This feeds the exact adjacency data the anchor resolver already knows how to consume -- no changes needed there. Coverage improves gradually rather than all at once, since an interior pair must itself already be unambiguous to seed an edge. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>