docs(kb): faza5-wiki §6 — rozliczenie rekoncyliacji kb-wiki (2026-08-27)

Operator zdecydował: opcja 1 z §4 (scalić). Wykonane w klonie roboczym
~/kb-wiki (repo prawdziwe, master, poza tym worktree) — cztery commity
lokalne, świadomie nie pushnięte, czekają na review operatora:

1. sprawy/fll-2025-26.md — scalone przed tą sesją (commit c4127b9 w
   kb-wiki, już pushnięty), ta sesja tylko zweryfikowała ponownie.
2. podmioty/mbank.md i osoby/pawel-cesar-sanjuan-szklarz.md przeniesione z
   ~/kb-wiki-etap1-sesja-2026-08-27/ bez kolizji, linki [[...]] przepisane
   na rzeczywistą konwencję repo (bez prefiksu katalogu).
3. check_okf.py (walidator sesyjny) przeniesiony do kb-wiki, zaadaptowany
   do layoutu repo (type=meta, wyjątek README/INDEX/lint-reports).
4. Decyzje (d)-(f) audytu 08-26 (fallback chunk-id, sekcja "Niepewne/
   sprzeczne" + polityka aktualizacji, inwariant 7) scalone do
   _meta/conventions.md bez duplikowania tego, co repo już miało.

Stan końcowy: 7 stron w repo, 74/74 sources + 150/150 przypisów inline
zweryfikowanych wprost w bazie (KB_DSN, SELECT-only), zero wiszących
linków. Pełny raport: _meta/lint-reports/2026-08-27-rekoncyliacja.md w
kb-wiki. ~/kb-wiki-etap1-sesja-2026-08-27/ pozostawione nietknięte na
żądanie operatora.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W7AnxL6pbgySpEgcCwAfww
This commit is contained in:
oskar 2026-08-27 19:57:39 +02:00
parent efd9ad9443
commit 308ae6a9f4

View file

@ -20,8 +20,13 @@ links:
> dopiero przy Części C tego zadania, kiedy próba udokumentowania "remote nie istnieje" (cytat z > dopiero przy Części C tego zadania, kiedy próba udokumentowania "remote nie istnieje" (cytat z
> polecenia sesji, zgodny z audytem) skłoniła do sprawdzenia Forgejo wprost. **Nic nie zostało > polecenia sesji, zgodny z audytem) skłoniła do sprawdzenia Forgejo wprost. **Nic nie zostało
> wypchnięte do prawdziwego zdalnego repo** — ta sesja tylko czytała je (`git clone`, pull-only). > wypchnięte do prawdziwego zdalnego repo** — ta sesja tylko czytała je (`git clone`, pull-only).
> Rekoncyliacja dwóch niezależnych kompilacji tej samej encji (`fll-2025-26`) i decyzja co dalej >
> z lokalnym repo tej sesji — **do operatora**, patrz §4. > **Rekoncyliacja domknięta 2026-08-27 (operator zdecydował: opcja 1 z §4 —
> scalić).** `kb-wiki` ma teraz **7 stron**: 5 lipcowych + `fll-2025-26`
> scalone (dwie niezależne kompilacje tej samej encji) + `mbank`/
> `pawel-cesar-sanjuan-szklarz` przeniesione bez kolizji. Cztery commity na
> `master` **lokalnie, nie pushnięte** — czekają na review operatora przed
> pushem do Forgejo. Pełne rozliczenie: §6.
--- ---
@ -220,3 +225,98 @@ Zależnie od wyniku rekoncyliacji z §4:
zakresem obu przebiegów. zakresem obu przebiegów.
- Rozjazd `scripts/kb/check_okf.py` (SCOPE sztywny) — patrz §2, nie naprawiony - Rozjazd `scripts/kb/check_okf.py` (SCOPE sztywny) — patrz §2, nie naprawiony
celowo (instrukcja zlecenia: nie hackować). celowo (instrukcja zlecenia: nie hackować).
---
## 6. Rekoncyliacja domknięta (2026-08-27, decyzja operatora: opcja 1 z §4)
Operator zdecydował scalić — bez rozstrzygania punktu 3 z §4 (dwa osobne
repo) i bez samego jedynie archiwizowania punktu 2 (test jakości
kompilatora, wykonany przy okazji scalenia `fll-2025-26`, patrz niżej).
Wykonano w klonie roboczym `~/kb-wiki` (repo prawdziwe, `master`), **cztery
commity, lokalnie, świadomie nie pushnięte** — review operatora przed
pushem do Forgejo jest krokiem następnym, nie tej sesji.
### 6.1 `fll-2025-26` — scalenie dwóch niezależnych kompilacji
Wykonane **przed** tą sesją reconciliation (`kb-wiki` commit `c4127b9`,
autor: operator lub wcześniejsza sesja — poza zakresem tego zadania, ta
sesja zastała je już na `master` i pushnięte: *"Push zrobiony"*, cytat
zlecenia). Wynik zgodny z analizą §4 punkt 2: zero sprzecznych twierdzeń,
czysto komplementarne pokrycie (lipiec: 14 kopert paperless; sierpień
dodał 6 kopert gmail + `paperless:183`) — 21 kopert finalnie (15 paperless +
6 gmail), 38/38 par `sources` + 45/45 przypisów inline zweryfikowanych w
bazie przy tamtym scaleniu. Ta sesja **nie modyfikowała** tej strony —
tylko zweryfikowała ją ponownie w ramach pełnego lintu repo (§6.4).
### 6.2 `mbank` i `pawel-cesar-sanjuan-szklarz` — przeniesione bez kolizji
Zgodnie z §4 punkt 1 ("nie kolidują z niczym w lipcowym repo — czysty
dodatek"): skopiowane z `~/kb-wiki-etap1-sesja-2026-08-27/` do `~/kb-wiki`,
linki `[[...]]` przepisane ze składni sesyjnej (`[[../katalog/plik]]`) na
rzeczywistą konwencję repo (`[[plik]]`, bez katalogu). Treść merytoryczna
nietknięta. `INDEX.md` dopisany o oba wpisy. `sprawy/fll-2025-26.md`
przestało być sierotą w grafie `[[...]]` (link przychodzący z obu nowych
stron, sekcja „Powiązane" — decyzja sesyjna sprzed przeniesienia, nie tej
rekoncyliacji: „sprawdzone wprost, zero wspólnego dowodu", link mimo braku
dowodu).
### 6.3 Konwencje: `check_okf.py` przeniesiony, decyzje (d)-(f) scalone
`check_okf.py` (walidator sesyjny) przeniesiony do `~/kb-wiki` — lipcowy
proof-of-concept nie zostawił żadnego skomitowanego narzędzia (§3 tabela,
rekomendacja "Przenieść `check_okf.py` tej sesji do prawdziwego repo przy
rekoncyliacji" — wykonana dosłownie). Zaadaptowany do rzeczywistego layoutu
tego repo: `TYPES` rozszerzone o `meta` (repo miało 6. typ od lipca, sesyjny
walidator znał tylko 5), `README.md`/`INDEX.md`/`_meta/lint-reports/*.md`
wyjęte z wymogu frontmattera stron-konceptów (istniały bez niego od
2026-07-21 — dokumentacja/raporty, nie skompilowane encje).
Decyzje (d)-(f) audytu 08-26, wypracowane w `_meta/conventions.md` sesji
(§5/§7/§8 tamtego pliku), scalone do `_meta/conventions.md` prawdziwego repo
**bez duplikowania** tego, co repo już miało z lipca/wcześniejszej sesji
(6 typów wliczając `meta`, sekcja „Brak danych w KB" — obie już scalone,
commity `156925c`/`3bd2441`, przed tym zadaniem):
- **(d) fallback envelope-only** — `[^envelope_id]` bez `#chunk_id`, gdy
dowód nie ma konkretnego chunka albo chunk zniknął po re-chunkingu.
- **(e) sekcja „Niepewne / sprzeczne"** jako nazwana sekcja końca strony
(już używana de facto na żywych stronach, teraz sformalizowana pisemnie) +
polityka aktualizacji „dopisz, nie nadpisuj" przy nowym sprzecznym dowodzie.
- **(f) inwariant 7** — izolacja retrievalu kompilacji od `source='wiki'`
(mitygacja self-citation/citogenesis), CC/API-only jako wykonawca.
Różnica konwencji z §3 tabeli dotycząca casingu pliku nawigacyjnego
(`INDEX.md` vs OKF-owy `index.md`) **pozostaje nierozstrzygnięta** — zgodnie
z §3, do operatora, poza zakresem tej rekoncyliacji. `check_okf.py`
pragmatycznie traktuje oba pliki root (`README.md`, `INDEX.md`) jako
wyjęte z wymogu frontmattera, bez przesądzania, który plik "wygrywa".
### 6.4 Lint na całości — stan końcowy: 7 stron, zero błędów
`python3 check_okf.py` w `~/kb-wiki`: **ZGODNE**, 74/74 par `sources`
(wszystkie 6 stron-konceptów poza `_meta/`) zweryfikowanych w `KB_DSN`
(SELECT-only). Osobny, pełny przebieg (skrypt jednorazowy, nieskomitowany —
`check_okf.py` nie parsuje treści Markdown) po **wszystkich** przypisach
inline `[^envelope_id#chunk_id]` na **wszystkich** 7 stronach: **150/150**
zweryfikowanych, 0 zdegradowanych do fallback. Zero wiszących linków
`[[...]]`, zero błędów przypisania chunk→envelope. Pełny raport:
`_meta/lint-reports/2026-08-27-rekoncyliacja.md` w `kb-wiki`.
| Metryka | Wynik |
|---|---|
| Stron w repo (po rekoncyliacji) | 7 (5 lipiec + `fll-2025-26` scalone + 2 przeniesione) |
| `sources:` (agregat frontmatter) zweryfikowane w bazie | 74/74 |
| Przypisy inline zweryfikowane w bazie | 150/150 |
| Wiszące linki `[[...]]` | 0 |
| Przypisy zdegradowane (fallback envelope-only) | 0 |
| Commity rekoncyliacji na `kb-wiki:master` | 4, lokalne, **nie pushnięte** |
### 6.5 Co zostało poza zakresem tej rekoncyliacji
- `~/kb-wiki-etap1-sesja-2026-08-27/` — pozostawione nietknięte na żądanie
operatora ("skasuję sam po weryfikacji"), nie usuwane przez tę sesję.
- Push `kb-wiki:master` do Forgejo — czeka na review operatora.
- Wszystko z §5 (skala do 17 encji, lint automatyczny w kodzie, skan
`<60>`/`\x00` na źródłach, integracja `source='wiki'` w retrievalu, rozjazd
`scripts/kb/check_okf.py`) — nadal otwarte, nie ruszone tą rekoncyliacją.