• Joined on 2026-03-17
marcel commented on pull request marcel/familienarchiv#674 2026-05-27 11:13:32 +02:00
feat(importing): rebuild importer as modular canonical loaders (Phase 3, #669)

Sara Holt — Senior QA Engineer

Verdict: Approved

This is the round where the test-isolation bug was the headline fix, so I scrutinized it specifically and swept every new test class for…

marcel commented on pull request marcel/familienarchiv#674 2026-05-27 11:13:16 +02:00
feat(importing): rebuild importer as modular canonical loaders (Phase 3, #669)

Nora "NullX" Steiner — Application Security Engineer

Verdict: Approved with concerns

I came in adversarial — a "modular rewrite that deletes the old hardened code path" is exactly where…

marcel commented on pull request marcel/familienarchiv#674 2026-05-27 11:12:56 +02:00
feat(importing): rebuild importer as modular canonical loaders (Phase 3, #669)

Felix Brandt — Senior Fullstack Developer

Verdict: Approved

Clean, well-named, guard-clause-first code. I read every production file in the diff line by line.

What's good

  • **Method…
marcel commented on pull request marcel/familienarchiv#674 2026-05-27 11:12:43 +02:00
feat(importing): rebuild importer as modular canonical loaders (Phase 3, #669)

Markus Keller — Senior Application Architect

Verdict: Approved

I reviewed this as a fresh pass against the current diff, with special attention to whether the prior round's fixes held…

marcel pushed to feature/669-modular-importer at marcel/familienarchiv 2026-05-27 11:09:31 +02:00
151d6aa03f test(importing): clean up committed rows after CanonicalImportIntegrationTest
marcel commented on pull request marcel/familienarchiv#674 2026-05-27 11:05:44 +02:00
feat(importing): rebuild importer as modular canonical loaders (Phase 3, #669)

Review concerns addressed (Felix Brandt)

Pushed six atomic commits (2f7ea37..fc53e77) resolving every raised concern. All seven affected/added test classes pass (68 tests, 0 fail,…

marcel pushed to feature/669-modular-importer at marcel/familienarchiv 2026-05-27 11:05:23 +02:00
fc53e777d5 docs(deployment): pin exact normalizer entrypoint command
4fa2b83c0d docs(adr-025): record document-authoritative collections and non-transactional orchestrator
e9ddaed76a refactor(person): unify fill-blank under preferHuman and clarify rowId trap
5f53c3670f test(importing): verify re-import pruning and provisional precedence on real Postgres
7ebf7acd72 test(importing): pin relationship error propagation and short-row reads
Compare 6 commits »
marcel commented on pull request marcel/familienarchiv#674 2026-05-27 10:53:48 +02:00
feat(importing): rebuild importer as modular canonical loaders (Phase 3, #669)

Leonie Voss — UI/UX Design Lead & Accessibility Advocate

Verdict: Approved

This is a backend-heavy PR; the only frontend surface is the small follow-up to ImportStatusCard.svelte

marcel commented on pull request marcel/familienarchiv#674 2026-05-27 10:53:32 +02:00
feat(importing): rebuild importer as modular canonical loaders (Phase 3, #669)

Elicit — Requirements Engineer & Business Analyst

Verdict: ⚠️ Approved with concerns

Reviewing in Brownfield mode against the stated requirement: Phase 3 of "Handling the Unknowns"…

marcel commented on pull request marcel/familienarchiv#674 2026-05-27 10:53:13 +02:00
feat(importing): rebuild importer as modular canonical loaders (Phase 3, #669)

Tobias Wendt — DevOps & Platform Engineer

Verdict: ⚠️ Approved with concerns

Backend-only refactor, no Compose/CI/infra files touched, no new service, no new port, no new secret. From…

marcel commented on pull request marcel/familienarchiv#674 2026-05-27 10:52:50 +02:00
feat(importing): rebuild importer as modular canonical loaders (Phase 3, #669)

Sara Holt — Senior QA Engineer

Verdict: ⚠️ Approved with concerns

The test strategy is well-pyramided: fast Mockito unit tests for each loader and the two upserts, plus one `CanonicalImp…

marcel commented on pull request marcel/familienarchiv#674 2026-05-27 10:52:34 +02:00
feat(importing): rebuild importer as modular canonical loaders (Phase 3, #669)

Felix Brandt — Senior Fullstack Developer

Verdict: ⚠️ Approved with concerns

This is clean code. Methods are short and single-purpose (resolveSender, resolveReceivers, `resolvePerson…

marcel commented on pull request marcel/familienarchiv#674 2026-05-27 10:52:11 +02:00
feat(importing): rebuild importer as modular canonical loaders (Phase 3, #669)

Nora "NullX" Steiner — Application Security Engineer

Verdict: Approved

I focused on the highest-risk claim in this PR: that the CWE-22 / file-handling guards genuinely survived the…

marcel commented on pull request marcel/familienarchiv#674 2026-05-27 10:51:56 +02:00
feat(importing): rebuild importer as modular canonical loaders (Phase 3, #669)

Markus Keller — Senior Application Architect

Verdict: ⚠️ Approved with concerns

The decomposition is genuinely good architecture. A monolithic MassImportService (509 lines, positional…

marcel created pull request marcel/familienarchiv#674 2026-05-27 10:48:43 +02:00
feat(importing): rebuild importer as modular canonical loaders (Phase 3, #669)
marcel created branch feature/669-modular-importer in marcel/familienarchiv 2026-05-27 10:48:20 +02:00
marcel pushed to feature/669-modular-importer at marcel/familienarchiv 2026-05-27 10:48:20 +02:00
5cf8fd149e feat(admin): surface new import failure + skip reason in status card
21c85ff081 docs(importing): document the canonical importer rebuild
9cc682cf72 test(importing): Testcontainers idempotency + human-edit-preserve IT
459ba14207 feat(importing): add orchestrator, wire admin, retire raw-spreadsheet path
c56ba6219c feat(importing): add DocumentImporter loader with ported security guards
Compare 10 commits »
marcel deleted branch feature/671-schema-foundation from marcel/familienarchiv 2026-05-27 10:13:56 +02:00
marcel pushed to docs/import-migration at marcel/familienarchiv 2026-05-27 10:13:55 +02:00
d8588f4b72 ci: drop frontend type-check step (pre-existing svelte-check debt)
f6bf7b9f5e fix(db): default documents.meta_date_precision to UNKNOWN in V69
b959e312b1 ci(frontend): run npm run check to gate generated-type drift on PRs
ae674b14d4 test(schema): assert fully-open RANGE (both endpoints null) survives V69 CHECKs
c9fb14fd49 test(frontend): add required precision/provisional fields to Document/Person mocks
Compare 10 commits »
marcel closed issue marcel/familienarchiv#671 2026-05-27 10:13:55 +02:00
As the archive owner I want one Flyway migration and domain model carrying all import/precision/attribution/identity fields so downstream phases compile against a single, collision-free schema