NormaGraph
Policy reasoning as a structured graph, not prose
NormaGraph applies a Decision Graph abstraction to regulatory and policy corpora: deontic statements become typed nodes (obligation, prohibition, permission), actors and artifacts become entities, and cross-references become edges. Retrieval is orchestrated: vector search proposes candidates; graph constraints decide admissibility.
This is not "RAG with extra steps." It is a system where meaningful inference requires structure—conflicts are detected by graph patterns, not by hoping an LLM notices contradictions in prose.
Focus areas:
- Structured extraction with human-in-the-loop validation for high-stakes clauses.
- Conflict detection via constrained subgraph matching.
- Traceable answers: every conclusion cites a path in the graph.
Policy work fails when teams treat documents as flat text. Contradictions, scope, and exceptions hide in structure—footnotes, cross-articles, and superseding clauses.
The challenge is to combine scalable ingestion with deterministic reasoning primitives so stakeholders can trust automated analysis.
-
Layout-aware parsing segments documents into hierarchy (parts, sections, clauses).
-
Extraction to graph: Map clauses to normative atoms with provenance edges back to source spans.
-
Hybrid retrieval: Embeddings narrow search; graph traversals enforce validity (jurisdiction, time, entity type).
-
Conflict surfacing: Run pattern queries for incompatible obligations and rank by severity and evidence strength.
- 01
Extraction errors poison the graph—human validation gates and confidence scores are mandatory.
- 02
Novel cross-jurisdictional interactions may be absent from training corpora—explicit unknowns over fake precision.
- 03
Graph size can explode—subgraph scopes and archival partitions keep queries tractable.
- 01
Chose symbolic graph reasoning over end-to-end neural QA for auditability.
- 02
Higher labeling burden during ingestion; lower risk downstream.
- 03
Conservative retrieval improves precision at the expense of recall on edge cases.
conflict_query.cypher
Detect incompatible obligations on the same actor/action
1 Designed
Defined the Decision Graph abstraction, extraction schema, and conflict-query library.
Implemented
Built Neo4j modeling, hybrid retrieval orchestration, and API surfaces for analysts.
Scrapped
Pure LLM chain-of-thought for legal conclusions—unacceptable without structural guarantees.