{"id":"c1197","filename":"c1197_puz_genesis_ulaz.dok.json","weise3_id":"","tip":"implementacija","naziv":"Puž™ Genesis Ulaz — Fibonacci anti-brute-force","kreator":"Ivan Brtan (spec) + CC (implementacija)","datum":"2026-05-30","snippet":"","status":"","prev_weise3":"","bunker_l":"#00d4ff","full":{"tip":"implementacija","naziv":"Puž™ Genesis Ulaz — Fibonacci anti-brute-force","verzija":"1.0","datum":"2026-05-30","autor":"Ivan Brtan (spec) + CC (implementacija)","lineage":"c1195 → c1196 → c1197","sto_je_napravljeno":{"fajl":"/var/www/genesis/eho/puz.py","klasa":"Puz","metode":["challenge()","fail()","success()","reset()","status()","Puz.self_challenge()"]},"karakteristike":{"fibonacci_sekvenca":[1,1,2,3,5,8,13,21,34,55,89,144],"dvospolac":"self_challenge() verificira modul sam od sebe — 7 provjera","sporost":"svaki fail inkrement → locked_until = now + Fib(attempts)","sloboda_za_vlasnika":"success() resetira na 0 — korisnik koji zna ključ nikad ne čeka","zatvor_za_lopova":"8s → 13s → 21s → 34s... raste Fibonacci-ski","storage":"Redis db=4, TTL 86400s, fallback in-memory"},"self_challenge_rezultat":{"ok":true,"checks":{"fibonacci_sequence":true,"pi_s_intact":true,"challenge_first_ok":true,"fail_increments":true,"locked_after_fails":true,"success_resets":true,"dual_pi_deterministic":true}},"takodjer_napravljeno":{"media_tasks":"cleanup_video_chunks — briše istekle VideoArhivaEntry + fajlove s diska","archive_tasks":"cleanup_scan_tokens — briše istekle ArchiveScanToken","commit_fenix_v4":"1ae27e2","commit_genesis":"4db38b58"},"weise3_id":"","bunker_seal_id":"","created_at":"2026-05-30T00:00:00Z"}}