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
Code files that yield no symbols (data-only .js) enter the graph as isolated nodes, silently #3946
Routing is by extension: .js is code, code goes to the AST pass only, and
semantic extraction never sees it (Step B0 selects only document/paper/image). For a pure data file, a literal array or object
with no functions, classes or imports, the AST finds nothing to extract. The
file enters the graph as a bare file node and its content contributes nothing.
Nothing in the flow reports it.
Related: #2214 (structured YAML/JSON data forced through the LLM, the opposite
routing problem), #728 (isolated dead-weight nodes from bundled/synthetic
files), #1692 / #3521 (unclassified files now surfaced; these files are
classified, so they are not covered), #3155 (file-level provenance for data
JSON).
Measured on a real corpus
After a full rebuild, 88 degree-0 nodes represented 3.10 MB and ~369,500
words, 39.5% of the corpus, with not one edge. They were large domain data
files: question banks (~45,000 lines in total) and reference catalogues,
including a ~13,000-row code table. A three-paragraph README contributed more to
the graph than all of them, purely because of the file extension. The health
check passed, since a degree-0 node is not an integrity error.
Minimal reproduction (v0.9.65; identical on 0.9.61 and 0.9.55)
Seven one-line files, each holding the same two-element array of objects:
Five of the seven common ways to write a data file produce one isolated node.
The other two produce one node for the binding name. None carries anything from
the data itself.
Expected
A code file that yields no symbols should be reported, because "this file has
no symbols" and "this file is data the AST cannot read" look identical in the
output.
Proposal
After Part A (SKILL.md), flag code files whose extraction produced only
a file node (or a file node plus bindings with no functions/classes), and
print their count and total size next to the AST summary: N code files yielded no symbols (X MB); they may be data rather than code.
Offer to route those files through semantic extraction as documents
(add them to the Part B file list), the same way video is re-routed to
documents after transcription.
Environment: observed on graphifyy 0.9.55, graphify install --platform claude,
Claude Code on Windows 11. Reproduction above re-run on 0.9.65; report.py
and the skill checked at v0.9.72.
Routing is by extension:
.jsiscode, code goes to the AST pass only, andsemantic extraction never sees it (Step B0 selects only
document/paper/image). For a pure data file, a literal array or objectwith no functions, classes or imports, the AST finds nothing to extract. The
file enters the graph as a bare file node and its content contributes nothing.
Nothing in the flow reports it.
Related: #2214 (structured YAML/JSON data forced through the LLM, the opposite
routing problem), #728 (isolated dead-weight nodes from bundled/synthetic
files), #1692 / #3521 (unclassified files now surfaced; these files are
classified, so they are not covered), #3155 (file-level provenance for data
JSON).
Measured on a real corpus
After a full rebuild, 88 degree-0 nodes represented 3.10 MB and ~369,500
words, 39.5% of the corpus, with not one edge. They were large domain data
files: question banks (~45,000 lines in total) and reference catalogues,
including a ~13,000-row code table. A three-paragraph README contributed more to
the graph than all of them, purely because of the file extension. The health
check passed, since a degree-0 node is not an integrity error.
Minimal reproduction (v0.9.65; identical on 0.9.61 and 0.9.55)
Seven one-line files, each holding the same two-element array of objects:
extract()followed bybuild_from_json():Five of the seven common ways to write a data file produce one isolated node.
The other two produce one node for the binding name. None carries anything from
the data itself.
Expected
A code file that yields no symbols should be reported, because "this file has
no symbols" and "this file is data the AST cannot read" look identical in the
output.
Proposal
SKILL.md), flag code files whose extraction produced onlya file node (or a file node plus bindings with no functions/classes), and
print their count and total size next to the AST summary:
N code files yielded no symbols (X MB); they may be data rather than code.(add them to the Part B file list), the same way video is re-routed to
documents after transcription.
GRAPH_REPORT.md, give isolated file nodes their size. The report's"isolated nodes" section (reworked through GRAPH_REPORT.md counts more communities as "shown" than it renders #3548, GRAPH_REPORT.md: community Nodes listing includes rationale/concept nodes, so docstring fragments print as node names #3794 and GRAPH_REPORT.md offers 'undocumented components' as a possible cause on graphs that structurally cannot have one #3801 in
v0.9.72) deliberately excludes file nodes, so a 400 KB data file with zero
edges is invisible there. A large isolated file node is the signature of
this failure; a small one usually is not.
Environment: observed on graphifyy 0.9.55,
graphify install --platform claude,Claude Code on Windows 11. Reproduction above re-run on 0.9.65;
report.pyand the skill checked at v0.9.72.