Podziemie Analityczne

Zmiany

Datowany rejestr zmian tego serwisu: nowe strony, korekty i usunięcia. Wpis opisuje wyłącznie to, co widać w historii repozytorium — bez planów i bez zapowiedzi.

Kanał Atom: /zmiany/feed.xml

Zasady errat

Błędy poprawiamy jawnie: każda korekta opublikowanej treści lub liczby dostaje poniżej datowany wpis „errata”, nigdy nie znika po cichu. Im poważniejszy błąd, tym bardziej widoczna poprawka.

To ta sama praktyka, która 2026-08-02 skasowała 47 z 98 własnych wartości archiwalnych — opisana na stronie Jak to działa: weryfikuj albo usuń. Jeśli znajdziesz w serwisie poprawkę, której tu nie ma, to złamanie tej zasady — nie wyjątek od niej.

  • Liczba plików testów na stronie „Jak to działa” obejmuje również testy kopii zapasowych uruchamiane osobno przez Node.js. To liczba plików, nie pojedynczych przypadków testowych.

    /jak-to-dziala

  • Wydruk historii ma większy wykres wektorowy z czytelnymi osiami. Oznaczenia pojedynczych odczytów, flagi i przerwy pozostają widoczne. Legenda krajów znajduje się przy wykresie europejskim.

    /wykresy

  • Kalendarz pokazuje zwarte wiersze zamiast listy kart. Wskaźniki można wyszukać po nazwie i ograniczyć według planowanego terminu. Szczegóły źródłowe rozwijają się w wybranym wierszu, a plany bez daty mają osobny filtr.

    /dane/kalendarz

  • Przed pobraniem CSV wybierzesz kolumny; domyślnie plik zawiera obszar, okres, wartość i jednostkę. Informacje o źródle, statusie i metodologii możesz dodać osobno. Wydruk historii pokazuje okresy w wierszach i obszary w kolumnach, ze zwięzłą notą źródłową. Przerwy metodologiczne na wykresie mają wyraźniejsze objaśnienie.

    /wykresy

  • W katalogu danych znajdziesz najbliższe planowane publikacje i pełny kalendarz. Przy terminie możesz sprawdzić informację wydawcy, czas naszego sprawdzenia i ostatnie pobranie odczytów. Poprzednie terminy pozostają w historii; nieudana próba sprawdzenia nie usuwa ostatniego potwierdzonego planu.

    /dane/kalendarz

  • Porównaj miesięczną inflację HICP w Polsce, Niemczech, Czechach i Słowacji od 2015 roku. Historia, mapa, ranking, tabela, CSV i wydruk A4 korzystają z tych samych odczytów Eurostatu. Wspólny miesiąc jest wskazany osobno; braki i szacunki pozostają widoczne. HICP jest odrębnym wskaźnikiem od krajowego CPI GUS.

    /wykresy

  • Wybraną historię województw lub przekrój wszystkich 16 regionów można pobrać jako CSV i wydrukować na A4, także do PDF. Eksport zachowuje te same odczyty, okres i wersję danych co bieżący widok. Źródło, jednostka, flagi wydawcy i uwagi o zmianach metodologii pozostają przy danych.

    /wykresy

  • Eksplorator obsługuje całą dostępną historię GUS BDL: lata 2004–2025 dla 16 województw. Zakres, mapa, ranking i tabela korzystają z odczytów zapisanych w bazie. Wykres rozdziela linie przy zmianach metodologii w latach 2021 i 2022, zachowując wszystkie odczyty. Odświeżanie obejmuje pełny dostępny zakres zamiast wyłącznie ostatniego roku.

    /wykresy

  • Porównywarka rozdziela przegląd wskaźników dla całej Polski i dane 16 województw. Regionalna stopa bezrobocia obejmuje roczne odczyty GUS BDL z lat 2022–2025; mapa, ranking i tabela pokazują niezależnie wybrany rok. Odczyty pochodzą z bazy serwisu; jeśli nie można ich pobrać, widok podaje błąd. Zakres historii można ustawić dwoma uchwytami lub polami od–do, także na wykresach krajowych. Częstotliwość pozostaje zgodna ze źródłem, bez przeliczania odczytów.

    /wykresy

  • Panel operacyjny błędnie powtarzał komunikat o brakującym wybranym wskaźniku dla kolejnych części tego samego okresu. Po korekcie zlicza każdy brakujący wskaźnik raz: przy 11 brakujących wskaźnikach w planie obejmującym 102 miesiące /ops pokazuje 11 błędów zamiast 99. Nie zmienia to dawnych zapisów przebiegów, a błędy wydawcy i przejściowe błędy źródła pozostają oddzielne.

  • Serwis ma nowy dział — Narzędzia. Sześć kalkulatorów: rata i koszt kredytu, nadpłata z porównaniem do inwestowania tego samego budżetu, refinansowanie, wynagrodzenie z umowy o pracę, dochód z działalności w trzech formach opodatkowania oraz FIRE. Wszystko liczy się w Twojej przeglądarce; żadna wpisana kwota nie trafia na nasz serwer i nic nie jest zapisywane. Każdy wynik ma rozwijane szczegóły z dokładnymi kwotami i założeniami, a kalkulatory podatkowe podają rok reguł i odsyłają do źródła każdej z nich. Przypadków, których nie umiemy policzyć — jak 50% kosztów autorskich razem z ulgą dla młodych — nie przybliżamy: kalkulator pisze wprost, że ich nie liczy.

    /narzedzia

  • Publiczne endpointy odczytu danych pozwalają teraz na wywołania z innych domen w przeglądarce. Dokumentacja API zawiera przykład, który pobiera katalog wskaźników, a następnie ich wartości. Żądania nie używają poświadczeń, a endpoint tworzący linki do wykresów i endpoint administracyjny nie zostały otwarte dla CORS.

    /api-docs

  • Nazwę „średnia krajowa” przypisaliśmy kwartalnej serii wynagrodzeń w gospodarce narodowej. Miesięczna seria pozostaje dostępna pod pełną nazwą „Przeciętne wynagrodzenie w sektorze przedsiębiorstw”. Na obu stronach dodaliśmy krótką definicję sposobu liczenia i zakres badania. Na małych ekranach pełne nazwy w legendzie wykresu zawijają się nad wykresem. Adresy, wartości i częstotliwość obu serii pozostają bez zmian.

    /dane

  • Panel rozróżnia nieukończony przebieg zatrzymany limitem żądań od błędu synchronizacji. Pokazuje zapisany okres wznowienia, także dla danych kwartalnych i rocznych. Brak zapisu w starszej historii oznacza nieznany stan odzyskiwania, a nie pewność, że wznowienie nie pomoże. Brak odczytu u wydawcy nie jest obietnicą odzyskania danych.

  • Dodaliśmy miesięczny wskaźnik cen paliw i smarów do prywatnych środków transportu. Seria obejmuje dane GUS od stycznia 2026 r.; wcześniejszych odczytów nie łączymy z nią z powodu zmiany klasyfikacji COICOP. W lipcu indeks wynosił 115,8, czyli ceny były o 15,8% wyższe niż rok wcześniej. Wartość dotyczy paliw i smarów łącznie, dlatego różni się od podawanej osobno zmiany cen samych paliw.

    /dane

  • Katalog obejmuje 100 wskaźników z GUS DBW, GUS BDL, NBP i Banku Światowego. Dodaliśmy m.in. mediany wynagrodzeń, ceny produktów, demografię, opiekę nad dziećmi, nakłady na badania i dane o środowisku. Serie roczne zachowują własną częstotliwość oraz opis źródła i warunków wykorzystania. Brakujące okresy pozostają przerwami na wykresie.

    /dane

  • Starszy okres danych nie oznacza automatycznie zaległości serwisu. Przy starszym odczycie pokazujemy potwierdzenie zgodności z najnowszym odczytem sprawdzonego źródła. Nowsze dane u wydawcy oraz brak ważnego potwierdzenia mają osobne oznaczenia. Szczegóły zawierają datę ostatniego udanego sprawdzenia. Najnowsze, niedawne odczyty pozostają bez dodatkowej etykiety.

    /dane

  • Serie NBP można dalej wykorzystywać z API i pobierać w CSV z podaniem źródła oraz linku do NBP. Podstawę stanowią regulamin serwisu NBP (§1.8) i ustawa o otwartych danych (art. 5, 14, 15 ust. 1). Opis warunków trafia także do metadanych stron wskaźników; NBP nie opublikował licencji dla API. Stopka CSV odsyła do wskazanych warunków, także gdy podstawą jest regulamin lub ustawa.

    /wykresy/zrodla

  • Strona Dane i strona główna korzystają ze wspólnego zapisu ostatnich odczytów. Nieudane odświeżenie zachowuje poprzedni poprawny zapis, zamiast usuwać wartości z kolejnych wierszy. Okres przy liczbie nadal oznacza okres obserwacji. Zapis starszy niż doba ma osobne ostrzeżenie; bieżącą dostępność sprawdza strona Status danych.

    /dane

  • Dodaliśmy 1083 historyczne odczyty GUS i NBP. CPI sięga teraz stycznia 1982 r., mieszkania oddane — stycznia 2000 r., USD/PLN — stycznia 1995 r., a EUR/PLN — stycznia 1999 r. Pozostałe uzupełnienia obejmują rynek pracy, handel, zamówienia, ceny, nastroje konsumentów i budownictwo. Wcześniej zapisane wartości pozostały bez zmian. Źródła wskazują pliki, okresy i sposób odczytu archiwów. Datę zmiany podstawy stopy bezrobocia poprawiliśmy na styczeń 2022 r., zgodnie z wariantem faktycznie przechowywanym w serii DBW.

    /wykresy/zrodla

  • Kategorie na stronie Dane pokazują liczbę pasujących wskaźników. Liczniki uwzględniają wpisane wyszukiwanie i pomagają wybrać kategorię.

    /dane

  • Kategorie na stronie Dane mają boczne menu na komputerze i widoczne przyciski na telefonie. Większe nagłówki oddzielają grupy wskaźników. Miniwykresy pokazują ostatnie odczyty bez podpisów z zakresem dat; okres ostatniej wartości pozostaje przy liczbie. Szczegóły źródła i weryfikacji są dostępne po otwarciu wskaźnika. Ostrzeżenia o starszych danych, lukach i zmianach podstawy pozostają widoczne.

    /dane

  • PPI za czerwiec 2026 r.: 1,7% → 1,9% r/r. Produkcja przemysłowa za czerwiec: 7,6% → 7,4% r/r. Syntetyczny wskaźnik koniunktury za lipiec: 96,5 → 96,6. PPI ma też aktualny status odczytu ostatecznego. Manifest w repozytorium wskazuje wartości przed zmianą i po niej oraz identyfikatory źródła. Zapis w bazie jest działaniem operacyjnym; jego wykonanie deklarujemy w tym rejestrze, a aktualne wartości można sprawdzić w API serwisu i u wydawcy. Nie przypisujemy rozbieżności ani rewizji GUS, ani wcześniejszemu błędowi pobrania bez osobnego dowodu.

    /wykresy

  • Wskaźnik cen żywności i napojów bezalkoholowych korzysta z danych GUS. Wykres pokazuje roczną zmianę cen; plik CSV z surowymi danymi zachowuje indeks wydawcy. Szereg zaczyna się w styczniu 2026 r. i ma oznaczoną zmianę klasyfikacji COICOP. Nie łączymy go z wcześniejszą klasyfikacją. Spis źródeł i jego API pokazują filtry kategorii; identyfikatory danych rozróżniają podkategorie tej samej zmiennej GUS.

    /wykresy

  • Strona pozostaje jasna także wtedy, gdy telefon lub komputer używa trybu ciemnego. Wykresy, kolory wskaźników i eksport PNG zachowują tę samą jasną paletę.

    /wykresy

  • Strona główna pokazuje katalog wskaźników z ostatnią zapisaną wartością, okresem i krótkim przebiegiem. Można szukać po nazwie, wartości lub okresie i filtrować kategorie. Braki, starsze odczyty oraz błędy źródła mają osobne oznaczenia. Strony wskaźników eksponują odczyt i prowadzą do porównania; szczegóły źródła oraz weryfikacji można rozwinąć.

    /dane

  • Dla jawnie opisanych indeksów GUS, których podstawą jest analogiczny okres poprzedniego roku równy 100, katalog, wykres i tabela pokazują zmianę r/r po odjęciu 100. API i CSV zachowują indeks źródłowy, a eksport wyjaśnia różnicę. Zapisane znaczniki wartości zachowują właściwą skalę. CSV jest niedostępny dla serii, dla których nie ustalono prawa do dalszego udostępniania; wykresy NBP pozostają dostępne.

    /wykresy

  • Panel operacyjny porównywał wcześniej liczbę zamówionych okresów z liczbą zapisanych wierszy. Okres, którego wydawca jeszcze nie opublikował, mógł więc wyglądać jak utrata danych. Teraz licznik zamówionych okresów pozostaje zapisem pracy przebiegu, a ostrzeżenie o stracie dotyczy tylko odczytów rzeczywiście zwróconych przez źródło, które nie zostały zapisane. Starszy wiersz bez tego licznika nie udaje ani braku obserwacji, ani kompletnego zapisu.

  • Panel operacyjny opisywał nieaktualny sygnał życia i niezamknięty wiersz przebiegu jako dowód śmierci procesu. Taki zapis sam nie rozstrzyga wyniku wykonania. Teraz panel podaje wyłącznie, że ostatni zapisany sygnał życia jest nieaktualny, a wiersz pozostaje niezamknięty. Bez danych końcowych nie wyciąga z tych faktów wniosku o losie procesu. Ocena problemu i próg wykrywania nieaktualnego sygnału pozostają bez zmian.

  • Opis inflacji błędnie nazywał wstępnym odczyt publikowany około połowy miesiąca i przesuwał pełną publikację o kolejny miesiąc. Usunęliśmy to zdanie: szybki szacunek ukazuje się pod koniec miesiąca, a wykres korzysta z późniejszej pełnej informacji GUS. Przy zatrudnieniu usunęliśmy nieudokumentowane porównanie z „około połową pracujących” — seria liczy etaty, nie osoby — i zastąpiliśmy je zakresem badania: wybrane rodzaje działalności w podmiotach o liczbie pracujących co najmniej 10 osób. Przy kwartalnym wynagrodzeniu w gospodarce narodowej zastąpiliśmy przybliżenie „około 40 dni” sprawdzalną regułą kalendarzową: komunikat ukazuje się do 7. dnia roboczego drugiego miesiąca po zakończeniu kwartału.

    /dane

  • Przeglądarka nie pobiera już całego silnika ECharts, zanim narysuje wykres. Ładuje tylko wykresy liniowe, osie, legendę, podpowiedzi i znaczniki używane w serwisie; pełny silnik pozostaje pobierany dopiero przy eksporcie PNG. Pomiary wersji produkcyjnej potwierdziły mniejszy pakiet kodu potrzebny do pierwszego wykresu po kompresji gzip. Dokładna liczba bajtów zależy od kompilacji, dlatego jej nie publikujemy. Typy wykresów, dane i wygląd pozostają bez zmian.

    /wykresy

  • Spis na dole strony wykresów nie pobiera już automatycznie stron danych, zanim czytelnik do niego dotrze. Zimne pomiary telefonu i komputera potwierdziły, że po zmianie żadne z tych żądań nie jest wysyłane. Dokładna liczba bajtów zależy od kompilacji, dlatego jej nie publikujemy. Kliknięcie nadal otwiera tę samą stronę wskaźnika; wygląd spisu i działanie wykresu pozostały bez zmian.

    /wykresy

  • Stopka nie pobiera już z wyprzedzeniem zawartości dziewięciu podstron podczas pierwszego wejścia. Pomiary na komputerze i telefonie potwierdziły mniejszy transfer, ale dokładny rozmiar gzip zmienił się między kompilacjami, dlatego nie publikujemy liczby bajtów. Odsyłacze działają bez zmian, a widoczny nagłówek i kafelki nadal wyprzedzają najważniejsze cele.

    /

  • Po otwarciu menu „Udostępnij” każda opcja pokazuje teraz wyraźną ramkę, gdy wybiera ją użytkownik klawiatury. Wcześniej aktywną opcję odróżniała tylko subtelna zmiana tła, której w jasnym i ciemnym motywie praktycznie nie było widać. Sposób tworzenia i działania linków pozostaje bez zmian.

    /wykresy

  • Długie przykłady kodu w dokumentacji API można teraz zaznaczyć klawiszem Tab i przewijać bez użycia myszy. Aktywny przykład ma widoczną ramkę fokusu. Treść przykładów i działanie endpointów pozostają bez zmian.

    /api-docs

  • Gdy strona statusu wykrywa nieaktualną serię, nagłówek ostrzeżenia ma teraz wystarczający kontrast także w jasnym motywie. Bursztynowy tekst pozostaje na bursztynowej ramce, ale tło bloku jest neutralne. Treść ostrzeżenia, jego próg i wyniki sprawdzenia pozostają bez zmian.

    /status

  • Na stronach głównej, „O nas” i „Jak to działa” pojedyncze „w”, „i”, „z”, „o”, „u” oraz „a” łączą się teraz z następnym słowem twardą spacją. Przy węższym oknie wiersz łamie się przed taką literą, nie po niej. Zmiana obejmuje istniejące teksty; ich słowa i znaki pozostają bez zmian.

    /jak-to-dziala

  • W blokach „Zastrzeżenia” trzech serii stało zdanie o tym, że GUS oznacza te liczby w swoim API jako dane wstępne; dwie z nich podawały nawet flagę „w”. W odpowiedziach API, które trzymamy u siebie jako dowód, wiersze tych serii mają flagę „nd” — czyli GUS nie stawia przy nich żadnej informacji o statusie. Co ważne, to samo zdanie jest prawdziwe na sześciu innych stronach, gdzie flaga „w” faktycznie stoi — i to jest dowód, że zostało wpisane ręcznie, a nie wyprowadzone z danych. Zdanie o wynagrodzeniu w gospodarce narodowej usunęliśmy w całości, bo cała jego treść opierała się na tej flagze. W dwóch seriach budowlanych została ta połowa, którą czytelnik może sprawdzić: dane pochodzą z opracowania sygnalnego GUS. Niczego nie dopisaliśmy w to miejsce. Od teraz test porównuje każde takie zdanie z zapisaną odpowiedzią GUS i nie przepuszcza zastrzeżenia, któremu przeczą własne dane strony.

    /dane

  • Pod paskiem zakresów (3M, 6M, 1R…) stoi zdanie tłumaczące, dlaczego część z nich jest wyłączona. Miało tylko jedną formę: „Za mało odczytów na zakresy…”. Na stronie „Ceny produkcji budowlano-montażowej (r/r)” to nieprawda w rzeczy, o którą czytelnikowi chodzi: seria ma 48 odczytów i wszystkie pochodzą z lat 2010–2013, więc w ostatnich miesiącach nie ma żadnego. Problemem nie jest liczba odczytów, tylko ich wiek — a strona pisała o liczbie. Teraz zdanie rozróżnia dwa stany, tak jak od dawna rozróżniają je podpowiedzi przy samych przyciskach: „Brak odczytów w zakresach…”, gdy w danym oknie nie ma nic, i „Tylko jeden odczyt w zakresach… — za mało na linię”, gdy jest jeden. Wiek serii mówi osobne zdanie pod wykresem, dodane dzień wcześniej.

    /dane

  • Karty „Bezrobotni nowo zarejestrowani” i „Bezrobotni wyrejestrowani” opisywały się słowami „Ilu osób przybyło” i „Ilu osób ubyło”. „Osoba” jest rodzaju żeńskiego, więc w tej pozycji poprawne jest „ile”, a nie „ilu” — to samo zdanie z „ilu” jest natomiast poprawne przy „Na budowę ilu mieszkań wydano pozwolenie”, gdzie dopełniacz jest wymuszony przez „na budowę”. Poprawione w obu miejscach, w których ten opis mieszkał: w katalogu w kodzie i w kopii w bazie, którą widać w wyszukiwarce „Szukaj / Ctrl K” oraz w dymku informacyjnym przy wykresie. Ta druga kopia nie mogła być poprawiona samą zmianą tekstu, więc opis serii bierzemy teraz zawsze z katalogu — tak samo, jak od sierpnia bierzemy stamtąd kolor linii.

    /dane

  • Strona /analizy, dopóki nie ma na niej tekstów, odsyła czytelnika do reszty serwisu. Zdanie brzmiało „Pozostały dział serwisu: wykresy makroekonomiczne” — w liczbie pojedynczej i z jednym odnośnikiem. Było prawdziwe, gdy je pisaliśmy, i przestało być 10 sierpnia, kiedy katalog danych stał się osobnym działem z własną pozycją w menu. Czytelnik, który trafiał na pustą stronę, był kierowany obok największej części serwisu. Teraz zdanie wymienia oba działy.

    /analizy

  • Strona /status i raport /api/status podawały jeden stan — „Dane na żywo (live)”, „Stan: ok — działa” — i był to stan BAZY, nie danych. Baza rzeczywiście odpowiadała, więc oba zdania były prawdziwe; razem dawały jednak pochlebne podsumowanie katalogu, w którym jedna z serii kończyła się na grudniu 2013. Wiek serii znała tylko nasza wewnętrzna strona kontrolna. Od teraz raport odpowiada na dwa pytania osobno: „czy da się czytać dane” (to jest dawny stan i on się nie zmienił) oraz „jak stare są dane”. Drugą odpowiedź widać w ramce na górze /status: ile serii sprawdzono, ile z nich jest nieaktualnych, a każda nieaktualna jest wymieniona z nazwą, datą ostatniego odczytu i linkiem do własnej strony. Ten sam komponent trafia do /api/status jako pole freshness. Przestarzała seria NIE zmienia stanu na „error” — to nie jest awaria, tylko wiek danych, a strona mówi to wprost. Gdy nie da się sprawdzić wieku, raport pisze „nie sprawdzona” zamiast zieleni, której nikt nie zmierzył. Próg jest jedną liczbą wspólną ze stroną kontrolną, a że strona publiczna mierzy wiek do bieżącego miesiąca, a kontrolna do najświeższej serii w bazie, to publiczna jest z tych dwóch surowsza — nigdy odwrotnie.

    /status

  • Dwie szerokie tabele w panelu operacyjnym można teraz wybrać klawiszem Tab i przewijać bez myszy. Każda ma własną nazwę dla czytnika ekranu oraz widoczną ramkę fokusu. Dane i działanie panelu pozostają bez zmian.

  • Po zamknięciu ustawień prywatności albo wyszukiwarki wskaźników fokus wraca do przycisku, który otworzył dane okno, albo do stałego przycisku Szukaj, jeśli poprzedni zniknął po wyborze wskaźnika. Treść ustawień, wyszukiwanie i zapis zgody pozostały bez zmian.

    /wykresy

  • Strona metodologii rankingu pozostaje dostępna jako zapis opublikowany przed pierwszym pomiarem, ale nie mówiła, że cały ranking został zdjęty z serwisu 6 sierpnia. Czytelnik trafiający tam z historycznego wpisu w tym rejestrze widział od pierwszego zdania opis trwającego projektu. Nad tytułem metodologii stoi teraz ten sam komunikat co na stronie rankingu: wyjaśnia, dlaczego sekcja została zdjęta i dlaczego jej adres oraz metodologia zostają. Komunikat zniknie sam, gdy pojawi się pierwszy zmierzony wynik — na obu stronach steruje nim ten sam warunek.

  • Dwie serwowane serie kończyły się na grudniu 2013 i grudniu 2017 (tę drugą, import-wolumen, uzupełniliśmy tej samej nocy do kwietnia 2026 — przestarzała została jedna). Do dziś nie mówiła tego żadna strona publiczna: na /wykresy linia z 2013 roku była rysowana na osi sięgającej czerwca 2026, a pod wykresem stał jeden podpis „stan: czerwiec 2026”. W katalogu /dane obie serie miały tylko liczbę odczytów — bez ani jednej daty, więc serii sprzed dwunastu lat nie dało się odróżnić od wczorajszej bez otwierania trzydziestu sześciu stron. Teraz wiek serii liczymy z jej własnych odczytów i pokazujemy wszędzie tam, gdzie czytelnik ją spotyka: karta wykresu nazywa każdą przestarzałą serię nad tabelą, podpis pod wykresem podaje rozpiętość („stan: grudzień 2013 – czerwiec 2026”), gdy końce serii się rozjeżdżają, a każdy z 36 wierszy katalogu podaje datę ostatniego odczytu i wyróżnia te przestarzałe. Próg jest ten sam, którego używa nasza wewnętrzna strona kontrolna — dotąd tylko ona nazywała te dwie serie problemem.

    /dane

  • Strona /dane/import-wolumen w bloku „Zastrzeżenia” podawała: „Publikacja z ok. 3-miesięcznym opóźnieniem — najnowszy punkt jest zwykle o trzy miesiące starszy niż bieżący miesiąc”. Najnowszy punkt tej serii był wtedy starszy o 104 miesiące (tej samej nocy uzupełniliśmy serię do kwietnia 2026, więc dziś odstęp jest zwykły). To samo zdanie stało na czterech innych seriach i na nich było mniej więcej prawdziwe — dowód, że liczba była wpisana ręcznie, a nie liczona. Wszystkie pięć zdań usunęliśmy z katalogu. W ich miejsce strona serii liczy odstęp od bieżącego miesiąca z faktycznych odczytów i pisze go tylko wtedy, gdy jest większy niż zwykłe opóźnienie publikacji. Ta liczba zmienia się sama z każdym miesiącem i z każdym nowym odczytem.

    /dane

  • 33 z 36 stron serii pisały w bloku „Źródło serii”: „Zanim zaufaliśmy identyfikatorom poniżej, porównaliśmy wartości z API z publikacjami GUS”. Takie porównanie ma za sobą 9 serii — co nasza własna strona ze źródłami danych podawała wprost („9 z 33 kompletów”). Na pozostałych 24 to zdanie stało trzy linijki pod odznaką mówiącą, że serię sprawdzono wyłącznie strukturalnie. Zdanie jest teraz wyprowadzane z zapisu porównań: zostaje na tych 9 seriach, które mają w nim swój wiersz, a pozostałe 24 mówią wprost, że ich wartości nie były częścią tych porównań, a identyfikatory sprawdziliśmy strukturalnie. Przy okazji cztery strony, które nie podawały żadnego stanu weryfikacji, podają go teraz jak wszystkie inne.

    /wykresy/zrodla

  • Trzy rzeczy zniknęły ze stron, bo żadna nic nie wnosiła. Przycisk zakresu „1M” na wykresach nigdy nie mógł zadziałać — miesięczne, kwartalne i roczne dane mieszczą w nim po jednym odczycie, a z jednego punktu nie da się narysować linii — więc istniał tylko po to, żeby być przekreślonym, i ciągnął za sobą zdanie tłumaczące, dlaczego jest wyłączony. Kolumna „Podłączenie” na stronie /status powtarzała kolumnę „Źródło”: we wszystkich 46 wierszach „niepodłączony” stało dokładnie tam, gdzie źródłem był myślnik. Drugie zastrzeżenie na /dane/stopa-bezrobocia streszczało sekcję „Nieciągłości serii” i jednocześnie do niej odsyłało, choć stała bezpośrednio nad nim. Starsze linki do wykresów zapisane z zakresem 1M nadal działają.

    /status

  • Karta pod pustym wykresem — wybrany wskaźnik, zero odczytów do narysowania — pisała zawsze to samo: „Źródło odpowiada — po prostu nie ma tu wartości do narysowania”. To zdanie było prawdziwe tylko, gdy wskaźnik ma odczyty gdzie indziej w bazie, a fałszywe dla wskaźnika, którego jeszcze nigdy nie pobraliśmy — obie sytuacje wyglądają dla strony identycznie, a każdy nowo podłączony wskaźnik przechodzi przez tę drugą, zanim spadnie pierwszy odczyt. Karta sprawdza teraz, czy mamy choć jeden potwierdzony odczyt dla wybranego wskaźnika (dla porównania — dla każdego z nich): jeśli tak, zostaje dotychczasowe zdanie; jeśli nie, karta mówi wprost „Tego jeszcze nie pobraliśmy — nie mamy tu żadnych wartości do narysowania”, zamiast obwiniać źródło za naszą własną lukę.

    /wykresy

  • Strona /dane/stopa-bezrobocia opisywała przełom metodologiczny z grudnia 2020 r. (zmiana podstawy szacunku: PSR 2010 na PSR 2020) w sekcji „Nieciągłości serii”, ale sekcja „Zastrzeżenia” pod nią była całkiem pusta — jedyna strona wskaźnika z deklarowanym przełomem i bez ani jednego zastrzeżenia. Czytelnik, który ominąłby opis przełomu, mógł odczytać skok stopy między listopadem a grudniem 2020 r. jako realny wzrost bezrobocia, choć w przeważającej części to zmiana metody liczenia. Doszły dwa zdania: że stopa dotyczy bezrobocia rejestrowanego (nie każdy bezrobotny się rejestruje) i że dane sprzed grudnia 2020 r. nie są wprost porównywalne z nowszymi. Żadna liczba w nowych zastrzeżeniach nie jest wymyślona — obie zdania są jakościowe i odsyłają do opisu przełomu wyżej, gdzie konkretna wielkość zmiany (0,5 p.p.) ma już swoje źródło.

    /dane

  • Trzy serie rynku pracy — bezrobocie rejestrowane, nowo zarejestrowani i wyrejestrowani bezrobotni — pokazywały jednostkę „osoba” w jednej, słownikowej formie niezależnie od liczby: nagłówek „Ostatni odczyt”, opisy osi wykresu i wiersze tabeli czytały np. „901 506 osoba” zamiast „901 506 osób”. Przyczyną było dosłowne doklejanie oznaczenia jednostki z katalogu GUS bez odmiany przez liczebnik. Liczba i rzeczownik zgadzają się teraz tak, jak wymaga polska gramatyka — „1 osoba”, „2 osoby”, „5 osób” — wszędzie, gdzie liczba faktycznie stoi przy słowie. Nagłówek kolumny w eksporcie CSV i wiersz „Jednostka” na liście źródeł nadal pokazują samą nazwę jednostki, bo tam liczby nie ma — nic się dla nich nie zmieniło.

    /dane

  • Strony poszczególnych serii żyją pod adresami /dane/… od kilku dni, ale sam /dane nie istniał — kto skrócił adres, dostawał komunikat o braku strony. Teraz jest to katalog: wszystkie serie z podziałem na pięć kategorii (ceny, rynek pracy, PKB i produkcja, handel, finanse), z wyszukiwarką i przełącznikami kategorii działającymi w przeglądarce. Każdy wiersz podaje źródło, częstotliwość i liczbę odczytów, które mamy — a gdy odczytów jest za mało, żeby narysować linię, mówi to wprost zamiast udawać. Kategoria bez ani jednej serii nie dostaje przełącznika: nie robimy kontrolek nad pustym zbiorem. Na dole katalog przyznaje, ilu serii jeszcze nie podłączyliśmy, i linkuje do rejestru źródeł, gdzie opisany jest powód.

    /dane

  • Katalog zyskał blok cen mieszkań: wskaźnik cen lokali mieszkalnych (zmiana rok do roku), medianę oraz średnią cenę transakcyjną za metr kwadratowy. Wszystkie trzy pochodzą z cen transakcyjnych aktów notarialnych (Rejestr Cen Nieruchomości), obejmują rynek pierwotny i wtórny łącznie i są kwartalne — to pierwsze serie kwartalne obok przeciętnego wynagrodzenia w gospodarce narodowej. Tożsamość każdej serii sprawdziliśmy przed dodaniem: wskaźnik cyfra w cyfrę z komunikatem GUS za I kwartał 2026, medianę i średnią z Bankiem Danych Lokalnych GUS w dwóch odległych kwartałach. Strony serii już istnieją i mówią wprost, że czekają na pierwsze odczyty; do porównań wejdą, gdy je zasilimy danymi.

    /wykresy/zrodla

  • Pod odczytem stopy referencyjnej widniało dotąd tylko „stan: lipiec 2026”, co brzmiało jak comiesięczna aktualność — a stopa to decyzja, która obowiązuje do następnej zmiany. Teraz, gdy seria odczytów to potwierdza, strona główna dopisuje miesiąc wejścia w życie — dziś „obowiązuje od marca 2026”. Dokładny dzień publikuje NBP; my podajemy miesiąc, bo tyle mówią nasze dane miesięczne. „Stan:” zostaje, bo mówi co innego: po który miesiąc sięgają odczyty.

    /

  • Rozwinięcia przycisków zakresu (1M…Max), czytane przez czytniki ekranu, nazywają teraz okno w kadencji danych na osi: na serii kwartalnej 1M i 3M obejmują ten sam ostatni kwartał i tak też się przedstawiają, zamiast obiecywać „ostatni miesiąc”. Lista początku zakresu to teraz „Od okresu…”, bo jej pozycje to okresy wybranych serii — także kwartały. Strona /ops liczy okresy zamiast miesięcy tam, gdzie zamówienie idzie w kadencji serii. Na telefonie nagłówek strony wskaźnika i kontrolki nad wykresem zajmują mniej miejsca, a zdanie powtarzające powód wyłączonego zakresu jest schowane — powód zostaje w opisie samego przycisku.

    /wykresy

  • Ujemne wartości — na przykład saldo handlu — miały przed sobą łącznik z klawiatury zamiast typograficznego minusa. Teraz każda ujemna liczba na wykresie, w tabeli, w dymku i na karcie odczytu dostaje właściwy znak „−”, krojony na szerokość cyfr. Pliki CSV i API celowo zostają przy zwykłym łączniku: arkusz kalkulacyjny musi umieć odczytać liczbę.

    /wykresy

  • Wpisy od dawna mają stałe adresy — korzysta z nich kanał Atom — ale na samej stronie nic ich nie używało, więc nie dało się wskazać jednego wpisu z długiej listy. Tytuł wpisu jest teraz odnośnikiem do samego siebie: kliknięcie wstawia adres wpisu do paska przeglądarki i ten adres można cytować.

    /zmiany

  • Polska typografia nie zostawia „w”, „i”, „z”, „o”, „u” ani „a” na końcu wiersza. Na tej stronie — najdłuższym tekście serwisu — przyimki i spójniki łączą się teraz z następnym słowem twardą spacją, więc wiersz łamie się przed nimi, nie po nich. Zasada działa na razie tylko tu.

    /zmiany

  • Od 8 sierpnia kolory na wykresie zależą od zestawienia, więc katalog /api/metrics zwraca w każdym wierszu tę samą parę color i dash — tożsamość serii rysowanej samodzielnie, tak jak na jej własnej stronie. Dokumentacja API wciąż opisywała wcześniejszy schemat — „dwie serie w tym samym kolorze zawsze mają różny wzór” — czemu przeczył każdy z dwunastu wierszy odpowiedzi. Opisy obu pól mówią teraz to, co pola naprawdę znaczą, a tabela zyskała cztery pola, które API zwraca, a których w ogóle nie wymieniała: licence (warunki ponownego użycia z obowiązkową atrybucją), displayTransform (opis tego, jak źródło publikuje serię; serwis niczego nie przelicza), breaks i comparableFrom. Sama odpowiedź API nie zmieniła się ani o bajt — poprawka dotyczy wyłącznie dokumentacji.

    /api-docs

  • Dotąd każda seria miała kolor przypisany na stałe, a rozróżnialnych tożsamości — kolor plus wzór linii — jest dokładnie dwanaście. Tę granicę zmierzyliśmy, nie założyliśmy: więcej odcieni przestaje być rozróżnialne, także dla osób nie rozróżniających barw. Stały przydział ograniczał więc porównania do dwunastu ustalonych z góry serii, a wykres mówił o tym w osobnej nocie. Teraz kolory przydzielamy do konkretnego zestawienia, nie do serii, i ta nota zniknęła: każda seria, która ma odczyty, może wejść do porównania. Jeden wykres nadal porównuje najwyżej 12 serii naraz i wybór mówi o tym wprost. Porównanie można też zacząć prosto ze strony serii — wyszukiwarka Ctrl+K działa wszędzie tam, gdzie jest wykres. Seria, która czeka jeszcze na pierwsze odczyty, mówi to wprost na swojej stronie; do porównań wejdzie, gdy ją zasilimy danymi. Kolory na wcześniej udostępnionych wykresach mogły się przez to jednorazowo zmienić — dane, zakresy i opisy pozostały dokładnie takie same.

    /wykresy

  • Do tej pory analityka widziała wyłącznie osoby, które kliknęły „Akceptuję”; każda inna wizyta była dla nas niewidoczna, więc nie wiedzieliśmy nawet, ilu czytelników strona ma. Teraz po „Odrzucam” przeglądarka też wysyła zdarzenia, ale bez żadnego identyfikatora: w localStorage zostają tylko znaczniki samej odmowy, a wysłane zdarzenia nadają się do zliczenia jedynie dziennym skrótem po stronie PostHoga — skrótem, którego nie da się cofnąć do osoby i który nie łączy wizyt z różnych dni. Osoby, które nie klikną nic, dalej nie są liczone i nie pobierają kodu analityki. Pasek zgody, okno ustawień prywatności i polityka prywatności zostały przepisane tak, żeby opisywały dokładnie ten podział.

    /privacy

  • Do tej pory o weryfikacji mówiliśmy zbiorczo: jedno zdanie o całym mapowaniu, takie samo pod każdym wykresem. To zacierało różnice, bo serie sprawdzaliśmy na różne sposoby. Teraz każda ma własne określenie i jedno zdanie, które je wyjaśnia — widoczne na stronie serii i w nowej kolumnie „Weryfikacja” w rejestrze źródeł. Określenia mówią, co zostało zrobione: że człowiek porównał odczyty z tabelą wydawcy, że zgadzają się z osobną publikacją, albo że podajemy wartość dokładnie tak, jak wydawca ją opublikował. Żadnego z tych określeń nie wpisujemy ręcznie — wynikają z zapisów porównań w naszej dokumentacji, więc gdy zapis się zmieni, zmieni się i to, co czytelnik widzi. Czwarte określenie pochodzi z automatycznych kontroli spójności, które uruchamiamy na odczytach serii: jednostka, ciągłość okresów, wielkość zmian z okresu na okres i podstawa indeksu. Seria, której jeszcze nie zasililiśmy danymi, nie ma pustej rubryki — piszemy wprost, że czeka na pierwsze odczyty i że sprawdzimy ją automatycznie, gdy się pojawią.

    /wykresy/zrodla

  • Na stronach o naszych źródłach podajemy, ile odczytów porównaliśmy wprost z liczbami opublikowanymi przez GUS. Tę liczbę wyliczamy z jednej tabeli w naszej dokumentacji — nie wpisujemy jej ręcznie. Porównania dla inflacji CPI z lat 2010–2013 zapisaliśmy w innym miejscu tego samego pliku, więc licznik ich nie widział. W tym samym czasie wpis w tym rejestrze mówił czytelnikom wprost o 48 takich porównaniach — dwóch naszych liczb nie dało się pogodzić. Przenieśliśmy te porównania tam, gdzie licznik czyta: miesiąc po miesiącu, wartość z naszego API obok wartości opublikowanej przez GUS. Żadnego porównania nie dopisaliśmy ani nie usunęliśmy — zmieniło się tylko to, że są liczone tam, gdzie deklarujemy, że liczymy.

    /wykresy/zrodla

  • We wpisie o inflacji CPI napisaliśmy, że styczeń 2010 r. (103,5) „odpowiada ostatecznemu odczytowi GUS z lutego 2010 r.”. Zdanie czyta się tak, jakby 103,5 było odczytem za luty — a luty 2010 r. to 102,9. Sama wartość jest dobra i w danych nic się nie zmienia. Chodziło o coś innego: ostateczną wartość za styczeń GUS ogłosił dopiero w komunikacie lutowym, po corocznej zmianie systemu wag, poprawiając wstępne 103,6 na 103,5. Tak to należało napisać: 103,5 to ostateczny odczyt za styczeń 2010 r., podany miesiąc po wstępnym. Tamten wpis zostaje w rejestrze takim, jakim go opublikowaliśmy — nie poprawiamy w nim błędów po cichu, tylko prostujemy je nowym wpisem z datą.

    /wykresy

  • Na stronie o źródłach i na stronach wskaźników jest kolumna z zakresem miesięcy. 6 sierpnia nazwaliśmy ją „Przekrój i okres w źródle” i napisaliśmy w tym rejestrze, że opisuje to, co publikuje GUS, a nie to, co mamy u siebie. To zdanie było nieprawdziwe. Te zakresy są nasze: mówią, z którego przekroju bierzemy dane w których miesiącach, i dlatego nigdy na siebie nie zachodzą. GUS publikuje szerzej — w innym wpisie sami napisaliśmy, że dwa przekroje inflacji CPI pokrywają się przez 144 miesiące. Czytelnik, który zestawił jedno z drugim, dostał od nas sprzeczność w miejscu, które ma dowodzić rzetelności. Zmieniliśmy nazwę kolumny na „Przekrój i okres, z którego bierzemy dane”. Liczby w kolumnie się nie zmieniły — poprawiliśmy zdanie, które je opisywało.

    /wykresy/zrodla

  • Wykres inflacji CPI zaczynał się w styczniu 2014 r., choć GUS publikuje tę serię od 2010 r. Braliśmy dane z przekroju, który zaczyna się w 2014 r.; wcześniejsze lata leżą w starszym przekroju tej samej zmiennej. Zanim je podłączyliśmy, sprawdziliśmy, że to ta sama seria: w każdym ze 144 wspólnych miesięcy oba przekroje podają identyczną wartość, a 48 odczytów porównaliśmy na ślepo z opublikowanymi tabelami GUS — wszystkie się zgadzają. Styczeń 2010 r. (103,5) odpowiada ostatecznemu odczytowi GUS z lutego 2010 r. — GUS koryguje styczniowe dane po corocznej zmianie wag, więc porównujemy z wartością ostateczną, nie wstępną.

    /wykresy

  • Przy pierwszej wizycie pasek z pytaniem o zgodę na statystyki stoi na dole ekranu i nachodził na dolną część wykresu — dokładnie tam, gdzie są daty. Kto wchodził na stronę pierwszy raz, widział linię bez żadnych dat pod spodem. Same dane były w porządku, a oś pokazywała się po przewinięciu strony albo po odpowiedzi na pytanie o zgodę — ale nie jest to coś, czego czytelnik ma się domyślać. Teraz strona rezerwuje miejsce na pasek i dopasowuje do niego wysokość wykresu, więc oś czasu widać od razu; po odpowiedzi wykres wraca do pełnej wysokości. Przy okazji ostatni wiersz stopki przestał chować się pod paskiem — treści ani przycisków samego paska nie zmienialiśmy.

    /wykresy

  • Na stronie „Status danych” pokazujemy godzinę ostatniego sprawdzenia. Podawaliśmy ją w UTC i tak też była podpisana, więc nic nie było błędne — ale czytelnik w Polsce musiał sam dodać godzinę albo dwie, zależnie od pory roku. Teraz jest tam czas polski, a obok niego przesunięcie względem UTC: widać i swój zegar, i dokładny moment, bez liczenia w pamięci. Pełny znacznik czasu zostaje bez zmian tam, gdzie czytają go maszyny — w kodzie strony i w /api/status.

    /status

  • Wykres przeciętnego wynagrodzenia zaczynał się w styczniu 2023 r., choć GUS podaje tę serię od 2010 r. Braliśmy dane z zestawienia, które kwoty w złotych publikuje dopiero od 2023 r. — wcześniejsze miesiące były tam tylko jako wskaźniki, więc nasz pobieracz nie znajdował czego szukał i po cichu je pomijał. Teraz bierzemy kwoty z dwóch zestawień GUS: wojewódzkiego od stycznia 2012 r. i sektorowego dla lat 2010–2011. Sprawdziliśmy, że w miesiącach wspólnych kwoty są identyczne co do grosza, a styczeń 2010 r. (3231,13 zł) zgadza się co do grosza z komunikatem GUS z lutego 2010 r. — więc linia nie skleja dwóch różnych miar.

    /wykresy

  • Link do udostępnionego wykresu zapisuje ustawienia raz i odtwarza je przy każdym otwarciu. Sprawdzaliśmy, czy wybrane wskaźniki istnieją, ale nie sprawdzaliśmy, czy zapisane ustawienia da się w ogóle narysować — a nasza dokumentacja API wprost dopuszczała pusty zestaw ustawień. Taki link powstawał normalnie i zwracał błąd serwera przy każdej próbie otwarcia, na zawsze. Teraz odmawiamy utworzenia linku, którego nie dałoby się otworzyć, a te już wydane niczego nie kasujemy: adres nadal działa i mówi wprost, że link jest uszkodzony i że to nasz błąd. Wykresy trzeba w takim wypadku ustawić i udostępnić ponownie. Odczyt przez nasze API oddaje zapisane ustawienia bez zmian i celowo nie ocenia, czy da się z nich narysować wykres — uszkodzenie widać pod adresem linku, nie w odpowiedzi API, i tak to teraz opisuje nasza dokumentacja.

    /wykresy

  • Wykresy kursu euro i dolara zaczynały się w styczniu 2010 r., a stopa referencyjna NBP tak samo — nie dlatego, że wcześniej nie ma danych, tylko dlatego, że nasz pobieracz miał wpisaną jedną wspólną datę początkową dla wszystkich trzech serii. Teraz każda seria zaczyna się tam, gdzie zaczyna się źródło: kursy euro i dolara od stycznia 2002 r. (pierwsze notowanie w tabeli A NBP to 2 stycznia 2002 r.), a stopa referencyjna od lutego 1998 r. (pierwsza zmiana w archiwum NBP to 26 lutego 1998 r., 24 %). Dane pochodzą z tych samych plików NBP co dotychczas — pokazujemy je, nie udostępniamy dalej.

    /wykresy

  • W rozdziale o adresach IP stało zdanie, że wpisy licznika starsze niż dwie godziny „przestają być używane i są kasowane” — pierwsza połowa była prawdą, druga obietnicą bez pokrycia. Stare wpisy usuwa dopiero późniejszy ruch na stronie albo restart serwera, a nie zegar — więc przy niewielkim ruchu wpis potrafi poleżeć dłużej niż dwie godziny. Strona mówi teraz obie rzeczy osobno: licznik bierze pod uwagę wyłącznie okno, które właśnie trwa, a samo skasowanie wpisu nie ma gwarantowanego terminu.

    /privacy

  • Przyciski zakresu czasu odmierzały odczyty po kolei, a nie po kalendarzu. Na wskaźniku, którego dane kończą się przed laty, kliknięcie „1R” rysowało ostatni rok, jaki serwis ma — a nie ostatni rok — więc pod przyciskiem „ostatni rok” stawał wykres sprzed dekady. Żadna liczba nie była zmyślona: oś podawała prawdziwe okresy, nieprawdę mówił podpis przycisku. Teraz zakres znaczy czas kalendarzowy, a to, czy przycisk jest aktywny, sprawdzamy, przepuszczając odczyty przez ten sam filtr, którym rysujemy wykres — przycisk nie może więc obiecać linii, której wykres nie narysuje. Widoczny skutek: dla serii zakończonej przed laty wszystkie gotowe zakresy są wyłączone i działa tylko „Max”, a do starszego fragmentu prowadzi wybór miesiąca początkowego obok paska.

    /wykresy

  • Po zdjęciu rankingu na stronie „Jak to działa” zostały dwa fragmenty mówiące o pliku z wynikami rankingu i o treści pytań egzaminacyjnych — czytelnik nie miał gdzie umieścić tych pojęć, bo w serwisie nie ma już ani jednej wzmianki o rankingu. Zabezpieczenie, które opisywał pierwszy z nich, istnieje naprawdę i zostaje: do pliku z wynikami nie da się dopisać pola po cichu, bo test dopuszcza na każdym poziomie tylko znane pola. Usunęliśmy nazwy, nie gwarancję. Drugi fragment skasowaliśmy w całości — bez rankingu mówił tylko tyle, że plik w repozytorium ma historię zmian, co jest prawdą o każdym pliku w każdym repozytorium.

    /jak-to-dziala

  • Strona statusu podawała, ile wskaźników jest „podłączonych do zweryfikowanego źródła”, a strona wykresów w tym samym czasie pokazywała, że linię rysuje ich mniej. Obie liczby były prawdziwe i nigdzie nie było napisane, że odpowiadają na dwa różne pytania. „Podłączony” znaczy tyle: identyfikatory serii zostały sprawdzone z publikacjami źródła — a nie, że mamy już jej odczyty. Napisaliśmy to wprost w miejscu, w którym tego słowa używamy. Kolumna z zakresem nazywa się teraz „Przekrój i okres w źródle”, bo opisuje to, co publikuje GUS, a nie to, co mamy u siebie: na stronie wskaźnika bez odczytów ta sama rubryka podawała pełen zakres tuż pod komunikatem, że nie mamy nic.

    /status

  • Na pustej stronie „Analizy” odnośnik do kanału Atom stał w nagłówku, nad zdaniem, że nie opublikowaliśmy jeszcze żadnego tekstu — propozycja subskrypcji ponad informacją, że nie ma czego subskrybować. Niczego nie dodaliśmy ani nie usunęliśmy: ten sam odnośnik stoi teraz pod spisem, jako odpowiedź na pytanie, co będzie, gdy tekst się pojawi.

    /analizy

  • Nagłówek „Opisy wskaźników” zapowiadał opisy, a pod nim stała sama lista odnośników; nazywa się teraz „Strony wskaźników”, bo opisy są na stronach, do których te odnośniki prowadzą. Zniknęły też etykiety „0 odczytów” powtarzane przy każdym wskaźniku bez wykresu — nagłówek grupy podaje ich liczbę raz, a zdanie obok tłumaczy, dlaczego nie rysujemy linii. Wskaźnik, który ma jeden odczyt, nadal to pokazuje. Lista w wyszukiwarce wskaźników zostaje bez zmian: tam nagłówek grupy ucieka przy przewijaniu, więc każdy wiersz musi nieść swój stan sam.

    /wykresy

  • Ranking zszedł z serwisu 6 sierpnia, ale sama strona wciąż była napisana w czasie teraźniejszym — kto trafiał na nią ze starego linku albo z zakładki, czytał opis żywego projektu i nie dowiadywał się, że go wycofaliśmy. Nad tytułem stoi teraz zdanie, które mówi to wprost, wraz z odesłaniem do tego rejestru. Zniknie samo w dniu, w którym pojawi się pierwszy zmierzony wynik — trzyma je ten sam warunek, przez który ranking został zdjęty.

  • Dwanaście stron poszczególnych wskaźników przeniosło się z adresów /wykresy/<nazwa> na /dane/<nazwa> — /wykresy zostaje przeglądarką wykresów, a /dane to strony z danymi. Stare adresy działają dalej i na stałe: przekierowują na nowe (kod 308), więc żaden zapisany gdzieś link nie przestaje działać. Bez zmian zostają sama przeglądarka wykresów, strona z rejestrem źródeł danych oraz adresy udostępnionych wykresów — te zaczynające się od /wykresy/s/.

    /wykresy

  • Zapytanie do naszego API o wskaźnik, którego nie ma w katalogu — na przykład o stary identyfikator z nieaktualnego linku — dostawało odpowiedź „503, źródło niedostępne”, mimo że baza działała normalnie. Zgłaszaliśmy awarię u siebie tam, gdzie nic u nas nie było zepsute; teraz taka odpowiedź ma status 200 i po prostu wymienia nieznane identyfikatory, a „źródło niedostępne” zostaje wyłącznie dla prawdziwej awarii. W drugą stronę też: udostępniony wykres otwarty w czasie awarii nie twierdzi już, że brakujących wskaźników „nie ma” — mówi, że nie ma ich w kopii danych, którą akurat serwujemy.

    /api-docs

  • Serwis od początku ogranicza tworzenie linków do wykresów: 30 na godzinę z jednego adresu. Każdy serwer trzymał jednak ten licznik u siebie, a pracuje ich naraz kilka — więc przy równoległym ruchu limit był luźniejszy, niż wynikało z tej jednej liczby. Licznik przenieśliśmy do wspólnej bazy, tej samej dla wszystkich serwerów. Gdy baza nie odpowiada, limit nadal obowiązuje, ale wtedy tylko w obrębie jednego serwera — dokumentacja API opisuje ten wyjątek od początku.

    /api-docs

  • Strona „O nas” deklarowała: „Publikujemy przedziały ufności, nie tylko średnie”. W serwisie nie ma ani jednego przedziału ufności, który czytelnik mógłby zobaczyć — wszystkie, o jakich pisaliśmy, dotyczyły rankingu, a ranking zszedł ze strony bez jednego pomiaru. Zdanie usunęliśmy. Zostaje ta część zasady, którą serwis naprawdę stosuje: jeżeli dane nie pozwalają czegoś stwierdzić, piszemy to wprost, zamiast rysować wykres z jednego punktu albo podstawiać wartość zastępczą.

    /o-nas

  • Ze strony „O nas”, strony głównej, „Jak to działa”, strony statusu, dokumentacji API i stron błędu zniknęły zdania zapewniające o staranności — że każda liczba ma podane źródło, że nie podmieniamy po cichu starych danych, że nikt nie musi wierzyć wykresom na słowo. Serwis to robi, ale zdanie o tym niczego nie dowodzi. Na „O nas” i na stronach wskaźników stoi w zamian liczba porównań z publikacjami GUS, które zgodziły się co do cyfry — ta sama, którą serwis wylicza przy budowaniu, zamiast ją wpisywać. Strona „O nas” odsyła teraz do „Jak to działa”, gdzie te sprawdzenia są opisane.

    /o-nas

  • Zmiana sposobu liczenia potrafi wyglądać na wykresie jak realny skok wskaźnika. Strony wskaźników, których to dotyczy, mają teraz sekcję „Nieciągłości serii”: datę zmiany, opis tego, co się zmieniło, odnośnik do źródła oraz zdanie, od kiedy serię można porównywać samą ze sobą. Dziś zgłaszają je dwa wskaźniki — stopa bezrobocia, gdzie od grudnia 2020 roku podstawą jest nowszy spis, oraz inflacja CPI. Sekcja pochodzi z opisu wskaźnika, a nie z danych, więc widać ją także tam, gdzie wykres nie ma jeszcze odczytów.

    /wykresy

  • W banerze zgody przycisk „Akceptuję” był wypełniony kolorem, a „Odrzucam” miał tylko cienki obrys — na tyle jasny, że własny arkusz stylów serwisu opisuje tę barwę jako za słabą, żeby wyznaczać krawędź elementu sterującego. Obie odpowiedzi są równorzędne, ale wyglądały na przycisk główny i poboczny. Teraz oba są identyczne: ten sam kształt, kolor i wielkość, obok siebie.

    /privacy

  • Każda wartość pokazywana jako odczyt — w dymku nad wykresem, w tabeli, pod tytułem wykresu i na pobieranym obrazku — była skracana do jednego miejsca po przecinku. Wartość zapisana dokładniej wyświetlała się więc jako zaokrąglenie, czyli liczba, której nie podaje żadne źródło. Teraz odczyt pokazuje tyle miejsc, ile serwis naprawdę ma zapisane, najwyżej cztery. Podpisy na osi nadal są zaokrąglane, bo oś jest skalą, a nie odczytem — ale do własnego kroku osi, więc dwie sąsiednie linie siatki nie mogą już nosić tego samego podpisu. Pobierany plik CSV od początku zawierał pełne wartości i nie zmienił się.

    /wykresy

  • Kolory serii pochodziły z bazy danych i dwanaście wskaźników dzieliło między siebie cztery barwy — Inflacja CPI i Stopa referencyjna NBP miały na przykład ten sam czerwony. Legenda przypisywała nazwę do koloru, którego nie dało się odróżnić od sąsiedniego. Teraz każda seria ma barwę i wzór linii (ciągła, kreskowana, kropkowana, kreska-kropka), a dwie serie w tym samym kolorze zawsze różnią się wzorem — kolor nigdy nie jest jedyną cechą odróżniającą, także dla osób, które tych barw nie rozróżniają. W odpowiedzi API obok pola „color” jest teraz „dash”, opisane w dokumentacji.

    /wykresy

  • Baner zgody zajmował na telefonie sporą część ekranu: tekst i przyciski stały jeden pod drugim, a trzeci przycisk „Ustawienia” otwierał okno z tym samym wyborem, który baner już oferował. Na szerszym ekranie tekst i przyciski dzielą teraz jeden wiersz, a „Ustawienia” zniknęły. W zamian baner dostał odnośnik do polityki prywatności, którego wcześniej nie miał — dotąd jedyna droga do niej z banera wiodła przez to okno. Samo okno ustawień prywatności działa bez zmian i jest stale dostępne ze stopki.

    /privacy

  • Ranking modeli AI zniknął z serwisu, zanim powstał jakikolwiek wynik: nie ma go w menu, w stopce, na stronie głównej, w podpowiedziach strony 404 ani na obrazku udostępnianym w mediach społecznościowych, a tytuł serwisu w karcie przeglądarki już go nie wymienia. Obie strony rankingu wyłączyliśmy z indeksowania. Metodologia rankingu zostaje pod swoim adresem, choć nic już do niej nie prowadzi — opublikowaliśmy ją przed pierwszym pomiarem i ma stempel kontrolny, więc jej nie wycofujemy. Zapowiedź terminu pierwszych wyników została usunięta i nie podajemy nowej.

  • Część zdań na stronie prywatności opisywała rzeczy, których kod serwisu nie wykonuje. Wycofaliśmy dwie obietnice: anonimizację danych ankietowych po dwunastu miesiącach i usuwanie udostępnionych wykresów „na żądanie” jako automat — nie ma takiego mechanizmu, wpisy kasujemy ręcznie i strona tak to teraz opisuje. Statystyki odwiedzin nazywamy pseudonimowymi, a nie anonimowymi, bo PostHog zapisuje w przeglądarce losowy identyfikator spinający wizyty; słowo „anonimowe” zniknęło też z banera zgody i z okna ustawień prywatności. Dopisaliśmy Vercela jako hosting i rozdzieliliśmy to, czego nie zapisuje nasz kod, od tego, co i tak widzą hosting oraz PostHog.

    /privacy

  • Podtytuł strony głównej zapewniał „Zawsze z przedziałami ufności i podanym źródłem”, choć strona główna nie pokazywała ani jednej liczby. Zdanie usunęliśmy, a na jego miejsce weszła stopa referencyjna NBP: wartość, okres, którego dotyczy, i źródło, z odnośnikiem do jej wykresu. Gdy odczytu nie da się pobrać, nie pokazujemy nic — także żadnego miejsca zastępczego.

    /wykresy

  • Wpis „Strona wykresów otwiera się na wykresie” zapewniał, że strona otwiera się na wykresie z pięciu lat — w dniu jego publikacji tak nie było. Strona oceniała zakresy czasu, zanim odczyty do niej dotarły, uznawała wszystkie zakresy poza „Max” za puste i sama przestawiała się na „Max”, czyli na całą historię; ten sam mechanizm otwierał udostępniony wykres na innym zakresie niż zapisany w linku. Teraz strona wykresów otwiera się na pięciu latach, a udostępniony wykres na zakresie z linku. Tamtego wpisu nie usuwamy — opisuje stan, który obowiązuje dopiero od tej poprawki.

    /wykresy

  • Na stronach wskaźników bez odczytów wszystkie siedem zakresów czasu było wyłączonych, a wykres pod nimi radził „Zmień zakres czasu albo wybierz inny wskaźnik” — pierwszej połowy tej rady nie dało się wykonać. Rada zniknęła, a razem z nią pasek zakresów, wybór miesiąca początkowego i zdanie tłumaczące, dlaczego są wyłączone: nie pokazujemy sterowania, gdy nie ma czym sterować. Zostaje jedno zdanie o tym, że źródło odpowiedziało i nie ma wartości do narysowania, oraz przycisk „Wybierz inny wskaźnik”. Tę samą radę usunęliśmy z karty wskaźnika z jednym odczytem, gdzie szerszy zakres też niczego nie zmieniał.

    /wykresy

  • Spis „Opisy wskaźników” na stronie wykresów szedł w kolejności katalogu, a wskaźniki bez danych były w nim rozsiane i opisane słowami „brak odczytów”. Teraz te, które da się narysować, stoją na górze, a pozostałe w wydzielonej, wyciszonej grupie — nadal widoczne i nadal klikalne. Zamiast etykiety przy każdym stoi liczba odczytów, którą serwis naprawdę ma. Znad wykresu zniknął akapit opisujący, czym jest ta strona; zajmował większość pierwszego ekranu.

    /wykresy

  • W punkcie o jawnej metodologii strona „O nas” zapowiadała publikację kodu benchmarku, a słowo „GitHubie” było odnośnikiem do strony konta, nie do repozytorium — kliknięcie nie prowadziło do kodu benchmarku. Link usunęliśmy. Strona mówi teraz wprost, że kod nie jest jeszcze opublikowany i że link pojawi się w tym miejscu, gdy repozytorium zostanie otwarte.

    /o-nas

  • Sześć stron — metodologia rankingu, ranking, dokumentacja API, strona statusu oraz strony błędu 404 i awarii — a także baner zgody na statystyki prosiły w kodzie o węższą kolumnę tekstu, ale arkusz stylów tę prośbę unieważniał i wszystkie były tak szerokie jak najszersze strony serwisu. Przyczyna była jedna i została usunięta w jednym miejscu. W banerze zgody zmieniła się wyłącznie szerokość na szerokim ekranie — treść, przyciski, ich kolejność i ustawienia domyślne są bez zmian, a na telefonie baner wygląda tak samo jak wcześniej.

  • Na szerokim ekranie tekst strony „Jak to działa” rozciągał się na 976 pikseli, chociaż strona prosiła w kodzie o węższą kolumnę — dwie klasy szerokości znosiły się nawzajem i wygrywała szersza. Kolumna ma teraz 640 pikseli, czyli tyle, ile strona od początku ustawiała w kodzie. Zmieniliśmy przy tym odstępy: nie są już wszędzie jednakowe, największe stoją tam, gdzie zmienia się temat, a ostatnią sekcję oddziela cienka linia.

    /jak-to-dziala

  • Strona „Jak to działa” kończyła się sekcją „Zasady” — pięcioma punktami, z których cztery powtarzały zdania stojące wyżej na tej samej stronie. Sekcja została usunięta w całości. Jedyna rzecz, której nie było nigdzie indziej — że nowa metryka wchodzi do katalogu dopiero po zgodności z opublikowanymi danymi GUS lub NBP — stoi teraz w sekcji o weryfikacji danych. Z sekcji „Stos” zniknęło też zdanie powtarzające kontrakt trzech stanów.

    /jak-to-dziala

  • Strona kursu euro nie mówiła nigdzie w tekście, ile euro kosztuje — liczbę trzeba było odczytać z wykresu albo z tabeli pod nim. Teraz pod tytułem wykresu stoi ostatni odczyt razem z okresem, którego dotyczy, wyliczony z tych samych danych, które rysują linię. Przy porównaniu kilku wskaźników i przy wskaźniku bez odczytów nie pojawia się nic.

    /wykresy

  • Strona źródeł danych i dokumentacja API twierdziły, że baza danych serwisu jest obecnie niedostępna, a wykresy pokazują stan błędu. Zdanie zostało wpisane ręcznie podczas awarii 3 sierpnia i nie zniknęło po powrocie bazy — obie strony są statyczne, więc powtarzały je przy każdym wdrożeniu, podczas gdy /status podawał stan działający, a wykresy rysowały pełne serie. Usunęliśmy je ze strony źródeł, a w dokumentacji API zastąpiliśmy datowanym opisem nagrania z 3 sierpnia; bieżący stan podaje wyłącznie /status.

    /wykresy/zrodla

  • Dwa ustawienia na stronie wykresów kazały rysować linie przy osi opisanej inną jednostką. Po wyłączeniu przełącznika „Podwójna oś Y” wszystkie linie trafiały na oś podpisaną jednostką pierwszego wskaźnika, a przyciski L i R w ustawieniach zaawansowanych przenosiły wskaźnik na oś obcej jednostki — kurs walutowy można było wtedy odczytać jako procent, a stopę procentową jako złote. Teraz przy jednej osi dla różnych jednostek oś pokazuje same liczby, jednostkę każdej linii podajemy w legendzie, a nota przy wykresie mówi, które jednostki dzielą oś i jak je rozdzielić; przycisków L i R już nie ma, bo nie dało się ich ustawić tak, żeby nie kłamały, ale starsze linki do udostępnionych wykresów z takim ustawieniem nadal się otwierają. Poprawiliśmy też nazwę jednostki indeksowej, która w tej nocie wyświetlała się po angielsku.

    /wykresy

  • Obraz pobierany z wykresu (PNG) budował własny podpis i legendę z surowych nazw wskaźników, zamiast czytać to, co zostało narysowane. Dlatego gubił jednostki — zmiana, która tego samego dnia przeniosła jednostkę do legendy, nie dotarła do eksportu — a do tego wypisywał serie, których wykres odmówił narysowania, rysował klucz linii trendu, której na obrazku nie było, i pomijał notkę o danych kwartalnych. Skasowaliśmy tę drugą kopię opisu: obraz i jego legenda pochodzą teraz z tego samego źródła, z którego powstaje wykres.

    /wykresy

  • Katalog trzymał tę samą walutę pod dwiema nazwami — PLN w jednym miejscu, zł w drugim — a wykres grupował osie po tym surowym napisie. Kursy walut czyta się teraz jako 4,3 zł tam, gdzie wcześniej stało 4,32 PLN, a w pobieranym pliku CSV nagłówek kolumny mówi [zł]. Z tego samego pliku znika angielskie [index]: kolumny z indeksami są podpisane [indeks].

    /wykresy

  • Strony wskaźników publikowanych przez GUS jako indeks zapowiadały, że wykres pokazuje je jako zmianę procentową, czyli wartość indeksu minus sto. Żaden fragment serwisu tego nie przeliczał — wykres dostaje surową wartość indeksu, więc odczyt 104,7 znaczyłby 104,7, a nie plus 4,7 procent. Zdanie usunęliśmy, a strona tłumaczy teraz sam indeks (100 = brak zmiany). Nie zmieniło to wyglądu żadnego wykresu: w dniu tej poprawki te wskaźniki nie miały jeszcze ani jednego odczytu.

    /wykresy

  • Strona Analiz i kafelek na stronie głównej zapowiadały „Pierwszy tekst w drodze”, choć nie ma daty pierwszej publikacji ani niczego, co by ją wyznaczało. Teraz obie mówią wprost, że nie opublikowaliśmy jeszcze żadnego tekstu i nie mamy terminu pierwszej publikacji — kafelek pokazuje „Brak tekstów”. Strona Analiz kieruje przy tym do rankingu i wykresów po nazwie, zamiast sugerować, że jest tam już coś do czytania.

    /analizy

  • Strona „Jak to działa” podawała liczbę testów pilnujących serwisu i zapewniała, że to stan z chwili publikacji. Nikt tej liczby nie mierzył — była wpisywana ręcznie, więc strona pokazywała 1093, choć testów było już o kilkaset więcej. Zmieniło się też to, co podajemy: liczby testów nie da się rzetelnie policzyć przy budowaniu strony, więc strona liczy teraz pliki z testami i pokazuje wynik tego liczenia, przeliczany przy każdym wdrożeniu.

    /jak-to-dziala

  • W stopce każdej strony data była podpisana jako „stan systemu”, co na stronach z wykresami dawało się czytać jako aktualność danych. To zawsze była data wdrożenia serwisu i nic ponadto — podpis mówi teraz „wersja serwisu”. O aktualności danych nadal informuje wyłącznie strona /status i opis przy każdym wykresie; w tym, co serwis wie o danych, nic się nie zmieniło.

    /status

  • Na wąskim ekranie (320 pikseli) podpisy dat pod wykresem stykały się ze sobą i czytało się je jako 12maj 15lis 17maj. Wykres odmierzał je co drugi miesiąc, nie patrząc na to, ile miejsca naprawdę zostaje. Teraz mierzy szerokość podpisów i pokazuje ich mniej, za to każdy da się przeczytać.

    /wykresy

  • Dwie strony podawały, ile porównań z publikacjami GUS zgodziło się co do cyfry, a liczba była w nich wpisana ręcznie — obok tabeli, która powstaje z tego samego zapisu. Nic nie było błędne: 26 z 26 zgadzało się wtedy i zgadza się teraz. Od tej zmiany obie strony liczą to same przy budowaniu serwisu, więc gdyby kiedyś jedno porównanie nie wyszło, napiszą o tym bez naszego udziału.

    /jak-to-dziala

  • Wybór własnej daty początkowej opierał się na kalendarzu, nie na danych: sięgał dziesięć lat wstecz niezależnie od tego, co serwis ma, i proponował bieżący miesiąc, dla którego odczytu jeszcze nie ma. Teraz lista pokazuje wyłącznie miesiące, dla których wybrane wskaźniki mają odczyty — sięga 2010 roku tam, gdzie dane sięgają 2010 roku.

    /wykresy

  • W kilku miejscach serwisu jednostka wskaźników indeksowych wyświetlała się po angielsku jako „index” — w wyszukiwarce wskaźników, na karcie wskaźnika i w panelu osi. Teraz wszędzie jest „indeks”. Przy samych odczytach na wykresie i w tabeli jednostka znika: indeks jest bezwymiarowy, więc podajemy samą liczbę.

    /wykresy

  • Wykres stopy referencyjnej NBP nie miał żadnych danych: serwis prosił źródło o format, którego ono nie wydaje, a zakres pokrycia czytał z pola zamrożonego przez NBP w 2015 roku. Obie pomyłki poprawione — seria ma 199 miesięcznych odczytów, od stycznia 2010 do lipca 2026, bez luk.

    /wykresy

  • Strona wykresów nie zaznaczała na starcie żadnego wskaźnika, więc otwierała się bez wykresu, a wskaźniki bez danych stały w spisie nad tymi, które mają odczyty. Teraz otwiera się na narysowanym wykresie z pięciu lat, a wskaźniki z odczytami są na górze listy; te bez odczytów zostają widoczne i są wprost oznaczone.

    /wykresy

  • Na wąskim ekranie legenda z trzema lub większą liczbą serii łamała się do drugiego wiersza i była rysowana na opisach osi pionowej. Wykres rezerwuje teraz miejsce pod tyle wierszy, ile legenda naprawdę zajmuje, a przy dłuższych legendach przewija je zamiast rosnąć. Na szerokim ekranie nic się nie zmienia.

    /wykresy

  • Wykresy wymuszały zero na osi pionowej, więc kurs USD/PLN, który mieści się między 3,6 a 5,0 zł, rysował się na skali od zera i wyglądał na płaską linię. Oś dopasowuje się teraz do rysowanych wartości, a zero pojawia się tylko wtedy, gdy dane naprawdę do niego sięgają — stopa referencyjna, która spada do 0,1%, nadal je ma. Przy porównaniu dwóch serii linie siatki są wspólne dla obu osi albo nie ma ich wcale; wcześniej odpowiadały tylko lewej i mylnie sugerowały odczyt prawej.

    /wykresy

  • Strona pojedynczego wskaźnika zaczynała się od zastrzeżeń i tabeli źródła serii — w oknie 1440×900 wykresu nie było widać wcale. Wykres jest teraz nad tymi sekcjami, a przyciski, które na nim działają — pobieranie PNG i CSV, udostępnianie oraz „Zaawansowane” — trafiły pod niego. Nic nie zostało usunięte ani schowane.

    /wykresy

  • Krótkie zakresy czasu dawały pustą ramkę: dane są miesięczne, a okno 30 dni mieści najwyżej jeden odczyt — na 21 kombinacji zakresu i częstotliwości 11 nie mogło narysować linii. Takie zakresy są teraz wyłączone z podaną przyczyną, a wykres z mniej niż dwoma odczytami mówi „za mało odczytów” zamiast pokazywać puste pole.

    /wykresy

  • Informacja, że wskaźnik nie ma jeszcze żadnych odczytów, była w stronie dostępna wyłącznie dla czytników ekranu — na ekranie widniała sama nazwa. Etykieta „brak odczytów” jest teraz widoczna przy każdym takim wskaźniku: w liście rozwijanej, w wyszukiwarce ⌘K i w spisie opisów, wszędzie tym samym słowem. Wyszukiwarka trzyma też wskaźniki z odczytami na górze wyników, także po wpisaniu tekstu.

    /wykresy

  • Strony wykresów — spis, źródła danych, strony wskaźników i wykresy udostępnione linkiem — używały szerszego kontenera niż reszta serwisu i treść wystawała w lewo poza linię logo. Cała rodzina przeszła na wspólną siatkę serwisu.

    /wykresy

  • Każdy z 12 serwowanych wskaźników ma stałą stronę z opisem, zastrzeżeniami, dokładnym źródłem serii i wykresem; spis stron jest na stronie wykresów. Każda z nich dostała też własną kartę podglądu do udostępniania linków (Open Graph).

    /wykresy

  • Rejestr źródeł wskaźników jest dostępny także jako JSON pod /api/zrodla — te same identyfikatory serii GUS DBW i NBP, z tego samego mapowania, z którego korzysta kod pobierający dane, bez żadnych wartości liczbowych. Dokumentacja z przykładami pilnowanymi przez testy — w dokumentacji API.

    /api-docs

  • Dziennik zmian i artykuły mają kanały Atom (/zmiany/feed.xml i /analizy/feed.xml) — wpisy słowo w słowo te same co na stronach; kanał artykułów obejmuje wyłącznie opublikowane teksty, więc w dniu startu jest pusty. Dawny adres /feed.xml przekierowuje na kanał artykułów. Do tego /llms.txt: maszynowy opis serwisu dla agentów i modeli językowych.

    /api-docs

  • Cały serwis ma arkusz stylów do druku: nawigacja i baner zgody znikają z papieru, tabele powtarzają nagłówki na każdej stronie, adresy linków zewnętrznych są dodrukowywane, a stempel sumy kontrolnej metodologii drukuje się razem z treścią.

  • Strony Analizy i O nas przeszły na wspólną siatkę serwisu — treść zaczyna się w tym samym pionie co logo w nagłówku i stopka.

  • Sekcja o reprodukowalności twierdziła w czasie teraźniejszym, że każdy może sklonować repozytorium — kod benchmarku nie jest jeszcze publiczny, więc zdanie przeszło na czas przyszły, a deklaracja publikacji kodu zyskała termin „przed pierwszymi wynikami”, zgodny ze stroną O nas. Metoda pomiaru bez zmian; korektę odnotowują też suma kontrolna i historia wersji.

    /ranking/metodologia

  • Cały serwis przeszedł na krój IBM Plex z pełnym zestawem polskich znaków (dotąd przeglądarka pobierała je z kroju zastępczego), tryb ciemny sterowany ustawieniem systemu i gęstszą, monospace‑ową warstwę danych. Eksportowane wykresy PNG przejmują aktywny motyw.

  • Publiczne endpointy opisane pod /api-docs — parametry i kształty odpowiedzi wprost z kodu, przykłady zarejestrowane na żywej stronie, łącznie z jawnym stanem błędu bazy. Bez zmyślonych limitów i bez obietnic SLA.

    /api-docs

  • Publiczny, datowany rejestr zmian serwisu razem z zasadami errat. Wpis trafia tu wyłącznie wtedy, gdy opisuje zmianę widoczną w historii repozytorium — bez planów i bez zapowiedzi.

    /zmiany

  • Stan maszynerii danych pod /status i /api/status, odczytywany z tej samej ścieżki, która serwuje wykresy — nie z osobnej sondy. Obie strony opublikowane w trakcie awarii bazy — i mówią o niej wprost.

    /status

  • Nowa strona opisuje, jak serwis pilnuje liczb: audyt, który skasował 47 z 98 własnych wartości, ślepa weryfikacja 26/26 z publikacjami GUS i testy blokujące całe klasy błędów.

    /jak-to-dziala

  • Skrypt analityczny ładuje się wyłącznie po wyrażeniu zgody, a nie przy każdym wejściu; pierwsze ładowanie każdej podstrony jest przez to o około 55 KB (gzip) lżejsze.

    /privacy

  • Pochodzenie każdego wskaźnika z wykresów — zmienna, przekrój, sposób prezentacji i okno pokrycia — renderowane z tego samego mapowania, z którego korzysta kod pobierający dane.

    /wykresy/zrodla

  • Metodologia ma odtąd numer wersji, sumę SHA-256 treści i datę pierwszej publikacji odczytaną z historii commitów. Test przelicza sumę przy każdym uruchomieniu, więc zmiana treści bez aktualizacji stempla nie przechodzi testów.

    /ranking/metodologia

  • Weryfikacja ręcznie przepisanego archiwum wykazała, że 47 z 98 par (okres, wartość) nie zgadza się z publikacjami GUS: CPI błędne w 18 z 49 miesięcy, stopa bezrobocia w 29 z 49. Oba szeregi zostały usunięte tego samego dnia, a wykresy pokazują jawny stan błędu, dopóki nie wróci żywe źródło. Zasada: weryfikuj albo usuń.

    /jak-to-dziala

  • Zasady oceniania — między innymi bootstrapowe przedziały ufności i test McNemara — opublikowane, zanim powstał jakikolwiek wynik: plik z wynikami rankingu nie zawierał wtedy żadnego przebiegu.

    /ranking/metodologia

  • Serwis przeszedł na trzy filary: ranking modeli AI na polskich egzaminach, analizy danych i wykresy polskiej gospodarki. Nowa strona główna, nawigacja i metadane całego serwisu.

  • Kalkulator kopert został usunięty, a przygotowywany kierunek GPW Intelligence — zamknięty. Jego dokumentacja i szkielet backendu pozostają w repozytorium pod tagiem archive/gpw-pivot-2026-03.