# Страница архива задаётся ключом, а не номером - **Дата:** 2026-08-15 - **Источник:** openspec/changes/archive/2026-08-15-app-json-contract/design.md, раздел «Страница задаётся ключом, а не номером» ## Решение Постраничное чтение своих записей идёт непрозрачным ключом по паре «время заведения и идентификатор». Номер страницы отвергнут. ## Почему «Приём пишет в голову той же таблицы записей, которую читает список, и человек, загрузивший запись и листающий свой архив, — штатный сценарий. Номер страницы сдвинул бы окно на единицу: последний элемент первой страницы пришёл бы вторым разом первым элементом второй, а один элемент между ними не пришёл бы никогда. Отказ молчаливый — ни кода, ни строки в журнале, — и человек видел бы архив, в котором записи нет.» Ключ полный: у записей, принятых одним запросом, время совпадает, и порядок между ними одним лишь временем не определён. ## Последствия - `+` запись, заведённая между двумя страницами, не даёт ни повтора, ни пропуска; - `+` порядок между записями с равным временем устойчив; - `−` экран с нумерацией страниц так не сделать — листать можно только «дальше». Архиву это не нужно; - `−` ключ приходит от клиента и потому разбирается: время приводится к виду хранилища, иначе побайтовое сравнение молча обращает условие в постоянную истину или ложь.