ADR-017. Контекст действия не равен подмене пользователя
Контекст
Когда взрослый действует от имени ребёнка или сотрудник от имени организации, нельзя менять sub пользователя. Иначе теряется audit, нарушается семейный контур и осложняются support-сценарии.
Решение
Контекст действия моделируется через actor_context отдельно от user_id. Заголовок X-Actor-Context передаёт kind и, при необходимости, target (studentProfileId, organizationId, teamId). Для семейных сценариев главным subject является student_profile; linked child user может быть только optional reference. Backend проверяет право на этот контекст.
Последствия
- audit фиксирует реального актёра и контекст;
- support не использует «безымянную подмену»;
- семейные и организационные сценарии работают единообразно.
Связи
- relates: ADR-016, ADR-018, ADR-022