E-maile, załączniki i notatki ze spotkania tworzą jeden plan z widocznymi źródłami i otwartymi różnicami.
System zbiera ustalenia z materiałów startowych i przypisuje do nich źródło, właściciela oraz termin. Rozpoznaje przekazane kopie, aby nie liczyć ich jako dodatkowego potwierdzenia. Sprzeczna data pozostaje otwarta do decyzji lidera projektu.
Co sprawdziliśmy
Zapisany test zachowuje źródła ustaleń, wykrywa kopię wiadomości przekazanej dalej i pozostawia sprzeczne daty otwarte do decyzji. Publiczny podgląd działa tylko do odczytu na jednym testowym pakiecie i nie zawiera danych klienta.
- Test lokalny
- Co sprawdziliśmy
- Kontrola źródeł, sprzeczności i blokad zapisu
- Plan startu projektu ze źródłami
- Zweryfikowano
- materiał testowy
Problem, rozwiązanie i wynik
Ustalenia są rozrzucone po kilku plikach
Start projektu jest opisany w kilku e-mailach, załączniku i notatce ze spotkania. Lider ręcznie przepisuje ustalenia do planu, przez co traci ich pochodzenie i może potraktować przekazaną kopię jako dodatkowe potwierdzenie.
Jak powstaje plan ze wskazanymi źródłami
System odczytuje pliki, rozpoznaje duplikaty i łączy działania z konkretnymi fragmentami źródeł. Sprzeczne daty lub brak właściciela pozostają na liście otwartych spraw. Człowiek rozstrzyga je przed zamknięciem wersji planu.
Czternaście kontroli na jednym pakiecie
Zapisany test zachowuje źródła ustaleń, wykrywa kopię wiadomości przekazanej dalej i pozostawia sprzeczne daty otwarte do decyzji. Publiczny podgląd działa tylko do odczytu na jednym testowym pakiecie i nie zawiera danych klienta.
Dla kogo
Ten system ma sens, jeśli plan startowy powstaje przez przepisywanie maili, terminy różnią się między dokumentami, a zespół później nie potrafi wskazać źródła ustalenia.
Pakiet → ustalenia → spór → plan
- 01Każde ustalenie pokazuje plik i miejsce, z którego pochodzi
- 02Przekazana kopia nie liczy się jako drugie potwierdzenie
- 03Wersję planu zamyka człowiek, po rozstrzygnięciu daty startu
- Typ firmy
- Integratorzy, firmy programistyczne i zespoły prowadzące projekty wdrożeniowe
- Wejście
- Pakiet startowy: wątek .eml z kopią wiadomości przekazanej dalej, załącznik PDF i notatka ze spotkania otwierającego
- Zatwierdzenie planu
- Sporna data startu wstrzymuje zamknięcie wersji planu; rozstrzyga człowiek i podpisuje się pod terminem
- Koszt
- 0 zł opłat zewnętrznego API w zapisanym przebiegu; 3 odpowiedzi przygotowane lokalnie, mediana 509 ms.
- Bezpieczeństwo
- Sprzeczna data pozostaje otwarta, a zapis planu wymaga decyzji i podpisu osoby odpowiedzialnej.
- Historia
- Każde ustalenie prowadzi do konkretnego pliku lub fragmentu, a historia ujawnia późniejszą zmianę zapisu.
- Budowa podobnego systemu
- od 25 000 zł netto · 4–10 tygodni
Zatwierdzenie planu
Lider projektu rozstrzyga sporną datę
System nie wybiera lepszej daty ani nie scala sprzecznych ustaleń. W środowisku produkcyjnym decyzję podejmuje uwierzytelniona osoba. Formularz wymaga wiążącego terminu, imienia i nazwiska tej osoby oraz podstawy decyzji. Zamknięcie wersji planu jest zapisywane osobno. Publiczny podgląd nie sprawdza tożsamości ani roli, dlatego odrzuca obie próby zapisu. Brak właściciela trafia na listę otwartych punktów, lecz nie blokuje planu. Plan można zamknąć dopiero po rozstrzygnięciu sporu o datę startu.
- Koszt
- 0 zł opłat zewnętrznego API w zapisanym przebiegu; 3 odpowiedzi przygotowane lokalnie, mediana 509 ms.
- Bezpieczeństwo
- Sprzeczna data pozostaje otwarta, a zapis planu wymaga decyzji i podpisu osoby odpowiedzialnej.
Czego zapisany test jeszcze nie wymusza
Test sprawdza, czy każde działanie wskazuje źródło. Sama baza tego jednak nie wymusza: identyfikatory ustaleń są zapisane w zwykłej tablicy tekstowej bez klucza obcego, która przyjmuje też pustą wartość. Z pominięciem aplikacji można więc zapisać działanie bez źródła. Import 2 400 kont czeka na podpisaną umowę DPA i protokół testu migracji. Publiczny podgląd nie ma funkcji importu, dlatego pokazuje tylko warunki początkowe, bez wykonanej próby odmowy. Łańcuch skrótów wykrywa zmianę zdarzenia, lecz nie zastępuje pamięci WORM ani zewnętrznego potwierdzenia. Przed produkcją trzeba dodać klucz obcy dla źródeł, wymusić warunki importu i zapisywać potwierdzenie historii poza bazą.
Szacowany efekt
Policz efekt na swoim wolumenie
To szacunek oparty na podanym wolumenie. Wpisz własne liczby do formuły, aby ocenić możliwy efekt w swojej firmie. Podczas pilotażu sprawdzamy go na danych procesu.
Dziś
Założenie dziś: 108 h/mies. (9 h/start)
Po uruchomieniu
Scenariusz po: 54 h/mies. (4,5 h/start)
Oszczędność czasu lub kosztu
Scenariusz modelowany: 40-70 h/mies., baza 54 h
- Wolumen
- Scenariusz modelowany: 12 startów/mies.
- Formuła
- 12 x (9 - 4,5) h = 54 h/mies.
- Status wyliczenia
- niska-średnia
Dane na zrzutach. Nazwy, kwoty i dokumenty widoczne na zrzutach są testowe. Dane klientów pozostają prywatne. Wyniki dotyczą opisanego testu; wpływ produkcyjny sprawdzamy na danych klienta.
Ekrany
System składa pakiet przed pracą lidera wdrożenia. Lider rozstrzyga sporne terminy i zamyka wersję planu.
Lider wdrożenia otwiera jeden widok. Ma tam cztery źródła z sumami kontrolnymi, oznaczoną kopię, ustalenia z miejscem w pliku, plan w trzech kolumnach i listę otwartych punktów. Sporne daty są pokazane obok cytowanych źródeł. Trzeba je rozstrzygnąć przed zamknięciem planu. Historia zapisuje, kto podjął decyzję, kiedy i na jakiej podstawie. Oszczędność czasu należy zmierzyć na liczbie projektów danego zespołu. Wartości pokazane obok są scenariuszem, bez wyniku przed i po u klienta.
Źródła, ustalenia i wersja planu.
Źródła
Pliki pakietu z sumą kontrolną i oznaczoną kopią, każdy do otwarcia w oryginale.
Ustalenia
Terminy i warunki z miejscem w pliku; sporna para dat jest opisana jasno.
Wersja planu
Działania w trzech kolumnach z odwołaniem do ustaleń. Zamknięcie wersji czeka na rozstrzygnięcie.
Ekrany systemu
Zobacz, jak system działa w praktyce
To zrzuty z działającej aplikacji w wersji komputerowej i mobilnej. Pokazują opisany proces oraz miejsca, w których decyzję podejmuje człowiek.
- Ekrany
- 7
- px
- 1440 · 390
- 021440×1100
Dwie daty ze wskazanymi źródłami oraz próba decyzji odrzucona bez uwierzytelnionej roli. - 031440×1100
Mobilny widok konfliktu z jawnym testowym zakresem.
Otwórz archiwum pozostałych ekranów (4)
- 041440×1100
Różne pliki, ta sama treść - 051440×1100
Dwie daty do jednego działania - 061440×1100
Wersja planu zablokowana - 071440×1100
Łańcuch złożenia pakietu
Stos technologiczny
Pliki są odczytywane przez sprawdzone parsery, bez dodatkowego systemu orkiestracji.
Przejście od pliku do decyzji składa się ze stałej sekwencji kroków. Używamy parsera zgodnego z RFC 822, przypiętej rewizji pdf-inspector i PostgreSQL z kluczami obcymi oraz zamkniętymi listami wartości. Model językowy działa poza API, w osobnym lokalnym teście Bielika 4.5B w kwantyzacji 8-bit. W tym teście mediana odpowiedzi na Apple Metal wyniosła 508,517 ms. Wyniku nie należy przenosić na docelowe vLLM na kartach NVIDIA. Każdą kontrolę można uruchomić ponownie jedną komendą i porównać z poprzednim zapisem.
- Pakiet email w Pythonie z policy.default
- czyta plik RFC 822 dostarczony do testu i zachowuje Message-ID oraz treść wiadomości
- pdf-inspector 0.7.0, rewizja 20f24d1
- klasyfikuje PDF i wydobywa tekst lokalnie, bez wysyłania dokumentu na zewnątrz
- PostgreSQL 17
- przechowuje ustalenia, działania, spory i historię zmian, z zamkniętymi listami wartości
- FastAPI z psycopg
- składa pakiet i kontroluje zapis; przy otwartym sporze odmawia zamknięcia wersji planu
- Next.js 16 i React 19
- pokazuje źródła, ustalenia, plan w trzech kolumnach i historię zdarzeń
- Bielik 4.5B v3.0 Instruct, MLX 8-bit
- osobny lokalny test trzech przygotowanych poleceń, poza ścieżką API
Klient przejmuje kod, schemat bazy, dane testowe i dokumentację. System działa jako cztery usługi Docker Compose z podanymi limitami pamięci. Baza pozostaje w sieci wewnętrznej, a API udostępnia wyłącznie pliki z listy zapisanej w bazie. Publiczny podgląd niczego nie wysyła na zewnątrz ani nie zapisuje w narzędziach klienta.
Szczegóły techniczne i wyniki testów
Pętla pracy
Każde działanie w planie wskazuje ustalenie i miejsce w pliku.
Z działania można przejść do ustalenia, a następnie do właściwego miejsca w pliku. To połączenie działa także w drugą stronę. Gdy źródła podają różne daty, system pokazuje spór i blokuje zamknięcie planu.
Pakiet startowy: wątek maili, przekazana kopia, PDF i notatka
Odczyt plików → ustalenia ze wskazaniem miejsca w źródle
Przekazana kopia → ten sam skrót treści, jedno potwierdzenie
Dwie daty startu → otwarty spór blokuje zamknięcie planu
Rozstrzygnięcie z nazwiskiem → osobny zapis zamknięcia planu
Architektura systemu
Odczyt e-maili i PDF-ów, rozpoznawanie kopii oraz kontrola spornej daty.
System czyta formaty używane przy starcie projektu. Każde ustalenie zapisuje z dokładnym miejscem w źródle. Kopie rozpoznaje po skrócie treści, a spór o datę blokuje zamknięcie planu.
- 01
Wejście
System czyta pliki EML i PDF.
Pakiet email w Pythonie z ustawieniem policy.default czyta wiadomość zgodną z RFC 822 i zachowuje Message-ID oraz treść. pdf-inspector z przypiętej rewizji klasyfikuje PDF, wybiera sposób odczytu i wydobywa tekst lokalnie. Dla każdego pliku obliczamy sumę SHA-256.
- 02
Ustalenia
Każde ustalenie zapisuje źródło i dokładne miejsce.
Terminy, zakresy i warunki są osobnymi faktami z identyfikatorem źródła oraz miejscem, na przykład body:2, page:1 albo sentence:3. Działania w planie zawierają identyfikatory faktów, z których wynikają.
- 03
Duplikaty
Przekazana kopia dzieli skrót treści z pierwowzorem.
Przekazana kopia ma inną sumę całego pliku, ale ten sam znormalizowany skrót treści. Nawet trzykrotnie przekazany wątek pozostaje więc jednym potwierdzeniem i nie zwiększa liczby unikalnych źródeł.
- 04
Spór
Sprzeczna data blokuje zamknięcie planu.
Dwie różne wartości pola go_live tworzą otwarty konflikt. Próba zamknięcia wersji planu kończy się wtedy kodem 409. W produkcji rozstrzygnięcie i zamknięcie zapisuje uwierzytelniona osoba. Publiczny podgląd odrzuca obie operacje kodem 403, ponieważ nie ma kontroli tożsamości ani ról.
Dlaczego w ścieżce nie ma modelu
Odczyt plików, obliczenie sumy kontrolnej i porównanie dwóch wartości tego samego pola dają powtarzalny wynik. Model dodałby koszt i ryzyko innej odpowiedzi przy kolejnym uruchomieniu. Jedyny model w repozytorium działa w osobnym lokalnym teście poza API.
- Łańcuch od pliku do działania da się przejść w obie strony
- Przekazane kopie nie mnożą potwierdzeń
- Otwarty spór o datę startu blokuje zamknięcie planu
- Łańcuch skrótów wykrywa zmianę zapisanego zdarzenia
Chcesz sprawdzić podobny proces w swojej firmie?
- 30 minut z inżynierem, który może prowadzić Twoje wdrożenie.
- Przegląd procesów, które kosztują Cię najwięcej czasu i pieniędzy.
- Pisemne podsumowanie: co zautomatyzować, w jakiej kolejności, z widełkami kosztów.
Terminy zobaczysz w swojej strefie czasowej.
W 30 minut wybieramy proces do oceny, a w ciągu 2 dni roboczych dostajesz rekomendację, także gdy lepsza będzie prostsza droga.