3d41758be0
gates / gates (push) Successful in 24s
Caught by the live proof on 9202, not by a test. The v0.262.0 guard fired exactly right and answered HTTP 500: router.go maps remove errors by grepping the error TEXT for "not deployed" / "still running" / "not found" / "protected", and the busy sentence contains none of them. A 500 tells the UI something broke; this is "wait a moment". Now a typed *stacks.RemoveBusyError matched with errors.As and answered 409, carrying both the Hungarian bytes and the bundle key. Its test asserts the sentence contains none of the words the text mapping greps for, so the type is load-bearing rather than decorative. Red-proof seen failing. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS