PORÓWNANIE 150 STRON V1 I V2 — 9 PAŹDZIERNIKA 2026 Zakres: 150 stron zachowanej migawki V1 i 150 opublikowanych roboczych stron V2. To badanie artefaktów projektu, nie kontrolowany benchmark modeli. W chwili publikacji 68 stron V2 czekało na poprawki. Brak pełnej weryfikacji faktów, badań użytkowników i zatwierdzenia redakcyjnego całego zbioru. Ten sam analyze.mjs przetwarza obie wersje. Sprawdza skróty SHA-256 źródeł względem code-analysis.json oraz dosłowną obecność fragmentów dowodowych syntezy. Analizowane są własne inline CSS i JS, bez wspólnej nawigacji. Kod mini-stron nie jest uruchamiany przez ten skrypt; DOMParser służy do odczytu deklaracji HTML. Dodatkowe próby dwóch przykładów w przeglądarce opisuje example-checks.json. Rozmiary: UTF-8, bez kompresji. HTML zawiera CSS i JS — nie sumować tych kolumn. CSS to bloki style i wartości rzeczywistych atrybutów style odczytane z DOMParser; nie mylić atrybutu font-style w SVG ze style. JS to własny skrypt strony. Wszystkie 150 stron w każdym zbiorze ma jeden blok JS tematu. Komentarze i formatowanie wpływają na bajty, lecz nie zwiększają liczby węzłów AST. Nie są to rozmiary transferu ani czasy generowania. Przyciski i pola: deklaracje button oraz input (z wyjątkiem hidden), select, textarea w źródle HTML. Nie wszystkie elementy tworzone później w skrypcie. Obrazy: deklaracje img, nie pełen katalog zdjęć ani test ich dostępności. Zapis lokalny: bezpośrednie wywołania setItem na localStorage rozpoznane w AST. Wykryto je na 136 stronach V2; osobny przypadek sessionStorage na stronie „Bocznice Starachowic” nie jest wliczony. Szerszy wcześniejszy detektor oparty na napisie localStorage zliczał także komentarz tej strony i dawał 137. To nie test walidacji, trwałości danych ani bezpiecznego odczytu. Węzły AST: licznik acorn-walk.full nad drzewem Acorn, bez tokenów komentarzy. Obejmuje m.in. wywołania, identyfikatory, instrukcje, literały i wyrażenia. Nie jest pełną miarą złożoności cyklomatycznej ani jakości. Podobieństwo JS: dla każdej wersji wszystkie 11 175 nieuporządkowanych par różnych stron. Indeks Jaccarda zbiorów unikatowych okien pięciu kolejnych tokenów z przejścia acorn-walk.full (postorder). Token zawiera typ węzła, operator i nazwę bezpośredniego wywołania, jeśli występuje. Miara pomija liczności tych okien, wiele nazw i wartości. Wynik 1 nie oznacza identycznego kodu. Większe programy mogą dzielić więcej wzorców; nie interpretować wzrostu mediany jako dowodu spadku oryginalności. Pary nie są niezależnymi obserwacjami. Próg 0,70 jest arbitralny. Normalizacja pełnych skryptów: usuwa pozycje, surowy zapis literałów, nazwy identyfikatorów i treści napisów; zachowuje liczby, operatory i nazwy niewyliczanych właściwości/kluczy. Uproszczone drzewo HTML pomija tekst, atrybuty, style/script, zwija SVG, zachowuje kolejność i zagnieżdżenie. Brak identyczności nie dowodzi odmiennego pomysłu. Mediany i kwartyle: interpolacja liniowa na pozycji (n−1)·p. Rodziny mechanizmów są zachowane w surowych plikach analizatora jako metadane wejściowe, ale ich liczebności NIE służą do porównania postępu V1/V2 w artykule. V2 zawiera klasyfikację autora-modelu wymagającą osobnej kontroli. PROWENIENCJA V1: Sol, bez zgadywania dokładnego identyfikatora modelu. V2: Gemini 3.8 Flash High w Antigravity, według zapisów wykonania. V2 dostało kod V1, scenariusz rozwoju, wspólny protokół i późniejsze poprawki. Nie był to konkurs z identycznym punktem startu. Model autora scenariuszy nie został wiarygodnie zapisany. Nie przypisujemy go na podstawie nazwy wykonawcy V1. W protokole V2 zapisano zakaz nowych zewnętrznych zdjęć oraz nieudokumentowanych faktów. Stąd podobna liczba zdjęć nie dowodzi samodzielnej preferencji modelu. Obserwowany zapis lokalny również należy interpretować w kontekście scenariuszy i wymogu pozostawiania danych użytkownika w przeglądarce. PLIKI comparison.json — porównanie sum i 150 par V1/V2, daty, ograniczenia, skróty plików. comparison.csv — płaska tabela wszystkich projektów. v1/ i v2/ — summary.json, pages.json, functions.json, pairs.json, nearest.json, pages.csv. example-checks.json — dwie wąskie próby przeglądarkowe wraz z SHA-256 badanych źródeł; nie test wszystkich stanów. zrodla-v2.zip — analizowany kod roboczego V2 wraz z metadanymi potrzebnymi analizatorowi. To nie pełna kopia witryny; nie zawiera zdjęć zewnętrznych ani katalogu głównego Atlasu. ODTWORZENIE Wymagane Node, Acorn, acorn-walk, PostCSS i Playwright/Chromium. npm ci odtwarza parsery z package-lock.json. Playwright użyty w tym pomiarze: 1.62.1; można zainstalować go przez npm install --no-save --package-lock=false playwright@1.62.1 oraz npx playwright install chromium. ATLAS_NODE_MODULES może wskazywać istniejący katalog node_modules z Playwrightem. Rozpakuj zrodla-v2.zip do katalogu v2-corpus, który będzie zawierać dist/. Dla V1 użyj kopii zachowanej migawki jako v1-corpus/dist/ (nie modyfikuj samej migawki). node analyze.mjs /pełna/ścieżka/v1-corpus /pełna/ścieżka/wyniki/v1 node analyze.mjs /pełna/ścieżka/v2-corpus /pełna/ścieżka/wyniki/v2 node compare-versions.mjs /pełna/ścieżka/wyniki Skrypty zapisują wyłącznie wyniki w podanym katalogu. Przeglądarka analizatora ma zablokowany ruch sieciowy. Numer wersji nie jest sam w sobie dowodem zgodności źródeł: sprawdź SHA-256. Przy późniejszych poprawkach V2 korzystaj z archiwum źródeł, nie z aktualnego katalogu strony. Historyczna próba 9000 kombinacji i mutacji współczynnika dotyczy wyłącznie V1 Stawów Milickich; nie przeniesiono jej wyniku na nowy model V2. Dane historycznej próby pozostają pod /artykul/dowody/wyniki.json.