All checks were successful
CI / Unit & Component Tests (pull_request) Successful in 5m35s
CI / OCR Service Tests (pull_request) Successful in 25s
CI / Backend Unit Tests (pull_request) Successful in 6m14s
CI / fail2ban Regex (pull_request) Successful in 53s
CI / Semgrep Security Scan (pull_request) Successful in 24s
CI / Compose Bucket Idempotency (pull_request) Successful in 1m5s
SDD Gate / RTM Check (pull_request) Successful in 16s
SDD Gate / Contract Validate (pull_request) Successful in 28s
SDD Gate / Constitution Impact (pull_request) Successful in 17s
The EventForm onsubmit guard called e.preventDefault() on a blank title, but use:enhance ignores defaultPrevented (forms.js only bails on cancel()), so a blank-title Save still fired a network POST. In a component unit test the resulting update() -> applyAction() dereferenced an undefined root ($set on undefined), surfacing as an unhandled rejection. Move the guard into the enhance submit phase and call cancel() so the POST is actually stopped; the server still owns the authoritative fail(400). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>