The allowed authority kinds live in two places with no compile-time link:
SQL: CHECK (kind IN ('person', 'organisation', 'place')) in crates/db/migrations/0002_vocabularies_authorities.sql
Rust: AuthorityKind (as_str/from_db) in crates/domain/src/authority.rs
They agree today, but adding a variant requires editing both by hand. Same pattern applies to AuditAction vs the action CHECK in 0001. Low priority; options: a cross-referencing comment in each location, or generate the CHECK list from the enum. Revisit if the variant sets grow.
Source: Plan 2 (vocab/authorities) final review — non-blocking.
The allowed authority kinds live in two places with no compile-time link:
- SQL: `CHECK (kind IN ('person', 'organisation', 'place'))` in `crates/db/migrations/0002_vocabularies_authorities.sql`
- Rust: `AuthorityKind` (`as_str`/`from_db`) in `crates/domain/src/authority.rs`
They agree today, but adding a variant requires editing both by hand. Same pattern applies to `AuditAction` vs the `action` CHECK in 0001. Low priority; options: a cross-referencing comment in each location, or generate the CHECK list from the enum. Revisit if the variant sets grow.
_Source: Plan 2 (vocab/authorities) final review — non-blocking._
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The allowed authority kinds live in two places with no compile-time link:
CHECK (kind IN ('person', 'organisation', 'place'))incrates/db/migrations/0002_vocabularies_authorities.sqlAuthorityKind(as_str/from_db) incrates/domain/src/authority.rsThey agree today, but adding a variant requires editing both by hand. Same pattern applies to
AuditActionvs theactionCHECK in 0001. Low priority; options: a cross-referencing comment in each location, or generate the CHECK list from the enum. Revisit if the variant sets grow.Source: Plan 2 (vocab/authorities) final review — non-blocking.