Фаза 3 / волна 1: канон архива календаря (hot/cold) #20

Closed
opened 2026-08-16 23:35:10 +03:00 by cursor-ai · 4 comments
Owner

Проблема

История календаря (past months) описана разрозненно: HTML /view, hot ~30 дней, cold через archive_*, авто-архивация по сути не работает, ACL только owner. Нет единого контракта для Фазы 3.

Влияние

Back/Front расходятся (когда HTML vs React, кто видит архив); нельзя уверенно закрыть «разобраться с историческими событиями».

Ожидаемый результат

В EventHubSpec зафиксирован канон архива: окно hot/cold, ключи день/месяц, API чтения истории (JSON и/или HTML), ACL (owner + share write|admin — решение в тексте), non-goals волны 1.

Критерии приёмки

  • Раздел в EventHubBackSpec / EventHubFrontSpec (или отдельный короткий doc) согласован с эпиком Spec#19
  • Явно: когда past month идёт в React JSON vs HTML fallback
  • Non-goals: write в cold, guest-архив чужой студии, Time Arc на истории, внешнее cold (S3)
  • Ссылка на дочерние Back/Front Stories волны 1

Связь

Родитель: #19
Волна: 1 (архив)

Приоритет

P1

## Проблема История календаря (past months) описана разрозненно: HTML `/view`, hot ~30 дней, cold через `archive_*`, авто-архивация по сути не работает, ACL только owner. Нет единого контракта для Фазы 3. ## Влияние Back/Front расходятся (когда HTML vs React, кто видит архив); нельзя уверенно закрыть «разобраться с историческими событиями». ## Ожидаемый результат В EventHubSpec зафиксирован канон архива: окно hot/cold, ключи день/месяц, API чтения истории (JSON и/или HTML), ACL (owner + share `write|admin` — решение в тексте), non-goals волны 1. ## Критерии приёмки - [ ] Раздел в `EventHubBackSpec` / `EventHubFrontSpec` (или отдельный короткий doc) согласован с эпиком Spec#19 - [ ] Явно: когда past month идёт в React JSON vs HTML fallback - [ ] Non-goals: write в cold, guest-архив чужой студии, Time Arc на истории, внешнее cold (S3) - [ ] Ссылка на дочерние Back/Front Stories волны 1 ## Связь Родитель: https://git.sabilin.com/EventHub/EventHubSpec/issues/19 Волна: 1 (архив) ## Приоритет P1
cursor-ai added the Story label 2026-08-16 23:35:10 +03:00
cursor-ai self-assigned this 2026-08-16 23:35:10 +03:00
Author
Owner

Беру волну 1 в работу. Стартуем с канона Spec#20; Back#76 / Front#73 — после утверждения варианта. Код пока не пишем.

Беру волну 1 в работу. Стартуем с канона Spec#20; Back#76 / Front#73 — после утверждения варианта. Код пока не пишем.
Author
Owner

Канон записан (локально, без коммита):

  • EventHubSpec/ARCHIVE.md — hot 90д / warm month_snapshot 24 мес / cold gzip-файлы; ключ календарь×месяц; extra-node отвергнут
  • ссылки в EventHubBackSpec.md, EventHubFrontSpec.md, README.md

Реализация кода — Back#76, затем Front#73. Коммит Spec — по просьбе.

Канон записан (локально, без коммита): - `EventHubSpec/ARCHIVE.md` — hot 90д / warm `month_snapshot` 24 мес / cold gzip-файлы; ключ календарь×месяц; extra-node отвергнут - ссылки в `EventHubBackSpec.md`, `EventHubFrontSpec.md`, `README.md` Реализация кода — Back#76, затем Front#73. Коммит Spec — по просьбе.
Author
Owner

Окна пересчитаны по live-нагрузке (не 90д):

  • Hot: текущий календарный месяц + всё будущее
  • Снимок месяца: через 7 суток следующего (grace)
  • Warm Mnesia: 3 закрытых месяца
  • Cold: файлы, без TTL
  • GET from/to склеивает ярусы (хвост month-grid)

Правка ARCHIVE.md локально. Дальше — реализация Back#76 после выбора варианта.

Окна пересчитаны по live-нагрузке (не 90д): - Hot: текущий календарный месяц + всё будущее - Снимок месяца: через 7 суток следующего (grace) - Warm Mnesia: 3 закрытых месяца - Cold: файлы, без TTL - GET from/to склеивает ярусы (хвост month-grid) Правка `ARCHIVE.md` локально. Дальше — реализация Back#76 после выбора варианта.
Author
Owner

Канон волны 1 зафиксирован в ARCHIVE.md: hot = текущий месяц + будущее, warm = 3 закрытых месяца, cold = файлы; HTML /view нет. BackSpec/FrontSpec/ZED синхронизированы. Залито в master.

Канон волны 1 зафиксирован в ARCHIVE.md: hot = текущий месяц + будущее, warm = 3 закрытых месяца, cold = файлы; HTML /view нет. BackSpec/FrontSpec/ZED синхронизированы. Залито в master.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: EventHub/EventHubSpec#20