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
neo4j/SchemaCatalog is at v1 1.0.0 with old node families (JCompilationUnit, JTypeis_* booleans, JCallable with code) and J_CALLS carrying type/weight/source_kind/destination_kind. It must project the v2 CPG (L1/L2 layer).
Scope boundary
L1/L2 Neo4j families only — the dataflow overlays (J_CFG_NEXT/J_CDG/J_DDG/J_PARAM_*/J_SUMMARY) ride in the L3/L4 issues. Reuse the existing GraphProjector/RowBuilder/GraphRows/CypherWriter/BoltWriter machinery; keep the dual-label JSymbol merge pattern and _module provenance.
Goals
v2 node families keyed by can:// id: JApplication, JModule, JSymbol (+ specific type-kind label), JCallable, JField, JParameter
SchemaCatalog major version bump; --emit schema reflects the new families
--emit neo4j runs at full implemented depth; -a/--graph-field-depth alongside --emit neo4j is an explicit non-zero error
Caveats and known risks
Families rename = major graph-schema change; moves in lockstep with the JSON schema.
Deferred-edge (no-dangling) discipline; unresolved-string fallback rides on the source node's props.
Definition of done
--emit schema produces a schema.neo4j.json listing every v2 node family the JSON emits.
--emit neo4j (no URI) writes a graph.cypher that loads clean against an empty Neo4j and is idempotent.
Cross-projection gate: Neo4j node/edge counts at full depth match the JSON at max_level (modulo explicit HAS_* containment); no dangling relationships.
Plan (optional)
Design spec: https://github.com/codellm-devkit/codeanalyzer-java/blob/main/docs/design/specs/schema-v2-l3-l4-design.md
Problem
neo4j/SchemaCatalogis at v11.0.0with old node families (JCompilationUnit,JTypeis_*booleans,JCallablewithcode) andJ_CALLScarryingtype/weight/source_kind/destination_kind. It must project the v2 CPG (L1/L2 layer).Scope boundary
L1/L2 Neo4j families only — the dataflow overlays (
J_CFG_NEXT/J_CDG/J_DDG/J_PARAM_*/J_SUMMARY) ride in the L3/L4 issues. Reuse the existingGraphProjector/RowBuilder/GraphRows/CypherWriter/BoltWritermachinery; keep the dual-labelJSymbolmerge pattern and_moduleprovenance.Goals
can://id:JApplication,JModule,JSymbol(+ specific type-kind label),JCallable,JField,JParameterJ_-prefixed relationships (D9):J_HAS_MODULE,J_DECLARES,J_HAS_CALLABLE,J_HAS_FIELD,J_RESOLVES_TO,J_CALLS(weight,prov),J_EXTENDS,J_IMPLEMENTSSchemaCatalogmajor version bump;--emit schemareflects the new families--emit neo4jruns at full implemented depth;-a/--graph-field-depthalongside--emit neo4jis an explicit non-zero errorCaveats and known risks
Definition of done
--emit schemaproduces aschema.neo4j.jsonlisting every v2 node family the JSON emits.--emit neo4j(no URI) writes agraph.cypherthat loads clean against an empty Neo4j and is idempotent.max_level(modulo explicitHAS_*containment); no dangling relationships.