From 677569e77dbdd7757621a8678cb6e092ae4a188b Mon Sep 17 00:00:00 2001 From: root Date: Sat, 7 Nov 2026 21:34:51 +0100 Subject: [PATCH] docs: prepare the approved adaptation backlog Record the owner-approved phased scope without registering unadapted chapters or changing advice, publication files, workflows or permissions. Reconcile run7 navigation with its final historical status and link the deployed Polish reader. Keep source review, human merge, deployment and specialist approval distinct. Add documentation and whole-source coverage regressions. --- AGENTS.md | 6 +++++- README.md | 8 ++++++-- audit/FINDINGS.md | 35 ++++++++++++++++++++++++++++++++--- audit/README.md | 34 ++++++++++++---------------------- tests/content.test.mjs | 30 ++++++++++++++++++++++++++++-- 5 files changed, 83 insertions(+), 30 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 7fba09031..5f1a37fb7 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -12,7 +12,11 @@ To niezależna polska adaptacja HowToLiveBetter: „Jak żyć lepiej. Praktyczny - Kanoniczną polską treścią są rozdziały w book/pl/. Czytnik czyta te pliki Markdown. Jedyny rejestr CHAPTERS w reader.mjs zawiera identyfikatory i ścieżki plików, nie kopie porad ani ich weryfikacji. Nie kopiuj porad do HTML, JavaScript ani osobnej bazy. - Rozdział 15 wycofano 2026-11-01 po błędach przypisania przepisów. Ponowna ocena 2026-11-02 opracowała 18 węższych wersji na podstawie właściwych artykułów urzędowych dokumentów i oficjalnych wyjaśnień; zakres lektury oraz ograniczenia pozostają przy każdej poradzie. Nie przywracaj dawnego tekstu ze skryptów lub historii. Status verified nie oznacza recenzji prawnika, analizy konkretnej umowy ani potwierdzenia prawa przez testy formatu. - Chińskie book/*.md, docs/, selfcheck.html, skills/ i historyczne narzędzia są materiałem upstream, nie ukończonym polskim wydaniem. Nie stosuj odziedziczonego chińskiego skilla do polskich porad. -- Uzgodniony zakres tej gałęzi obejmuje rozdziały 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22 i 23. Właściciel potwierdził 2026-11-05 kontynuację rozdziałów 21–23 w osobnych PR; ta gałąź obejmuje rozdziały 21, 22 i 23. Zgoda obejmuje gotowe pozycje w CHAPTERS, nie merge ani uruchomienie Pages. Pozycja 23.20 pozostaje poza poradami; nie zastępuj brakującej polskiej procedury samym wpisem ZRK. Nie utożsamiaj zaświadczenia kursu z kwalifikacją ani danych grupowych z osobistą gwarancją dochodu lub przeżycia. Nie zamieniaj OR ani HR na indywidualną gwarancję i nie rozszerzaj pojedynczego badania na wszystkie terapie. Rozdział 20 jest częścią zleconej kontynuacji osobnymi PR; uwzględnia scalone PR #27, #28, #34 i #35. Zgoda obejmuje gotowe porady w CHAPTERS, nie merge ani Pages. Operator zezwolił 2026-11-02 na zapisywanie konkretnych braków weryfikacji i decyzji jako issues w tym repozytorium; najpierw sprawdź duplikaty, nie dubluj review otwartego PR. Samo utworzenie lub zamknięcie issue nie nadaje verified i nie zastępuje sprawdzenia źródeł. Przepisy, osądy autora i dane obserwacyjne należy rozdzielać; nie sumować czasu z pieniędzmi ani narzucać decyzji o dziecku. Rozdział 17 należy do tej samej zleconej serii, w osobnym PR; pozycje bez wystarczającej weryfikacji pozostają poza poradami. Rozdział 16 jest częścią zleconej kontynuacji dziesięciu kolejnych PR, po jednym rozdziale w każdym; zgoda obejmuje dodanie gotowych porad do CHAPTERS, nie uruchomienie Pages. Właściciel zgodził się 2026-10-31 na opracowanie rozdziału 01 w osobnym PR (#12), a po jego scaleniu polecił kontynuację kolejnymi rozdziałami osobnymi PR: rozdział 02 (#13), rozdział 05 (#14), rozdział 06 (#15), rozdział 07 (#16), rozdział 08 (#17) i rozdział 09 (kolejny PR #18) i rozdział 10 (kolejny PR #19) i rozdział 11 (kolejny PR #20) i rozdział 12 (kolejny PR #21) i rozdział 13 (kolejny PR #22) i rozdział 15 (kolejny PR #23), każdy z dodaniem gotowych porad do CHAPTERS. Operator przyznał 2026-11-01 wyjątki merge dla PR #16–#20 (każdy na dokładnym zielonym w exact-HEAD CI SHA, zwykły squash --match-head-commit, bez --admin/bypassu/zmiany ochrony/auto-merge i bez dispatchu Pages); zgoda na tę pracę nadal nie obejmuje wdrożenia strony. Nie dodawaj innych rozdziałów bez uzgodnienia. Zachowaj pochodzenie i jawne powody zmian w istniejącej treści. +- Właściciel potwierdził 2026-11-07 realizację całego potwierdzonego backlogu etapami: ponowną ocenę rekordów oczekujących, ustaleń bezpieczeństwa i aktualnej opublikowanej treści oraz rozdziały 24–34 w osobnych PR. Gotowe, ocenione pozycje można dodać do CHAPTERS w PR właściwego rozdziału. Nie rejestruj nieopracowanego rozdziału w CHAPTERS. Osobne pozostają zgody na merge i uruchomienie Pages. Bieżący plan jest w audit/FINDINGS.md; liczby pokrycia w README, a status i źródła każdej pozycji wyłącznie w book/pl/. +- Brak źródła lub wymaganej recenzji dziedzinowej jest blokadą, nie powodem do nadania verified. Zachowaj rekord poza poradami i zapisz konkretny brak w jego kanonicznym miejscu. Osiem wcześniejszych wyłączeń rozdziału 04 nie jest listą porad do automatycznego przywrócenia. Samo utworzenie lub zamknięcie issue nie nadaje verified. Zielone CI ani przegląd AI nie są potwierdzeniem treści przez specjalistę. +- Operator zezwolił 2026-11-02 na zapisywanie konkretnych braków weryfikacji i decyzji jako issues w tym repozytorium. Najpierw sprawdź duplikaty; nie dubluj review otwartego PR ani kanonicznych rekordów treści. Issue #33 dotyczy korekty już scalonej w PR #35, nie polecenia ponownego wprowadzenia usuniętych twierdzeń. Pozycje 17.1, 17.12, 19.18, 20.5, 21.9 i 23.20 pozostają niepublikowane do spełnienia ich własnych kryteriów. Nie zastępuj brakującej polskiej procedury samym wpisem ZRK ani nie uśredniaj różnych zaleceń przygotowania mleka. +- Przepisy, osądy autora i dane obserwacyjne rozdzielaj. Nie sumuj czasu z pieniędzmi ani nie narzucaj decyzji o dziecku. Nie utożsamiaj zaświadczenia kursu z kwalifikacją ani danych grupowych z osobistą gwarancją dochodu lub przeżycia. Nie zamieniaj OR ani HR na indywidualną gwarancję i nie rozszerzaj pojedynczego badania na wszystkie terapie. +- Zgoda z 2026-11-07 nie obejmuje opcjonalnych eksportów polskiego wydania, zmiany indeksowania strony, nowej tożsamości do scalania ani płatnych zasobów. Dwie osobno zatwierdzone zmiany administracyjne to poprawienie adresu strony repozytorium i dodanie wymaganego checka Dependency review; nie jest to stałe upoważnienie do zmian ochrony lub uprawnień. Historyczne wyjątki merge dla PR #16–#20 zostały wykorzystane i nie dotyczą nowych PR. - Stan przeglądu opublikowanych porad (wznowionego 2026-10-30, przebieg run7 zakończony), decyzje właściciela i kroki są w audit/README.md oraz audit/FINDINGS.md. Nowe przebiegi przeglądu i zmiany tekstu rozpoczynaj tylko na polecenie właściciela. ## Redakcja i dowody diff --git a/README.md b/README.md index 85d0b0bde..1356882aa 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ ## Praktyczny poradnik oparty na dowodach +[Czytaj polską wersję online](https://mikomiel.github.io/HowToLiveBetter-PL/) + Niezależna polska adaptacja [HowToLiveBetter — 高性价比人生指南](https://github.com/eternity4719/HowToLiveBetter), autorstwa eternity4719. Wybieramy praktyczne zalecenia, sprawdzamy źródła i opisujemy ich ograniczenia. To nie jest oficjalne wydanie autora ani automatyczne tłumaczenie. **Stan treści: 521 opracowanych polskich porad z dwudziestu trzech rozdziałów.** Źródła sprawdzono w opisanym przy poradach zakresie; nie oznacza to zatwierdzenia przez lekarza lub prawnika. Nie przetłumaczono całej książki ani wszystkich pozycji tych rozdziałów. @@ -33,6 +35,8 @@ Niezależna polska adaptacja [HowToLiveBetter — 高性价比人生指南](http | [23. Edukacja, kwalifikacje i uczenie się](book/pl/23-edukacja-kwalifikacje-i-uczenie-sie.md) | 25 | 24 | 1 needs_localization | | Razem | 599 | 521 | 70 rekordów oczekujących i 8 wcześniejszych wyłączeń | +Tabela obejmuje ocenione rozdziały 01–23. Pełny oryginał obejmuje **34** rozdziały i **767** numerowanych pozycji. Poza bieżącą adaptacją pozostaje **11** nieopracowanych rozdziałów (24–34), obejmujących **168** pozycji źródłowych. Nie są to gotowe polskie porady ani obietnica opublikowania każdej pozycji. Dalszą pracę opisuje [zatwierdzony plan, sekcja H](audit/FINDINGS.md); szczegóły braków pozostają przy rekordach w book/pl/. + Rozdział 23 dodaje 24 zawężone pozycje o edukacji, kwalifikacjach i uczeniu się. Rozdziela prawo i zalecenia organizacyjne od syntez badań; nie obiecuje podwyżki za kurs ani dłuższego życia za rok szkoły. Wyjaśnia różnicę między ukończeniem kursu i kwalifikacją, ujawnia rozbieżność PIP/KP oraz ograniczoną lekturę abstraktów autorów. Przeglądy bez wspólnej wielkości efektu mają B. Pozycja 23.20 o polskim odpowiedniku obcego systemu tytułów pozostaje poza czytnikiem. Rozdział 22 dodaje 12 zawężonych pozycji o bezpieczeństwie rozrywki i odpoczynku. Rozdziela polskie wskazówki operacyjne, pojedyncze badania kliniczne i syntezy obserwacyjne. Nie wywodzi gwarancji przeżycia z OR lub HR, nie zaleca zastępowania leczenia ani zwiększania wysiłku mimo przeciwwskazań. Zakres lektury i braki dodatków pozostają przy pozycjach; uwzględniono korektę badania ruchu i depresji. Rozdział 21 dodaje 12 zawężonych porad organizacyjnych opartych na polskich i unijnych wyjaśnieniach: ostrzeżenia MSZ, kontakty i granice pomocy konsularnej, ubezpieczenie, oferty pracy, gotówka, dokumenty, prowadzenie pojazdu, zaproszenie cudzoziemca, plan kontaktu, leki i żywność. Nie obiecuje ochrony, refundacji lub legalności wyjazdu. Pozycja 21.9 o pośrednikach pozostaje needs_localization poza czytnikiem. Nie przeniesiono chińskich instytucji, sankcji, kwot i telefonów. Rozdział 20 dodaje 16 zawężonych porad o bezpieczeństwie i opiece nad niemowlęciem: sen, dokumentacja profilaktyki, karmienie, sygnały alarmowe, przeciążenie opiekuna i wyposażenie. Odróżnia opis zaleceń od wyników pojedynczego badania LEAP; nie podaje domowych prób prowokacji ani schematu leczenia. Przygotowanie mleka w proszku pozostaje poza poradami do rozstrzygnięcia w issue #36. Rozdział 19 dodaje 23 zawężone porady o pracy, zakończeniu zatrudnienia, BHP i dokumentacji wypadku. To opis polskich przepisów i procedur, nie gwarancja świadczenia lub wygranej. Pozycja 19.18 o podatku pozostaje poza czytnikiem do dalszej weryfikacji w issue #32. Nie przeniesiono zagranicznych mnożników wypłat ani ryzyk zdrowotnych z nieodczytanych badań. Rozdział 18 dodaje 7 zawężonych pozycji: polskie świadczenia i prawa pracownicze, trzy jawne osądy redakcyjne o czasie, budżecie i dobrowolności decyzji oraz dane obserwacyjne dotyczące płodności. Nie daje indywidualnej prognozy ani rachunku, czy dziecko „się opłaca”. Źródła czytano w opisanym zakresie; status opinii nie oznacza udowodnionej skuteczności. Rozdział 17 dodaje 11 zawężonych porad o wsparciu seniora bez odbierania samodzielności, testamencie, presji sprzedażowej, opiece domowej i całodobowej oraz wybranych potrzebach zdrowotnych. Dwie pozycje pozostają niepublikowane: przyszła reprezentacja prawna i pełna procedura uprawnień pracownika opiekującego się rodzicem. Rozdział 16 dodaje 14 zawężonych porad o życiu z chorobą przewlekłą: ciągłość leczenia, kontrole i dokumentacja, opieka POZ, recepty, podróż z EKUZ, cukrzyca, kamica i dna moczanowa, HBV, POChP oraz ruch po leczeniu raka okrężnicy. Odróżnia wyniki badań od zasad organizacyjnych; nie wyznacza indywidualnych dawek, harmonogramów ani gwarantowanej korzyści zdrowotnej. Oceny zmienione względem oryginału opisano zgodnie z definicjami tego wydania. Rozdział 15 (wynajem i kupno mieszkania) wycofano 2026-11-01 po błędach przypisania przepisów. Ponowna ocena 2026-11-02 przywraca 18 węższych wersji po odczycie wskazanych pełnych artykułów w urzędowych tekstach oraz oficjalnych wyjaśnień MS, KOWR, BGK i KNF. Nie przywraca dawnego tekstu: poprawiono m.in. kaucję, podstawę zmiany wynajmującego, depozyt notarialny, rezerwację i zadatek, wpis roszczenia, reformę wskaźników, nazwę programu BGK i rękojmię. Wszystkie oceny zmieniono z A do C zgodnie z definicją norm prawnych w tym wydaniu. Zakres i braki lektury opisano przy każdej pozycji; nie przeprowadzono recenzji prawnika ani analizy konkretnej transakcji. Zielone testy i CI nie potwierdzają poprawności prawnej. Rozdział 13 (sytuacje nagłe) dodaje 48 zawężonych porad o pierwszych minutach zagrożenia życia, zdrowia i wolności — RKO i AED, udar i zawał, krwotok i oparzenia, zatrucia i pożar, urazy, pomoc ofiarom przemocy; numery tylko z listy (112, 997, 998, 116 123, 116 111); to opis procedur i przepisów, nie poradnik medyczny ani porada prawna dla konkretnej sprawy. Rozdział 12 (przedsiębiorczość i biznes) dodaje 28 zawężonych porad o tym, co przy zakładaniu i prowadzeniu firmy w Polsce może ściągnąć długi, kary albo odpowiedzialność karną — forma działalności i majątek osobisty, poręczenia, franczyza, rejestracja, zezwolenia, żywność i etykiety, podatki i faktury, umowy, zatrudnienie, towary i podróbki, zamykanie firmy, lokal; to opis przepisów i procedur, nie porada prawna, podatkowa ani biznesowa dla konkretnej sprawy. Rozdział 11 (czerwone linie IT) dodaje 21 zawężonych porad o tym, co osobom technicznym w Polsce kończy się paragrafem albo pozwem o pieniądze — cheaty i skrypty automatyzujące, dostęp do cudzych systemów, dane osobowe, zlecenia od środowisk przestępczych, własność kodu i licencje, prywatność aplikacji, usługi AI i ataki sieciowe; to opis przepisów i procedur, nie porada prawna dla konkretnej sprawy. Rozdział 10 (związek i małżeństwo: czy to się opłaca?) dodaje 23 zawężone porady o relacjach i małżeństwie — dane GUS, prawo rodzinne i cywilne (majątek małżeński, umowa majątkowa, długi małżonka, rozwód, alimenty, kontakty z dzieckiem, konkubinat, pełnomocnictwa i testamenty) oraz wnioski z badań nad relacjami; to opis przepisów i badań, nie porada prawna ani życiowa dla konkretnej sprawy. Rozdział 09 (czerwone linie prawa) dodaje 29 zawężonych porad o tym, co w Polsce kończy się mandatem, zatrzymaniem albo wyrokiem — dezinformacja, symbole narodowe, nielegalne treści w sieci, pranie pieniędzy, wyłudzenia kredytów i odszkodowań, broń i drony, hazard, dzikie zwierzęta i rośliny, pobicia, handel organami, prawo autorskie, pożary lasu, oszustwa egzaminacyjne; to opis przepisów, nie porada prawna dla konkretnej sprawy. Rozdział 08 (nie pakuj się w tarapaty) dodaje 46 zawężonych porad o prawie, procedurach i bezpieczeństwie majątku — wypadki, oszustwa, obrona konieczna, przedawnienie, egzekucja, przemoc domowa; to opis przepisów i procedur, nie porada prawna dla konkretnej sprawy. Rozdział 07 (gdy nie ma się pieniędzy) dodaje 23 zawężone porady o świadczeniach i drogach wyjścia w kryzysie — zasiłek dla bezrobotnych, PIP i sąd pracy, NPP, MOPS, NFZ, mieszkanie socjalne, restrukturyzacja długu; to opis procedur, nie porada prawna ani finansowa dla konkretnej sprawy. Rozdział 06 (czarna lista) dodaje 35 zawężonych porad o rzeczach bez udokumentowanego efektu — suplementach, „pakietach badań”, gadżetach i wydatkach „na pokaz”; nie zawiera porad inwestycyjnych, podatkowych ani prawnych dla konkretnych spraw. Rozdział 05 dodaje 35 zawężonych porad o pieniądzach oraz 16 niepublikowanych rekordów; nic tu nie jest poradą inwestycyjną, podatkową, prawną ani ubezpieczeniową. Rozdział 02 dodaje 30 zawężonych porad oraz 17 niepublikowanych rekordów. Dotyczy m.in. palenia, ruchu, żywienia i bezpiecznej drogi do pomocy; nie wyznacza osobistego celu BMI, domowego detoksu ani obietnicy dłuższego życia. Rozdział 01 zawiera 33 zawężone porady oraz 15 niepublikowanych rekordów. Nie przeniesiono automatycznie chińskich progów badań, prawa, cen, schematów lekowych ani numerów pomocowych. Rozdziały 03, 04 i 14 zachowują wcześniejsze decyzje: 33 porady, 16 rekordów oczekujących i osiem wyłączeń rozdziału 04. To ocena redakcyjna pozycji, nie kompletny systematyczny przegląd medyczny. - [Uruchom lokalny czytnik](index.html) według instrukcji poniżej. @@ -138,11 +142,11 @@ Testy obejmują wszystkie decyzje źródłowe, stany, pochodzenie, liczby, odsy GitHub jest jedynym autorytatywnym forge. Decyzja o scaleniu należy do człowieka. Po zgodzie operatora na dany PR agent może wykonać squash merge, ale dopiero po zatwierdzeniu aktualnego HEAD przez uprawnionego recenzenta-człowieka i przejściu wymaganych kontroli. Nie używa --admin ani bypassu. Sprawdza SHA przez --match-head-commit. Docelowo korzysta z osobnej tożsamości bez uprawnień Administration, ograniczonej do tego repozytorium. Sama zmiana tokenu tego samego konta nie rozdziela autora i recenzenta. Dopóki osobna tożsamość nie jest skonfigurowana, agent nie wykonuje merge; robi to człowiek. Ten model nie jest jeszcze w pełni uruchomiony. -Reguły redakcyjne wymagają PR, zatwierdzenia człowieka dla aktualnego HEAD, aktualnej gałęzi, rozwiązanych wątków i braku bypassu. To wymagania procesu, nie deklaracja aktualnych ustawień serwera. Faktyczną ochronę main sprawdzaj w [rulesecie GitHuba](https://github.com/mikomiel/HowToLiveBetter-PL/rules/25998214), którym zarządza operator. Powinna wymagać checków „Treść i czytnik” i „Dependency review” z GitHub Actions, gdy ich workflowy są już na main. Jeżeli konfiguracja jest słabsza, nie znosi to obowiązku uzyskania akceptacji człowieka. Agent nie zmienia reguł w celu umożliwienia merge. Komentarz z przeglądem AI nie jest zatwierdzeniem GitHuba. +Reguły redakcyjne wymagają PR, zatwierdzenia człowieka dla aktualnego HEAD, aktualnej gałęzi, rozwiązanych wątków i braku bypassu. To wymagania procesu, nie deklaracja aktualnych ustawień serwera. Faktyczną ochronę main sprawdzaj w [rulesecie GitHuba](https://github.com/mikomiel/HowToLiveBetter-PL/rules/25998214), którym zarządza operator. Wymagane checki to „Treść i czytnik” i „Dependency review” z GitHub Actions. Ten wymóg nie zastępuje recenzji człowieka. Jeżeli konfiguracja jest słabsza, nie znosi to obowiązku uzyskania akceptacji człowieka. Agent nie zmienia reguł w celu umożliwienia merge. Komentarz z przeglądem AI nie jest zatwierdzeniem GitHuba. Workflowy repozytorium wykonują walidację, z contents: read, Actions przypiętymi do pełnych SHA i bez zachowywania poświadczeń checkoutu. Używają standardowego runnera Ubuntu 24.04. Nie tworzą e-booków, tagów ani wydań. Jedynym wyjątkiem od zasady „tylko walidacja” jest ręcznie uruchamiany pages.yml, opisany niżej: wdraża stronę czytnika, ale nie tworzy e-booków, tagów ani wydań. CodeQL publikuje wyniki w zakładce Security, nie wydanie książki. Nie włączamy większych płatnych runnerów, płatnych dodatków ani zwiększonych limitów storage. [Starsze generatory](tools/README.md) nie służą do publikacji polskiego wydania. -Wdrożeniem strony czytnika w GitHub Pages zarządza właściciel. Samo scalenie kodu nie jest dowodem wdrożenia strony. Workflow uruchamia ręcznie właściciel (Actions, „Run workflow”, gałąź main); nie startuje po pushu ani według harmonogramu. Przed pierwszym uruchomieniem właściciel ustawia w Settings, Pages, źródło „GitHub Actions” oraz w Settings, Environments, github-pages regułę Deployment branches: tylko main. Warunek if w pliku pages.yml sam nie wystarcza, bo działa tylko w pliku z gałęzi, z której uruchomiono workflow. Workflow uruchamia npm test, buduje folder poleceniem `node tools/pl/build-site.mjs _site`, sprawdza go w prawdziwej przeglądarce i publikuje tylko jego zawartość: index.html, reader.mjs, rozdziały z rejestru CHAPTERS oraz LICENSE i LICENSE-CODE. Odziedziczone reklamy, chińskie docs/, selfcheck.html, og.png, audit/ i narzędzia nie trafiają na stronę; pilnują tego tests/site.test.mjs i tests/browser/site.spec.mjs. Adres strony poda GitHub po pierwszym wdrożeniu; nie wpisujemy go do repozytorium przed wdrożeniem. robots.txt z repozytorium nie jest publikowany. Przy domyślnym adresie strony projektu (nazwa-konta.github.io/HowToLiveBetter-PL/) roboty, zgodnie ze standardem, czytają robots.txt z katalogu głównego hosta, więc ten plik nie wyłącza indeksowania strony. Właściciel zdecydował 2026-10-30, że strona nie ma być indeksowana, dlatego index.html zawiera meta robots noindex. To prośba do wyszukiwarek, a nie kontrola dostępu: adres strony pozostaje publiczny. Nagłówek strony mówi też wprost, że porady są sprawdzane ze źródłami maszynowo, przegląd trwa i nie zatwierdził ich lekarz ani prawnik (za zgodą właściciela z 2026-10-30). Odziedziczony sitemap.xml usunięto. +Wdrożeniem strony czytnika w GitHub Pages zarządza właściciel. Samo scalenie kodu nie jest dowodem wdrożenia strony. Workflow uruchamia ręcznie właściciel (Actions, „Run workflow”, gałąź main); nie startuje po pushu ani według harmonogramu. Przed pierwszym uruchomieniem właściciel ustawia w Settings, Pages, źródło „GitHub Actions” oraz w Settings, Environments, github-pages regułę Deployment branches: tylko main. Warunek if w pliku pages.yml sam nie wystarcza, bo działa tylko w pliku z gałęzi, z której uruchomiono workflow. Workflow uruchamia npm test, buduje folder poleceniem `node tools/pl/build-site.mjs _site`, sprawdza go w prawdziwej przeglądarce i publikuje tylko jego zawartość: index.html, reader.mjs, rozdziały z rejestru CHAPTERS oraz LICENSE i LICENSE-CODE. Odziedziczone reklamy, chińskie docs/, selfcheck.html, og.png, audit/ i narzędzia nie trafiają na stronę; pilnują tego tests/site.test.mjs i tests/browser/site.spec.mjs. Adres czytnika to [polska strona adaptacji](https://mikomiel.github.io/HowToLiveBetter-PL/). robots.txt z repozytorium nie jest publikowany. Przy domyślnym adresie strony projektu (nazwa-konta.github.io/HowToLiveBetter-PL/) roboty, zgodnie ze standardem, czytają robots.txt z katalogu głównego hosta, więc ten plik nie wyłącza indeksowania strony. Właściciel zdecydował 2026-10-30, że strona nie ma być indeksowana, dlatego index.html zawiera meta robots noindex. To prośba do wyszukiwarek, a nie kontrola dostępu: adres strony pozostaje publiczny. Nagłówek strony mówi też wprost, że porady są sprawdzane ze źródłami maszynowo, przegląd trwa i nie zatwierdził ich lekarz ani prawnik (za zgodą właściciela z 2026-10-30). Odziedziczony sitemap.xml usunięto. ## Prywatność i gotowość do publikacji diff --git a/audit/FINDINGS.md b/audit/FINDINGS.md index e83cf2e8e..6bcd41eb9 100644 --- a/audit/FINDINGS.md +++ b/audit/FINDINGS.md @@ -1,6 +1,6 @@ # Ustalenia i decyzje czekające na właściciela -Stan na 2026-10-29. Dowody (raporty) są w [runs/](runs/). Jak wznowić przegląd: [README.md](README.md). +Sekcje A–G zachowują ustalenia i decyzje z 2026-10-29–30; nie są aktualną listą wszystkich braków. Dalszą pracę porządkuje [plan zatwierdzony 2026-11-07](#h-plan-zatwierdzony-2026-11-07). Historyczne dowody są w [runs/](runs/); zasady przygotowania nowego przeglądu w [README.md](README.md). ## Decyzje właściciela @@ -79,9 +79,9 @@ Dwa przebiegi weryfikatora różniły się przy 14 pozycjach (33 wiersze plus je Zmiany w tekście wprowadzają commity „draft: … (for owner review)” w osobnym PR, ułożonym na PR z edycjami językowymi, bo oba zmieniają te same wiersze pól. W polu „Zmiany w adaptacji” każdej zmienionej pozycji dopisano, co i dlaczego zmieniono. Status `verified` pozostaje; zdania oznaczone jako propozycje redakcji nie są twierdzeniami o źródle. -## G. Quality review and implementation handoff (2026-10-30) +## G. Historical quality review and implementation handoff (2026-10-30) -The operator requested a full review and implementation, then confirmed that the previous writer had stopped. The integration branch preserves PR #9 (`564c9f8`) and PR #10 (`5283aa0`) and merges main `9ef1b87`; it does not overwrite either branch. This section owns the improvement backlog. Canonical advice and verification scope remain in `book/pl/`, not in a second evidence database. +The operator requested a full review and implementation, then confirmed that the previous writer had stopped. The integration branch preserves PR #9 (`564c9f8`) and PR #10 (`5283aa0`) and merges main `9ef1b87`; it does not overwrite either branch. This section records the improvement backlog at that date; section H owns the current execution plan. Canonical advice and verification scope remain in `book/pl/`, not in a second evidence database. The review read all 32 published entries, the 17 pending records and the eight chapter-04 exclusions. Baseline checks: 172 Node tests and 26 Chromium desktop/mobile tests passed; content lint reported zero errors and 16 warnings. This was not a new systematic literature review. Sources without newly checked material retain their previous verification dates and limitations. @@ -120,3 +120,32 @@ Prawnik completed an anonymized Polish/EU consultation on 2026-10-30. It is an A Primary references: [GDPR, official Polish text](https://uodo.gov.pl/data/filemanager_pl/727.pdf); [payment act, Dz.U. 2026 poz. 623](https://eli.gov.pl/api/acts/DU/2026/623/text.pdf); [UOKiK on unauthorized transactions](https://uokik.gov.pl/nieautoryzowane-transakcje-platnicze-cztery-banki-zmieniaja-praktyki-po-decyzjach-prezesa-uokik); [RF explanation of prompt refunds and later liability](https://rf.gov.pl/kradziez-pieniedzy-z-konta-bank-musi-je-niezwlocznie-zwrocic-tsue-potwierdza-stanowisko-rzecznika-finansowego/); [caffeine meta-analysis, sections 2.5 and 3.3.9](https://doi.org/10.1016/j.smrv.2023.101764); [exercise review, methods and abstract](https://www.bmj.com/content/384/bmj-2023-075847); [AASM clinical guideline](https://pmc.ncbi.nlm.nih.gov/articles/PMC7853203/); [CERT Polska](https://wiedza.cert.pl/dobre-praktyki/hasla/); [Google number-change limits](https://support.google.com/accounts/answer/3463280?hl=pl); [116 123 operator](https://116sos.pl/otrzymaj-pomoc/telefon); [GitHub Pages data collection](https://docs.github.com/en/pages/getting-started-with-github-pages/what-is-github-pages#data-collection). Release, deployment, paid resources, new account permissions and merging remain outside this implementation's authority. Each source change still needs exact-head tests, independent review and the operator's merge decision. + +## H. Plan zatwierdzony 2026-11-07 + +Właściciel wybrał realizację całego potwierdzonego backlogu etapami, nie tylko pięciu otwartych issues. Ta sekcja jest planem dalszej pracy; nie poświadcza ukończenia opisanych poniżej ocen. Bieżące liczby pokrycia mają jedno miejsce w [README](../README.md). Status, brakujące źródła i decyzja dla pojedynczej pozycji pozostają wyłącznie w book/pl/. Issues śledzą konkretne braki, a alerty GitHuba ustalenia skanera. Nie twórz drugiej bazy porad ani duplikatów tych rekordów. + +### Kolejność i bramki + +| Etap | Zakres | Warunek zakończenia | +| --- | --- | --- | +| 1. Ustawienia | Poprawienie adresu strony repozytorium i dodanie wymaganego checka Dependency review | Wykonano i odczytano 2026-11-07: homepage wskazuje polski czytnik; wymagane są Treść i czytnik oraz Dependency review z GitHub Actions. Nie zmieniono pozostałych reguł, liczby zatwierdzeń ani pustej listy bypassów. | +| 2. Przygotowanie źródeł i śledzenia | Aktualny zakres w AGENTS.md, odnośnik do czytnika, rozdzielenie historii audytu od obecnej pracy i ocena domknięcia issue #33 | Zmiana źródłowa wymaga aktualnego CI, niezależnego przeglądu i merge przez człowieka. Nie uruchamia nowego przeglądu porad ani Pages. | +| 3. Pozostałe ustalenia bezpieczeństwa | Alerty [#1](https://github.com/mikomiel/HowToLiveBetter-PL/security/code-scanning/1), [#4](https://github.com/mikomiel/HowToLiveBetter-PL/security/code-scanning/4) i [#5](https://github.com/mikomiel/HowToLiveBetter-PL/security/code-scanning/5) w odziedziczonych narzędziach | Osobna ocena każdego rzeczywistego konsumenta. Poprawka wymaga regresji i przeglądu; formalna decyzja o alercie wymaga własnego uzasadnienia i właściwej zgody. Bez zbiorczego odrzucenia, aktywacji eksporterów lub twierdzenia o luce w polskim czytniku bez dowodu. | +| 4. Konkretne braki dużego ryzyka | [20.5 / #36](https://github.com/mikomiel/HowToLiveBetter-PL/issues/36), [17.1 / #30](https://github.com/mikomiel/HowToLiveBetter-PL/issues/30), [17.12 / #31](https://github.com/mikomiel/HowToLiveBetter-PL/issues/31), [19.18 / #32](https://github.com/mikomiel/HowToLiveBetter-PL/issues/32) | Odczyt właściwych źródeł w potrzebnym zakresie, rozdzielenie procedur i populacji, ujawnione ograniczenia i wymagana recenzja dziedzinowa. Brak pozostaje blokadą, nie powodem do nadania verified. | +| 5. Pozostałe rekordy oczekujące | Pozycje wskazane w README i kanonicznych plikach, w tym 14.11, 21.9 i 23.20 | Każda pozycja ma uzasadnioną decyzję: gotowa węższa porada, dalsze wstrzymanie lub not_applicable. Zmiana samego statusu nie wystarcza. Wyłączenia rozdziału 04 można zmienić tylko na podstawie nowych odpowiednich dowodów. | +| 6. Aktualne opublikowane porady | Najpierw zdrowie i bezpieczeństwo, niemowlęta, prawo, podatki, świadczenia i mieszkanie; następnie język oraz pozostałe uwagi redakcyjne | Nowe pakiety dla dokładnego tekstu i refu. Nie przenoś automatycznie werdyktów run7 na zmienione lub później dodane porady. Przegląd AI i testy nie są zatwierdzeniem specjalisty. Starsze propozycje z B–G trzeba najpierw porównać z aktualną treścią. | +| 7. Rozdziały 24–34 | Kolejno: korzystanie z opieki medycznej; sprawy po śmierci; serwis lub platforma; ciąża i poród; wygląd a zdrowie; poważne kryzysy życiowe; dziecko szkolne; drogi po pełnoletności; nauka za granicą; niepełnosprawność; domowe leki | Osobny PR dla każdego rozdziału. Oceń każdą pozycję źródłową, zachowaj numer i przypięty oryginał, publikuj tylko gotowe wersje. Dodanie do CHAPTERS wymaga rzeczywistego rozdziału, źródeł, testów i aktualizacji pokrycia, nie samego planu. | + +### Dowody wykonanych korekt, nie nowe zadania do powtórzenia + +- [PR #35](https://github.com/mikomiel/HowToLiveBetter-PL/pull/35), scalony jako 700db2d6fbc14f664b7e58fbf38e0fa80fc178c7, zawęził 11.12: usunął niepotwierdzony ogólny limit dwóch lat i instrukcję rozwiązania całej umowy oraz przywrócił minimum ustawowe. [Issue #33 domknięto po porównaniu kryteriów z tym zakresem](https://github.com/mikomiel/HowToLiveBetter-PL/issues/33#issuecomment-6712668106); nie oznacza to lektury całego orzecznictwa ani oceny konkretnej klauzuli. +- [PR #43](https://github.com/mikomiel/HowToLiveBetter-PL/pull/43), scalony jako 554a7672f9bda1ae85dee2dc9be74b7873220abe, naprawił potwierdzoną ścieżkę README/EPUB. Nowa analiza main oznaczyła alerty #2 i #3 jako fixed. Pozostałe trzy mają osobny etap powyżej; pięć dawnych alertów z sekcji G nie jest dzisiejszą liczbą otwartych ustaleń. +- Niezależny App review działał dla dokładnego HEAD PR #43. Nie zakładaj nadal braku aplikacji na podstawie starszej sekcji G. To nie jest tożsamość do scalania ani recenzja człowieka. +- Fakty o opiekunie, kanale korekt i prywatności z [PR #39](https://github.com/mikomiel/HowToLiveBetter-PL/pull/39) oraz decyzja z [issue #29](https://github.com/mikomiel/HowToLiveBetter-PL/issues/29) są przyjęte. Publiczny opis ma jedno miejsce w index.html#publikacja. Nie żądaj ponownie tych samych ustalonych faktów ani nie przedstawiaj ich jako pełnej certyfikacji prawnej. + +### Granice i utrzymanie + +Zgoda na ten plan nie upoważnia do merge przez konto właściciela, dispatchu Pages, nowych tożsamości i poświadczeń, zmiany indeksowania, płatnych usług lub budowy polskich eksportów EPUB/PDF/Anki. Nie zmieniaj progu recenzji ani pozostałych reguł repozytorium bez osobnej decyzji. Nie usuwaj chińskiego materiału referencyjnego, historycznych raportów, cudzej pracy ani recovery refs. Przed ewentualnym porządkowaniem worktrees sprawdź ich właściciela i stan; nie odrzucaj pracy automatycznie. + +Dla każdego etapu podaj dokładny ref oraz PASS, FAIL, NOT_RUN lub UNAVAILABLE. Rozdziel source_present, reviewed, merged, deployed i runtime_verified. Przy blokadzie nazwij brakujące źródło, decyzję lub specjalistę i następnego właściciela. Nie uznawaj za ukończone wszystkich issues tylko dlatego, że przygotowano ten plan. Aktualność prawa, świadczeń, numerów i odnośników oraz przegląd przychodzących aktualizacji zależności pozostają pracą utrzymaniową. Każde przyszłe wdrożenie strony wymaga osobnej zgody i sprawdzenia faktycznie podanych plików. diff --git a/audit/README.md b/audit/README.md index cd963050a..610574ef1 100644 --- a/audit/README.md +++ b/audit/README.md @@ -1,31 +1,21 @@ -# Przegląd opublikowanych porad: stan prac i wznowienie +# Przegląd opublikowanych porad: historia i dalsza praca -Stan na 2026-10-30. Przegląd był wstrzymany na prośbę właściciela, który wznowił go 2026-10-30. Przebieg run7 jest przeprowadzony, ale niepełny: 112 z 115 raportów przeszło kontrolę skryptów (sprawdzają formę i cytaty, nie zastępują oceny człowieka), 3 odrzucono po trzech próbach. Wyniki i sprawy czekające na właściciela: [runs/run7/STATUS.md](runs/run7/STATUS.md). Dalsze przebiegi i wszelkie zmiany tekstu wymagają polecenia właściciela. +Historyczny run7 z 2026-10-30 obejmował 32 ówczesne porady, nie dzisiejszy zbiór. Według [końcowego stanu run7](runs/run7/STATUS.md) kontrolę skryptów przeszło 115 z 115 raportów. Trzy wcześniej odrzucone raporty napisano ponownie po zmianach kontraktu ról. Przyjęcie raportu przez skrypt sprawdza formę i cytaty, nie prawdziwość porady ani akceptację człowieka. Późniejsze zmiany tekstu mogą unieważnić odpowiednie pakiety. -Ten katalog zawiera wszystko, co potrzebne do kontynuacji w dowolnym narzędziu (Codex, Claude Code, inne): raporty z dotychczasowych przebiegów, wykaz źródeł i opis kroków. Nic tu nie zależy od konkretnego agenta. Skrypty są w Node, role to zwykłe pliki Markdown, a sprawdzanie raportów robią skrypty, nie model. - -Decyzje właściciela i te, które jeszcze czekają, są w [FINDINGS.md](FINDINGS.md). Zasady redakcyjne i dowodowe są w [AGENTS.md](../AGENTS.md), który jest jedynym kanonicznym dokumentem instrukcji. +Aktualne pokrycie opisuje [README wydania](../README.md), a stan i zakres sprawdzenia każdej pozycji są w book/pl/. [Plan zatwierdzony 2026-11-07](FINDINGS.md#h-plan-zatwierdzony-2026-11-07) porządkuje dalszą pracę. Starsze ustalenia w FINDINGS.md i runs/ zachowujemy jako historię, nie automatyczną listę braków dzisiejszej wersji. [AGENTS.md](../AGENTS.md) pozostaje jedynym kanonicznym dokumentem instrukcji. Mechanizm jest przenośny między narzędziami (Codex, Claude Code, inne); role są zwykłymi plikami Markdown. ## Prompt dla nowego agenta -> Przeczytaj AGENTS.md, a potem audit/README.md i audit/FINDINGS.md. Wznów przegląd według sekcji „Kroki wznowienia”. Nie zmieniaj tekstu w book/pl, nie scalaj i nie twórz PR bez zgody właściciela. Raportuj kontrole jako PASS, FAIL, NOT_RUN lub UNAVAILABLE i podaj testowany commit. - -## Kroki wznowienia - -Wszystkie polecenia uruchamiaj w katalogu głównym repozytorium. +Przeczytaj AGENTS.md, ten plik i zatwierdzony plan. Wybierz jeden ograniczony etap i jego kryteria zakończenia. Sprawdź bieżące issues i dokładny ref przed zmianami. Raportuj PASS, FAIL, NOT_RUN lub UNAVAILABLE dla badanego commita. Nie traktuj przeglądu AI ani CI jako recenzji lekarza lub prawnika. Nie scalaj ani nie uruchamiaj Pages na podstawie samej zgody na pracę źródłową. -1. **Środowisko.** `npm ci --ignore-scripts`, potem `npm test`. Wszystkie testy powinny przejść. Potrzebny jest Node 22.21 lub nowszy (przy proxy: opcja `--use-env-proxy`, skrypt `fetch.mjs` dodaje ją sam). -2. **Źródła.** Katalog `.cache/` jest ignorowany przez git i znika razem ze środowiskiem. Odbuduj go jednym poleceniem: `node tools/pl/fetch.mjs --published` (około 56 pobrań, kilka minut, potrzebny dostęp HTTPS m.in. do doi.org, api.crossref.org, www.ebi.ac.uk, pmc.ncbi.nlm.nih.gov, wiedza.cert.pl, support.google.com, uodo.gov.pl). Serwisy, które blokują skrypty, są zapisywane jako zablokowane; blokad nie obchodzimy. Odbudowa z 2026-10-29 dała te same teksty co przebieg przeglądu w 55 z 56 przypadków, a jedno źródło (PMC7853203 przy 03.26) przestało być zablokowane. Skrót każdego źródła z tamtego dnia jest w [sources-manifest-2026-10-29.jsonl](sources-manifest-2026-10-29.jsonl). -3. **Nowy przebieg.** `node tools/pl/audit.mjs prepare audit/runs/run7 --published`. Powstają pakiety dla ról, prompt dla każdego raportu i `plan.json` z odciskiem tekstu każdej porady. Pozycje zdrowotne, prawne, finansowe, dotyczące bezpieczeństwa i kont dostają dwa niezależne przebiegi weryfikatora (`verifier-a`, `verifier-b`), pozostałe jeden. -4. **Przejęcie ważnych raportów.** Od najnowszego przebiegu do najstarszego: - `node tools/pl/audit.mjs adopt audit/runs/run7 audit/runs/run6-chapters03-04-partial`, potem `run5-chapter14-partial`, `run4-verifier-03.4`, `run3-verifier-03.4-14.7`, `run2-second-round`. Skrypt kopiuje tylko raporty, które przechodzą swoje skrypty sprawdzające, a tekst porady, który oceniały, jest nadal tekstem tej porady. Resztę pomija i podaje powód. Wersję tekstu danego przebiegu zapisuje [runs/runs.json](runs/runs.json). -5. **Co zostało.** `node tools/pl/audit.mjs status audit/runs/run7` wypisuje brakujące, odrzucone i nieaktualne raporty oraz różnice między dwoma przebiegami weryfikatora. Kod wyjścia 0 oznacza, że nic nie zostało. -6. **Uruchomienie roli.** Dla każdego brakującego raportu daj plik `audit/runs/run7//prompt--.md` **osobnej, świeżej sesji** dowolnego agenta (rola nie może widzieć innych raportów ani wersji roboczej tekstu) i zapisz wynik jako JSON pod ścieżką, którą podaje prompt. Role są opisane w `.claude/agents/pl-source-verifier.md`, `pl-claim-adversary.md` i `pl-language-editor.md`; to zwykłe pliki Markdown, front matter można pominąć. Rola ma tylko czytać pliki i zapisać jeden raport: bez sieci, bez powłoki, bez skryptów. -7. **Sprawdzenie i ponowienie.** Po zapisaniu raportów uruchom `status` jeszcze raz. Odrzucony raport: `node tools/pl/audit.mjs retry audit/runs/run7 -` wypisuje prompt z listą błędów; daj go tej samej roli w nowej, świeżej sesji. Raportu nie poprawia się ręcznie. Po trzech nieudanych próbach zgłoś to właścicielowi. -8. **Zebranie wyników.** Gdy `status` pokazuje „Nothing left to run”: `node tools/pl/digest.mjs audit/runs/run7 > audit/runs/run7/digest.md`. Digest wylicza statusy z werdyktów i niczego sam nie ocenia. Zacommituj `audit/runs/run7` i przedstaw właścicielowi. -9. **Zmiany w tekście.** Dopiero po decyzji właściciela, w osobnym commicie „draft: … (for owner review)”, jeden autor zapisuje. Po zmianie uruchom `npm test`, `node tools/pl/lint.mjs` i `npm run test:browser`, a zmienione pozycje przejdź ponownie weryfikatorem (`audit.mjs prepare` na nowym katalogu tylko dla tych pozycji). +## Nowy przegląd aktualnej treści -Przegląd PR musi dotyczyć dokładnego opublikowanego HEAD. Nie scalaj PR, nie publikuj wydań i nie włączaj GitHub Pages bez osobnej zgody właściciela. +1. Wskaż pozycje i dokładny commit. Zacznij od treści o dużym ryzyku; nie uruchamiaj całego starego przebiegu tylko po to, aby zmienić jego wynik. +2. Uruchom npm ci --ignore-scripts i npm test z gałęzi zadania. Źródła wszystkich opublikowanych pozycji pobiera node tools/pl/fetch.mjs --published, opisany w [tools/README.md](../tools/README.md); liczba wejść zależy od aktualnego zakresu. Blokad dostawców nie obchodzimy. Samo pobranie lub odczyt metadanych nie jest lekturą źródła. +3. Użyj audit.mjs prepare z nowym, nieistniejącym katalogiem i wybraną listą pozycji. Składnia jest w tools/README.md. Nie nadpisuj historycznego run7 ani jego raportów, checks.txt lub digest.md. +4. audit.mjs adopt może przejąć raport z wcześniejszego katalogu tylko po sprawdzeniu niezmienionego tekstu i zgodności raportu. Odrzuconego raportu nie poprawiaj ręcznie jako rzekomo niezależnego. Role i ich ograniczenia są w .claude/agents/; ich użycie musi być dozwolone w bieżącej sesji. +5. Sprawdź audit.mjs status i rozstrzygnij różnice na podstawie dostępnych źródeł. Brak źródła, niezgodność zakresu lub potrzebna recenzja dziedzinowa pozostają jawną blokadą. Dla odrzuconego raportu audit.mjs retry wypisuje prompt z listą błędów. Przekaż go świeżej sesji w granicach obowiązującego limitu prób; potem zgłoś blokadę. Nie uznawaj braku sprzeczności za potwierdzenie. Zbiorczy digest tworzy tools/pl/digest.mjs, nie dodatkowa ocena modelu. +6. Zastosuj uzasadnione zmiany jednym autorem w osobnym PR. Zmiana twierdzenia wymaga ponownej oceny, daty i testów. Raporty dla zmienionych pozycji przygotuj od nowa; nie przerabiaj dawnych pakietów tak, jakby obejmowały nowy tekst. Walidacja i niezależny przegląd PR dotyczą aktualnego opublikowanego HEAD; merge należy do człowieka. ## Co zostało zrobione do 2026-10-29 @@ -46,7 +36,7 @@ Przegląd PR musi dotyczyć dokładnego opublikowanego HEAD. Nie scalaj PR, nie | `runs/runs.json` | commit tekstu, który oceniał każdy przebieg | | `sources-manifest-2026-10-29.jsonl` | adresy, stan dostępu i skróty pobranych źródeł. Samych tekstów nie przechowujemy (to cudze utwory) | -Przebiegi: run1 (pierwsze wersje poprawek), run2 (druga runda), run3 i run4 (tylko weryfikator, po kolejnych poprawkach), run5 i run6 (przerwany przegląd pozostałych pozycji: rozdział 14, rozdziały 03 i 04). Raporty z przebiegów 1–4 powstały przy pomocy narzędzia Workflow w Claude Code, a 5–6 przerwano w trakcie. Skrypt orkiestracji tego narzędzia jest w `tools/pl/workflows/audit-items.js`; jest opcjonalny, bo `audit.mjs` robi to samo bez orkiestratora. run7 (2026-10-30): wznowiony przegląd wszystkich 32 opublikowanych pozycji; 45 raportów przejęto z wcześniejszych przebiegów, 70 napisano w świeżych sesjach agentów. Kroki powyżej opisują, jak go przygotowano; kolejny przebieg nazwij run8. +Przebiegi: run1-first-drafts (pierwsze wersje poprawek), run2-second-round (druga runda), run3-verifier-03.4-14.7 i run4-verifier-03.4 (tylko weryfikator, po kolejnych poprawkach), run5-chapter14-partial i run6-chapters03-04-partial (przerwany przegląd pozostałych pozycji: rozdział 14, rozdziały 03 i 04). Raporty z przebiegów 1–4 powstały przy pomocy narzędzia Workflow w Claude Code, a 5–6 przerwano w trakcie. Skrypt orkiestracji tego narzędzia jest w `tools/pl/workflows/audit-items.js`; jest opcjonalny, bo `audit.mjs` robi to samo bez orkiestratora. run7 (2026-10-30): wznowiony przegląd wszystkich 32 opublikowanych pozycji; 45 raportów przejęto z wcześniejszych przebiegów, 70 napisano w świeżych sesjach agentów. To zapis historyczny. Nowy przebieg umieść w osobnym, jeszcze nieistniejącym katalogu; nie uruchamiaj ponownie run7 na zmienionej treści. ## Ograniczenia, o których trzeba pamiętać diff --git a/tests/content.test.mjs b/tests/content.test.mjs index 0c6fdb507..c4bc42547 100644 --- a/tests/content.test.mjs +++ b/tests/content.test.mjs @@ -11,7 +11,7 @@ const chapters = CHAPTERS.map(c => ({ ...c, text: read(c.path), ...parseChapter( const entries = chapters.flatMap(c => c.entries); const advice = published(entries); const time = chapters.find(c => c.id === '04'); -// Consent guard: AGENTS.md limits the edition to these chapters. Change this list only with the owner's agreement. +// Adapted registry snapshot: the approved backlog may be wider, but this preparation must not register unfinished chapters. const AGREED_SCOPE = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23']; // Upstream file of a chapter, found by its number prefix, so scope changes do not require editing paths here. const sourcePaths = Object.fromEntries(CHAPTERS.map(({ id }) => { @@ -22,7 +22,7 @@ const sourcePaths = Object.fromEntries(CHAPTERS.map(({ id }) => { const baseline = 'e2605d3e2242bd6216c9255192b8a8957a08c55a'; const states = ['verified', 'needs_verification', 'needs_localization', 'not_applicable']; -test('one file registry covers only the authorized chapters', () => { +test('one file registry covers exactly the currently adapted chapters', () => { assert.deepEqual(CHAPTERS.map(c => c.id), AGREED_SCOPE); assert.equal(new Set(CHAPTERS.map(c => c.path)).size, CHAPTERS.length); for (const c of CHAPTERS) assert.deepEqual(Object.keys(c).sort(), ['id', 'path']); @@ -256,3 +256,29 @@ test('browser projects cover Chromium desktop and mobile plus Firefox and WebKit assert.equal(config.projects.find(p => p.name === 'firefox').use.browserName, 'firefox'); assert.equal(config.projects.find(p => p.name === 'webkit').use.browserName, 'webkit'); }); + +test('the approved backlog is documented without bypassing publication or review gates', () => { + const policy = read('AGENTS.md'); + assert.match(policy, /2026-11-07/); + assert.match(policy, /rozdziały 24–34/); + assert.match(policy, /Nie rejestruj nieopracowanego rozdziału w CHAPTERS/); + assert.match(policy, /Osobne pozostają zgody na merge i uruchomienie Pages/); + assert.match(policy, /Brak źródła lub wymaganej recenzji dziedzinowej jest blokadą/); + assert.match(read('audit/FINDINGS.md'), /## H\. Plan zatwierdzony 2026-11-07/); + const overview = read('audit/README.md'); + assert.match(overview, /115 z 115/); + assert.doesNotMatch(overview, /112 z 115/); + assert.match(overview, /Nie nadpisuj historycznego run7/); +}); + +test('README links the deployed reader and distinguishes the whole source from adapted coverage', () => { + const originalFiles = readdirSync(resolve(root, 'book')).filter(path => /^\d{2}-.+\.md$/.test(path)); + const items = path => [...read('book/' + path).matchAll(/^### \d+\. /gm)].length; + const remaining = originalFiles.filter(path => !CHAPTERS.some(c => path.startsWith(c.id + '-'))); + const readme = read('README.md'); + assert.ok(readme.includes('[Czytaj polską wersję online](https://mikomiel.github.io/HowToLiveBetter-PL/)')); + assert.ok(readme.includes(`Pełny oryginał obejmuje **${originalFiles.length}**`)); + assert.ok(readme.includes(`**${originalFiles.reduce((sum, path) => sum + items(path), 0)}** numerowanych pozycji`)); + assert.ok(readme.includes(`**${remaining.length}** nieopracowanych rozdziałów`)); + assert.ok(readme.includes(`**${remaining.reduce((sum, path) => sum + items(path), 0)}** pozycji źródłowych`)); +});