Build operator project and role management
Build the first complete internal UI for managing application projects and their roles. Scope: - Add Projects to operator navigation with native, localized, server-rendered list/create/detail/edit flows. - Create projects with an immutable slug and editable display name; allow safe activation/deactivation with explicit audit reasons and optimistic concurrency. - Show assignment counts and manage project roles on the project detail page. Role keys are immutable; role names and active state are editable. - Protect the configured Identity Admin project and its administrator role from changes that would remove current admin access. - Reuse existing BrowserState, transaction authorization, Maud components, localization, history/outbox capture, and organization pagination/conflict patterns. - Keep all essential flows usable without JavaScript in light and dark themes. Non-goals: - Project deletion, slug/key renaming, protocol/OIDC client configuration, customer-facing administration, granular operator permissions, and assignment management outside the existing user flow. Acceptance criteria: - Authorized operators can list, create, inspect, rename, activate/deactivate projects, and create/update project roles. - Invalid, stale, cross-realm, anonymous, revoked, or CSRF-invalid requests fail safely without partial writes. - State changes write curated history/outbox records atomically and preserve the configured admin access boundary. - Focused Rust/PostgreSQL and browser coverage validates localization, no-JavaScript forms, conflicts, authorization, escaping, and responsive layout. - Documentation and the standard project validation gates are updated and pass. Verified outcome: - Added localized Projects navigation, paginated list, create/detail/edit flows, project-role create/edit flows, recent audited history, and assignment/role counts. - Added serialized security-definer project mutations, optimistic concurrency, immutable slug/key handling, admin-project/administrator-role safeguards, and revocation support while projects or roles are inactive. - Added focused PostgreSQL/HTTP tests and expanded the real-browser operator journey across light/dark themes and JavaScript on/off. Formatting, strict Clippy, the full synthetic test gate, asset checks/build, and browser gate pass. Light and dark project screenshots were inspected. Final patch-scoped static review found no actionable issues. - Published as commit 95d5624 on feature/manage-projects. Pull request #1: https://git.matda.me/mathias234/identity-platform/pulls/1
Checklist
3 of 3 complete- Implement project list, create, detail, edit, activation, and history boundaries
- Implement project-role creation and updates with admin-project safeguards
- Add localized navigation, documentation, integration tests, and browser coverage