How hegdepavant-spec/vehicle_maintenance_agentic_flow works
Vehicle Maintenance AI is a conversational vehicle-assessment product: a user chats through the React app, the backend coordinates feature collection, conditionally obtains an authoritative ML prediction, and returns an advisor response. Separate capabilities cover persisted conversations, OAuth-backed emergency contacts and Gmail alerts, and provider failover. The README documents the agent roles and broader capabilities; sampled excerpts do not expose every API-to-service call, so uncertain wiring is omitted.
Main entry points: controller_agent.py Controller agent · App.tsx Chat interface · runner.py ADK runner · routes.py Emergency routes
Components 24
Web client
- Chat interface
frontend/src/App.tsx - Emergency controls
frontend/src/components/AccountEmergencyModal.tsx
Assessment workflow
- Chat API
backend/app/api/chat.py - ADK runner
backend/app/agent/adk_agents/runner.py - Controller agent
backend/app/agent/adk_agents/controller_agent.py - Information agent
backend/app/agent/adk_agents/information_agent.py - Feature state
backend/app/agent/state/state.py - Response agent
backend/app/agent/adk_agents/response_agent.py - Context manager
backend/app/context/manager.py
Prediction and language
- Prediction agent
backend/app/agent/adk_agents/prediction_agent.py - ML predictor
backend/app/ml/predict.py - Feature processing
backend/app/ml/preprocessing.py - Turn judge
backend/app/agent/adk_agents/judge_agent.py - LLM router
backend/app/llm/router.py
Persistence and emergency
- Conversation API
backend/app/api/conversations.py - Conversation memory
backend/app/memory/repository.py - Application database
backend/app/database/models.py - Emergency routes
backend/app/emergency/routes.py - Emergency evaluator
backend/app/emergency/emergency_engine.py - OAuth routes
backend/app/auth/routes.py - Token manager
backend/app/auth/token_manager.py - Gmail service
backend/app/services/gmail_service.py
Other components
- Driver
- Google services
Connections 25
- Driver → Chat interface: sends messages
- Chat interface → Chat API: posts chat
- Chat API → ADK runner: runs turn
- ADK runner → Controller agent: dispatches
- Controller agent → Information agent: delegates extraction
- Information agent → Feature state: updates features
- Controller agent → Prediction agent: delegates prediction
- Prediction agent → ML predictor: invokes model
- ML predictor → Feature processing: processes features
- Controller agent → Response agent: delegates response
- ADK runner → Context manager: compacts context
- Controller agent → LLM router: requests generation
- ADK runner → Turn judge: evaluates turn
- Chat interface → Conversation API: loads conversations
- Conversation API → Conversation memory: reads and writes
- Chat API → Conversation memory: persists chat
- Conversation memory → Application database: stores records
- Chat interface → Emergency routes: manages alerts
- Emergency routes → Emergency evaluator: evaluates conditions
- Emergency routes → Token manager: gets credentials
- OAuth routes → Google services: OAuth exchange
- OAuth routes → Token manager: stores tokens
- Token manager → Application database: reads and writes
- Emergency routes → Gmail service: sends alert
- Gmail service → Google services: sends email