# Kontrola należności: lokalny obieg do przeglądu

11 października 2026. Osobny demonstrator Python/SQLite realizuje kontrolę rozliczeń przed przygotowaniem rekordu przypomnienia. Nie zmienia wcześniejszego demo 04 i nie przejmuje jego wyników modelowych. Plan powstał przed implementacją. Wszystkie dane są fikcyjne, bez sieci, danych uwierzytelniających i możliwości wysyłania.

## Wykonane kontrole

15 testów przeszło. `tests.log` zawiera wynik. Testy obejmują częściowe i wspólne wpłaty, nieprzypisane kwoty, korespondencję oczekującą na przegląd, spór, granice aktualności, zmianę danych po przygotowaniu, błędne przypisania, ponowienie zatwierdzenia i dwie równoległe próby utworzenia rekordu. Jeden test uruchamia nowy proces, który zapisuje szkic i kończy się kodem 17 bez potwierdzenia wyniku; ponowienie po ponownym otwarciu bazy zachowuje jeden rekord tej samej faktury i wersji. To przerwanie po zatwierdzeniu transakcji, nie próba odcięcia zasilania w trakcie zapisu.

`journey.json` zapisuje pełne wejścia i przebieg: częściowo przypisany przelew zatrzymuje sprawę; po przypisaniu 7000 z 12000 groszy do pierwszej faktury i 5000 do drugiej saldo pierwszej wynosi 3000; późniejsza wpłata 1000 daje 2000 i unieważnia starszy szkic. Zatwierdzenie starszej wersji zostaje odrzucone. Nowa korespondencja oraz oznaczony spór ponownie zatrzymują przygotowanie.

## Odtworzenie

Wymagany Python 3, wyłącznie biblioteka standardowa:

```sh
python3 -B -m unittest discover -s . -p 'test_*.py' -v
python3 -B replay.py
```

Przebieg używa tymczasowych baz i usuwa je po zakończeniu. Wyniki pokazują dane wejściowe, stany i hashe źródeł. Zapis `source_ref` opisuje fikcyjny eksport; nie potwierdza autentyczności danych.

## Ograniczenia i negatywna próba

Model nie interpretuje korespondencji. Klasyfikacja pochodzi od człowieka, a samo wpisanie nazwiska nie uwierzytelnia tej osoby. Celowo błędne oznaczenie tekstu „Nie zgadzamy się z fakturą” jako `not-dispute` pozwala przygotować rekord. Negatywna próba pozostaje w wyniku, bez przedstawiania kontroli jako skutecznego wykrywania sporów.

Zestaw źródłowy jest dostarczony przez wywołującego. Brak konektora bankowego, księgowego i pocztowego; brak dowodu, że dostawca przekazuje kompletne, bieżące dane. Godzinny próg aktualności jest założeniem demonstratora. Zegar jest wejściem testowym. Nieprzypisana wpłata lub spór zatrzymuje wszystkie sprawy tego kontrahenta, co może nadmiernie blokować pracę.

Obsługiwana jest jedna waluta na zestaw, dodatnie kwoty i jawne przypisania. Brak not kredytowych, kursów walut, odsetek, sald otwarcia i ustalania zasadności roszczenia. Nowa wersja źródła może utworzyć nowy rekord tej samej faktury. Dedupikacja dotyczy tej samej wersji, nie całej historii kontaktu.

Nie ma logowania użytkowników, uprawnień, kompletnego audytu zmian importów, kopii zapasowych, transportu wiadomości ani interfejsu operatora. `approved` oznacza rekord decyzji w lokalnej bazie. Późniejsza zmiana może unieważnić ten rekord, ale nie cofnie danych pobranych wcześniej przez zewnętrzny system. Żaden taki system nie jest tutaj podłączony. Dwie równoległe operacje na SQLite nie dowodzą własności systemu rozproszonego.

Ten materiał uzupełnia wcześniejszą lukę testu kontroli finansowych. Nie dowodzi jakości AI, skuteczności windykacji ani gotowości wdrożenia u klienta. Ponowna ocena strony może dotyczyć tylko jawnej propozycji obiegu do zaprojektowania i osobnych prób integracji. Nie znosi wymaganej zgody na publikację.
