Commit Graph

19 Commits

Author SHA1 Message Date
logaritmisk 1a91b8a242 chore: cross-ref enum/CHECK constraints (#9); drop dead clone + harden smoke test (#4)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-04 17:21:33 +02:00
logaritmisk bea9b6b39a harden(db): case-insensitive email unique index + dup-email test; list_users pagination TODO; from_db note 2026-06-02 14:42:04 +02:00
logaritmisk 9597a42eeb fix(domain): make Editor capability policy fail-closed (exhaustive match) 2026-06-02 14:32:13 +02:00
logaritmisk 74b2cf65ed feat(domain): user identity (UserId, Email), Role/Capability policy
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 14:29:04 +02:00
logaritmisk b948cae269 refactor(db): share update path so set_visibility avoids a redundant fetch; tie public-visibility const to the enum; test internal exclusion
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 13:35:36 +02:00
logaritmisk 5e2ebbc8d9 test(domain): assert IllegalTransition Display message 2026-06-02 13:14:37 +02:00
logaritmisk 59400062ae feat(domain): stepwise Visibility state machine (transition_to + IllegalTransition)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 13:11:01 +02:00
logaritmisk 2aaf98794f feat(db): add object.fields jsonb column, read it into CatalogueObject
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 10:54:49 +02:00
logaritmisk 6e27288f43 fix(domain): make FieldType::from_parts a strict inverse; reject stray bindings 2026-06-02 10:15:07 +02:00
logaritmisk 2242ff5ef1 feat(domain): add field definition types (FieldType, FieldDefinition)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 10:11:28 +02:00
logaritmisk bf332ac0ae test(domain): pin Visibility serde output to as_str 2026-06-02 09:16:53 +02:00
logaritmisk 266f914b88 feat(domain): add catalogue object types (Visibility, ObjectInput, CatalogueObject) 2026-06-02 09:13:54 +02:00
logaritmisk d5ed2a261f feat(domain): restore must_use message; test TermRef accessors
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 08:42:14 +02:00
logaritmisk 8cf737d8a9 feat(domain): id macro + vocabulary/authority/label value types 2026-06-02 08:38:39 +02:00
logaritmisk 4c6f77b999 test(domain): pin audit serde contracts; loosen time version; note null caveat
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 07:44:21 +02:00
logaritmisk 0447284d43 feat(domain): add audit value types
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 07:40:02 +02:00
logaritmisk b9b99c0332 refactor(domain): delegate OrgId Display, rename to_uuid, mark new must_use 2026-06-02 00:44:49 +02:00
logaritmisk 8ae9de12c0 feat(domain): add OrgId newtype
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 00:41:32 +02:00
logaritmisk b97c950f77 chore: replace placeholder package with role-named workspace 2026-06-02 00:38:53 +02:00