100 lines
7.4 KiB
Markdown
100 lines
7.4 KiB
Markdown
# Checklist релиза ML-системы
|
||
|
||
> Скопируйте checklist в релизный документ. Для каждого обязательного пункта
|
||
> укажите ссылку на evidence и владельца. `[ ]` означает, что релиз заблокирован;
|
||
> неприменимый пункт пометьте `N/A` и объясните почему.
|
||
|
||
## Паспорт релиза
|
||
|
||
- **Релиз / дата:** `<ID, ГГГГ-ММ-ДД>`
|
||
- **Владелец:** `<имя/команда>`
|
||
- **Model artifact:** `<registry URI, version, checksum>`
|
||
- **Image:** `<registry URI и digest>`
|
||
- **Config / schema:** `<immutable IDs>`
|
||
- **Среда:** `<staging | production>`
|
||
- **Risk level:** `<low | medium | high и основание>`
|
||
- **Change summary:** `<что и зачем меняется>`
|
||
|
||
## Код и воспроизводимость
|
||
|
||
- [ ] Commit/tag и рабочая копия зафиксированы. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Lock-файл и build image воспроизводимы. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Training/evaluation запускаются по инструкции. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Unit, integration, contract и smoke tests пройдены. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Секреты отсутствуют в коде, образе, логах и artifacts. Evidence: `<...>` Owner: `<...>`
|
||
|
||
## Данные и lineage
|
||
|
||
- [ ] Snapshot, схема, период и checksums зафиксированы. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Data quality, freshness и объём прошли gates. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Feature cutoff и split исключают известную leakage. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Label definition/version и maturity документированы. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Lineage связывает данные, код, run и artifact. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Лицензия, consent, доступ и retention проверены. Evidence: `<...>` Owner: `<...>`
|
||
|
||
## Модель и качество
|
||
|
||
- [ ] Оценён именно сериализованный release artifact. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Candidate сравнен с baseline/champion по фиксированному протоколу. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Primary metric и uncertainty проходят порог. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Критические срезы и guardrails проходят пороги. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Калибровка, threshold и decision policy проверены. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Test set использован согласно заранее заданной policy. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Известные ограничения и отрицательные результаты записаны. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] [Model card](MODEL_CARD_TEMPLATE.md) заполнен и одобрен. Evidence: `<...>` Owner: `<...>`
|
||
|
||
## Artifact и интерфейс
|
||
|
||
- [ ] Checksum/signature artifact проверены перед загрузкой. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Model bundle включает совместимые preprocessing и metadata. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Входная/выходная схема версионирована и совместима. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Ошибочные, граничные и out-of-domain входы проверены. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Ответ содержит model/service version и trace/request ID. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Liveness и readiness отражают разные состояния. Evidence: `<...>` Owner: `<...>`
|
||
|
||
## Производительность и безопасность
|
||
|
||
- [ ] Load-тест отражает payload, rate/concurrency и warm-up. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] p50/p95/p99, throughput, errors и память укладываются в SLO. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Ограничены payload, batch, concurrency и timeouts. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Backpressure и поведение при перегрузке проверены. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Образ сканирован, запускается без root и с лимитами. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] AuthN/AuthZ, PII masking и transport security проверены. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Зависимости, модель и образ получены из доверенных источников. Evidence: `<...>` Owner: `<...>`
|
||
|
||
## Наблюдаемость и эксплуатация
|
||
|
||
- [ ] Dashboard разделяет сервис, данные/predictions и качество. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Telemetry содержит версии и не раскрывает PII/секреты. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Drift reference, окна, minimum volume и пороги определены. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Delayed labels, mature cohorts и label coverage учтены. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Алерты имеют severity, владельца и проверенный runbook. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] On-call и порядок эскалации подтверждены. Evidence: `<...>` Owner: `<...>`
|
||
|
||
## Rollout и rollback
|
||
|
||
- [ ] Release unit фиксирует model, preprocessing, contract, image и config. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Shadow не создаёт побочных эффектов. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Canary assignment, шаги и guardrails заданы. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Критерии остановки и promotion однозначны. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Предыдущая совместимая версия доступна по immutable ID. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Rollback отрепетирован; RTO и владелец известны. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Для высокого риска получены необходимые approvals. Evidence: `<...>` Owner: `<...>`
|
||
|
||
## Документация и готовность
|
||
|
||
- [ ] Quickstart проверен в чистом окружении. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Архитектура, контракты, SLO и runbooks актуальны. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Demo использует безопасные fixtures и имеет fallback. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Владельцы модели, данных, сервиса и решения назначены. Evidence: `<...>` Owner: `<...>`
|
||
- [ ] Дата следующего review и retirement criteria определены. Evidence: `<...>` Owner: `<...>`
|
||
|
||
## Решение
|
||
|
||
- **Статус:** `<GO | NO-GO | CONDITIONAL GO>`
|
||
- **Открытые блокеры:** `<список или "нет">`
|
||
- **Принятый остаточный риск:** `<описание и кто принял>`
|
||
- **Одобрили:** `<имя, роль, дата>`
|
||
- **Окно rollout:** `<время и часовой пояс>`
|
||
- **Канал инцидента:** `<ссылка/контакт>`
|