From c52f867ccf213616c71838e8c5d20a61b5a92dfd Mon Sep 17 00:00:00 2001 From: oskar Date: Tue, 21 Jul 2026 15:55:08 +0200 Subject: [PATCH] =?UTF-8?q?lint:=20pierwszy=20raport=20r=C4=99czny=202026-?= =?UTF-8?q?07-21?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Kontrola wg _meta/conventions.md: strony-sieroty (1 — fll-2025-26.md, brak treściowego łącznika, nie tworzę sztucznego linku), wiszące linki (0), brakujące pojęcia (6 kandydatów: InterRisk, Spółdzielnia Przy Metrze, Fundacja Future Minds, sezon FLL SUBMERGED, agent NUGAT.NET, administrator Holc i Wspólnicy), spot-check 2 twierdzeń vs chunk źródłowy (1 pełna zgodność, 1 zaflagowana rozbieżność streszczenie-vs-chunk na paperless:14 — haiku miesza próg wyłączenia szyby 300 zł z udziałem własnym AC; strona poprawnie nie powtórzyła tego błędu streszczenia), 0 sprzeczności międzystronicowych. Dodatkowo: automatyczna weryfikacja wszystkich przypisów inline (73) i wpisów sources[].chunks (86) przeciw kb-postgres@PIHA — każdy chunk id istnieje i należy do wskazanej koperty. --- _meta/lint-reports/.gitkeep | 0 _meta/lint-reports/lint-report-2026-07-21.md | 117 +++++++++++++++++++ 2 files changed, 117 insertions(+) delete mode 100644 _meta/lint-reports/.gitkeep create mode 100644 _meta/lint-reports/lint-report-2026-07-21.md diff --git a/_meta/lint-reports/.gitkeep b/_meta/lint-reports/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/_meta/lint-reports/lint-report-2026-07-21.md b/_meta/lint-reports/lint-report-2026-07-21.md new file mode 100644 index 0000000..8be0674 --- /dev/null +++ b/_meta/lint-reports/lint-report-2026-07-21.md @@ -0,0 +1,117 @@ +# 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 |