Skip to content

fix(export): colour and filter graph.html edges by relation - #2237

Open
SyedFahad7 wants to merge 2 commits into
Graphify-Labs:v8from
SyedFahad7:fix/2088-graph-html-edge-styles
Open

SyedFahad7 wants to merge 2 commits into
Graphify-Labs:v8from
SyedFahad7:fix/2088-graph-html-edge-styles

test(export): cover Connection Types panel defaults for graph.html

6de98d9
Select commit
Loading
Failed to load commit list.
Graphify Labs / Graphify succeeded Aug 28, 2026 in 0s

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

Adds an opt-in "Connection Types" panel to the interactive HTML graph export that colours and filters edges by relation, with per-relation checkboxes, stable colours (fixed palette plus a hashed fallback for unknown relations), and a persist-to-localStorage toggle for whether colouring starts on. Colouring defaults off, controlled by the edge_types argument to to_html or the GRAPHIFY_EDGE_TYPES env var via _edge_types_default; the panel is suppressed entirely on aggregated community meta-graphs where the "relation" is just a weight label. Also scopes the community show/hide-all handlers to #legend so the new panel's reused .legend-* classes aren't clobbered, and sanitizes/falls back empty relation labels to unknown.

No blocking issues surfaced. 6 lower-confidence candidates did not survive cross-model review.

Analysis details — impact, health, verification

Impact & health

Graphify review

Impact — 406 functions depend on the 135 functions this change touches.

Health — this change adds coupling hotspots:

  • new: _rebuild_code() — 98 callers, 50 callees
  • new: dispatch_command() — 2 callers, 122 callees
  • new: to_html() — 20 callers, 12 callees
  • new: run_pipeline() — 8 callers, 13 callees
  • new: watch() — 5 callers, 7 callees
  • new: _reconcile_graph_html() — 6 callers, 5 callees
  • new: test_poisoned_manifest_is_healed() — 0 callers, 6 callees

Verification — 406 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: 156 function(s) in the blast radius were not formally verified this run