611f736088
- Add password_reset_required column (migration 004) + repository support - auth.Service.ChangePassword verifies current, hashes new, clears flag, emits PasswordChange audit events for success and failure - Bootstrap: when no ORCHESTRAD_BOOTSTRAP_PASSWORD[_FILE] is set, seed admin/admin with password_reset_required=true and log a one-time warn banner; env/file-supplied passwords keep the flag clear - Expose passwordResetRequired in UserInfo / /auth/me / login response - POST /api/v1/auth/change-password behind the authenticated group - Frontend: /change-password page + ChangePasswordForm, AuthLogin and RequireAuth bounce any other route to it while the flag is set - Docs: DesignSpecification 8.6/8.8 and Template 7.6/7.7 rewritten, Trusted Proxy renumbered to 7.8 in the template, acceptance items updated to match the new default-credential behavior