Przejdź do głównej zawartości

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:

  1. Synchronizuje zasoby claude-resources do lokalnych katalogów trwałych.
  2. Kompiluje obrazy kontenerów, którym brakuje deterministycznego tagu skrótu.
  3. 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ąceSkutek architektoniczny
Brak tagu skrótuPrzebudowa wyłącznie wskazanego obrazu kontenera.
Zmiana we wspólnym module bazowym MCPPrzebudowa wszystkich zależnych kontenerów workerów.
Aktualizacja claude-resourcesSynchronizacja zasobów promptów i markdown bez rekompilacji obrazó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ę.

Polecenie speedwave update (zobacz Polecenia CLI) realizuje pełny rygor transakcyjny:

  1. Weryfikuje uprawnienia systemu plików na hoście.
  2. Przeprowadza audyt bezpieczeństwa SecurityCheck.
  3. Kompiluje brakujące warstwy kontenerowe.
  4. Tworzy atomową migawkę konfiguracji (~/.speedwave/snapshots/<projekt>/snapshot.json).
  5. Odtwarza kontenery i weryfikuje dostępność gniazd sieciowych.
  6. 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.