3.6 KiB
3.6 KiB
id, title, summary, priority, area, owner, created, updated, execution_time, depends_on, canonical_docs, related_files
| id | title | summary | priority | area | owner | created | updated | execution_time | depends_on | canonical_docs | related_files | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TASK-0018 | Добавить миграции формата сохранений между версиями | Реализовать BackLog-задачу на версионирование save format и безопасные миграции world save и player save между версиями проекта. | Medium | persistence | unassigned | 2026-03-30 | 2026-03-30 | 1d |
|
|
|
TASK-0018 - Добавить миграции формата сохранений между версиями
Status
Статус задачи ведется в docs/tasks/Index.md и является каноническим там.
Допустимые значения статуса:
BackLogToDoInProgressReviewDone
Why
Миграции save format важны для долгоживущего проекта, но не блокируют первый MVP. Поэтому задача вынесена в BackLog.
Expected Outcome
Система сохранений имеет version field и pipeline миграций, позволяющий безопасно читать старые world/player save после изменений схемы.
Current Context
Базовая схема сохранений и enemy bitmask должны быть определены раньше. Иначе мигрировать будет нечего.
Source Of Truth
docs/tasks/items/TASK-0004.mddocs/tasks/items/TASK-0006.md- future save schema docs
Read First
docs/tasks/items/TASK-0004.mddocs/tasks/items/TASK-0006.md
Scope In
- versioning для world/player save
- up-migration pipeline
- базовые правила обратной совместимости чтения
- обработка ошибок и fallback policy
Scope Out
- cross-game import/export tools
- поддержка всех исторических pre-release форматов без ограничений
Constraints
- миграции не должны молча повреждать данные
- player и world save мигрируются независимо, но по общим правилам versioning
If You Find Drift
- если save schema меняется без version bump, это нарушение задачи
Suggested Approach
- Добавить version field в save schemas.
- Описать up-migration pipeline по шагам версий.
- Подготовить тестовые старые примеры сохранений для проверки.
Acceptance Criteria
- save format имеет версию
- старый save может быть прочитан и мигрирован в текущую схему
- ошибки миграции не приводят к тихой потере world/player state
Verification
- ручной тест чтения старого save fixture после изменения схемы
Risks / Open Questions
- нужно определить политику для несовместимых breaking changes worldgen или enemy slot layout
Human Decisions Needed
- none currently
Decision Log
2026-03-30- задача добавлена вBackLogпо явному запросу пользователя.
Handoff Notes
Пока задача в BackLog, новые persistence changes все равно должны по возможности закладывать version field заранее.