Do not warn for intentionally skipped sources - #2373
Conversation
There was a problem hiding this comment.
Looks safe to merge — no coupling regressions and no blocking issues, checked against the code graph (not a self-assessment).
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 PR updates the "empty sources" detection in extract() so that per-file results marked with a skipped flag are no longer treated as failed extractions (previously only nodes or error short-circuited the check). It adds a test asserting that data-shaped JSON, which is intentionally skipped, produces no nodes and does not emit a "zero nodes" warning. The change touches one condition in graphify/extract.py and adds one new test in tests/test_zero_node_no_cache.py.
No blocking issues surfaced.
Analysis details — impact, health, verification
Impact & health
Graphify review
Impact — 1199 functions depend on the 193 functions this change touches.
Health — this change adds coupling hotspots:
- worse:
extract()— 352 callers, 28 callees
Verification — 1199 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: 1072 function(s) in the blast radius were not formally verified this run
· 1 more finding(s) on lines outside this diff (see the check run).
Summary: Exclude extractor results that explicitly report skipped from the zero-node failure warning. Data-shaped JSON is deliberately skipped to keep datasets and response dumps from flooding the code graph, so warning that those files failed and will retry is false noise. Regression coverage: new data-JSON skip test; zero-node and extractor registry suites passed with 6 tests; all 87 real PersonalOS intentional JSON skips emitted no false warnings; ruff passed.