--- title: Lint — rekoncyliacja Etap 1 (2026-08-27) type: meta status: active tags: [meta, lint, rekoncyliacja] sources: [] compiled_by: claude-sonnet-5 compiled_at: 2026-08-27 updated_at: 2026-08-27 --- # Lint — rekoncyliacja Etap 1 (2026-08-27) Lint po zamknięciu rekoncyliacji dwóch niezależnych bootstrapów wiki-kompilatu (`homelab-codex-ws:kb/phases/kb-m5-faza5-wiki.md`): lipcowy proof-of-concept (`oskar/kb-wiki`, Forgejo, 5 stron) + sesyjny bootstrap `~/kb-wiki-etap1-sesja-2026-08-27/` (3 strony, nigdy nie pushowany). Stan po rekoncyliacji: **7 stron** — `sprawy/fll-2025-26.md` scalone (dwie kompilacje tej samej encji, commit `c4127b9`, wcześniej niż ten lint), `podmioty/mbank.md` i `osoby/pawel-cesar-sanjuan-szklarz.md` przeniesione bez kolizji (czysty dodatek — nie istniały w lipcowym repo). ## 1. `check_okf.py` — automatyczna część Walidator sesyjny przeniesiony do tego repo (`check_okf.py`, patrz commit oddzielny i `_meta/conventions.md` §10) — lipcowy proof-of-concept nie zostawił skomitowanego narzędzia. Adaptowany do rzeczywistego layoutu: `type` rozszerzone o `meta`, `README.md`/`INDEX.md`/`_meta/lint-reports/*.md` wyjęte z wymogu frontmattera stron-konceptów (dokumentacja/raporty, nie skompilowane encje). ``` $ python3 check_okf.py Repo: /home/oskar/kb-wiki Sprawdzono plików .md: 11 koncepty: 11, zarezerwowane: 0 per type: meta=1, osoba=1, podmiot=3, sprawa=3 przypisów sources: 74 (4 envelope-only / bez chunków) ZGODNE z OKF v0.1 (kb-wiki): frontmatter parsowalny, type/status poprawne, sources niepuste, wszystkie 74 przypisów zweryfikowane w bazie. ``` **74/74** par `(envelope_id, chunk_id)` z bloków `sources:` (agregat frontmattera, wszystkie 6 stron-konceptów) zweryfikowanych wprost w `kb` (SELECT-only, `KB_DSN`) — każdy `envelope_id` istnieje w `envelope`, każdy `chunk_id` istnieje w `document_chunk` **i** należy do zadeklarowanego `envelope_id`. ## 2. Przypisy inline `[^envelope_id#chunk_id]` — pełny przebieg, nie próbka Rozszerzenie względem lintu 07-21 (ręczny spot-check 2 twierdzeń) i lintu sesyjnego 08-27 (pełny ręczny przebieg, ale tylko 3 strony, `~/kb-wiki-etap1-sesja-2026-08-27/_meta/lint-reports/2026-08-27.md`) — tu: **wszystkie** przypisy inline na **wszystkich** 7 stronach-koncepcjach tego repo po scaleniu, jednym przebiegiem skryptu (jednorazowy, nieskomitowany — ta sama konwencja co narzędzie sesyjne 08-27, nie jest to `check_okf.py`, który sprawdza tylko blok `sources:`). ``` Znaleziono 150 przypisów inline w stronach-konceptach. Per plik: osoby/pawel-cesar-sanjuan-szklarz.md: 13 podmioty/mbank.md: 12 podmioty/pzu.md: 28 podmioty/warta.md: 16 sprawy/fll-2025-26.md: 45 sprawy/ubezpieczenie-auto-ga431ja-2026.md: 11 sprawy/wspolnota-mieszkaniowa-targowa-2a.md: 25 Zdegradowane (envelope-only, bez #chunk_id): 0 ZGODNE: wszystkie 150 przypisów inline zweryfikowane wprost w bazie. ``` **150/150** — envelope_id istnieje, chunk_id istnieje i należy do wskazanego envelope_id, dla każdego pojedynczego przypisu w treści (nie tylko agregatu `sources:`). Zero przypisów zdegradowanych do fallback envelope-only (`_meta/conventions.md`, sekcja fallback, decyzja d) na tym etapie. ## 3. Linki `[[...]]` — strony-sieroty / linki donikąd Wiszące linki: **0**. Wszystkie realne cele `[[...]]` w treści (`pzu`, `warta`, `ubezpieczenie-auto-ga431ja-2026`, `wspolnota-mieszkaniowa-targowa-2a`, `fll-2025-26`, `mbank`, `pawel-cesar-sanjuan-szklarz`) odpowiadają istniejącym plikom. Trzy dopasowania dodatkowe (`cel`, `nazwa-strony`, `nazwa-pliku-bez-rozszerzenia`) to przykłady składni w prozie `_meta/conventions.md`, nie prawdziwe linki — pominięte. Linki do `mbank.md` i `pawel-cesar-sanjuan-szklarz.md` przy przenoszeniu przepisane ze składni sesyjnej (`[[../podmioty/mbank]]`, z prefiksem katalogu) na rzeczywistą konwencję tego repo (`[[mbank]]`, bez katalogu — `_meta/conventions.md` „Linkowanie między stronami"). Treść merytoryczna obu stron nie zmieniona. `sprawy/fll-2025-26.md` przestało być sierotą **przed** tym lintem (link przychodzący z `podmioty/mbank.md` i `osoby/pawel-cesar-sanjuan-szklarz.md`, sekcja „Powiązane" obu stron — potwierdzone „sprawdzone wprost, zero wspólnego dowodu", link mimo braku dowodu jest świadomą decyzją sesji sierpniowej, nie tej rekoncyliacji). ## 4. Sprzeczności międzystronicowe po dodaniu `mbank`/`pawel-cesar-sanjuan-szklarz` Nie sprawdzane od nowa w tym lincie — współwystępowanie słów kluczowych (`mbank`+`szklarz`, `mbank`+`fll`, `szklarz`+`fll`, `mbank`+`future minds`, `szklarz`+`future minds`) już zweryfikowane bezpośrednio SQL-em przy kompilacji tych stron w sesji 08-27 (zero trafień merytorycznych — patrz sekcje „Powiązane" na obu stronach i `sprawy/fll-2025-26.md` „Powiązane"). Nowego retrievalu do tego lintu nie uruchamiano — przeniesienie plików nie zmienia treści, więc wynik pozostaje ważny. ## Wniosek Zero krytycznych znalezisk: brak martwych linków, brak przypisów wskazujących złą kopertę, brak przypisów zdegradowanych. 7/7 stron-konceptów zgodnych z OKF v0.1 wg `check_okf.py`. `~/kb-wiki-etap1-sesja-2026-08-27/` (repo lokalne tej sesji) pozostaje nietknięte — usunięcie po weryfikacji operatora, poza zakresem tego lintu.