# Канонический локальный план VM101

Актуальность: 20260713-192030 UTC  
Выполнено: 6/15  
Текущий этап: M07 — В РАБОТЕ

## Последний STEP

- STEP_050M07R13A_REBUILD_HMN_DOWNLOAD_ALL_AWG_SELECTOR
- RESULT=PASS_STEP_050M07R13A_REBUILD_HMN_DOWNLOAD_ALL_AWG_SELECTOR
- Исправлен только selector в /root/hmn/hmn-download-all-awg.sh.
- auto теперь использует существующий vm101_healthy_bootstrap_iface.
- Явный vpn1..vpn5 проверяется vm101_strict_iface.
- Полный refresh и rebalance не запускались.
- Следующая узкая цель: hmn-validate-current-pool.sh и оставшаяся legacy-зависимость от table 200.

## Этапы

| ID | Этап | Статус |
|---|---|---|
| M01 | Health monitor обнаруживает отказ VPN-слота | ВЫПОЛНЕНО |
| M02 | Локальная замена отказавшего VPN-туннеля | ВЫПОЛНЕНО |
| M03 | Quarantine отказавших endpoints | ВЫПОЛНЕНО |
| M04 | Глобальный repair counter после локальных замен | ВЫПОЛНЕНО |
| M05 | Порог full refresh и dry-run решения | ВЫПОЛНЕНО |
| M06 | Постоянно включить emergency commit на VM101 | ВЫПОЛНЕНО |
| M07 | Выполнить контролируемый реальный full HideMyName refresh | В РАБОТЕ |
| M08 | Реализовать DEGRADED_POOL при ошибке HideMyName refresh | ОЖИДАЕТ |
| M09 | Реализовать SLOT_EXHAUSTED и консолидацию пользователей | ОЖИДАЕТ |
| M10 | Реализовать DIRECT_EMERGENCY при нуле рабочих VPN | ОЖИДАЕТ |
| M11 | Реализовать cached-pool bootstrap через vpn1 | ОЖИДАЕТ |
| M12 | Реализовать абстрактный bootstrap strategy contract | ОЖИДАЕТ |
| M13 | Реализовать безопасный возврат Direct → VPN | ОЖИДАЕТ |
| M14 | Провести полную последовательную имитацию отказов на VM101 | ОЖИДАЕТ |
| M15 | Доказать перезагрузочную устойчивость state machine | ОЖИДАЕТ |

## Актуальные ссылки

- STEP report: https://receiver-rejected-average-combat.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260713-192030_step050m07r13a_rebuild_hmn_download_all_awg_selector/
- VM101 Machine Git: https://receiver-rejected-average-combat.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260713-192042_vm101_git_source_027589515a26/
- VM101 model: https://receiver-rejected-average-combat.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260713-192030_vm101_model_hmn_download_selector_r13a/vm101-model.txt
- VM101 methods: https://receiver-rejected-average-combat.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260713-192030_vm101_methods_hmn_download_selector_r13a/
- Global project plan: https://receiver-rejected-average-combat.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260711-123348_global_project_plan_wg_paid/
- Access / XS Map: https://receiver-rejected-average-combat.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260711-120734_xs_map_audit_repair_publish/
