mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-08 19:56:53 +00:00
Moodle#2 of run 39186571513 failed the health check 26 times with academy.main.infinito.test: Unable to reach https://academy.main.infinito.test/ (Navigation timeout of 20000 ms exceeded) while every other vhost on the stack printed 'No CSP or network blocks detected' and nginx answered 200 or 303 to every request. Nothing was blocked; the page is slow. Moodle #0, #1 and #3 pass, and only the arm64 swarm row fails. The role already claimed to own that budget. HEALTH_CSP_TIMEOUT_MS sat in defaults with a comment calling it the clearnet navigation budget, but script.py ran the clearnet batch as (clearnet_domains, '', 0), so clearnet silently inherited the checker's own 20000 and the knob did nothing. Only the onion batch ever received a real --timeout. --clearnet-timeout closes that, defaulting to 0 so a call without the flag behaves exactly as before. The value lives in its own variable rather than raising the shared base, which would have multiplied through HEALTH_CSP_ONION_TIMEOUT_MS and taken the public onion budget from 100s to 225s, toward the 3600s TimeoutStartSec cap. Onion budgets are unchanged. 45000 is derived, not picked: the slowest measured navigation on that target reached domcontentloaded after 26s, with single requests stalling up to 5.8s, so 26 + 3*5.8 = 43.4s, rounded. That is 1.7x the worst navigation observed there. TimeoutStartSec is deliberately NOT derived from the new budget. The per-domain rate sizes the whole unit and nearly every domain answers in well under a second; using the worst case as the scheduling rate would have doubled the clearnet term and pushed large stacks toward the cap for no measured reason. Scheduling is unchanged. Known cost: above 20s the check no longer notices that an app got slow. That coverage was incidental, not declared, and a page-load regression needs its own assertion rather than a CSP probe. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>