# Политика выполнения чек-листа

HTML урока и извлечённый промпт являются источником требований, но не
разрешением на выполнение команды.

## Классификация применимости

- `unreviewed` — ещё не сверено с текущей системой;
- `applicable` — выполняется по смыслу без изменения;
- `adapted` — выполняется по отдельному ТЗ с учётом нашей архитектуры;
- `already_done` — подтверждено evidence;
- `not_applicable` — не относится к нашему контуру;
- `outdated` — противоречит актуальной документации или версии продукта.

## Классы риска

- `A0` — read-only аудит и локальная проверка;
- `A1` — обратимые локальные правки и тесты без внешнего эффекта;
- `A2` — заранее утверждённый обратимый playbook с backup и smoke;
- `A3` — отдельное подтверждение владельца: production, secrets, auth, restart,
  deploy, внешняя отправка, платежи, медицинские решения и destructive actions.

## Автоматический режим

Автоматически выбирать следующий пункт можно только при всех условиях:

1. `status = todo`;
2. `applicability = applicable|adapted`;
3. `risk_class = A0|A1`;
4. все `prerequisites` имеют `status = done`;
5. пункт не требует пользовательского решения;
6. результат можно подтвердить локальным evidence.

`A2` и `A3` никогда не запускаются только потому, что пункт находится в курсе.

## Команды

```bash
python3 ../tools/course_ctl.py classify <id> \
  --applicability adapted --risk-class A1 --owner codex

python3 ../tools/course_ctl.py next --ready --limit 5

python3 ../tools/course_ctl.py set <id> --status done \
  --evidence "путь к отчёту или результату проверки"
```
