GitNexus/gitnexus/test
System administrator cc17925548 fix(ingestion): re-point Go struct member edges when struct is declared in a sibling file (#3558)
findEnclosingClassInfo mints a Go method's owner id from the file
containing the method (Struct:<methodFile>:<Type>), while the Struct
node is keyed by the file declaring the struct (parse-worker uses
declFile). Same package, different file => the HAS_METHOD edge's
sourceId points at a node that does not exist and the edge is silently
dropped at COPY into LadybugDB.

Add reconcileGoStructOwnerEdges, run at the end of the parse phase
after ALL worker chunks are merged so every package's structs are
visible. It rewrites only edges that would otherwise dangle, and only
when exactly one Struct node shares the dangling id's package directory
and simple name; 0 or >=2 candidates keep the old drop behavior (a
wrong owner is worse than a dropped edge).

Index build is lazy: dangling Struct sources are rare (struct fields
never dangle — they live in the struct's own file), so the common
non-Go or fully-same-file case pays two per-type edge scans and no
whole-node pass.

Regression test: test/integration/go-cross-file-struct-owner.test.ts
(fails-before: 1 HAS_METHOD edge; passes-after: 3).
2026-10-11 15:20:26 +07:00
..
fixtures fix(python): resolve calls through module-returning accessors (#3542) 2026-10-10 18:41:51 +01:00
helpers fix(community): run Leiden in a worker so its timeout can fire (#3478) 2026-10-06 09:40:21 +03:00
integration fix(ingestion): re-point Go struct member edges when struct is declared in a sibling file (#3558) 2026-10-11 15:20:26 +07:00
unit fix(python): resolve calls through module-returning accessors (#3542) 2026-10-10 18:41:51 +01:00
utils feat(storage): add configurable index storage and content retention tiers (#3060) 2026-09-12 20:31:55 +00:00