How team-code-4-chnage/project-garud works
Project Garud is a network-attack monitoring and forecasting application. Operators use its dashboard to monitor live or uploaded flow telemetry; the backend validates and processes flows, scores them with a recurrent world model, persists sessions and alerts, and exposes forecasts, explanations, network context, and reports. Packet capture and deterministic signatures complement model scoring. The training pipeline is represented as a supporting model component, not as a claim about how production artifacts are built. Several route and UI implementations were not sampled, so their internal call paths are left unasserted.
Main entry points: App.jsx Dashboard shell · ingestion.py Flow processing · inference.py Forecast inference · live_capture.py Packet capture
Components 22
Operator interface
- Dashboard shell
frontend/src/App.jsx - Alerts view
frontend/src/components/AlertPanel.jsx - Network map
frontend/src/components/NetworkMap.jsx - Settings view
frontend/src/components/SettingsPanel.jsx - Explain view
frontend/src/components/ExplainView.jsx - Reports view
frontend/src/components/ReportsView.jsx - API client
frontend/src/api.js
API and monitoring
- FastAPI service
backend/app/main.py - API routes
backend/app/routes - Flow ingestion route
backend/app/routes/ingest.py - Flow processing
backend/app/ingestion.py - Packet capture
capture/live_capture.py - Flow and alert store
backend/app/database.py
Detection and context
- Flow reconstruction
capture/flow_state.py - Wire signatures
capture/signatures.py - Forecast inference
backend/app/inference.py - Model loader
backend/app/model_loader.py - Network context
backend/app/network_state.py - Session explanations
backend/app/routes/explain.py
Model development
- World model
pipeline_fixed.py - Network-state model
worldmodel_v3/lib.py
Other components
- Security operator
Connections 22
- Security operator → Dashboard shell: operates
README.md - Dashboard shell → API client: requests data
frontend/src/App.jsx - Dashboard shell → Alerts view: renders
frontend/src/App.jsx - Dashboard shell → Network map: renders
frontend/src/App.jsx - Dashboard shell → Settings view: renders
frontend/src/App.jsx - Dashboard shell → Explain view: renders
frontend/src/App.jsx - Dashboard shell → Reports view: renders
frontend/src/App.jsx - Dashboard shell → FastAPI service: controls capture
frontend/src/App.jsx - FastAPI service → API routes: registers routes
backend/app/main.py - API routes → Flow ingestion route: includes
backend/app/routes/ingest.py - Flow ingestion route → Flow processing: processes flows
backend/app/routes/ingest.py - Flow processing → Forecast inference: scores windows
backend/app/ingestion.py - Flow processing → Flow and alert store: persists records
backend/app/ingestion.py - Flow processing → Network context: uses context
backend/app/ingestion.py - Forecast inference → Model loader: uses loaded model
backend/app/inference.py - Packet capture → Flow reconstruction: reconstructs flows
capture/flow_state.py - Flow reconstruction → Wire signatures: checks signatures
capture/flow_state.py - Packet capture → Flow processing: submits captured flows
- Session explanations → Flow and alert store: reads sessions
backend/app/routes/explain.py - Session explanations → Forecast inference: uses model
backend/app/routes/explain.py - World model → Model loader: produces model artifacts
- Network-state model → World model: shares model family