GitNexus/gitnexus-shared
Gergo Magyar 1966242675 feat: METHOD_IMPLEMENTS edges + rename OVERRIDES to METHOD_OVERRIDES (#574)
Add METHOD_IMPLEMENTS relationship type to connect concrete methods to
the interface/abstract methods they implement, and rename OVERRIDES to
METHOD_OVERRIDES for naming consistency.

METHOD_IMPLEMENTS:
- New emitMethodImplementsEdges() pass in mro-processor after MRO loop
- Match by name + parameterTypes for overloaded interface methods
- Lenient matching when either side lacks type info
- Include ALL interface/trait methods (not just abstract)
- Edge direction: ConcreteMethod → InterfaceMethod
- 8 unit tests: interface dispatch, Rust trait, overloads, default
  methods, class-extends exclusion, Property skip, queryability
- 5 per-language integration tests: Java (interface-dispatch fixture),
  PHP (abstract-dispatch), Rust (trait impl), Swift (protocol), Python
  (documents ABC-extends behavior)

OVERRIDES → METHOD_OVERRIDES:
- Renamed across 24 files (shared types, schema, MRO processor, MCP
  tools, impact confidence, all resolver integration tests)
- Added migration in ensureInitialized: existing graphs with old
  OVERRIDES edges are auto-updated to METHOD_OVERRIDES on first connect
- Migration runs once per session per repo, silently skips if no edges

Closes #574
2026-04-03 16:47:17 +01:00
..
src feat: METHOD_IMPLEMENTS edges + rename OVERRIDES to METHOD_OVERRIDES (#574) 2026-04-03 16:47:17 +01:00
package-lock.json feat: unify web and cli ingestion pipeline (#536) 2026-03-28 14:07:11 +00:00
package.json feat: unify web and cli ingestion pipeline (#536) 2026-03-28 14:07:11 +00:00
tsconfig.json feat: unify web and cli ingestion pipeline (#536) 2026-03-28 14:07:11 +00:00