---
type: JS Module
title: tier-sampling-experiment.mjs
resource: npm/scripts/lib/lint-surface/tier-sampling-experiment.mjs
docgen:
  crc: f6a46f92
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
  score: 100
  issues: judge:inaccurate:0.98
  judgeModel: openai-codex/gpt-5.4-mini
---

## Огляд

Файл слугує експериментальною обгорткою для перевірки процесу виправлення (lint fix ladder). Він моделює ізольовані потенційні рішення для певного рівня, відкочуючи робоче дерево до початкового стану S1 перед кожною спробою. Мета модуля — ізольовано протестувати кандидати, які пройшли автоматичне виявлення чистоти, щоб оцінити їхню цінність через механізм зворотного зв'язку.

## Поведінка

EXPERIMENT_TIER_ORDER визначає фіксований порядок експериментальних рівнів.
buildExperimentLadder конструює список експериментальних етапів на основі наданих моделей для кожного tier.
samplingProfilesForTier генерує список можливих профілів відбору для певного tier.
chooseCleanCandidate вибирає найкращий кандидат серед усіх спроб, які пройшли перевірку на чистоту.
runTierSamplingExperiment виконує послідовність випробувань (sampling) для заданого tier, тестуючи кандидатів, обираючи найкращого та застосовуючи його патч для фінальної перевірки.

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

* EXPERIMENT_TIER_ORDER — Визначає пріоритетність випробувань (tiers).
* buildExperimentLadder — Створює ієрархію для експериментів, не впливаючи на конфігурацію продакшену.
* samplingProfilesForTier — Повідомляє про доступні варіанти збору зразків для конкретного рівня випробувань.
* chooseCleanCandidate — Вибирає оптимальний варіант з усіх тестових спроб, базуючись на мінімальній кількості змін у файлах, розмірі патчу та латентності.
* runTierSamplingExperiment — Проводить комплекс випробувань для одного рівня: для кожного варіанту повертається до початкового стану, запускається робочий процес, оцінюється якість, а при виборі — застосовується відповідний виправлення.

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

- Перехоплює помилки і не пропускає винятків назовні (fail-safe).
