[
  {
    "id": "quickstart-best",
    "category": "Quick Start",
    "question": "What is the fastest way to start in EVd3x?",
    "tags": ["start", "search"],
    "applies_to": ["search"],
    "answer_short": "Start with a focused query and read Summary first.",
    "answer_long": "Use a natural-language query, a single molecule, or a short collection. Wait for Summary to load, then open EV Evidence before deeper modules.",
    "related_sections": ["quick-start", "core-workflows"],
    "related_terms": ["Summary", "Single mode", "Collection mode"]
  },
  {
    "id": "single-vs-collection",
    "category": "Quick Start",
    "question": "How is single mode different from collection mode?",
    "tags": ["mode"],
    "applies_to": ["search"],
    "answer_short": "Single mode auto-selects one node; collection mode opens system summary.",
    "answer_long": "If one molecule resolves, EVd3x opens node-first interpretation. If multiple molecules resolve, EVd3x opens system-first interpretation without auto-selecting a node.",
    "related_sections": ["quick-start", "core-workflows"],
    "related_terms": ["Single mode", "Collection mode", "Summary"]
  },
  {
    "id": "summary-first",
    "category": "Interpretation",
    "question": "Why should Summary be reviewed before other tabs?",
    "tags": ["summary", "interpretation"],
    "applies_to": ["analysis"],
    "answer_short": "Summary confirms the active context.",
    "answer_long": "Summary verifies whether you are in node or system context and reduces misinterpretation in downstream modules.",
    "related_sections": ["quick-start", "interpreting-results"],
    "related_terms": ["Summary"]
  },
  {
    "id": "target-derived-meaning",
    "category": "Interpretation",
    "question": "What does target-derived mean in EVd3x?",
    "tags": ["miRNA", "target-derived"],
    "applies_to": ["analysis"],
    "answer_short": "It is context inferred through miRNA-mRNA support links.",
    "answer_long": "Target-derived rows are useful for prioritization and follow-up design but should be reported separately from direct evidence rows.",
    "related_sections": ["interpreting-results"],
    "related_terms": ["target-derived", "miRNA", "mRNA"]
  },
  {
    "id": "missing-evtrack",
    "category": "EV Evidence",
    "question": "Why are EV-TRACK fields missing for some rows?",
    "tags": ["ev-track", "provenance"],
    "applies_to": ["ev-evidence"],
    "answer_short": "Some upstream rows do not include EV-TRACK metadata.",
    "answer_long": "EV-TRACK availability depends on source records. Missing values can reflect source coverage rather than lack of EV relevance.",
    "related_sections": ["data-provenance", "troubleshooting"],
    "related_terms": ["EV-TRACK ID", "Source"]
  },
  {
    "id": "pathway-empty",
    "category": "Troubleshooting",
    "question": "Why can Pathway or Disease appear empty on first open?",
    "tags": ["loading", "pathway", "disease"],
    "applies_to": ["pathway", "disease"],
    "answer_short": "The tab can open before all lazy loading finishes.",
    "answer_long": "Wait for Summary to complete, then re-open the tab. Also confirm the active node or collection context.",
    "related_sections": ["analysis-modules", "troubleshooting"],
    "related_terms": ["Summary", "Top-N"]
  },
  {
    "id": "assistant-grounding",
    "category": "Assistant",
    "question": "How do I get grounded assistant responses?",
    "tags": ["assistant", "chat", "grounding"],
    "applies_to": ["assistant"],
    "answer_short": "Use one context-specific request per turn.",
    "answer_long": "Prompts like 'open pathway tab' or 'summarize this EV table' map to deterministic routing and retrieval-first outputs.",
    "related_sections": ["chat-guidance"],
    "related_terms": ["retrieval", "Summary"]
  },
  {
    "id": "api-auth",
    "category": "API",
    "question": "Which header should I use for API key authentication?",
    "tags": ["api", "auth"],
    "applies_to": ["api"],
    "answer_short": "Use Authorization Bearer or X-API-Key.",
    "answer_long": "All data endpoints under /api/v1 accept `Authorization: Bearer <API_KEY>` and also support `X-API-Key: <API_KEY>`.",
    "related_sections": ["api-access"],
    "related_terms": ["API key", "v1"]
  },
  {
    "id": "server-500-missing-parquet",
    "category": "Troubleshooting",
    "question": "What does a 500 with missing parquet file mean?",
    "tags": ["500", "parquet", "server"],
    "applies_to": ["search", "api"],
    "answer_short": "A required local data table is missing.",
    "answer_long": "Check the missing file path in the error payload, regenerate or restore the table in sample_databases, then restart workers.",
    "related_sections": ["troubleshooting", "data-provenance"],
    "related_terms": ["canonical tables", "sample_databases"]
  },
  {
    "id": "reporting-minimum",
    "category": "Reproducibility",
    "question": "What should be included when sharing EVd3x findings?",
    "tags": ["reporting", "reproducibility"],
    "applies_to": ["all"],
    "answer_short": "Include query, mode, filters, and exported tables.",
    "answer_long": "Report query text, mode, top-N and thresholds, and the exact machine-readable exports used for interpretation.",
    "related_sections": ["data-provenance", "interpreting-results"],
    "related_terms": ["Source", "Top-N", "q-value"]
  }
]
