perf: add ImplicitEdgeCache to eliminate redundant framework plugin runs
build_implicit_edge_graph re-read every Python blob and re-ran all framework plugins (FastAPI, Flask, Celery) on every invocation — ~10s for the muse repo.
ImplicitEdgeCache persists the per-file edge list keyed by the SHA-256 object_id from the manifest. On a warm cache, read_object, parse_symbols, and all plugin detect_entry_points calls are skipped.
Cold: 10,744 ms → Warm: 150 ms (72× speedup)
Also fixes pre-existing test failures in test_callgraph.py, test_framework_plugins.py, and test_core_symbol_cache.py where _write_snapshot / _make_manifest helpers used bare hex digests instead of blob_id() — rejected by validate_object_id.
sha256:d6ac48300babe0f2424dcd727be8f8cab7474380373778e3d52d0e42edc5c538
sha
sha256:713166d8cacc6a5c94fc07fd281718eed1e8eac35c3327fa5d54092cc7559399
snapshot
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:d6ac48300babe0f2424dcd727be8f8cab7474380373778e3d52d0e42edc5c538 --body "your comment"
No comments yet. Be the first to start the discussion.