defaults:
  component: process_v2_full_chain
  rag_session_id: "694cd10b-3842-4579-8d53-e54ec4291eae"

cases:
  - id: full-t01-general-docs-overview
    query: "Что входит в документацию этого проекта?"
    expected:
      router:
        domain: DOCS
        intent: DOC_EXPLAIN
        sub_intent: SUMMARY
      retrieval_plan:
        profile: docs_summary_generic
      rag:
        row_count: 0
      pipeline:
        answer_mode: insufficient_evidence
      llm:
        non_empty: true
        contains_all:
          - "не найден"
          - "документ"

  - id: full-t02-architecture-summary
    query: "Объясни overview архитектуры сервиса уведомлений"
    expected:
      router:
        domain: DOCS
        intent: DOC_EXPLAIN
        sub_intent: SUMMARY
      route:
        anchors:
          target_doc_hints_contains:
            - "docs/architecture/telegram-notify-app-overview.md"
      retrieval_plan:
        profile: docs_summary_architecture
      rag:
        paths_contains:
          - "docs/architecture/telegram-notify-app-overview.md"
      pipeline:
        answer_mode: grounded_summary
      llm:
        non_empty: true
        contains_any:
          - ["RuntimeManager", "TelegramControlChannel"]
          - ["worker", "Telegram"]

  - id: full-t03-runtime-health-summary
    query: "Что такое runtime health в этой документации?"
    expected:
      router:
        domain: DOCS
        intent: DOC_EXPLAIN
        sub_intent: SUMMARY
      retrieval_plan:
        profile: docs_summary_domain_entity
      rag:
        row_count: 0
      pipeline:
        answer_mode: insufficient_evidence
      llm:
        non_empty: true
        contains_all:
          - "не найден"
          - "документ"

  - id: full-t04-logic-flow-summary
    query: "Кратко опиши цикл отправки уведомлений"
    expected:
      router:
        domain: DOCS
        intent: DOC_EXPLAIN
        sub_intent: SUMMARY
      retrieval_plan:
        profile: docs_summary_logic_flow
      rag:
        row_count: 0
      pipeline:
        answer_mode: insufficient_evidence
      llm:
        non_empty: true
        contains_all:
          - "не найден"
          - "документ"

  - id: full-t05-errors-catalog-find-files
    query: "В каком файле лежит каталог ошибок?"
    expected:
      router:
        domain: DOCS
        intent: DOC_EXPLAIN
        sub_intent: FIND_FILES
      route:
        anchors:
          target_doc_hints_contains:
            - "docs/errors/catalog.yaml"
      retrieval_plan:
        profile: file_lookup
      rag:
        paths_contains:
          - "docs/errors/catalog.yaml"
      pipeline:
        answer_mode: deterministic
      llm:
        non_empty: true
        contains_all:
          - "docs/errors/catalog.yaml"

  - id: full-t06-docs-index-find-files
    query: "Найди файл-индекс документации проекта"
    expected:
      router:
        domain: DOCS
        intent: DOC_EXPLAIN
        sub_intent: FIND_FILES
      route:
        anchors:
          target_doc_hints_contains:
            - "docs/README.md"
      retrieval_plan:
        profile: file_lookup
      rag:
        paths_contains:
          - "docs/README.md"
      pipeline:
        answer_mode: deterministic
      llm:
        non_empty: true
        contains_all:
          - "docs/README.md"

  - id: full-t07-mixed-generic-summary
    query: "Как архитектурно устроен endpoint /send"
    expected:
      router:
        domain: DOCS
        intent: DOC_EXPLAIN
        sub_intent: SUMMARY
      route:
        anchors:
          endpoint_paths_contains:
            - "/send"
      retrieval_plan:
        profile: docs_summary_generic
      rag:
        paths_contains:
          - "docs/architecture/telegram-notify-app-overview.md"
      pipeline:
        answer_mode: grounded_summary
      llm:
        non_empty: true
        contains_any:
          - ["Telegram", "/send"]
          - ["архитект", "endpoint"]

  - id: full-t08-health-boundary
    query: "Объясни endpoint /health"
    expected:
      router:
        domain: DOCS
        intent: DOC_EXPLAIN
        sub_intent: SUMMARY
      route:
        anchors:
          endpoint_paths_contains:
            - "/health"
          file_names_not_contains:
            - "/health"
      retrieval_plan:
        profile: docs_summary_api_endpoint
      rag:
        row_count: 0
      pipeline:
        answer_mode: insufficient_evidence
      llm:
        non_empty: true
        contains_all:
          - "не найден"
          - "документ"
