bug(update): full extraction times out after AST phase - #3058
Conversation
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).
Formal verification. No changes could be formally verified in this run.
Graphify review — findings
Adds stage-progress prints to _rebuild_code so graphify update announces its build, cluster, analyze, report, and graph-write phases as it moves through them, closing the silent gap after AST extraction that read as a hang. The prints are gated on _STAGE_PROGRESS_MIN_FILES (100), matching extract.py's own progress threshold, so smaller rebuilds stay quiet.
No blocking issues surfaced.
Analysis details — impact, health, verification
Impact & health
Graphify review
Impact — 513 functions depend on the 351 functions this change touches.
Health — this change adds coupling hotspots:
- new:
_rebuild_code()— 100 callers, 50 callees - new:
dispatch_command()— 2 callers, 122 callees - new:
watch()— 5 callers, 7 callees - new:
_reconcile_graph_html()— 6 callers, 5 callees - new:
_reconcile_existing_graph()— 1 callers, 7 callees - new:
test_poisoned_manifest_is_healed()— 0 callers, 6 callees
Verification — 513 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: 363 function(s) in the blast radius were not formally verified this run
Formal verification
Could not verify: Could not verify \_rebuild\_code.
The verifier did not have enough to check \_rebuild\_code, so it is saying so rather than guessing. No false assurance is the whole point.
Guarantee: No guarantee either way, this is an honest abstention, not a pass.
Note: Reason: parameter `watch_path` is annotated `Path` — outside the synthesizable primitive/collection set
· 6 more finding(s) on lines outside this diff (see the check run).
Fixes #3045.
What changed
graphify/watch.pytests/test_watch.pyVerification
The project's own test suite was run before and after this change; it introduces no new test failures or lint violations.