You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit fe905e2
Browse filesBrowse the repository at this point in the historyBrowse files
fix: excuse dedup-explained node drops from the #479 shrink guard
build_from_json's #1145 ghost-merge pass collapses non-AST duplicate nodes
(e.g. a manifest package node and its AST-canonical twin sharing the same
source_file/label) into their AST canonical counterpart. That is a
legitimate, data-preserving node-count reduction, but to_json's #479 shrink
guard could not distinguish it from an unverified shrink and refused to
overwrite graph.json even when nothing was actually lost — reproduced on a
23,934-node graph.json where reloading via build_from_json produced 23,933
NetworkX nodes (crate:mlsirm-core merged into its AST twin pkg_mlsirm_core,
zero incident edges dropped) and cluster-only refused the write.
build_from_json now records the collapsed-node count as
G.graph["_ghost_dedup_count"]; to_json's shrink guard treats a node-count
drop as safe when it is fully explained by that count, and still refuses
when any part of the drop is unexplained.
Fixes downstream report at ContextualWisdomLab/fast-mlsirm#1847.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BXYRNTJhYLB2bYveuaFe74
0 commit comments