Block a user
Keep
authority.kind CHECK in sync with the AuthorityKind enum
Foundation follow-up cleanups
Frontend: distinguish "search unavailable" (503) from a generic search error
Return 404 (not 500) when adding a term to a non-existent vocabulary
Log server errors on the public API 500 paths (wire tracing in the api crate)
Remove unused
thiserror dependency from db crate (or land db::Error)
Closing as obsolete: thiserror is no longer unused in the db crate. crates/db/src/catalog.rs derives thiserror::Error for FieldError and VisibilityError (added during the admin-CRUD…
Remove unused
thiserror dependency from db crate (or land db::Error)
Test gaps: field-definition 403 (backend) + authority-kind reveal (frontend)
Backend + frontend: edit/delete field definitions
Search enhancements: faceting, relevance tuning, and a public search endpoint
Frontend: global ⌘K command-palette / omnibox search
Frontend: distinguish "search unavailable" (503) from a generic search error
Frontend M4 polish: ARIA tab semantics for authority kind tabs + remove unused i18n keys
Frontend: terms & authorities lists silently swallow load failures (no loading/error state)
Backend: edit/delete endpoints for vocabularies, terms, and authorities
Type enum-valued fields (visibility, data_type, authority kind) as enums in OpenAPI
set_object_fields 422 should carry field-level detail (so the UI can highlight the offending field)