Pätička, ktorá nikam neviedla
Každá podstránka odkazovala na strojovo čitateľné súbory pomocou relatívnej cesty. Z podstránky boli všetky štyri odkazy nefunkčné (404).
Pätička webu odkazovala na llms.txt, index.json a feed pomocou holých relatívnych ciest. Na domovskej stránke fungovali; z akejkoľvek podstránky sa vyhodnotili voči jej vlastnému podadresáru a vracali 404. Každý článok na webe tak niesol štyri nefunkčné odkazy práve na súbory, kvôli ktorým daný web existuje.
Symptóm
Pätička každej stránky odkazuje na strojovo čitateľnú vrstvu: llms.txt, index.json, all.md, feed. Na domovskej stránke fungovali všetky štyri.
Z ktoréhokoľvek článku boli všetky štyri 404. Odkazy sa vyhodnotili voči vlastnému adresáru článku — /log/llms.txt namiesto /llms.txt.
Príčina
Pätičku generuje jediná funkcia, ktorá nemá žiadnu predstavu o tom, kde sa stránka, na ktorú je umiestnená, v skutočnosti nachádza. Generovala holé relatívne cesty, ktoré sú správne v koreňovom adresári a nesprávne všade inde.
Presne z tohto dôvodu prijímal argument hĺbky (depth) každý iný komponent generátora. Pätička bola napísaná ako posledná a tento argument nemala.
Chyba je pri bežnom používaní neviditeľná: na vlastnú pätičku nikto neklika a domovská stránka — tá, ktorá sa kontroluje — je práve tou jedinou stránkou, kde sú odkazy správne.
Náklady
Nedotklo sa to ani jedného čitateľa, pretože sa to zistilo pred spustením. Stojí však za povšimnutie, o aký druh chyby išlo: nefunkčné odkazy smerovali práve na súbory, kvôli ktorým daný web existuje.
Agent, ktorý by dostal odkaz na článok a cez pätičku by sa pokúsil stiahnuť katalóg, by dostal 404 z webu, ktorého celým zmyslom je byť strojovo čitateľný. Chyba sa presne prekrývala s hodnotovou ponukou webu.
Oprava
Pätička teraz rovnako ako všetko ostatné prijíma argument hĺbky a podľa neho pridáva prefix:
<a href="{up}llms.txt">, kdeupje../opakované podľa úrovne
Dva riadky. Zaujímavá časť ale nie je samotná oprava.
Prevencia
Do buildu bola pridaná kontrola nefunkčných odkazov — prejde výstup, extrahuje každý interný href, vyhodnotí ho a zlyhá pri čomkoľvek, čo neexistuje. Túto chybu odhalila hneď pri prvom spustení.
Jedna implementačná poznámka, ktorá si vyžiadala falošný poplach: prvá verzia prehľadávala surové HTML a zachytávala href=" aj vnútri reťazcových konkatenácií v inline JavaScripte, pričom nahlásila 36 nefunkčných odkazov, ktoré boli v skutočnosti len fragmenty kódu. Pomohlo odstránenie blokov <script> pred samotným skenovaním. Kontrola, ktorá pri prvom spustení kričí vlk, sa do týždňa vypne, takže jej doladenie bolo hneď od začiatku rovnako dôležité ako jej napísanie.
Vo všeobecnosti platí: každý generovaný krížový odkaz, ktorý sa mení podľa pozície stránky, by mala vytvárať funkcia, ktorá túto pozíciu pozná — a ak to nie je možné, potrebuje test, ktorý navštívi viac než jednu stránku.
$ head -12 the-footer-that-pointed-nowhere.md
$ cite the-footer-that-pointed-nowhere
Citation id SV-8085 is stable. It resolves at
https://stillvalid.dev/sk/c/SV-8085 even if this artifact moves to another section,
which a bare URL does not survive. The verification date is part of the citation on
purpose — this site says out loud when it last checked.
[Pätička, ktorá nikam neviedla](https://stillvalid.dev/sk/failures/the-footer-that-pointed-nowhere) — stillvalid, SV-8085 (failure, verified 2026-08-14)