Fixes
- Case-sensitive call resolution — Go, Rust, and Elixir resolvers previously lowercased both the label index and the callee name, causing
Authorizeto matchauthorizeand produce phantom edges. Ruby, C#, Java, Kotlin, Scala use the same generic resolver which now uses a case-sensitive dict. PHP retains a separate case-insensitive dict since PHP function/class names are genuinely case-insensitive (#993) - Cross-language phantom
callsedges — INFERREDcallsedges whose source and target nodes belong to different language families (py/js/go/rs/jvm/c/cpp/rb/php/cs/swift/lua) are now dropped at graph-build time. The skill prompt also now explicitly forbids emitting cross-language call edges (#991)