Plánováno
Projekce
Projekce je odvozený, kdykoli znovu postavitelný pohled na to, co replika obsahuje. Její jednotkou není přihláška, ale dílčí pohledávka — a to rozhodnutí je důvod, proč projekce vůbec existuje jako samostatná položka.
- Položka fáze
- 1.5 projekce: řízení, přihlášky, pohledávky, události
- Závisí na
- 1.3 — replice, ze které se přehrává
- Jednotka
- dílčí pohledávka, ne přihláška
- Oprava
- oprav projektor, zvyš jeho verzi, přehraj log; nic se nestahuje znovu
- Stav
- plánováno — typovaný stavový automat existuje, projektor nad ním ne
Co se z logu bude stavět
- Řízení, klíčované spisovou značkou, se soudem, dlužníkem, správcem a formou řešení úpadku.
- Přihlášky na svých P-pozicích, s vazbou na věřitele a na zdrojový dokument.
- Dílčí pohledávky uvnitř přihlášky, každá s vlastním nominálem, klasifikací a stavem.
- Události pohledávky jako append-only seznam přechodů — aktuální stav je jen materializovaná pohodlnost.
Proč je oprava rutina
Interpretace zdroje se bude měnit pokaždé, když se objeví tvar dokumentu, se kterým se nepočítalo. Kdyby oprava znamenala znovu stahovat, narazila by na strop 3000 požadavků denně a odložila by se.
Přehrání nic nestahuje a nic znovu nevytěžuje — výsledky extrakce jsou cachované podle hashe dokumentu. Cena opravy se tím smrskne na výpočetní čas, což je jediný způsob, jak zajistit, že se opravy budou skutečně dělat.
Co se v projekci dělat nesmí
Projekce se neopravuje ručním UPDATE. Ruční zásah je stav, který v logu nemá oporu, a při nejbližším přehrání zmizí — nebo, hůř, nezmizí a nikdo neví proč.
Oprava dřívějšího údaje je nová událost s vlastní proveniencí. Historie se doplňuje, nepřepisuje.
Kde to v repozitáři žije
docs/DATA-MODEL.md— entity, stavový automat pohledávky a pravidlo o jednotcedocs/INGESTION.md— přehrávání projekce z replikysrc/progresus_isir/domain/— typovaný stavový automat, nad kterým projektor poběží
Souvisí
Log je pravda, projekce je odvozená
Stav se rekonstruuje přehráním neměnného proudu událostí. Oprava chyby v interpretaci je rutina, ne krize — a nevyžaduje znovu zatěžovat veřejný rejstřík.
Detail
Event sourcing, protože zdroj je event stream
Systém je konzumentem oficiálního proudu událostí. Z něj staví lokální append-only repliku a z ní přehrává projekci aktuálního stavu. Oprava chyby v interpretaci znamená přehrát log, ne znovu stahovat rejstřík.
Detail
Životní cyklus pohledávky
Systém drží aktuální stav každé dílčí pohledávky i kompletní historii přechodů — od přihlášení přes přezkum a incidenční spor až po uspokojení a skončení řízení. U každého přechodu je datum a zdrojový dokument, ze kterého vyplývá.
Detail