GitNexus/gitnexus/src
Mick Cooney b7728e72b5 fix(r): keep S3 method names from colliding with bare names in simple-name indexes
The shared simple-name indexes key every def by the text after the last '.'
of its qualifiedName, so an S3 method `print.foo` is indexed under `foo`
next to a bare `foo`. Two measured defects followed:

- `library(prov)` bound `foo` to `print.foo` (a wrong 0.85 import-resolved
  edge) when the S3 method was declared before the bare def;
- a same-package cross-file bare call `foo(v)` saw two candidates under
  `foo` and got no CALLS edge at all.

R-only fix, no shared-core edit, no SCHEMA_BUMP (both hooks run at resolve
time over cached ParsedFiles):

- rScopeResolver.isCallableVisibleFromCaller refuses dotted candidates: a
  bare R call can never invoke `print.foo`.
- expandRWildcardNames drops a bare name whose file also defines a dotted
  top-level def with that tail (order-blind, like the importFrom guard).

Characterisation tests deliberately updated to the new behaviour (r.test.ts,
R NAMESPACE importFrom fixture):
- print.tidy before tidy / tally before print.tally: was no edge, now a
  0.5 global-name-fallback edge to the bare def;
- bare call to a name that only an R6 method carries: was a 0.5 guess to
  the method, now no edge (a bare call cannot reach an R6 member).

Residual: dotted names bind only through qualified-name lookup (0.35),
never import-resolved; a bare name sharing a tail with an S3 method in the
same file resolves at 0.5 (fallback), not 0.85; backticked names unchanged.
2026-10-01 13:37:57 +01:00
..
cli feat(go): index gin/echo routes and report them in impact (#3402) (#3417) 2026-10-01 10:22:45 +01:00
config feat(analyze): add incremental watch mode (#3072) 2026-08-29 10:40:56 +00:00
core fix(r): keep S3 method names from colliding with bare names in simple-name indexes 2026-10-01 13:37:57 +01:00
lib fix(mcp): stop scaling the detect_changes query with the diff's hunk count (#2915) (#2930) 2026-08-12 14:51:17 +01:00
mcp feat(go): index gin/echo routes and report them in impact (#3402) (#3417) 2026-10-01 10:22:45 +01:00
server feat(mcp): add read_file + grep tools (REST parity for /api/file slice + /api/grep) (#3377) 2026-09-27 13:16:11 +00:00
storage fix(r): anchor function scopes on assignment and method-argument nodes 2026-10-01 13:37:57 +01:00
types fix(resolution): label fallback guesses and preserve export visibility (#3190) 2026-09-10 11:38:19 +01:00
utils perf(lock): probe this process's own start time once (#3222) 2026-09-08 19:06:03 +01:00