v0.262.1: the busy refusal is a CONFLICT, not a server error (R-633)
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
This commit is contained in:
2026-09-22 21:48:01 +02:00
parent b793638484
commit 3d41758be0
4 changed files with 75 additions and 3 deletions
+15
View File
@@ -1,3 +1,18 @@
## v0.262.1 — the busy refusal is a CONFLICT, not a server error (2026-09-22, R-633)
**MinAgent: 0.131.0** (unchanged). No new strings.
**Caught by the live proof, not by a test.** v0.262.0's remove-busy guard fired exactly right on
9202 — `RemoveStack privatebin REFUSED (busy): a backup or restore is running (single-flight held)`,
with the household's own sentence — and answered **HTTP 500**. The status mapping in
`router.go` greps the error TEXT for `not deployed` / `still running` / `not found` / `protected`,
and the busy sentence contains none of them, so it fell through to the default.
**A 500 tells the UI something broke. This is "wait a moment".** The refusal is now a typed
`*stacks.RemoveBusyError` the handler recognises with `errors.As`, 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.
## v0.262.0 — six defects two drill nights found in the update, remove and hold paths (2026-09-22, R-630/R-634/R-633/R-626/R-621/R-614)
**MinAgent: 0.131.0** (unchanged). **Two** new sentences, each BORN AS A KEY in both bundles and