docs(readme): add explicit git-workflow guidance for keeping the graph in sync - #3112
docs(readme): add explicit git-workflow guidance for keeping the graph in sync#3112Mohammad-Palla wants to merge 1 commit into
Conversation
…h in sync Spells out, as a table plus step-by-step instructions, which git operations rebuild the graph automatically via the installed hooks (commit, checkout/switch) and which one requires running `graphify update .` yourself (pull/merge) - with a pull-alias snippet so it's a single command either way. Adds a matching troubleshooting entry for when a teammate's changes aren't reflected yet.
There was a problem hiding this comment.
Graphify reviewed this change.
Looks safe to merge — no coupling regressions and no blocking issues, checked against the code graph (not a self-assessment).
Graphify review — findings
Documents the recommended team workflow in the README, spelling out that graphify hook install now auto-rebuilds the graph on both commit and branch checkout (and installs a graph.json merge driver), while graphify update . after git pull/git merge is the one manual sync step. Adds a you do/graphify does table, a suggested gpull alias that folds the update into pull, and a troubleshooting entry for graphs that lag behind a teammate's changes, pointing to graphify hook status to verify hooks.
No blocking issues surfaced.
Analysis details — impact, health, verification
Impact & health
Graphify review
Impact — 27 functions depend on the 27 functions this change touches.
Health — grade A; no new coupling hotspots.
Verification — 27 functions in the blast radius were not formally verified this run (proofs are advisory here).
Gate & verification
graphify gate
PASS — objectively clean (no health regressions, tests not run — proofs not run this pass (advisory)). Grounded, not self-assessed.
Advisory (not blocking):
- verification_scope: 27 function(s) in the blast radius were not formally verified this run
Summary
Adds a clear, step-by-step workflow to the README's "Team setup" section covering how the graph stays in sync with normal git usage:
git commitandgit checkout/git switchrebuild automatically via the installed hooks;git pull/git mergerequires runninggraphify update .yourself.git config --global alias.gpull '!git pull && graphify update .') so keeping the graph current after a pull is a single command.Motivation
Several users have reported the graph feeling "stale" after using it for a few days, particularly on large/active repos. In practice this is because commits and branch switches rebuild automatically, but pulling in a teammate's changes does not — so a normal day of
git pull-ing quickly drifts out of sync unlessgraphify update .is run afterward. This makes that step explicit and easy to build into a habit or alias, rather than something users discover only after hitting it.Test plan
graphify/hooks.py:post-commit+post-checkoutonly, nopost-merge)graphify update .is the correct incremental command (matches existing usage elsewhere in the README, e.g.graphify update ./src)