Przejdź do treści

O projekcie

Silnik: sejm2git

Korpus nie jest pisany ręcznie — generuje go sejm2git, deterministyczny silnik w Pythonie, który:

  • pobiera akty z oficjalnego API Sejmu (ELI / api.sejm.gov.pl), a od 2025 r. — odkąd API nie udostępnia już tekstów aktów w HTML, a jedynie PDF-y z Dziennika Ustaw — czyta nowelizacje wprost z PDF-ów,
  • parsuje je do drzewa jednostek redakcyjnych (artykuły, ustępy, punkty, litery, tiret),
  • odtwarza łańcuch nowelizacji, by uzyskać tekst obowiązujący,
  • materializuje wynik w git: gałąź na nowelizację, merge w dniu wejścia w życie,
  • waliduje rekonstrukcję wobec oficjalnych tekstów jednolitych (wynik i metoda).

Determinizm — i jego granice. Silnik jest deterministyczny w wąskim, ale użytecznym sensie: przy tym samym stanie API i tych samych datach dwa uruchomienia dają identyczny korpus — co do bajtu i co do hasha. Nie znaczy to jednak, że historia korpusu nigdy się nie zmienia. Kiedy silnik uczy się czegoś nowego — a przez ostatnie miesiące uczył się dużo, choćby czytać nowelizacje wprost z PDF-ów Dziennika Ustaw — korpus jest przebudowywany, czyli odtwarzany od zera, i wszystkie hashe się zmieniają.

Mówimy o tym wprost, bo to ma konsekwencje. Publikacja korpusu bywa wymianą historii, a nie doklejeniem nowych commitów: sklonowane repozytorium trzeba wtedy sklonować ponownie, a commit o konkretnym hashu może zniknąć z kanonicznej gałęzi. Dlatego trwałym adresem przepisu jest u nas plik i data, nie hash — i dlatego dyskusję prowadzimy w issues przypisanych do druku sejmowego, a nie do commita.

Przebudowy korpusu

Każda wcześniejsza generacja korpusu zostaje w repozytorium: przed wymianą historii jej gałęzie dostają tagi archiwum/gen-RRRR-MM-DD/<gałąź> (data = dzień wymiany historii). Stary link do commita nadal działa — tyle że wskazuje poprzednią generację, nie bieżącą. Datę bieżącej generacji podajemy na stronie korpusu i na każdej stronie ustawy.

Dokumenty źródłowe

Źródła, licencja, kontakt

Teksty ustaw pochodzą z oficjalnego API Sejmu RP (api.sejm.gov.pl) i Dziennika Ustaw (dziennikustaw.gov.pl); same akty normatywne nie są przedmiotem prawa autorskiego. Kod silnika jest otwarty (licencja MIT) i dostępny na git.sedzia.ai/sejm; kod tej strony nie jest jeszcze opublikowany. Korpus możesz sklonować, przetwarzać i publikować dalej; prosimy tylko o wskazanie źródła i zaznaczenie, że jest to rekonstrukcja.

Projekt prowadzą osoby prywatne; nie jest w żaden sposób związany z Sejmem RP, Rządowym Centrum Legislacji ani żadnym organem państwa. Nic na tej stronie nie jest poradą prawną ani publikacją urzędową. Uwagi i błędy najlepiej zgłaszać jako issue na forge (serwisie git.sedzia.ai).