explaingit

joyboseroy/falkor-irac

Analysis updated 2026-05-18

1PythonAudience · developerComplexity · 4/5Setup · moderate

TLDR

An Indian legal AI system that verifies every answer against a graph of real court cases before returning it, rejecting answers with no supporting precedent.

Mindmap

A visual breakdown will appear here once this repo is fully enriched.

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Answer legal research questions with citations traceable to real Supreme Court and High Court judgments.

USE CASE 2

Detect when two valid precedents contradict each other and flag the conflict for human review.

USE CASE 3

Build a fact-checked legal Q&A tool that refuses to answer when no supporting case path exists.

What is it built with?

PythonFalkorDBDocker

How does it compare?

joyboseroy/falkor-iraca-bissell/unleash-liteabhiinnovates/whatsapp-hr-assistant
Stars111
LanguagePythonPythonPython
Setup difficultymoderatehardhard
Complexity4/54/53/5
Audiencedeveloperresearcherdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Requires Docker to run FalkorDB, plus ingesting court judgment data before queries work.

In plain English

falkor-irac is a reasoning framework for Indian legal AI that uses a knowledge graph to verify every answer an AI generates before returning it to the user. It is built around the concept that legal reasoning is not fuzzy text search, it is structured traversal of relationships between cases, statutes, and precedents. The system ingests Supreme Court and High Court judgments and stores them as structured nodes in a graph database called FalkorDB. Each judgment is broken into IRAC components, Issue, Rule, Analysis, Conclusion, and connected to related cases, statutes, judges, procedural events, and outcomes through typed relationships. The README describes this as treating courts as "graph traversal engines disguised as prose." When a user asks a legal question, a retrieval agent traverses the graph to find relevant precedents and reasoning paths. An LLM then generates an answer guided by those paths. Before the answer is returned, a Verifier Agent checks whether a valid citation path actually exists in the graph supporting the proposed answer. If no such path exists, the answer is rejected or flagged. This binary check, the README calls it a "falsifiability oracle", is the core anti-hallucination mechanism. The system also explicitly detects doctrinal conflicts: when two valid paths support contradictory conclusions, it returns both paths, labels the conflict type (such as coordinate bench disagreement or overruled precedent), and flags it for human review rather than silently choosing one answer. It is written in Python and uses FalkorDB as the graph database, run via Docker.

Copy-paste prompts

Prompt 1
Explain how falkor-irac breaks a court judgment into IRAC components and stores them in the graph.
Prompt 2
Show me how the Verifier Agent checks whether a citation path actually exists before returning an answer.
Prompt 3
Help me set up FalkorDB with Docker to run this project locally.
Prompt 4
Walk me through how this system detects and labels doctrinal conflicts between precedents.

Frequently asked questions

What is falkor-irac?

An Indian legal AI system that verifies every answer against a graph of real court cases before returning it, rejecting answers with no supporting precedent.

What language is falkor-irac written in?

Mainly Python. The stack also includes Python, FalkorDB, Docker.

How hard is falkor-irac to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is falkor-irac for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.