🔐 Nora "NullX" Steiner — Application Security Engineer
Observations
No new backend surface, so the threat model is narrow. Three things need attention.
**1. URL param injection into…
🏛️ Markus Keller — Application Architect
Observations
- Minimal blast radius: this is a pure frontend change. No new backend endpoints, no Flyway migrations, no Docker services. The…
👨💻 Felix Brandt — Senior Fullstack Developer
Observations
- Bottom sheet is already partially there (
+page.svelte:116–124): `fixed inset-x-0 bottom-0 z-40 max-h-[60dvh]…
👨💻 Felix Brandt — Implementation Complete
Branch: feature/361-stammbaum-multi-spouse (worktree at ../familienarchiv-361/, branched from origin/main @ a5e32055). Seven commits, all…
🗳️ Decision Queue — Action Required
2 decisions need your input before the red phase starts.
Quality gates
- AC7 axe-core gate scope. Felix dropped AC7 in full (no `toHaveScreensh…
👨💻 Felix Brandt — Fullstack Developer
No new concerns from my angle — the single-persona developer walkthrough above already settled the nine items needed to start…
🎨 Leonie Voss — UI/UX Design Lead
No new concerns from my angle — the single-persona UX walkthrough above already settled all eight items in UI scope: multi-spouse…
📋 Elicit — Requirements Engineering
Observations
- The issue has had a thorough single-persona walkthrough from both Leonie (UX) and Felix (Dev). All three "Open decisions" in the…
⚙️ Tobias Wendt — DevOps & Platform
Observations
- This is a pure frontend layout change with no Docker, Compose, CI workflow, or infrastructure impact. No service topology change, no…
🧪 Sara Holt — QA & Test Strategy
Observations
- AC1 + AC2 are perfectly shaped for the unit layer:
buildLayoutis a pure function returning aMap, assertable in milliseconds via…
🔐 Nora "NullX" Steiner — Application Security
Observations
- The SVG render path in
StammbaumTree.svelte:379, 391uses{node.displayName}and `{node.birthYear ?? '?'}–{node.deathYear…
🏛️ Markus Keller — Application Architect
Observations
- The work is cleanly contained inside one feature package (
frontend/src/lib/person/genealogy/layout/). No cross-domain coupling,…
👨💻 Felix Brandt — Fullstack Developer
This comment captures the developer-perspective decisions from a single-persona walkthrough of #361 after Leonie's UX resolutions and #692's…
Follow-up tracked in #692 — feat(stammbaum): mobile read path — pan, zoom, fit-to-view. Covers the deferred items 6 (320 px wide-row behaviour) and 8 (side-panel responsive behaviour) from the…
🎨 Leonie Voss — UI/UX Design Lead
This comment captures the UX/accessibility decisions reached in a single-persona walkthrough of the open items in this issue. All eight items resolved.
###…