# Suite 01 Synthetic

Синтетический набор тестов для проверки CODE_QA на тестовом репозитории:
[fixtures/code_qa_repo](/Users/alex/Dev_projects_v2/ai driven app process/v2/agent/tests/pipeline_setup/suite_01_synthetic/fixtures/code_qa_repo).

## Что входит в suite

- `fixtures/` — тестовый репозиторий и входные данные
- `golden/` — golden-кейсы
- `code_qa_eval/` — eval harness, который индексирует репозиторий и прогоняет golden-кейсы

## Запуск тестов

Из корня проекта:

```bash
PYTHONPATH=. pytest tests/pipeline_setup/suite_01_synthetic/code_qa_eval/ -q
```

Точечный запуск:

```bash
PYTHONPATH=. pytest tests/pipeline_setup/suite_01_synthetic/code_qa_eval/test_eval_harness.py -q
```

## Запуск eval harness

Из корня проекта:

```bash
PYTHONPATH=. python -m tests.pipeline_setup.suite_01_synthetic.code_qa_eval.run
```

Во время запуска harness:

- выбирает репозиторий для индексации
- создаёт новый `rag_session_id`
- индексирует репозиторий в RAG
- прогоняет golden-кейсы через CODE_QA pipeline

## Параметры запуска

У suite нет собственных CLI-флагов; конфигурация задаётся через переменные окружения:

- `CODE_QA_REPO_PATH` — путь к локальному репозиторию вместо fixture-репозитория
- `CODE_QA_PROJECT_ID` — `project_id` для создаваемой RAG-сессии; если не задан, берётся имя директории репозитория

Поведение по умолчанию:

- если `CODE_QA_REPO_PATH` не задан, используется `fixtures/code_qa_repo`
- для fixture-режима `project_id` фиксирован как `code_qa_repo`
- `rag_session_id` заранее не передаётся, а создаётся автоматически во время индексации

## Что требуется для запуска

- рабочий `DATABASE_URL`
- доступные зависимости для RAG и SQLAlchemy

Артефакты пишутся в:
[test_results/code_qa_eval](/Users/alex/Dev_projects_v2/ai driven app process/v2/agent/tests/pipeline_setup/test_results/code_qa_eval)

Детали harness:
[code_qa_eval/README.md](/Users/alex/Dev_projects_v2/ai driven app process/v2/agent/tests/pipeline_setup/suite_01_synthetic/code_qa_eval/README.md)
