SIGN IN SIGN UP

fix(windows): reconcile test expectations and get_node lookups with POSIX identities (#774)

Completes the #774 fix on top of the producer/consumer normalization in
5ee2a12, addressing the two gaps found in review:

- Test-suite sweep: expectations built from str(path) / f"{path}::name"
  on real Path objects asserted OS-native separators, so the POSIX
  identity change alone worsened Windows (18 -> 56 failures per the
  issue reporter). All identity-bearing expectations across 23 test
  files now use path.as_posix(); native-spelling inputs to bridged
  store/parser entry points are deliberately kept native so the
  bridging keeps getting exercised. Direct SQL file_path parameters and
  manually seeded EdgeInfo source/target identities (which bypass
  normalization) are POSIX too, matching what the parser produces.

- GraphStore.get_node bridging: qualified-name lookups now retry with
  the path component (before the first "::") POSIX-normalized when the
  exact spelling misses, mirroring the existing file-keyed bridges
  (iter_nodes_by_file, remove_file_data, get_files_matching, ...).
  The symbol part is never rewritten, so PHP fully-qualified names
  keep their backslashes; regression tests cover both behaviors with
  PureWindowsPath-derived lookups.

Both Windows regressions demonstrated in review were re-simulated with
the same PureWindowsPath methodology and pass: the module-scope CALLS
assertions in test_parser.py and the C++ overload identity test
including the store.get_node("{native}::markChanged()") crash site.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FmPUotoqsNWWt3b41FMjwv
T
Tirth Kanani committed
f060c57b90dcc9dd3a59c19b78091ba5dcb09e1c
Parent: 5ee2a12