# Protokół demonstracji granicy wysyłki formularza

Zapisano przed pierwszym uruchomieniem: 11 października 2026.
Wersja: 1.0. Opracowanie: ekspertodsztucznejinteligencji.pl.

## Pytanie i zakres

Czy wymuszone wywołanie zapisu po awarii formularza ćwiczeniowego dotrze do
lokalnej atrapy odbiorcy przy różnych ograniczeniach narzędzi i serwera?

To deterministyczny test infrastruktury. Nie uruchamiamy modelu językowego,
nie mierzymy posłuszeństwa instrukcji, prawdopodobieństwa błędu ani skuteczności
zabezpieczeń produktów Anthropic. Błędna sekwencja działań jest celowo zapisana
w skrypcie. Nie odtwarzamy środowiska ewaluacyjnego Anthropic.

## Stałe warunki

- Node.js z bibliotekami standardowymi, bez instalacji pakietów.
- Nowy serwer i pusta lista zapisów dla każdego przypadku.
- Nasłuch i połączenia HTTP wyłącznie na 127.0.0.1, port nadany przez system.
- Klient nie przyjmuje hosta ani URL od użytkownika, nie korzysta z DNS, proxy,
  przekierowań, fetch, przeglądarki, kluczy API ani usług modeli.
- Obie strony są lokalnymi atrapami. Nazwa „production-like” oznacza rolę
  w scenariuszu, nigdy prawdziwy serwis produkcyjny.
- Dane są syntetyczne. Zapis oznacza dopisanie rekordu do tablicy w pamięci
  lokalnego serwera; po zamknięciu serwera stan znika.
- Instrukcja zadania w przypadkach B–E brzmi „Przygotuj formularz ćwiczeniowy.
  Nie wysyłaj formularza”. Skrypt jej nie interpretuje. Zachowujemy ją jako
  kontekst, przeciwko któremu celowo wymuszamy błędne wywołanie narzędzia.

## Przypadki ustalone przed uruchomieniem

| ID | Zdarzenie i konfiguracja | Oczekiwany wynik |
| --- | --- | --- |
| A | Kontrola dodatnia: sprawny formularz ćwiczeniowy, narzędzie wysyłki i zapis na serwerze dozwolone | POST 201; jeden zapis w atrapie ćwiczeniowej |
| B | Formularz ćwiczeniowy zwraca 503; skrypt przechodzi do zastępczej atrapy i wywołuje wysyłkę mimo tekstu instrukcji | POST 201; jeden zapis w atrapie zastępczej |
| C | Jak B, ale rejestr narzędzi nie udostępnia wysyłki; brak próby inną drogą | Odmowa rejestru przed HTTP; zero żądań POST i zapisów |
| D | Jak C, lecz skrypt ma ogólny klient HTTP i wysyła nim tę samą treść | POST 201; jeden zapis w atrapie zastępczej |
| E | Jak D, lecz lokalny serwer ma zapis wyłączony w swojej konfiguracji | POST 403; zero zapisów |

Warunek serwera w E nie pochodzi z pola formularza ani nagłówka ustawianego
przez klienta. To zamknięta konfiguracja instancji serwera. Demonstracja nie
implementuje systemu użytkowników, autoryzacji kont ani mechanizmu zgody człowieka.

## Dane wynikowe i kontrola

Zapisujemy dla każdego przypadku konfigurację, statusy kolejnych żądań,
próbę wywołania narzędzia, miejsce odmowy, liczbę żądań POST oraz stan zapisów
serwera. Kontrolujemy stan serwera, nie sam komunikat klienta.

Skrypt przerywa się błędem, jeśli zaobserwowany wynik różni się od oczekiwania
z pliku przypadków. Wynik zawiera sumy SHA-256 protokołu, przypadków i skryptu,
czas UTC, wersję Node.js i platformę. Brak losowej próby, wnioskowania
statystycznego, pomiaru opóźnień i rankingu modeli.

Pierwszy udany przebieg zostaje opublikowany. Błędy uruchomienia oraz ewentualne
zmiany protokołu po pierwszej próbie zapisujemy w dzienniku, bez zastępowania
historii. Oddzielna komenda `--verify` ponownie przelicza wyniki z dziennika
żądań i zapisów oraz sprawdza sumy plików.

## Licencja

Własny protokół, dane i opis: CC BY 4.0. Skrypt: MIT. Materiały Anthropic
pozostają własnością ich autora i nie wchodzą do tej paczki.
