Stenogram Sejmu · 2026-09-15

Mateusz Kotecki

Kadencja 10 · posiedzenie 65 · wypowiedź 214

Brak głosu imiennego z tego dnia, który potwierdzałby klub mówcy.

Pełna wypowiedź

10. kadencja, 65. posiedzenie, 1. dzień (15-09-2026) 7. i 8. punkt porządku dziennego: 7. Pierwsze czytanie przedstawionego przez Prezydenta Rzeczypospolitej Polskiej projektu ustawy o ochronie funkcji produkcyjnej wsi (druk nr 3032). 8. Pierwsze czytanie rządowego projektu ustawy o zmianie niektórych ustaw w celu ochrony rolniczych funkcji produkcyjnych wsi (druk nr 3029). Sekretarz Stanu w Kancelarii Prezydenta RP Mateusz Kotecki: Panie Marszałku! Wysoka Izbo! Przedłożony przez prezydenta Rzeczypospolitej projekt ustawy o ochronie funkcji produkcyjnej wsi jest inicjatywą ustawodawczą, która wychodzi z założenia, że polska wieś jest i powinna pozostać nadal jednocześnie miejscem życia i miejscem pracy, w którym produkcja rolna stanowi podstawę lokalnej gospodarki. Celem ustawy jest wzmocnienie pewności prawa i ochrona legalnej działalności rolniczej tak, aby rolnik nie ponosił odpowiedzialności tylko dlatego, że wykonuje swoją pracę i produkuje żywność. Przedstawiona przez pana prezydenta ustawa ma przeciwdziałać sytuacjom, w których zwykle nieuniknione następstwa prowadzenia gospodarstwa, wynikające z chowu zwierząt, prac polowych, zabiegów agrotechnicznych czy używania maszyn, stają się pretekstem do nieuzasadnionych postępowań, kar albo prób ograniczenia produkcji. Jednocześnie ustawa ta po jej uchwaleniu ma służyć zapewnieniu równowagi interesów i dobremu sąsiedztwu przy poszanowaniu praw mieszkańców do ochrony zdrowia oraz przy zachowaniu obowiązujących wymogów bezpieczeństwa, dobrostanu zwierząt i ochrony środowiska. Projekt ustawy, będący również realizacją przez prezydenta Rzeczypospolitej Polskiej jego postulatów zawartych w planie dla polskiej wsi, który został ogłoszony podczas kampanii wyborczej, określa więc z jednej strony zasady ochrony produkcyjnej funkcji wsi, w szczególności w zakresie zapewnienia możliwości prowadzenia, utrzymania, modernizacji oraz rozwoju produkcji rolniczej jako elementu bezpieczeństwa żywnościowego Rzeczypospolitej. Jednocześnie z drugiej strony celem projektu jest ograniczenie konfliktów sąsiedzkich związanych z oddziaływaniami wynikającymi z prowadzenia działalności rolniczej na obszarach wiejskich. To właśnie te pojawiające się konflikty, które nierzadko później przeradzały się w głośne sprawy sądowe, w których rolnicy byli obciążani odpowiedzialnością za prowadzenie produkcji roślinnej i zwierzęcej, skłoniły pana prezydenta do złożenia przedmiotowej inicjatywy. Dotyczyło to sytuacji, gdy działalność rolnicza była wykonywana legalnie i stanowiła naturalny element funkcjonowania obszarów wiejskich. Długotrwałe i skomplikowane procesy kierowane przeciwko rolnikom produkującym żywność osłabiają stabilność gospodarstw, zniechęcają do inwestycji, modernizacji i rozwoju. W efekcie mogą ograniczać krajową produkcję żywności, co jest mniej korzystne z punktu widzenia interesu państwa oraz bezpieczeństwa żywnościowego Rzeczypospolitej Polskiej. W praktyce narastające spory sąsiedzkie na wsi wynikają z lokowania oraz nabywania zabudowy mieszkaniowej bezpośrednio w sąsiedztwie gospodarstw prowadzących działalność rolniczą. Źródłem konfliktu bywa zarówno nowa zabudowa, jak i zmiana właściciela istniejącej nieruchomości. Nowy nabywca, mimo że kupuje nieruchomość na obszarze o utrwalonej funkcji rolniczej, inicjuje postępowanie dotyczące oddziaływań typowych dla rolnictwa. Obowiązujące instrumenty prawa cywilnego, w tym regulacje dotyczące imisji, mają charakter ogólny. Nie zapewniają dostatecznej przewidywalności rozstrzygnień w sprawach, w których spór dotyczy działalności rolniczej. W praktyce powoduje to rozbieżności w ocenach, długie postępowania dowodowe oraz niepewność po stronie rolników. Brak przepisów szczególnych jest odczuwalnym problemem dla rosnącej grupy rolników indywidualnych, w tym prowadzących gospodarstwa rodzinne. Celem ustawy jest uporządkowanie zasad rozstrzygania sporów dotyczących oddziaływań typowych dla działalności rolniczej w sposób odpowiadający realiom współczesnej wsi. Zgodnie z art. 144 Kodeksu cywilnego właściciel nieruchomości powinien przy wykonywaniu swojego prawa powstrzymywać się od działań, które zakłócałyby korzystanie z nieruchomości sąsiednich ponad przeciętą miarę, wynikającą ze społeczno-gospodarczego przeznaczenia nieruchomości i stosunków miejscowych. Przepis ten ma charakter ogólny i nie zawiera unormowań szczególnych odnoszących się do działalności rolniczej. W praktyce prowadzi to do stanu niepewności prawnej po stronie rolników prowadzących działalność zgodnie z prawem, zwłaszcza w sytuacjach, w których typowe oddziaływanie gospodarstwa rolnego, takie jak zapachy, hałas, pył, światło, ruch maszyn rolniczych i środków transportu lub wykonywanie zabiegów agrotechnicznych, stają się przedmiotem sporów sąsiedzkich. Problem ten ujawnia się szczególnie wyraźnie w sytuacji powstawania nowej zabudowy mieszkaniowej w sąsiedztwie istniejących wcześniej gospodarstw rolnych. W dotychczasowym stanie prawnym brak jest sektorowych rozwiązań dostosowanych do specyfiki produkcji rolniczej. Natomiast sądy powszechne rozstrzygają takie spory na podstawie ogólnych reguł prawa cywilnego dotyczących emisji, co skutkuje zróżnicowaniem linii orzeczniczych, dużą niepewnością po stronie rolników i przewlekłością prowadzonych postępowań. W praktyce prowadzi to do ograniczenia skłonności do modernizacji i ponoszenia ryzyka inwestycyjnego oraz ogólnego osłabienia stabilności gospodarstw, w tym rodzinnych, co w skali systemowej stanowi zagrożenie dla produkcyjnej funkcji wsi i bezpieczeństwa żywnościowego całego państwa. Produkcja rolna jest przecież fundamentem bezpieczeństwa żywnościowego państwa i musi podlegać realnej ochronie. Dlatego też projekt prezydenckiej ustawy jednoznacznie potwierdza, że prowadzenie legalnej działalności rolniczej, w tym hodowla zwierząt, prace polowe czy używanie maszyn, jest czymś naturalnym. Hałas, zapachy czy sezonowy ruch maszyn to nie nadużycie, lecz nieodłączny element produkcji żywności. Ustawa wprowadza czytelną zasadę: działalność rolnicza prowadzona zgodnie z prawem jest dopuszczalna i chroniona. To odwrócenie dotychczasowej praktyki, zgodnie z którą rolnik często musiał tłumaczyć się z samego faktu pracy. Jednocześnie ustawa nie znosi ochrony zdrowia ani środowiska. Zakaz prowadzenia działalności rolniczej pozostaje możliwy, ale wyłącznie jako środek ostateczny, gdy inne rozwiązania nie działają lub gdy występuje realne zagrożenie. W pierwszej kolejności sądy mają sięgać po środki ograniczące uciążliwości, a nie środki likwidujące produkcję. Projekt pana prezydenta kładzie silny nacisk na polubowne rozwiązywanie sporów, w tym mediacje z udziałem izb rolniczych, oraz na większą odpowiedzialność osób kupujących nieruchomości na terenach wiejskich. Nabywcy mają być jasno informowani, że w sąsiedztwie może toczyć się normalna działalność rolnicza. Projektowane regulacje wzmacniają pozycję gospodarstw rodzinnych, ułatwiają modernizację i rozwój produkcji oraz kończą z sytuacją, w której decyzje sądowe de facto wypychają rolnictwo z obszarów wiejskich. Projektowana ustawa przywraca elementarną równowagę interesów, chroni prawo do pracy i produkcji żywności, a jednocześnie jasno wyznacza granice tam, gdzie rzeczywiście dochodzi do naruszeń prawa. Przedłożony przez pana prezydenta projekt stanowi próbę sprecyzowania prawa w omawianym zakresie, chociażby przez wprowadzenie definicji legalnych, m.in. przez sformułowanie, co należy rozumieć przez oddziaływanie typowe dla działalności rolniczej, tak by można było maksymalnie ograniczać spory interpretacyjne. Proponuje się ustanowienie zasadniczego mechanizmu ochrony działalności rolniczej i wprowadzenie domniemania prawnego, że oddziaływanie typowe dla prowadzonej zgodnie z prawem produkcji rolniczej nie przekracza przeciętnej miary wynikającej ze stosunków miejscowych w rozumieniu art. 144 Kodeksu cywilnego. Rozwiązanie to doprecyzowuje reżim prawa cywilnego i służy zwiększeniu przewidywalności orzeczeń przy zachowaniu wyjątków wyłączających stosowanie domniemania w przypadku naruszeń prawa albo wystąpienia zagrożeń dla zdrowia ludzi lub dla środowiska, co zabezpiecza interes publiczny. Konstrukcja ta racjonalizuje rozkład ciężarów dowodowych w toku postępowania sądowego, bowiem to powód, który kwestionuje zwykłe funkcjonowanie gospodarstwa, powinien wykazać przesłanki obalenia domniemania lub jego wyłączenia. Z drugiej strony w projekcie prezydenckim zachowano należytą ochronę interesu publicznego, bowiem domniemanie nie obejmuje sytuacji stwarzających ryzyko dla zdrowia lub środowiska. Dla skorzystania z ochrony konieczne będzie łączne spełnienie trzech przesłanek: czasowej - pierwszeństwo działalności rolniczej względem nowej zabudowy, zmiany sposobu użytkowania lub nabycia nieruchomości sąsiedniej przez powoda; legalności - prowadzenie działalności rolniczej zgodnie z prawem; braku istotnej zmiany intensywności - normalna modernizacja gospodarstwa nie będzie wyłączać ochrony. Przy spełnieniu tych warunków powództwo o zaniechanie albo ograniczenie działalności co do zasady powinno być oddalone, chyba że powód wykaże bezpośrednie i poważne zagrożenie dla zdrowia ludzi lub dla środowiska. Rozwiązanie to stabilizuje sytuację prawną istniejących gospodarstw, a jednocześnie pozostawia sądowi skuteczne narzędzia ingerencji w razie realnego zagrożenia. Projekt wzmacnia prawo gospodarstw rolnych, w szczególności gospodarstw rodzinnych, do modernizacji i rozwoju, przesądzając o tym, że modernizacja, zmiana technologii, a także rozbudowa istniejącego gospodarstwa, w tym w szczególności związana z rozwojem przetwórstwa rolnego, rolniczego handlu detalicznego lub działalności marginalnej, lokalnej i ograniczonej, stanowią dopuszczalne wykonywanie działalności rolniczej. Jednocześnie przewidziano mechanizm na wypadek istotnej zmiany intensywności oddziaływań. W takich sytuacjach korzystanie z ochrony łączone jest z obowiązkiem wdrożenia adekwatnych, ekonomicznie racjonalnych środków ograniczenia uciążliwości oraz z koniecznością dotrzymania stosownych standardów wynikających z przepisów odrębnych. Pozwala to uniknąć automatyzmu decyzji ingerencyjnych i utrzymać równowagę między rozwojem gospodarstw a uzasadnionymi oczekiwaniami sąsiadów. Ustawa prezydenta porządkuje sekwencję środków orzeczniczych w sporach o emisje powstałe w związku z rolnictwem. Po ustaleniu sprzeczności oddziaływań z prawem lub przekroczeń poziomów dopuszczalnych w rozumieniu przepisów odrębnych sąd co do zasady w pierwszej kolejności powinien orzekać o zastosowaniu ograniczających uciążliwości środków właściwych dla danego rodzaju działalności. Dopiero gdy środki te okażą się niewystarczające lub obiektywnie niemożliwe do wdrożenia albo gdy oddziaływania powodują bezpośrednie i poważne zagrożenie dla zdrowia ludzi lub dla środowiska, stosuje się środki dalej idące, łącznie z zakazem prowadzenia działalności rolniczej lub istotnym ograniczeniem jej wykonywania. Stopniowalny model ochrony odzwierciedla zasadę proporcjonalności i racjonalnej gospodarności. Minimalizuje uciążliwości bez zbędnego uderzania w podstawy produkcji żywności, a zarazem zachowuje pełną efektywność ochrony w przypadku realnego zagrożenia. W projekcie ustawy przewiduje się również wprowadzenie mechanizmu polubownego rozwiązywania sporów, zgodnie z którym przed wniesieniem pozwu powód powinien wezwać rolnika do podjęcia działań ograniczających oddziaływania oraz zaproponować rozwiązanie polubowne, w tym mediacje. Rozwiązanie takie nie stanowi bariery w dostępie do sądu, lecz jest normalnym mechanizmem wczesnego reagowania, sprzyjającym szybkim korektom technicznym i deeskalacji konfliktów. Dodatkowo przewidziano możliwość uzyskania protokołu potwierdzającego zastosowanie środków ograniczenia oddziaływań, sporządzonego w jednolitym standardzie przez uprawnioną jednostkę doradztwa rolniczego. Protokół stanowi podstawę domniemania, że w gospodarstwie wdrożono środki adekwatne do rodzaju i skali działalności rolniczej. Domniemanie to może być obalone, ale jego istnienie urealnia rozstrzygnięcie sporu i równoważy pozycję dowodową stron. Dla gospodarstw rodzinnych przewidziano uproszczony zestaw środków minimalnych dostosowanych do ich możliwości ekonomicznych, aby ochrona nie była dostępna wyłącznie dla największych podmiotów. Istotnym dopełnieniem systemu przewidzianym w projekcie prezydenckim jest wprowadzenie obowiązku dodania pouczenia w akcie notarialnym nabywcy nieruchomości położonej na obszarze, dla którego ustalenia w dokumentach planistycznych przewidują funkcję rolniczą, produkcyjną lub dopuszczają zabudowę zagrodową, dotyczącego tego, że na nieruchomościach sąsiednich mogą występować oddziaływania typowe dla działalności rolniczej, które mogą powodować zakłócenia korzystania z nabywanej nieruchomości. Rozwiązanie takie pełni funkcję prewencyjną i cywilnoprawną, zwiększa transparentność obrotu, kształtuje świadome oczekiwania co do warunków korzystania z nieruchomości i wpływa na ocenę staranności nabywcy przy ewentualnych przyszłych sporach. Reasumując, chcę powiedzieć, że prezydencki projekt ustawy tworzy kompletny, powtarzalny mechanizm rozwiązywania sporów i konfliktów sąsiedzkich związanych z oddziaływaniami wynikającymi z prowadzenia działalności rolniczej na obszarach wiejskich. W konsekwencji przyjęcie ustawy zaproponowanej przez pana prezydenta doprowadzi do ograniczenia eskalacji tych sporów, wzmocni stabilność funkcjonowania gospodarstw rolnych, poprawi pewność inwestycyjną sektora rolnego i będzie sprzyjać modernizacji, w tym szczególnie w segmencie gospodarstw rodzinnych. Z punktu widzenia systemu prawa projekt uzupełnia ogólne regulacje Kodeksu cywilnego o precyzyjne, sektorowe dyrektywy interpretacyjne i standardy materialne, zarachowując pełną zgodność z przepisami odrębnymi oraz zasadami postępowania cywilnego. To rozwiązanie nie tylko rozwiązuje bieżące problemy praktyki, lecz także tworzy trwałe ramy ochrony produkcyjnej funkcji wsi w warunkach dynamicznych przemian społecznych i przestrzennych. W imieniu pana prezydenta wnoszę o uchwalenie przedłożonego projektu ustawy. Dziękuję. (Oklaski) Przebieg posiedzenia

Otwórz zachowany oryginał · Źródło urzędowe

Dowód treści wypowiedzi

Dowód kolejności na liście dnia

Kontekst w stenogramie

  1. Wcześniej · wypowiedź 212 Dariusz Matecki 10. kadencja, 65. posiedzenie, 1. dzień (15-09-2026) 6. punkt porządku dziennego: Sprawozdanie Komisji Finansów Publicznych o rządowym projekcie ustawy o zmianie ustawy o podatku akcyzowym (druki nr 2839 i 3065). Poseł Dariusz Matecki (teks
  2. Wcześniej · wypowiedź 213 Grzegorz Płaczek 10. kadencja, 65. posiedzenie, 1. dzień (15-09-2026) 6. punkt porządku dziennego: Sprawozdanie Komisji Finansów Publicznych o rządowym projekcie ustawy o zmianie ustawy o podatku akcyzowym (druki nr 2839 i 3065). Poseł Grzegorz Płaczek (tek
  3. Później · wypowiedź 215 Adam Nowak 10. kadencja, 65. posiedzenie, 1. dzień (15-09-2026) 7. i 8. punkt porządku dziennego: 7. Pierwsze czytanie przedstawionego przez Prezydenta Rzeczypospolitej Polskiej projektu ustawy o ochronie funkcji produkcyjnej wsi (druk nr 3032). 8. Pi
  4. Później · wypowiedź 216 Piotr Głowski 10. kadencja, 65. posiedzenie, 1. dzień (15-09-2026) 7. i 8. punkt porządku dziennego: 7. Pierwsze czytanie przedstawionego przez Prezydenta Rzeczypospolitej Polskiej projektu ustawy o ochronie funkcji produkcyjnej wsi (druk nr 3032). 8. Pi
1. (2.32ms; exec 2.27 + fetch 0.04; rows 1) SELECT s.object_id AS statement_id, s.statement_number, s.speaker_name, s.source_member_id, mp.object_id AS member_id, d…
2. (1.23ms; exec 1.22 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
3. (1.04ms; exec 1.02 + fetch 0.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 2795 ORDER BY ordinal
4. (1.08ms; exec 1.06 + fetch 0.02; rows 4) SELECT statement.object_id, statement.statement_number, statement.speaker_name, dayStatement.ordinal FROM sejm_transcrip…
5. (1.3ms; exec 1.29 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
6. (0.91ms; exec 0.9 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
7. (0.66ms; exec 0.65 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 2793 ORDER BY ordinal
8. (1.1ms; exec 1.09 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
9. (1.03ms; exec 1.01 + fetch 0.02; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
10. (0.75ms; exec 0.73 + fetch 0.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 2794 ORDER BY ordinal
11. (1.02ms; exec 1 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
12. (1.57ms; exec 1.53 + fetch 0.04; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
13. (1.07ms; exec 1.05 + fetch 0.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 2796 ORDER BY ordinal
14. (1.48ms; exec 1.47 + fetch 0.02; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
15. (0.92ms; exec 0.9 + fetch 0.02; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
16. (0.58ms; exec 0.56 + fetch 0.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 2797 ORDER BY ordinal
17. (1.68ms; exec 1.66 + fetch 0.02; rows 0) SELECT individual.raw_club, individual.evidence_id, f.requested_url FROM sejm_individual_votes individual JOIN sejm_vote…
toggle
1. (2.32ms; exec 2.27 + fetch 0.04; rows 1) SELECT s.object_id AS statement_id, s.statement_number, s.speaker_name, s.source_member_id, mp.object_id AS member_id, day.object_id AS day_id, day.term, day.proceeding_number, day.source_date, day.current_revision_id AS day_revision_id, dayStatement.ordinal, dayEvidence.id AS list_evidence_id, dayEvidence.selector_type AS list_selector_type, dayEvidence.selector AS list_selector, dayFetch.id AS list_fetch_id, dayFetch.requested_url AS list_source_url, dayArtifact.sha256 AS list_sha256, binding.artifact_id, binding.evidence_id AS transcript_evidence_id, transcriptEvidence.selector_type AS transcript_selector_type, transcriptEvidence.selector AS transcript_selector, transcriptFetch.id AS transcript_fetch_id, transcriptFetch.requested_url AS transcript_source_url, artifact.sha256 AS transcript_sha256, artifact.detected_mime, artifact.byte_size FROM sejm_statements s JOIN sejm_transcript_days day ON day.object_id = s.transcript_day_id LEFT JOIN sejm_mp_identities mp ON mp.term = day.term AND mp.mp_number = s.source_member_id LEFT JOIN sejm_transcript_day_statements dayStatement ON dayStatement.day_id = day.object_id AND dayStatement.day_revision_id = day.current_revision_id AND dayStatement.statement_id = s.object_id LEFT JOIN evidence dayEvidence ON dayEvidence.id = dayStatement.evidence_id LEFT JOIN fetches dayFetch ON dayFetch.id = dayEvidence.fetch_id LEFT JOIN artifacts dayArtifact ON dayArtifact.id = dayEvidence.artifact_id LEFT JOIN documents document ON document.owner_object_id = day.object_id AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', s.statement_number) LEFT JOIN document_versions version ON version.document_id = document.object_id AND version.sequence_no = (SELECT MAX(latest.sequence_no) FROM document_versions latest WHERE latest.document_id = document.object_id) LEFT JOIN document_version_artifacts binding ON binding.version_id = version.object_id AND binding.role = 'html' AND binding.current_selector_sha IS NOT NULL LEFT JOIN evidence transcriptEvidence ON transcriptEvidence.id = binding.evidence_id LEFT JOIN fetches transcriptFetch ON transcriptFetch.id = transcriptEvidence.fetch_id LEFT JOIN artifacts artifact ON artifact.id = binding.artifact_id WHERE s.object_id = 11559 LIMIT 1
2. (1.23ms; exec 1.22 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extraction.run_id WHERE extraction.source_artifact_id = 10670 AND run.state = 'completed' ORDER BY CASE extraction.quality_state WHEN 'success' THEN 0 WHEN 'unreadable' THEN 1 ELSE 2 END, run.finished_at DESC, extraction.id DESC LIMIT 1
3. (1.04ms; exec 1.02 + fetch 0.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 2795 ORDER BY ordinal
4. (1.08ms; exec 1.06 + fetch 0.02; rows 4) SELECT statement.object_id, statement.statement_number, statement.speaker_name, dayStatement.ordinal FROM sejm_transcript_day_statements dayStatement JOIN sejm_statements statement ON statement.object_id = dayStatement.statement_id WHERE dayStatement.day_id = 11344 AND dayStatement.day_revision_id = 10904 AND dayStatement.ordinal BETWEEN 212 AND 216 AND statement.object_id <> 11559 ORDER BY dayStatement.ordinal
5. (1.3ms; exec 1.29 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.object_id AND version.sequence_no = (SELECT MAX(latest.sequence_no) FROM document_versions latest WHERE latest.document_id = document.object_id) JOIN document_version_artifacts binding ON binding.version_id = version.object_id AND binding.role = 'html' AND binding.current_selector_sha IS NOT NULL WHERE document.owner_object_id = 11344 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 212) LIMIT 1
6. (0.91ms; exec 0.9 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extraction.run_id WHERE extraction.source_artifact_id = 10659 AND run.state = 'completed' ORDER BY CASE extraction.quality_state WHEN 'success' THEN 0 WHEN 'unreadable' THEN 1 ELSE 2 END, run.finished_at DESC, extraction.id DESC LIMIT 1
7. (0.66ms; exec 0.65 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 2793 ORDER BY ordinal
8. (1.1ms; exec 1.09 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.object_id AND version.sequence_no = (SELECT MAX(latest.sequence_no) FROM document_versions latest WHERE latest.document_id = document.object_id) JOIN document_version_artifacts binding ON binding.version_id = version.object_id AND binding.role = 'html' AND binding.current_selector_sha IS NOT NULL WHERE document.owner_object_id = 11344 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 213) LIMIT 1
9. (1.03ms; exec 1.01 + fetch 0.02; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extraction.run_id WHERE extraction.source_artifact_id = 10660 AND run.state = 'completed' ORDER BY CASE extraction.quality_state WHEN 'success' THEN 0 WHEN 'unreadable' THEN 1 ELSE 2 END, run.finished_at DESC, extraction.id DESC LIMIT 1
10. (0.75ms; exec 0.73 + fetch 0.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 2794 ORDER BY ordinal
11. (1.02ms; exec 1 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.object_id AND version.sequence_no = (SELECT MAX(latest.sequence_no) FROM document_versions latest WHERE latest.document_id = document.object_id) JOIN document_version_artifacts binding ON binding.version_id = version.object_id AND binding.role = 'html' AND binding.current_selector_sha IS NOT NULL WHERE document.owner_object_id = 11344 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 215) LIMIT 1
12. (1.57ms; exec 1.53 + fetch 0.04; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extraction.run_id WHERE extraction.source_artifact_id = 10671 AND run.state = 'completed' ORDER BY CASE extraction.quality_state WHEN 'success' THEN 0 WHEN 'unreadable' THEN 1 ELSE 2 END, run.finished_at DESC, extraction.id DESC LIMIT 1
13. (1.07ms; exec 1.05 + fetch 0.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 2796 ORDER BY ordinal
14. (1.48ms; exec 1.47 + fetch 0.02; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.object_id AND version.sequence_no = (SELECT MAX(latest.sequence_no) FROM document_versions latest WHERE latest.document_id = document.object_id) JOIN document_version_artifacts binding ON binding.version_id = version.object_id AND binding.role = 'html' AND binding.current_selector_sha IS NOT NULL WHERE document.owner_object_id = 11344 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 216) LIMIT 1
15. (0.92ms; exec 0.9 + fetch 0.02; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extraction.run_id WHERE extraction.source_artifact_id = 10672 AND run.state = 'completed' ORDER BY CASE extraction.quality_state WHEN 'success' THEN 0 WHEN 'unreadable' THEN 1 ELSE 2 END, run.finished_at DESC, extraction.id DESC LIMIT 1
16. (0.58ms; exec 0.56 + fetch 0.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 2797 ORDER BY ordinal
17. (1.68ms; exec 1.66 + fetch 0.02; rows 0) SELECT individual.raw_club, individual.evidence_id, f.requested_url FROM sejm_individual_votes individual JOIN sejm_votes vote ON vote.object_id = individual.vote_id AND vote.current_revision_id = individual.vote_revision_id JOIN object_revisions revision ON revision.id = vote.current_revision_id JOIN evidence e ON e.id = individual.evidence_id JOIN fetches f ON f.id = e.fetch_id WHERE vote.term = 10 AND vote.sitting_number = 65 AND individual.mp_number = 0 AND LEFT(JSON_VALUE(revision.snapshot, '$.date'), 10) = '2026-09-15' AND individual.raw_club IS NOT NULL AND individual.raw_club <> '' ORDER BY vote.voting_number DESC
Top slow:
2.32ms SELECT s.object_id AS statement_id, s.statement_number, s.speaker_name, s.source_member_id, mp.objec…
1.68ms SELECT individual.raw_club, individual.evidence_id, f.requested_url FROM sejm_individual_votes indiv…
1.57ms SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run …
toggle
2.32ms SELECT s.object_id AS statement_id, s.statement_number, s.speaker_name, s.source_member_id, mp.object_id AS member_id, day.object_id AS day_id, day.term, day.proceeding_number, day.source_date, day.current_revision_id AS day_revision_id, dayStatement.ordinal, dayEvidence.id AS list_evidence_id, dayEvidence.selector_type AS list_selector_type, dayEvidence.selector AS list_selector, dayFetch.id AS list_fetch_id, dayFetch.requested_url AS list_source_url, dayArtifact.sha256 AS list_sha256, binding.artifact_id, binding.evidence_id AS transcript_evidence_id, transcriptEvidence.selector_type AS transcript_selector_type, transcriptEvidence.selector AS transcript_selector, transcriptFetch.id AS transcript_fetch_id, transcriptFetch.requested_url AS transcript_source_url, artifact.sha256 AS transcript_sha256, artifact.detected_mime, artifact.byte_size FROM sejm_statements s JOIN sejm_transcript_days day ON day.object_id = s.transcript_day_id LEFT JOIN sejm_mp_identities mp ON mp.term = day.term AND mp.mp_number = s.source_member_id LEFT JOIN sejm_transcript_day_statements dayStatement ON dayStatement.day_id = day.object_id AND dayStatement.day_revision_id = day.current_revision_id AND dayStatement.statement_id = s.object_id LEFT JOIN evidence dayEvidence ON dayEvidence.id = dayStatement.evidence_id LEFT JOIN fetches dayFetch ON dayFetch.id = dayEvidence.fetch_id LEFT JOIN artifacts dayArtifact ON dayArtifact.id = dayEvidence.artifact_id LEFT JOIN documents document ON document.owner_object_id = day.object_id AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', s.statement_number) LEFT JOIN document_versions version ON version.document_id = document.object_id AND version.sequence_no = (SELECT MAX(latest.sequence_no) FROM document_versions latest WHERE latest.document_id = document.object_id) LEFT JOIN document_version_artifacts binding ON binding.version_id = version.object_id AND binding.role = 'html' AND binding.current_selector_sha IS NOT NULL LEFT JOIN evidence transcriptEvidence ON transcriptEvidence.id = binding.evidence_id LEFT JOIN fetches transcriptFetch ON transcriptFetch.id = transcriptEvidence.fetch_id LEFT JOIN artifacts artifact ON artifact.id = binding.artifact_id WHERE s.object_id = 11559 LIMIT 1
1.68ms SELECT individual.raw_club, individual.evidence_id, f.requested_url FROM sejm_individual_votes individual JOIN sejm_votes vote ON vote.object_id = individual.vote_id AND vote.current_revision_id = individual.vote_revision_id JOIN object_revisions revision ON revision.id = vote.current_revision_id JOIN evidence e ON e.id = individual.evidence_id JOIN fetches f ON f.id = e.fetch_id WHERE vote.term = 10 AND vote.sitting_number = 65 AND individual.mp_number = 0 AND LEFT(JSON_VALUE(revision.snapshot, '$.date'), 10) = '2026-09-15' AND individual.raw_club IS NOT NULL AND individual.raw_club <> '' ORDER BY vote.voting_number DESC
1.57ms SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extraction.run_id WHERE extraction.source_artifact_id = 10671 AND run.state = 'completed' ORDER BY CASE extraction.quality_state WHEN 'success' THEN 0 WHEN 'unreadable' THEN 1 ELSE 2 END, run.finished_at DESC, extraction.id DESC LIMIT 1
N+1 candidates:
5× (5.66ms) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing…
5× (4.1ms) SELECT source_text FROM text_segments WHERE extraction_id = ? ORDER BY ordinal
4× (4.9ms) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON versi…
toggle
5× (5.66ms) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extraction.run_id WHERE extraction.source_artifact_id = ? AND run.state = ? ORDER BY CASE extraction.quality_state WHEN ? THEN ? WHEN ? THEN ? ELSE ? END, run.finished_at DESC, extraction.id DESC LIMIT ?
5× (4.1ms) SELECT source_text FROM text_segments WHERE extraction_id = ? ORDER BY ordinal
4× (4.9ms) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.object_id AND version.sequence_no = (SELECT MAX(latest.sequence_no) FROM document_versions latest WHERE latest.document_id = document.object_id) JOIN document_version_artifacts binding ON binding.version_id = version.object_id AND binding.role = ? AND binding.current_selector_sha IS NOT NULL WHERE document.owner_object_id = ? AND document.document_kind = ? AND document.source_document_key = CONCAT(?, ?) LIMIT ?
PHP: 26.5ms | App: 26.3ms | DB: 19.7ms (17, rows: 19) [exec: 19.4ms, fetch: 0.3ms] | View: 0.6ms (1) | Mem: 2MB (peak: 2MB) | Files: 20
toggle files
(0.63ms) /app/templates/speeches/show.php
/app/public/index.php
/app/vendor/autoload.php
/app/vendor/composer/autoload_real.php
/app/vendor/composer/platform_check.php
/app/vendor/composer/ClassLoader.php
/app/vendor/composer/autoload_static.php
/app/vendor/symfony/deprecation-contracts/function.php
/app/vendor/symfony/polyfill-php83/bootstrap.php
/app/lib/PFrame.php
/app/config/credentials/local.php
/app/src/Http/PublicResponseCache.php
/app/src/Http/AuthRoutes.php
/app/src/Http/ReviewDecisionRoutes.php
/app/src/Http/TopicDecisionRoutes.php
/app/src/Http/WatchRoutes.php
/app/src/Http/SpeechController.php
/app/src/Overview/SpeechReadModel.php
/app/src/Text/TextSearch.php
/app/templates/layout.php