tests/search_ab_test.oxl
use super.limits { SEARCH_P95_LIMIT }
use super.search { searchByName, searchByTag }
// A/B-тест (ERRATUM V.5, DEVIATIONS.md #13, Стандарт §18.5): `oxl test --kind ab` прогоняет записанный трафик `Shop.search`
// (traffic/search.oxlrec, `oxl trace --record`) на обоих вариантах, делит его по хешу пользователя, сравнивает метрики
// со статистической значимостью и падает, если кандидат нарушил guard.
test ab "search v2" {
variant a = searchByName
variant b = searchByTag
split by .User 50/50
metric search_found, latency.p95, error_rate
guard latency.p95 < SEARCH_P95_LIMIT
traffic recorded("traffic/search.oxlrec")
}Исходник: examples/shop/tests/search_ab_test.oxl