# Fixtures — синтетические прайсы клиник Сгенерированы скриптом `scripts/gen_fixtures.py` (seed=42, детерминированно) для отладки pipeline **до** выдачи реальных данных от организатора. Намеренно разнородные и «грязные». ## `raw/` — входные прайсы (6 форматов) | Файл | Формат | Особенности (что тестирует) | |---|---|---| | `clinic_alpha_clean.xlsx` | Excel | Чистая таблица — быстрый путь pandas, без LLM | | `clinic_beta_dirty.xlsx` | Excel | Секции-заголовки, «от 12000», KZ-названия, лишние колонки | | `clinic_gamma.csv` | CSV (`;`) | Смешанные RU/KZ, единицы измерения | | `clinic_delta_messy.txt` | Текст | Прайс абзацем, разные разделители и валюты (тг/тенге/₸/KZT) | | `clinic_epsilon_scan.png` | Картинка | Имитация фото/скана (наклон) → путь LLM-vision / OCR | | `clinic_zeta_prices.pdf` | PDF | Текстовый PDF, RU/EN заголовок | Одни и те же услуги названы по-разному между файлами (ОАК / Общий анализ крови / Қанның жалпы анализі) — это материал для канонизации и дедупликации. ## `normalized/golden.json` — эталон нормализации (52 строки) Оракул для TDD ETL: для каждой строки из `raw/` указан `canon_id`, `canonical_ru/kz/en`, `category`, `code`, `price`, `currency`, `unit`, `source_file`. Сгенерирован тем же скриптом, что и raw → гарантированно согласован. Справочник канонов: `../contracts/service_canon.json` (15 услуг, синонимы с lang-тегами). ## TODO (Фаза 0 хакатона) - `api/*.json` — эталонные ответы API (для MSW-моков фронта)