# Stage registry Project Sacrifice Этот документ задаёт единую нумерацию выполнения полного production plan. Доменные EPIC продолжают отвечать на вопрос «какая система меняется», а stage — «в какой последовательности и каким gate работа принимается». ## Контракт привязки Каждая обычная Bead, feature, bug, milestone и EPIC обязана иметь: - минимум один label `stage-N`; - ровно один label `primary-stage-N`; - metadata `primary_stage=N`, совпадающую с primary label. Дополнительные `stage-N` допустимы для сквозной работы. Primary stage определяет, какой gate отвечает за закрытие незавершённой задачи. Поэтому исторически начатая работа может относиться к раннему stage, но иметь более поздний primary stage, если её оставшийся acceptance gate выполняется позже. ## Нумерация | Stage | Название | Основной результат | Тип | |---:|---|---|---| | 0 | Prototype foundation | Устанавливаемый greybox prototype и базовые systems | AFK, завершён | | 1 | Playability automation | Боты уровней 1–10 и единый regression runner | AFK | | 2 | Level correctness and balance | Устранённые softlocks, чистый restart, solution graphs | AFK | | 3 | Mobile UX and accessibility | Controls, onboarding/results, RU/EN, accessibility | AFK | | 4 | Content architecture and tools | Versioned JSON, validator/exporter, bot traces | AFK | | 5 | Vertical Slice completion | Art/audio vertical slice, lifecycle/save/perf и внешний playtest | HITL gate | | 6 | Production content | 4 мира, 55–70 уровней, полный набор mechanics/challenges | Mixed | | 7 | Stabilization and release engineering | Device/performance matrix, analytics/crash, signed APK/AAB | AFK/HITL | | 8 | Closed Alpha | Проверка продукта внешней alpha-группой | HITL | | 9 | Beta | Feature freeze, широкая QA-матрица и исправления | HITL | | 10 | Release Candidate | Финальный release gate без blocker/critical defects | HITL | ## Сквозные gates - `goon-game-regression-10` имеет `stage-1`, но primary Stage 5: закрыт после трёх детерминированных полных replay-проходов 10/10 с under-five-minute guards. - `goon-game-level-balance` и `goon-game-human-playtest` закрыты после прямого подтверждения владельцем завершения внешнего тестирования; raw session forms не приложены и не реконструируются. - `goon-game-content-worlds` имеет primary Stage 6 и разблокирован принятым `goon-game-milestone-vslice` Stage 5. ## Проверка После любого изменения Beads выполнить: ```sh ./scripts/check-stage-assignments.sh bd dep cycles bd export --output .beads/issues.jsonl ``` Stage audit должен завершаться с `unassigned=0` и `invalidPrimary=0`. Snapshot на 19 августа 2026 года: | Primary stage | Всего Beads | Незакрыто | |---:|---:|---:| | 0 | 12 | 0 | | 1 | 4 | 0 | | 2 | 5 | 0 | | 3 | 5 | 0 | | 4 | 4 | 0 | | 5 | 15 | 0 | | 6 | 18 | 18 | | 7 | 9 | 9 | | 8 | 1 | 1 | | 9 | 1 | 1 | | 10 | 4 | 4 | Всего: 78; непривязанных: 0; задач с некорректным primary stage: 0.