# QA (самопроверка) — LIN-DIRECT-01, базовый проход ## Предупреждение и ограничения самопроверки **УЧЕБНЫЙ ЧЕРНОВИК — НЕ ДЛЯ ИМПОРТА И ЗАПУСКА** Это самопроверка модели, а не независимое одобрение и не разрешение на импорт или запуск. Проверка файлов не доказывает отсутствие исторических сетевых или кабинетных действий; независимый аудит истории инструментов не заявляется. Правки r2 нет (`input/change-r2.json` отсутствует) — это базовая редакция. ## Источники и SHA-256 | Файл | SHA-256 | |---|---| | README.md | 8814ebb98b04e7811b79afe35e95a22076902208d7d8971439b874df3184b625 | | OUTPUT-CONTRACT.json | 31f5149ad5aa0e83e46755372bff671e88d8fc69d343a68a6cb05035706331cb | | input/company.json | 57efa0b28b8aded823383c7aa7b844a6a32b0385e25074a87251594c315c584e | | input/queries.csv | 276f8f871e24229444c04e353f2627666a280a71d6933d2e56c49ab3ecd153c5 | | input/format-limits.json | c7fb009573273297ef623e1da81cd3076f70451da02c7361bd615cdfa3804116 | Источники не изменялись (хеши сняты после записи результатов; правок источников не производилось). ## Результаты и SHA-256 | Файл | SHA-256 | |---|---| | query-plan.csv | f36c8949c13ae521bbc5213e5054707763925d7ba917aff33dd9535db0925e45 | | ads.csv | 8b47922362752bfa2e3a60ddde422c8ac2a329e2befb147b695d9650d6903ea3 | | negative-candidates.csv | f85ab4f90a0cfa63fc5dbf5d135c5d8694ff124c55ec65678cf5f27bbfc370f2 | | utm-map.csv | 8fcfb375f54c0b68023c9138fad42e0be29139d1668df091ca0c23e63189b84c | | launch-checklist.md | f4ad509d108fbb538d73d0a96f6c1ba2eecd4f2d727db46047a730d6121d3da0 | `qa.md` не хешируется внутри себя. ## Классификация и группы Количества: запросов 8; include 4 (Q01–Q04); exclude 4 (Q05–Q08); групп 3; объявлений 6; строк UTM 6; строк минус-кандидатов 4. Все `is_synthetic=true`; `query_id` и `query` совпадают с `input/queries.csv` (проверено программно, порядок сохранён). | Группа | Запросы | Обоснование | |---|---|---| | G01 Аудит процесса и передачи задач | Q01, Q02 | аудит ×1 (`#/offer/audit`), область `#/scope` | | G02 Разработка регламентов | Q03 | регламенты ×2 (`#/offer/regulations`) | | G03 Описание рабочих процессов | Q04 | сектор `#/sector`; намерение неоднозначно — включён осторожно | Exclude: Q05 (информационный), Q06 (бесплатный шаблон), Q07 (вакансии), Q08 (скачать готовое). Спрос, частотность и CPC не оценивались. ## Факты и ограничения объявлений Способ подсчёта: Unicode code points, включая пробелы и знаки препинания; слова — по пробелам (знаки, прикреплённые к слову, входят в его длину); пунктуация — символы категории Unicode P. Лимиты: заголовок ≤56 / слово ≤22; текст ≤81 / пунктуация ≤15 / слово ≤23. | ad_id | Заголовок: длина / макс. слово / пункт. | Текст: длина / макс. слово / пункт. | Фактические опоры | Результат | |---|---|---|---|---| | G01-A1 | 21 / 15 / 1 | 67 / 9 / 1 | scope, audit.quantity | в лимитах | | G01-A2 | 20 / 8 / 0 | 67 / 9 / 1 | scope | в лимитах | | G02-A1 | 30 / 10 / 0 | 66 / 11 / 0 | regulations.quantity (2), scope | в лимитах | | G02-A2 | 28 / 10 / 0 | 66 / 12 / 1 | regulations, sessions.quantity (3), audience, scope | в лимитах | | G03-A1 | 26 / 9 / 0 | 71 / 9 / 2 | sector, scope | в лимитах | | G03-A2 | 33 / 9 / 1 | 61 / 10 / 1 | audit (1), regulations (2), sessions (3), scope | в лимитах | Проверка текстов: цены, сроки, налоги, оплата, гарантии, отзывы, ROI, экономия и результаты не упоминаются. Числа «2 регламента» и «3 сессии» соответствуют `offer`. Цена в объявлениях не используется. G02-A2 говорит «для руководителя команды» — роль есть в `#/audience`. Пользу формулировки описывают только как состав и предмет работы по `#/scope`. Формальная проверка длины не подтверждает модерацию. Арифметика предложения (base): аудит 1 × 12 000 = 12 000; регламенты 2 × 9 000 = 18 000; сессии 3 × 6 000 = 18 000. Сумма строк = 48 000 RUB; `package_price_rub` = 48 000 — совпадает (расхождение 0). Налог и сумма к оплате не определены (`tax_status` = null). Это учебная цена. ## Кандидаты минус-фраз и риски | query_id | Кандидат | Пересечение с Q01–Q04 | |---|---|---| | Q05 | что такое | нет | | Q06 | бесплатно | нет | | Q07 | вакансии | нет | | Q08 | скачать | нет | Одиночное «регламент» намеренно не предложено: оно исключило бы включённый Q03. Проверка только текстовая (подстроки и слова), не воспроизводит сопоставление Директа; словоформы и расширенное сопоставление не моделировались. Кандидаты не готовы к применению; нужна проверка на реальных запросах. Побочный риск: «скачать» и «бесплатно» могут встречаться в иных запросах — не оценивалось. ## Согласованность UTM 6 строк = 6 `ad_id` из `ads.csv`; `group_id` совпадает. `base_url` = `https://example.com/linea` (`company.json#/contact/website`). `utm_source=yandex`, `utm_medium=cpc`, `utm_campaign=lin-direct-01-training`, `utm_content` уникален (`g01-a1` … `g03-a2`), `utm_term` пуст. Значения в `tagged_url` разобраны и совпали с колонками (проверено). Спецсимволов нет, кодирование не потребовалось; макросов платформы нет. Статус `placeholder_not_live`; работу трекинга не утверждаем. ## Неизвестное до запуска См. `launch-checklist.md`: рекламодатель и кабинет, бюджет и ставки, география/таргетинг, посадочная, Метрика и передача меток, модерация, юридические условия — НЕ УСТАНОВЛЕНО / НЕ ПРОВЕРЕНО. Также `tax_status`, `payment_terms`, `delivery_dates`, `client_results`, `testimonials` (пустой список), `roi`, `contact.email` — неизвестны. ## Ошибки или ограничения - Известных нерешённых ошибок нет. - Классификация Q04 — суждение: запрос может быть информационным; проверить на реальных запросах. - Группа G03 состоит из одного запроса — осознанно, для различия услуг. - Формулировка G03-A2 перечисляет весь состав предложения под описанием процесса; связь с сектором — интерпретация. - Длины и пунктуация посчитаны одноразовой командой в терминале; файлов проверяющих программ не создавалось. Сети и кабинетов не использовано.