634e5119e1
After PR4 every protected request demands wid. Three JWT-issue paths must encode it; T4.8/T4.9 covered /initialize and /register, and this commit closes the remaining two: - login_local calls _ensure_default_workspace (idempotent — returns the existing default_workspace_id when set) so users who pre-date PR4 are backfilled at login time, and signs the new cookie with wid + role='owner'. - change_password does the same, ensuring a password change does not strip the workspace claim and lock the user out on their next request. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>