# Raport lintu — 2026-07-21 Pierwszy ręczny lint kb-wiki, wykonany po kompilacji 5 stron proof-of-concept (faza 3 modułu 5, `docs/kb/modules/05-faza3-plan.md` §8.2 w `homelab-codex-ws`). Zakres wg `_meta/conventions.md`: strony-sieroty, wiszące linki, brakujące pojęcia, spot-check przypisów, sprzeczności międzystronicowe. ## 1. Strony-sieroty **Znaleziono jedną**: `sprawy/fll-2025-26.md` nie ma żadnego linku przychodzącego z innej strony (poza `INDEX.md`, który z definicji linkuje do wszystkiego). Sprawa FLL nie styka się treściowo z żadną z pozostałych czterech stron (ubezpieczenia, wspólnota mieszkaniowa) — nie tworzę sztucznego linku na siłę. Pozostaje jako otwarty fakt do rewizji przy kolejnej kompilacji (np. gdyby powstała strona `podmioty/future-minds.md`, mogłaby linkować w obie strony). Pozostałe 4 strony mają ≥1 link przychodzący: - `podmioty/pzu.md` ← `warta.md`, `ubezpieczenie-auto-ga431ja-2026.md` - `podmioty/warta.md` ← `pzu.md`, `ubezpieczenie-auto-ga431ja-2026.md`, `wspolnota-mieszkaniowa-targowa-2a.md` - `sprawy/ubezpieczenie-auto-ga431ja-2026.md` ← `pzu.md`, `warta.md` - `sprawy/wspolnota-mieszkaniowa-targowa-2a.md` ← `warta.md`, `ubezpieczenie-auto-ga431ja-2026.md` ## 2. Wiszące linki Brak. Wszystkie 4 unikalne cele `[[...]]` znalezione w treści (`pzu`, `warta`, `ubezpieczenie-auto-ga431ja-2026`, `wspolnota-mieszkaniowa-targowa-2a`) odpowiadają istniejącym plikom. Sprawdzone mechanicznie (`grep` linków vs `find *.md`). ## 3. Brakujące pojęcia (kandydaci na przyszłe strony) Encje wspomniane w treści, ale nieopisane osobną stroną w tej fazie: | Encja | Gdzie wspomniana | Dlaczego nie ma jeszcze strony | |---|---|---| | **InterRisk** (ubezpieczyciel) | `ubezpieczenie-auto-ga431ja-2026.md` | Ma **aktywną polisę OC** wg UFG (paperless:38) i dwie wersje OWU Auto+ z różnymi datami (paperless:16 z 2023, paperless:17 z 2026) — dokładnie ten typ przypadku, który wymaga osobnej strony z jawnym rozróżnieniem wersji. Poza zakresem tej kompilacji (task wskazywał PZU/WARTA jako kandydatów), ale to najsilniejszy kandydat na kolejną stronę. | | **Spółdzielnia Mieszkaniowa „Przy Metrze"** (Al. KEN 36, Warszawa) | `wspolnota-mieszkaniowa-targowa-2a.md` (przypis ostrzegawczy) | Odrębny podmiot prawny (spółdzielnia, nie wspólnota) z własnymi dokumentami w korpusie (paperless:101, 102, 197, 53) — nie wolno go scalić z Targową 2A, wymaga własnej strony. | | **Fundacja Future Minds** | `fll-2025-26.md` | Organizator FLL w Polsce, występuje w 8+ dokumentach (zgody na wizerunek). Mogłaby być osobnym `podmioty/future-minds.md`, co zlikwidowałoby też sierotę z punktu 1. | | Sezon FLL **SUBMERGED** (poprzednia edycja?) | `fll-2025-26.md` (dokument `paperless:6`) | Nazwa pliku sugeruje inny sezon niż UNEARTHED — nierozstrzygnięte, czy w KB jest w ogóle materiał z tamtej edycji poza tym jednym dokumentem. Za mało danych na stronę, warto sprawdzić przy kolejnym ingest. | | Agent ubezpieczeniowy **Janusz Karaś / NUGAT.NET Sp. z o.o.** | `ubezpieczenie-auto-ga431ja-2026.md` | Przygotował oferty od 3 ubezpieczycieli — rola pośrednika, nie encja pierwszego rzędu; niski priorytet, wystarczy wzmianka w sprawie. | | Administrator **Holc i Wspólnicy** / Krzysztof Szrajner | rozważany, ostatecznie **pominięty** w `wspolnota-mieszkaniowa-targowa-2a.md` | `paperless:40` (wezwanie ppoż.) nie podaje adresu budynku w treści chunka — nie dało się jednoznacznie przypisać do Targowej 2A, więc dokument został celowo pominięty zamiast zgadywany. Wymaga ręcznej weryfikacji, czy dotyczy tej wspólnoty. | ## 4. Spot-check: 2 twierdzenia vs źródłowy chunk ### Spot-check A (zgodność potwierdzona) **Twierdzenie na stronie** (`podmioty/warta.md`, tabela ofert): „OC Komfort + AC Komfort → łączna składka 5 606 zł, suma ubezpieczenia AC 98 100 zł." **Chunk źródłowy** `document_chunk.id=2270` (`paperless:59`), fragment zapytany bezpośrednio z bazy: ``` WARTA OC Komfort WARTA OC Komfort WARTA OC Komfort WARTA Autocasco Komfort (AC) WARTA Autocasco Standard (AC) WARTA Autocasco Standard (AC) Warta4U Oszczêdnoœæ 437 z³ Oszczêdnoœæ 437 z³ Oszczêdnoœæ 407 z³ £¹czna sk³adka (jednorazowa) 5 606 z³ 5 268 z³ 4 963 z³ OC 860 z³ 860 z³ 860 z³ ... Suma ubezpieczenia 98 100 z³ 107 910 z³ 107 910 z³ ``` **Werdykt**: zgodne. Kwoty na stronie (5 606 zł, 98 100 zł) odpowiadają dokładnie pierwszej kolumnie tabeli w chunku (mojibake `z³` = `zł`, artefakt kodowania czcionki, nie treści — zgodnie z findingiem pilota o niegroźnym mojibake). ### Spot-check B (rozbieżność między streszczeniem a chunkiem — zaflagowana na stronie) **Twierdzenie w `document_summary`** dla `paperless:14` (model `claude-haiku-4-5`): „AC (autocasco) z udziałem własnym 300 zł." **Chunki źródłowe** sprawdzone bezpośrednio (`document_chunk` WHERE `envelope_id ='paperless:14'` AND `text LIKE '%udział własny%'`, 5 trafień): - `id=865`: „(...) ubezpieczony pokrywa 30% kosztów usługi (...) tzw. udział własny" — 30%, nie 300 zł, i dotyczy kosztów usługi assistance/szyby w szczególnych okolicznościach. - `id=886`: definicja ogólna — „udział własny — w AC i PAS — kwota, o którą pomniejszane jest odszkodowanie" — bez konkretnej liczby. - `id=895`: „udział własny 500 zł" oraz „udział własny 20% odszkodowania, nie mniej niż 500 zł" — w wariancie Mini, nie standardowym AC. - `id=931`: „udział własny w wysokości 30% kosztów usług assistance" — przy braku serwisowania zgodnie z zaleceniami producenta. - Chunk zawierający frazę „300 zł" (`id=865`, inny fragment tego samego chunka) dotyczy **progu wyłączenia dla drobnych szkód szyby** („(...) których wartość nie przekracza 300 zł"), nie ogólnego udziału własnego AC. **Werdykt**: **streszczenie miesza dwa różne progi** (300 zł to próg wyłączenia dla napraw szyby, nie udział własny AC) — żaden pobrany chunk nie potwierdza „AC z udziałem własnym 300 zł" jako ogólnej zasady. `podmioty/pzu.md` **poprawnie nie powtarza** tego twierdzenia streszczenia — strona wprost stwierdza „brak jednej stawki bazowej w KB" i wymienia tylko wartości potwierdzone chunkami (500 zł / 20% / 30%, każda z zastrzeżeniem okoliczności). Ten spot-check potwierdza, że decyzja kompilacji (nie ufać ślepo streszczeniu, wrócić do chunków) była słuszna — i jest konkretnym printem dla przyszłej automatyzacji kompilacji (faza 5): streszczenia `claude-haiku-4-5` mogą zlewać sąsiadujące liczby przy długich, gęstych dokumentach prawnych (finding zgodny z uwagą z `docs/kb/modules/05-faza3-plan.md` §5.1 o OWU jako przypadku trudnym dla hierarchii treści). ## 5. Sprzeczności międzystronicowe Nie znaleziono sprzeczności **między** stronami (ten sam fakt o tej samej encji opisany różnie na dwóch stronach) — rozbieżności znalezione podczas kompilacji były wewnątrz jednej strony (projekt vs przyjęta uchwała we wspólnocie; wersje OWU InterRisk) i zostały tam zaflagowane jawnie, zgodnie z konwencją. ## Podsumowanie | Kontrola | Wynik | |---|---| | Strony-sieroty | 1 (`fll-2025-26.md`) — brak treściowego łącznika z resztą korpusu, nie sztuczny link | | Wiszące linki | 0 | | Brakujące pojęcia | 6 kandydatów zidentyfikowanych (tabela §3) | | Spot-check przypisów | 2/2 wykonane — 1 pełna zgodność, 1 zaflagowana rozbieżność streszczenie-vs-chunk (poprawnie nieprzepisana na stronę) | | Sprzeczności międzystronicowe | 0 | | Automatyczna weryfikacja `[^envelope_id#chunk_id]` vs baza | 73/73 przypisów inline + 86/86 wpisów `sources[].chunks` — chunk istnieje i należy do wskazanej koperty |