• Joined on 2026-03-17
marcel pushed to master at marcel/mealprep 2026-04-09 16:33:14 +02:00
0596fddcd3 refactor(planning): extract applyPenalties helper to unify score formula
008c725813 test(planner): verify mobile swap sheet triggers suggestion fetch
1739b70d54 feat(planner): change neutral badge copy to Kein Einfluss
3b829325f2 feat(planner): hide RecipePicker inner header in swap context
d139e5e28c refactor(planner): delete orphaned SwapSuggestionList component and tests
Compare 30 commits »
marcel closed issue marcel/mealprep#46 2026-04-09 16:33:14 +02:00
feat(planner): wire variety-aware suggestions into RecipePicker for empty slots
marcel merged pull request marcel/mealprep#47 2026-04-09 16:33:13 +02:00
feat(planner): wire variety-aware suggestions into RecipePicker for empty slots
marcel opened issue marcel/mealprep#51 2026-04-09 16:31:58 +02:00
feat(variety): implement C3 warning cards with recipe names and swap links (V1)
marcel pushed to master at marcel/mealprep 2026-04-09 16:31:20 +02:00
e3066ec3e5 docs(specs): add C3 variety page rework mockups and V1 implementation spec
bd1604fc1d docs(specs): add detailed implementation spec for E4 variety settings (V2 Kontext-Preset)
c297403506 docs(specs): add 3 mockup variations for E4 variety settings screen
fa4a4c9ef7 docs(specs): add J9 variety score config user journey and variety page rework spec
Compare 4 commits »
marcel opened issue marcel/mealprep#50 2026-04-09 16:13:53 +02:00
feat(settings): implement E4 variety score settings (J9)
marcel commented on issue marcel/mealprep#49 2026-04-09 15:12:01 +02:00
feat(settings): implement /settings page — Kachel-Ansicht (E1)

🎨 Atlas — UI/UX Design

Questions & Observations

  • 2fr 1fr Grid — Proportionen in der Praxis. Bei einer typischen Desktop-Breite von ~900px Content-Bereich ergibt 2fr 1fr ca.…
marcel commented on issue marcel/mealprep#49 2026-04-09 15:11:33 +02:00
feat(settings): implement /settings page — Kachel-Ansicht (E1)

🧪 QA Engineer

Questions & Observations

Fehlende Akzeptanzkriterien:

  • Was passiert wenn GET /v1/ingredient-categories fehlschlägt? Die Issue-Beschreibung sagt ?? 0 als…
marcel commented on issue marcel/mealprep#49 2026-04-09 15:11:11 +02:00
feat(settings): implement /settings page — Kachel-Ansicht (E1)

🔒 Sable — Security Engineer

Questions & Observations

  • Zugriffskontrolle auf /settings. Die Spec erwähnt keine Rollen-Einschränkung für E1. Sollte /settings für mitglied
marcel commented on issue marcel/mealprep#49 2026-04-09 15:10:50 +02:00
feat(settings): implement /settings page — Kachel-Ansicht (E1)

🏗️ Backend Engineer — Spring Boot / PostgreSQL

Questions & Observations

  • Keine neuen Backend-Endpoints nötig — aber einen Blick wert. E1 selbst braucht nur `GET /v1/ingredient-cate…
marcel commented on issue marcel/mealprep#49 2026-04-09 15:10:30 +02:00
feat(settings): implement /settings page — Kachel-Ansicht (E1)

⚛️ Kai — Frontend Engineer

Questions & Observations

  • memberCount: woher? Das Issue sagt "aus layout data oder separatem Call". +layout.server.ts gibt aktuell benutzer und…
marcel commented on pull request marcel/mealprep#47 2026-04-09 15:10:27 +02:00
feat(planner): wire variety-aware suggestions into RecipePicker for empty slots

Review concerns addressed

All blockers and suggestions from the multi-persona review have been resolved. Here's a summary by concern:


SwapSuggestionList deleted — RecipePicker…

marcel pushed to feat/issue-46-wire-suggestions-recipe-picker at marcel/mealprep 2026-04-09 15:10:05 +02:00
116e400a91 refactor(planning): extract applyPenalties helper to unify score formula
49ed75a989 test(planner): verify mobile swap sheet triggers suggestion fetch
813ddf8214 feat(planner): change neutral badge copy to Kein Einfluss
7359eba946 feat(planner): hide RecipePicker inner header in swap context
16162d80f4 refactor(planner): delete orphaned SwapSuggestionList component and tests
Compare 6 commits »
marcel commented on issue marcel/mealprep#48 2026-04-09 15:09:44 +02:00
feat(members): implement /members page — Kachel-Ansicht (E2)

🎨 Atlas — UI/UX Design

Questions & Observations

  • Typografie-Konsistenz. Button-Text im Dropdown und im Dialog muss exakt sein: font-size: 13px, font-weight: 500, `letter-spacing…
marcel commented on issue marcel/mealprep#48 2026-04-09 15:09:19 +02:00
feat(members): implement /members page — Kachel-Ansicht (E2)

🧪 QA Engineer

Questions & Observations

Fehlende Akzeptanzkriterien für wichtige Edge Cases:

  • **Was passiert, wenn der Planer versucht sich selbst zu degradieren, aber noch ein…
marcel commented on issue marcel/mealprep#48 2026-04-09 15:08:57 +02:00
feat(members): implement /members page — Kachel-Ansicht (E2)

🔒 Sable — Security Engineer

Questions & Observations

  • IDOR auf DELETE und PATCH — kritisch. DELETE /v1/households/mine/members/{userId} muss serverseitig verifizieren, dass…
marcel commented on issue marcel/mealprep#48 2026-04-09 15:08:33 +02:00
feat(members): implement /members page — Kachel-Ansicht (E2)

🏗️ Backend Engineer — Spring Boot / PostgreSQL

Questions & Observations

  • Drei neue Endpoints — wo sitzen die Business Rules? Die Guards "Planer kann sich nicht selbst entfernen"…
marcel commented on issue marcel/mealprep#48 2026-04-09 15:08:11 +02:00
feat(members): implement /members page — Kachel-Ansicht (E2)

⚛️ Kai — Frontend Engineer

Questions & Observations

  • Backend-first dependency is a hard blocker. DELETE + PATCH member + GET invites müssen alle drei fertig und im schema.d.ts
marcel opened issue marcel/mealprep#49 2026-04-09 15:07:10 +02:00
feat(settings): implement /settings page — Kachel-Ansicht (E1)
marcel opened issue marcel/mealprep#48 2026-04-09 15:06:44 +02:00
feat(members): implement /members page — Kachel-Ansicht (E2)