consentlisted
Install: claude install-skill TserenTserenov/FMT-exocortex-template
# Consent — управление согласием на трекинг
> **Назначение:** пилот сам управляет своим consent на обработку поведенческих данных (события day_plan_*, wp_*, w_reflections и т.д.). Без `opt_in=TRUE` worker `stage_evaluator` пропускает пилота.
>
> **Архитектурный принцип:** consent хранится в `learning.tracking_consent` (BC = `learning`, не персона). Это разрешение на агрегирование, не персональные данные.
## When to use
Управление consent в learning.tracking_consent — opt-in / opt-out / status / revoke. Обязательное условие для работы stage_evaluator worker (WP-253 Блок 2). GDPR-совместимо.
## Аргументы
- `status` (default) — показать текущее состояние consent
- `opt-in [scope1,scope2,...]` — дать согласие (default scope: `stage_evaluation`)
- `opt-out` — отозвать согласие (opt_in=FALSE, история сохраняется)
- `revoke` — полное удаление row (GDPR right to erasure)
## Algorithm
### Шаг 1. Вызвать скрипт маршрутизации
```bash
bash "$IWE_SCRIPTS/route-task.sh" --skill consent --args "$ARGUMENTS"
```
Скрипт читает `IWE_OWNER_ORY_UUID` из окружения. Пишет через роль `consent_writer` (миграция 113); fallback на `DATABASE_URL_LEARNING_DIRECT`.
### Шаг 2. Интерпретировать результат
Скрипт сообщает об успехе через stdout (exit 0) или ошибке через stderr (exit ненулевой).
### Шаг 3. Вернуть ответ пилоту
Вывести stdout скрипта пилоту без изменений.
## Возможные scopes
- `stage_evaluation` — оценка ступени мастерства через RCS-индикаторы (FORM.089)
- `club_activity` — учёт