docs(legibility): write docs/GLOSSARY.md disambiguating overloaded terms (DOC-3) #434
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Part of #394 (Epic 2 — Documentation). Rubric check: C3.3 (Critical).
Problem
The codebase contains terms whose meanings are non-obvious or domain-specific. Without a glossary, Anja's first wrong assumption is that
PersonandAppUserare the same entity — a mental-model failure that propagates through every later question (e.g. "can a Person log in?" — no, only AppUsers can). Per Markus and Nora, several other terms (Geschichte,TranscriptionBlock,OcrJobfamily,Permissionenum values) cause similar confusion.Scope
docs/GLOSSARY.md.path/file.java:42):Person≠AppUser— historical letter actor (no login, possibly deceased) vs. application user account. This is the most-confused distinction.Geschichte— rich-text family story tied to one or more documents/persons; not the generic German word for "history."TranscriptionBlockvs.DocumentVersion— positional OCR output (one block per region) vs. file revision (a different concept entirely).OcrJobvs.OcrBatchServicevs.OcrAsyncRunner— the three "OCR" classes serve different roles; documenting them prevents misuse.SenderModel— per-person OCR fine-tune profile.Permissionenum values — what each grants vs. excludes:READ_ALL— read all documents (whether the user can read this domain at all).WRITE_ALL— modify all documents.ADMIN— global admin (highest).ADMIN_USER— manage users + groups (subset of ADMIN scope).ADMIN_TAG— manage tags only.ADMIN_PERMISSION— manage roles/permissions only.Conversation— Tier-2 view layer over Document sender/receiver; no entity, no table (per Boundary decisions D-FE-3 / Canonical Domain Set).Activity— Tier-2 view layer over Audit + Notification + Document events; no entity, no table.Tagvs.Label— UI labels in German (Etikett) vs. data-layer entity (Tag).PLACEHOLDER → UPLOADED → TRANSCRIBED → REVIEWED → ARCHIVED(each state defined; what triggers the transition).README.md(DOC-1) anddocs/ARCHITECTURE.md(DOC-2).References
backend/src/main/java/org/raddatz/familienarchiv/person/Person.java,user/AppUser.javabackend/.../document/Document.java,document/DocumentStatus.javabackend/.../document/transcription/TranscriptionBlock.javabackend/.../security/Permission.javaAcceptance criteria
docs/GLOSSARY.mdexists.Conversationmap to in the database?" → No table; it's a view layer.README.mdanddocs/ARCHITECTURE.md.Definition of Done
GLOSSARY.md is on
mainwith all 10 entries. Rubric C3.3 PASS.marcel referenced this issue2026-05-05 21:10:58 +02:00
Duplicate of #397. I created this in error before noticing #397 already existed. #397 carries the persona reviews and per-child Decision Queue; closing this in favor of the existing issue.