Skip to content

Add WindsurfIntegrator class for configuration management - #1

Open
FolatheDuckofDuckingburg wants to merge 1 commit into
v8from
FolatheDuckofDuckingburg-patch-1
Open

Add WindsurfIntegrator class for configuration management#1
FolatheDuckofDuckingburg wants to merge 1 commit into
v8from
FolatheDuckofDuckingburg-patch-1

Conversation

@FolatheDuckofDuckingburg

Copy link
Copy Markdown
Owner

Implements WindsurfIntegrator class for managing Windsurf configurations, including installation and uninstallation methods.

Implements WindsurfIntegrator class for managing Windsurf configurations, including installation and uninstallation methods.
FolatheDuckofDuckingburg pushed a commit that referenced this pull request Jul 5, 2026
…languages (Graphify-Labs#1581)

Cross-file name resolution folded case for every language, so `from pathlib
import Path` resolved to a shell script's `export PATH=...` node — one variable
becoming the corpus's #1 god-node (266 false incoming edges on a real repo),
polluting god-node rankings, affected blast-radius, and clustering. Reported
with a precise diagnosis by @sheik-hiiobd.

Case is semantic in Python/Rust/Go/Java/C#/Kotlin/Swift/Ruby/C/C++/JS/TS: `Path`
(class), `PATH` (env var), `path` (variable) are distinct. Fix gates folding by
language at the two resolution sites the repro exercised:

- global cross-file CALL resolver: index by exact case; a folded index is built
  only for case-insensitive-language nodes (PHP/SQL/Nim) and consulted only when
  the calling file is such a language.
- type-reference STUB rewire (_rewire_unique_stub_nodes): match stubs to real
  defs by exact case, with a folded fallback restricted to case-insensitive-
  language definitions — so a case-sensitive `PATH` can never absorb a `Path`.

For case-sensitive languages this only ever removes false edges. Concept/doc
dedup (dedup.py, guarded to non-code nodes) is intentionally left folding.
Regression tests: Python `Path` no longer hits shell `PATH`; a case-differing
cross-file ref doesn't resolve; exact-case resolution still works; PHP fold
preserved. Full suite 2777.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
FolatheDuckofDuckingburg pushed a commit that referenced this pull request Jul 17, 2026
…raphify-Labs#1749)

The extraction spec forbids cross-language `calls` edges, and build already
dropped cross-language INFERRED `calls`. But `imports`/`references` had no such
guard: an unresolved Python `import time` resolved by bare stem (the Graphify-Labs#1504
old-stem alias) onto a `src/time.ts` file node, welding a polyglot repo's two
language halves together. In the reporter's repo three such edges were the only
bridge between 2409 Python and 1403 TS nodes, so every backend<->frontend
shortest path routed through time.ts, inflating its betweenness ~90x and making
it the #1 reported god node.

Hoist the interop-family map to a module constant and extend the edge-loop
guard to `imports`/`imports_from`/`references`. For these relations the edge is
dropped only when BOTH endpoints are known code languages of different families,
so a config/manifest -> code reference (unknown ext) is never mistaken for a
phantom. `calls` behavior is unchanged (still INFERRED-only, still drops when
either family differs). Regression tests: py->ts import dropped, ts->ts import
kept, config->code reference kept.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@FolatheDuckofDuckingburg

Copy link
Copy Markdown
Owner Author

@jules
help me

FolatheDuckofDuckingburg added a commit that referenced this pull request Jul 28, 2026
Merge 'v8' into 'v9' to resolve conflicts on graphify/cache.py, graphify/__main__.py, and uv.lock, keeping the feature-rich v8 implementation intact. This resolves the conflicts in PR #1 on FolatheDuckofDuckingburg/graphify.

Co-authored-by: FolatheDuckofDuckingburg <268987568+FolatheDuckofDuckingburg@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant