SOTER
Quickstart: SOTER MVP CLI
Ten poradnik pozwoli Ci zainstalować SOTER MVP i przejść przez proces weryfikacji modelu oraz zapisu zdarzeń w lokalnym rejestrze (Ledgerze) w mniej niż 5 minut.
1. Wymagania wstępne
- Zainstalowane środowisko Python 3.12+.
- Sklonowany projekt SOTER z dostępnym skryptem
soter.pyw katalogu głównym.
2. Instalacja i weryfikacja
Zainstaluj SOTER w swoim systemie (skrypt doda komendę soter do Twojej powłoki):
python ./soter.py install
source ~/.bashrc
Zweryfikuj poprawność instalacji:
soter --version
Powinieneś zobaczyć wersję SOTER (np. SOTER v1.10.1).
3. Krok 1: Tworzenie i Walidacja Modelu
Utwórz plik models/my_first.model zawierający prosty opis struktury i reguł procesu biznesowego:
soter v1
element Customer:
class: "Subject"
type: "Actor"
name: Customer
element CustomerCard:
class: "Object"
type: "DataArtifact"
name: CustomerCard
element CreateCard:
class: "Action"
type: "Action"
name: CreateCard
title: "Create Card"
performer: Customer
in: "Lane[1]"
constraints: "amount > 0"
Uruchom walidator w pamięci, aby sprawdzić syntaktyczną i semantyczną spójność modelu:
soter validate models/my_first.model
Silnik przeanalizuje model i powiadomi o poprawności (status OK).
4. Krok 2: Walidacja Faktów
Utwórz plik faktu facts/event_001.fact odzwierciedlający zaistnienie zdarzenia w rzeczywistości (np. utworzenie karty klienta):
soter v1
fact fact_001:
trigger: action_verify
action: card_created
occurred_at: "2026-07-10T13:00:00"
amount: 120
currency: "PLN"
Zweryfikuj poprawność pliku faktu:
soter fact validate facts/event_001.fact
5. Krok 3: Rejestracja Faktów w Ledgerze
Zainicjalizuj lokalny, plikowy ledger w wybranym katalogu:
soter ledger init --org "Moja Organizacja" --ledger-path ./my_ledger
Zapisz (kryptograficznie) przygotowane zdarzenie do ledgera:
soter ledger record fact_001 facts/event_001.fact --ledger-path ./my_ledger
Wyświetl listę zarejestrowanych faktów w ledgerze:
soter ledger list --ledger-path ./my_ledger
6. Krok 4: Weryfikacja Spójności Modelu z Rzeczywistością
Skonfrontuj reguły zdefiniowane w modelu z faktami zarejestrowanymi w ledgerze:
soter verify --model models/my_first.model --ledger ./my_ledger
Silnik wczyta model, przeanalizuje łańcuch zdarzeń w ledgerze (m.in. sprawdzając warunek amount > 0) i wyda werdykt dotyczący zgodności operacji z modelem.