How kaniska-praba007/hackerrank-orchestrate-june-edition-submission works
This repository is a multimodal insurance and damage-claim evidence review system for cars, laptops, and packages. Its main workflow loads claim, history, and evidence-requirement CSVs plus claim images; parses claim intent; analyzes images; checks evidence sufficiency and risk; verifies a decision; and writes a schema-shaped CSV result. A separate evaluation command reruns the pipeline against labelled claims and reports metrics. The README documents optional caching; its runtime wiring is not visible in the sampled source, so that relationship is marked unverified.
Main entry points: orchestrator.py Graph Orchestrator · claim_parser.py Claim Parser · visual_analyzer.py Visual Analyzer · schemas.py Typed Schemas
Components 23
CLI and Evaluation
- CLI Commands
code/main.py - Evaluation Runner
code/evaluation/main.py
Claim Pipeline
- Graph Orchestrator
code/pipeline/orchestrator.py - CSV and Image Loading
code/pipeline/ingestion.py - Pipeline State
code/pipeline/state.py - Output Writer
code/pipeline/output_writer.py
Review Agents
- Claim Parser
code/agents/claim_parser.py - Mock Claim Parser
code/agents/mock_claim_parser.py - Visual Analyzer
code/agents/visual_analyzer.py - Mock Visual Analyzer
code/agents/mock_visual_analyzer.py - Evidence Engine
code/agents/evidence_engine.py - Part Matcher
code/agents/part_matcher.py - Risk Detector
code/agents/risk_detector.py - Mock Risk
code/agents/mock_risk.py - Claim Verifier
code/agents/verifier.py
Models and Services
- Typed Schemas
code/models/schemas.py - LLM Retry
code/services/retry_llm.py - Optional Cache
code/services/cache.py
Other components
- Operator
- Claim CSVs
- Gemini API
- Prediction CSV
- Evaluation Report
Connections 31
- Operator → CLI Commands: runs
code/main.py - Claim CSVs → CLI Commands: provides paths
code/main.py - CLI Commands → Graph Orchestrator: runs pipeline
code/main.py - CLI Commands → Evaluation Runner: runs evaluation
code/main.py - Evaluation Runner → Graph Orchestrator: runs pipeline
code/evaluation/main.py - Graph Orchestrator → CSV and Image Loading: loads records
code/pipeline/orchestrator.py - CSV and Image Loading → Typed Schemas: creates records
code/pipeline/ingestion.py - Graph Orchestrator → Pipeline State: uses state
code/pipeline/orchestrator.py - Graph Orchestrator → Claim Parser: dispatches parsing
code/pipeline/orchestrator.py - Graph Orchestrator → Mock Claim Parser: dispatches mock
code/pipeline/orchestrator.py - Graph Orchestrator → Visual Analyzer: dispatches analysis
code/pipeline/orchestrator.py - Graph Orchestrator → Mock Visual Analyzer: dispatches mock
code/pipeline/orchestrator.py - Graph Orchestrator → Evidence Engine: checks sufficiency
code/pipeline/orchestrator.py - Evidence Engine → Part Matcher: matches parts
code/agents/evidence_engine.py - Graph Orchestrator → Risk Detector: detects risk
code/pipeline/orchestrator.py - Graph Orchestrator → Mock Risk: selects mock
code/pipeline/orchestrator.py - Graph Orchestrator → Claim Verifier: decides claim
code/pipeline/orchestrator.py - Graph Orchestrator → Output Writer: writes output
code/pipeline/orchestrator.py - Output Writer → Prediction CSV: writes CSV
code/pipeline/output_writer.py - Evaluation Runner → Prediction CSV: reads predictions
code/evaluation/main.py - Evaluation Runner → Evaluation Report: writes report
code/evaluation/main.py - Claim Parser → Typed Schemas: returns intent
code/agents/claim_parser.py - Visual Analyzer → Typed Schemas: returns findings
code/agents/visual_analyzer.py - Risk Detector → Typed Schemas: uses risk types
code/agents/risk_detector.py - Claim Verifier → Typed Schemas: returns decision
code/agents/verifier.py - Claim Parser → LLM Retry: retries calls
code/agents/claim_parser.py - Visual Analyzer → LLM Retry: retries calls
code/agents/visual_analyzer.py - Claim Parser → Gemini API: calls model
code/agents/claim_parser.py - Visual Analyzer → Gemini API: calls vision
code/agents/visual_analyzer.py - Claim Parser → Optional Cache: may cache calls
- Visual Analyzer → Optional Cache: may cache calls