Every server-rendered /auth form shipped a bare <button>. Browsers default
one inside a form to submit, so humans never noticed — but the conventional
automation selector matched nothing, and the e2e suite carried a "form
button" workaround at two call sites to compensate.
All five buttons (sign in, sign up, approve, send reset link, set password)
now carry an explicit type="submit", and both e2e call sites use the
standard selector. Every spec's login() routes through helpers.ts, so a
regression fails the whole run at the first sign-in.
Markup only: authlocal.go styles button by element, not by [type], so the
rendered pages are byte-identical before and after.
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>