Aktualizacje i automatyczne odzyskiwanie
Niniejszy rozdział opisuje mechanizmy stojące za procesami opisanymi w przewodniku Aktualizacja i automatyczne odzyskiwanie w środowiskach macOS (maszyna Lima) oraz Windows (WSL2).
Maszyna stanów instalacji i uzgadniania wersji (reconciliation)
Dział zatytułowany „Maszyna stanów instalacji i uzgadniania wersji (reconciliation)”Po zatwierdzeniu aktualizacji procedura install_update_and_reconcile(expectedVersion) rejestruje aktywne projekty, bezpiecznie zatrzymuje działające kontenery, wdraża podpisane pliki binarne i restartuje aplikację. W przypadku niepowodzenia instalacji poprzedni stan aktywnych projektów zostaje automatycznie przywrócony.
Po restarcie proces porównuje identyfikator bundle_id nowej paczki ze stanem zapisanym w konfiguracji. Wykrycie różnic uruchamia idempotencją maszynę stanów:
- Synchronizuje zasoby
claude-resourcesdo lokalnych katalogów trwałych. - Kompiluje obrazy kontenerów, którym brakuje deterministycznego tagu skrótu.
- Transakcyjnie odtwarza (
--force-recreate) kontenery projektów aktywnych przed aktualizacją.
Kompilacja obrazów bazuje na niezależnych skrótach kryptograficznych wyliczanych dla każdego pliku Containerfile oraz jego lokalnych źródeł:
| Zdarzenie wyzwalające | Skutek architektoniczny |
|---|---|
| Brak tagu skrótu | Przebudowa wyłącznie wskazanego obrazu kontenera. |
| Zmiana we wspólnym module bazowym MCP | Przebudowa wszystkich zależnych kontenerów workerów. |
Aktualizacja claude-resources | Synchronizacja zasobów promptów i markdown bez rekompilacji obrazów. |
Automatyczne odzyskiwanie sprawności kontenerów
Dział zatytułowany „Automatyczne odzyskiwanie sprawności kontenerów”Speedwave automatycznie naprawia nieaktualne punkty montowania po uśpieniu systemu oraz przywraca brakujące kontenery po restartach demona containerd. Przed rozpoczęciem każdej sesji interaktywnej funkcja ensure_exec_healthy wykonuje test kontenera Claude:
- Przeprowadza testową próbę wykonania polecenia.
- W przypadku błędu montowania lub braku kontenera wymusza jego odtworzenie.
- Ponawia weryfikację, a w razie trwałego błędu wyświetla jednoznaczny komunikat diagnostyczny.
W systemie Windows mechanizm diagnostyczny bezpośrednio monitoruje stan podsystemu WSL2, weryfikując demony containerd oraz buildkitd i automatycznie wznawiając ich pracę.
Transakcyjny cykl aktualizacji w CLI
Dział zatytułowany „Transakcyjny cykl aktualizacji w CLI”Polecenie speedwave update (zobacz Polecenia CLI) realizuje pełny rygor transakcyjny:
- Weryfikuje uprawnienia systemu plików na hoście.
- Przeprowadza audyt bezpieczeństwa SecurityCheck.
- Kompiluje brakujące warstwy kontenerowe.
- Tworzy atomową migawkę konfiguracji (
~/.speedwave/snapshots/<projekt>/snapshot.json). - Odtwarza kontenery i weryfikuje dostępność gniazd sieciowych.
- Usuwa przestarzałe tagi obrazów, zachowując pamięć podręczną BuildKit.
W przypadku niepowodzenia aktualizacji Speedwave automatycznie przywraca środowisko z zarejestrowanej migawki. Weryfikację kryptograficzną opisano w rozdziale Autentyczność plików binarnych.