• Joined on 2026-03-17
marcel pushed to feat/person-mentions-issue-362-backend at marcel/familienarchiv 2026-04-28 22:24:20 +02:00
8ca3f37817 fix(test): update optimistic-lock mock to use JOIN FETCH query method
1dc812bd47 test(transcription): raise latency floor to 5s to prevent false CI failures
7a647b5633 refactor(test): rename test to reflect actual invariant (displayName fields unchanged)
5f76d4a1ac test(person): controller returns 409 PERSON_RENAME_CONFLICT on optimistic-lock
c7958681f5 fix(transcription): eliminate N+1 lazy load in propagation listener
Compare 6 commits »
marcel commented on pull request marcel/familienarchiv#366 2026-04-28 21:53:52 +02:00
feat(transcription): person @mention sidecar + rename propagation (PR-A backend, #362)

📋 Elicit — Requirements Engineer & Business Analyst

Verdict: ⚠️ Approved with concerns

Blockers

Orphaned sidecar entries — no lifecycle tracking

The migration SQL explicitly…

marcel commented on pull request marcel/familienarchiv#366 2026-04-28 21:53:42 +02:00
feat(transcription): person @mention sidecar + rename propagation (PR-A backend, #362)

🎨 Leonie Voss — UI/UX Design Lead & Accessibility Strategist

Verdict: Approved

This is correctly scoped as a backend-only PR. UI components (typeahead editor, hover card, read-mode…

marcel commented on pull request marcel/familienarchiv#366 2026-04-28 21:53:18 +02:00
feat(transcription): person @mention sidecar + rename propagation (PR-A backend, #362)

🛠️ Tobias Wendt — DevOps & Platform Engineer

Verdict: Approved

Nothing to block here. This is a clean backend feature with no infrastructure changes needed.

LGTM

**Migration…

marcel commented on pull request marcel/familienarchiv#366 2026-04-28 21:53:08 +02:00
feat(transcription): person @mention sidecar + rename propagation (PR-A backend, #362)

🧪 Sara Holt — QA Engineer & Test Automation Specialist

Verdict: ⚠️ Approved with concerns

Blockers

Missing 401 tests for the newly-protected GET endpoints

The PR upgraded…

marcel commented on pull request marcel/familienarchiv#366 2026-04-28 21:52:42 +02:00
feat(transcription): person @mention sidecar + rename propagation (PR-A backend, #362)

🔒 Nora "NullX" Steiner — Application Security Engineer

Verdict: ⚠️ Approved with concerns

Blockers

Missing 401 tests for the two newly-protected GET endpoints (`PersonControlle…

marcel commented on pull request marcel/familienarchiv#366 2026-04-28 21:52:29 +02:00
feat(transcription): person @mention sidecar + rename propagation (PR-A backend, #362)

🏛️ Markus Keller — Application Architect

Verdict: ⚠️ Approved with concerns

Blockers

N+1 lazy load in the propagation listener

findByMentionedPersons_PersonId does a JOIN…

marcel commented on pull request marcel/familienarchiv#366 2026-04-28 21:52:16 +02:00
feat(transcription): person @mention sidecar + rename propagation (PR-A backend, #362)

👨‍💻 Felix Brandt — Senior Fullstack Developer

Verdict: ⚠️ Approved with concerns

Blockers

N+1 query in PersonMentionPropagationListener (`PersonMentionPropagationListener.ja…

marcel commented on pull request marcel/familienarchiv#366 2026-04-28 21:47:47 +02:00
feat(transcription): person @mention sidecar + rename propagation (PR-A backend, #362)

Review-fix round 1 — 6/12 concerns addressed, 4 deferred to PR-B / future, 2 deferred by product call

7 new commits pushed. 1447/1447 backend tests green.

Addressed in this round

marcel pushed to feat/person-mentions-issue-362-backend at marcel/familienarchiv 2026-04-28 21:47:28 +02:00
7906373053 docs(adr): ADR-006 synchronous domain events inside the publisher's transaction
2d48821f95 refactor(test): TranscriptionServiceTest uses DTO @Builder instead of @AllArgsConstructor
0def9e9b9d test(transcription): mirror displayName length-cap regression on PUT endpoint
acffcc8516 refactor(transcription): listener @Component → @Service
48492330a7 test(person): optimistic-lock test exercises real listener saveAllAndFlush path
Compare 7 commits »
marcel commented on pull request marcel/familienarchiv#366 2026-04-28 21:18:57 +02:00
feat(transcription): person @mention sidecar + rename propagation (PR-A backend, #362)

Elicit — Senior Requirements Engineer & Business Analyst

Verdict: Approved with concerns

This is a Brownfield review of PR-A against the consolidated plan in #362. I am not reviewing…

marcel commented on pull request marcel/familienarchiv#366 2026-04-28 21:18:16 +02:00
feat(transcription): person @mention sidecar + rename propagation (PR-A backend, #362)

Leonie Voss — UX Designer & Accessibility Advocate

Verdict: Approved

This PR is backend-only — data model, listener, security lockdown, regenerated TypeScript types, and three Paraglide…

marcel commented on pull request marcel/familienarchiv#366 2026-04-28 21:17:44 +02:00
feat(transcription): person @mention sidecar + rename propagation (PR-A backend, #362)

Tobias Wendt — DevOps & Platform Engineer

Verdict: Approved

This PR is light on infrastructure surface area — backend code, JPA, one Flyway migration, frontend type regen. There is…

marcel commented on pull request marcel/familienarchiv#366 2026-04-28 21:17:17 +02:00
feat(transcription): person @mention sidecar + rename propagation (PR-A backend, #362)

Sara Holt — Senior QA Engineer

Verdict: Approved with concerns

Test pyramid is well-balanced — Mockito unit tests for the publisher logic in PersonService, @DataJpaTest integration…

marcel commented on pull request marcel/familienarchiv#366 2026-04-28 21:16:35 +02:00
feat(transcription): person @mention sidecar + rename propagation (PR-A backend, #362)

Nora "NullX" Steiner — Application Security Engineer

Verdict: Approved with concerns

Auth posture, input validation, and SQL injection surface are all clean. The interesting attack…

marcel commented on pull request marcel/familienarchiv#366 2026-04-28 21:15:56 +02:00
feat(transcription): person @mention sidecar + rename propagation (PR-A backend, #362)

Felix Brandt — Senior Fullstack Developer

Verdict: Approved with concerns

Strong PR. The rename-propagation pipeline is small, has clear seams, and the test coverage looks like it was…

marcel commented on pull request marcel/familienarchiv#366 2026-04-28 21:15:21 +02:00
feat(transcription): person @mention sidecar + rename propagation (PR-A backend, #362)

Markus Keller — Senior Application Architect

Verdict: Approved with concerns

I have read the diff end-to-end and matched it against the consolidation plan referenced in #362. The shape…

marcel commented on issue marcel/familienarchiv#362 2026-04-28 21:12:56 +02:00
feat: Person @mentions in transcription blocks with hover card

PR-A (Backend) opened — #366

http://heim-nas:3005/marcel/familienarchiv/pulls/366

Implements the backend half per the locked plan in [#362#issuecomment-5339](http://heim-nas:3005/marcel/famil…

marcel created pull request marcel/familienarchiv#366 2026-04-28 21:12:24 +02:00
feat(transcription): person @mention sidecar + rename propagation (PR-A backend, #362)
marcel pushed to feat/person-mentions-issue-362-backend at marcel/familienarchiv 2026-04-28 21:11:27 +02:00
8b498665df chore(frontend): regenerate api.ts for PersonMention sidecar + PERSON_RENAME_CONFLICT
5ebe1f1a5a feat(person): require READ_ALL permission on GET /api/persons and /api/persons/{id}
221a6af838 test(transcription): rename propagation across 200 blocks must stay under 2 seconds
404d874b4e feat(person): translate optimistic-lock conflicts on rename to PERSON_RENAME_CONFLICT 409
4bc4267e5a feat(person): ErrorCode.PERSON_RENAME_CONFLICT for optimistic-lock conflicts
Compare 10 commits »