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
Type: feat · Branch:feat/issue-33-neo4j-inheritance-edges · Part of epic #26 · Lands last
Problem
Base classes / implemented interfaces are stored as string-array node props (src/build/neo4j/project.ts:151); REL_TYPES (src/build/neo4j/schema.ts:129-153) has no EXTENDS/IMPLEMENTS, and the spec's deferred edgeToSymbol gate (src/build/neo4j/rows.ts:88-98) is dead code. Class hierarchy is not graph-queryable, and the resolved-only structural guarantee is unwired (neo4j-projection.md:153,175).
Open sub-check (do FIRST)
Confirm against canonical-schema.md / the SDK model whether the JSON projection should also gain an inheritance edge list or keep the current base_classes props — match Java/Python (parity). Default for this issue: Neo4j edges + keep JSON props. Record the decision in .claude/SCHEMA_DECISIONS.md.
Change
Resolve heritage signatures → declaring-node can:// ids in the emitter where idBySig lives (src/schema/v2/emit.ts); expose extends_ids / implements_ids on the V2 type node (drop unresolved/external supertypes).
Add EXTENDS, IMPLEMENTS to REL_TYPES (src/build/neo4j/schema.ts); bun run gen:schema to refresh schema.neo4j.json.
Emit the edges in project() (src/build/neo4j/project.ts) via the now-revived edgeToSymbol deferred gate (base class → EXTENDS, interface → IMPLEMENTS). Reviving the gate closes the dead-code finding.
Add a first-party class-hierarchy fixture if none exists.
Acceptance
Class hierarchy graph-queryable via EXTENDS/IMPLEMENTS; edges non-dangling; conformance gate declares both rel types; checked-in schema.neo4j.json matches gen:schema.
Files:src/schema/v2/emit.ts, src/build/neo4j/schema.ts, schema.neo4j.json, src/build/neo4j/project.ts, src/build/neo4j/rows.ts, test + fixture, .claude/SCHEMA_DECISIONS.md.
Activity
feat: schema-v2 additive-CPG emitter + neo4j v2 projection (WIP basel…
feat: schema-v2 additive-CPG emitter + neo4j v2 projection (WIP basel…
test: cover interface-extends-interface EXTENDS and entry/exit span s…