---
type: JS Module
title: index.mjs
resource: npm/src/coverage-classify/index.mjs
docgen:
  crc: 6f120c02
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
---

## Огляд

Класифікатор визначає, чи слід вважати мутант, переданий у межах `classify`, мутантом, згенерованим тестом. Механізм працює через маршрутизацію через pi SDK (callText). Процес включає перевірку в кеші, пошук у локальній (Tier 1) моделі, пошук у хмарній (Tier 2) моделі, а у разі повної відмови систем — застосування консервативного результату. Усі результати класифікації зберігаються у кеші, який контролюється конфігурацією у `coverage-classify.cache.json`.

Ключовий механізм роботи:
Перевірка кешу з файлу `coverage-classify.cache.json`. Якщо відповідний запис знайдено, повертається збережений verdicts[]. Якщо кеш не містить результату, ініціюється послідовна класифікація: спочатку за допомогою локальної моделі (`N_LOCAL_MIN_MODEL`), а після невдачі — за допомогою хмарної моделі (`N_CLOUD_MIN_MODEL`). У випадку невдачі обох рівнів, застосовується консервативний fallback (worth-testing/confidence=0). Після успішної класифікації результат додається до кешу.

## Поведінка

1. Отримується кеш з файлу `coverage-classify.cache.json`. Якщо конфігурація моделей у кеші не відповідає поточній, кеш ініціалізується.
2. Для кожного скомпільованого мутанта у наданому наборі виконується перевірка в кеші за унікальним ключем, що включає шлях до файлу, рядок, стовпець та заміну.
3. Якщо знайдено відповідний запис у кеші, він повертається як результат класифікації.
4. Якщо в кеші запису немає, ініціюється класифікація мутанта.
5. Класифікація здійснюється послідовно через джерела ШІ: спочатку через модель, визначену у змінній `N_LOCAL_MIN_MODEL`, а якщо це не вдається, то через модель, визначену у змінній `N_CLOUD_MIN_MODEL`.
6. У разі невдачі обох моделей, встановлюється консервативний результат, що вважається мутантом, вартим тестування з низькою впевненістю.
7. Успішно класифікований результат додається до кешу з часовою відміткою.
8. Після обробки всіх мутантів, оновлений кеш записується у файл `coverage-classify.cache.json`.
9. Повертається список результатів класифікації для всіх мутантів.

## Публічний API

- classify — Визначає, які мутанти вижили, використовуючи модель для локальних даних, потім для хмарних, а якщо це не вдається, застосовує запасний варіант.

## Гарантії поведінки

- Read-only: не виконує операцій запису (ФС/БД).
- Перехоплює помилки і не пропускає винятків назовні (fail-safe).
- Кешує результати в межах одного прогону.
