{
  "ok": true,
  "contract": {
    "service": "FinQuest V2 Subject-Pack Ingestion & AI Tutor Gateway",
    "version": "1.0.0-v2-seam",
    "status": "ready_stub",
    "deploymentTarget": {
      "domain": "duofinquest.app",
      "vpsHost": "finquest-v1 (168.119.251.127)",
      "llmProvider": "OpenRouter / xAI Grok API (Hetzner backend worker)"
    },
    "endpoints": {
      "status": "GET /api/agent/status",
      "contract": "GET /api/agent/contract",
      "ingest": "POST /api/agent/ingest"
    },
    "pipelineSteps": [
      "1. Upload PDF / Lecture Slides / Samenvatting of oude tentamenvragen via de dropzone",
      "2. Hetzner backend extraheert tekst, formules en paginanummers per hoofdstuk",
      "3. LLM-pipeline genereert een gevalideerd Subject-Pack JSON (concept_card, formula_interactive, flashcard_deck, questions met + Stap-voor-stap uitwerking)",
      "4. Romy (of de student) keurt de gegenereerde modules goed en start direct met de 10-min/dag leerroute"
    ]
  },
  "moduleSchema": {
    "requiredFields": [
      "id",
      "number",
      "title",
      "learningGoal",
      "source_citation",
      "concept_card",
      "formula_interactive",
      "flashcard_deck",
      "questions"
    ],
    "questionSchema": {
      "id": "string",
      "question": "string (exam-level Dutch/English finance question)",
      "options": [
        "string (A)",
        "string (B)",
        "string (C)",
        "string (D)"
      ],
      "correctIndex": "number (0..3)",
      "feedback": "string",
      "stepByStep": {
        "formula": "string",
        "substitution": "string",
        "calculation": "string",
        "intuition": "string",
        "sourceRef": "string"
      }
    }
  }
}