API Contract POST /ask { "question": "..." } Response { "answer": "...", "sources": [...] } Problem statement requires this contract and port 8080. If the frontend expects one structure and the backend returns another, the system breaks.