redtapeai

Metodologia

redtapeai jest projektem badawczym — nie autorytetem prawnym. Ta strona wyjaśnia, jak powstają rekordy widoczne w bazie, jaki jest scope projektu i gdzie są jego ograniczenia.

Czym jest obciążenie administracyjne (a czym nie)

W naszym znaczeniu obciążenie administracyjne (administrative burden, red tape) to sytuacja stanowiąca ograniczenie wolności gospodarczej — w rozumieniu art. 20-22 Konstytucji RP. To są powinności biurokratyczne nakładane na podmioty regulowane (przedsiębiorców, obywateli, pracodawców, podatników) i tworzące koszty compliance.

NIE są obciążeniem administracyjnym w sensie tego projektu:

Ważny niuans: compliance wokół danin (deklaracje VAT, JPK, ewidencja podatkowa, rejestracja jako podatnik VAT, wnioski o interpretacje indywidualne) JEST obciążeniem administracyjnym, bo to są koszty biurokratyczne ograniczające wolność gospodarczą, nie sama danina.

Pipeline ekstrakcji

  1. Ingestion — pobranie aktu z ELI API (api.sejm.gov.pl/eli).
  2. Parsing — strukturyzacja HTML do hierarchii art./ust./pkt/lit.
  3. Pattern scanner — deterministyczne wykrywanie kandydatów na obowiązek (markery typu „obowiązany", „w terminie", „pod rygorem").
  4. LLM extraction — kandydaci analizowani przez model (claude-opus-4-7), który zwraca obowiązki z dosłownym cytatem i klasyfikacją subject_category + is_danina_publiczna.
  5. Walidator cytatu — twardy gate: cytat MUSI dosłownie występować w źródle, inaczej rekord jest odrzucany.
  6. Klasyfikator regułowy — cross-check stem-prefix matchingu polskiej morfologii, jako fallback i retrofit.
  7. Confidence scoring — wielosygnałowy wynik (siła wzorca, kompletność, specyficzność cytatu i podmiotu).

Pipeline monitoringu legislacyjnego (Sejm + RCL)

Równolegle do pipeline'u ekstrakcji obowiązków działa pipeline monitoringu legislacji — codzienna automatyzacja śledząca stan procesów ustawodawczych od konsultacji ministerialnych do publikacji w Dz.U.:

  1. RCL (pre-sejm) — projekty rządowe na etapie konsultacji ministerialnych. Scraper pobiera listę wszystkich projektów + dla każdego pełen timeline 14 etapów (Uzgodnienia → Konsultacje publiczne → Opiniowanie → Komitety → Komisja Prawnicza → Rada Ministrów → Notyfikacja → Skierowanie do Sejmu) z dokumentami per etap (Projekt.docm, Uzasadnienie.docx, OSR.doc, Pisma kierujące, Stanowiska zgłoszone w konsultacjach).
  2. Sejm — procesy z API api.sejm.gov.pl/sejm/term{N}/processes z pełnym timeline etapów (1. czytanie → komisja → 2. czytanie → 3. czytanie → Senat → poprawki → podpis), głosowaniami imiennymi, drukami sejmowymi (PDF). Pokrywamy kadencje 10, 9, 8.
  3. Cross-reference — heurystyka „o zmianie ustawy o X" + fuzzy match tytułów: na karcie każdej ustawy z naszej bazy widać które projekty Sejm próbują ją zmienić (w toku / uchwalone / odrzucone).
  4. Klasyfikacja wnioskodawcy — z prefixu tytułu Sejm: rządowy / poselski / senacki / komisyjny / obywatelski / prezydencki. Plus statystyki skuteczności: rządowe ~95% pass, poselskie ~36%, obywatelskie ~12%.
  5. Daily automation — GitHub Actions, cron 6:30 UTC. Inkrementalny ingest (nowe etapy + ~80 nowych RCL details / dzień), commit + push do main → CF Pages auto-deploy.

Co domyślnie widzisz na dashboardzie

Domyślny widok („obciążenia regulacyjne") pokazuje obowiązki spełniające:

Przełącznik „wszystkie obowiązki" odsłania procedury wewnątrz administracji + daniny publiczne — dla pełnej transparency datasetu, ale to nie jest core scope projektu.

„Przepis" vs „norma prawna" — świadome uproszczenie

Po konsultacji eksperckiej (maj 2026) potwierdzamy znane ograniczenie metody: redtapeai mapuje jeden przepis na jeden obowiązek, ale w teorii prawa norma prawna często wynika z kilku przepisów czytanych łącznie, a jeden przepis może zawierać kilka odrębnych norm.

Konsekwencje praktyczne:

To jest pragmatyczne uproszczenie, nie błąd. Pełne modelowanie norm wymagałoby ręcznego networkingu przepisów — koszt nieadekwatny do MVP. Zostawiamy hooki (related_units) na ścieżce dojścia tam później.

Goldplating: porównanie PL ↔ UE

Art. 67 ustawy o Prawie Przedsiębiorców postuluje przeciwdziałanie pozłacaniu (goldplating) regulacji unijnych — polskie prawo nie powinno nakładać więcej obowiązków niż wynika z dyrektywy UE, chyba że jest to wyraźnie uzasadnione.

Pole implements_eu_act przy każdym obowiązku, jeśli wypełnione, mówi:

Mapowanie jest ręczne, w trakcie budowy: zaczynamy od AML (dyrektywy 2015/849 i 2018/843) jako proof-of-concept. Rozwija się stopniowo.

Confidence score — co oznaczają liczby przy obowiązkach

Każdy obowiązek ma conf między 0 a 1. Wynik to średnia ważona czterech sygnałów:

Jak czytać: ≥ 0.80 — wysoka pewność, kompletny rekord; 0.60–0.79 — średnia, warto rzucić okiem na cytat; < 0.60 — niska, traktować jako kandydata do weryfikacji eksperckiej.

Niska confidence NIE znaczy, że obowiązek nie istnieje — znaczy, że ekstrakcja była niejednoznaczna i rekord może wymagać dopracowania.

„do przeglądu" / flagged_for_review

Etykieta do przeglądu oznacza, że rekord przeszedł walidator cytatu (cytat jest dosłowny w źródle), ale jeden z heurystyk oznaczył go jako wymagający eksperckiej weryfikacji — np. niska confidence + brak deadline + ogólny podmiot. Lista takich rekordów to roadmapa do iteracji datasetu, nie sygnał błędu.

Identyfikatory DU/yyyy/nnnn

Skrót DU/2018/646 to address ELI (European Legislation Identifier) — Dziennik Ustaw z roku 2018, pozycja 646. Każdy akt w bazie jest pobrany z api.sejm.gov.pl/eli po tym właśnie identyfikatorze. Klikając w identyfikator albo tytuł aktu wchodzisz na stronę aktu w naszej bazie z listą obowiązków.

Ograniczenia metody

Wersjonowanie

Dataset jest powiązany z wersją tekstu jednolitego pobraną z ELI w danym momencie. Plik extraction_run.json zawiera metadane runa (model, prompt_version, timestamps, błędy). Plikclassify_log.json dokumentuje rule-based klasyfikacje subject_category dla każdego obowiązku.

Dane i kontakt