Provide a single in-repo source of truth for the graph contract (node labels,
keys, typed properties, relationship types and endpoints, constraints, indexes),
serialized via --emit schema. Stamp a SCHEMA_VERSION onto every graph and guard
against producer drift with an always-on conformance test.
Scope:
- codeanalyzer/neo4j/catalog.py: NODE_LABELS, REL_TYPES, build_schema_document()
- codeanalyzer/neo4j/schema.py: constraints and indexes (DDL)
--emit schema -> schema.json; checked in as schema.neo4j.json
- test/test_neo4j_schema.py: emitter may not produce an undeclared label, relationship, or property
Provide a single in-repo source of truth for the graph contract (node labels,
keys, typed properties, relationship types and endpoints, constraints, indexes),
serialized via
--emit schema. Stamp a SCHEMA_VERSION onto every graph and guardagainst producer drift with an always-on conformance test.
Scope:
--emit schema-> schema.json; checked in as schema.neo4j.json