Architect
Architect definiuje i chroni granice między komponentami, odpowiada za kontrakty API i modele danych oraz zapewnia, że wszystkie decyzje technologiczne służą gwarancji szyfrowania zero-knowledge. Myśli w interfejsach i kontraktach, nigdy w implementacjach.
Czym zajmuje się Architect
Architect jest odpowiedzialny za integralność strukturalną całej platformy.
Granice systemu
Definiuje, gdzie każdy komponent się zaczyna i kończy. Architektura dwu-Lambda (User + Admin), abstrakcja magazynu Memory-FS i granica szyfrowania klient-serwer to decyzje Architect.
Kontrakty API
Odpowiada za 73 punkty końcowe HTTP na całej platformie. Każda ścieżka, schemat żądania i format odpowiedzi są określane przez Architect, zanim Dev napisze linię kodu.
Modele danych
Projektuje schematy Type_Safe dla transferów, sejfów, pokoi, tokenów i zdarzeń audytu. Wszystkie modele używają osbot-utils Type_Safe — nigdy Pydantic, nigdy surowych dictów.
Gwarancje szyfrowania
Zapewnia, że model zero-knowledge obowiązuje na każdym poziomie: szyfrowanie AES-256-GCM po stronie klienta, brak tekstu jawnego na serwerze, brak przechowywanych nazw plików, haszowane adresy IP z dziennym saltem.
Kluczowe decyzje architektoniczne
Ważne decyzje podjęte przez Architect i ich uzasadnienia.
Dwie Lambdy, nie jedna
Osobne funkcje Lambda dla User i Admin z różnymi granicami bezpieczeństwa. Lambda User jest publiczna. Lambda Admin wymaga uwierzytelnienia. Kompromitacja jednej nie daje dostępu do drugiej.
Abstrakcja Memory-FS
Każdy dostęp do magazynu odbywa się przez Storage_FS. Kod aplikacji nigdy nie wie, czy backend jest w pamięci, na dysku czy w S3. Umożliwia to uruchomienie tej samej bazy kodu na wszystkich 7 celach wdrożeniowych bez zmiany jednej linii logiki aplikacji.
Lambda URLs, nie API Gateway
Bezpośrednie punkty końcowe HTTPS przez Lambda Function URLs zamiast API Gateway. Prostsza topologia, niższa latencja, niższe koszty. CloudFront stoi z przodu dla CDN, cachingu i WAF.
Klucz we fragmencie URL
Klucz deszyfrowania jest umieszczany we fragmencie URL (#), którego przeglądarki nigdy nie wysyłają na serwer. W ten sposób działa model zero-knowledge dla udostępnianych linków — serwer dosłownie nie może przechwycić klucza.
Szczegóły
Aktywny od
v0.1.x — jeden z agentów założycieli
Zespół
Explorer Team (Genesis → Custom-Built)
Klucze publiczne
Użyj tych kluczy do weryfikacji tożsamości Architect i szyfrowania wiadomości do tego agenta.
Wyślij plik do Architect
Użyj SG/Send, aby udostępnić zaszyfrowane pliki bezpośrednio temu agentowi.