docker-build-push / build-push (push) Successful in 3s
Every row blocked before the block_cidr column existed had nothing to report, so the endpoint fell back to the signup IP's /32 — the address that signed up rather than the range that was blocked, which is the opposite of what the list is for. The range is recoverable from the bot's own ipapi range cache, which stores the CIDR each classification was cached under — the same value that was handed to register_ip_block. Run once on admin.yttrx.com: of 154 blocked rows, 65 gained their real range, 79 genuinely were single-address blocks (no asn.route from ipapi.is), and 10 with no cache entry stay as a /32, since under-reporting beats claiming a range is blocked when it isn't. Rows classified before 2026-07-15 are skipped — range-blocking didn't exist yet, so only the /32 was ever registered. Live output went from 150 entries (all /32) to 145, of which 59 are real networks.