docs(specs): archive auth and cache remediation
This commit is contained in:
@@ -60,3 +60,18 @@
|
||||
#### Scenario: Отображение записи только с инструментом
|
||||
- **WHEN** полный журнал отображает запись без денежной выплаты
|
||||
- **THEN** страница определяет её как запись без движения денег
|
||||
|
||||
### Requirement: Кэш страниц журнала ограничивает локальные ресурсы
|
||||
Система SHALL кэшировать не более 100 недавно использованных страниц Account Ledger в каждом backend process не более чем на 30 секунд. Cache key MUST включать User, Brokerage Account, нормализованные период и categories, opaque cursor и limit; порядок или дублирование categories MUST NOT создавать отдельную cache identity, а отсутствующий конец периода MUST использовать текущий 30-секундный bucket. Просроченная страница MUST NOT возвращаться, а при переполнении cache MUST удалять наименее недавно использованную страницу.
|
||||
|
||||
#### Scenario: Равнозначные фильтры используют одну cache identity
|
||||
- **WHEN** User в одном 30-секундном bucket повторяет запрос страницы журнала с теми же периодом, cursor и limit, но с categories в другом порядке или с дубликатами
|
||||
- **THEN** система использует ту же cache identity и не запрашивает upstream повторно для свежей страницы
|
||||
|
||||
#### Scenario: Большое число уникальных запросов не увеличивает cache без границы
|
||||
- **WHEN** backend обслуживает больше 100 уникальных запросов страниц журнала
|
||||
- **THEN** cache содержит не более 100 страниц и освобождает наименее недавно использованные страницы
|
||||
|
||||
#### Scenario: Просроченная страница не возвращается
|
||||
- **WHEN** cached страница журнала старше 30 секунд
|
||||
- **THEN** система не возвращает её как свежий результат и получает актуальную страницу из upstream
|
||||
|
||||
Reference in New Issue
Block a user