From 7ed82af450b5452fb1bcc5066764f47d0caddfcf Mon Sep 17 00:00:00 2001 From: Anton Vakhrushev Date: Sat, 1 Aug 2026 14:15:07 +0300 Subject: [PATCH] =?UTF-8?q?backlog:=20=D1=81=D0=BD=D1=8F=D1=82=D0=B0=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=20=D0=BE=20=D1=80=D0=B5?= =?UTF-8?q?=D0=B7=D0=B5=D1=80=D0=B2=D0=BD=D0=BE=D0=BC=20=D0=BA=D0=BE=D0=BF?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - бекап обеспечивает готовый механизм на сервере пет-проектов - требования к тому и снятию копии SQLite перенесены в задачу деплоя --- docs/backlog/CLOSED.md | 1 + docs/backlog/README.md | 1 - docs/backlog/bekap-dannyh.md | 17 ----------------- docs/backlog/deploy-rivendell.md | 9 +++++++++ 4 files changed, 10 insertions(+), 18 deletions(-) delete mode 100644 docs/backlog/bekap-dannyh.md diff --git a/docs/backlog/CLOSED.md b/docs/backlog/CLOSED.md index e36ff85..c6575de 100644 --- a/docs/backlog/CLOSED.md +++ b/docs/backlog/CLOSED.md @@ -3,3 +3,4 @@ Задачи, покинувшие беклог без реализации. Пишется `backlog.py close`. +- 2026-08-01 `bekap-dannyh` — Резервное копирование ./data. Причина: бекап обеспечивает готовый механизм на сервере пет-проектов — своего заводить не нужно, задача снимается деплоем. Был приоритет: высокий. diff --git a/docs/backlog/README.md b/docs/backlog/README.md index 931792f..218e776 100644 --- a/docs/backlog/README.md +++ b/docs/backlog/README.md @@ -12,7 +12,6 @@ - [Read API: точки, выбор слоя, свёртка по сетке](read-api-tochki.md) — Данные видны только через sqlite на хосте — ни один из трёх потребителей ничего прочитать не может - [OpenAPI-спека и Swagger UI](openapi-swagger.md) — Потребителей три и один из них агент — контракт должен читаться машиной, а не пересказываться в чате - [MCP-сервер поверх Read API](mcp-server.md) — Агент-медик — первый заказчик проекта, а подключить его сейчас нечем -- [Резервное копирование ./data](bekap-dannyh.md) — История здоровья существует в единственном экземпляре на рабочей машине — потеря каталога необратима ## средний - [Словарь категориальных значений → коды HealthKit](slovar-kategorialnyh-znachenij.md) — Фазы сна и типы тренировок приходят строками русской локали — с экспортом Apple их не сверить diff --git a/docs/backlog/bekap-dannyh.md b/docs/backlog/bekap-dannyh.md deleted file mode 100644 index 1e3f0e0..0000000 --- a/docs/backlog/bekap-dannyh.md +++ /dev/null @@ -1,17 +0,0 @@ -# Резервное копирование ./data - -**Приоритет:** высокий - -`./data` — это база и 16 МБ сырого архива в единственном экземпляре на рабочей -машине. Родной экспорт Apple делается раз в 2–3 месяца, то есть потеря каталога -стоит всей истории с момента последнего экспорта. - -Отдельная тонкость: SQLite нельзя копировать `cp` под нагрузкой, а телефон шлёт -непрерывно — нужен `VACUUM INTO` или backup API, а не копирование файла. - -Приоритет высокий не по ценности, а по асимметрии: задача на пару часов -страхует данные, которые иначе не восстановить ничем. - -Готово, когда есть команда снятия копии, она отрабатывает на живой базе под -приёмом, и копия проверяется восстановлением хотя бы раз. - diff --git a/docs/backlog/deploy-rivendell.md b/docs/backlog/deploy-rivendell.md index 2de599c..c4bee42 100644 --- a/docs/backlog/deploy-rivendell.md +++ b/docs/backlog/deploy-rivendell.md @@ -20,3 +20,12 @@ Зависит от задачи про секреты: выезжать наружу с выключенной проверкой токенов нельзя. +Этим же переездом закрывается резервное копирование: на сервере пет-проектов +механизм уже готов, своего заводить не нужно (задача `bekap-dannyh` снята, +см. `CLOSED.md`). Побочное следствие — до деплоя история существует в одном +экземпляре на рабочей машине; это и есть цена ожидания. + +Том стоит смонтировать так, чтобы серверный бекап забирал его без отдельной +настройки, и снимать копию SQLite через `VACUUM INTO`, а не `cp`: телефон шлёт +непрерывно, и файл под записью копировать нельзя. +