- Зачем:
- спека разрослась до 1058 строк, а журнал решений в разделе 9 читался
только целиком; агентам и людям нужен дешевый адресный заход к
основаниям решений генератора.
- Что:
- заведены ADR 0015 (пояс счетчика), 0016 (паспорт куки) и 0017 (номер
заказа); четыре адресные ссылки на «раздел 9» перешиты на них.
- раздел 9 пересобран в 11 тематических подразделов с датами и тикетами
у каждого решения и закрыт пометкой о заморозке; устаревшие
промежуточные замеры свернуты до указателей на актуальные.
- строка статуса в шапке отмечает закрытие спеки как документа этапа 2.
- Проверка:
- wc -l docs/specs/2026-08-01-generator.md (951, было 1058);
rg -n 'раздел[а-яё]* 9|разделы 8 и 9' docs -g '*.md' — 18 попаданий,
все классифицированы; разделы 1-8 нетронуты (сверка хешем).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2.3 KiB
Паспорт куки
Этот документ отвечает на вопрос, почему паспорт куки решает план состава, а день только разворачивает его в события.
plan.cohort получает
случайность через
seeds.cohort_stream
и вызывает plan._passports
в ветви «состав мира». Это не подпоток отдельного дня.
plan._passports выбирает строки устройства и города из справочников. У
двухкуковой пары город первой куки переносится во вторую, а устройство
выбирается из другой половины профилей. Сведения о парах есть только у плана.
Если независимо вывести паспорт каждой куки из ClientID, один человек может
оказаться в двух городах — это будет ложью в данных.
plan.Cohort хранит
номера устройства и города. Cohort.visitors_on переносит их в
plan.DayAudience, а
day.stream разворачивает
профили в колонки событий. День не бросает паспорт заново, поэтому кука
сохраняет его на всю жизнь.
Броски паспорта стоят после прежнего состава когорты. Правило такого продолжения подпотока описано в дереве зерен, а выбор паспорта объясняет ADR 0016. Зачем стенду нужна двухкуковая пара одного человека, фиксирует мастер-спека, раздел 5.