feat(cluster): cluster graphs — link multiple repos into one connected graph (+ multigraph mode) - #2134
feat(cluster): cluster graphs — link multiple repos into one connected graph (+ multigraph mode)#2134StuartMVG wants to merge 24 commits into
Graphify — looks good
Looks safe to merge — no coupling regressions and no blocking issues, checked against the code graph (not a self-assessment).
Details
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
This pull request introduces a new cluster graph feature (graphify cluster with init/add/build/check/locate/remove subcommands) that links multiple repos' graphs into one connected graph via a committable cluster.json spec declaring cross-repo links, plus member back-references written into each repo's graphify-out/. It also adds a multigraph mode (--multigraph/--no-multigraph) that preserves parallel relations between nodes across build, merge, community detection, diff, and exports, and extends affected to traverse cross-repo relations by default. Supporting changes include a --graph=PATH parsing fix shared across query/path/explain/affected, a --cluster option on those same commands, a watch root-passing fix, and updates to documentation (README, ARCHITECTURE, CHANGELOG) and the generated assistant skill files/skillgen tooling to surface cluster membership. The surface area spans CLI parsing, cluster/multigraph modules, export renderers, the search-nudge hook, and a broad set of tests and expected skill fixtures.
No blocking issues surfaced. 1 lower-confidence candidate did not survive cross-model review.
Analysis details — impact, health, verification
Impact & health
Graphify review
Impact — 3576 functions depend on the 2260 functions this change touches.
Health — this change adds coupling hotspots:
- worse:
build_from_json()— 145 callers, 16 callees - new:
build_cluster()— 52 callers, 18 callees - worse:
dispatch_command()— 6 callers, 112 callees - new:
load_spec()— 35 callers, 7 callees - worse:
to_json()— 37 callers, 6 callees - worse:
build_merge()— 25 callers, 8 callees - worse:
to_wiki()— 33 callers, 5 callees - worse:
main()— 82 callers, 2 callees - …and 38 more
Verification — 3576 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: 3527 function(s) in the blast radius were not formally verified this run