This fork tracks upstream Graphify closely while carrying local changes for MultiDiGraph evaluation and development.
The PyPI package graphifyy installs upstream Graphify's published package, not
this fork. To install this fork, use the GitHub branch or a local checkout:
# From GitHub:
uv tool install --force git+https://github.com/hypnwtykvmpr/vampyre.git@v8
# Or from a clone of this repository:
uv tool install --force .Then install the assistant skill as usual:
graphify installOptional extras can be installed from a local checkout with commands such as
uv tool install --force ".[office]". From GitHub, use a direct reference such
as:
uv tool install --force "graphifyy[office] @ git+https://github.com/hypnwtykvmpr/vampyre.git@v8"Use uv tool install graphifyy only when you intentionally want upstream's PyPI
release.
v8is the active fork branch and is rebased on upstreamv8when useful upstream changes land.mainmirrors the active fork line for GitHub visitors who expect amainbranch.upstream-v8-baseis a clean fork-side reference to upstreamv8for future rebases and comparison.upstreamremains read-only unless contribution work is explicitly reopened.
The fork adds opt-in --multigraph support for preserving parallel relationships
between the same node pair as keyed edges. The default simple-graph path remains
available for compatibility, and --simple is the explicit lossy downgrade from
an existing multigraph profile.
The implemented multigraph path covers build/load, dedup/remap, query/path display, MCP surfaces, exports, visualizations, watch/update, cache reuse, and global graph merge/recovery. Algorithmic consumers that need simple graphs use explicit projections so parallel edges do not inflate metrics by accident.
Producer widening is intentionally conservative and evidence-driven. This fork currently preserves additional parallel detail for distinct call sites, cross-file calls that coexist with other relations, and JS/TS dynamic import sites. Remaining candidate producers should be widened only when diagnostics and focused regression tests show useful signal rather than extraction noise.
Upstream Graphify is the source project. Local fork changes should continue to be small, documented, and easy to rebase. When upstream changes touch the same files, compare both sides directly, preserve useful upstream behavior, and document any intentional divergence.
Origin enforces branch protection: force-pushes are rejected. Because rebasing
the fork stack onto a newer upstream rewrites commit SHAs, the rebased branch
diverges from origin and a plain push is a non-fast-forward. Do not try to
force it — reconcile so the push stays a fast-forward:
git fetch upstream— ifupstream/v8has not advanced, there is nothing to rebase (only push any pending fork commits as a normal fast-forward).- Rebase the fork's clean commit stack onto
upstream/v8(replay only the fork delta; drop any prior reconcile-merge commits). Hand-weave conflicts: keep upstream's improvements AND the fork's multigraph/security delta. - Re-apply post-stack fork commits (e.g. dependency security pins) and run the
full suite env-stripped — it must be 0 failures, 0 skips (see
conftest.py). - Reconcile with origin so the push fast-forwards, never force:
git merge -s ours origin/v8records origin's tip as a parent while keeping the rebased tree verbatim (git diff <rebased-tip> HEADmust be empty). git push origin v8:v8 main:main(fast-forward). Verifyorigin == local.- Trim the temporary work branch.