• Joined on 2026-03-17
marcel commented on pull request marcel/familienarchiv#333 2026-04-26 10:48:22 +02:00
feat(persons): surface personType + title in forms and detail card

🏛️ Markus Keller — Application Architect

Verdict: Approved

Layer boundaries are maintained throughout. No architectural violations.

What's right

  • Controller → Service →…
marcel commented on pull request marcel/familienarchiv#333 2026-04-26 10:48:13 +02:00
feat(persons): surface personType + title in forms and detail card

👨‍💻 Felix Brandt — Senior Fullstack Developer

Verdict: Approved

The implementation is clean and the key structural concerns from the previous review are fully resolved.

What's…

marcel commented on pull request marcel/familienarchiv#333 2026-04-26 10:43:28 +02:00
feat(persons): surface personType + title in forms and detail card

Review concerns addressed

All open reviewer concerns from the second round have been resolved in 5 commits.


Felix/Sara Blocker #1 — Keyboard navigation doesn't update form…

marcel pushed to feat/issue-218-person-title-type-fields at marcel/familienarchiv 2026-04-26 10:42:53 +02:00
f5eb14a76d test(persons): assert error code in createPerson_returns400_whenPersonTypeIsSkip
00af97653d refactor(persons): remove what-comment from PersonCard title block
f9a982db43 fix(persons): localize validation error messages via Paraglide i18n
8e1733abbf refactor(persons): centralise PersonType, PERSON_TYPES and normalizePersonType in person-validation
842ab28f59 fix(persons): keyboard navigation now updates PersonTypeSelector reactive state
Compare 5 commits »
marcel commented on issue marcel/familienarchiv#292 2026-04-26 10:29:10 +02:00
As a user I want route-specific skeleton loaders so I see the page layout while data is still being fetched

🗳️ Decision Queue — Action Required

1 decision needs your input before implementation starts.

UI / Loading Experience

  • Shimmer animation strategy for Skeleton.svelte — Two…
marcel commented on issue marcel/familienarchiv#292 2026-04-26 10:28:55 +02:00
As a user I want route-specific skeleton loaders so I see the page layout while data is still being fetched

🛠️ Tobias Wendt — DevOps & Platform Engineer

Observations

  • This is a pure frontend feature. No Docker Compose changes, no backend changes, no new services, no infrastructure additions.…
marcel commented on issue marcel/familienarchiv#292 2026-04-26 10:28:43 +02:00
As a user I want route-specific skeleton loaders so I see the page layout while data is still being fetched

🎨 Leonie Voss — UX Designer & Accessibility Strategist

Observations

  • prefers-reduced-motion is missing from the spec — this is Critical: The existing EnrichmentBlock.svelte
marcel commented on issue marcel/familienarchiv#292 2026-04-26 10:28:23 +02:00
As a user I want route-specific skeleton loaders so I see the page layout while data is still being fetched

🧪 Sara Holt — QA Engineer

Observations

  • CLS ≤ 0.1 is an AC without a test plan: The Elicit comment specifies CLS ≤ 0.1 (Core Web Vitals "Good") as a measurable threshold. This is…
marcel commented on issue marcel/familienarchiv#292 2026-04-26 10:28:03 +02:00
As a user I want route-specific skeleton loaders so I see the page layout while data is still being fetched

🔒 Nora Steiner — Application Security Engineer

Observations

  • This is a pure frontend display feature: static decorative HTML, no user input, no API calls, no server-side changes.…
marcel commented on issue marcel/familienarchiv#292 2026-04-26 10:27:55 +02:00
As a user I want route-specific skeleton loaders so I see the page layout while data is still being fetched

🏗️ Markus Keller — Application Architect

Observations

  • +layout.svelte becomes a skeleton router: The plan adds a chain of {#if navigating.to?.route?.id === '...'} branches in…
marcel commented on issue marcel/familienarchiv#292 2026-04-26 10:27:38 +02:00
As a user I want route-specific skeleton loaders so I see the page layout while data is still being fetched

👨‍💻 Felix Brandt — Senior Fullstack Developer

Observations

  • Import API drift — use $app/state, not $app/stores: documents/+page.svelte:3 and aktivitaeten/+page.svelte
marcel commented on issue marcel/familienarchiv#292 2026-04-26 10:23:01 +02:00
As a user I want route-specific skeleton loaders so I see the page layout while data is still being fetched

Implementation Plan — Skeleton Loaders

Approach Decision: navigating store (Option B)

Use navigating.to?.route?.id in +layout.svelte to swap the page slot for the destination…

marcel commented on issue marcel/familienarchiv#292 2026-04-26 10:07:02 +02:00
As a user I want route-specific skeleton loaders so I see the page layout while data is still being fetched

📋 Elicit — Requirements Engineer

Requirements review discussion — recording agreed decisions and updated scope before implementation.


Resolved items

  • Success criterion —…
marcel pushed to feat/issue-218-person-title-type-fields at marcel/familienarchiv 2026-04-26 09:57:17 +02:00
0c47c22185 test(persons): extract validatePersonFields and cover validation branches
d97cd06f70 refactor(persons): export normalizePersonType from edit server module
b41405cb4b fix(persons): trim title server-side and add SKIP controller test
c9e9300216 fix(persons): use semantic color tokens in PersonTypeSelector for dark mode
92b082ec62 feat(persons): show title in small-caps above display name in PersonCard
Compare 8 commits »
marcel pushed to main at marcel/familienarchiv 2026-04-26 09:57:02 +02:00
d45739cb76 fix(search): use to_tsquery('simple') for prefix transform to avoid German stop word collision
marcel commented on pull request marcel/familienarchiv#333 2026-04-26 09:46:57 +02:00
feat(persons): surface personType + title in forms and detail card

📋 Elicit — Requirements Engineer

Verdict: ⚠️ Approved with concerns

The implementation covers the core functional requirements for issue #218. One requirements gap that creates a…

marcel commented on pull request marcel/familienarchiv#333 2026-04-26 09:46:41 +02:00
feat(persons): surface personType + title in forms and detail card

⚙️ Tobias Wendt — DevOps & Platform Engineer

Verdict: Approved

No infrastructure-related changes in this PR. LGTM from a platform perspective.

What I checked

  • **No new Flyway…
marcel commented on pull request marcel/familienarchiv#333 2026-04-26 09:46:35 +02:00
feat(persons): surface personType + title in forms and detail card

🎨 Leonie Voss — UX Designer & Accessibility Strategist

Verdict: ⚠️ Approved with concerns

The PersonTypeSelector is well-built from a UI/UX foundation: ARIA roles, keyboard navigation,…

marcel commented on pull request marcel/familienarchiv#333 2026-04-26 09:46:18 +02:00
feat(persons): surface personType + title in forms and detail card

🧪 Sara Holt — QA Engineer

Verdict: ⚠️ Approved with concerns

Test coverage is genuinely good here — multiple layers covered, factory patterns used correctly, test names read as…

marcel commented on pull request marcel/familienarchiv#333 2026-04-26 09:45:59 +02:00
feat(persons): surface personType + title in forms and detail card

🏛️ Markus Keller — Application Architect

Verdict: ⚠️ Approved with concerns

No structural blockers

Layer boundaries are correct throughout: controller validates → service…