Модули (d-dev, все закрыты): m01-server-db (38 psql-функций, 13 репозиториев, psql 123/123), m02-rest-api (sync/workouts/programs + middleware), m03-program-store (версии draft→active→archived), m04-metrics-engine (метрики + 6 красных флагов, Safety.*), m05-progression-rules (ProgressionRules + BreakEngine: правила 1–5, делоад, перерывы/возврат, фильтр ограничений is_active/замены; Web 81/81 + Core 56/56). Волны ревью: З-35 external_id до артефактов (миграция 003, program_insert rev.2 с DROP старой сигнатуры); З-36 --mode migrate (Program.cs, MigrationRunner, Db.MigrationsDir); З-37 tech-req 4.2 к факту (BpElevated*, фактические параметры, camelCase); З-38 шлюзы m05; З-39 примечание Ф-14.2 (illness → перезапуск); З-40/З-42 документация к факту (dto, SqlHelperAbstract, spec m05/m04); З-41(а) is_active=false в sync → exercise_delete (Ф-4.2). Инфраструктура: docker watchbody-pg (PostgreSQL 17, порт 5433); Kit.Helpers в 3-app/1-lib (не изменялся). Эксплуатационные файлы (program-trenirovok.*, program-import.json, presentation-trenirovok.html, журнал метрик) в коммит не включены. |
||
|---|---|---|
| .. | ||
| api_specs | ||
| SKILL.md | ||
| module_reqs.md | ||
| readme.md | ||
readme.md
Модуль m03-program-store — план разработки
План по алгоритму d-dev (
std1\_rules\d\d-dev.md), адаптация к сервисному модулю; шлюзы «Пользователь!» — d-dev-4. Требования — module_reqs.md.
| Шаг d-dev | Состав | Статус |
|---|---|---|
| 0. Персистентная подготовка | module_reqs.md, readme.md, SKILL.md | ✅ |
| 1. Список единиц к реализации | методы ProgramStore — module_reqs разд. 4 (7 методов) | ✅ |
| 1.3. Утверждение списка | — | Пользователь! ✅ (2026-10-18) |
| 2. Спецификации единиц | api_specs\ модуля — 2 файла (жизненный цикл 01; чтение 02) |
✅ |
| 2.4. Утверждение спецификаций | — | Пользователь! ✅ (2026-10-18) |
| 3. Код и тесты | Server.WatchBody.Core\Programs\ProgramStore.cs + интеграционные тесты (docker watchbody-pg): 19 тестов, все PASS; сборка 0 ошибок |
✅ |
| 3.4. Утверждение реализации | — | Пользователь! ✅ (2026-10-18) |
| 4. Завершение | сборка и тесты зелёные; критерии приёмки module_reqs разд. 5 проверены | ✅ (2026-10-18: сборка 0 ошибок, тесты Web 44/44 + Core 55/55 PASS на момент закрытия; после З-35 — Core 56/56) |
Примечания:
- Разработка поштучно: методы сервиса небольшой группой (жизненный цикл 1–4, чтение 5–7) — шлюзы 1.3/2.4 можно проходить одной группой.
- Потребители ProgramStore (подключение в следующих модулях): m05 —
создание draft
author=rules; m06 — импорт пакета программы; m08 — admin-API программ. Sync в m02 остаётся на репозиториях (v1). - Интеграционные тесты Core-сервисов живут в
Server.WatchBody.Web.Tests(общая docker-инфраструктура:TestApp, подключение из конфига); юнит-инфраструктура Core.Tests (fake-транспорт ConnectionStringTest) для сервиса над репозиториями не подходит. - jsonb нормализует пробелы — сравнение body в тестах через
JsonElement.DeepEquals. - Прогон тестов — PostgreSQL 17 в docker
watchbody-pg(порт 5433, БДwatchbody), как в m01/m02.