How dakshrjain737/ragnarok works
RAGnarok turns a job description and candidate profiles into a ranked candidate submission: it parses both inputs, retrieves candidates through five complementary paths, fuses and scores them, then produces adversarially grounded reasoning. Offline indexing supports ranking with reusable search and feature data. The README documents the end-to-end stages; sampled source excerpts were partial, so links among components follow documented responsibilities rather than unverified implementation details.
Main entry points: runner.py Pipeline runner · candidate_parser.py Candidate parser · jd_parser.py JD parser · rrf_fusion.py RRF fusion
Components 32
Parsing and indexes
- Pipeline runner
pipeline/runner.py - Candidate parser
pipeline/candidate_parser.py - JD parser
pipeline/jd_parser.py - FAISS index
indexing/faiss_builder.py - BM25 index
indexing/bm25_builder.py - Feature store
indexing/feature_store.py - Trajectory index
indexing/trajectory_builder.py - Honeypot registry
indexing/honeypot_registry.py
Hybrid retrieval
- Skill ontology
ontology/skill_map.json - Query expander
ontology/query_expander.py - Semantic retrieval
retrieval/semantic_path.py - Keyword retrieval
retrieval/keyword_path.py - Ontology traversal
retrieval/ontology_path.py - Trajectory retrieval
retrieval/trajectory_path.py - Signal retrieval
retrieval/signal_path.py - RRF fusion
retrieval/rrf_fusion.py
Ranking and scoring
- Honeypot filter
scoring/honeypot_filter.py - Cross-encoder reranker
scoring/cross_encoder.py - Skill matching
scoring/skill_match.py - Career quality
scoring/career_quality.py - Behavioral scoring
scoring/behavioral.py - Trajectory scoring
scoring/trajectory.py - Composite scorer
scoring/composite.py
Trust and explanation
- Advocate analysis
trust/advocate.py - Skeptic analysis
trust/skeptic.py - Trust verdict
trust/verdict.py - Reasoning generator
trust/reasoning_generator.py - Local LLM reranker
scoring/llm_reranker.py
Other components
- Recruiter / operator
- Candidate profiles
- Job description
- Ranked submission
output/submission.csv
Connections 48
- Recruiter / operator → Candidate profiles: provides profiles
- Recruiter / operator → Job description: provides target JD
- Recruiter / operator → Pipeline runner: starts ranking
- Candidate profiles → Candidate parser: parsed into features
- Job description → JD parser: parsed into intent
- Pipeline runner → Candidate parser: invokes
- Pipeline runner → JD parser: invokes
- Pipeline runner → FAISS index: loads index
- Pipeline runner → BM25 index: loads index
- Pipeline runner → Feature store: loads features
- Pipeline runner → Trajectory index: loads index
- Pipeline runner → Honeypot registry: checks candidates
- Candidate parser → FAISS index: builds vectors
- Candidate parser → BM25 index: builds corpus
- Candidate parser → Feature store: builds features
- Candidate parser → Trajectory index: builds patterns
- Candidate parser → Honeypot registry: registers profiles
- Pipeline runner → Semantic retrieval: dispatches query
- Pipeline runner → Keyword retrieval: dispatches query
- Pipeline runner → Ontology traversal: dispatches query
- Pipeline runner → Trajectory retrieval: dispatches query
- Pipeline runner → Signal retrieval: dispatches query
- JD parser → Semantic retrieval: supplies intent
- JD parser → Keyword retrieval: supplies intent
- JD parser → Ontology traversal: supplies intent
- JD parser → Trajectory retrieval: supplies intent
- JD parser → Signal retrieval: supplies intent
- Semantic retrieval → FAISS index: searches vectors
- Keyword retrieval → BM25 index: searches terms
- Keyword retrieval → Query expander: expands query
- Query expander → Skill ontology: reads skill map
- Ontology traversal → Skill ontology: traverses skills
- Trajectory retrieval → Trajectory index: scores patterns
- Signal retrieval → Feature store: reads signals
- Semantic retrieval → RRF fusion: returns ranked set
- Keyword retrieval → RRF fusion: returns ranked set
- Ontology traversal → RRF fusion: returns ranked set
- Trajectory retrieval → RRF fusion: returns ranked set
- Signal retrieval → RRF fusion: returns ranked set
- Pipeline runner → RRF fusion: fuses results
- Pipeline runner → Honeypot filter: filters candidates
- Honeypot filter → Honeypot registry: checks registry
- Pipeline runner → Cross-encoder reranker: reranks survivors
- Pipeline runner → Skill matching: scores skills
- Pipeline runner → Career quality: scores career
- Pipeline runner → Behavioral scoring: scores behavior
- Pipeline runner → Trajectory scoring: scores trajectory
- Pipeline runner → Composite scorer: combines scores