# Паспорт куки Этот документ отвечает на вопрос, почему паспорт куки решает план состава, а день только разворачивает его в события. [`plan.cohort`](../../../generator/src/clickstream_generator/plan.py) получает случайность через [`seeds.cohort_stream`](../../../generator/src/clickstream_generator/seeds.py) и вызывает [`plan._passports`](../../../generator/src/clickstream_generator/plan.py) в ветви «состав мира». Это не подпоток отдельного дня. `plan._passports` выбирает строки устройства и города из справочников. У двухкуковой пары город первой куки переносится во вторую, а устройство выбирается из другой половины профилей. Сведения о парах есть только у плана. Если независимо вывести паспорт каждой куки из `ClientID`, один человек может оказаться в двух городах — это будет ложью в данных. [`plan.Cohort`](../../../generator/src/clickstream_generator/plan.py) хранит номера устройства и города. `Cohort.visitors_on` переносит их в [`plan.DayAudience`](../../../generator/src/clickstream_generator/plan.py), а [`day.stream`](../../../generator/src/clickstream_generator/day.py) разворачивает профили в колонки событий. День не бросает паспорт заново, поэтому кука сохраняет его на всю жизнь. Броски паспорта стоят после прежнего состава когорты. Правило такого продолжения подпотока описано в [дереве зерен](seeds.md), а выбор паспорта объясняет [ADR 0016](../../adr/0016-cookie-passport.md). Зачем стенду нужна двухкуковая пара одного человека, фиксирует [мастер-спека](../../specs/2026-07-30-stand-v2-realism.md), раздел 5.